From 7c4d267ee0b61c12f57c95db9e5d24860e386680 Mon Sep 17 00:00:00 2001 From: Burak Karakan Date: Wed, 11 Aug 2021 17:38:18 +0100 Subject: [PATCH 0001/1076] Upgrade the ejs version for the dev-server reporter (#6678) --- packages/reporters/dev-server/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 806bfdcaf82..f94416581f8 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -24,7 +24,7 @@ "@parcel/plugin": "2.0.0-rc.0", "@parcel/utils": "2.0.0-rc.0", "connect": "^3.7.0", - "ejs": "^2.6.1", + "ejs": "^3.1.6", "http-proxy-middleware": "^1.0.0", "nullthrows": "^1.1.1", "serve-handler": "^6.0.0", From f9887fef5f1adc85cf3569a2081987c0db4036c8 Mon Sep 17 00:00:00 2001 From: Chris Wilkinson Date: Thu, 12 Aug 2021 06:14:04 +0100 Subject: [PATCH 0002/1076] Export core class in TypeScript (#6686) --- packages/core/core/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/core/index.d.ts b/packages/core/core/index.d.ts index b900d395030..5da6802752e 100644 --- a/packages/core/core/index.d.ts +++ b/packages/core/core/index.d.ts @@ -2,7 +2,7 @@ import type {InitialParcelOptions, BuildEvent, BuildSuccessEvent, AsyncSubscript import type {FarmOptions} from '@parcel/workers'; import type WorkerFarm from '@parcel/workers'; -declare class Parcel { +export default class Parcel { constructor(options: InitialParcelOptions); run(): Promise; watch( From aa21e8990fb6a95a0df8ce6cdf1ebada2342230a Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 15 Aug 2021 18:52:13 -0700 Subject: [PATCH 0003/1076] Resolver improvements (#6696) --- .../core/src/requests/ParcelConfigRequest.js | 16 +- .../core/core/src/requests/PathRequest.js | 91 +--- packages/core/core/test/ParcelConfig.test.js | 3 +- packages/core/integration-tests/test/css.js | 37 ++ .../parcel-transformer-mock/index.js | 3 +- .../test/integration/css-external/a.css | 6 + .../test/integration/css-external/b.css | 3 + .../integration/css-node-modules/index.css | 1 + .../css-node-modules/node_modules/foo/foo.css | 3 + .../node_modules/foo/package.json | 3 + .../test/integration/image/reformat.js | 4 +- .../parcel-resolver-no-defer/index.js | 6 +- .../test/integration/swc-helpers/yarn.lock | 0 .../core/integration-tests/test/javascript.js | 6 +- .../integration-tests/test/transpilation.js | 2 +- packages/core/types/index.js | 13 +- packages/core/utils/src/alternatives.js | 9 +- packages/packagers/css/src/CSSPackager.js | 24 +- .../resolvers/default/src/DefaultResolver.js | 13 +- packages/resolvers/glob/src/GlobResolver.js | 14 +- .../transformers/css/src/CSSTransformer.js | 58 ++- .../node-resolver-core/src/NodeResolver.js | 160 +++++-- .../utils/node-resolver-core/test/resolver.js | 396 +++++++++++++++--- 23 files changed, 639 insertions(+), 232 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/css-external/a.css create mode 100644 packages/core/integration-tests/test/integration/css-external/b.css create mode 100644 packages/core/integration-tests/test/integration/css-node-modules/index.css create mode 100644 packages/core/integration-tests/test/integration/css-node-modules/node_modules/foo/foo.css create mode 100644 packages/core/integration-tests/test/integration/css-node-modules/node_modules/foo/package.json create mode 100644 packages/core/integration-tests/test/integration/swc-helpers/yarn.lock diff --git a/packages/core/core/src/requests/ParcelConfigRequest.js b/packages/core/core/src/requests/ParcelConfigRequest.js index b2562c93855..463a984dfc5 100644 --- a/packages/core/core/src/requests/ParcelConfigRequest.js +++ b/packages/core/core/src/requests/ParcelConfigRequest.js @@ -264,6 +264,16 @@ function processPipeline( } } +const RESERVED_PIPELINES = new Set([ + 'node:', + 'npm:', + 'http:', + 'https:', + 'data:', + 'tel:', + 'mailto:', +]); + async function processMap( // $FlowFixMe map: ?ConfigMap, @@ -277,12 +287,12 @@ async function processMap( // $FlowFixMe let res: ConfigMap = {}; for (let k in map) { - if (k.startsWith('node:')) { + let i = k.indexOf(':'); + if (i > 0 && RESERVED_PIPELINES.has(k.slice(0, i + 1))) { let code = await options.inputFS.readFile(filePath, 'utf8'); throw new ThrowableDiagnostic({ diagnostic: { - message: - 'Named pipeline `node:` is reserved for builtin Node.js libraries', + message: `Named pipeline '${k.slice(0, i + 1)}' is reserved.`, origin: '@parcel/core', codeFrames: [ { diff --git a/packages/core/core/src/requests/PathRequest.js b/packages/core/core/src/requests/PathRequest.js index ada5fb8dddf..73bdcd62c93 100644 --- a/packages/core/core/src/requests/PathRequest.js +++ b/packages/core/core/src/requests/PathRequest.js @@ -1,11 +1,6 @@ // @flow strict-local import type {Diagnostic} from '@parcel/diagnostic'; -import type { - Async, - FileCreateInvalidation, - FilePath, - QueryParameters, -} from '@parcel/types'; +import type {Async, FileCreateInvalidation, FilePath} from '@parcel/types'; import type {StaticRunOpts} from '../RequestTracker'; import type {AssetGroup, Dependency, ParcelOptions} from '../types'; import type {ConfigAndCachePath} from './ParcelConfigRequest'; @@ -14,9 +9,7 @@ import ThrowableDiagnostic, {errorToDiagnostic, md} from '@parcel/diagnostic'; import {PluginLogger} from '@parcel/logger'; import nullthrows from 'nullthrows'; import path from 'path'; -import URL from 'url'; import {normalizePath} from '@parcel/utils'; -import querystring from 'querystring'; import {report} from '../ReporterRunner'; import PublicDependency from '../public/Dependency'; import PluginOptions from '../public/PluginOptions'; @@ -50,7 +43,6 @@ type RunOpts = {| |}; const type = 'path_request'; -const QUERY_PARAMS_REGEX = /^([^\t\r\n\v\f?]*)(\?.*)?/; const PIPELINE_REGEX = /^([a-z0-9-]+?):(.*)$/i; export default function createPathRequest( @@ -166,8 +158,7 @@ export class ResolverRunner { let resolvers = await this.config.getResolvers(); let pipeline; - let filePath; - let query: ?QueryParameters; + let specifier; let validPipelines = new Set(this.config.getNamedPipelines()); let match = dependency.specifier.match(PIPELINE_REGEX); if ( @@ -176,74 +167,20 @@ export class ResolverRunner { // and include e.g. `C:\` on Windows, conflicting with pipelines. !path.isAbsolute(dependency.specifier) ) { - if (dependency.specifier.startsWith('node:')) { - filePath = dependency.specifier; - } else { - [, pipeline, filePath] = match; - if (!validPipelines.has(pipeline)) { - if (dep.specifierType === 'url') { - // This may be a url protocol or scheme rather than a pipeline, such as - // `url('http://example.com/foo.png')` - return {assetGroup: null}; - } else { - return { - assetGroup: null, - diagnostics: [ - await this.getDiagnostic( - dependency, - md`Unknown pipeline: ${pipeline}.`, - ), - ], - }; - } - } - } - } else { - if (dep.specifierType === 'url') { - if (dependency.specifier.startsWith('//')) { - // A protocol-relative URL, e.g `url('//example.com/foo.png')` - return {assetGroup: null}; - } - if (dependency.specifier.startsWith('#')) { - // An ID-only URL, e.g. `url(#clip-path)` for CSS rules - return {assetGroup: null}; - } - } - filePath = dependency.specifier; - } - - let queryPart = null; - if (dep.specifierType === 'url') { - let parsed = URL.parse(filePath); - if (typeof parsed.pathname !== 'string') { - return { - assetGroup: null, - diagnostics: [ - await this.getDiagnostic( - dependency, - md`Received URL without a pathname ${filePath}.`, - ), - ], - }; - } - filePath = decodeURIComponent(parsed.pathname); - if (parsed.query != null) { - queryPart = parsed.query; + [, pipeline, specifier] = match; + if (!validPipelines.has(pipeline)) { + // This may be a url protocol or scheme rather than a pipeline, such as + // `url('http://example.com/foo.png')`. Pass it to resolvers to handle. + specifier = dependency.specifier; + pipeline = null; } } else { - let matchesQuerystring = filePath.match(QUERY_PARAMS_REGEX); - if (matchesQuerystring && matchesQuerystring[2] != null) { - filePath = matchesQuerystring[1]; - queryPart = matchesQuerystring[2].substr(1); - } - } - if (queryPart != null) { - query = querystring.parse(queryPart); + specifier = dependency.specifier; } // Entrypoints, convert ProjectPath in module specifier to absolute path if (dep.resolveFrom == null) { - filePath = path.join(this.options.projectRoot, filePath); + specifier = path.join(this.options.projectRoot, specifier); } let diagnostics: Array = []; let invalidateOnFileCreate = []; @@ -251,7 +188,7 @@ export class ResolverRunner { for (let resolver of resolvers) { try { let result = await resolver.plugin.resolve({ - filePath, + specifier, pipeline, dependency: dep, options: this.pluginOptions, @@ -302,7 +239,7 @@ export class ResolverRunner { this.options.projectRoot, resultFilePath, ), - query, + query: result.query, sideEffects: result.sideEffects, code: result.code, env: dependency.env, @@ -322,7 +259,7 @@ export class ResolverRunner { new ThrowableDiagnostic({diagnostic: result.diagnostics}), { origin: resolver.name, - filePath, + filePath: specifier, }, ); diagnostics.push(...errorDiagnostic); @@ -332,7 +269,7 @@ export class ResolverRunner { // Add error to error map, we'll append these to the standard error if we can't resolve the asset let errorDiagnostic = errorToDiagnostic(e, { origin: resolver.name, - filePath, + filePath: specifier, }); if (Array.isArray(errorDiagnostic)) { diagnostics.push(...errorDiagnostic); diff --git a/packages/core/core/test/ParcelConfig.test.js b/packages/core/core/test/ParcelConfig.test.js index e58cfb8190a..4d1c23760d8 100644 --- a/packages/core/core/test/ParcelConfig.test.js +++ b/packages/core/core/test/ParcelConfig.test.js @@ -289,8 +289,7 @@ describe('ParcelConfig', () => { name: 'Error', diagnostics: [ { - message: - 'Named pipeline `node:` is reserved for builtin Node.js libraries', + message: "Named pipeline 'node:' is reserved.", origin: '@parcel/core', codeFrames: [ { diff --git a/packages/core/integration-tests/test/css.js b/packages/core/integration-tests/test/css.js index a9b46c6484f..766590d9439 100644 --- a/packages/core/integration-tests/test/css.js +++ b/packages/core/integration-tests/test/css.js @@ -381,4 +381,41 @@ describe('css', () => { }, ); }); + + it('should support importing CSS from node_modules with the npm: scheme', async () => { + let b = await bundle( + path.join(__dirname, '/integration/css-node-modules/index.css'), + ); + + assertBundles(b, [ + { + name: 'index.css', + assets: ['index.css', 'foo.css'], + }, + ]); + }); + + it('should support external CSS imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/css-external/a.css'), + ); + + assertBundles(b, [ + { + name: 'a.css', + assets: ['a.css', 'b.css'], + }, + ]); + + let res = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert( + res.startsWith(`@import "http://example.com/external.css"; +.b { + color: red; +} +.a { + color: blue; +}`), + ); + }); }); diff --git a/packages/core/integration-tests/test/integration/cache/node_modules/parcel-transformer-mock/index.js b/packages/core/integration-tests/test/integration/cache/node_modules/parcel-transformer-mock/index.js index 9aa8b706deb..476deaef29f 100644 --- a/packages/core/integration-tests/test/integration/cache/node_modules/parcel-transformer-mock/index.js +++ b/packages/core/integration-tests/test/integration/cache/node_modules/parcel-transformer-mock/index.js @@ -4,7 +4,8 @@ module.exports = new Transformer({ transform({asset}) { if (asset.isSource) { asset.addDependency({ - specifier: 'foo' + specifier: 'foo', + specifierType: 'esm' }); return [asset]; } diff --git a/packages/core/integration-tests/test/integration/css-external/a.css b/packages/core/integration-tests/test/integration/css-external/a.css new file mode 100644 index 00000000000..f3aff0a9f8d --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-external/a.css @@ -0,0 +1,6 @@ +@import 'b.css'; +@import 'http://example.com/external.css'; + +.a { + color: blue; +} diff --git a/packages/core/integration-tests/test/integration/css-external/b.css b/packages/core/integration-tests/test/integration/css-external/b.css new file mode 100644 index 00000000000..49533bc2338 --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-external/b.css @@ -0,0 +1,3 @@ +.b { + color: red; +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/css-node-modules/index.css b/packages/core/integration-tests/test/integration/css-node-modules/index.css new file mode 100644 index 00000000000..f59e597326c --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-node-modules/index.css @@ -0,0 +1 @@ +@import 'npm:foo/foo.css'; diff --git a/packages/core/integration-tests/test/integration/css-node-modules/node_modules/foo/foo.css b/packages/core/integration-tests/test/integration/css-node-modules/node_modules/foo/foo.css new file mode 100644 index 00000000000..dc1b2983f0b --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-node-modules/node_modules/foo/foo.css @@ -0,0 +1,3 @@ +.foo { + background-color: red; +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/css-node-modules/node_modules/foo/package.json b/packages/core/integration-tests/test/integration/css-node-modules/node_modules/foo/package.json new file mode 100644 index 00000000000..bde99de9287 --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-node-modules/node_modules/foo/package.json @@ -0,0 +1,3 @@ +{ + "name": "foo" +} diff --git a/packages/core/integration-tests/test/integration/image/reformat.js b/packages/core/integration-tests/test/integration/image/reformat.js index cd6ae6e6202..9302ce8284d 100755 --- a/packages/core/integration-tests/test/integration/image/reformat.js +++ b/packages/core/integration-tests/test/integration/image/reformat.js @@ -1 +1,3 @@ -module.exports = require('./image.jpg?as=webp'); +import url from './image.jpg?as=webp'; + +module.exports = url; diff --git a/packages/core/integration-tests/test/integration/resolver-canDefer/node_modules/parcel-resolver-no-defer/index.js b/packages/core/integration-tests/test/integration/resolver-canDefer/node_modules/parcel-resolver-no-defer/index.js index fb640ccf4a6..cf3c1f39b13 100644 --- a/packages/core/integration-tests/test/integration/resolver-canDefer/node_modules/parcel-resolver-no-defer/index.js +++ b/packages/core/integration-tests/test/integration/resolver-canDefer/node_modules/parcel-resolver-no-defer/index.js @@ -5,7 +5,7 @@ const path = require('path'); const {default: NodeResolver} = require('@parcel/node-resolver-core'); module.exports = new Resolver({ - async resolve({dependency, options, filePath}) { + async resolve({dependency, options, specifier}) { let mainFields = ['source', 'browser', 'module', 'main']; const resolver = new NodeResolver({ @@ -15,8 +15,8 @@ module.exports = new Resolver({ mainFields, }); let result = await resolver.resolve({ - filename: filePath, - isURL: dependency.specifierType === 'url', + filename: specifier, + specifierType: dependency.specifierType, parent: dependency.sourcePath, env: dependency.env, }); diff --git a/packages/core/integration-tests/test/integration/swc-helpers/yarn.lock b/packages/core/integration-tests/test/integration/swc-helpers/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index 5f948d2abd3..808996bbb84 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -4571,7 +4571,7 @@ describe('javascript', function() { name: 'BuildError', diagnostics: [ { - message: 'Unknown pipeline: strange-pipeline.', + message: "Failed to resolve 'strange-pipeline:./b.js' from './a.js'", origin: '@parcel/core', codeFrames: [ { @@ -4592,6 +4592,10 @@ describe('javascript', function() { }, ], }, + { + message: "Unknown url scheme or pipeline 'strange-pipeline:'", + origin: '@parcel/resolver-default', + }, ], }); }); diff --git a/packages/core/integration-tests/test/transpilation.js b/packages/core/integration-tests/test/transpilation.js index 6b6865d7b54..5397e170279 100644 --- a/packages/core/integration-tests/test/transpilation.js +++ b/packages/core/integration-tests/test/transpilation.js @@ -258,7 +258,7 @@ describe('transpilation', function() { .slice(2), ); await outputFS.mkdirp(dir); - ncp(path.join(__dirname, '/integration/swc-helpers'), dir); + await ncp(path.join(__dirname, '/integration/swc-helpers'), dir); await bundle(path.join(dir, 'index.js'), { mode: 'production', inputFS: overlayFS, diff --git a/packages/core/types/index.js b/packages/core/types/index.js index bbd7cef5f1f..2db2bfe7b88 100644 --- a/packages/core/types/index.js +++ b/packages/core/types/index.js @@ -1449,14 +1449,19 @@ export type FileCreateInvalidation = * @section resolver */ export type ResolveResult = {| - /** An absolute path to the file. */ + /** An absolute path to the resolved file. */ +filePath?: FilePath, + /** An optional named pipeline to use to compile the resolved file. */ +pipeline?: ?string, + /** Query parameters to be used by transformers when compiling the resolved file. */ + +query?: QueryParameters, + /** Whether the resolved file should be excluded from the build. */ +isExcluded?: boolean, + /** Overrides the priority set on the dependency. */ +priority?: DependencyPriority, /** Corresponds to BaseAsset's sideEffects. */ +sideEffects?: boolean, - /** A resolver might want to resolve to a dummy, in this case filePath is rather "resolve from". */ + /** The code of the resolved asset. If provided, this is used rather than reading the file from disk. */ +code?: string, /** Whether this dependency can be deferred by Parcel itself (true by default). */ +canDefer?: boolean, @@ -1464,7 +1469,9 @@ export type ResolveResult = {| +diagnostics?: Diagnostic | Array, /** Is spread (shallowly merged) onto the request's dependency.meta */ +meta?: JSONObject, + /** A list of file paths or patterns that should invalidate the resolution if created. */ +invalidateOnFileCreate?: Array, + /** A list of files that should invalidate the resolution if modified or deleted. */ +invalidateOnFileChange?: Array, |}; @@ -1595,7 +1602,7 @@ export type Resolver = {| dependency: Dependency, options: PluginOptions, logger: PluginLogger, - filePath: FilePath, + specifier: FilePath, pipeline: ?string, |}): Async, |}; diff --git a/packages/core/utils/src/alternatives.js b/packages/core/utils/src/alternatives.js index a0f8b9ec0c0..14f2740a0f0 100644 --- a/packages/core/utils/src/alternatives.js +++ b/packages/core/utils/src/alternatives.js @@ -63,6 +63,7 @@ async function findAllFilesUp({ maxlength, collected, leadingDotSlash = true, + includeDirectories = true, }: {| fs: FileSystem, dir: string, @@ -71,6 +72,7 @@ async function findAllFilesUp({ maxlength: number, collected: Array, leadingDotSlash?: boolean, + includeDirectories?: boolean, |}): Promise { let dirContent = (await fs.readdir(dir)).sort(); return Promise.all( @@ -80,7 +82,7 @@ async function findAllFilesUp({ if (relativeFilePath.length < maxlength) { let stats = await fs.stat(fullPath); let isDir = stats.isDirectory(); - if (isDir || stats.isFile()) { + if ((isDir && includeDirectories) || stats.isFile()) { collected.push(relativeFilePath); } @@ -106,6 +108,8 @@ export async function findAlternativeFiles( dir: string, projectRoot: string, leadingDotSlash?: boolean = true, + includeDirectories?: boolean = true, + includeExtension?: boolean = false, ): Promise> { let potentialFiles: Array = []; // Find our root, we won't recommend files above the package root as that's bad practise @@ -125,9 +129,10 @@ export async function findAlternativeFiles( maxlength: fileSpecifier.length + 10, collected: potentialFiles, leadingDotSlash, + includeDirectories, }); - if (path.extname(fileSpecifier) === '') { + if (path.extname(fileSpecifier) === '' && !includeExtension) { potentialFiles = potentialFiles.map(p => { let ext = path.extname(p); return ext.length > 0 ? p.slice(0, -ext.length) : p; diff --git a/packages/packagers/css/src/CSSPackager.js b/packages/packagers/css/src/CSSPackager.js index f41b76c3c4f..5030953d4c8 100644 --- a/packages/packagers/css/src/CSSPackager.js +++ b/packages/packagers/css/src/CSSPackager.js @@ -28,8 +28,22 @@ export default (new Packager({ let queue = new PromiseQueue({ maxConcurrent: 32, }); - bundle.traverseAssets({ - exit: asset => { + let hoistedImports = []; + bundle.traverse({ + exit: node => { + if (node.type === 'dependency') { + // Hoist unresolved external dependencies (i.e. http: imports) + if ( + node.value.priority === 'sync' && + !bundleGraph.getResolvedAsset(node.value, bundle) + ) { + hoistedImports.push(node.value.specifier); + } + return; + } + + let asset = node.value; + // Figure out which media types this asset was imported with. // We only want to import the asset once, so group them all together. let media = []; @@ -75,6 +89,12 @@ export default (new Packager({ let contents = ''; let map = new SourceMap(options.projectRoot); let lineOffset = 0; + + for (let url of hoistedImports) { + contents += `@import "${url}";\n`; + lineOffset++; + } + for (let [asset, code, mapBuffer] of outputs) { contents += code + '\n'; if (bundle.env.sourceMap) { diff --git a/packages/resolvers/default/src/DefaultResolver.js b/packages/resolvers/default/src/DefaultResolver.js index bfe30b809e6..3d6585b4b14 100644 --- a/packages/resolvers/default/src/DefaultResolver.js +++ b/packages/resolvers/default/src/DefaultResolver.js @@ -8,7 +8,7 @@ import NodeResolver from '@parcel/node-resolver-core'; const WEBPACK_IMPORT_REGEX = /\S+-loader\S*!\S+/g; export default (new Resolver({ - resolve({dependency, options, filePath}) { + resolve({dependency, options, specifier}) { if (WEBPACK_IMPORT_REGEX.test(dependency.specifier)) { throw new Error( `The import path: ${dependency.specifier} is using webpack specific loader import syntax, which isn't supported by Parcel.`, @@ -18,13 +18,18 @@ export default (new Resolver({ const resolver = new NodeResolver({ fs: options.inputFS, projectRoot: options.projectRoot, - extensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'css', 'styl', 'vue'], + // Extensions are always required in URL dependencies. + extensions: + dependency.specifierType === 'commonjs' || + dependency.specifierType === 'esm' + ? ['ts', 'tsx', 'js', 'jsx', 'json'] + : [], mainFields: ['source', 'browser', 'module', 'main'], }); return resolver.resolve({ - filename: filePath, - isURL: dependency.specifierType === 'url', + filename: specifier, + specifierType: dependency.specifierType, parent: dependency.resolveFrom, env: dependency.env, sourcePath: dependency.sourcePath, diff --git a/packages/resolvers/glob/src/GlobResolver.js b/packages/resolvers/glob/src/GlobResolver.js index 9690bbf9d6d..134aa120574 100644 --- a/packages/resolvers/glob/src/GlobResolver.js +++ b/packages/resolvers/glob/src/GlobResolver.js @@ -7,8 +7,8 @@ import nullthrows from 'nullthrows'; import ThrowableDiagnostic from '@parcel/diagnostic'; export default (new Resolver({ - async resolve({dependency, options, filePath, pipeline}) { - if (!isGlob(filePath)) { + async resolve({dependency, options, specifier, pipeline}) { + if (!isGlob(specifier)) { return; } @@ -47,13 +47,13 @@ export default (new Resolver({ }); } - filePath = path.resolve(path.dirname(sourceFile), filePath); - let normalized = normalizeSeparators(filePath); + specifier = path.resolve(path.dirname(sourceFile), specifier); + let normalized = normalizeSeparators(specifier); let files = await glob(normalized, options.inputFS, { onlyFiles: true, }); - let dir = path.dirname(filePath); + let dir = path.dirname(specifier); let results = files.map(file => { let relative = relativePath(dir, file); if (pipeline) { @@ -88,7 +88,9 @@ export default (new Resolver({ return { filePath: path.join( dir, - path.basename(filePath, path.extname(filePath)) + '.' + sourceAssetType, + path.basename(specifier, path.extname(specifier)) + + '.' + + sourceAssetType, ), code, invalidateOnFileCreate: [{glob: normalized}], diff --git a/packages/transformers/css/src/CSSTransformer.js b/packages/transformers/css/src/CSSTransformer.js index c7fbe10c1df..a5437582245 100644 --- a/packages/transformers/css/src/CSSTransformer.js +++ b/packages/transformers/css/src/CSSTransformer.js @@ -5,11 +5,7 @@ import type {FilePath} from '@parcel/types'; import SourceMap from '@parcel/source-map'; import {Transformer} from '@parcel/plugin'; -import { - createDependencyLocation, - isURL, - remapSourceLocation, -} from '@parcel/utils'; +import {createDependencyLocation, remapSourceLocation} from '@parcel/utils'; import postcss from 'postcss'; import nullthrows from 'nullthrows'; import valueParser from 'postcss-value-parser'; @@ -108,35 +104,29 @@ export default (new Transformer({ throw new Error('Could not find import name for ' + String(rule)); } - if (isURL(specifier)) { - name.value = asset.addURLDependency(specifier, { - loc: createLoc(nullthrows(rule.source.start), asset.filePath, 0, 8), - }); - } else { - // If this came from an inline

🚨 Parcel encountered errors

<% errors.forEach(function(error){ %>

<%- error.message %>

-
- <%- error.stack %> -
-
+
<%- error.stack %>
+
    <% error.hints.forEach(function(hint){ %> -
    <%- hint %>
    +
  • <%- hint %>
  • <% }); %> -
+ + <% if (error.documentation) { %> + + <% } %> <% }); %> diff --git a/packages/runtimes/hmr/src/loaders/hmr-runtime.js b/packages/runtimes/hmr/src/loaders/hmr-runtime.js index 3e07d8c0bd9..53e2793f9a3 100644 --- a/packages/runtimes/hmr/src/loaders/hmr-runtime.js +++ b/packages/runtimes/hmr/src/loaders/hmr-runtime.js @@ -183,12 +183,15 @@ function createErrorOverlay(diagnostics) {
🚨 ${diagnostic.message}
-
-          ${stack}
-        
+
${stack}
- ${diagnostic.hints.map(hint => '
' + hint + '
').join('')} + ${diagnostic.hints.map(hint => '
💡 ' + hint + '
').join('')}
+ ${ + diagnostic.documentation + ? `` + : '' + } `; } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 639bc1a4aac..59f889930f8 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -26,6 +26,7 @@ "@babel/plugin-transform-flow-strip-types": "^7.0.0", "@babel/traverse": "^7.0.0", "@parcel/babel-ast-utils": "2.0.0-rc.0", + "@parcel/diagnostic": "2.0.0-rc.0", "@parcel/plugin": "2.0.0-rc.0", "@parcel/source-map": "2.0.0-rc.6", "@parcel/utils": "2.0.0-rc.0", diff --git a/packages/transformers/babel/src/config.js b/packages/transformers/babel/src/config.js index 7e3737faa31..8941f56247d 100644 --- a/packages/transformers/babel/src/config.js +++ b/packages/transformers/babel/src/config.js @@ -2,11 +2,13 @@ import type {Config, PluginOptions, PluginLogger} from '@parcel/types'; import typeof * as BabelCore from '@babel/core'; +import type {Diagnostic} from '@parcel/diagnostic'; import type {BabelConfig} from './types'; import path from 'path'; import * as internalBabelCore from '@babel/core'; import {hashObject, relativePath, resolveConfig} from '@parcel/utils'; +import {md, generateJSONCodeHighlights} from '@parcel/diagnostic'; import isJSX from './jsx'; import getFlowOptions from './flow'; @@ -195,6 +197,7 @@ export async function load( config.setCacheKey(JSON.stringify(Date.now())); config.invalidateOnStartup(); } else { + await warnOnRedundantPlugins(options.inputFS, partialConfig, logger); definePluginDependencies(config, partialConfig.options, options); config.setCacheKey(hashObject(partialConfig.options)); } @@ -285,3 +288,142 @@ function definePluginDependencies(config, babelConfig: ?BabelConfig, options) { }); } } + +const redundantPresets = new Set([ + '@babel/preset-env', + '@babel/preset-react', + '@babel/preset-typescript', + '@parcel/babel-preset-env', +]); + +async function warnOnRedundantPlugins(fs, babelConfig, logger) { + if (babelConfig == null) { + return; + } + + let configPath = babelConfig.config ?? babelConfig.babelrc; + if (!configPath) { + return; + } + + let presets = babelConfig.options.presets || []; + let plugins = babelConfig.options.plugins || []; + let foundRedundantPresets = new Set(); + + let filteredPresets = presets.filter(preset => { + if (redundantPresets.has(preset.file.request)) { + foundRedundantPresets.add(preset.file.request); + return false; + } + + return true; + }); + + let filePath = path.relative(process.cwd(), configPath); + let diagnostics: Array = []; + + if ( + filteredPresets.length === 0 && + foundRedundantPresets.size > 0 && + plugins.length === 0 + ) { + diagnostics.push({ + message: md`Parcel includes transpilation by default. Babel config __${filePath}__ contains only redundant presets. Deleting it may significantly improve build performance.`, + codeFrames: [ + { + filePath: configPath, + codeHighlights: await getCodeHighlights( + fs, + configPath, + foundRedundantPresets, + ), + }, + ], + hints: [md`Delete __${filePath}__`], + documentationURL: + 'https://v2.parceljs.org/languages/javascript/#default-presets', + }); + } else if (foundRedundantPresets.size > 0) { + diagnostics.push({ + message: md`Parcel includes transpilation by default. Babel config __${filePath}__ includes the following redundant presets: ${[ + ...foundRedundantPresets, + ].map(p => + md.underline(p), + )}. Removing these may improve build performance.`, + codeFrames: [ + { + filePath: configPath, + codeHighlights: await getCodeHighlights( + fs, + configPath, + foundRedundantPresets, + ), + }, + ], + hints: [md`Remove the above presets from __${filePath}__`], + documentationURL: + 'https://v2.parceljs.org/languages/javascript/#default-presets', + }); + } + + if (foundRedundantPresets.has('@babel/preset-env')) { + diagnostics.push({ + message: + "@babel/preset-env does not support Parcel's targets, which will likely result in unnecessary transpilation and larger bundle sizes.", + codeFrames: [ + { + filePath: babelConfig.config ?? babelConfig.babelrc, + codeHighlights: await getCodeHighlights( + fs, + babelConfig.config ?? babelConfig.babelrc, + new Set(['@babel/preset-env']), + ), + }, + ], + hints: [ + `Either remove __@babel/preset-env__ to use Parcel's builtin transpilation, or replace with __@parcel/babel-preset-env__`, + ], + documentationURL: + 'https://v2.parceljs.org/languages/javascript/#custom-plugins', + }); + } + + if (diagnostics.length > 0) { + logger.warn(diagnostics); + } +} + +async function getCodeHighlights(fs, filePath, redundantPresets) { + let ext = path.extname(filePath); + if (ext !== '.js' && ext !== '.cjs' && ext !== '.mjs') { + let contents = await fs.readFile(filePath, 'utf8'); + let json = JSON.parse(contents); + + let presets = json.presets || []; + let pointers = []; + for (let i = 0; i < presets.length; i++) { + if (Array.isArray(presets[i]) && redundantPresets.has(presets[i][0])) { + pointers.push({type: 'value', key: `/presets/${i}/0`}); + } else if (redundantPresets.has(presets[i])) { + pointers.push({type: 'value', key: `/presets/${i}`}); + } + } + + if (pointers.length > 0) { + return generateJSONCodeHighlights(contents, pointers); + } + } + + return [ + { + start: { + line: 1, + column: 1, + }, + end: { + line: 1, + column: 1, + }, + }, + ]; +} diff --git a/packages/transformers/js/core/src/dependency_collector.rs b/packages/transformers/js/core/src/dependency_collector.rs index c16685aa8be..967573ce192 100644 --- a/packages/transformers/js/core/src/dependency_collector.rs +++ b/packages/transformers/js/core/src/dependency_collector.rs @@ -207,6 +207,9 @@ impl<'a> DependencyCollector<'a> { hints: None, show_environment: true, severity: DiagnosticSeverity::Error, + documentation_url: Some(String::from( + "https://v2.parceljs.org/languages/javascript/#classic-scripts", + )), }); } } @@ -356,32 +359,52 @@ impl<'a> Fold for DependencyCollector<'a> { } "importScripts" => { if self.config.is_worker { - let msg = if self.config.source_type == SourceType::Script { + let (msg, span) = if self.config.source_type == SourceType::Script { // Ignore if argument is not a string literal. - if let Some(ast::ExprOrSpread { expr, .. }) = node.args.get(0) { + let span = if let Some(ast::ExprOrSpread { expr, .. }) = node.args.get(0) { match &**expr { - Lit(ast::Lit::Str(_)) => {} + Lit(ast::Lit::Str(ast::Str { value, span, .. })) => { + // Ignore absolute URLs. + if value.starts_with("http:") + || value.starts_with("https:") + || value.starts_with("//") + { + return node.fold_children_with(self); + } + span + } _ => { return node.fold_children_with(self); } } - } - - "importScripts() is not supported in worker scripts." + } else { + return node.fold_children_with(self); + }; + + ( + "Argument to importScripts() must be a fully qualified URL.", + *span, + ) } else { - "importScripts() is not supported in module workers." + ( + "importScripts() is not supported in module workers.", + node.span, + ) }; self.diagnostics.push(Diagnostic { message: msg.to_string(), code_highlights: Some(vec![CodeHighlight { message: None, - loc: SourceLocation::from(self.source_map, node.span), + loc: SourceLocation::from(self.source_map, span), }]), hints: Some(vec![String::from( "Use a static `import`, or dynamic `import()` instead.", )]), show_environment: self.config.source_type == SourceType::Script, severity: DiagnosticSeverity::Error, + documentation_url: Some(String::from( + "https://v2.parceljs.org/languages/javascript/#classic-script-workers", + )), }); } @@ -535,10 +558,16 @@ impl<'a> Fold for DependencyCollector<'a> { s } else if let Lit(lit) = &*arg.expr { if let ast::Lit::Str(str_) = lit { - let msg = if kind == DependencyKind::ServiceWorker { - "Registering service workers with a string literal is not supported." + let (msg, docs) = if kind == DependencyKind::ServiceWorker { + ( + "Registering service workers with a string literal is not supported.", + "https://v2.parceljs.org/languages/javascript/#service-workers", + ) } else { - "Registering worklets with a string literal is not supported." + ( + "Registering worklets with a string literal is not supported.", + "http://localhost:8080/languages/javascript/#worklets", + ) }; self.diagnostics.push(Diagnostic { message: msg.to_string(), @@ -552,6 +581,7 @@ impl<'a> Fold for DependencyCollector<'a> { )]), show_environment: false, severity: DiagnosticSeverity::Error, + documentation_url: Some(String::from(docs)), }); return node; } else { @@ -723,6 +753,9 @@ impl<'a> Fold for DependencyCollector<'a> { )]), show_environment: false, severity: DiagnosticSeverity::Error, + documentation_url: Some(String::from( + "https://v2.parceljs.org/languages/javascript/#web-workers", + )), }); return node; } else { @@ -1226,6 +1259,9 @@ impl<'a> DependencyCollector<'a> { hints: None, show_environment: true, severity: DiagnosticSeverity::Error, + documentation_url: Some(String::from( + "https://v2.parceljs.org/languages/javascript/#classic-scripts", + )), }) } true diff --git a/packages/transformers/js/core/src/env_replacer.rs b/packages/transformers/js/core/src/env_replacer.rs index 7d90274f143..b4aec4c9d57 100644 --- a/packages/transformers/js/core/src/env_replacer.rs +++ b/packages/transformers/js/core/src/env_replacer.rs @@ -126,7 +126,6 @@ impl<'a> Fold for EnvReplacer<'a> { } } PatOrExpr::Expr(expr) => Some(&**expr), - _ => None, }; if let Some(Expr::Member(MemberExpr { @@ -306,6 +305,7 @@ impl<'a> EnvReplacer<'a> { hints: None, show_environment: false, severity: DiagnosticSeverity::SourceError, + documentation_url: None, }); } } diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index 19df1329367..d39858bc44b 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -170,6 +170,7 @@ impl<'a> Fold for Hoist<'a> { hints: None, show_environment: false, severity: DiagnosticSeverity::Error, + documentation_url: None, }) } } diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index a22c7c906c9..a209a966ea0 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -195,6 +195,7 @@ pub fn transform(config: Config) -> Result { hints, show_environment: false, severity: DiagnosticSeverity::Error, + documentation_url: None, } }) .collect(); diff --git a/packages/transformers/js/core/src/utils.rs b/packages/transformers/js/core/src/utils.rs index a91044f0832..8d3d59cafc4 100644 --- a/packages/transformers/js/core/src/utils.rs +++ b/packages/transformers/js/core/src/utils.rs @@ -187,6 +187,7 @@ pub struct Diagnostic { pub hints: Option>, pub show_environment: bool, pub severity: DiagnosticSeverity, + pub documentation_url: Option, } #[derive(Serialize, Deserialize, Debug, Eq, PartialEq)] diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index 6d995337d14..10791a46390 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -1,6 +1,7 @@ // @flow import type {JSONObject, EnvMap} from '@parcel/types'; import type {SchemaEntity} from '@parcel/utils'; +import type {Diagnostic} from '@parcel/diagnostic'; import SourceMap from '@parcel/source-map'; import {Transformer} from '@parcel/plugin'; import {init, transform} from '../native'; @@ -440,7 +441,7 @@ export default (new Transformer({ message = err?.message || SCRIPT_ERRORS.browser.message; } - let res = { + let res: Diagnostic = { message, codeFrames: [ { @@ -458,9 +459,13 @@ export default (new Transformer({ hints: diagnostic.hints, }; + if (diagnostic.documentation_url) { + res.documentationURL = diagnostic.documentation_url; + } + if (diagnostic.show_environment) { if (asset.env.loc && asset.env.loc.filePath !== asset.filePath) { - res.codeFrames.push({ + res.codeFrames?.push({ filePath: asset.env.loc.filePath, codeHighlights: [ { @@ -584,10 +589,13 @@ export default (new Transformer({ let env; if (dep.kind === 'DynamicImport') { - if (asset.env.isWorklet()) { + // https://html.spec.whatwg.org/multipage/webappapis.html#hostimportmoduledynamically(referencingscriptormodule,-modulerequest,-promisecapability) + if (asset.env.isWorklet() || asset.env.context === 'service-worker') { let loc = convertLoc(dep.loc); let diagnostic = { - message: 'import() is not allowed in worklets.', + message: `import() is not allowed in ${ + asset.env.isWorklet() ? 'worklets' : 'service workers' + }.`, codeFrames: [ { filePath: asset.filePath, From a73259cef6777f651e917534ae55cf320e100e9a Mon Sep 17 00:00:00 2001 From: Chris Wilkinson Date: Sun, 22 Aug 2021 19:20:12 +0100 Subject: [PATCH 0009/1076] Add SVG transformer (#6595) --- packages/configs/default/index.json | 3 +- packages/configs/default/package.json | 3 +- .../{.parcelrc-svg => .parcelrc-svg-react} | 2 +- .../integration/{svg => svg-react}/icon.svg | 0 .../integration/{svg => svg-react}/index.html | 0 .../{svg => svg-react}/package.json | 0 .../integration/{svg => svg-react}/react.js | 0 .../integration/svg-xml-stylesheet/img.svg | 11 ++++ .../integration/svg-xml-stylesheet/style1.css | 4 ++ .../integration/svg-xml-stylesheet/style2.css | 3 + .../integration/svg-xml-stylesheet/style3.css | 3 + .../integration/svg-xml-stylesheet/style4.css | 3 + .../test/integration/svg/circle.svg | 8 +++ .../test/integration/svg/other1.html | 2 + .../test/integration/svg/other2.html | 2 + .../test/integration/svg/square.svg | 6 ++ .../core/integration-tests/test/svg-react.js | 22 +++++++ packages/core/integration-tests/test/svg.js | 66 +++++++++++++++---- packages/transformers/svg/package.json | 30 +++++++++ .../transformers/svg/src/SVGTransformer.js | 46 +++++++++++++ packages/transformers/svg/src/dependencies.js | 56 ++++++++++++++++ 21 files changed, 253 insertions(+), 17 deletions(-) rename packages/core/integration-tests/test/integration/custom-configs/{.parcelrc-svg => .parcelrc-svg-react} (61%) rename packages/core/integration-tests/test/integration/{svg => svg-react}/icon.svg (100%) rename packages/core/integration-tests/test/integration/{svg => svg-react}/index.html (100%) rename packages/core/integration-tests/test/integration/{svg => svg-react}/package.json (100%) rename packages/core/integration-tests/test/integration/{svg => svg-react}/react.js (100%) create mode 100644 packages/core/integration-tests/test/integration/svg-xml-stylesheet/img.svg create mode 100644 packages/core/integration-tests/test/integration/svg-xml-stylesheet/style1.css create mode 100644 packages/core/integration-tests/test/integration/svg-xml-stylesheet/style2.css create mode 100644 packages/core/integration-tests/test/integration/svg-xml-stylesheet/style3.css create mode 100644 packages/core/integration-tests/test/integration/svg-xml-stylesheet/style4.css create mode 100644 packages/core/integration-tests/test/integration/svg/circle.svg create mode 100644 packages/core/integration-tests/test/integration/svg/other1.html create mode 100644 packages/core/integration-tests/test/integration/svg/other2.html create mode 100644 packages/core/integration-tests/test/integration/svg/square.svg create mode 100644 packages/core/integration-tests/test/svg-react.js create mode 100644 packages/transformers/svg/package.json create mode 100644 packages/transformers/svg/src/SVGTransformer.js create mode 100644 packages/transformers/svg/src/dependencies.js diff --git a/packages/configs/default/index.json b/packages/configs/default/index.json index cd283904975..8241705e16e 100644 --- a/packages/configs/default/index.json +++ b/packages/configs/default/index.json @@ -40,6 +40,7 @@ "style:*.vue": ["@parcel/transformer-vue"], "custom:*.vue": ["@parcel/transformer-vue"], "*.{png,jpg,jpeg,webp}": ["@parcel/transformer-image"], + "*.svg": ["@parcel/transformer-svg"], "url:*": ["...", "@parcel/transformer-raw"] }, "namers": ["@parcel/namer-default"], @@ -60,7 +61,7 @@ "*.css": "@parcel/packager-css", "*.{js,mjs,cjs}": "@parcel/packager-js", "*.ts": "@parcel/packager-ts", - "*.{jsonld,webmanifest}": "@parcel/packager-raw-url", + "*.{jsonld,svg,webmanifest}": "@parcel/packager-raw-url", "*": "@parcel/packager-raw" }, "resolvers": ["@parcel/resolver-default"], diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index 0eacdc81a48..c8ea8a451fe 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -41,7 +41,8 @@ "@parcel/transformer-postcss": "2.0.0-rc.0", "@parcel/transformer-posthtml": "2.0.0-rc.0", "@parcel/transformer-raw": "2.0.0-rc.0", - "@parcel/transformer-react-refresh-wrap": "2.0.0-rc.0" + "@parcel/transformer-react-refresh-wrap": "2.0.0-rc.0", + "@parcel/transformer-svg": "2.0.0-rc.0" }, "parcelDependencies": { "@parcel/optimizer-data-url": "2.0.0-rc.0", diff --git a/packages/core/integration-tests/test/integration/custom-configs/.parcelrc-svg b/packages/core/integration-tests/test/integration/custom-configs/.parcelrc-svg-react similarity index 61% rename from packages/core/integration-tests/test/integration/custom-configs/.parcelrc-svg rename to packages/core/integration-tests/test/integration/custom-configs/.parcelrc-svg-react index a12970cd1a4..c11e89a36f8 100644 --- a/packages/core/integration-tests/test/integration/custom-configs/.parcelrc-svg +++ b/packages/core/integration-tests/test/integration/custom-configs/.parcelrc-svg-react @@ -1,7 +1,7 @@ { "extends": "@parcel/config-default", "transformers": { - "*.svg": ["@parcel/transformer-svg-react"] + "*.svg": ["...", "@parcel/transformer-svg-react"] }, "reporters": [] } diff --git a/packages/core/integration-tests/test/integration/svg/icon.svg b/packages/core/integration-tests/test/integration/svg-react/icon.svg similarity index 100% rename from packages/core/integration-tests/test/integration/svg/icon.svg rename to packages/core/integration-tests/test/integration/svg-react/icon.svg diff --git a/packages/core/integration-tests/test/integration/svg/index.html b/packages/core/integration-tests/test/integration/svg-react/index.html similarity index 100% rename from packages/core/integration-tests/test/integration/svg/index.html rename to packages/core/integration-tests/test/integration/svg-react/index.html diff --git a/packages/core/integration-tests/test/integration/svg/package.json b/packages/core/integration-tests/test/integration/svg-react/package.json similarity index 100% rename from packages/core/integration-tests/test/integration/svg/package.json rename to packages/core/integration-tests/test/integration/svg-react/package.json diff --git a/packages/core/integration-tests/test/integration/svg/react.js b/packages/core/integration-tests/test/integration/svg-react/react.js similarity index 100% rename from packages/core/integration-tests/test/integration/svg/react.js rename to packages/core/integration-tests/test/integration/svg-react/react.js diff --git a/packages/core/integration-tests/test/integration/svg-xml-stylesheet/img.svg b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/img.svg new file mode 100644 index 00000000000..e2dcb3c0a7e --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/img.svg @@ -0,0 +1,11 @@ + + + + + + Should be red and monospace + diff --git a/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style1.css b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style1.css new file mode 100644 index 00000000000..4c6d8c9b1c8 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style1.css @@ -0,0 +1,4 @@ +:root { + fill: red; + font-family: serif; +} diff --git a/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style2.css b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style2.css new file mode 100644 index 00000000000..d3e88e2a234 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style2.css @@ -0,0 +1,3 @@ +:root { + font-family: sans-serif; +} diff --git a/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style3.css b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style3.css new file mode 100644 index 00000000000..f4523b098a4 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style3.css @@ -0,0 +1,3 @@ +:root { + font-family: monospace; +} diff --git a/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style4.css b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style4.css new file mode 100644 index 00000000000..2b5e3e9f641 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-xml-stylesheet/style4.css @@ -0,0 +1,3 @@ +:root { + font-family: cursive; +} diff --git a/packages/core/integration-tests/test/integration/svg/circle.svg b/packages/core/integration-tests/test/integration/svg/circle.svg new file mode 100644 index 00000000000..cd0514173c6 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg/circle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/core/integration-tests/test/integration/svg/other1.html b/packages/core/integration-tests/test/integration/svg/other1.html new file mode 100644 index 00000000000..f4ae7dea450 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg/other1.html @@ -0,0 +1,2 @@ + +Other page 1 diff --git a/packages/core/integration-tests/test/integration/svg/other2.html b/packages/core/integration-tests/test/integration/svg/other2.html new file mode 100644 index 00000000000..7c40cf0f3bf --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg/other2.html @@ -0,0 +1,2 @@ + +Other page 2 diff --git a/packages/core/integration-tests/test/integration/svg/square.svg b/packages/core/integration-tests/test/integration/svg/square.svg new file mode 100644 index 00000000000..af1ab4adf39 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg/square.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/core/integration-tests/test/svg-react.js b/packages/core/integration-tests/test/svg-react.js new file mode 100644 index 00000000000..4de2d507c93 --- /dev/null +++ b/packages/core/integration-tests/test/svg-react.js @@ -0,0 +1,22 @@ +import assert from 'assert'; +import {bundle, outputFS} from '@parcel/test-utils'; +import path from 'path'; + +describe('svg-react', function() { + it('should support transforming SVGs to react components', async function() { + let b = await bundle( + path.join(__dirname, '/integration/svg-react/react.js'), + { + defaultConfig: path.join( + __dirname, + 'integration/custom-configs/.parcelrc-svg-react', + ), + }, + ); + + let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf-8'); + assert(!file.includes('inkscape')); + assert(file.includes('function SvgIcon')); + assert(file.includes('_react.createElement("svg"')); + }); +}); diff --git a/packages/core/integration-tests/test/svg.js b/packages/core/integration-tests/test/svg.js index 58a84542584..dc90e9b95c5 100644 --- a/packages/core/integration-tests/test/svg.js +++ b/packages/core/integration-tests/test/svg.js @@ -1,10 +1,33 @@ import assert from 'assert'; -import {bundle, outputFS} from '@parcel/test-utils'; +import {assertBundles, bundle, outputFS} from '@parcel/test-utils'; import path from 'path'; describe('svg', function() { + it('should support bundling SVG', async () => { + let b = await bundle(path.join(__dirname, '/integration/svg/circle.svg')); + + assertBundles(b, [ + { + name: 'circle.svg', + assets: ['circle.svg'], + }, + { + name: 'other1.html', + assets: ['other1.html'], + }, + { + type: 'svg', + assets: ['square.svg'], + }, + { + name: 'other2.html', + assets: ['other2.html'], + }, + ]); + }); + it('should minify SVG bundles', async function() { - let b = await bundle(path.join(__dirname, '/integration/svg/index.html'), { + let b = await bundle(path.join(__dirname, '/integration/svg/circle.svg'), { defaultTargetOptions: { shouldOptimize: true, }, @@ -14,7 +37,7 @@ describe('svg', function() { b.getBundles().find(b => b.type === 'svg').filePath, 'utf-8', ); - assert(!file.includes('inkscape')); + assert(!file.includes('comment')); }); it('support SVGO config files', async function() { @@ -35,17 +58,32 @@ describe('svg', function() { assert(file.includes('comment')); }); - it('should support transforming SVGs to react components', async function() { - let b = await bundle(path.join(__dirname, '/integration/svg/react.js'), { - defaultConfig: path.join( - __dirname, - 'integration/custom-configs/.parcelrc-svg', - ), - }); + it('should detect xml-stylesheet processing instructions', async function() { + let b = await bundle( + path.join(__dirname, '/integration/svg-xml-stylesheet/img.svg'), + ); - let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf-8'); - assert(!file.includes('inkscape')); - assert(file.includes('function SvgIcon')); - assert(file.includes('_react.createElement("svg"')); + assertBundles(b, [ + { + name: 'img.svg', + assets: ['img.svg'], + }, + { + type: 'css', + assets: ['style1.css'], + }, + { + type: 'css', + assets: ['style3.css'], + }, + ]); + + let file = await outputFS.readFile( + b.getBundles().find(b => b.type === 'svg').filePath, + 'utf-8', + ); + + assert(file.includes('= 12.0.0", + "parcel": "^2.0.0-beta.1" + }, + "dependencies": { + "@parcel/plugin": "2.0.0-rc.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.4", + "posthtml-parser": "^0.9.0", + "posthtml-render": "^2.0.6", + "semver": "^5.4.1" + } +} diff --git a/packages/transformers/svg/src/SVGTransformer.js b/packages/transformers/svg/src/SVGTransformer.js new file mode 100644 index 00000000000..4b589e1d932 --- /dev/null +++ b/packages/transformers/svg/src/SVGTransformer.js @@ -0,0 +1,46 @@ +// @flow + +import {Transformer} from '@parcel/plugin'; +import nullthrows from 'nullthrows'; +import semver from 'semver'; +import collectDependencies from './dependencies'; +import parse from 'posthtml-parser'; +import render from 'posthtml-render'; + +export default (new Transformer({ + canReuseAST({ast}) { + return ast.type === 'posthtml' && semver.satisfies(ast.version, '^0.4.0'); + }, + + async parse({asset}) { + return { + type: 'posthtml', + version: '0.4.1', + program: parse(await asset.getCode(), { + directives: [ + { + name: /^\?/, + start: '<', + end: '>', + }, + ], + sourceLocations: true, + xmlMode: true, + }), + }; + }, + + async transform({asset}) { + const ast = nullthrows(await asset.getAST()); + + collectDependencies(asset, ast); + + return [asset]; + }, + + generate({ast}) { + return { + content: render(ast.program), + }; + }, +}): Transformer); diff --git a/packages/transformers/svg/src/dependencies.js b/packages/transformers/svg/src/dependencies.js new file mode 100644 index 00000000000..5f31b86236e --- /dev/null +++ b/packages/transformers/svg/src/dependencies.js @@ -0,0 +1,56 @@ +// @flow + +import type {AST, MutableAsset} from '@parcel/types'; +import PostHTML from 'posthtml'; + +// A list of all attributes that may produce a dependency +// Based on https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute +const ATTRS = { + href: ['a', 'use'], + 'xlink:href': ['a', 'use'], +}; + +// Options to be passed to `addDependency` for certain tags + attributes +const OPTIONS = { + a: { + href: {needsStableName: true}, + 'xlink:href': {needsStableName: true}, + }, +}; + +export default function collectDependencies(asset: MutableAsset, ast: AST) { + let isDirty = false; + PostHTML().walk.call(ast.program, node => { + if (typeof node === 'string' && node.startsWith(' { + isDirty = true; + + return asset.addURLDependency(href, {priority: 'parallel'}); + }); + } + + const {tag, attrs} = node; + if (!attrs) { + return node; + } + + for (const attr in attrs) { + // Check for id references + if (attrs[attr][0] === '#') { + continue; + } + + const elements = ATTRS[attr]; + if (elements && elements.includes(node.tag)) { + attrs[attr] = asset.addURLDependency(attrs[attr], OPTIONS[tag]?.[attr]); + isDirty = true; + } + } + + return node; + }); + + if (isDirty) { + asset.setAST(ast); + } +} From 0d5b0d4b528b88d56bcf87aa6522908c7f8df34e Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 22 Aug 2021 21:05:45 -0700 Subject: [PATCH 0010/1076] Fix windows tests --- packages/core/integration-tests/test/babel.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/core/integration-tests/test/babel.js b/packages/core/integration-tests/test/babel.js index 47bea843b2f..09fe260eb6f 100644 --- a/packages/core/integration-tests/test/babel.js +++ b/packages/core/integration-tests/test/babel.js @@ -16,6 +16,7 @@ import Logger from '@parcel/logger'; import os from 'os'; import {spawnSync} from 'child_process'; import tempy from 'tempy'; +import {md} from '@parcel/diagnostic'; const parcelCli = require.resolve('parcel/src/bin.js'); const inputDir = path.join(__dirname, '/input'); @@ -586,7 +587,7 @@ describe('babel', function() { diagnostics: [ { origin: '@parcel/transformer-babel', - message: `Parcel includes transpilation by default. Babel config __${path.relative( + message: md`Parcel includes transpilation by default. Babel config __${path.relative( process.cwd(), babelrcPath, )}__ contains only redundant presets. Deleting it may significantly improve build performance.`, @@ -608,7 +609,9 @@ describe('babel', function() { ], }, ], - hints: ['Delete __test/integration/babel-warn-all/.babelrc__'], + hints: [ + md`Delete __${path.relative(process.cwd(), babelrcPath)}__`, + ], documentationURL: 'https://v2.parceljs.org/languages/javascript/#default-presets', }, @@ -665,7 +668,7 @@ describe('babel', function() { diagnostics: [ { origin: '@parcel/transformer-babel', - message: `Parcel includes transpilation by default. Babel config __${path.relative( + message: md`Parcel includes transpilation by default. Babel config __${path.relative( process.cwd(), babelrcPath, )}__ includes the following redundant presets: __@parcel/babel-preset-env__. Removing these may improve build performance.`, @@ -688,7 +691,7 @@ describe('babel', function() { }, ], hints: [ - `Remove the above presets from __${path.relative( + md`Remove the above presets from __${path.relative( process.cwd(), babelrcPath, )}__`, From 18320b437397a207ec3e80ef8cd08bffe3dd9678 Mon Sep 17 00:00:00 2001 From: Jasper De Moor Date: Mon, 23 Aug 2021 06:11:33 +0200 Subject: [PATCH 0011/1076] fix: process meta tag dependencies (#6724) --- packages/core/integration-tests/test/html.js | 14 +++++++-- .../test/integration/html-meta/index.html | 2 ++ .../test/integration/html-meta/logo.svg | 1 + .../transformers/html/src/dependencies.js | 31 ++++++++++++------- 4 files changed, 34 insertions(+), 14 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/html-meta/logo.svg diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index 076454d5d4d..3cb53488031 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -170,7 +170,7 @@ describe('html', function() { assert(//.test(html)); }); - it('should support meta tag with none content', async function() { + it('should support meta tags', async function() { let b = await bundle( path.join(__dirname, '/integration/html-meta/index.html'), ); @@ -180,13 +180,23 @@ describe('html', function() { name: 'index.html', assets: ['index.html'], }, + { + name: 'logo.svg', + assets: ['logo.svg'], + }, ]); let html = await outputFS.readFile( path.join(distDir, 'index.html'), 'utf8', ); - assert(//.test(html)); + assert(html.includes(``)); + assert(html.includes(``)); + assert( + html.includes( + ``, + ), + ); }); it('should insert sibling CSS bundles for JS files in the HEAD', async function() { diff --git a/packages/core/integration-tests/test/integration/html-meta/index.html b/packages/core/integration-tests/test/integration/html-meta/index.html index 736896f9034..6400510acdd 100644 --- a/packages/core/integration-tests/test/integration/html-meta/index.html +++ b/packages/core/integration-tests/test/integration/html-meta/index.html @@ -1,6 +1,8 @@ + + diff --git a/packages/core/integration-tests/test/integration/html-meta/logo.svg b/packages/core/integration-tests/test/integration/html-meta/logo.svg new file mode 100644 index 00000000000..131c57b7a3c --- /dev/null +++ b/packages/core/integration-tests/test/integration/html-meta/logo.svg @@ -0,0 +1 @@ +Asset 1 \ No newline at end of file diff --git a/packages/transformers/html/src/dependencies.js b/packages/transformers/html/src/dependencies.js index 4068c7c92b0..0abba7f3c07 100644 --- a/packages/transformers/html/src/dependencies.js +++ b/packages/transformers/html/src/dependencies.js @@ -122,19 +122,26 @@ export default function collectDependencies( seen.add(node); if (tag === 'meta') { - if ( - !Object.keys(attrs).some(attr => { - let values = META[attr]; - return ( - values && - values.includes(attrs[attr]) && - attrs.content !== '' && - !(attrs.name === 'msapplication-config' && attrs.content === 'none') - ); - }) - ) { - return node; + const isMetaDependency = Object.keys(attrs).some(attr => { + let values = META[attr]; + return ( + values && + values.includes(attrs[attr]) && + attrs.content !== '' && + !(attrs.name === 'msapplication-config' && attrs.content === 'none') + ); + }); + if (isMetaDependency) { + const metaAssetUrl = attrs.content; + if (metaAssetUrl) { + attrs.content = asset.addURLDependency(attrs.content, { + needsStableName: true, + }); + isDirty = true; + asset.setAST(ast); + } } + return node; } if ( From 95f5648d775fbea72506c3c4f7a67fe48efa8d43 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Mon, 23 Aug 2021 06:12:16 +0200 Subject: [PATCH 0012/1076] Bump swc (#6694) --- Cargo.lock | 186 +++++++++++-------- packages/core/integration-tests/package.json | 2 +- packages/transformers/js/core/Cargo.toml | 6 +- packages/transformers/js/core/src/hoist.rs | 96 +++++----- yarn.lock | 50 +---- 5 files changed, 166 insertions(+), 174 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c81c09b5edc..282c23ad761 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,6 +12,17 @@ dependencies = [ "regex", ] +[[package]] +name = "ahash" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" +dependencies = [ + "getrandom 0.2.3", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.18" @@ -23,9 +34,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.41" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61" +checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf" [[package]] name = "arrayvec" @@ -78,9 +89,9 @@ checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "block-buffer" @@ -105,9 +116,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cc" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" +checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" [[package]] name = "cfg-if" @@ -275,14 +286,25 @@ checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ "cfg-if 1.0.0", "libc", - "wasi", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.10.2+wasi-snapshot-preview1", ] [[package]] name = "hashbrown" -version = "0.9.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" [[package]] name = "hermit-abi" @@ -318,9 +340,9 @@ checksum = "1f7280c75fb2e2fc47080ec80ccc481376923acb04501957fc38f935c3de5088" [[package]] name = "indexmap" -version = "1.6.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" dependencies = [ "autocfg", "hashbrown", @@ -415,9 +437,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "a7f823d141fe0a24df1e23b4af4e3c7ba9e5966ec514ea068c93024aa7deb765" [[package]] name = "libmimalloc-sys" @@ -439,9 +461,9 @@ dependencies = [ [[package]] name = "matches" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "memchr" @@ -460,9 +482,9 @@ dependencies = [ [[package]] name = "napi" -version = "1.7.5" +version = "1.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cd02f5de365f9bd6e85f1d11176a9ea70ff63ce55ea4412cb4e00fd5a0fe6c" +checksum = "eb22375ec7cbd8bee4535126bb323e4e62cbf8088d84f0225d4d3226d1619bd5" dependencies = [ "napi-sys", "serde", @@ -563,9 +585,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "ordered-float" -version = "2.5.1" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f100fcfb41e5385e0991f74981732049f9b896821542a219420491046baafdc2" +checksum = "039f02eb0f69271f26abe3202189275d7aa2258b903cb0281b5de710a2570ff3" dependencies = [ "num-traits", ] @@ -733,9 +755,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" dependencies = [ "unicode-xid", ] @@ -755,7 +777,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ - "getrandom", + "getrandom 0.1.16", "libc", "rand_chacha", "rand_core", @@ -779,7 +801,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" dependencies = [ - "getrandom", + "getrandom 0.1.16", ] [[package]] @@ -871,9 +893,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.126" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" +checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8" dependencies = [ "serde_derive", ] @@ -901,9 +923,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.126" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" +checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc" dependencies = [ "proc-macro2", "quote", @@ -912,9 +934,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.64" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" +checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127" dependencies = [ "itoa", "ryu", @@ -923,9 +945,9 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16" +checksum = "1a0c8611594e2ab4ebbf06ec7cbbf0a99450b8570e96cbf5188b5d5f6ef18d81" dependencies = [ "block-buffer", "cfg-if 1.0.0", @@ -936,9 +958,9 @@ dependencies = [ [[package]] name = "siphasher" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbce6d4507c7e4a3962091436e56e95290cb71fa302d0d270e32130b75fbff27" +checksum = "729a25c17d72b06c68cb47955d44fda88ad2d3e7d77e025663fdd69b93dd71a1" [[package]] name = "smallvec" @@ -1052,10 +1074,11 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.10.21" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526ac4386aca6a792d75bb3bd5cb72eb170e2029f4ce0f6a9d280923da4b0ce8" +checksum = "0fc89b8c9f2fa3fc646e7d1a05ebc2063b1396b3ba5277afc741505bd7414fff" dependencies = [ + "ahash", "ast_node", "atty", "cfg-if 0.1.10", @@ -1078,9 +1101,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.47.0" +version = "0.49.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab98b7f6777222431bdf193bbfc6046af53cc105c8702390a9109d1a4511329b" +checksum = "3efef728f69665d765c52b233155dcb3290424f56a9f978ecfbd53f136804461" dependencies = [ "is-macro", "num-bigint", @@ -1092,9 +1115,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.60.1" +version = "0.67.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e84b5477973503f94c6a82f02bc6008c148dc3dd5b07bb81fee6f5f93e3a190" +checksum = "96a380bd935ce811c0bc8b961abc97cbf3a8c759213634aa59f5b0601162ba4e" dependencies = [ "bitflags", "num-bigint", @@ -1121,12 +1144,16 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.9.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d234e6348de8d954334700f65a35485363de082fd58671c07f060f1fa499f59c" +checksum = "2bc6a797d2df5f60cc9ab6a85aa7a49ab1bcaac8150d184f79a27deba2d21983" dependencies = [ "anyhow", + "dashmap", + "fxhash", + "log", "normpath", + "once_cell", "serde", "serde_json", "swc_atoms", @@ -1137,9 +1164,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.61.1" +version = "0.67.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82ed9b5648252851ae2cfc066717fcae9c5561be74f496eda64afc791d9b17ed" +checksum = "e0418c8dcb041d74e90c2179290bf3be0e58f2425d1f86843a5e297a13755912" dependencies = [ "either", "enum_kind", @@ -1158,9 +1185,9 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.27.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "538902691c3a274a6e80ce7860c91b96977ebd977e1ca7fba77057e425267951" +checksum = "283a609ec84132c2751bdee13a7a81228007206538ef09a1066163602f0d34d8" dependencies = [ "dashmap", "fxhash", @@ -1182,9 +1209,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.57.0" +version = "0.67.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fd060899f0cb2994ad9d2c04475e30864549e80dde35a526acdf3a79ec8d722" +checksum = "9c50b45538663ae18d56768c93567312dd5cbf29786678a94cfa610172ba93a4" dependencies = [ "swc_atoms", "swc_common", @@ -1204,9 +1231,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.20.1" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311b66839a94ea620382ecadb46c001132c21ad15b13f0e04ffe3ad115a8ce78" +checksum = "b5de480c55ae93eb59715cfc8f66965d192bc62cd4c12e33cff9f940f9431e12" dependencies = [ "fxhash", "once_cell", @@ -1223,9 +1250,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f7417ff08dd6da5bf7ab96e96bb6ae43cdf484235ded9855d5260011cc0186" +checksum = "cdcbad381d349cbff95f7602bf2d9ad6a40c7df92a391d4af62221bd0d7633a2" dependencies = [ "swc_atoms", "swc_common", @@ -1237,9 +1264,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.23.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f464846be30234400767c1f7785bdfd2d27fef6f3cfb9f4e24a2044c9e8e76d2" +checksum = "4cca0020d15ecb278fcdc4cd55f199f39e0c42ceb9e7f9740416f36120c17ad5" dependencies = [ "arrayvec", "fxhash", @@ -1274,9 +1301,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.24.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22c79be4775f2f6f166c7901706e5cc64cd837e6a26b8f0d7ced224321a39dc2" +checksum = "ac0abb8acb4b72d1ef37971b0bfed8e267ecaab37b3d34bac96205d7b62689e2" dependencies = [ "Inflector", "anyhow", @@ -1296,9 +1323,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.27.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422f1a381ee1782fa5b3d883fb01239e9bca26515932b93e4fa3e956275c684f" +checksum = "fb3b4c8d2613ce06be5cf8160159eb468117ef6257eba744e1bf18125cca31ad" dependencies = [ "dashmap", "fxhash", @@ -1318,9 +1345,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.24.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90a18d71bee10a061894ff92d36fcc54e43197c92f70cdb98309021bff282290" +checksum = "02a8edf26ee1695c0137a829dbb8bb3c6681c1ae55e23ff45e0e0f41308e795f" dependencies = [ "either", "fxhash", @@ -1338,9 +1365,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.25.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e2bf91bc9166722159d919cff5dc0276fd404031c53a0f5c6716fdcdcb3a0a" +checksum = "72eabb27291ac7bef4f1f85e3aa7d335138dde1a1606b7d584e7f414882e5f3c" dependencies = [ "base64 0.13.0", "dashmap", @@ -1361,9 +1388,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.26.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d642e21c1088a040e680e81527a7d7528c3703070d15f93cc56cce7c8591f2" +checksum = "dc043fd29ceac49f13c1c994ba784f404cca3e189dd6cb771bfe905a0f776592" dependencies = [ "fxhash", "serde", @@ -1378,9 +1405,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.38.0" +version = "0.41.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db19d40a76ba6c01ebbbd73981645dd2552cdbfc14605481c7a9b7f6f26bd20e" +checksum = "50bacaf860e4224e1a12bea8730c94de28f990f92685dad57aa572e3473043f7" dependencies = [ "once_cell", "scoped-tls", @@ -1393,9 +1420,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.33.0" +version = "0.35.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23ad83badbeda1123290a73ca6254158ed027f72f1b593f96acddcaed5d49c6a" +checksum = "d51ce688b7c984d0325261edb3ced4195790c7ac76982e269d2114ec04e3ae7c" dependencies = [ "num-bigint", "swc_atoms", @@ -1406,9 +1433,9 @@ dependencies = [ [[package]] name = "swc_ecmascript" -version = "0.43.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55e1c5047fe3f5a6c301a312c278ac018789ba4a6e40e556612e82defda422c" +checksum = "e41615d9e65c7b148950211dacd0b2343a646d84493b9c8efa8795ee1a6e2f4f" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -1444,9 +1471,9 @@ dependencies = [ [[package]] name = "swc_visit" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583cfe83f6002e1118559308b88181f34b5936b403b72548cd0259bfcf0ca39e" +checksum = "a423caa0b4585118164dbad8f1ad52b592a9a9370b25decc4d84c6b4309132c0" dependencies = [ "either", "swc_visit_macros", @@ -1488,9 +1515,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" dependencies = [ "tinyvec_macros", ] @@ -1509,12 +1536,9 @@ checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" [[package]] name = "unicode-bidi" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" -dependencies = [ - "matches", -] +checksum = "246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085" [[package]] name = "unicode-normalization" @@ -1578,6 +1602,12 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + [[package]] name = "wasm-bindgen" version = "0.2.72" diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index adb78208f59..00185cbecc6 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -26,7 +26,7 @@ "command-exists": "^1.2.6", "core-js": "^3.2.1", "cross-env": "^7.0.0", - "elm": "^0.19.1-3", + "elm": "^0.19.1-5", "elm-hot": "^1.1.5", "get-port": "^5.0.0", "graphql": "^15.0.0", diff --git a/packages/transformers/js/core/Cargo.toml b/packages/transformers/js/core/Cargo.toml index 1f2872fda6e..279d45252d5 100644 --- a/packages/transformers/js/core/Cargo.toml +++ b/packages/transformers/js/core/Cargo.toml @@ -8,9 +8,9 @@ edition = "2018" crate-type = ["rlib"] [dependencies] -swc_ecmascript = { version = "0.43.0", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils"] } -swc_ecma_preset_env = "0.27.0" -swc_common = { version = "0.10.21", features = ["tty-emitter", "sourcemap"] } +swc_ecmascript = { version = "0.57.0", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils"] } +swc_ecma_preset_env = "0.38.0" +swc_common = { version = "0.11.6", features = ["tty-emitter", "sourcemap"] } swc_atoms = "0.2.6" indoc = "1.0.3" serde = "1.0.123" diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index d39858bc44b..10004793bfa 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -2477,7 +2477,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; let $abc$var$test = { bar: 3 }; @@ -2495,7 +2495,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; console.log($abc$import$558d6cfb8af8a010$3705fc5f2281438d); "#} ); @@ -2510,7 +2510,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; console.log($abc$import$558d6cfb8af8a010$9099ad97b570f7c, $abc$import$558d6cfb8af8a010$9099ad97b570f7c.bar); "#} ); @@ -2530,8 +2530,8 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; - import "abc:bar"; + import "abc:other"; + import "abc:bar"; console.log($abc$import$558d6cfb8af8a010$9099ad97b570f7c); console.log($abc$import$3705fc5f2281438d$9099ad97b570f7c); "#} @@ -2551,10 +2551,10 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; - import "abc:bar"; + import "abc:other"; + import "abc:bar"; console.log($abc$import$558d6cfb8af8a010$9099ad97b570f7c); - import "abc:x"; + import "abc:x"; console.log($abc$import$10b1f2ceae7ab64e); console.log($abc$import$3705fc5f2281438d$9099ad97b570f7c); "#} @@ -2574,7 +2574,7 @@ mod tests { code, indoc! {r#" const $abc$var$x = 4; - import "abc:other"; + import "abc:other"; var $abc$require$bar = $abc$import$558d6cfb8af8a010$3705fc5f2281438d; const $abc$var$baz = 3; console.log($abc$require$bar); @@ -2592,7 +2592,7 @@ mod tests { code, indoc! {r#" const $abc$var$x = 3; - import "abc:other"; + import "abc:other"; const $abc$var$bar = 2; console.log($abc$import$558d6cfb8af8a010$3705fc5f2281438d); "#} @@ -2611,7 +2611,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; const { foo: $abc$var$foo , ...$abc$var$bar } = $abc$import$558d6cfb8af8a010; console.log($abc$var$foo, $abc$var$bar); "#} @@ -2627,7 +2627,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:x"; + import "abc:x"; const { x: { y: $abc$var$z } } = $abc$import$10b1f2ceae7ab64e; console.log($abc$var$z); "#} @@ -2643,7 +2643,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; console.log($abc$import$558d6cfb8af8a010[bar]); "#} ); @@ -2658,7 +2658,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; console.log($abc$import$558d6cfb8af8a010[bar], $abc$import$558d6cfb8af8a010.baz); "#} ); @@ -2684,7 +2684,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; var $abc$require$foo = $abc$import$558d6cfb8af8a010$ba02ad2230917043; console.log($abc$require$foo); "#} @@ -2700,7 +2700,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; const $abc$var$foo = $abc$import$558d6cfb8af8a010[bar]; console.log($abc$var$foo); "#} @@ -2716,7 +2716,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; const { foo: $abc$var$foo } = $abc$import$558d6cfb8af8a010$ba02ad2230917043; console.log($abc$var$foo); "#} @@ -2738,12 +2738,12 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; function $abc$var$x() { const foo = $abc$import$558d6cfb8af8a010; console.log(foo.bar); } - import "abc:bar"; + import "abc:bar"; "#} ); assert_eq!( @@ -2764,7 +2764,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; var $abc$var$foo = (function() { if (Date.now() < 0) { var bar = $abc$import$558d6cfb8af8a010; @@ -2789,7 +2789,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; function $abc$var$x() { const foo = $abc$import$558d6cfb8af8a010$ba02ad2230917043; console.log(foo); @@ -2808,7 +2808,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; function $abc$var$x() { console.log($abc$import$558d6cfb8af8a010$ba02ad2230917043); } @@ -2827,7 +2827,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; function $abc$var$x() { const foo = $abc$import$558d6cfb8af8a010[test]; console.log(foo); @@ -2847,7 +2847,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; function $abc$var$x() { const { foo: foo } = $abc$import$558d6cfb8af8a010; console.log(foo); @@ -2864,8 +2864,8 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:a"; - import "abc:b"; + import "abc:a"; + import "abc:b"; let $abc$var$x = $abc$import$7ac649919d1c80a6 + $abc$import$a91ade93898ecc38; "#} ); @@ -2879,8 +2879,8 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:a"; - import "abc:b"; + import "abc:a"; + import "abc:b"; let $abc$var$x = (!$abc$import$7ac649919d1c80a6, $abc$import$a91ade93898ecc38); "#} ); @@ -2894,8 +2894,8 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:a"; - import "abc:b"; + import "abc:a"; + import "abc:b"; let $abc$var$x = $abc$import$7ac649919d1c80a6 || $abc$import$a91ade93898ecc38; "#} ); @@ -2909,8 +2909,8 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:a"; - import "abc:b"; + import "abc:a"; + import "abc:b"; let $abc$var$x = condition ? $abc$import$7ac649919d1c80a6 : $abc$import$a91ade93898ecc38; "#} ); @@ -2924,7 +2924,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:a"; + import "abc:a"; if (condition) $abc$import$7ac649919d1c80a6; "#} ); @@ -2938,7 +2938,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:y"; + import "abc:y"; for(let x = $abc$import$57bbd0ca114c72e; x < 5; x++){ } "#} @@ -3088,7 +3088,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:bar"; + import "abc:bar"; "#} ); @@ -3101,7 +3101,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:bar"; + import "abc:bar"; "#} ); } @@ -3383,7 +3383,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; async function $abc$var$test() { const x = await $abc$importAsync$558d6cfb8af8a010; console.log(x.foo); @@ -3414,7 +3414,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; async function $abc$var$test() { const x = await $abc$importAsync$558d6cfb8af8a010; console.log(x[foo]); @@ -3445,7 +3445,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; async function $abc$var$test() { const { foo: foo } = await $abc$importAsync$558d6cfb8af8a010; console.log(foo); @@ -3476,7 +3476,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; async function $abc$var$test() { const { foo: bar } = await $abc$importAsync$558d6cfb8af8a010; console.log(bar); @@ -3504,7 +3504,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; $abc$importAsync$558d6cfb8af8a010.then((x)=>x.foo ); "#} @@ -3530,7 +3530,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; $abc$importAsync$558d6cfb8af8a010.then((x)=>x ); "#} @@ -3556,7 +3556,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; $abc$importAsync$558d6cfb8af8a010.then(({ foo: foo })=>foo ); "#} @@ -3582,7 +3582,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; $abc$importAsync$558d6cfb8af8a010.then(({ foo: bar })=>bar ); "#} @@ -3608,7 +3608,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; $abc$importAsync$558d6cfb8af8a010.then(function(x) { return x.foo; }); @@ -3635,7 +3635,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; $abc$importAsync$558d6cfb8af8a010.then(function(x) { return x; }); @@ -3662,7 +3662,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; $abc$importAsync$558d6cfb8af8a010.then(function({ foo: foo }) { }); "#} @@ -3688,7 +3688,7 @@ mod tests { assert_eq!( code, indoc! {r#" - import "abc:other"; + import "abc:other"; $abc$importAsync$558d6cfb8af8a010.then(function({ foo: bar }) { }); "#} diff --git a/yarn.lock b/yarn.lock index ba2a2a6b787..17e9d24dc85 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4359,17 +4359,6 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" -css-select@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-3.1.2.tgz#d52cbdc6fee379fba97fb0d3925abbd18af2d9d8" - integrity sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA== - dependencies: - boolbase "^1.0.0" - css-what "^4.0.0" - domhandler "^4.0.0" - domutils "^2.4.3" - nth-check "^2.0.0" - css-select@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" @@ -4411,11 +4400,6 @@ css-what@^3.2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== -css-what@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-4.0.0.tgz#35e73761cab2eeb3d3661126b23d7aa0e8432233" - integrity sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A== - css-what@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" @@ -4985,16 +4969,7 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.4.2, domutils@^2.4.3, domutils@^2.5.2: - version "2.6.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.6.0.tgz#2e15c04185d43fb16ae7057cb76433c6edb938b7" - integrity sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -domutils@^2.6.0: +domutils@^2.4.2, domutils@^2.5.2, domutils@^2.6.0: version "2.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442" integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg== @@ -5093,10 +5068,10 @@ elm-hot@^1.1.5: resolved "https://registry.yarnpkg.com/elm-hot/-/elm-hot-1.1.5.tgz#bba309b592d39b5c3195c3c6f608f36b96c23b89" integrity sha512-HSMlAr6INTV82wkpPNG0zsHoJXo/04GwG7bnhFX8s4zyIbbzuJAovsdo27FAT6/NKx5IVTXGI+IFcK9Z7oN1Tw== -elm@^0.19.1-3: - version "0.19.1-3" - resolved "https://registry.yarnpkg.com/elm/-/elm-0.19.1-3.tgz#2382aa1943bc79974b5d95b0a6acbe010ee16909" - integrity sha512-6y36ewCcVmTOx8lj7cKJs3bhI5qMfoVEigePZ9PhEUNKpwjjML/pU2u2YSpHVAznuCcojoF6KIsrS1Ci7GtVaQ== +elm@^0.19.1-5: + version "0.19.1-5" + resolved "https://registry.yarnpkg.com/elm/-/elm-0.19.1-5.tgz#61f18437222972e20f316f9b2d2c76a781a9991b" + integrity sha512-dyBoPvFiNLvxOStQJdyq28gZEjS/enZXdZ5yyCtNtDEMbFJJVQq4pYNRKvhrKKdlxNot6d96iQe1uczoqO5yvA== dependencies: request "^2.88.0" @@ -12477,20 +12452,7 @@ svgo@^1.2.2: unquote "~1.1.1" util.promisify "~1.0.0" -svgo@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.3.0.tgz#6b3af81d0cbd1e19c83f5f63cec2cb98c70b5373" - integrity sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q== - dependencies: - "@trysound/sax" "0.1.1" - chalk "^4.1.0" - commander "^7.1.0" - css-select "^3.1.2" - css-tree "^1.1.2" - csso "^4.2.0" - stable "^0.1.8" - -svgo@^2.4.0: +svgo@^2.3.0, svgo@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.4.0.tgz#0c42653101fd668692c0f69b55b8d7b182ef422b" integrity sha512-W25S1UUm9Lm9VnE0TvCzL7aso/NCzDEaXLaElCUO/KaVitw0+IBicSVfM1L1c0YHK5TOFh73yQ2naCpVHEQ/OQ== From 0058a02dbf140a5b4b1c7ecc4462bc5e686d29e4 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Tue, 24 Aug 2021 23:08:13 -0700 Subject: [PATCH 0013/1076] Add support for more types of dependencies in SVG (#6750) --- packages/core/integration-tests/test/css.js | 2 +- packages/core/integration-tests/test/html.js | 2 +- .../test/integration/svg/circle.svg | 8 ++ .../test/integration/svg/gradient.svg | 8 ++ .../test/integration/svg/module.js | 2 + .../test/integration/svg/path.svg | 6 ++ .../test/integration/svg/script.js | 1 + .../core/integration-tests/test/javascript.js | 2 +- packages/core/integration-tests/test/svg.js | 57 ++++++++++++ packages/transformers/svg/src/dependencies.js | 90 ++++++++++++++++++- .../svg/test/parseFuncIRI.test.js | 24 +++++ 11 files changed, 196 insertions(+), 6 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/svg/gradient.svg create mode 100644 packages/core/integration-tests/test/integration/svg/module.js create mode 100644 packages/core/integration-tests/test/integration/svg/path.svg create mode 100644 packages/core/integration-tests/test/integration/svg/script.js create mode 100644 packages/transformers/svg/test/parseFuncIRI.test.js diff --git a/packages/core/integration-tests/test/css.js b/packages/core/integration-tests/test/css.js index 766590d9439..d14513c48ff 100644 --- a/packages/core/integration-tests/test/css.js +++ b/packages/core/integration-tests/test/css.js @@ -319,7 +319,7 @@ describe('css', () => { assert.equal( css.trim(), `.svg-img { - background-image: url('data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%27120%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%2F%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%23blur-_.%21~%2a%29%22%20%2F%3E%0A%3C%2Fsvg%3E%0A'); + background-image: url('data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%3E%3C%2FfeGaussianBlur%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%27%23blur-_.%21~%2a%27%29%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A'); }`, ); }); diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index 3cb53488031..990a8344088 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -2442,7 +2442,7 @@ describe('html', function() { ); assert.equal( contents.trim(), - ``, + ``, ); }); diff --git a/packages/core/integration-tests/test/integration/svg/circle.svg b/packages/core/integration-tests/test/integration/svg/circle.svg index cd0514173c6..9a99def24bb 100644 --- a/packages/core/integration-tests/test/integration/svg/circle.svg +++ b/packages/core/integration-tests/test/integration/svg/circle.svg @@ -5,4 +5,12 @@ + + + + Quick brown fox jumps over the lazy dog. + + + diff --git a/packages/core/integration-tests/test/integration/svg/module.js b/packages/core/integration-tests/test/integration/svg/module.js index 367580709de..61f90cdfb52 100644 --- a/packages/core/integration-tests/test/integration/svg/module.js +++ b/packages/core/integration-tests/test/integration/svg/module.js @@ -1,2 +1,3 @@ +import './style.css'; import './script'; console.log('module'); diff --git a/packages/core/integration-tests/test/integration/svg/style.css b/packages/core/integration-tests/test/integration/svg/style.css new file mode 100644 index 00000000000..cb771a383a0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg/style.css @@ -0,0 +1,3 @@ +circle { + fill: red; +} diff --git a/packages/core/integration-tests/test/svg.js b/packages/core/integration-tests/test/svg.js index 308e88c4995..302a26a1f9c 100644 --- a/packages/core/integration-tests/test/svg.js +++ b/packages/core/integration-tests/test/svg.js @@ -39,6 +39,10 @@ describe('svg', function() { type: 'js', assets: ['module.js', 'script.js'], }, + { + type: 'css', + assets: ['style.css'], + }, ]); let file = await outputFS.readFile( @@ -81,6 +85,13 @@ describe('svg', function() { )}"`, ), ); + assert( + file.includes( + ` b.type === 'css').filePath, + )}"?>`, + ), + ); }); it('should minify SVG bundles', async function() { @@ -154,16 +165,38 @@ describe('svg', function() { type: 'css', assets: ['img.svg', 'test.css'], }, + { + type: 'css', + assets: ['img.svg'], + }, { name: 'img.svg', assets: ['img.svg'], }, + { + type: 'svg', + assets: ['gradient.svg'], + }, + { + type: 'js', + assets: ['img.svg', 'script.js'], + }, ]); const svg = await outputFS.readFile(path.join(distDir, 'img.svg'), 'utf8'); assert(!svg.includes('@import')); assert(svg.includes(':root {\n fill: red\n}')); + assert( + svg.includes( + `"fill: url(${path.basename( + b.getBundles().find(b => b.name.startsWith('gradient')).filePath, + )}#myGradient)"`, + ), + ); + assert(svg.includes(' - - -

Hello, World!

- - -``` +* [Building a webapp with Parcel](https://v2.parceljs.org/getting-started/webapp/) +* [Building a library with Parcel](https://v2.parceljs.org/getting-started/library/) +* [Migrating from Parcel v1](https://v2.parceljs.org/getting-started/migration/) ## Documentation - - - - -- [Introduction](#introduction) -- [Parcel CLI](#parcel-cli) - - [CLI Args & Flags](#cli-args--flags) - - [`parcel serve`](#parcel-serve) - - [`parcel watch`](#parcel-watch) - - [`parcel build`](#parcel-build) - - [`[...entries]`](#entries) - - [`--target [name]`](#--target-name) - - [`--open, -o [browser]`](#--open--o-browser) - - [`--host `](#--host-host) - - [`--port , -p`](#--port-port--p) - - [`--https`](#--https) - - [`--cert `](#--cert-path) - - [`--key `](#--key-path) - - [`--dist-dir `](#--dist-dir-dir) - - [`--cache-dir `, `--no-cache`](#--cache-dir-dir---no-cache) - - [`--config `](#--config-path) - - [`--hot`, `--no-hot`](#--hot---no-hot) - - [`--hot-host `](#--hot-host-hostname) - - [`--hot-port `](#--hot-port-port) - - [`--[no-]source-maps`](#--no-source-maps) - - [`--autoinstall [npm/yarn], --no-autoinstall`](#--autoinstall-npmyarn---no-autoinstall) - - [`--log-level `](#--log-level-level) - - [`--version, -v, -V`](#--version--v--v) - - [`--help, -h`](#--help--h) -- [Parcel Config](#parcel-config) - - [Configuring external tools](#configuring-external-tools) - - [Configuring Parcel](#configuring-parcel) - - [`package.json`](#packagejson) - - [`package.json#name`](#packagejsonname) - - [`package.json#version`](#packagejsonversion) - - [`package.json#main`](#packagejsonmain) - - [`package.json#module`](#packagejsonmodule) - - [`package.json#browser`](#packagejsonbrowser) - - [`package.json#source`](#packagejsonsource) - - [`package.json#browserslist`](#packagejsonbrowserslist) - - [`package.json#engines`](#packagejsonengines) - - [`package.json#targets`](#packagejsontargets) - - [`package.json#alias`](#packagejsonalias) - - [`.parcelrc`](#parcelrc) - - [Glob maps in `.parcelrc`](#glob-maps-in-parcelrc) - - [`.parcelrc#extends`](#parcelrcextends) - - [`.parcelrc#resolvers`](#parcelrcresolvers) - - [`.parcelrc#transformers`](#parcelrctransformers) - - [`.parcelrc#bundler`](#parcelrcbundler) - - [`.parcelrc#namers`](#parcelrcnamers) - - [`.parcelrc#runtimes`](#parcelrcruntimes) - - [`.parcelrc#packagers`](#parcelrcpackagers) - - [`.parcelrc#optimizers`](#parcelrcoptimizers) - - [`.parcelrc#reporters`](#parcelrcreporters) - - [`.parcelrc#validators`](#parcelrcvalidators) -- [Parcel Architecture](#parcel-architecture) - - [Phases of Parcel](#phases-of-parcel) - - [Asset Graph](#asset-graph) - - [Bundles](#bundles) - - [Sources](#sources) - - [Targets](#targets) - - [Target Configuration](#target-configuration) - - [Environments](#environments) - - [Caching](#caching) -- [Asset Resolution](#asset-resolution) - - [Local Paths](#local-paths) - - [Package Paths](#package-paths) - - [URLs](#urls) - - [Tilde Paths](#tilde-paths) - - [Aliases](#aliases) -- [Plugins](#plugins) - - [Resolvers](#resolvers) - - [Transformers](#transformers) - - [Bundlers](#bundlers) - - [Namers](#namers) - - [Runtimes](#runtimes) - - [Packagers](#packagers) - - [Optimizers](#optimizers) - - [Reporters](#reporters) - - [Validators](#validators) -- [Creating Plugins](#creating-plugins) - - [Naming](#naming) - - [Versioning](#versioning) - - [Engines](#engines) -- [Plugin APIs](#plugin-apis) - - [Resolvers](#resolvers-1) - - [Transformers](#transformers-1) - - [Bundler](#bundler) - - [Namers](#namers-1) - - [Runtimes](#runtimes-1) - - [Packagers](#packagers-1) - - [Optimizers](#optimizers-1) - - [Reporters](#reporters-1) - - [Validators](#validators-1) - - - -## Introduction - -Parcel is a compiler for all your code, regardless of the language or toolchain. - -Parcel takes all of your files and dependencies, transforms them, and merges -them together into a smaller set of output files that can be used to run your -code. - -Parcel supports many different languages and file types out of the box, from -web technologies like HTML, CSS, and JavaScript, to lower level languages like -Rust, and anything that compiles to WebAssembly (WASM), to assets like images, -fonts, videos, and more. - -Parcel makes your code portable. You can build your code for different -environments, for the web for your server, or for an app. You can even build -multiple targets at once and have them live update as you make changes. - -Parcel is fast and predictable. It compiles all of your files in isolation in -parallel inside workers, caching all of them as it goes along. Caches are -stable across machines and are only affected by the files and configs within -your project (unless you want to pass specific environment variables). - -## Parcel CLI - -The Parcel CLI is built into the main `parcel` package. While you can install -it globally and run it, it is much better to install it locally into your -project as a dev dependency. - -```sh -yarn add --dev parcel@next -``` - -You should also add some "scripts" to your `package.json` to run it easier. - -```json -{ - "name": "my-project", - "scripts": { - "build": "parcel build index.html", - "start": "parcel serve index.html" - }, - "devDependencies": { - "parcel": "latest" - } -} -``` - -Now you can run `yarn build` to bundle your project for production and -`yarn start` to dev on your project. - -### CLI Args & Flags - -Usage: - -```sh -$ parcel [command] [...entries] [...flags] -``` - -#### `parcel serve` - -Serve assets on a local server. - -#### `parcel watch` - -Watch and rebuild code on file changes. - -#### `parcel build` - -Build code once, in production mode. - -#### `[...entries]` - -Entry files to start bundling, these will be preserved as entry points in the -output. Defaults to `package.json#source`, falling back to `src/index.*` or -`index.*`. See [#Sources](#sources). - -#### `--target [name]` - -Specifies a specific target to build. If unspecified, Parcel builds all -targets specified in package.json. See [#Targets](#targets). - -#### `--open, -o [browser]` - -Open your local server in a browser. You can optionally pass the name of the -browser you want to open, otherwise it will use your default browser. - -#### `--host ` - -Configure the host to serve assets on. The default is to listen on all interfaces. - -#### `--port , -p` - -Configure the port to serve assets on. Alternatively you can use the `$PORT` -environment variable. - -#### `--https` - -This will generate a local certificate (which will be untrusted by your -browser, you'll need to approve it) and serve your assets over `https://` - -##### `--cert ` - -Specify the filepath to your SSL certificate when using `--https`. - -##### `--key ` - -Specify the filepath to your SSL key when using `--https`. - -#### `--dist-dir ` - -Configure the directory where compiled assets are output. Default is `./dist`. - -#### `--cache-dir `, `--no-cache` - -Configure the cache directory with `--cache ` or disable it altogether -with `--no-cache`. - -#### `--config ` -specify which config to use. can be a path or a package name. -`--config ../.myparcelrc` or `--config @parcel/config-default` - -#### `--hot`, `--no-hot` - -Turn hot reloading on or off. - -##### `--hot-host ` - -Configure the hot reloading hostname. - -##### `--hot-port ` - -Configure the hot reloading port. - -#### `--[no-]source-maps` - -Turn source maps on or off. Source maps are turned on by default. - -#### `--autoinstall [npm/yarn], --no-autoinstall` - -When enabled, whenever Parcel discovers a dependency that isn't installed it -will attempt to install it with either npm or Yarn (defaults to npm unless a -`yarn.lock` exists). - -#### `--log-level ` - -Set the log level, either either "none", "error", "warn", "info", or "verbose". -The default is "info". - -#### `--version, -v, -V` - -Return the current version of Parcel. - -#### `--help, -h` - -Get help with the CLI. - -## Parcel Config - -Parcel has always and will always work out of the box for many projects with -zero configuration. It should always be extremely simple to get started. But if -you do want more control, we give you the tools to do so. - -### Configuring external tools - -A huge part of what Parcel does is run other tools over your code. Instead of -pulling all that configuration into Parcel, we make use of their own -configuration systems. So if you're using Babel, you should just use `.babelrc` -files to configure it. - -When we do need to introduce config, we create tool specific config files in -order to do so. - -### Configuring Parcel - -When you do need to configure Parcel, it will be in one of 3 places. - -- If you need to configure the CLI, it will be a CLI flag -- If you need to configure your package, it will be in the `package.json` -- If you need to configure something with your files or the Parcel asset - pipeline, it will be in `.parcelrc` - -### `package.json` - -[todo] - -```json -{ - "name": "foo", - "main": "dist/main/index.js", - "module": "dist/module/index.js", - "browser": "dist/browser/index.js", - "browserslist": ["> 1%", "not dead"], - "engines": { - "node": ">=4.x" - }, - "source": "src/index.js", - "targets": { - "main": { - "engines": { - "node": ">=4.x" - } - }, - "module": { - "engines": { - "node": ">=8.x" - } - }, - "browser": { - "engines": { - "browsers": ["> 1%", "not dead"] - } - } - }, - "alias": { - "react": "preact-compat", - "react-dom": "preact-compat" - } -} -``` - -#### `package.json#name` - -**(Required)** The name of the package is always required in order to be -considered a valid `package.json`. - -```json -{ - "name": "my-package" -} -``` - -#### `package.json#version` - -**(Required)** All packages inside `node_modules` must have a `package.json#version`. - -```json -{ - "version": "1.0.0" -} -``` - -#### `package.json#main` - -This is the "main" target's entry point for the package, by default in library mode (doesn't bundle dependencies). - -```json -{ - "main": "dist/main/index.js" -} -``` - -See [Targets](#targets) - -#### `package.json#module` - -This is the "module" target's entry point for the package, by default in library mode (doesn't bundle dependencies). - -```json -{ - "module": "dist/module/index.js" -} -``` - -See [Targets](#targets) - -#### `package.json#browser` - -This is the "browser" target's entry point for the package, by default in library mode (doesn't bundle dependencies). - -```json -{ - "browser": "dist/browser/index.js" -} -``` - -See [Targets](#targets) - -#### `package.json#source` - -Specify the entry points for your source code which gets mapped to your -targets. - -```json -{ - "source": "src/index.js", - "source": ["src/index.js", "src/index.html"] -} -``` - -See [Sources](#sources) - -#### `package.json#browserslist` - -As specified by Browserslist, this field is for specifying which transformers -should be applied to browser bundles. - -```json -{ - "browserslist": ["> 0.2%", "not dead"] -} -``` - -See [Environments](#environments) - -#### `package.json#engines` - -Specify what versions of what engines you want to support. - -```json -{ - "engines": { - "node": ">=4.x", - "electron": ">=2.x" - } -} -``` - -See [Environments](#environments) - -#### `package.json#targets` - -Configuration for individual targets. - -```json -{ - "targets": { - "main": { - "engines": { - "node": ">=4.x", - "electron": ">=2.x" - }, - }, - "browser": { - "engines": { - "browsers": ["> 1%", "not dead"] - } - } - } -} -``` - -See [Targets](#targets) - -#### `package.json#alias` - -Aliases asset names/paths to other assets. - -```json -{ - "alias": { - "react": "preact-compat", - "react-dom": "preact-compat" - } -} -``` - -See [Aliases](#aliases) - -### `.parcelrc` - -Your `.parcelrc` file will likely contain just a few fields (if you have one at -all), but here's an example of a `.parcelrc` file that contains every field: - -```json -{ - "extends": ["@parcel/config-default"], - "resolvers": ["@parcel/resolver-default"], - "transformers": { - "*.vue": ["@parcel/transformer-vue"], - "*.scss": ["@parcel/transformer-sass"], - "*.js": ["@parcel/transformer-babel"], - "*.css": ["@parcel/transformer-postcss"], - "*.html": ["@parcel/transformer-posthtml"] - }, - "bundler": "@parcel/bundler-default", - "namers": ["@parcel/namer-default"], - "runtimes": ["@parcel/runtime-js", "@parcel/runtime-browser-hmr"], - "packagers": { - "*.js": "@parcel/packager-js", - "*.css": "@parcel/packager-css", - "*.html": "@parcel/packager-html", - "*.wasm": "@parcel/packager-wasm", - "*.raw": "@parcel/packager-raw" - }, - "optimizers": { - "*.js": ["@parcel/optimizer-uglify"], - "*.css": ["@parcel/optimizer-cssnano"], - "*.html": ["@parcel/optimizer-htmlnano"], - "*.{png,jpg,jpeg,svg,...}": ["@parcel/optimizer-imagemin"] - }, - "reporters": ["@parcel/reporter-cli"] -} -``` - -#### Glob maps in `.parcelrc` - -Many config properties like `transformers` or `packagers` use objects as maps of -globs to package names. While objects in JSON are technically unordered, Parcel -does use the order to give globs priority when a file name is being tested -against them. - -```json -{ - "transformers": { - "icons/*.svg": ["highest-priority"], - "*.svg": ["lowest-priority"] - } -} -``` - -Here if we are trying to find a transform for the file `icons/home.svg`, we'll -work our way down the globs until we find a match, which would be -`icons/*.svg`, we never reach `*.svg`. - -#### `.parcelrc#extends` - -`extends` can either be a string or an array of strings that specify base -configs to extend. That base configuration can be the path to another -`.parcelrc` file or the name of a Parcel config package. - -```json -{ - "extends": "@parcel/config-default", - "extends": "../.parcelrc", - "extends": ["@parcel/config-default", "@company/parcel-config"] -} -``` - -When extending a config, Parcel does a shallow merge of the two configs. - -#### `.parcelrc#resolvers` - -`resolvers` is an array of strings that specifies the name of a Parcel resolver -package. - -```json -{ - "resolvers": ["@parcel/resolver-default"] -} -``` - -See [Resolvers](#resolvers) - -#### `.parcelrc#transformers` - -`transformers` is an object map of globs to arrays of Parcel transform packages. - -```json -{ - "transformers": { - "*.js": ["@parcel/transformer-babel"] - } -} -``` - -See [Transformers](#transformers) - -#### `.parcelrc#bundler` - -`bundler` is a string that specifies the name of a Parcel bundler package. - -```json -{ - "bundler": "@parcel/bundler-default" -} -``` - -See [Bundlers](#bundlers) - -#### `.parcelrc#namers` - -`namers` is an array of Parcel namer packages. - -```json -{ - "namers": ["@parcel/namer-default"] -} -``` - -See [Namers](#namers) - -#### `.parcelrc#runtimes` - -`runtimes` is an array of Parcel runtime packages. - -```json -{ - "runtimes": ["@parcel/runtime-js", "@parcel/runtime-browser-hmr"], -} -``` - -See [Runtimes](#runtimes) - -#### `.parcelrc#packagers` - -`packagers` is an object map of globs to Parcel packager packages. - -```json -{ - "packagers": { - "*.js": ["@parcel/packager-js"] - } -} -``` - -See [Packagers](#packagers) - -#### `.parcelrc#optimizers` - -`optimizers` is an object map of globs to arrays of Parcel optimizer packages. - -```json -{ - "optimizers": { - "*.js": ["@parcel/optimizer-uglify"] - } -} -``` - -See [Optimizers](#optimizers) - -#### `.parcelrc#reporters` - -`reporters` is an array of Parcel reporter packages. - -```json -{ - "reporters": ["@parcel/reporter-detailed"] -} -``` - -See [Reporters](#reporters). - -#### `.parcelrc#validators` - -`validators` is an object map of globs to arrays of Parcel validator packages. - -```json - - "validators": { - "*.ts": ["@parcel/validator-typescript"] - } -} -``` - -See [Validators](#validators). - -## Parcel Architecture - -Even if you aren't doing anything that complex, if you are going to use Parcel -a lot it makes sense to take some time and understand how it works. - -### Phases of Parcel - -At a high level Parcel runs through several phases: - -- Resolving -- Transforming -- Bundling -- Packaging -- Optimizing -- (Validating) - -The **resolving** and **transforming** phases work together in parallel to -build a graph of all your assets. - -This asset graph gets translated into bundles in the **bundling** phase. - -Then the **packaging** phase takes the assets in the calculated bundles and -merges them together into files each containing an entire bundle. - -Finally, in the **optimizing** phase, Parcel takes these bundles files and runs -them through optimizing transforms. - -### Asset Graph - -During the resolving and transforming phases, Parcel discovers all the assets -in your app or program. Every asset can have its own dependencies on other -assets which Parcel will pull in. - -The data structure that represents all of these assets and their dependencies -on one another is known as "The Asset Graph". - -| Asset Name | Dependencies | -| ------------ | ------------------- | -| `index.html` | `app.css`, `app.js` | -| `app.css` | N/A | -| `app.js` | `navbar.js` | -| `navbar.js` | etc. | - -### Bundles - -Once Parcel has built the entire Asset Graph, it begins turning it into -"bundles". These bundles are groupings of assets that get placed together in a -single file. - -Bundles will (generally) contain only assets in the same language: - -| Bundle Name | Assets | -| ------------ | --------------------------- | -| `index.html` | `index.html` | -| `app.css` | `app.css` | -| `app.js` | `app.js`, `navbar.js`, etc. | - -Some assets are considered "entry" points into your app, and will stay as -separate bundles. For example, if your `index.html` file links to an -`about.html` file, they won't be merged together. - -| Bundle Name | Assets | Entry URL | -| ------------ | ------------ | --------- | -| `index.html` | `index.html` | `/` | -| `about.html` | `about.html` | `/about` | - -### Sources - -"Sources" are the files that contain the source code to your app before being -compiled by Parcel. - -Parcel discovers these sources by following their dependencies on one another -starting at your "entries". - -These entries will be one of: - -1. `$ parcel <...entries>` -2. `~/package.json#source` -3. `./src/index.*` -4. `./index.*` - -From there, everything those assets depend on will be considered a "source" in -Parcel. - -### Targets - -When Parcel runs, it can build your asset graph in multiple different ways -simultaneously. These are called "targets". - -For example, you could have a "modern" target that _targets_ newer browsers -and a "legacy" target for older browsers. - -Sources get mapped to targets, - -#### Target Configuration - -In the most explicit form, targets are configured via the -`package.json#targets` field. - -```js -{ - "app": "dist/browser/index.js", - "appModern": "dist/browserModern/index.js", - "targets": { - "app": { /* target env */ }, - "appModern": { /* target env */ } - } -} -``` - -Each target has a name which corresponds to a top-level `package.json` field -such as `package.json#main` or `package.json#browser` which specify the primary -entry point for that target. - -Inside each of those targets contains the target's environment configuration: - -| Option | Possible values | Description | -| -------------------- | --------------- | ----------- | -| `context` | `'node' \| 'browser' \| 'web-worker' \| 'electron-main' \| 'electron-renderer'` | Where the bundle should run | -| `includeNodeModules` | `boolean \| [String]` | Whether to bundle all/none/some `node_module` dependency | -| `outputFormat` | `'global' \| 'esmodule' \| 'commonjs'` | Which type of imports/exports should be emitted| -| `publicUrl` | `string` | The public url of the bundle at runtime | -| `isLibrary` | `boolean` | Library as in 'npm library' | -| `sourceMap` | `boolean \| {inlineSources?: boolean, sourceRoot?: string, inline?: boolean}` | Enable/disable sourcemap and set options -| `engines` | Engines | Same as `package.json#engines` | - - -However, a lot of the normal configuration you might want will already have -defaults provided for you: - -```cs -targets = { - main: { - engines: { - node: value("package.json#engines.node"), - browsers: unless exists("package.json#browser") then value("package.json#browserlist") - }, - isLibrary: true - }, - module: { - engines: { - node: value("package.json#engines.node"), - browsers: unless exists("package.json#browser") then value("package.json#browserlist") - }, - isLibrary: true - }, - browser: { - engines: { - browsers: value("package.json#browserslist") - }, - isLibrary: true - }, - ...value("package.json#targets"), -} -``` - -### Environments - -Environments tell Parcel how to transform and bundle each asset. They tell -Parcel if an asset is going to be run in a browser or in NodeJS/Electron. - -They also tell Parcel's transform plugins how they should run. They tell -[Babel](http://babeljs.io/docs/en/babel-preset-env#targetsbrowsers) or -[Autoprefixer](https://github.com/postcss/autoprefixer#browsers) what browsers -your asset is targetting. - -You can configure environments through your targets. - -```json -{ - "targets": { - "main": { - "engines": { - "node": ">=4.x", - "electron": ">=2.x", - "browsers": ["> 1%", "not dead"] - } - } - } -} -``` - -When one asset depends on another, the environment is inherited from its -parent. But how you depend on the asset can change some properties of that -environment. - -For example: - -```js -navigator.serviceWorker.register('./service-worker.js'); -``` - -```js -let childEnvironment = {...parentEnvironment, browserContext: 'service-worker'}; -``` - -### Caching - -Parcel will create a `/.parcel-cache` directory. It will be filled with -directories with two letters, which are the start of a hash which is finished -by the names of the JSON files inside. - -``` -/.parcel-cache - /00/ - 213debd8ddd45819b79a3a974ed487.json - 40ae9b581afc53841307a4b3c2463d.json - 63a9dd58fc1e8f8bb819759ea9793c.json - ... - /01/ - /../ - /zy/ - /zz/ -``` - -It follows this weird structure in order to avoid too many files being created -in a single directory, which degrades file system performance. - -## Asset Resolution - -Parcel follows the Node module resolution algorithm with a few additions. - -### Local Paths - -``` -./path/to/file -./path/to/file.js -``` - -These follow the [Node module resolution algorithm](https://nodejs.org/api/modules.html#modules_all_together). - -### Package Paths - -``` -preact -lodash/cloneDeep -@sindresorhus/is -``` - -These follow the [Node module resolution algorithm](https://nodejs.org/api/modules.html#modules_all_together). - -### URLs - -``` -https://unpkg.com/preact@8.2.9/dist/preact.min.js -``` - -Parcel by default will ignore URL dependencies, other resolver plugins may -choose to do something with them. - -### Tilde Paths - -``` -~/src/file.js -``` - -Only when used outside of `node_modules` directories, the `~` is replaced by an -absolute path to the closest package root: - -```sh -/path/to/app #(/package.json) -``` - -To form a path that looks like: - -``` -/path/to/app/src/file.js -``` - -Then it follows the [Node module resolution algorithm](https://nodejs.org/api/modules.html#modules_all_together). - -### Aliases - -Aliases come in two forms: - -1. Package Aliases: `react -> preact` -2. File/Directory Aliases: `utils` -> `./src/utils` - -```json -{ - "name": "my-project", - "alias": { - "react": "preact-compat", - "react-dom": "preact-compat", - "utils": "./src/utils", - "components": "./src/components" - } -} -``` - -There are a couple of rules: - -1. Aliases will only be respected when specified outside of `node_modules`. -2. Aliases specified outside of `node_modules` will affect assets inside of `node_modules`. -3. Aliases cannot build off of other aliases. -4. Only one alias will be applied at a time. -5. Aliases must be valid npm package names. - -## Plugins - -### Resolvers - -When one asset depends on another through an asset specifier, the resolver is -responsible for determining what asset is being requested. - -See [Asset Resolution](#asset-resolution) for more details. - -```json -{ - "resolvers": ["@parcel/resolver-v1"] -} -``` - -**Official Resolvers:** - -- `@parcel/resolver-v1` - -### Transformers - -transformers _transform_ single assets as they are discovered and added to the -asset graph. They mostly call out to different compilers and preprocessors. - -```json -{ - "transformers": { - "*.js": ["@parcel/transformer-babel"] - } -} -``` - -**Official Transformers:** - -- `@parcel/transformer-babel` -- `@parcel/transformer-coffeescript` -- `@parcel/transformer-glsl` -- `@parcel/transformer-graphql` -- `@parcel/transformer-json` -- `@parcel/transformer-json5` -- `@parcel/transformer-less` -- `@parcel/transformer-posthtml` -- `@parcel/transformer-postcss` -- `@parcel/transformer-pug` -- `@parcel/transformer-raw` -- `@parcel/transformer-reason` -- `@parcel/transformer-rust` -- `@parcel/transformer-stylus` -- `@parcel/transformer-toml` -- `@parcel/transformer-typescript` -- `@parcel/transformer-vue` -- `@parcel/transformer-wasm` -- `@parcel/transformer-webmanifest` -- `@parcel/transformer-yaml` -- `@parcel/transformer-elm` -- ... - -### Bundlers - -Bundlers accept the entire asset graph and turn it into sets of bundles. - -```json -{ - "bundler": "@parcel/bundler-default" -} -``` - -**Official Bundlers:** - -- `@parcel/bundler-default` - -### Namers - -Namers accept a bundle and return a filename for that bundle. - -```json -{ - "namers": ["@parcel/namer-default"] -} -``` - -**Official Namers:** - -- `@parcel/namer-default` - -### Runtimes - -Runtimes get called after the bundler phase and generate an asset which gets -included in the final bundle. - -```json -{ - "runtimes": ["@parcel/runtime-js", "@parcel/runtime-browser-hmr"] -} -``` - -**Official Runtimes:** - -- `@parcel/runtime-js` -- `@parcel/runtime-hmr` - -### Packagers - -Packagers determine how to merge different asset types into a single bundle. - -```json -{ - "packagers": { - "*.css": "@parcel/packager-css" - } -} -``` - -**Official Packagers:** - -- `@parcel/packager-html` -- `@parcel/packager-js` -- `@parcel/packager-css` -- `@parcel/packager-wasm` -- `@parcel/packager-raw` - -### Optimizers - -Optimizers are similar to transformers, but they accept a bundle instead -of a single asset. - -```json -{ - "optimizers": { - "*.js": ["@parcel/optimizer-terser"], - "*.css": ["@parcel/optimizer-csso"] - } -} -``` - -**Official Optimizers:** - -- `@parcel/packager-terser` -- `@parcel/packager-csso` -- [todo] - -### Reporters - -Reporters receive events as they happen and can either use the Parcel logger to -output to stdout/stderr or they can return assets to be generated on the file -system. - -```json -{ - "reporters": ["@parcel/reporter-cli", "@parcel/reporter-dev-server"] -} -``` - -**Official Reporters:** - -- `@parcel/reporter-cli` -- `@parcel/reporter-dev-server` -- [todo] - -### Validators - -Validators emit errors for source code after a build is completed. -For example, type checking and linting. - -```json -{ - "validators": { - "*.ts": ["@parcel/validator-typescript"] - } -} -``` - -**Official Validators:** - -- `@parcel/validator-typescript` -- `@parcel/validator-eslint` -- [todo] - -## Creating Plugins - -### Naming - -All plugins must follow a naming system: - -| | Official package | Community packages | Private company/scoped team packages | -| ---------- | -------------------------- | ------------------------- | ------------------------------------ | -| Configs | `@parcel/config-{name}` | `parcel-config-{name}` | `@scope/parcel-config[-{name}]` | -| Resolvers | `@parcel/resolver-{name}` | `parcel-resolver-{name}` | `@scope/parcel-resolver[-{name}]` | -| Transformers | `@parcel/transformer-{name}` | `parcel-transformer-{name}` | `@scope/parcel-transformer[-{name}]` | -| Bundlers | `@parcel/bundler-{name}` | `parcel-bundler-{name}` | `@scope/parcel-bundler[-{name}]` | -| Namers | `@parcel/namer-{name}` | `parcel-namer-{name}` | `@scope/parcel-namer[-{name}]` | -| Runtimes | `@parcel/runtime-{name}` | `parcel-runtime-{name}` | `@scope/parcel-runtime[-{name}]` | -| Packagers | `@parcel/packager-{name}` | `parcel-packager-{name}` | `@scope/parcel-packager[-{name}]` | -| Optimizers | `@parcel/optimizer-{name}` | `parcel-optimizer-{name}` | `@scope/parcel-optimizer[-{name}]` | -| Reporters | `@parcel/reporter-{name}` | `parcel-reporter-{name}` | `@scope/parcel-reporter[-{name}]` | -| Validators | `@parcel/validator-{name}` | `parcel-validator-{name}`| `@scope/parcel-validator[-{name}]` | - -The `{name}` must be descriptive and directly related to the purpose of the -package. Someone should be able to have an idea of what the package does simply -by reading the name in a `.parcelrc` or `package.json#devDependencies`. - -``` -parcel-transformer-posthtml -parcel-packager-wasm -parcel-reporter-graph-visualizer -``` - -If your plugin adds support for a specific tool, please use the name of the -tool. - -``` -parcel-transformer-es6 (bad) -parcel-transformer-babel (good) -``` - -If your plugin is a reimplementation of something that exists, try naming it -something that explains why it is a separate: - -``` -parcel-transformer-better-typescript (bad) -parcel-transformer-typescript-server (good) -``` - -We ask that community members work together and when forks happen to try and -resolve them. If someone made a better version of your plugin, please consider -giving the better package name over, have them make a major version bump, and -redirect people to the new tool. - -### Versioning - -You must follow semantic versioning (to the best of your ability). No, it's not -the perfect system, but it's the best one we have and people do depend on it. - -If plugin authors intentionally don't follow semantic versioning, Parcel may -start warning users that they should be locking down the version number for -your plugin. - -> Warning: The plugin "parcel-transform-typescript" does not follow semantic -> versioning. You should lock the version range down so your code does not -> break when they make changes. Please upvote this issue to encourage them to -> follow semver: https://github.com/user/parcel-transform-typescript/issues/43 - -### Engines - -You must specify a `package.json#engines.parcel` field with the version range -of Parcel that your plugin supports: - -```json -{ - "name": "parcel-transform-imagemin", - "engines": { - "parcel": "2.x" - } -} -``` - -If you do not specify this field, Parcel will output a warning: - -``` -Warning: The plugin "parcel-transform-typescript" needs to specify a `package.json#engines.parcel` field with the supported Parcel version range. -``` - -If you do specify the parcel engine field and the user is using an incompatible -version of Parcel, they will see an error: - -``` -Error: The plugin "parcel-transform-typescript" is not compatible with the -current version of Parcel. Requires "2.x" but the current version is "3.1.4" -``` - -Parcel uses node-semver to match version ranges. - -## Plugin APIs - -There are several different types of plugins. They all look very similar, but -are kept separate so we can have strict contracts one what each one is allowed -to do. - -There are some rules that should be followed across every type of plugin: - -- **Stateless** — Avoid any kind of state, it will likely be the source of bugs - for your users. For example, the same transform may exist in multiple - separate workers which are not allowed to communicate with one another, state - will not work as expected. -- **Pure** — Given the same input, a plugin must produce the same output, and - you must not have any observable side effects, or implicit dependencies. - Otherwise Parcel's caching will break and your users will be sad. You should - never have to tell users to delete their caches. - -The plugin APIs all follow a common shape: - -```js -import {NameOfPluginType} from '@parcel/plugin'; - -export default new NameOfPluginType({ - async methodName(opts: JSONObject): Promise { - return result; - } -}); -``` - -They are made up of modules with well-known named exports of async functions -that: - -- Accept a strictly validated JSON-serializable `opts` object. -- Return a strictly validated JSON-serializable `vals` object. - -If something you need is not being passed through `opts`, please come talk to -the Parcel team about it. Avoid trying to get information yourself from other -sources, especially from the file system. - -### Resolvers - -Resolvers get called with an asset request (consisting of a source file path -and the specifier of what is being requested) which it then attempts to -resolve. If the resolver isn't sure how to handle a request, it can also return -`null` and pass it to the next resolver in the chain. - -```js -import {Resolver} from '@parcel/plugin'; - -export default new Resolver({ - async resolve({dependency}) { - // ... - return {filePath} || null; - } -}); -``` - -### Transformers - -Transformers _transform_ single assets as they are discovered and added to the -asset graph. They mostly call out to different compilers and preprocessors. - -```js -import {Transform} from '@parcel/plugin'; - -export default new Transform({ - async parse({asset}) { - // ... - return ast; - }, - - async transform({asset}) { - // ... - return [assets]; - }, - - async generate({asset}) { - // ... - return {code, map}; - } -}); -``` - -### Bundler - -Bundlers accept the entire asset graph and modify it to add bundle nodes that group the assets -into output bundles. - -```js -import {Bundler} from '@parcel/plugin'; - -export default new Bundler({ - async bundle({graph}) { - // ... - }, - - async optimize({graph}) { - // ... - } -}); -``` - -### Namers - -Namers accept a bundle and output a filename for that bundle. - -```js -import {Namer} from '@parcel/plugin'; - -export default new Namer({ - async name({bundle, bundleGraph}) { - // ... - return name; - } -}); -``` - -### Runtimes - -Runtimes accept a bundle and return assets to be inserted into that bundle. - -```js -import {Runtime} from '@parcel/runtime'; - -export default new Runtime({ - async apply({bundle, bundleGraph}) { - // ... - return assets; - } -}); -``` - -### Packagers - -Packagers determine how to merge different asset types into a single bundle. - -```js -import {Packager} from '@parcel/plugin'; - -export default new Packager({ - async package({bundle}) { - // ... - return {contents, map}; - }, -}); -``` - -### Optimizers - -Optimizers are similar to transformers, but they accept a bundle instead -of a single asset. - -```js -import {Optimizer} from '@parcel/plugin'; - -export default new Optimizer({ - async optimize({bundle, contents, map}) { - // ... - return {contents, map}; - } -}); -``` - -### Reporters - -Reporters receive events as they happen and can output to stdout/stderr, -or perform other actions. - -```js -import {Reporter} from '@parcel/plugin'; +Read the docs at https://v2.parceljs.org/docs/. -export default new Reporter({ - async report({ event: { type, ... } }) { - // ... - } -}); -``` +## Community -### Validators +- ❓ Ask questions on [GitHub Discussions](https://github.com/parcel-bundler/parcel/discussions). +- 💬 Join the community on [Discord](https://discord.gg/XSCzqGRuvr). +- 📣 Stay up to date on new features and announcements on [Twitter](https://twitter.com/parceljs). -Validators receive an asset, and can throw errors if that asset is invalid -in some way, e.g. type errors or linting errors. +## Contributors -```js -import {Validator} from '@parcel/plugin'; +This project exists thanks to all the people who contribute. [[Contribute]](CONTRIBUTING.md). +contributors -export default new Validator({ - async validate({asset}) { - // ... - throw error; - } -}); -``` -Some validators (such as `@parcel/validator-typescript`) may wish to maintain a project-wide cache for efficiency. For these cases, it is appropriate to use a different interface where parcel hands _all_ changed files to the validator at the same time: +## Backers -```js -import {Validator} from '@parcel/plugin'; +Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/parcel#backer)] -export default new Validator({ - async validateAll({assets}) { - // ... - throw error; - } -}); -``` + -If your plugin implements `validateAll`, Parcel will make sure to always invoke this method on the same thread (so that your cache state is accessible). +## Sponsors -## License +Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/parcel#sponsor)] -This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/parcel-bundler/parcel/blob/v2/LICENSE) file for details + + + + + + + + + + From 8671ded09fc065938507c5bb512c1f81522a32ae Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 5 Oct 2021 05:02:37 +0200 Subject: [PATCH 0059/1076] Don't rename export default declarations when wrapping the asset (#7014) --- .../es6/export-default-class-wrapped/a.js | 3 ++ .../es6/export-default-class-wrapped/b.js | 4 +++ .../es6/export-default-function-wrapped/a.js | 3 ++ .../es6/export-default-function-wrapped/b.js | 4 +++ .../integration-tests/test/scope-hoisting.js | 24 +++++++++++++++ packages/transformers/js/core/src/hoist.rs | 29 +++++++++++++++++-- 6 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-class-wrapped/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-class-wrapped/b.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-function-wrapped/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-function-wrapped/b.js diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-class-wrapped/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-class-wrapped/a.js new file mode 100644 index 00000000000..1c9964afff3 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-class-wrapped/a.js @@ -0,0 +1,3 @@ +import b from "./b.js"; + +output = b; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-class-wrapped/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-class-wrapped/b.js new file mode 100644 index 00000000000..3dcde09a416 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-class-wrapped/b.js @@ -0,0 +1,4 @@ +export default class Log {} +Log.VERSION = 1234; + +sideEffectNoop(module) diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-function-wrapped/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-function-wrapped/a.js new file mode 100644 index 00000000000..1c9964afff3 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-function-wrapped/a.js @@ -0,0 +1,3 @@ +import b from "./b.js"; + +output = b; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-function-wrapped/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-function-wrapped/b.js new file mode 100644 index 00000000000..93804e2c784 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/export-default-function-wrapped/b.js @@ -0,0 +1,4 @@ +export default function log(){} +log.VERSION = 1234; + +sideEffectNoop(module) diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index 4a53c269ecd..7c9ffd32854 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -626,6 +626,30 @@ describe('scope hoisting', function() { assert.deepEqual(output, ['test']); }); + it('should default export classes when wrapped', async function() { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/export-default-class-wrapped/a.js', + ), + ); + + let output = await run(b); + assert.strictEqual(output.VERSION, 1234); + }); + + it('should default export functions when wrapped', async function() { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/export-default-function-wrapped/a.js', + ), + ); + + let output = await run(b); + assert.strictEqual(output.VERSION, 1234); + }); + it('should default export globals', async function() { let b = await bundle( path.join( diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index e114daaead7..f8d7bca3876 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -308,12 +308,20 @@ impl<'a> Fold for Hoist<'a> { ModuleDecl::ExportDefaultDecl(export) => { let decl = match export.decl { DefaultDecl::Class(class) => Decl::Class(ClassDecl { - ident: self.get_export_ident(DUMMY_SP, &"default".into()), + ident: if self.collect.should_wrap && class.ident.is_some() { + class.ident.unwrap() + } else { + self.get_export_ident(DUMMY_SP, &"default".into()) + }, declare: false, class: class.class.fold_with(self), }), DefaultDecl::Fn(func) => Decl::Fn(FnDecl { - ident: self.get_export_ident(DUMMY_SP, &"default".into()), + ident: if self.collect.should_wrap && func.ident.is_some() { + func.ident.unwrap() + } else { + self.get_export_ident(DUMMY_SP, &"default".into()) + }, declare: false, function: func.function.fold_with(self), }), @@ -3065,6 +3073,23 @@ mod tests { "#} ); + let (_collect, code, hoist) = parse( + r#" + console.log(module); + export default class X {} + "#, + ); + + assert!(hoist.should_wrap); + assert_eq!( + code, + indoc! {r#" + console.log(module); + class X { + } + "#} + ); + let (_collect, code, _hoist) = parse( r#" export var x = 2, y = 3; From 198aebff2417911179e17fba1c7eae6f56a2bc38 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 5 Oct 2021 05:04:11 +0200 Subject: [PATCH 0060/1076] Handle module.require with scope-hoisting (#7012) --- .../scope-hoisting/commonjs/module-require/a.js | 1 + .../scope-hoisting/commonjs/module-require/b.js | 1 + .../scope-hoisting/commonjs/module-require/yarn.lock | 0 .../core/integration-tests/test/scope-hoisting.js | 12 ++++++++++++ .../transformers/js/core/src/dependency_collector.rs | 4 +++- packages/transformers/js/core/src/hoist.rs | 4 ++++ packages/transformers/js/core/src/utils.rs | 11 +++++++++++ 7 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/b.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/yarn.lock diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/a.js new file mode 100644 index 00000000000..5455e45f4a7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/a.js @@ -0,0 +1 @@ +output = module.require("./b.js"); diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/b.js new file mode 100644 index 00000000000..c04ea430ae1 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/b.js @@ -0,0 +1 @@ +module.exports.b = 2; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/yarn.lock b/packages/core/integration-tests/test/integration/scope-hoisting/commonjs/module-require/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index 7c9ffd32854..7b0e9a9b153 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -4395,6 +4395,18 @@ describe('scope hoisting', function() { assert.strictEqual(output, 'Say other'); }); + it('supports using module.require like require', async function() { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/commonjs/module-require/a.js', + ), + ); + + let output = await run(b); + assert.strictEqual(output.b, 2); + }); + it('support url imports in wrapped modules with interop', async function() { let b = await bundle( path.join( diff --git a/packages/transformers/js/core/src/dependency_collector.rs b/packages/transformers/js/core/src/dependency_collector.rs index a8347af897d..dccb844d581 100644 --- a/packages/transformers/js/core/src/dependency_collector.rs +++ b/packages/transformers/js/core/src/dependency_collector.rs @@ -429,7 +429,9 @@ impl<'a> Fold for DependencyCollector<'a> { } } Member(member) => { - if self.config.is_browser + if match_member_expr(member, vec!["module", "require"], self.decls) { + DependencyKind::Require + } else if self.config.is_browser && match_member_expr( member, vec!["navigator", "serviceWorker", "register"], diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index f8d7bca3876..8177ea42185 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -1400,6 +1400,10 @@ impl Visit for Collect { return; } + if match_member_expr(node, vec!["module", "require"], &self.decls) { + return; + } + let is_static = match &*node.prop { Expr::Ident(_) => !node.computed, Expr::Lit(Lit::Str(_)) => true, diff --git a/packages/transformers/js/core/src/utils.rs b/packages/transformers/js/core/src/utils.rs index 34d22c05017..94938bc759c 100644 --- a/packages/transformers/js/core/src/utils.rs +++ b/packages/transformers/js/core/src/utils.rs @@ -114,6 +114,17 @@ pub fn match_require( None } + Expr::Member(member) => { + if match_member_expr(member, vec!["module", "require"], decls) { + if let Some(arg) = call.args.get(0) { + if let Expr::Lit(Lit::Str(str_)) = &*arg.expr { + return Some(str_.value.clone()); + } + } + } + + None + } _ => None, }, _ => None, From 5c20290d31237fccf41e11ed5fdc167f4c41f98e Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Tue, 5 Oct 2021 08:51:52 -0700 Subject: [PATCH 0061/1076] Fix hash collision in generated variable names (#7017) --- packages/transformers/js/core/src/hoist.rs | 194 ++++++++++----------- 1 file changed, 97 insertions(+), 97 deletions(-) diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index 8177ea42185..b4f06591df9 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -1,7 +1,7 @@ use serde::{Deserialize, Serialize}; use std::collections::hash_map::DefaultHasher; use std::collections::{HashMap, HashSet}; -use std::hash::{Hash, Hasher}; +use std::hash::Hasher; use swc_atoms::JsWord; use swc_common::{sync::Lrc, Mark, Span, SyntaxContext, DUMMY_SP}; use swc_ecmascript::ast::*; @@ -22,7 +22,7 @@ macro_rules! id { macro_rules! hash { ($str:expr) => {{ let mut hasher = DefaultHasher::new(); - $str.hash(&mut hasher); + hasher.write($str.as_bytes()); hasher.finish() }}; } @@ -559,7 +559,7 @@ impl<'a> Fold for Hoist<'a> { match &**expr { Expr::Ident(ident) => { // import * as y from 'x'; OR const y = require('x'); OR const y = await import('x'); - // y.foo -> $id$import$10b1f2ceae7ab64e$y + // y.foo -> $id$import$d141bba7fdc215a3$y if let Some(Import { source, specifier, @@ -568,7 +568,7 @@ impl<'a> Fold for Hoist<'a> { }) = self.collect.imports.get(&id!(ident)) { // If there are any non-static accesses of the namespace, don't perform any replacement. - // This will be handled in the Ident visitor below, which replaces y -> $id$import$10b1f2ceae7ab64e. + // This will be handled in the Ident visitor below, which replaces y -> $id$import$d141bba7fdc215a3. if specifier == "*" && !self.collect.non_static_access.contains_key(&id!(ident)) && !self.collect.non_const_bindings.contains_key(&id!(ident)) @@ -2537,7 +2537,7 @@ mod tests { let $abc$var$test = { bar: 3 }; - console.log($abc$import$558d6cfb8af8a010$ba02ad2230917043, $abc$var$test.bar); + console.log($abc$import$70a00e0a8474f72a$6a5cdcad01c973fa, $abc$var$test.bar); "#} ); @@ -2552,7 +2552,7 @@ mod tests { code, indoc! {r#" import "abc:other"; - console.log($abc$import$558d6cfb8af8a010$3705fc5f2281438d); + console.log($abc$import$70a00e0a8474f72a$d927737047eb3867); "#} ); @@ -2567,7 +2567,7 @@ mod tests { code, indoc! {r#" import "abc:other"; - console.log($abc$import$558d6cfb8af8a010$9099ad97b570f7c, $abc$import$558d6cfb8af8a010$9099ad97b570f7c.bar); + console.log($abc$import$70a00e0a8474f72a$2e2bcd8739ae039, $abc$import$70a00e0a8474f72a$2e2bcd8739ae039.bar); "#} ); } @@ -2588,8 +2588,8 @@ mod tests { indoc! {r#" import "abc:other"; import "abc:bar"; - console.log($abc$import$558d6cfb8af8a010$9099ad97b570f7c); - console.log($abc$import$3705fc5f2281438d$9099ad97b570f7c); + console.log($abc$import$70a00e0a8474f72a$2e2bcd8739ae039); + console.log($abc$import$d927737047eb3867$2e2bcd8739ae039); "#} ); @@ -2609,10 +2609,10 @@ mod tests { indoc! {r#" import "abc:other"; import "abc:bar"; - console.log($abc$import$558d6cfb8af8a010$9099ad97b570f7c); + console.log($abc$import$70a00e0a8474f72a$2e2bcd8739ae039); import "abc:x"; - console.log($abc$import$10b1f2ceae7ab64e); - console.log($abc$import$3705fc5f2281438d$9099ad97b570f7c); + console.log($abc$import$d141bba7fdc215a3); + console.log($abc$import$d927737047eb3867$2e2bcd8739ae039); "#} ); } @@ -2631,7 +2631,7 @@ mod tests { indoc! {r#" const $abc$var$x = 4; import "abc:other"; - var $abc$require$bar = $abc$import$558d6cfb8af8a010$3705fc5f2281438d; + var $abc$require$bar = $abc$import$70a00e0a8474f72a$d927737047eb3867; const $abc$var$baz = 3; console.log($abc$require$bar); "#} @@ -2650,7 +2650,7 @@ mod tests { const $abc$var$x = 3; import "abc:other"; const $abc$var$bar = 2; - console.log($abc$import$558d6cfb8af8a010$3705fc5f2281438d); + console.log($abc$import$70a00e0a8474f72a$d927737047eb3867); "#} ); } @@ -2668,7 +2668,7 @@ mod tests { code, indoc! {r#" import "abc:other"; - const { foo: $abc$var$foo , ...$abc$var$bar } = $abc$import$558d6cfb8af8a010; + const { foo: $abc$var$foo , ...$abc$var$bar } = $abc$import$70a00e0a8474f72a; console.log($abc$var$foo, $abc$var$bar); "#} ); @@ -2684,7 +2684,7 @@ mod tests { code, indoc! {r#" import "abc:x"; - const { x: { y: $abc$var$z } } = $abc$import$10b1f2ceae7ab64e; + const { x: { y: $abc$var$z } } = $abc$import$d141bba7fdc215a3; console.log($abc$var$z); "#} ); @@ -2700,7 +2700,7 @@ mod tests { code, indoc! {r#" import "abc:other"; - console.log($abc$import$558d6cfb8af8a010[bar]); + console.log($abc$import$70a00e0a8474f72a[bar]); "#} ); @@ -2715,7 +2715,7 @@ mod tests { code, indoc! {r#" import "abc:other"; - console.log($abc$import$558d6cfb8af8a010[bar], $abc$import$558d6cfb8af8a010.baz); + console.log($abc$import$70a00e0a8474f72a[bar], $abc$import$70a00e0a8474f72a.baz); "#} ); } @@ -2741,7 +2741,7 @@ mod tests { code, indoc! {r#" import "abc:other"; - var $abc$require$foo = $abc$import$558d6cfb8af8a010$ba02ad2230917043; + var $abc$require$foo = $abc$import$70a00e0a8474f72a$6a5cdcad01c973fa; console.log($abc$require$foo); "#} ); @@ -2757,7 +2757,7 @@ mod tests { code, indoc! {r#" import "abc:other"; - const $abc$var$foo = $abc$import$558d6cfb8af8a010[bar]; + const $abc$var$foo = $abc$import$70a00e0a8474f72a[bar]; console.log($abc$var$foo); "#} ); @@ -2773,7 +2773,7 @@ mod tests { code, indoc! {r#" import "abc:other"; - const { foo: $abc$var$foo } = $abc$import$558d6cfb8af8a010$ba02ad2230917043; + const { foo: $abc$var$foo } = $abc$import$70a00e0a8474f72a$6a5cdcad01c973fa; console.log($abc$var$foo); "#} ); @@ -2796,7 +2796,7 @@ mod tests { indoc! {r#" import "abc:other"; function $abc$var$x() { - const foo = $abc$import$558d6cfb8af8a010; + const foo = $abc$import$70a00e0a8474f72a; console.log(foo.bar); } import "abc:bar"; @@ -2823,7 +2823,7 @@ mod tests { import "abc:other"; var $abc$var$foo = (function() { if (Date.now() < 0) { - var bar = $abc$import$558d6cfb8af8a010; + var bar = $abc$import$70a00e0a8474f72a; } })(); "#} @@ -2847,7 +2847,7 @@ mod tests { indoc! {r#" import "abc:other"; function $abc$var$x() { - const foo = $abc$import$558d6cfb8af8a010$ba02ad2230917043; + const foo = $abc$import$70a00e0a8474f72a$6a5cdcad01c973fa; console.log(foo); } "#} @@ -2866,7 +2866,7 @@ mod tests { indoc! {r#" import "abc:other"; function $abc$var$x() { - console.log($abc$import$558d6cfb8af8a010$ba02ad2230917043); + console.log($abc$import$70a00e0a8474f72a$6a5cdcad01c973fa); } "#} ); @@ -2885,7 +2885,7 @@ mod tests { indoc! {r#" import "abc:other"; function $abc$var$x() { - const foo = $abc$import$558d6cfb8af8a010[test]; + const foo = $abc$import$70a00e0a8474f72a[test]; console.log(foo); } "#} @@ -2905,7 +2905,7 @@ mod tests { indoc! {r#" import "abc:other"; function $abc$var$x() { - const { foo: foo } = $abc$import$558d6cfb8af8a010; + const { foo: foo } = $abc$import$70a00e0a8474f72a; console.log(foo); } "#} @@ -2922,7 +2922,7 @@ mod tests { indoc! {r#" import "abc:a"; import "abc:b"; - let $abc$var$x = $abc$import$7ac649919d1c80a6 + $abc$import$a91ade93898ecc38; + let $abc$var$x = $abc$import$407448d2b89b1813 + $abc$import$8b22cf2602fb60ce; "#} ); @@ -2937,7 +2937,7 @@ mod tests { indoc! {r#" import "abc:a"; import "abc:b"; - let $abc$var$x = (!$abc$import$7ac649919d1c80a6, $abc$import$a91ade93898ecc38); + let $abc$var$x = (!$abc$import$407448d2b89b1813, $abc$import$8b22cf2602fb60ce); "#} ); @@ -2952,7 +2952,7 @@ mod tests { indoc! {r#" import "abc:a"; import "abc:b"; - let $abc$var$x = $abc$import$7ac649919d1c80a6 || $abc$import$a91ade93898ecc38; + let $abc$var$x = $abc$import$407448d2b89b1813 || $abc$import$8b22cf2602fb60ce; "#} ); @@ -2967,7 +2967,7 @@ mod tests { indoc! {r#" import "abc:a"; import "abc:b"; - let $abc$var$x = condition ? $abc$import$7ac649919d1c80a6 : $abc$import$a91ade93898ecc38; + let $abc$var$x = condition ? $abc$import$407448d2b89b1813 : $abc$import$8b22cf2602fb60ce; "#} ); @@ -2981,7 +2981,7 @@ mod tests { code, indoc! {r#" import "abc:a"; - if (condition) $abc$import$7ac649919d1c80a6; + if (condition) $abc$import$407448d2b89b1813; "#} ); @@ -2995,7 +2995,7 @@ mod tests { code, indoc! {r#" import "abc:y"; - for(let x = $abc$import$57bbd0ca114c72e; x < 5; x++){ + for(let x = $abc$import$4a5767248b18ef41; x < 5; x++){ } "#} ); @@ -3015,8 +3015,8 @@ mod tests { assert_eq!( code, indoc! {r#" - let $abc$export$10b1f2ceae7ab64e = 3; - let $abc$export$57bbd0ca114c72e = 4; + let $abc$export$d141bba7fdc215a3 = 3; + let $abc$export$4a5767248b18ef41 = 4; let $abc$var$z = 6; "#} ); @@ -3030,7 +3030,7 @@ mod tests { assert_eq!( code, indoc! {r#" - var $abc$export$9099ad97b570f7c = 3; + var $abc$export$2e2bcd8739ae039 = 3; "#} ); @@ -3045,7 +3045,7 @@ mod tests { code, indoc! {r#" let $abc$var$x = 3; - var $abc$export$9099ad97b570f7c = $abc$var$x; + var $abc$export$2e2bcd8739ae039 = $abc$var$x; "#} ); @@ -3058,7 +3058,7 @@ mod tests { assert_eq!( code, indoc! {r#" - function $abc$export$9099ad97b570f7c() { + function $abc$export$2e2bcd8739ae039() { } "#} ); @@ -3072,7 +3072,7 @@ mod tests { assert_eq!( code, indoc! {r#" - class $abc$export$9099ad97b570f7c { + class $abc$export$2e2bcd8739ae039 { } "#} ); @@ -3103,7 +3103,7 @@ mod tests { assert_eq!( code, indoc! {r#" - var $abc$export$10b1f2ceae7ab64e = 2, $abc$export$57bbd0ca114c72e = 3; + var $abc$export$d141bba7fdc215a3 = 2, $abc$export$4a5767248b18ef41 = 3; "#} ); @@ -3118,9 +3118,9 @@ mod tests { assert_eq!( code, indoc! {r#" - var { x: $abc$export$10b1f2ceae7ab64e , ...$abc$export$57bbd0ca114c72e } = something; - var [$abc$export$e809c7c5e035fc81, ...$abc$export$51cf687b896afa97] = something; - var { x: $abc$export$10b1f2ceae7ab64e = 3 } = something; + var { x: $abc$export$d141bba7fdc215a3 , ...$abc$export$4a5767248b18ef41 } = something; + var [$abc$export$ffb5f4729a158638, ...$abc$export$9e5f44173e64f162] = something; + var { x: $abc$export$d141bba7fdc215a3 = 3 } = something; "#} ); @@ -3133,7 +3133,7 @@ mod tests { assert_eq!( code, indoc! {r#" - function $abc$export$fdd70aeca3bc8cbb() { + function $abc$export$e0969da9b8fb378d() { } "#} ); @@ -3147,7 +3147,7 @@ mod tests { assert_eq!( code, indoc! {r#" - class $abc$export$785fc6237f113e49 { + class $abc$export$1b16fc9eb974a84d { } "#} ); @@ -3190,8 +3190,8 @@ mod tests { assert_eq!( code, indoc! {r#" - var $abc$export$ba02ad2230917043; - $abc$export$ba02ad2230917043 = 2; + var $abc$export$6a5cdcad01c973fa; + $abc$export$6a5cdcad01c973fa = 2; "#} ); @@ -3204,8 +3204,8 @@ mod tests { assert_eq!( code, indoc! {r#" - var $abc$export$ba02ad2230917043; - $abc$export$ba02ad2230917043 = 2; + var $abc$export$6a5cdcad01c973fa; + $abc$export$6a5cdcad01c973fa = 2; "#} ); @@ -3220,9 +3220,9 @@ mod tests { assert_eq!( code, indoc! {r#" - var $abc$export$ba02ad2230917043; + var $abc$export$6a5cdcad01c973fa; function $abc$var$init() { - $abc$export$ba02ad2230917043 = 2; + $abc$export$6a5cdcad01c973fa = 2; } "#} ); @@ -3236,8 +3236,8 @@ mod tests { assert_eq!( code, indoc! {r#" - var $abc$export$ba02ad2230917043; - $abc$export$ba02ad2230917043 = 2; + var $abc$export$6a5cdcad01c973fa; + $abc$export$6a5cdcad01c973fa = 2; "#} ); @@ -3250,8 +3250,8 @@ mod tests { assert_eq!( code, indoc! {r#" - var $abc$export$ba02ad2230917043; - $abc$export$ba02ad2230917043 = 2; + var $abc$export$6a5cdcad01c973fa; + $abc$export$6a5cdcad01c973fa = 2; "#} ); @@ -3265,9 +3265,9 @@ mod tests { assert_eq!( code, indoc! {r#" - var $abc$export$ba02ad2230917043; - $abc$export$ba02ad2230917043 = 2; - console.log($abc$export$ba02ad2230917043); + var $abc$export$6a5cdcad01c973fa; + $abc$export$6a5cdcad01c973fa = 2; + console.log($abc$export$6a5cdcad01c973fa); "#} ); @@ -3281,9 +3281,9 @@ mod tests { assert_eq!( code, indoc! {r#" - var $abc$export$ba02ad2230917043; - $abc$export$ba02ad2230917043 = 2; - console.log($abc$export$ba02ad2230917043); + var $abc$export$6a5cdcad01c973fa; + $abc$export$6a5cdcad01c973fa = 2; + console.log($abc$export$6a5cdcad01c973fa); "#} ); } @@ -3444,13 +3444,13 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010$ba02ad2230917043") => (w!("other"), w!("foo")) + w!("$abc$importAsync$70a00e0a8474f72a$6a5cdcad01c973fa") => (w!("other"), w!("foo")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( @@ -3458,7 +3458,7 @@ mod tests { indoc! {r#" import "abc:other"; async function $abc$var$test() { - const x = await $abc$importAsync$558d6cfb8af8a010; + const x = await $abc$importAsync$70a00e0a8474f72a; console.log(x.foo); } "#} @@ -3475,13 +3475,13 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => (w!("other"), w!("*")) + w!("$abc$importAsync$70a00e0a8474f72a") => (w!("other"), w!("*")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( @@ -3489,7 +3489,7 @@ mod tests { indoc! {r#" import "abc:other"; async function $abc$var$test() { - const x = await $abc$importAsync$558d6cfb8af8a010; + const x = await $abc$importAsync$70a00e0a8474f72a; console.log(x[foo]); } "#} @@ -3506,13 +3506,13 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010$ba02ad2230917043") => (w!("other"), w!("foo")) + w!("$abc$importAsync$70a00e0a8474f72a$6a5cdcad01c973fa") => (w!("other"), w!("foo")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( @@ -3520,7 +3520,7 @@ mod tests { indoc! {r#" import "abc:other"; async function $abc$var$test() { - const { foo: foo } = await $abc$importAsync$558d6cfb8af8a010; + const { foo: foo } = await $abc$importAsync$70a00e0a8474f72a; console.log(foo); } "#} @@ -3537,13 +3537,13 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010$ba02ad2230917043") => (w!("other"), w!("foo")) + w!("$abc$importAsync$70a00e0a8474f72a$6a5cdcad01c973fa") => (w!("other"), w!("foo")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( @@ -3551,7 +3551,7 @@ mod tests { indoc! {r#" import "abc:other"; async function $abc$var$test() { - const { foo: bar } = await $abc$importAsync$558d6cfb8af8a010; + const { foo: bar } = await $abc$importAsync$70a00e0a8474f72a; console.log(bar); } "#} @@ -3565,20 +3565,20 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010$ba02ad2230917043") => (w!("other"), w!("foo")) + w!("$abc$importAsync$70a00e0a8474f72a$6a5cdcad01c973fa") => (w!("other"), w!("foo")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( code, indoc! {r#" import "abc:other"; - $abc$importAsync$558d6cfb8af8a010.then((x)=>x.foo + $abc$importAsync$70a00e0a8474f72a.then((x)=>x.foo ); "#} ); @@ -3591,20 +3591,20 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => (w!("other"), w!("*")) + w!("$abc$importAsync$70a00e0a8474f72a") => (w!("other"), w!("*")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( code, indoc! {r#" import "abc:other"; - $abc$importAsync$558d6cfb8af8a010.then((x)=>x + $abc$importAsync$70a00e0a8474f72a.then((x)=>x ); "#} ); @@ -3617,20 +3617,20 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010$ba02ad2230917043") => (w!("other"), w!("foo")) + w!("$abc$importAsync$70a00e0a8474f72a$6a5cdcad01c973fa") => (w!("other"), w!("foo")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( code, indoc! {r#" import "abc:other"; - $abc$importAsync$558d6cfb8af8a010.then(({ foo: foo })=>foo + $abc$importAsync$70a00e0a8474f72a.then(({ foo: foo })=>foo ); "#} ); @@ -3643,20 +3643,20 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010$ba02ad2230917043") => (w!("other"), w!("foo")) + w!("$abc$importAsync$70a00e0a8474f72a$6a5cdcad01c973fa") => (w!("other"), w!("foo")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( code, indoc! {r#" import "abc:other"; - $abc$importAsync$558d6cfb8af8a010.then(({ foo: bar })=>bar + $abc$importAsync$70a00e0a8474f72a.then(({ foo: bar })=>bar ); "#} ); @@ -3669,20 +3669,20 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010$ba02ad2230917043") => (w!("other"), w!("foo")) + w!("$abc$importAsync$70a00e0a8474f72a$6a5cdcad01c973fa") => (w!("other"), w!("foo")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( code, indoc! {r#" import "abc:other"; - $abc$importAsync$558d6cfb8af8a010.then(function(x) { + $abc$importAsync$70a00e0a8474f72a.then(function(x) { return x.foo; }); "#} @@ -3696,20 +3696,20 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => (w!("other"), w!("*")) + w!("$abc$importAsync$70a00e0a8474f72a") => (w!("other"), w!("*")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( code, indoc! {r#" import "abc:other"; - $abc$importAsync$558d6cfb8af8a010.then(function(x) { + $abc$importAsync$70a00e0a8474f72a.then(function(x) { return x; }); "#} @@ -3723,20 +3723,20 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010$ba02ad2230917043") => (w!("other"), w!("foo")) + w!("$abc$importAsync$70a00e0a8474f72a$6a5cdcad01c973fa") => (w!("other"), w!("foo")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( code, indoc! {r#" import "abc:other"; - $abc$importAsync$558d6cfb8af8a010.then(function({ foo: foo }) { + $abc$importAsync$70a00e0a8474f72a.then(function({ foo: foo }) { }); "#} ); @@ -3749,20 +3749,20 @@ mod tests { assert_eq_imported_symbols!( hoist.imported_symbols, map! { - w!("$abc$importAsync$558d6cfb8af8a010$ba02ad2230917043") => (w!("other"), w!("foo")) + w!("$abc$importAsync$70a00e0a8474f72a$6a5cdcad01c973fa") => (w!("other"), w!("foo")) } ); assert_eq!( hoist.dynamic_imports, map! { - w!("$abc$importAsync$558d6cfb8af8a010") => w!("other") + w!("$abc$importAsync$70a00e0a8474f72a") => w!("other") } ); assert_eq!( code, indoc! {r#" import "abc:other"; - $abc$importAsync$558d6cfb8af8a010.then(function({ foo: bar }) { + $abc$importAsync$70a00e0a8474f72a.then(function({ foo: bar }) { }); "#} ); From 375fd68988823186708e46e48f18750ed318f6a5 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Tue, 5 Oct 2021 09:29:43 -0700 Subject: [PATCH 0062/1076] Upgrade Flow to 0.161.0 (#7015) --- .flowconfig | 2 +- package.json | 2 +- .../runtimes/service-worker/src/ServiceWorkerRuntime.js | 5 ++--- yarn.lock | 8 ++++---- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.flowconfig b/.flowconfig index 522d3c0d306..ba6ee95f4f4 100644 --- a/.flowconfig +++ b/.flowconfig @@ -36,4 +36,4 @@ untyped-import untyped-type-import [version] -0.160.1 +0.161.0 diff --git a/package.json b/package.json index 892dab33b71..be8a10235e1 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "cross-env": "^7.0.0", "doctoc": "^1.4.0", "eslint": "^7.20.0", - "flow-bin": "0.160.1", + "flow-bin": "0.161.0", "glob": "^7.1.6", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", diff --git a/packages/runtimes/service-worker/src/ServiceWorkerRuntime.js b/packages/runtimes/service-worker/src/ServiceWorkerRuntime.js index a66419c9729..90bee96c3d6 100644 --- a/packages/runtimes/service-worker/src/ServiceWorkerRuntime.js +++ b/packages/runtimes/service-worker/src/ServiceWorkerRuntime.js @@ -8,14 +8,13 @@ export default (new Runtime({ return []; } - let asset; - bundle.traverse((node, _, actions) => { + let asset = bundle.traverse((node, _, actions) => { if ( node.type === 'dependency' && node.value.specifier === '@parcel/service-worker' ) { - asset = bundleGraph.getResolvedAsset(node.value, bundle); actions.stop(); + return bundleGraph.getResolvedAsset(node.value, bundle); } }); diff --git a/yarn.lock b/yarn.lock index f11b60f157f..cf5a9575b12 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6100,10 +6100,10 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== -flow-bin@0.160.1: - version "0.160.1" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.160.1.tgz#ae24ad6def1f05ae37789b6cc332b58975d29de0" - integrity sha512-LvQ9lB/vwW+lPjYIyACcGQCSLvL9f9hOM9jJJtfHQRrIgIShWqjvyv5V24M57HSxh0+6dBbVDYhUiZjjeArf7A== +flow-bin@0.161.0: + version "0.161.0" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.161.0.tgz#1c03ea4a9e3036a8bc639f050bd8dc6f5288e8bb" + integrity sha512-5BKQi+sjOXz67Kbc1teiBwd5e0Da6suW7S5oUCm9VclnzSZ3nlfNZUdrkvgJ5S4w5KDBDToEL7rREpn8rKF1zg== flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.1.1" From fe41fc1a01b6f56cedebead424c01288fcf7deb3 Mon Sep 17 00:00:00 2001 From: Eric Eldredge Date: Tue, 5 Oct 2021 21:28:17 -0400 Subject: [PATCH 0063/1076] Parse babel configs as json5 (#7022) --- packages/transformers/babel/package.json | 1 + packages/transformers/babel/src/config.js | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 9d34d97c4e5..285574036c7 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -32,6 +32,7 @@ "@parcel/utils": "2.0.0-rc.0", "browserslist": "^4.6.6", "core-js": "^3.2.1", + "json5": "^2.1.0", "nullthrows": "^1.1.1", "semver": "^5.7.0" }, diff --git a/packages/transformers/babel/src/config.js b/packages/transformers/babel/src/config.js index 8941f56247d..0acaf5db473 100644 --- a/packages/transformers/babel/src/config.js +++ b/packages/transformers/babel/src/config.js @@ -5,6 +5,7 @@ import typeof * as BabelCore from '@babel/core'; import type {Diagnostic} from '@parcel/diagnostic'; import type {BabelConfig} from './types'; +import json5 from 'json5'; import path from 'path'; import * as internalBabelCore from '@babel/core'; import {hashObject, relativePath, resolveConfig} from '@parcel/utils'; @@ -397,7 +398,7 @@ async function getCodeHighlights(fs, filePath, redundantPresets) { let ext = path.extname(filePath); if (ext !== '.js' && ext !== '.cjs' && ext !== '.mjs') { let contents = await fs.readFile(filePath, 'utf8'); - let json = JSON.parse(contents); + let json = json5.parse(contents); let presets = json.presets || []; let pointers = []; @@ -410,7 +411,12 @@ async function getCodeHighlights(fs, filePath, redundantPresets) { } if (pointers.length > 0) { - return generateJSONCodeHighlights(contents, pointers); + try { + return generateJSONCodeHighlights(contents, pointers); + } catch { + // TODO: support code highlights for json5 sources. + // Babel supports json5 syntax, but json-source-map does not. + } } } From 4904f20f59cf525d4a580c2b41968b7f1deba004 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 6 Oct 2021 10:36:34 -0700 Subject: [PATCH 0064/1076] Fix autoinstall with Yarn 2+ (#7023) --- packages/core/package-manager/src/Yarn.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/core/package-manager/src/Yarn.js b/packages/core/package-manager/src/Yarn.js index b959f9cbb56..24d33e431f8 100644 --- a/packages/core/package-manager/src/Yarn.js +++ b/packages/core/package-manager/src/Yarn.js @@ -4,6 +4,8 @@ import type {PackageInstaller, InstallerOptions} from './types'; import commandExists from 'command-exists'; import spawn from 'cross-spawn'; +import {exec as _exec} from 'child_process'; +import {promisify} from 'util'; import logger from '@parcel/logger'; import split from 'split2'; import JSONParseStream from './JSONParseStream'; @@ -15,6 +17,7 @@ import {npmSpecifierFromModuleRequest} from './utils'; import pkg from '../package.json'; const YARN_CMD = 'yarn'; +const exec = promisify(_exec); type YarnStdOutMessage = | {| @@ -35,6 +38,8 @@ type YarnStdErrMessage = {| |}; let hasYarn: ?boolean; +let yarnVersion: ?number; + export class Yarn implements PackageInstaller { static async exists(): Promise { if (hasYarn != null) { @@ -55,12 +60,20 @@ export class Yarn implements PackageInstaller { cwd, saveDev = true, }: InstallerOptions): Promise { + if (yarnVersion == null) { + let version = await exec('yarn --version'); + yarnVersion = parseInt(version.stdout, 10); + } + let args = ['add', '--json'].concat( modules.map(npmSpecifierFromModuleRequest), ); if (saveDev) { - args.push('-D', '-W'); + args.push('-D'); + if (yarnVersion < 2) { + args.push('-W'); + } } // When Parcel is run by Yarn (e.g. via package.json scripts), several environment variables are From 2ebed006eea94cb3fb3396425fd56aefc9de4ca8 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 6 Oct 2021 14:34:38 -0700 Subject: [PATCH 0065/1076] Ensure named exports are prioritized over wildcard re-exports (#7016) --- .../es6/re-export-priority/a.mjs | 2 + .../es6/re-export-priority/b.mjs | 2 + .../es6/re-export-priority/entry-a.mjs | 2 + .../es6/re-export-priority/entry-b.mjs | 2 + .../es6/re-export-priority/foo.mjs | 1 + .../es6/re-export-priority/namespace-a.mjs | 2 + .../es6/re-export-priority/namespace-b.mjs | 2 + .../core/integration-tests/test/javascript.js | 24 ++++++++++ .../integration-tests/test/scope-hoisting.js | 48 +++++++++++++++++++ packages/packagers/js/src/helpers.js | 2 +- .../transformers/js/src/esmodule-helpers.js | 7 +-- 11 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/a.mjs create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/b.mjs create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/entry-a.mjs create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/entry-b.mjs create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/foo.mjs create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/namespace-a.mjs create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/namespace-b.mjs diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/a.mjs b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/a.mjs new file mode 100644 index 00000000000..a23c66a816d --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/a.mjs @@ -0,0 +1,2 @@ +export const foo = 2; +export * from './foo.mjs' diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/b.mjs b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/b.mjs new file mode 100644 index 00000000000..3d2ed8c4e66 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/b.mjs @@ -0,0 +1,2 @@ +export * from './foo.mjs' +export const foo = 2; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/entry-a.mjs b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/entry-a.mjs new file mode 100644 index 00000000000..57ea311f49d --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/entry-a.mjs @@ -0,0 +1,2 @@ +import {foo} from './a.mjs'; +output = foo; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/entry-b.mjs b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/entry-b.mjs new file mode 100644 index 00000000000..f6946df2c0c --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/entry-b.mjs @@ -0,0 +1,2 @@ +import {foo} from './b.mjs'; +output = foo; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/foo.mjs b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/foo.mjs new file mode 100644 index 00000000000..0146d2af06d --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/foo.mjs @@ -0,0 +1 @@ +export const foo = 3; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/namespace-a.mjs b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/namespace-a.mjs new file mode 100644 index 00000000000..f87cb2e1eae --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/namespace-a.mjs @@ -0,0 +1,2 @@ +import * as a from './a.mjs'; +output = a; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/namespace-b.mjs b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/namespace-b.mjs new file mode 100644 index 00000000000..1bd28b6d99e --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-priority/namespace-b.mjs @@ -0,0 +1,2 @@ +import * as b from './b.mjs'; +output = b; diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index e5f3e25ede9..69a59971a9c 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -4843,6 +4843,30 @@ describe('javascript', function() { assert.equal(typeof res.c, 'function'); }); + it('should prioritize named exports before re-exports withput scope hoisting (before)', async () => { + let b = await bundle( + path.join( + __dirname, + 'integration/scope-hoisting/es6/re-export-priority/entry-a.mjs', + ), + ); + + let res = await run(b, null, {require: false}); + assert.equal(res.output, 2); + }); + + it('should prioritize named exports before re-exports without scope hoisting (after)', async () => { + let b = await bundle( + path.join( + __dirname, + 'integration/scope-hoisting/es6/re-export-priority/entry-b.mjs', + ), + ); + + let res = await run(b, null, {require: false}); + assert.equal(res.output, 2); + }); + it('should exclude default from export all declaration', async function() { let b = await bundle( path.join(__dirname, 'integration/js-export-all/index.js'), diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index 7b0e9a9b153..9dc64403b2a 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -3774,6 +3774,54 @@ describe('scope hoisting', function() { test: 'foo', }); }); + + it('should prioritize named exports before re-exports (before)', async () => { + let b = await bundle( + path.join( + __dirname, + 'integration/scope-hoisting/es6/re-export-priority/entry-a.mjs', + ), + ); + + let res = await run(b); + assert.equal(res, 2); + }); + + it('should prioritize named exports before re-exports (after)', async () => { + let b = await bundle( + path.join( + __dirname, + 'integration/scope-hoisting/es6/re-export-priority/entry-b.mjs', + ), + ); + + let res = await run(b); + assert.equal(res, 2); + }); + + it('should prioritize named exports before re-exports in namespace (before)', async () => { + let b = await bundle( + path.join( + __dirname, + 'integration/scope-hoisting/es6/re-export-priority/namespace-a.mjs', + ), + ); + + let res = await run(b); + assert.deepEqual(res, {foo: 2}); + }); + + it('should prioritize named exports before re-exports in namespace (after)', async () => { + let b = await bundle( + path.join( + __dirname, + 'integration/scope-hoisting/es6/re-export-priority/namespace-b.mjs', + ), + ); + + let res = await run(b); + assert.deepEqual(res, {foo: 2}); + }); }); describe('commonjs', function() { diff --git a/packages/packagers/js/src/helpers.js b/packages/packagers/js/src/helpers.js index c09204bde85..4654d7b81e1 100644 --- a/packages/packagers/js/src/helpers.js +++ b/packages/packagers/js/src/helpers.js @@ -38,7 +38,7 @@ export const helpers = { `, $parcel$exportWildcard: `function $parcel$exportWildcard(dest, source) { Object.keys(source).forEach(function(key) { - if (key === 'default' || key === '__esModule') { + if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) { return; } diff --git a/packages/transformers/js/src/esmodule-helpers.js b/packages/transformers/js/src/esmodule-helpers.js index 926de91781b..de58a3fc981 100644 --- a/packages/transformers/js/src/esmodule-helpers.js +++ b/packages/transformers/js/src/esmodule-helpers.js @@ -8,12 +8,7 @@ exports.defineInteropFlag = function(a) { exports.exportAll = function(source, dest) { Object.keys(source).forEach(function(key) { - if (key === 'default' || key === '__esModule') { - return; - } - - // Skip duplicate re-exports when they have the same value. - if (key in dest && dest[key] === source[key]) { + if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) { return; } From 91de5c0cc2f02201789112ced53d3744887e20dd Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 6 Oct 2021 14:34:57 -0700 Subject: [PATCH 0066/1076] Ensure symbol order is consistent (#7021) --- packages/transformers/js/core/src/hoist.rs | 181 ++++++++++-------- packages/transformers/js/src/JSTransformer.js | 31 +-- 2 files changed, 119 insertions(+), 93 deletions(-) diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index b4f06591df9..6fb2f0c7f3a 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -55,14 +55,29 @@ pub fn hoist( Ok((module, hoist.get_result(), diagnostics)) } +#[derive(Debug, Serialize, Deserialize)] +struct ExportedSymbol { + local: JsWord, + exported: JsWord, + loc: SourceLocation, +} + +#[derive(Debug, Serialize, Deserialize)] +struct ImportedSymbol { + source: JsWord, + local: JsWord, + imported: JsWord, + loc: SourceLocation, +} + struct Hoist<'a> { module_id: &'a str, collect: &'a Collect, module_items: Vec, export_decls: HashSet, - imported_symbols: HashMap, - exported_symbols: HashMap, - re_exports: Vec<(JsWord, JsWord, JsWord, SourceLocation)>, + imported_symbols: Vec, + exported_symbols: Vec, + re_exports: Vec, self_references: HashSet, dynamic_imports: HashMap, in_function_scope: bool, @@ -71,9 +86,9 @@ struct Hoist<'a> { #[derive(Debug, Default, Serialize, Deserialize)] pub struct HoistResult { - imported_symbols: HashMap, - exported_symbols: HashMap, - re_exports: Vec<(JsWord, JsWord, JsWord, SourceLocation)>, + imported_symbols: Vec, + exported_symbols: Vec, + re_exports: Vec, self_references: HashSet, wrapped_requires: HashSet, dynamic_imports: HashMap, @@ -90,8 +105,8 @@ impl<'a> Hoist<'a> { collect, module_items: vec![], export_decls: HashSet::new(), - imported_symbols: HashMap::new(), - exported_symbols: HashMap::new(), + imported_symbols: vec![], + exported_symbols: vec![], re_exports: vec![], self_references: HashSet::new(), dynamic_imports: HashMap::new(), @@ -206,28 +221,28 @@ impl<'a> Fold for Hoist<'a> { Some(exported) => exported.sym, None => named.orig.sym.clone(), }; - self.re_exports.push(( - exported, - src.value.clone(), - named.orig.sym, - SourceLocation::from(&self.collect.source_map, named.span), - )); + self.re_exports.push(ImportedSymbol { + source: src.value.clone(), + local: exported, + imported: named.orig.sym, + loc: SourceLocation::from(&self.collect.source_map, named.span), + }); } ExportSpecifier::Default(default) => { - self.re_exports.push(( - default.exported.sym, - src.value.clone(), - js_word!("default"), - SourceLocation::from(&self.collect.source_map, default.exported.span), - )); + self.re_exports.push(ImportedSymbol { + source: src.value.clone(), + local: default.exported.sym, + imported: js_word!("default"), + loc: SourceLocation::from(&self.collect.source_map, default.exported.span), + }); } ExportSpecifier::Namespace(namespace) => { - self.re_exports.push(( - namespace.name.sym, - src.value.clone(), - "*".into(), - SourceLocation::from(&self.collect.source_map, namespace.span), - )); + self.re_exports.push(ImportedSymbol { + source: src.value.clone(), + local: namespace.name.sym, + imported: "*".into(), + loc: SourceLocation::from(&self.collect.source_map, namespace.span), + }); } } } @@ -243,12 +258,12 @@ impl<'a> Fold for Hoist<'a> { source, specifier, .. }) = self.collect.imports.get(&id) { - self.re_exports.push(( - exported, - source.clone(), - specifier.clone(), - SourceLocation::from(&self.collect.source_map, named.span), - )); + self.re_exports.push(ImportedSymbol { + source: source.clone(), + local: exported, + imported: specifier.clone(), + loc: SourceLocation::from(&self.collect.source_map, named.span), + }); } else { // A variable will appear only once in the `exports` mapping but // could be exported multiple times with different names. @@ -259,10 +274,11 @@ impl<'a> Fold for Hoist<'a> { } else { self.get_export_ident(DUMMY_SP, orig_exported) }; - self.exported_symbols.entry(exported).or_insert(( - id.sym, - SourceLocation::from(&self.collect.source_map, named.span), - )); + self.exported_symbols.push(ExportedSymbol { + local: id.sym, + exported, + loc: SourceLocation::from(&self.collect.source_map, named.span), + }); } } } @@ -281,12 +297,12 @@ impl<'a> Fold for Hoist<'a> { }, type_only: false, }))); - self.re_exports.push(( - "*".into(), - export.src.value, - "*".into(), - SourceLocation::from(&self.collect.source_map, export.span), - )); + self.re_exports.push(ImportedSymbol { + source: export.src.value, + local: "*".into(), + imported: "*".into(), + loc: SourceLocation::from(&self.collect.source_map, export.span), + }); } ModuleDecl::ExportDefaultExpr(export) => { let ident = self.get_export_ident(export.span, &"default".into()); @@ -582,14 +598,12 @@ impl<'a> Fold for Hoist<'a> { hash!(key) ) .into(); - self.imported_symbols.insert( - name, - ( - source.clone(), - key.clone(), - SourceLocation::from(&self.collect.source_map, member.span), - ), - ); + self.imported_symbols.push(ImportedSymbol { + source: source.clone(), + local: name, + imported: key.clone(), + loc: SourceLocation::from(&self.collect.source_map, member.span), + }); } else { return Expr::Ident(self.get_import_ident( member.span, @@ -676,14 +690,12 @@ impl<'a> Fold for Hoist<'a> { let name: JsWord = format!("${}$importAsync${:x}", self.module_id, hash!(source)).into(); self.dynamic_imports.insert(name.clone(), source.clone()); if self.collect.non_static_requires.contains(&source) || self.collect.should_wrap { - self.imported_symbols.insert( - name.clone(), - ( - source, - "*".into(), - SourceLocation::from(&self.collect.source_map, call.span), - ), - ); + self.imported_symbols.push(ImportedSymbol { + source: source, + local: name.clone(), + imported: "*".into(), + loc: SourceLocation::from(&self.collect.source_map, call.span), + }); } return Expr::Ident(Ident::new(name, call.span)); } @@ -784,15 +796,21 @@ impl<'a> Fold for Hoist<'a> { hash!(specifier) ) .into(); - self - .imported_symbols - .insert(name, (source.clone(), specifier.clone(), loc.clone())); + self.imported_symbols.push(ImportedSymbol { + source: source.clone(), + local: name, + imported: specifier.clone(), + loc: loc.clone(), + }); } else if self.collect.non_static_access.contains_key(&id!(node)) { let name: JsWord = format!("${}$importAsync${:x}", self.module_id, hash!(source)).into(); - self - .imported_symbols - .insert(name, (source.clone(), "*".into(), loc.clone())); + self.imported_symbols.push(ImportedSymbol { + source: source.clone(), + local: name, + imported: "*".into(), + loc: loc.clone(), + }); } } else { // If this identifier is not constant, we cannot directly reference the imported @@ -813,10 +831,11 @@ impl<'a> Fold for Hoist<'a> { // If wrapped, mark the original symbol as exported. // Otherwise replace with an export identifier. if self.collect.should_wrap { - self.exported_symbols.entry(exported.clone()).or_insert(( - node.sym.clone(), - SourceLocation::from(&self.collect.source_map, node.span), - )); + self.exported_symbols.push(ExportedSymbol { + local: node.sym.clone(), + exported: exported.clone(), + loc: SourceLocation::from(&self.collect.source_map, node.span), + }); return node; } else { return self.get_export_ident(node.span, exported); @@ -1007,13 +1026,16 @@ impl<'a> Hoist<'a> { &mut self, span: Span, source: &JsWord, - local: &JsWord, + imported: &JsWord, loc: SourceLocation, ) -> Ident { - let new_name = self.get_import_name(source, local); - self - .imported_symbols - .insert(new_name.clone(), (source.clone(), local.clone(), loc)); + let new_name = self.get_import_name(source, imported); + self.imported_symbols.push(ImportedSymbol { + source: source.clone(), + local: new_name.clone(), + imported: imported.clone(), + loc: loc.clone(), + }); Ident::new(new_name, span) } @@ -1031,10 +1053,11 @@ impl<'a> Hoist<'a> { format!("${}$export${:x}", self.module_id, hash!(exported)).into() }; - self.exported_symbols.entry(exported.clone()).or_insert(( - new_name.clone(), - SourceLocation::from(&self.collect.source_map, span), - )); + self.exported_symbols.push(ExportedSymbol { + local: new_name.clone(), + exported: exported.clone(), + loc: SourceLocation::from(&self.collect.source_map, span), + }); let mut span = span; span.ctxt = SyntaxContext::empty(); @@ -2054,8 +2077,8 @@ mod tests { macro_rules! assert_eq_imported_symbols { ($m: expr, $match: expr) => {{ let mut map = HashMap::new(); - for (key, val) in $m { - map.insert(key, (val.0, val.1)); + for sym in $m { + map.insert(sym.local, (sym.source, sym.imported)); } assert_eq!(map, $match); }}; diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index 4a3eee31836..a94895b77ad 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -674,9 +674,8 @@ export default (new Transformer({ asset.meta.id = asset.id; if (hoist_result) { asset.symbols.ensure(); - for (let symbol in hoist_result.exported_symbols) { - let [local, loc] = hoist_result.exported_symbols[symbol]; - asset.symbols.set(symbol, local, convertLoc(loc)); + for (let {exported, local, loc} of hoist_result.exported_symbols) { + asset.symbols.set(exported, local, convertLoc(loc)); } let deps = new Map( @@ -688,25 +687,29 @@ export default (new Transformer({ dep.symbols.ensure(); } - for (let name in hoist_result.imported_symbols) { - let [specifier, exported, loc] = hoist_result.imported_symbols[name]; - let dep = deps.get(specifier); + for (let { + source, + local, + imported, + loc, + } of hoist_result.imported_symbols) { + let dep = deps.get(source); if (!dep) continue; - dep.symbols.set(exported, name, convertLoc(loc)); + dep.symbols.set(imported, local, convertLoc(loc)); } - for (let [name, specifier, exported, loc] of hoist_result.re_exports) { - let dep = deps.get(specifier); + for (let {source, local, imported, loc} of hoist_result.re_exports) { + let dep = deps.get(source); if (!dep) continue; - if (name === '*' && exported === '*') { + if (local === '*' && imported === '*') { dep.symbols.set('*', '*', convertLoc(loc), true); } else { let reExportName = - dep.symbols.get(exported)?.local ?? - `$${asset.id}$re_export$${name}`; - asset.symbols.set(name, reExportName); - dep.symbols.set(exported, reExportName, convertLoc(loc), true); + dep.symbols.get(imported)?.local ?? + `$${asset.id}$re_export$${local}`; + asset.symbols.set(local, reExportName); + dep.symbols.set(imported, reExportName, convertLoc(loc), true); } } From 7d4d53a098755d3dd494eb28d593f1bb4d5c1ec7 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 6 Oct 2021 14:43:57 -0700 Subject: [PATCH 0067/1076] Update all references to v2.parceljs.org to just parceljs.org (#7029) --- .../core/src/requests/ParcelConfigRequest.js | 2 +- .../core/core/src/requests/TargetRequest.js | 14 ++++++------ packages/core/core/test/ParcelConfig.test.js | 2 +- packages/core/core/test/TargetRequest.test.js | 14 ++++++------ packages/core/integration-tests/test/babel.js | 6 ++--- packages/core/integration-tests/test/html.js | 4 ++-- .../integration/webextension/manifest.json | 2 +- .../core/integration-tests/test/javascript.js | 6 ++--- packages/core/parcel/README.md | 10 ++++----- packages/packagers/css/src/CSSPackager.js | 2 +- packages/packagers/xml/src/XMLPackager.js | 2 +- packages/transformers/babel/src/config.js | 6 ++--- .../js/core/src/dependency_collector.rs | 10 ++++----- packages/transformers/js/core/src/utils.rs | 22 +++++++++---------- packages/transformers/xml/src/atom.js | 2 +- packages/transformers/xml/src/rss.js | 2 +- 16 files changed, 53 insertions(+), 53 deletions(-) diff --git a/packages/core/core/src/requests/ParcelConfigRequest.js b/packages/core/core/src/requests/ParcelConfigRequest.js index ed9b9409f61..d4c8d44078e 100644 --- a/packages/core/core/src/requests/ParcelConfigRequest.js +++ b/packages/core/core/src/requests/ParcelConfigRequest.js @@ -308,7 +308,7 @@ async function processMap( }, ], documentationURL: - 'https://v2.parceljs.org/features/dependency-resolution/#url-schemes', + 'https://parceljs.org/features/dependency-resolution/#url-schemes', }, }); } diff --git a/packages/core/core/src/requests/TargetRequest.js b/packages/core/core/src/requests/TargetRequest.js index 03d95e267ad..f456e75c75c 100644 --- a/packages/core/core/src/requests/TargetRequest.js +++ b/packages/core/core/src/requests/TargetRequest.js @@ -593,7 +593,7 @@ export class TargetResolver { `The "${targetName}" field is meant for libraries. If you meant to output a ${ext} file, either remove the "${targetName}" field or choose a different target name.`, ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, }); } @@ -625,7 +625,7 @@ export class TargetResolver { `The "${targetName}" field is meant for libraries. The outputFormat must be either "commonjs" or "esmodule". Either change or remove the declared outputFormat.`, ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, }); } @@ -684,7 +684,7 @@ export class TargetResolver { `Either change the output file extension to .mjs, add "type": "module" to package.json, or remove the declared outputFormat.`, ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, }); } @@ -716,7 +716,7 @@ export class TargetResolver { `The "${targetName}" target is meant for libraries. Either remove the "scopeHoist" option, or use a different target name.`, ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, }); } @@ -859,7 +859,7 @@ export class TargetResolver { ], hints: [`Either remove the "scopeHoist" or "isLibrary" option.`], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, }); } @@ -1027,7 +1027,7 @@ export class TargetResolver { )}.`, ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, }); } @@ -1253,7 +1253,7 @@ function assertTargetsAreNotEntries( : '') + `Change the "${target.name}" field to point to an output file rather than your source code.`, ], - documentationURL: 'https://v2.parceljs.org/features/targets/', + documentationURL: 'https://parceljs.org/features/targets/', }, }); } diff --git a/packages/core/core/test/ParcelConfig.test.js b/packages/core/core/test/ParcelConfig.test.js index 54652c86c71..9cea05a6f95 100644 --- a/packages/core/core/test/ParcelConfig.test.js +++ b/packages/core/core/test/ParcelConfig.test.js @@ -312,7 +312,7 @@ describe('ParcelConfig', () => { }, ], documentationURL: - 'https://v2.parceljs.org/features/dependency-resolution/#url-schemes', + 'https://parceljs.org/features/dependency-resolution/#url-schemes', }, ], }, diff --git a/packages/core/core/test/TargetRequest.test.js b/packages/core/core/test/TargetRequest.test.js index 467bc0b1436..a6ef550681c 100644 --- a/packages/core/core/test/TargetRequest.test.js +++ b/packages/core/core/test/TargetRequest.test.js @@ -737,7 +737,7 @@ describe('TargetResolver', () => { 'The "main" field is meant for libraries. If you meant to output a .html file, either remove the "main" field or choose a different target name.', ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, ], }); @@ -779,7 +779,7 @@ describe('TargetResolver', () => { 'The "main" field is meant for libraries. The outputFormat must be either "commonjs" or "esmodule". Either change or remove the declared outputFormat.', ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, ], }); @@ -832,7 +832,7 @@ describe('TargetResolver', () => { 'Either change the output file extension to .mjs, add "type": "module" to package.json, or remove the declared outputFormat.', ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, ], }); @@ -885,7 +885,7 @@ describe('TargetResolver', () => { 'Either remove the target\'s declared "outputFormat" or change the extension to .mjs or .js.', ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, ], }); @@ -938,7 +938,7 @@ describe('TargetResolver', () => { 'Either remove the target\'s declared "outputFormat" or change the extension to .cjs or .js.', ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, ], }); @@ -979,7 +979,7 @@ describe('TargetResolver', () => { 'The "main" target is meant for libraries. Either remove the "scopeHoist" option, or use a different target name.', ], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, ], }); @@ -1029,7 +1029,7 @@ describe('TargetResolver', () => { ], hints: ['Either remove the "scopeHoist" or "isLibrary" option.'], documentationURL: - 'https://v2.parceljs.org/features/targets/#library-targets', + 'https://parceljs.org/features/targets/#library-targets', }, ], }); diff --git a/packages/core/integration-tests/test/babel.js b/packages/core/integration-tests/test/babel.js index 09fe260eb6f..d0ab06dcb26 100644 --- a/packages/core/integration-tests/test/babel.js +++ b/packages/core/integration-tests/test/babel.js @@ -613,7 +613,7 @@ describe('babel', function() { md`Delete __${path.relative(process.cwd(), babelrcPath)}__`, ], documentationURL: - 'https://v2.parceljs.org/languages/javascript/#default-presets', + 'https://parceljs.org/languages/javascript/#default-presets', }, { origin: '@parcel/transformer-babel', @@ -641,7 +641,7 @@ describe('babel', function() { "Either remove __@babel/preset-env__ to use Parcel's builtin transpilation, or replace with __@parcel/babel-preset-env__", ], documentationURL: - 'https://v2.parceljs.org/languages/javascript/#custom-plugins', + 'https://parceljs.org/languages/javascript/#custom-plugins', }, ], }, @@ -697,7 +697,7 @@ describe('babel', function() { )}__`, ], documentationURL: - 'https://v2.parceljs.org/languages/javascript/#default-presets', + 'https://parceljs.org/languages/javascript/#default-presets', }, ], }, diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index 93a2504f830..5d0eb378d7b 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -1320,7 +1320,7 @@ describe('html', function() { ], hints: ['Add the type="module" attribute to the is added to make sure HMR is working even if user - // didn't add any. It's inserted at the very end to take into account cases - // when there's no html/head/body in source html. + // didn't add any. if (options.hmrOptions && !(hasScripts || hasInlineScripts)) { - ast.program.push({ + const script = { tag: 'script', attrs: { src: asset.addURLDependency('hmr.js', { @@ -53,7 +55,17 @@ export default (new Transformer({ }), }, content: [], - }); + }; + + const found = findFirstMatch(ast, [{tag: 'body'}, {tag: 'html'}]); + + if (found) { + found.content = found.content || []; + found.content.push(script); + } else { + // Insert at the very end. + ast.program.push(script); + } asset.setAST(ast); @@ -75,3 +87,21 @@ export default (new Transformer({ }; }, }): Transformer); + +function findFirstMatch( + ast: AST, + expressions: PostHTMLExpression[], +): ?PostHTMLNode { + let found; + + for (const expression of expressions) { + PostHTML().match.call(ast.program, expression, node => { + found = node; + return node; + }); + + if (found) { + return found; + } + } +} From d6de61d33450c753d5bb30d06426b35a4674a98b Mon Sep 17 00:00:00 2001 From: Kyle Herock Date: Fri, 8 Oct 2021 19:17:11 -0400 Subject: [PATCH 0076/1076] Fix shaking for functions types with overload signatures (#7036) --- .../ts-types/exporting-overload/expected.d.ts | 5 +++ .../ts-types/exporting-overload/index.ts | 7 ++++ .../ts-types/exporting-overload/package.json | 9 +++++ .../ts-types/exporting-overload/yarn.lock | 0 .../core/integration-tests/test/ts-types.js | 35 +++++++++++++++++++ .../typescript-types/src/TSModule.js | 6 ++-- .../typescript-types/src/TSModuleGraph.js | 8 +++-- 7 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/ts-types/exporting-overload/expected.d.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/exporting-overload/index.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/exporting-overload/package.json create mode 100644 packages/core/integration-tests/test/integration/ts-types/exporting-overload/yarn.lock diff --git a/packages/core/integration-tests/test/integration/ts-types/exporting-overload/expected.d.ts b/packages/core/integration-tests/test/integration/ts-types/exporting-overload/expected.d.ts new file mode 100644 index 00000000000..f7303c873d2 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/exporting-overload/expected.d.ts @@ -0,0 +1,5 @@ +import { Named1, Named2 } from "external"; +export function overloaded(arg: string): Named1; +export function overloaded(arg: number): Named2; + +//# sourceMappingURL=types.d.ts.map diff --git a/packages/core/integration-tests/test/integration/ts-types/exporting-overload/index.ts b/packages/core/integration-tests/test/integration/ts-types/exporting-overload/index.ts new file mode 100644 index 00000000000..2e5e1292437 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/exporting-overload/index.ts @@ -0,0 +1,7 @@ +import {Named1, Named2} from 'external'; + +export function overloaded(arg: string): Named1; +export function overloaded(arg: number): Named2; +export function overloaded(arg: unknown): unknown { + return {}; +} diff --git a/packages/core/integration-tests/test/integration/ts-types/exporting-overload/package.json b/packages/core/integration-tests/test/integration/ts-types/exporting-overload/package.json new file mode 100644 index 00000000000..a5c9d84f206 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/exporting-overload/package.json @@ -0,0 +1,9 @@ +{ + "name": "ts-types-exporting-overload", + "private": true, + "main": "dist/main.js", + "types": "dist/types.d.ts", + "dependencies": { + "external": "*" + } +} diff --git a/packages/core/integration-tests/test/integration/ts-types/exporting-overload/yarn.lock b/packages/core/integration-tests/test/integration/ts-types/exporting-overload/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/ts-types.js b/packages/core/integration-tests/test/ts-types.js index 0a668cf2b49..b2d46fffd9f 100644 --- a/packages/core/integration-tests/test/ts-types.js +++ b/packages/core/integration-tests/test/ts-types.js @@ -135,6 +135,41 @@ describe('typescript types', function() { assert.equal(dist, expected); }); + it('should generate ts declarations with export of an overloaded function signature', async function() { + let b = await bundle( + path.join(__dirname, '/integration/ts-types/exporting-overload/index.ts'), + ); + + assertBundles(b, [ + { + type: 'js', + assets: ['index.ts'], + }, + { + type: 'ts', + assets: ['index.ts'], + }, + ]); + + let dist = ( + await outputFS.readFile( + path.join( + __dirname, + '/integration/ts-types/exporting-overload/dist/types.d.ts', + ), + 'utf8', + ) + ).replace(/\r\n/g, '\n'); + let expected = await inputFS.readFile( + path.join( + __dirname, + '/integration/ts-types/exporting-overload/expected.d.ts', + ), + 'utf8', + ); + assert.equal(dist, expected); + }); + it('should generate ts declarations with externals', async function() { let b = await bundle( path.join(__dirname, '/integration/ts-types/externals/index.tsx'), diff --git a/packages/transformers/typescript-types/src/TSModule.js b/packages/transformers/typescript-types/src/TSModule.js index a3f786de963..e71ca5a9e43 100644 --- a/packages/transformers/typescript-types/src/TSModule.js +++ b/packages/transformers/typescript-types/src/TSModule.js @@ -8,7 +8,7 @@ export type Export = export class TSModule { imports: Map; exports: Array; - bindings: Map; + bindings: Map>; names: Map; used: Set; @@ -37,7 +37,9 @@ export class TSModule { } addLocal(name: string, node: any) { - this.bindings.set(name, node); + const bindings = this.bindings.get(name) ?? new Set(); + bindings.add(node); + this.bindings.set(name, bindings); if (name !== 'default') { this.names.set(name, name); } diff --git a/packages/transformers/typescript-types/src/TSModuleGraph.js b/packages/transformers/typescript-types/src/TSModuleGraph.js index 18eeed88893..e522b19ec17 100644 --- a/packages/transformers/typescript-types/src/TSModuleGraph.js +++ b/packages/transformers/typescript-types/src/TSModuleGraph.js @@ -64,9 +64,11 @@ export class TSModuleGraph { return ts.visitEachChild(node, visit, context); }; - let node = module.bindings.get(name); - if (node) { - ts.visitEachChild(node, visit, context); + let bindings = module.bindings.get(name); + if (bindings) { + for (let node of bindings) { + ts.visitEachChild(node, visit, context); + } } } From 810a8547a981b72b86a8f0d501a5690d4d680019 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sat, 9 Oct 2021 13:00:19 -0700 Subject: [PATCH 0077/1076] Add missing C flags for SIMD support in build workflow (#7045) --- .github/workflows/nightly-release.yml | 6 ++++++ .github/workflows/tag-release.yml | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/nightly-release.yml b/.github/workflows/nightly-release.yml index 4c6b57a4cc5..7f2eeea9653 100644 --- a/.github/workflows/nightly-release.yml +++ b/.github/workflows/nightly-release.yml @@ -71,9 +71,11 @@ jobs: - target: arm-unknown-linux-gnueabihf arch: armhf strip: arm-linux-gnueabihf-strip + cflags: -mfpu=neon - target: aarch64-unknown-linux-gnu arch: arm64 strip: aarch64-linux-gnu-strip + cflags: '' name: ${{ matrix.target }} runs-on: ubuntu-latest steps: @@ -94,6 +96,7 @@ jobs: run: yarn build-native-release env: RUST_TARGET: ${{ matrix.target }} + CFLAGS: ${{ matrix.cflags }} - name: Strip debug symbols # https://github.com/rust-lang/rust/issues/46034 run: ${{ matrix.strip }} packages/*/*/*.node - name: Upload artifacts @@ -119,8 +122,10 @@ jobs: include: - target: x86_64-unknown-linux-musl strip: strip + cflags: -msse4.2 - target: aarch64-unknown-linux-musl strip: aarch64-linux-musl-strip + cflags: '' name: ${{ matrix.target }} runs-on: ubuntu-latest container: @@ -150,6 +155,7 @@ jobs: run: yarn build-native-release env: RUST_TARGET: ${{ matrix.target }} + CFLAGS: ${{ matrix.cflags }} - name: Strip debug symbols # https://github.com/rust-lang/rust/issues/46034 run: ${{ matrix.strip }} packages/*/*/*.node - name: Upload artifacts diff --git a/.github/workflows/tag-release.yml b/.github/workflows/tag-release.yml index 65c9ab23542..b6a34074dc5 100644 --- a/.github/workflows/tag-release.yml +++ b/.github/workflows/tag-release.yml @@ -70,9 +70,11 @@ jobs: - target: arm-unknown-linux-gnueabihf arch: armhf strip: arm-linux-gnueabihf-strip + cflags: -mfpu=neon - target: aarch64-unknown-linux-gnu arch: arm64 strip: aarch64-linux-gnu-strip + cflags: '' name: ${{ matrix.target }} runs-on: ubuntu-latest steps: @@ -93,6 +95,7 @@ jobs: run: yarn build-native-release env: RUST_TARGET: ${{ matrix.target }} + CFLAGS: ${{ matrix.cflags }} - name: Strip debug symbols # https://github.com/rust-lang/rust/issues/46034 run: ${{ matrix.strip }} packages/*/*/*.node - name: Upload artifacts @@ -118,8 +121,10 @@ jobs: include: - target: x86_64-unknown-linux-musl strip: strip + cflags: -msse4.2 - target: aarch64-unknown-linux-musl strip: aarch64-linux-musl-strip + cflags: '' name: ${{ matrix.target }} runs-on: ubuntu-latest container: @@ -149,6 +154,7 @@ jobs: run: yarn build-native-release env: RUST_TARGET: ${{ matrix.target }} + CFLAGS: ${{ matrix.cflags }} - name: Strip debug symbols # https://github.com/rust-lang/rust/issues/46034 run: ${{ matrix.strip }} packages/*/*/*.node - name: Upload artifacts From 971ed24c2a49bcde4dc4e0b3d827d6eaf4513171 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sat, 9 Oct 2021 13:00:59 -0700 Subject: [PATCH 0078/1076] Update watcher and source-map library to 2.0.0 (#7044) --- packages/core/core/package.json | 2 +- packages/core/fs/package.json | 2 +- packages/core/types/package.json | 2 +- packages/core/utils/package.json | 2 +- packages/optimizers/cssnano/package.json | 2 +- packages/optimizers/esbuild/package.json | 2 +- packages/optimizers/terser/package.json | 2 +- packages/packagers/css/package.json | 2 +- packages/packagers/js/package.json | 2 +- packages/shared/babel-ast-utils/package.json | 2 +- packages/transformers/babel/package.json | 2 +- .../transformers/coffeescript/package.json | 2 +- packages/transformers/css/package.json | 2 +- packages/transformers/js/package.json | 2 +- packages/transformers/less/package.json | 2 +- packages/transformers/sass/package.json | 2 +- packages/transformers/stylus/package.json | 2 +- .../typescript-types/package.json | 2 +- packages/transformers/vue/package.json | 2 +- yarn.lock | 77 ++++++++++--------- 20 files changed, 60 insertions(+), 55 deletions(-) diff --git a/packages/core/core/package.json b/packages/core/core/package.json index ab652393c41..b3a068ba872 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -33,7 +33,7 @@ "@parcel/logger": "2.0.0-rc.0", "@parcel/package-manager": "2.0.0-rc.0", "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/types": "2.0.0-rc.0", "@parcel/utils": "2.0.0-rc.0", "@parcel/workers": "2.0.0-rc.0", diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index 0c011ef0623..0d7e1917a12 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -29,7 +29,7 @@ "@parcel/fs-write-stream-atomic": "2.0.0-rc.0", "@parcel/types": "2.0.0-rc.0", "@parcel/utils": "2.0.0-rc.0", - "@parcel/watcher": "2.0.0-alpha.10", + "@parcel/watcher": "^2.0.0", "@parcel/workers": "2.0.0-rc.0", "graceful-fs": "^4.2.4", "mkdirp": "^0.5.1", diff --git a/packages/core/types/package.json b/packages/core/types/package.json index fe1f0d45666..59ca991a7cd 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -20,7 +20,7 @@ "@parcel/diagnostic": "2.0.0-rc.0", "@parcel/fs": "2.0.0-rc.0", "@parcel/package-manager": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/workers": "2.0.0-rc.0", "utility-types": "^3.10.0" } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 781f9eaca97..dddd39ca988 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -26,7 +26,7 @@ "@parcel/hash": "2.0.0-rc.0", "@parcel/logger": "2.0.0-rc.0", "@parcel/markdown-ansi": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "ansi-html-community": "0.0.8", "chalk": "^4.1.0", "clone": "^2.1.1", diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index c0b801a11ee..8fb7862c141 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.5", "postcss": "^8.3.0" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index 23bb42609d0..da2172d7bab 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -22,7 +22,7 @@ "dependencies": { "@parcel/diagnostic": "2.0.0-rc.0", "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "esbuild": "^0.8.11", "nullthrows": "^1.1.1" diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index 7f0b40fe80a..fcbfe184471 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -22,7 +22,7 @@ "dependencies": { "@parcel/diagnostic": "2.0.0-rc.0", "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "nullthrows": "^1.1.1", "terser": "^5.2.0" diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index 65a7f04805b..2c20b4128ac 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "nullthrows": "^1.1.1", "postcss": "^8.3.0" diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index 07ed2be57b0..52708b9fce3 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -23,7 +23,7 @@ "@parcel/diagnostic": "2.0.0-rc.0", "@parcel/hash": "2.0.0-rc.0", "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "globals": "^13.2.0", "nullthrows": "^1.1.1" diff --git a/packages/shared/babel-ast-utils/package.json b/packages/shared/babel-ast-utils/package.json index cd30231e462..beec07cf70f 100644 --- a/packages/shared/babel-ast-utils/package.json +++ b/packages/shared/babel-ast-utils/package.json @@ -22,7 +22,7 @@ "dependencies": { "@babel/parser": "^7.0.0", "@parcel/babylon-walk": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "astring": "^1.6.2" } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 285574036c7..f736d6de124 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -28,7 +28,7 @@ "@parcel/babel-ast-utils": "2.0.0-rc.0", "@parcel/diagnostic": "2.0.0-rc.0", "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "browserslist": "^4.6.6", "core-js": "^3.2.1", diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index b2888cb5ccb..2e6f5c31d9a 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 0a1a3a70f16..9f353ddd090 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "nullthrows": "^1.1.1", "postcss": "^8.3.0", diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 818e7d8766b..9ce2bb92cad 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -32,7 +32,7 @@ "dependencies": { "@parcel/diagnostic": "2.0.0-rc.0", "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index 6390677f667..999b0322d61 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "less": "^4.1.1" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index eabeb59c87e..da7d591b33b 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index 2a46d2ebb09..4ba8e8e925e 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -22,6 +22,6 @@ "dependencies": { "@parcel/plugin": "2.0.0-rc.0", "@parcel/utils": "2.0.0-rc.0", - "stylus": "^0.54.5" + "stylus": "^0.55.0" } } diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index 3795d800e17..346346dd179 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/ts-utils": "2.0.0-rc.0", "nullthrows": "^1.1.1" }, diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index 121a512c0d6..28f6cc02b4d 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -22,7 +22,7 @@ "dependencies": { "@parcel/diagnostic": "2.0.0-rc.0", "@parcel/plugin": "2.0.0-rc.0", - "@parcel/source-map": "2.0.0-rc.7", + "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.0.0-rc.0", "@vue/compiler-sfc": "^3.0.0", "consolidate": "^0.16.0", diff --git a/yarn.lock b/yarn.lock index e7141948a8d..ec86f03282c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2129,21 +2129,21 @@ detect-libc "^1.0.3" globby "^11.0.3" -"@parcel/source-map@2.0.0-rc.7": - version "2.0.0-rc.7" - resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.0-rc.7.tgz#73e3251c2169abf733f28b5d6649eb440e39995f" - integrity sha512-LFTvZz8wSOfQAHtczr2PVMBa2gSBeWTivJf4TPQ7neHqECIgAL2GvuCGhETZqU1OYXlnzuxdsiWvDKQtrLiWgA== +"@parcel/source-map@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.0.tgz#41cf004109bbf277ceaf096a58838ff6a59af774" + integrity sha512-njoUJpj2646NebfHp5zKJeYD1KwhsfQIoU9TnCTHmF9fGOaPbClmeq12G6/4ZqGASftRq+YhhukFBi/ncWKGvw== dependencies: detect-libc "^1.0.3" globby "^11.0.3" -"@parcel/watcher@2.0.0-alpha.10": - version "2.0.0-alpha.10" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.0-alpha.10.tgz#99266189f5193512dbdf6b0faca20400c519a16e" - integrity sha512-8uA7Tmx/1XvmUdGzksg0+oN7uj24pXFFnKJqZr3L3mgYjdrL7CMs3PRIHv1k3LUz/hNRsb/p3qxztSkWz1IGZA== +"@parcel/watcher@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.0.tgz#ebe992a4838b35c3da9a568eb95a71cb26ddf551" + integrity sha512-ByalKmRRXNNAhwZ0X1r0XeIhh1jG8zgdlvjgHk9ZV3YxiersEGNQkwew+RfqJbIL4gOJfvC2ey6lg5kaeRainw== dependencies: - node-addon-api "^3.0.2" - node-gyp-build "^4.2.3" + node-addon-api "^3.2.1" + node-gyp-build "^4.3.0" "@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0", "@sinonjs/commons@^1.7.0": version "1.7.0" @@ -4344,13 +4344,6 @@ css-parse@1.7.x: resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b" integrity sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs= -css-parse@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" - integrity sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q= - dependencies: - css "^2.0.0" - css-select-base-adapter@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" @@ -4412,15 +4405,14 @@ css-what@^5.0.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== -css@^2.0.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== +css@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== dependencies: - inherits "^2.0.3" + inherits "^2.0.4" source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" + source-map-resolve "^0.6.0" cssesc@^0.1.0: version "0.1.0" @@ -8834,12 +8826,12 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@^1.0.4: +mkdirp@*, mkdirp@^1.0.4, mkdirp@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1, mkdirp@~0.5.x: +mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -9083,7 +9075,7 @@ node-addon-api@^1.7.1: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.1.tgz#cf813cd69bb8d9100f6bdca6755fc268f54ac492" integrity sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ== -node-addon-api@^3.0.2: +node-addon-api@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== @@ -9127,6 +9119,11 @@ node-gyp-build@^4.2.3: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== +node-gyp-build@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" + integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== + node-gyp@^5.0.2: version "5.0.7" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.0.7.tgz#dd4225e735e840cf2870e4037c2ed9c28a31719e" @@ -11932,7 +11929,7 @@ source-map-js@^0.6.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: +source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== @@ -11943,6 +11940,14 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + source-map-support@^0.5.16, source-map-support@~0.5.19: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" @@ -12377,18 +12382,18 @@ stylus@0.54.5: sax "0.5.x" source-map "0.1.x" -stylus@^0.54.5: - version "0.54.7" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.7.tgz#c6ce4793965ee538bcebe50f31537bfc04d88cd2" - integrity sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug== +stylus@^0.55.0: + version "0.55.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.55.0.tgz#bd404a36dd93fa87744a9dd2d2b1b8450345e5fc" + integrity sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw== dependencies: - css-parse "~2.0.0" + css "^3.0.0" debug "~3.1.0" - glob "^7.1.3" - mkdirp "~0.5.x" + glob "^7.1.6" + mkdirp "~1.0.4" safer-buffer "^2.1.2" sax "~1.2.4" - semver "^6.0.0" + semver "^6.3.0" source-map "^0.7.3" sugarss@^3.0.3: From 5afe766e637827ede728ec7a9fefcfea691dfa35 Mon Sep 17 00:00:00 2001 From: Chris Wilkinson Date: Sat, 9 Oct 2021 21:02:24 +0100 Subject: [PATCH 0079/1076] Fail when unable to build a native package (#6962) --- scripts/build-native.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/build-native.js b/scripts/build-native.js index e4a8058bc8b..080b7d35c1e 100644 --- a/scripts/build-native.js +++ b/scripts/build-native.js @@ -34,9 +34,8 @@ async function build() { shell: true, }); - yarn.on('error', reject); - yarn.on('close', resolve); - }); + yarn.on('close', code => (code === 0 ? resolve() : reject())); + }).catch(() => process.exit(1)); } } From 4312b91df293d15ad8f659ac2434d0d18ff006bb Mon Sep 17 00:00:00 2001 From: Nova Date: Sun, 10 Oct 2021 18:23:47 +0100 Subject: [PATCH 0080/1076] Update Micromatch (#6958) --- packages/core/utils/package.json | 2 +- packages/utils/node-resolver-core/package.json | 2 +- .../utils/node-resolver-core/src/NodeResolver.js | 4 ++++ yarn.lock | 13 +++++++++++++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index dddd39ca988..5ac7b4fdd2e 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -36,7 +36,7 @@ "is-url": "^1.2.2", "json5": "^1.0.1", "lru-cache": "^6.0.0", - "micromatch": "^3.0.4", + "micromatch": "^4.0.4", "node-forge": "^0.10.0", "nullthrows": "^1.1.1", "open": "^7.0.3", diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index 8a0b3140d43..7193f31b80d 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -22,7 +22,7 @@ "@parcel/diagnostic": "2.0.0-rc.0", "@parcel/node-libs-browser": "2.0.0-rc.0", "@parcel/utils": "2.0.0-rc.0", - "micromatch": "^3.0.4", + "micromatch": "^4.0.4", "nullthrows": "^1.1.1" } } diff --git a/packages/utils/node-resolver-core/src/NodeResolver.js b/packages/utils/node-resolver-core/src/NodeResolver.js index 469076fef86..6f54806974c 100644 --- a/packages/utils/node-resolver-core/src/NodeResolver.js +++ b/packages/utils/node-resolver-core/src/NodeResolver.js @@ -1083,6 +1083,10 @@ export default class NodeResolver { for (let key in aliases) { let val = aliases[key]; if (typeof val === 'string' && isGlob(key)) { + // https://github.com/micromatch/picomatch/issues/77 + if (filename.startsWith('./')) { + filename = filename.slice(2); + } let re = micromatch.makeRe(key, {capture: true}); if (re.test(filename)) { alias = filename.replace(re, val); diff --git a/yarn.lock b/yarn.lock index ec86f03282c..76a1ac8e93f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8674,6 +8674,14 @@ micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -9949,6 +9957,11 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +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== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" From 2175e1b74f574a84355d55ddfa914ae134daadef Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 12 Oct 2021 02:01:16 +0200 Subject: [PATCH 0081/1076] Mark '*' as used when the reexport is only decided at runtime (#7049) --- .../core/src/requests/AssetGraphRequest.js | 54 +++++++++++++++++-- .../es6/re-export-all-fallback-1/empty.js | 0 .../es6/re-export-all-fallback-1/index.js | 2 + .../es6/re-export-all-fallback-1/lib.js | 2 + .../es6/re-export-all-fallback-1/mergeWith.js | 1 + .../es6/re-export-all-fallback-1/other.js | 1 + .../es6/re-export-all-fallback-2/a.js | 1 + .../es6/re-export-all-fallback-2/b.js | 1 + .../es6/re-export-all-fallback-2/index.js | 3 ++ .../es6/re-export-all-fallback-2/lib.js | 2 + .../es6/re-export-all-fallback-3/async.js | 3 ++ .../es6/re-export-all-fallback-3/entry.js | 3 ++ .../es6/re-export-all-fallback-3/foo.js | 3 ++ .../re-export-all-fallback-3/other/index.js | 9 ++++ .../es6/re-export-all-fallback-3/package.json | 8 +++ .../re-export-all-fallback-3/re-exports.js | 4 ++ .../es6/re-export-all-fallback-3/rest/bar.js | 3 ++ .../re-export-all-fallback-3/rest/hello.js | 3 ++ .../re-export-all-fallback-3/rest/index.js | 5 ++ .../re-export-all-fallback-3/rest/myString.js | 3 ++ .../es6/re-export-all-fallback-3/stuff.js | 11 ++++ .../es6/re-export-all-fallback-3/yarn.lock | 0 .../es6/re-export-all-fallback-nested/a.js | 1 + .../es6/re-export-all-fallback-nested/b.js | 1 + .../es6/re-export-all-fallback-nested/c.js | 1 + .../es6/re-export-all-fallback-nested/d.js | 1 + .../re-export-all-fallback-nested/index.js | 4 ++ .../es6/re-export-all-fallback-nested/lib.js | 2 + .../es6/re-export-all-fallback-nested/lib1.js | 2 + .../es6/re-export-all-fallback-nested/lib2.js | 2 + .../integration-tests/test/scope-hoisting.js | 49 ++++++++++++++++- .../packagers/js/src/ScopeHoistingPackager.js | 6 ++- 32 files changed, 186 insertions(+), 5 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/empty.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/index.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/lib.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/mergeWith.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/other.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/b.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/index.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/lib.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/async.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/entry.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/foo.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/other/index.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/package.json create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/re-exports.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/bar.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/hello.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/index.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/myString.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/stuff.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/yarn.lock create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/b.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/c.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/d.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/index.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib1.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib2.js diff --git a/packages/core/core/src/requests/AssetGraphRequest.js b/packages/core/core/src/requests/AssetGraphRequest.js index dd051332785..95b8b32ba2e 100644 --- a/packages/core/core/src/requests/AssetGraphRequest.js +++ b/packages/core/core/src/requests/AssetGraphRequest.js @@ -24,6 +24,7 @@ import invariant from 'assert'; import nullthrows from 'nullthrows'; import {PromiseQueue} from '@parcel/utils'; import {hashString} from '@parcel/hash'; +import logger from '@parcel/logger'; import ThrowableDiagnostic, {md} from '@parcel/diagnostic'; import {BundleBehavior, Priority} from '../types'; import AssetGraph from '../AssetGraph'; @@ -401,6 +402,26 @@ export class AssetGraphBuilder { } }); + const logFallbackNamespaceInsertion = ( + assetNode, + symbol, + depNode1, + depNode2, + ) => { + if (this.options.logLevel === 'verbose') { + logger.warn({ + message: `${fromProjectPathRelative( + assetNode.value.filePath, + )} reexports "${symbol}", which could be resolved either to the dependency "${ + depNode1.value.specifier + }" or "${ + depNode2.value.specifier + }" at runtime. Adding a namespace object to fall back on.`, + origin: '@parcel/core', + }); + } + }; + // Because namespace reexports introduce ambiguity, go up the graph from the leaves to the // root and remove requested symbols that aren't actually exported this.propagateSymbolsUp((assetNode, incomingDeps, outgoingDeps) => { @@ -424,7 +445,9 @@ export class AssetGraphBuilder { } } - let reexportedSymbols = new Set(); + // the symbols that are reexport (not used in `asset`) -> the corresponding outgoingDep(s) + // There could be multiple dependencies with non-statically analyzable exports + let reexportedSymbols = new Map(); for (let outgoingDep of outgoingDeps) { let outgoingDepSymbols = outgoingDep.value.symbols; if (!outgoingDepSymbols) continue; @@ -441,7 +464,20 @@ export class AssetGraphBuilder { } if (outgoingDepSymbols.get('*')?.local === '*') { - outgoingDep.usedSymbolsUp.forEach(s => reexportedSymbols.add(s)); + outgoingDep.usedSymbolsUp.forEach(s => { + // If the symbol could come from multiple assets at runtime, assetNode's + // namespace will be needed at runtime to perform the lookup on. + if (reexportedSymbols.has(s) && !assetNode.usedSymbols.has('*')) { + logFallbackNamespaceInsertion( + assetNode, + s, + nullthrows(reexportedSymbols.get(s)), + outgoingDep, + ); + assetNode.usedSymbols.add('*'); + } + reexportedSymbols.set(s, outgoingDep); + }); } for (let s of outgoingDep.usedSymbolsUp) { @@ -458,7 +494,19 @@ export class AssetGraphBuilder { let reexported = assetSymbolsInverse?.get(local); if (reexported != null) { - reexported.forEach(s => reexportedSymbols.add(s)); + reexported.forEach(s => { + // see same code above + if (reexportedSymbols.has(s) && !assetNode.usedSymbols.has('*')) { + logFallbackNamespaceInsertion( + assetNode, + s, + nullthrows(reexportedSymbols.get(s)), + outgoingDep, + ); + assetNode.usedSymbols.add('*'); + } + reexportedSymbols.set(s, outgoingDep); + }); } } } diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/empty.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/empty.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/index.js new file mode 100644 index 00000000000..2b1c9f26a96 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/index.js @@ -0,0 +1,2 @@ +import { mergeWith } from "./lib"; +output = mergeWith; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/lib.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/lib.js new file mode 100644 index 00000000000..8a1e438a54b --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/lib.js @@ -0,0 +1,2 @@ +export * from "./other"; +export * from "./empty"; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/mergeWith.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/mergeWith.js new file mode 100644 index 00000000000..4bbffde1044 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/mergeWith.js @@ -0,0 +1 @@ +module.exports = 2; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/other.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/other.js new file mode 100644 index 00000000000..d862a6ea17b --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-1/other.js @@ -0,0 +1 @@ +export { default as mergeWith } from "./mergeWith"; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/a.js new file mode 100644 index 00000000000..3b75bcaca3e --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/a.js @@ -0,0 +1 @@ +module.exports = { a: 1 }; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/b.js new file mode 100644 index 00000000000..f95f140aaf7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/b.js @@ -0,0 +1 @@ +module.exports = { b: 2 }; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/index.js new file mode 100644 index 00000000000..cd93affa04f --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/index.js @@ -0,0 +1,3 @@ +import { b } from "./lib"; + +output = b; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/lib.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/lib.js new file mode 100644 index 00000000000..3ebcd0b9763 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-2/lib.js @@ -0,0 +1,2 @@ +export * from "./a"; +export * from "./b"; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/async.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/async.js new file mode 100644 index 00000000000..43497bd93f8 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/async.js @@ -0,0 +1,3 @@ +import { FOO } from './re-exports'; + +sideEffectNoop(FOO) diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/entry.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/entry.js new file mode 100644 index 00000000000..b1436b046f8 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/entry.js @@ -0,0 +1,3 @@ +import {doStuff} from './stuff'; + +output = doStuff(); diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/foo.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/foo.js new file mode 100644 index 00000000000..ff0ae0bacd0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/foo.js @@ -0,0 +1,3 @@ +//@flow + +export const FOO = 'FOO'; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/other/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/other/index.js new file mode 100644 index 00000000000..111138fb70e --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/other/index.js @@ -0,0 +1,9 @@ +//@flow + +import {FOO, BAR, type MyString} from "../re-exports"; + +const myFunc = (): MyString => FOO + BAR; + +let res = myFunc(); + +export const fooBar = (): MyString => res; \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/package.json b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/package.json new file mode 100644 index 00000000000..96cbe11e1f0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/package.json @@ -0,0 +1,8 @@ +{ + "dependencies": { + "flow-bin": "0.157.0" + }, + "sideEffects": [ + "entry.js" + ] +} diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/re-exports.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/re-exports.js new file mode 100644 index 00000000000..f30dd87704d --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/re-exports.js @@ -0,0 +1,4 @@ +//@flow + +export * from './foo'; +export * from './rest'; \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/bar.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/bar.js new file mode 100644 index 00000000000..d69171edbdd --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/bar.js @@ -0,0 +1,3 @@ +//@flow + +export const BAR = 'BAR'; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/hello.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/hello.js new file mode 100644 index 00000000000..7a2f7d24912 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/hello.js @@ -0,0 +1,3 @@ +//@flow + +export type Hello = 1 | 2; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/index.js new file mode 100644 index 00000000000..4fb4d9d3d1d --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/index.js @@ -0,0 +1,5 @@ +//@flow + +export * from './bar'; +export * from './myString'; +export * from './hello'; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/myString.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/myString.js new file mode 100644 index 00000000000..d0e06098035 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/rest/myString.js @@ -0,0 +1,3 @@ +//@flow + +export type MyString = string; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/stuff.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/stuff.js new file mode 100644 index 00000000000..2e871178bbe --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/stuff.js @@ -0,0 +1,11 @@ +//@flow + +import {fooBar} from './other' +import {FOO, BAR, type MyString} from './re-exports' +import("./async"); + +const res = (): MyString => fooBar() + "!"; +// $FlowFixMe +sideEffectNoop(res()); + +export const doStuff = res; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/yarn.lock b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-3/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/a.js new file mode 100644 index 00000000000..3b75bcaca3e --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/a.js @@ -0,0 +1 @@ +module.exports = { a: 1 }; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/b.js new file mode 100644 index 00000000000..f95f140aaf7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/b.js @@ -0,0 +1 @@ +module.exports = { b: 2 }; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/c.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/c.js new file mode 100644 index 00000000000..9d7553fb433 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/c.js @@ -0,0 +1 @@ +module.exports = { c: 3 }; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/d.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/d.js new file mode 100644 index 00000000000..f7e1e8a3d36 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/d.js @@ -0,0 +1 @@ +module.exports = { d: 4 }; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/index.js new file mode 100644 index 00000000000..d50b11090a7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/index.js @@ -0,0 +1,4 @@ +import { b } from "./lib"; +import { d } from "./lib2"; + +output = `${b} ${d}` diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib.js new file mode 100644 index 00000000000..83590708a85 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib.js @@ -0,0 +1,2 @@ +export * from "./lib1"; +export * from "./lib2"; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib1.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib1.js new file mode 100644 index 00000000000..3ebcd0b9763 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib1.js @@ -0,0 +1,2 @@ +export * from "./a"; +export * from "./b"; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib2.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib2.js new file mode 100644 index 00000000000..0f33339cfec --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-all-fallback-nested/lib2.js @@ -0,0 +1,2 @@ +export * from "./c"; +export * from "./d"; diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index 13cce7e853b..0e408ac46f4 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -261,6 +261,53 @@ describe('scope hoisting', function() { assert.equal(output, 6); }); + it('supports re-exporting all when falling back to namespace at runtime 1', async function() { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/re-export-all-fallback-1/index.js', + ), + ); + + let output = await run(b); + assert.strictEqual(output, 2); + }); + + it('supports re-exporting all when falling back to namespace at runtime 2', async function() { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/re-export-all-fallback-2/index.js', + ), + ); + + let output = await run(b); + assert.strictEqual(output, 2); + }); + + it('supports re-exporting all when falling back to namespace at runtime 3', async function() { + let b = await bundle( + path.join( + __dirname, + 'integration/scope-hoisting/es6/re-export-all-fallback-3/entry.js', + ), + ); + let output = await run(b); + assert.strictEqual(output, 'FOOBAR!'); + }); + + it('supports nested re-exporting all when falling back to namespace at runtime', async function() { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/re-export-all-fallback-nested/index.js', + ), + ); + + let output = await run(b); + assert.strictEqual(output, '2 4'); + }); + it('supports re-exporting all exports from an external module', async function() { let b = await bundle( path.join( @@ -3293,7 +3340,7 @@ describe('scope hoisting', function() { }, }); - assert.deepEqual(calls, ['esm', 'commonjs']); + assert.deepEqual(calls, ['esm', 'commonjs', 'index']); assert.deepEqual(output, 'Message 1'); }); diff --git a/packages/packagers/js/src/ScopeHoistingPackager.js b/packages/packagers/js/src/ScopeHoistingPackager.js index 823552a303a..1e6d7e29a7c 100644 --- a/packages/packagers/js/src/ScopeHoistingPackager.js +++ b/packages/packagers/js/src/ScopeHoistingPackager.js @@ -978,7 +978,10 @@ ${code} if ( isWrapped || resolved.meta.staticExports === false || - nullthrows(this.bundleGraph.getUsedSymbols(resolved)).has('*') + nullthrows(this.bundleGraph.getUsedSymbols(resolved)).has('*') || + // an empty asset + (!resolved.meta.hasCJSExports && + resolved.symbols.hasExportSymbol('*')) ) { let obj = this.getSymbolResolution(asset, resolved, '*', dep); append += `$parcel$exportWildcard($${assetId}$exports, ${obj});\n`; @@ -1007,6 +1010,7 @@ ${code} prepend += `$parcel$export($${assetId}$exports, ${JSON.stringify( symbol, )}, ${get}${set});\n`; + this.usedHelpers.add('$parcel$export'); prependLineCount++; } } From bea9442267a7fcf9062fe58d1f8875fbc0493adb Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 12 Oct 2021 02:02:04 +0200 Subject: [PATCH 0082/1076] Fix named export with different export name for wrapped assets (#7052) --- .../named-export-variable-rename-wrapped/a.js | 3 +++ .../named-export-variable-rename-wrapped/b.js | 2 ++ .../es6/named-export-variable-rename/a.js | 3 +++ .../es6/named-export-variable-rename/b.js | 2 ++ .../integration-tests/test/scope-hoisting.js | 23 +++++++++++++++++++ packages/transformers/js/core/src/hoist.rs | 9 ++++---- 6 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename-wrapped/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename-wrapped/b.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename/b.js diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename-wrapped/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename-wrapped/a.js new file mode 100644 index 00000000000..229761a608f --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename-wrapped/a.js @@ -0,0 +1,3 @@ +import {foo} from './b'; + +output = foo; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename-wrapped/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename-wrapped/b.js new file mode 100644 index 00000000000..35602d134e0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename-wrapped/b.js @@ -0,0 +1,2 @@ +var bar = module && 2; +export {bar as foo}; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename/a.js new file mode 100644 index 00000000000..229761a608f --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename/a.js @@ -0,0 +1,3 @@ +import {foo} from './b'; + +output = foo; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename/b.js new file mode 100644 index 00000000000..bfe56e11c81 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/named-export-variable-rename/b.js @@ -0,0 +1,2 @@ +var bar = 2; +export {bar as foo}; diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index 0e408ac46f4..f037b9dc871 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -123,6 +123,29 @@ describe('scope hoisting', function() { assert.equal(output, 2); }); + it('supports named exports of variables with a different name', async function() { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/named-export-variable-rename/a.js', + ), + ); + + let output = await run(b); + assert.equal(output, 2); + }); + it('supports named exports of variables with a different name when wrapped', async function() { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/named-export-variable-rename-wrapped/a.js', + ), + ); + + let output = await run(b); + assert.equal(output, 2); + }); + it('supports renaming non-ASCII identifiers', async function() { let b = await bundle( path.join( diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index ec0e648a712..f0ca7b13481 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -268,14 +268,15 @@ impl<'a> Fold for Hoist<'a> { // A variable will appear only once in the `exports` mapping but // could be exported multiple times with different names. // Find the original exported name, and remap. - let orig_exported = self.collect.exports.get(&id).unwrap(); let id = if self.collect.should_wrap { - Ident::new(orig_exported.clone(), DUMMY_SP) + id.0 } else { - self.get_export_ident(DUMMY_SP, orig_exported) + self + .get_export_ident(DUMMY_SP, self.collect.exports.get(&id).unwrap()) + .sym }; self.exported_symbols.push(ExportedSymbol { - local: id.sym, + local: id, exported, loc: SourceLocation::from(&self.collect.source_map, named.span), }); From dbe1153d144c155a418786c618217fd4931715f9 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Mon, 11 Oct 2021 18:36:49 -0700 Subject: [PATCH 0083/1076] Fix order of hoisted variable declarations (#7053) --- packages/transformers/js/core/src/hoist.rs | 120 +++++++++++---------- 1 file changed, 66 insertions(+), 54 deletions(-) diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index f0ca7b13481..6b37bb45f2a 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -75,6 +75,7 @@ struct Hoist<'a> { collect: &'a Collect, module_items: Vec, export_decls: HashSet, + hoisted_imports: Vec, imported_symbols: Vec, exported_symbols: Vec, re_exports: Vec, @@ -105,6 +106,7 @@ impl<'a> Hoist<'a> { collect, module_items: vec![], export_decls: HashSet::new(), + hoisted_imports: vec![], imported_symbols: vec![], exported_symbols: vec![], re_exports: vec![], @@ -146,24 +148,25 @@ macro_rules! hoist_visit_fn { impl<'a> Fold for Hoist<'a> { fn fold_module(&mut self, node: Module) -> Module { let mut node = node; - let mut hoisted_imports = vec![]; for item in node.body { match item { ModuleItem::ModuleDecl(decl) => { match decl { ModuleDecl::Import(import) => { - hoisted_imports.push(ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl { - specifiers: vec![], - asserts: None, - span: DUMMY_SP, - src: Str { - value: format!("{}:{}", self.module_id, import.src.value).into(), + self + .hoisted_imports + .push(ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl { + specifiers: vec![], + asserts: None, span: DUMMY_SP, - kind: StrKind::Synthesized, - has_escape: false, - }, - type_only: false, - }))); + src: Str { + value: format!("{}:{}", self.module_id, import.src.value).into(), + span: DUMMY_SP, + kind: StrKind::Synthesized, + has_escape: false, + }, + type_only: false, + }))); // Ensure that all import specifiers are constant. for specifier in &import.specifiers { @@ -201,18 +204,20 @@ impl<'a> Fold for Hoist<'a> { ModuleDecl::ExportNamed(export) => { if let Some(src) = export.src { // TODO: skip if already imported. - hoisted_imports.push(ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl { - specifiers: vec![], - asserts: None, - span: DUMMY_SP, - src: Str { - value: format!("{}:{}", self.module_id, src.value).into(), + self + .hoisted_imports + .push(ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl { + specifiers: vec![], + asserts: None, span: DUMMY_SP, - kind: StrKind::Synthesized, - has_escape: false, - }, - type_only: false, - }))); + src: Str { + value: format!("{}:{}", self.module_id, src.value).into(), + span: DUMMY_SP, + kind: StrKind::Synthesized, + has_escape: false, + }, + type_only: false, + }))); for specifier in export.specifiers { match specifier { @@ -286,18 +291,20 @@ impl<'a> Fold for Hoist<'a> { } } ModuleDecl::ExportAll(export) => { - hoisted_imports.push(ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl { - specifiers: vec![], - asserts: None, - span: DUMMY_SP, - src: Str { - value: format!("{}:{}", self.module_id, export.src.value).into(), + self + .hoisted_imports + .push(ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl { + specifiers: vec![], + asserts: None, span: DUMMY_SP, - kind: StrKind::Synthesized, - has_escape: false, - }, - type_only: false, - }))); + src: Str { + value: format!("{}:{}", self.module_id, export.src.value).into(), + span: DUMMY_SP, + kind: StrKind::Synthesized, + has_escape: false, + }, + type_only: false, + }))); self.re_exports.push(ImportedSymbol { source: export.src.value, local: "*".into(), @@ -522,21 +529,9 @@ impl<'a> Fold for Hoist<'a> { } } - for name in self.export_decls.drain() { - hoisted_imports.push(ModuleItem::Stmt(Stmt::Decl(Decl::Var(VarDecl { - declare: false, - kind: VarDeclKind::Var, - span: node.span, - decls: vec![VarDeclarator { - definite: false, - span: node.span, - name: Pat::Ident(BindingIdent::from(Ident::new(name, DUMMY_SP))), - init: None, - }], - })))); - } - - self.module_items.splice(0..0, hoisted_imports); + self + .module_items + .splice(0..0, self.hoisted_imports.drain(0..)); node.body = std::mem::take(&mut self.module_items); node } @@ -922,7 +917,24 @@ impl<'a> Fold for Hoist<'a> { let ident = BindingIdent::from(self.get_export_ident(member.span, &key)); if self.collect.static_cjs_exports { - self.export_decls.insert(ident.id.sym.clone()); + if self.export_decls.insert(ident.id.sym.clone()) { + self + .hoisted_imports + .push(ModuleItem::Stmt(Stmt::Decl(Decl::Var(VarDecl { + declare: false, + kind: VarDeclKind::Var, + span: node.span, + decls: vec![VarDeclarator { + definite: false, + span: node.span, + name: Pat::Ident(BindingIdent::from(Ident::new( + ident.id.sym.clone(), + DUMMY_SP, + ))), + init: None, + }], + })))); + } } return AssignExpr { @@ -1070,7 +1082,7 @@ impl<'a> Hoist<'a> { // a local variable referencing them so that we can safely re-assign the local variable // without affecting the original export. This is only possible in CommonJS since ESM // imports are constant (this is ensured by the diagnostic in fold_module above). - let mut non_const_bindings = HashSet::new(); + let mut non_const_bindings = vec![]; self .collect .get_non_const_binding_idents(&v.name, &mut non_const_bindings); @@ -1850,11 +1862,11 @@ impl Collect { } } - fn get_non_const_binding_idents(&self, node: &Pat, idents: &mut HashSet) { + fn get_non_const_binding_idents(&self, node: &Pat, idents: &mut Vec) { match node { Pat::Ident(ident) => { if self.non_const_bindings.contains_key(&id!(ident.id)) { - idents.insert(ident.id.clone()); + idents.push(ident.id.clone()); } } Pat::Object(object) => { @@ -1865,7 +1877,7 @@ impl Collect { } ObjectPatProp::Assign(assign) => { if self.non_const_bindings.contains_key(&id!(assign.key)) { - idents.insert(assign.key.clone()); + idents.push(assign.key.clone()); } } ObjectPatProp::Rest(rest) => { From 2c83842687bda59beaa8e108cc30da6ea26b6a86 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Tue, 12 Oct 2021 14:25:16 -0700 Subject: [PATCH 0084/1076] Fix scope resolution for TS enums (#7057) --- .../test/integration/typescript-enum/index.ts | 19 ++++++++++++ .../core/integration-tests/test/typescript.js | 31 +++++++++++++++++++ packages/transformers/js/core/src/lib.rs | 7 +++-- 3 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/typescript-enum/index.ts diff --git a/packages/core/integration-tests/test/integration/typescript-enum/index.ts b/packages/core/integration-tests/test/integration/typescript-enum/index.ts new file mode 100644 index 00000000000..bb5eb44e9cb --- /dev/null +++ b/packages/core/integration-tests/test/integration/typescript-enum/index.ts @@ -0,0 +1,19 @@ +export enum A { + X = 'X', + Y = 'Y', +} + +export enum B { + X = 'X', + Y = 'Y', +} + +export enum C { + X = 'X', + Y = 'Y', +} + +export const z = { + a: A.X, + c: C.Y, +}; diff --git a/packages/core/integration-tests/test/typescript.js b/packages/core/integration-tests/test/typescript.js index 619f92104ae..79f2e5e915f 100644 --- a/packages/core/integration-tests/test/typescript.js +++ b/packages/core/integration-tests/test/typescript.js @@ -203,5 +203,36 @@ describe('typescript', function() { {config}, ); }); + + it('should handle compile enums correctly', async function() { + if (config != null) { + return; + } + let b = await bundle( + path.join(__dirname, '/integration/typescript-enum/index.ts'), + {config}, + ); + + let output = await run(b); + + assert.deepEqual(output, { + A: { + X: 'X', + Y: 'Y', + }, + B: { + X: 'X', + Y: 'Y', + }, + C: { + X: 'X', + Y: 'Y', + }, + z: { + a: 'X', + c: 'Y', + }, + }); + }); } }); diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index 39e7e56a266..2d616ee0eb9 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -253,10 +253,9 @@ pub fn transform(config: Config) -> Result { let global_mark = Mark::fresh(Mark::root()); let ignore_mark = Mark::fresh(Mark::root()); - module = module.fold_with(&mut resolver_with_mark(global_mark)); - module = { let mut passes = chain!( + resolver_with_mark(global_mark), Optional::new( react::react( source_map.clone(), @@ -275,7 +274,9 @@ pub fn transform(config: Config) -> Result { }), config.decorators ), - Optional::new(typescript::strip(), config.is_type_script) + Optional::new(typescript::strip(), config.is_type_script), + // Run resolver again. TS pass messes things up. + resolver_with_mark(global_mark), ); module.fold_with(&mut passes) From c78601b90ca7aeb87a8a38b6221766cebbb09c71 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Tue, 12 Oct 2021 15:10:58 -0700 Subject: [PATCH 0085/1076] shouldVisitChild: Check parent and child node previously deferred separately (#7043) --- packages/core/core/src/AssetGraph.js | 20 ++++---- .../unmarks-defer-for-assetgroup/index1.js | 3 ++ .../unmarks-defer-for-assetgroup/index2.js | 3 ++ .../unmarks-defer-for-assetgroup/index3.js | 3 ++ .../package/bar.js | 1 + .../package/barer.js | 1 + .../package/foo.js | 1 + .../package/index.js | 5 ++ .../package/package.json | 3 ++ .../integration-tests/test/scope-hoisting.js | 48 +++++++++++++++++++ 10 files changed, 80 insertions(+), 8 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index1.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index2.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index3.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/bar.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/barer.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/foo.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/index.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/package.json diff --git a/packages/core/core/src/AssetGraph.js b/packages/core/core/src/AssetGraph.js index e5d11df7e59..91ddf582faa 100644 --- a/packages/core/core/src/AssetGraph.js +++ b/packages/core/core/src/AssetGraph.js @@ -301,17 +301,21 @@ export default class AssetGraph extends ContentGraph { ) { return true; } - - let {sideEffects, canDefer = true} = childNode.value; - let dependency = node.value; - let previouslyDeferred = node.hasDeferred; + // Node types are proved above + let dependencyNode = node; + let assetGroupNode = childNode; + + let {sideEffects, canDefer = true} = assetGroupNode.value; + let dependency = dependencyNode.value; + let dependencyPreviouslyDeferred = dependencyNode.hasDeferred; + let assetGroupPreviouslyDeferred = assetGroupNode.deferred; let defer = this.shouldDeferDependency(dependency, sideEffects, canDefer); - node.hasDeferred = defer; - childNode.deferred = defer; + dependencyNode.hasDeferred = defer; + assetGroupNode.deferred = defer; - if (!previouslyDeferred && defer) { + if (!dependencyPreviouslyDeferred && defer) { this.markParentsWithHasDeferred(nodeId); - } else if (previouslyDeferred && !defer) { + } else if (assetGroupPreviouslyDeferred && !defer) { this.unmarkParentsWithHasDeferred(childNodeId); } diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index1.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index1.js new file mode 100644 index 00000000000..233715f298a --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index1.js @@ -0,0 +1,3 @@ +import { barer } from './package'; + +output = barer; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index2.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index2.js new file mode 100644 index 00000000000..2bd05a28892 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index2.js @@ -0,0 +1,3 @@ +import { barer, foo } from './package'; + +output = `${barer} ${foo}`; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index3.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index3.js new file mode 100644 index 00000000000..e0f57a6444a --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/index3.js @@ -0,0 +1,3 @@ +import { barer, foo, bar } from './package'; + +output = `${barer} ${foo} ${bar}`; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/bar.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/bar.js new file mode 100644 index 00000000000..9f17386851f --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/bar.js @@ -0,0 +1 @@ +export const bar = 'bar'; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/barer.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/barer.js new file mode 100644 index 00000000000..e03e7e8a0f9 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/barer.js @@ -0,0 +1 @@ +export {bar as barer} from "./bar"; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/foo.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/foo.js new file mode 100644 index 00000000000..3329a7d972f --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/foo.js @@ -0,0 +1 @@ +export const foo = 'foo'; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/index.js new file mode 100644 index 00000000000..db9e146a9e5 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/index.js @@ -0,0 +1,5 @@ +export {foo} from './foo'; +export {bar} from './bar'; +export {barer} from './barer'; + +sideEffectNoop(module); diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/package.json b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/package.json new file mode 100644 index 00000000000..c526b96ffdf --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unmarks-defer-for-assetgroup/package/package.json @@ -0,0 +1,3 @@ +{ + "sideEffects": ["index.js"] +} diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index f037b9dc871..043915e08bc 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -6034,4 +6034,52 @@ describe('scope hoisting', function() { shouldDisableCache: false, }); }); + + it('unmark an asset group as deferred when it becomes used', async function() { + let testDir = path.join( + __dirname, + 'integration/scope-hoisting/es6/unmarks-defer-for-assetgroup', + ); + + await overlayFS.mkdirp(testDir); + await overlayFS.copyFile( + path.join(testDir, 'index1.js'), + path.join(testDir, 'index.js'), + ); + + let b = await bundle(path.join(testDir, 'index.js'), { + inputFS: overlayFS, + outputFS: overlayFS, + shouldDisableCache: true, + }); + + await run(b); + + await overlayFS.copyFile( + path.join(testDir, 'index2.js'), + path.join(testDir, 'index.js'), + ); + + b = await bundle(path.join(testDir, 'index.js'), { + inputFS: overlayFS, + outputFS: overlayFS, + shouldDisableCache: false, + }); + + await run(b); + + await overlayFS.copyFile( + path.join(testDir, 'index3.js'), + path.join(testDir, 'index.js'), + ); + + b = await bundle(path.join(testDir, 'index.js'), { + inputFS: overlayFS, + outputFS: overlayFS, + shouldDisableCache: false, + }); + + let output = await run(b); + assert.strictEqual(output, 'bar foo bar'); + }); }); From aa0a369e16e20e3348807093911385c93aa9f4c0 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Tue, 12 Oct 2021 19:08:38 -0700 Subject: [PATCH 0086/1076] Small copy change --- packages/core/parcel/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/parcel/README.md b/packages/core/parcel/README.md index 05297619078..86b35105722 100644 --- a/packages/core/parcel/README.md +++ b/packages/core/parcel/README.md @@ -11,7 +11,7 @@ [![Discord](https://img.shields.io/discord/894288336095690753)](https://discord.gg/XSCzqGRuvr) [![Twitter Follow](https://img.shields.io/twitter/follow/parceljs.svg?style=social)](https://twitter.com/parceljs) -Parcel is a zero configuration build tool for the web. It combines a great out-of-the-box development experience with a scalable architecture that can take your project from just getting started to massive business-critical application. +Parcel is a zero configuration build tool for the web. It combines a great out-of-the-box development experience with a scalable architecture that can take your project from just getting started to massive production application. ## Features From 84da50ae6943bff9741e2fc76d2f4968074cbbd6 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Tue, 12 Oct 2021 19:16:08 -0700 Subject: [PATCH 0087/1076] v2.0.0 --- package.json | 2 +- packages/bundlers/default/package.json | 12 +- packages/compressors/brotli/package.json | 6 +- packages/compressors/gzip/package.json | 6 +- packages/compressors/raw/package.json | 6 +- packages/configs/default/package.json | 110 +++++++++--------- packages/configs/webextension/package.json | 8 +- packages/core/cache/package.json | 8 +- packages/core/codeframe/package.json | 2 +- packages/core/core/package.json | 26 ++--- packages/core/diagnostic/package.json | 2 +- packages/core/fs/package.json | 14 +-- packages/core/graph/package.json | 2 +- packages/core/integration-tests/package.json | 4 +- .../package.json | 2 +- packages/core/is-v2-ready-yet/package.json | 4 +- packages/core/logger/package.json | 6 +- packages/core/markdown-ansi/package.json | 2 +- packages/core/package-manager/package.json | 16 +-- packages/core/parcel/package.json | 24 ++-- packages/core/plugin/package.json | 4 +- packages/core/register/package.json | 10 +- packages/core/test-utils/package.json | 12 +- packages/core/types/package.json | 12 +- packages/core/utils/package.json | 12 +- packages/core/workers/package.json | 12 +- packages/dev/babel-preset/package.json | 2 +- packages/dev/babel-register/package.json | 4 +- .../dev/eslint-config-browser/package.json | 4 +- packages/dev/eslint-config/package.json | 4 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 2 +- packages/examples/eslint-example/package.json | 8 +- packages/examples/html/package.json | 6 +- .../examples/internalize-example/package.json | 2 +- packages/examples/kitchen-sink/package.json | 12 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 6 +- packages/examples/simple/package.json | 6 +- packages/examples/three/package.json | 6 +- packages/examples/ts-example/package.json | 6 +- .../ts-typecheck-example/package.json | 8 +- packages/namers/default/package.json | 8 +- packages/optimizers/blob-url/package.json | 8 +- packages/optimizers/cssnano/package.json | 6 +- packages/optimizers/data-url/package.json | 8 +- packages/optimizers/esbuild/package.json | 10 +- packages/optimizers/htmlnano/package.json | 6 +- packages/optimizers/image/package.json | 8 +- packages/optimizers/svgo/package.json | 10 +- packages/optimizers/terser/package.json | 10 +- packages/packagers/css/package.json | 8 +- packages/packagers/html/package.json | 10 +- packages/packagers/js/package.json | 12 +- packages/packagers/raw-url/package.json | 8 +- packages/packagers/raw/package.json | 6 +- packages/packagers/svg/package.json | 10 +- packages/packagers/ts/package.json | 6 +- packages/packagers/xml/package.json | 10 +- packages/reporters/build-metrics/package.json | 8 +- .../reporters/bundle-analyzer/package.json | 10 +- packages/reporters/bundle-buddy/package.json | 6 +- packages/reporters/cli/package.json | 10 +- packages/reporters/dev-server/package.json | 12 +- packages/reporters/json/package.json | 10 +- .../sourcemap-visualiser/package.json | 10 +- packages/resolvers/default/package.json | 8 +- packages/resolvers/glob/package.json | 10 +- packages/runtimes/hmr/package.json | 8 +- packages/runtimes/js/package.json | 8 +- packages/runtimes/react-refresh/package.json | 8 +- packages/runtimes/service-worker/package.json | 8 +- packages/shared/babel-ast-utils/package.json | 6 +- packages/transformers/babel/package.json | 14 +-- .../transformers/coffeescript/package.json | 8 +- packages/transformers/css/package.json | 8 +- packages/transformers/elm/package.json | 8 +- packages/transformers/glsl/package.json | 6 +- packages/transformers/graphql/package.json | 6 +- packages/transformers/html/package.json | 8 +- packages/transformers/image/package.json | 8 +- .../transformers/inline-string/package.json | 6 +- packages/transformers/inline/package.json | 6 +- packages/transformers/js/native.js | 2 - packages/transformers/js/package.json | 13 +-- packages/transformers/json/package.json | 6 +- packages/transformers/jsonld/package.json | 8 +- packages/transformers/less/package.json | 6 +- packages/transformers/mdx/package.json | 6 +- packages/transformers/postcss/package.json | 10 +- packages/transformers/posthtml/package.json | 8 +- packages/transformers/pug/package.json | 6 +- packages/transformers/raw/package.json | 6 +- .../react-refresh-wrap/package.json | 8 +- packages/transformers/sass/package.json | 6 +- packages/transformers/stylus/package.json | 8 +- packages/transformers/sugarss/package.json | 6 +- packages/transformers/svg-react/package.json | 6 +- packages/transformers/svg/package.json | 8 +- packages/transformers/toml/package.json | 6 +- .../transformers/typescript-tsc/package.json | 8 +- .../typescript-types/package.json | 8 +- packages/transformers/vue/package.json | 10 +- .../transformers/webextension/package.json | 10 +- .../transformers/webmanifest/package.json | 10 +- packages/transformers/worklet/package.json | 6 +- packages/transformers/xml/package.json | 6 +- packages/transformers/yaml/package.json | 6 +- .../package.json | 4 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/babylon-walk/package.json | 2 +- packages/utils/create-react-app/package.json | 4 +- packages/utils/events/package.json | 2 +- packages/utils/fs-search/index.js | 2 - packages/utils/fs-search/package.json | 5 +- .../utils/fs-write-stream-atomic/package.json | 2 +- packages/utils/hash/index.js | 3 - packages/utils/hash/package.json | 2 +- packages/utils/node-libs-browser/package.json | 2 +- .../utils/node-resolver-core/package.json | 8 +- packages/utils/service-worker/package.json | 4 +- packages/utils/ts-utils/package.json | 2 +- packages/validators/eslint/package.json | 8 +- packages/validators/typescript/package.json | 14 +-- yarn.lock | 32 ----- 125 files changed, 495 insertions(+), 536 deletions(-) diff --git a/package.json b/package.json index be8a10235e1..2670e8f35e9 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "nightly:release": "lerna publish -y --canary --preid nightly --dist-tag=nightly --exact --force-publish=* --no-git-tag-version --no-push", "tag:prerelease": "lerna version --exact --force-publish=* --no-git-tag-version --no-push && node scripts/update-config-dependencies.js", "tag:release": "lerna version --force-publish=* --no-git-tag-version --no-push && node scripts/update-config-dependencies.js", - "release": "lerna publish -y from-package --dist-tag=next --no-git-tag-version --no-push", + "release": "lerna publish -y from-package --pre-dist-tag=next --no-git-tag-version --no-push", "prepare": "husky install" }, "devDependencies": { diff --git a/packages/bundlers/default/package.json b/packages/bundlers/default/package.json index bb686466d3c..6f421c4299f 100644 --- a/packages/bundlers/default/package.json +++ b/packages/bundlers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-default", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/DefaultBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/hash": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/hash": "^2.0.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1" } } diff --git a/packages/compressors/brotli/package.json b/packages/compressors/brotli/package.json index e295cbcf171..d084aa04b03 100644 --- a/packages/compressors/brotli/package.json +++ b/packages/compressors/brotli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-brotli", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BrotliCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/compressors/gzip/package.json b/packages/compressors/gzip/package.json index c0659f8d69a..58cc0f794ca 100644 --- a/packages/compressors/gzip/package.json +++ b/packages/compressors/gzip/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-gzip", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/GzipCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/compressors/raw/package.json b/packages/compressors/raw/package.json index 9d73543c7a8..d9da57298e4 100644 --- a/packages/compressors/raw/package.json +++ b/packages/compressors/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-raw", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index c207e472ef3..435adb1776f 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-default", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,63 +18,63 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "2.0.0-rc.0", - "@parcel/compressor-raw": "2.0.0-rc.0", - "@parcel/namer-default": "2.0.0-rc.0", - "@parcel/optimizer-cssnano": "2.0.0-rc.0", - "@parcel/optimizer-htmlnano": "2.0.0-rc.0", - "@parcel/optimizer-image": "2.0.0-rc.0", - "@parcel/optimizer-svgo": "2.0.0-rc.0", - "@parcel/optimizer-terser": "2.0.0-rc.0", - "@parcel/packager-css": "2.0.0-rc.0", - "@parcel/packager-html": "2.0.0-rc.0", - "@parcel/packager-js": "2.0.0-rc.0", - "@parcel/packager-raw": "2.0.0-rc.0", - "@parcel/packager-svg": "2.0.0-rc.0", - "@parcel/reporter-dev-server": "2.0.0-rc.0", - "@parcel/resolver-default": "2.0.0-rc.0", - "@parcel/runtime-browser-hmr": "2.0.0-rc.0", - "@parcel/runtime-js": "2.0.0-rc.0", - "@parcel/runtime-react-refresh": "2.0.0-rc.0", - "@parcel/runtime-service-worker": "2.0.0-rc.0", - "@parcel/transformer-babel": "2.0.0-rc.0", - "@parcel/transformer-css": "2.0.0-rc.0", - "@parcel/transformer-html": "2.0.0-rc.0", - "@parcel/transformer-image": "2.0.0-rc.0", - "@parcel/transformer-js": "2.0.0-rc.0", - "@parcel/transformer-json": "2.0.0-rc.0", - "@parcel/transformer-postcss": "2.0.0-rc.0", - "@parcel/transformer-posthtml": "2.0.0-rc.0", - "@parcel/transformer-raw": "2.0.0-rc.0", - "@parcel/transformer-react-refresh-wrap": "2.0.0-rc.0", - "@parcel/transformer-svg": "2.0.0-rc.0" + "@parcel/bundler-default": "^2.0.0", + "@parcel/compressor-raw": "^2.0.0", + "@parcel/namer-default": "^2.0.0", + "@parcel/optimizer-cssnano": "^2.0.0", + "@parcel/optimizer-htmlnano": "^2.0.0", + "@parcel/optimizer-image": "^2.0.0", + "@parcel/optimizer-svgo": "^2.0.0", + "@parcel/optimizer-terser": "^2.0.0", + "@parcel/packager-css": "^2.0.0", + "@parcel/packager-html": "^2.0.0", + "@parcel/packager-js": "^2.0.0", + "@parcel/packager-raw": "^2.0.0", + "@parcel/packager-svg": "^2.0.0", + "@parcel/reporter-dev-server": "^2.0.0", + "@parcel/resolver-default": "^2.0.0", + "@parcel/runtime-browser-hmr": "^2.0.0", + "@parcel/runtime-js": "^2.0.0", + "@parcel/runtime-react-refresh": "^2.0.0", + "@parcel/runtime-service-worker": "^2.0.0", + "@parcel/transformer-babel": "^2.0.0", + "@parcel/transformer-css": "^2.0.0", + "@parcel/transformer-html": "^2.0.0", + "@parcel/transformer-image": "^2.0.0", + "@parcel/transformer-js": "^2.0.0", + "@parcel/transformer-json": "^2.0.0", + "@parcel/transformer-postcss": "^2.0.0", + "@parcel/transformer-posthtml": "^2.0.0", + "@parcel/transformer-raw": "^2.0.0", + "@parcel/transformer-react-refresh-wrap": "^2.0.0", + "@parcel/transformer-svg": "^2.0.0" }, "parcelDependencies": { - "@parcel/optimizer-data-url": "2.0.0-rc.0", - "@parcel/packager-raw-url": "2.0.0-rc.0", - "@parcel/packager-ts": "2.0.0-rc.0", - "@parcel/packager-xml": "2.0.0-rc.0", - "@parcel/transformer-coffeescript": "2.0.0-rc.0", - "@parcel/transformer-elm": "2.0.0-rc.0", - "@parcel/transformer-glsl": "2.0.0-rc.0", - "@parcel/transformer-graphql": "2.0.0-rc.0", - "@parcel/transformer-inline-string": "2.0.0-rc.0", - "@parcel/transformer-jsonld": "2.0.0-rc.0", - "@parcel/transformer-less": "2.0.0-rc.0", - "@parcel/transformer-mdx": "2.0.0-rc.0", - "@parcel/transformer-pug": "2.0.0-rc.0", - "@parcel/transformer-sass": "2.0.0-rc.0", - "@parcel/transformer-stylus": "2.0.0-rc.0", - "@parcel/transformer-sugarss": "2.0.0-rc.0", - "@parcel/transformer-toml": "2.0.0-rc.0", - "@parcel/transformer-typescript-types": "2.0.0-rc.0", - "@parcel/transformer-vue": "2.0.0-rc.0", - "@parcel/transformer-webmanifest": "2.0.0-rc.0", - "@parcel/transformer-worklet": "2.0.0-rc.0", - "@parcel/transformer-xml": "2.0.0-rc.0", - "@parcel/transformer-yaml": "2.0.0-rc.0" + "@parcel/optimizer-data-url": "^2.0.0", + "@parcel/packager-raw-url": "^2.0.0", + "@parcel/packager-ts": "^2.0.0", + "@parcel/packager-xml": "^2.0.0", + "@parcel/transformer-coffeescript": "^2.0.0", + "@parcel/transformer-elm": "^2.0.0", + "@parcel/transformer-glsl": "^2.0.0", + "@parcel/transformer-graphql": "^2.0.0", + "@parcel/transformer-inline-string": "^2.0.0", + "@parcel/transformer-jsonld": "^2.0.0", + "@parcel/transformer-less": "^2.0.0", + "@parcel/transformer-mdx": "^2.0.0", + "@parcel/transformer-pug": "^2.0.0", + "@parcel/transformer-sass": "^2.0.0", + "@parcel/transformer-stylus": "^2.0.0", + "@parcel/transformer-sugarss": "^2.0.0", + "@parcel/transformer-toml": "^2.0.0", + "@parcel/transformer-typescript-types": "^2.0.0", + "@parcel/transformer-vue": "^2.0.0", + "@parcel/transformer-webmanifest": "^2.0.0", + "@parcel/transformer-worklet": "^2.0.0", + "@parcel/transformer-xml": "^2.0.0", + "@parcel/transformer-yaml": "^2.0.0" }, "peerDependencies": { - "@parcel/core": "^2.0.0-alpha.3.1" + "@parcel/core": "^2.0.0" } } diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index 35510b7276b..5f1e34aecab 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-webextension", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,8 +15,8 @@ }, "main": "index.json", "dependencies": { - "@parcel/config-default": "2.0.0-rc.0", - "@parcel/packager-raw-url": "2.0.0-rc.0", - "@parcel/transformer-webextension": "2.0.0-rc.0" + "@parcel/config-default": "^2.0.0", + "@parcel/packager-raw-url": "^2.0.0", + "@parcel/transformer-webextension": "^2.0.0" } } diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index a45582465a1..353daa23207 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/cache", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -24,11 +24,11 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/logger": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/logger": "^2.0.0", + "@parcel/utils": "^2.0.0", "lmdb-store": "^1.5.5" }, "peerDependencies": { - "@parcel/core": "^2.0.0-alpha.3.1" + "@parcel/core": "^2.0.0" } } diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index 998eca24d1a..8966a40f97d 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/codeframe", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { diff --git a/packages/core/core/package.json b/packages/core/core/package.json index b3a068ba872..4ee6063377b 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/core", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -24,19 +24,19 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/cache": "2.0.0-rc.0", - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/events": "2.0.0-rc.0", - "@parcel/fs": "2.0.0-rc.0", - "@parcel/graph": "2.0.0-rc.0", - "@parcel/hash": "2.0.0-rc.0", - "@parcel/logger": "2.0.0-rc.0", - "@parcel/package-manager": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/cache": "^2.0.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/events": "^2.0.0", + "@parcel/fs": "^2.0.0", + "@parcel/graph": "^2.0.0", + "@parcel/hash": "^2.0.0", + "@parcel/logger": "^2.0.0", + "@parcel/package-manager": "^2.0.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", - "@parcel/workers": "2.0.0-rc.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0", + "@parcel/workers": "^2.0.0", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index f9909f09a26..b6468e9fb97 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/diagnostic", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index 0d7e1917a12..7c4ebb4b173 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -25,12 +25,12 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs-search": "2.0.0-rc.0", - "@parcel/fs-write-stream-atomic": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/fs-search": "^2.0.0", + "@parcel/fs-write-stream-atomic": "^2.0.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "2.0.0-rc.0", + "@parcel/workers": "^2.0.0", "graceful-fs": "^4.2.4", "mkdirp": "^0.5.1", "ncp": "^2.0.0", @@ -39,6 +39,6 @@ "utility-types": "^3.10.0" }, "peerDependencies": { - "@parcel/core": "^2.0.0-alpha.3.1" + "@parcel/core": "^2.0.0" } } diff --git a/packages/core/graph/package.json b/packages/core/graph/package.json index 48cf3915825..3b1655db759 100644 --- a/packages/core/graph/package.json +++ b/packages/core/graph/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/graph", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index 8a076026f6c..6acbec458fd 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/integration-tests", - "version": "2.0.0-rc.0", + "version": "2.0.0", "private": true, "license": "MIT", "repository": { @@ -41,7 +41,7 @@ "ncp": "^2.0.0", "nib": "^1.1.2", "node-elm-compiler": "^5.0.5", - "parcel": "2.0.0-rc.0", + "parcel": "^2.0.0", "postcss": "^8.3.0", "postcss-custom-properties": "^11.0.0", "postcss-import": "^14.0.2", diff --git a/packages/core/integration-tests/test/integration/babel-config-js-multitarget-transform-runtime/package.json b/packages/core/integration-tests/test/integration/babel-config-js-multitarget-transform-runtime/package.json index 9d12d0a5a5b..d19c56a62a3 100644 --- a/packages/core/integration-tests/test/integration/babel-config-js-multitarget-transform-runtime/package.json +++ b/packages/core/integration-tests/test/integration/babel-config-js-multitarget-transform-runtime/package.json @@ -4,7 +4,7 @@ "main": "dist/main.js", "module": "dist/module.js", "dependencies": { - "@parcel/babel-plugin-tranform-runtime": "^2.0.0-alpha.3.1", + "@parcel/babel-plugin-tranform-runtime": "^2.0.0", "@babel/plugin-proposal-object-rest-spread": "^7.8.3", "@babel/plugin-transform-runtime": "^7.8.3", "@babel/runtime": "^7.8.7" diff --git a/packages/core/is-v2-ready-yet/package.json b/packages/core/is-v2-ready-yet/package.json index 9354864e1a7..d1fe2ac2c98 100644 --- a/packages/core/is-v2-ready-yet/package.json +++ b/packages/core/is-v2-ready-yet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/is-v2-ready-yet", - "version": "2.0.0-rc.0", + "version": "2.0.0", "private": true, "license": "MIT", "repository": { @@ -13,7 +13,7 @@ "build-app": "yarn parcel build index.html" }, "dependencies": { - "@parcel/integration-tests": "2.0.0-rc.0", + "@parcel/integration-tests": "^2.0.0", "react": "^16.6.3", "react-dom": "^16.6.3", "victory": "^31.0.1" diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index da260e00365..89fd7886776 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/logger", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/events": "2.0.0-rc.0" + "@parcel/diagnostic": "^2.0.0", + "@parcel/events": "^2.0.0" } } diff --git a/packages/core/markdown-ansi/package.json b/packages/core/markdown-ansi/package.json index 5f02214c027..982857e0305 100644 --- a/packages/core/markdown-ansi/package.json +++ b/packages/core/markdown-ansi/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/markdown-ansi", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "publishConfig": { "access": "public" diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index d417aad5a4d..9118c83d494 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/package-manager", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -25,12 +25,12 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/fs": "2.0.0-rc.0", - "@parcel/logger": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", - "@parcel/workers": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/fs": "^2.0.0", + "@parcel/logger": "^2.0.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0", + "@parcel/workers": "^2.0.0", "command-exists": "^1.2.6", "cross-spawn": "^6.0.4", "nullthrows": "^1.1.1", @@ -38,6 +38,6 @@ "split2": "^3.1.1" }, "peerDependencies": { - "@parcel/core": "^2.0.0-alpha.3.1" + "@parcel/core": "^2.0.0" } } diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index 8866eaae154..693dc5e4f13 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -1,6 +1,6 @@ { "name": "parcel", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,22 +21,22 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "2.0.0-rc.0", - "@parcel/core": "2.0.0-rc.0", - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/events": "2.0.0-rc.0", - "@parcel/fs": "2.0.0-rc.0", - "@parcel/logger": "2.0.0-rc.0", - "@parcel/package-manager": "2.0.0-rc.0", - "@parcel/reporter-cli": "2.0.0-rc.0", - "@parcel/reporter-dev-server": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/config-default": "^2.0.0", + "@parcel/core": "^2.0.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/events": "^2.0.0", + "@parcel/fs": "^2.0.0", + "@parcel/logger": "^2.0.0", + "@parcel/package-manager": "^2.0.0", + "@parcel/reporter-cli": "^2.0.0", + "@parcel/reporter-dev-server": "^2.0.0", + "@parcel/utils": "^2.0.0", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "2.0.0-rc.0" + "@parcel/babel-register": "^2.0.0" } } diff --git a/packages/core/plugin/package.json b/packages/core/plugin/package.json index c3b5beda4e2..198faacbd66 100644 --- a/packages/core/plugin/package.json +++ b/packages/core/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/plugin", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ "check-ts": "tsc --noEmit src/PluginAPI.d.ts" }, "dependencies": { - "@parcel/types": "2.0.0-rc.0" + "@parcel/types": "^2.0.0" } } diff --git a/packages/core/register/package.json b/packages/core/register/package.json index 650e9119779..26b8580b006 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/register", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,10 +23,10 @@ "clean": "rimraf .parcel-cache" }, "dependencies": { - "@parcel/config-default": "2.0.0-rc.0", - "@parcel/core": "2.0.0-rc.0", - "@parcel/fs": "2.0.0-rc.0", - "@parcel/package-manager": "2.0.0-rc.0", + "@parcel/config-default": "^2.0.0", + "@parcel/core": "^2.0.0", + "@parcel/fs": "^2.0.0", + "@parcel/package-manager": "^2.0.0", "deasync": "^0.1.14", "pirates": "^4.0.0" } diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index 41746b34ffb..3b1ab1eea1a 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/test-utils", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -13,11 +13,11 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "2.0.0-rc.0", - "@parcel/core": "2.0.0-rc.0", - "@parcel/fs": "2.0.0-rc.0", - "@parcel/package-manager": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/config-default": "^2.0.0", + "@parcel/core": "^2.0.0", + "@parcel/fs": "^2.0.0", + "@parcel/package-manager": "^2.0.0", + "@parcel/utils": "^2.0.0", "chalk": "^4.1.0", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/types/package.json b/packages/core/types/package.json index 59ca991a7cd..d431680e7e6 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/types", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "main": "src/index.js", "types": "lib/index.d.ts", @@ -16,12 +16,12 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/cache": "2.0.0-rc.0", - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/fs": "2.0.0-rc.0", - "@parcel/package-manager": "2.0.0-rc.0", + "@parcel/cache": "^2.0.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/fs": "^2.0.0", + "@parcel/package-manager": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "2.0.0-rc.0", + "@parcel/workers": "^2.0.0", "utility-types": "^3.10.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 5ac7b4fdd2e..020e994f10b 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/utils", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,11 +21,11 @@ }, "dependencies": { "@iarna/toml": "^2.2.0", - "@parcel/codeframe": "2.0.0-rc.0", - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/hash": "2.0.0-rc.0", - "@parcel/logger": "2.0.0-rc.0", - "@parcel/markdown-ansi": "2.0.0-rc.0", + "@parcel/codeframe": "^2.0.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/hash": "^2.0.0", + "@parcel/logger": "^2.0.0", + "@parcel/markdown-ansi": "^2.0.0", "@parcel/source-map": "^2.0.0", "ansi-html-community": "0.0.8", "chalk": "^4.1.0", diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index 01198dee569..423615b53ee 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/workers", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,14 +21,14 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/logger": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/logger": "^2.0.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, "peerDependencies": { - "@parcel/core": "^2.0.0-alpha.3.1" + "@parcel/core": "^2.0.0" } } diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index 21bcc550040..4f6b3b6ace9 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset", - "version": "2.0.0-rc.0", + "version": "2.0.0", "private": true, "license": "MIT", "dependencies": { diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index 708f5d17f6d..f9e67b81c9f 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-register", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -10,7 +10,7 @@ }, "dependencies": { "@babel/register": "^7.4.4", - "@parcel/babel-preset": "2.0.0-rc.0", + "@parcel/babel-preset": "^2.0.0", "resolve": "^1.12.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index e783f1b4f04..632b260e070 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -1,8 +1,8 @@ { "name": "@parcel/eslint-config-browser", "private": true, - "version": "2.0.0-rc.0", + "version": "2.0.0", "dependencies": { - "@parcel/eslint-config": "2.0.0-rc.0" + "@parcel/eslint-config": "^2.0.0" } } diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index cc5b5c94f3f..3c04d1e4faf 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -1,10 +1,10 @@ { "name": "@parcel/eslint-config", "private": true, - "version": "2.0.0-rc.0", + "version": "2.0.0", "dependencies": { "@babel/eslint-parser": "^7.12.1", - "@parcel/eslint-plugin": "2.0.0-rc.0", + "@parcel/eslint-plugin": "^2.0.0", "eslint-config-prettier": "^7.2.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index c258be7f355..959f48ba244 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/eslint-plugin", "private": true, - "version": "2.0.0-rc.0", + "version": "2.0.0", "main": "index.js", "scripts": {}, "dependencies": { diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index 47d7ccda1fd..aca0fd2390d 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -1,6 +1,6 @@ { "name": "fuzzer", - "version": "2.0.0-rc.0", + "version": "2.0.0", "private": true, "scripts": { "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules -r @parcel/babel-register index.js" diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index f46b1d993d1..df5325a5b1e 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/eslint-example", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "2.0.0-rc.0", - "@parcel/core": "2.0.0-rc.0", - "@parcel/validator-eslint": "2.0.0-rc.0" + "@parcel/babel-register": "^2.0.0", + "@parcel/core": "^2.0.0", + "@parcel/validator-eslint": "^2.0.0" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index dba48bf087b..1964aa57802 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/html-example", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "private": true, "scripts": { @@ -12,8 +12,8 @@ "not firefox < 67" ], "devDependencies": { - "@parcel/babel-register": "2.0.0-rc.0", - "parcel": "2.0.0-rc.0" + "@parcel/babel-register": "^2.0.0", + "parcel": "^2.0.0" }, "dependencies": { "lodash": "^4.17.11", diff --git a/packages/examples/internalize-example/package.json b/packages/examples/internalize-example/package.json index 490981341d2..c4015ba81b0 100644 --- a/packages/examples/internalize-example/package.json +++ b/packages/examples/internalize-example/package.json @@ -1,4 +1,4 @@ { "name": "internalize-example", - "version": "2.0.0-rc.0" + "version": "2.0.0" } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 64ee29869ac..cd921f80482 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/kitchen-sink-example", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "private": true, "scripts": { @@ -8,11 +8,11 @@ "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { - "@parcel/babel-register": "2.0.0-rc.0", - "@parcel/config-default": "2.0.0-rc.0", - "@parcel/optimizer-esbuild": "2.0.0-rc.0", - "@parcel/reporter-sourcemap-visualiser": "2.0.0-rc.0", - "parcel": "2.0.0-rc.0" + "@parcel/babel-register": "^2.0.0", + "@parcel/config-default": "^2.0.0", + "@parcel/optimizer-esbuild": "^2.0.0", + "@parcel/reporter-sourcemap-visualiser": "^2.0.0", + "parcel": "^2.0.0" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 7a9b29e0bd1..562f616fa48 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -1,13 +1,13 @@ { "name": "@parcel/react-hmr-example", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "private": true, "scripts": { "demo": "parcel serve src/index.html --no-cache --https" }, "devDependencies": { - "parcel": "2.0.0-rc.0" + "parcel": "^2.0.0" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 35f3da0198f..dda27ac3bf3 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/react-refresh-example", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "private": true, "scripts": { "start": "parcel src/index.html" }, "devDependencies": { - "@parcel/babel-register": "2.0.0-rc.0", - "@parcel/core": "2.0.0-rc.0" + "@parcel/babel-register": "^2.0.0", + "@parcel/core": "^2.0.0" }, "dependencies": { "react": "^16.11.0", diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index c82e875c027..16ddd910237 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/simple-example", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "private": true, "scripts": { @@ -8,8 +8,8 @@ "clean-demo": "rm -rf .parcel-cache dist && yarn demo" }, "devDependencies": { - "@parcel/babel-register": "2.0.0-rc.0", - "@parcel/core": "2.0.0-rc.0" + "@parcel/babel-register": "^2.0.0", + "@parcel/core": "^2.0.0" }, "browser": "dist/legacy/index.js", "browserModern": "dist/modern/index.js", diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index bcba5ba1dc3..6d183a0c83d 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/three-js-stresstest", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "private": true, "scripts": { @@ -27,7 +27,7 @@ } }, "devDependencies": { - "@parcel/config-default": "2.0.0-rc.0", - "parcel": "2.0.0-rc.0" + "@parcel/config-default": "^2.0.0", + "parcel": "^2.0.0" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index fd27de544a8..7c8f9ece777 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/ts-example", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "private": true, "scripts": { "demo": "parcel build src/index.ts" }, "devDependencies": { - "@parcel/babel-register": "2.0.0-rc.0", - "@parcel/core": "2.0.0-rc.0" + "@parcel/babel-register": "^2.0.0", + "@parcel/core": "^2.0.0" }, "main": "dist/main.js", "module": "dist/module.js", diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index 4e2b7c5fcc7..f2299852c2f 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-typecheck-example", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "2.0.0-rc.0", - "@parcel/core": "2.0.0-rc.0", - "@parcel/validator-typescript": "2.0.0-rc.0" + "@parcel/babel-register": "^2.0.0", + "@parcel/core": "^2.0.0", + "@parcel/validator-typescript": "^2.0.0" } } diff --git a/packages/namers/default/package.json b/packages/namers/default/package.json index 3a1e4148324..868dbd346e8 100644 --- a/packages/namers/default/package.json +++ b/packages/namers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/namer-default", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultNamer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/blob-url/package.json b/packages/optimizers/blob-url/package.json index e3a21ca3b59..a25b98ae44c 100644 --- a/packages/optimizers/blob-url/package.json +++ b/packages/optimizers/blob-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-blob-url", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BlobURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0" } } diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index 8fb7862c141..82b1397f0cb 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-cssnano", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/CSSNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.5", "postcss": "^8.3.0" diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index c958ee5d519..9a6f6bbfff8 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-data-url", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DataURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index da2172d7bab..8f2462bc61c 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-esbuild", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/ESBuildOptimizer.js", "engines": { "node": ">= 10.0.0", - "parcel": "^2.0.0-alpha.1.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "esbuild": "^0.8.11", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index 6c738f9ff61..cfcfb82735f 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-htmlnano", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HTMLNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "htmlnano": "^1.0.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index 297e558bc86..686b08ba34b 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-image", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "main": "lib/ImageOptimizer.js", "source": "src/ImageOptimizer.js", @@ -17,7 +17,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "files": [ "lib", @@ -32,8 +32,8 @@ "build-release": "napi build --platform --release" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "detect-libc": "^1.0.3" }, "devDependencies": { diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index 9ab1e152702..3655337216d 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-svgo", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGOOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "svgo": "^2.4.0" } } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index fcbfe184471..eb5be300284 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-terser", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TerserOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1", "terser": "^5.2.0" } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index 2c20b4128ac..69bfbc7e82c 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-css", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1", "postcss": "^8.3.0" } diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index 3ad37a5bf89..32a82a3df31 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-html", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index 52708b9fce3..f6c9f487d78 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-js", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/index.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/hash": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/hash": "^2.0.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "globals": "^13.2.0", "nullthrows": "^1.1.1" } diff --git a/packages/packagers/raw-url/package.json b/packages/packagers/raw-url/package.json index 3ee7ce06183..70e8673a9e7 100644 --- a/packages/packagers/raw-url/package.json +++ b/packages/packagers/raw-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw-url", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/RawUrlPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0" } } diff --git a/packages/packagers/raw/package.json b/packages/packagers/raw/package.json index 7f1f29b5eb1..592d74d9179 100644 --- a/packages/packagers/raw/package.json +++ b/packages/packagers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/packagers/svg/package.json b/packages/packagers/svg/package.json index f85de448e8f..13fc3d91148 100644 --- a/packages/packagers/svg/package.json +++ b/packages/packagers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-svg", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0", "posthtml": "^0.16.4" } } diff --git a/packages/packagers/ts/package.json b/packages/packagers/ts/package.json index fc7de9292f9..63b32f77d5f 100644 --- a/packages/packagers/ts/package.json +++ b/packages/packagers/ts/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-ts", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/TSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index 981e8c092d6..2ba8949d2ff 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-xml", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/XMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/reporters/build-metrics/package.json b/packages/reporters/build-metrics/package.json index 88a623a0600..fb9e63a79da 100644 --- a/packages/reporters/build-metrics/package.json +++ b/packages/reporters/build-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-build-metrics", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BuildMetricsReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0" } } diff --git a/packages/reporters/bundle-analyzer/package.json b/packages/reporters/bundle-analyzer/package.json index caf1d6b5818..3d752da6a26 100644 --- a/packages/reporters/bundle-analyzer/package.json +++ b/packages/reporters/bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-analyzer", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/BundleAnalyzerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-alpha.3.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "2.0.0-rc.0" + "@parcel/types": "^2.0.0" } } diff --git a/packages/reporters/bundle-buddy/package.json b/packages/reporters/bundle-buddy/package.json index 83cc3cccf29..52b4729fecc 100644 --- a/packages/reporters/bundle-buddy/package.json +++ b/packages/reporters/bundle-buddy/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-buddy", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BundleBuddyReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index dac857f25d7..f829356d1b1 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-cli", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CLIReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0", "chalk": "^4.1.0", "filesize": "^6.1.0", "nullthrows": "^1.1.1", diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index f94416581f8..f7eeb6b6cb8 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-dev-server", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -18,11 +18,11 @@ "source": "src/ServerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^1.0.0", @@ -31,7 +31,7 @@ "ws": "^7.0.0" }, "devDependencies": { - "@parcel/babel-preset": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0" + "@parcel/babel-preset": "^2.0.0", + "@parcel/types": "^2.0.0" } } diff --git a/packages/reporters/json/package.json b/packages/reporters/json/package.json index bf6c585a10c..c6cbf9eb480 100644 --- a/packages/reporters/json/package.json +++ b/packages/reporters/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-json", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/JSONReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1" } } diff --git a/packages/reporters/sourcemap-visualiser/package.json b/packages/reporters/sourcemap-visualiser/package.json index d6242c5fc7a..60e1d307174 100644 --- a/packages/reporters/sourcemap-visualiser/package.json +++ b/packages/reporters/sourcemap-visualiser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-sourcemap-visualiser", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/SourceMapVisualiser.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-alpha.3.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "2.0.0-rc.0" + "@parcel/types": "^2.0.0" } } diff --git a/packages/resolvers/default/package.json b/packages/resolvers/default/package.json index 2d7ec173f43..3c4eaefa8b0 100644 --- a/packages/resolvers/default/package.json +++ b/packages/resolvers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-default", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/node-resolver-core": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/node-resolver-core": "^2.0.0", + "@parcel/plugin": "^2.0.0" }, "devDependencies": { "@babel/core": "^7.12.2" diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index 19b5b018e0b..43053508146 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-glob", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/GlobResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "micromatch": "^4.0.2", "nullthrows": "^1.1.1" } diff --git a/packages/runtimes/hmr/package.json b/packages/runtimes/hmr/package.json index 14172cc6b32..6c674e6d8f6 100644 --- a/packages/runtimes/hmr/package.json +++ b/packages/runtimes/hmr/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-browser-hmr", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HMRRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0" } } diff --git a/packages/runtimes/js/package.json b/packages/runtimes/js/package.json index 80a026796a4..10e6fbc4e6d 100644 --- a/packages/runtimes/js/package.json +++ b/packages/runtimes/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-js", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/JSRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/react-refresh/package.json b/packages/runtimes/react-refresh/package.json index 8d162fdb47e..7537aeae333 100644 --- a/packages/runtimes/react-refresh/package.json +++ b/packages/runtimes/react-refresh/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-react-refresh", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "react-refresh": "^0.9.0" } } diff --git a/packages/runtimes/service-worker/package.json b/packages/runtimes/service-worker/package.json index 46e5335d254..ab628eded5a 100644 --- a/packages/runtimes/service-worker/package.json +++ b/packages/runtimes/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-service-worker", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "./src/ServiceWorkerRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1" } } diff --git a/packages/shared/babel-ast-utils/package.json b/packages/shared/babel-ast-utils/package.json index beec07cf70f..d4f31404c69 100644 --- a/packages/shared/babel-ast-utils/package.json +++ b/packages/shared/babel-ast-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-ast-utils", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,9 +21,9 @@ }, "dependencies": { "@babel/parser": "^7.0.0", - "@parcel/babylon-walk": "2.0.0-rc.0", + "@parcel/babylon-walk": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "astring": "^1.6.2" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index f736d6de124..258c101fe9d 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-babel", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "source": "src/BabelTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { "@babel/core": "^7.12.0", @@ -25,11 +25,11 @@ "@babel/helper-compilation-targets": "^7.8.4", "@babel/plugin-transform-flow-strip-types": "^7.0.0", "@babel/traverse": "^7.0.0", - "@parcel/babel-ast-utils": "2.0.0-rc.0", - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/babel-ast-utils": "^2.0.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "browserslist": "^4.6.6", "core-js": "^3.2.1", "json5": "^2.1.0", @@ -39,6 +39,6 @@ "devDependencies": { "@babel/core": "^7.12.0", "@babel/preset-env": "^7.0.0", - "@parcel/types": "2.0.0-rc.0" + "@parcel/types": "^2.0.0" } } diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 2e6f5c31d9a..612a53f114b 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-coffeescript", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CoffeeScriptTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", "semver": "^5.4.1" diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 9f353ddd090..732df16c660 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1", "postcss": "^8.3.0", "postcss-value-parser": "^4.1.0", diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index 9872d0fd660..d89146b83ab 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-elm", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ElmTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-alpha.3.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", "command-exists": "^1.2.8", "cross-spawn": "^7.0.3", "elm-hot": "^1.1.5", diff --git a/packages/transformers/glsl/package.json b/packages/transformers/glsl/package.json index 1726493033c..dc998a547be 100644 --- a/packages/transformers/glsl/package.json +++ b/packages/transformers/glsl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-glsl", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GLSLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "glslify-bundle": "^5.1.1", "glslify-deps": "^1.3.1" } diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index 956d21be9dc..62f18adbf90 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-graphql", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GraphQLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "graphql": "^15.0.0", "graphql-import-macro": "^1.0.0" } diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index b1eb1ad5fd5..496a49ef487 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-html", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/HTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/hash": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/hash": "^2.0.0", + "@parcel/plugin": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index e9cefdb7381..d2e0e22f65c 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-image", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -13,11 +13,11 @@ "source": "src/ImageTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/workers": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/workers": "^2.0.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/inline-string/package.json b/packages/transformers/inline-string/package.json index 5bc76ed05f8..fb5e8de2942 100644 --- a/packages/transformers/inline-string/package.json +++ b/packages/transformers/inline-string/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline-string", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineStringTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/transformers/inline/package.json b/packages/transformers/inline/package.json index d6cc684b3d5..0ee47c90535 100644 --- a/packages/transformers/inline/package.json +++ b/packages/transformers/inline/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/transformers/js/native.js b/packages/transformers/js/native.js index d211ea527b2..ad423318745 100644 --- a/packages/transformers/js/native.js +++ b/packages/transformers/js/native.js @@ -28,6 +28,4 @@ if (process.env.PARCEL_BUILD_ENV === 'production') { }; } else if (require('fs').existsSync(require('path').join(__dirname, name))) { module.exports = require(`./${name}`); -} else { - module.exports = require(`self-published/${name}`); } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 9ce2bb92cad..50e8d66170e 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-js", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -19,7 +19,7 @@ "name": "parcel-swc" }, "engines": { - "parcel": "^2.0.0-beta.1", + "parcel": "^2.0.0", "node": ">= 12.0.0" }, "files": [ @@ -30,10 +30,10 @@ "*.node" ], "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", @@ -43,8 +43,7 @@ "semver": "^5.4.1" }, "devDependencies": { - "@napi-rs/cli": "1.0.4", - "self-published": "npm:@parcel/transformer-js@2.0.0-rc.0" + "@napi-rs/cli": "1.0.4" }, "scripts": { "build": "napi build --platform --cargo-cwd napi", diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index 5bd643d1cb3..bfd2189e82a 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-json", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/JSONTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "json5": "^2.1.0" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index 6ed9d73e5d1..fffaa5a7f44 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-jsonld", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/JSONLDTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "scripts": { "test": "yarn workspace @parcel/integration-tests test -g jsonld" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/types": "^2.0.0", "json5": "^2.1.2" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index 999b0322d61..e287190a28b 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-less", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/LessTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", "less": "^4.1.1" } diff --git a/packages/transformers/mdx/package.json b/packages/transformers/mdx/package.json index 29e10c7a1ee..e1ce76610ae 100644 --- a/packages/transformers/mdx/package.json +++ b/packages/transformers/mdx/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-mdx", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/MDXTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { "@mdx-js/mdx": "^1.6.22", - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" }, "peerDependencies": { "@mdx-js/react": "^1.6.22" diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index b58607bc838..0501069b1b7 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-postcss", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/PostCSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/hash": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/hash": "^2.0.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "clone": "^2.1.1", "css-modules-loader-core": "^1.1.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/posthtml/package.json b/packages/transformers/posthtml/package.json index b9180495d18..1aa3a4b4f61 100644 --- a/packages/transformers/posthtml/package.json +++ b/packages/transformers/posthtml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-posthtml", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/PostHTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index d943fefffce..f854b91c96e 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-pug", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/PugTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "pug": "^3.0.2" } } diff --git a/packages/transformers/raw/package.json b/packages/transformers/raw/package.json index 9cc735a5583..b3a9f68a957 100644 --- a/packages/transformers/raw/package.json +++ b/packages/transformers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-raw", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index 3c7c009f948..db2834ebc50 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-react-refresh-wrap", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshWrapTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "react-refresh": "^0.9.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index da7d591b33b..cbe72c64d34 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sass", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SassTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index 4ba8e8e925e..cfbd3debf6c 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-stylus", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/StylusTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "stylus": "^0.55.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index df761288d21..2749199b1fa 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sugarss", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SugarssTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "postcss": "^8.3.0", "sugarss": "^3.0.3" } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index c78b53eb96e..702bc99cbc0 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg-react", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SvgReactTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "@svgr/core": "^5.5.0", "@svgr/plugin-jsx": "^5.5.0", "@svgr/plugin-svgo": "^5.5.0", diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index 6d83419813f..f9c1a3f899e 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/SVGTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/hash": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/hash": "^2.0.0", + "@parcel/plugin": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index 07695e6777c..4f926b6b2ba 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-toml", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/TOMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { "@iarna/toml": "^2.2.3", - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/transformers/typescript-tsc/package.json b/packages/transformers/typescript-tsc/package.json index 29d664ae605..e53f850c80c 100644 --- a/packages/transformers/typescript-tsc/package.json +++ b/packages/transformers/typescript-tsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-tsc", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/TSCTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/ts-utils": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0", + "@parcel/ts-utils": "^2.0.0" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index 346346dd179..c1e4382f8e0 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-types", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/TSTypesTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "2.0.0-rc.0", + "@parcel/ts-utils": "^2.0.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index 28f6cc02b4d..d0a7fc9c2aa 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-vue", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/VueTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/utils": "^2.0.0", "@vue/compiler-sfc": "^3.0.0", "consolidate": "^0.16.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index 59082a3a444..cace46290e9 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webextension", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebExtensionTransformer.js", "source": "src/WebExtensionTransformer.js", "engines": { - "parcel": "^2.0.0-alpha.1.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "content-security-policy-parser": "^0.3.0", "json-source-map": "^0.6.1" } diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index 2dac3d942a5..a506e482255 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webmanifest", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebManifestTransformer.js", "source": "src/WebManifestTransformer.js", "engines": { - "parcel": "^2.0.0-alpha.1.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "json-source-map": "^0.6.1" } } diff --git a/packages/transformers/worklet/package.json b/packages/transformers/worklet/package.json index 6a99fa480b1..5bb223e21b6 100644 --- a/packages/transformers/worklet/package.json +++ b/packages/transformers/worklet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-worklet", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/WorkletTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0" + "@parcel/plugin": "^2.0.0" } } diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index ab5cdcbbf59..3e07c2769de 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-xml", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/XMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/transformers/yaml/package.json b/packages/transformers/yaml/package.json index acefaec94db..2ec9203d801 100644 --- a/packages/transformers/yaml/package.json +++ b/packages/transformers/yaml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-yaml", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/YAMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", "js-yaml": "^3.10.0" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index 954e617caf1..a5c3ec7348b 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-plugin-transform-runtime", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ }, "devDependencies": { "@babel/core": "^7.12.0", - "@parcel/babel-preset-env": "2.0.0-rc.0" + "@parcel/babel-preset-env": "^2.0.0" } } diff --git a/packages/utils/babel-preset-env/package.json b/packages/utils/babel-preset-env/package.json index 6ce766af130..8f4aebc7872 100644 --- a/packages/utils/babel-preset-env/package.json +++ b/packages/utils/babel-preset-env/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset-env", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/babylon-walk/package.json b/packages/utils/babylon-walk/package.json index b3e736ef7c2..79ca807ba34 100755 --- a/packages/utils/babylon-walk/package.json +++ b/packages/utils/babylon-walk/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babylon-walk", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 032f4063e9f..b15d36c6e5e 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/create-react-app", - "version": "2.0.0-rc.0", + "version": "2.0.0", "bin": { "parcel-create-react-app": "src/bin.js" }, @@ -26,6 +26,6 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "2.0.0-rc.0" + "@parcel/babel-register": "^2.0.0" } } diff --git a/packages/utils/events/package.json b/packages/utils/events/package.json index 1b2cb572a74..86e9fdd91d8 100644 --- a/packages/utils/events/package.json +++ b/packages/utils/events/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/events", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-search/index.js b/packages/utils/fs-search/index.js index 55c88411063..b2b2fda0387 100644 --- a/packages/utils/fs-search/index.js +++ b/packages/utils/fs-search/index.js @@ -17,6 +17,4 @@ if (process.env.PARCEL_BUILD_ENV === 'production') { module.exports = require(name); } else if (require('fs').existsSync(require('path').join(__dirname, name))) { module.exports = require(name); -} else { - module.exports = require('self-published'); } diff --git a/packages/utils/fs-search/package.json b/packages/utils/fs-search/package.json index a2d2a5a66bb..84e8dceca80 100644 --- a/packages/utils/fs-search/package.json +++ b/packages/utils/fs-search/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-search", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -31,7 +31,6 @@ "detect-libc": "^1.0.3" }, "devDependencies": { - "@napi-rs/cli": "1.0.4", - "self-published": "npm:@parcel/fs-search@2.0.0-rc.0" + "@napi-rs/cli": "1.0.4" } } diff --git a/packages/utils/fs-write-stream-atomic/package.json b/packages/utils/fs-write-stream-atomic/package.json index 38eaa6ef342..b58f3d2b829 100644 --- a/packages/utils/fs-write-stream-atomic/package.json +++ b/packages/utils/fs-write-stream-atomic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-write-stream-atomic", - "version": "2.0.0-rc.0", + "version": "2.0.0", "description": "Like `fs.createWriteStream(...)`, but atomic.", "main": "index.js", "directories": { diff --git a/packages/utils/hash/index.js b/packages/utils/hash/index.js index 8a62a4dbcb3..7d873c47a22 100644 --- a/packages/utils/hash/index.js +++ b/packages/utils/hash/index.js @@ -17,9 +17,6 @@ if (process.env.PARCEL_BUILD_ENV === 'production') { module.exports = require(name); } else if (require('fs').existsSync(require('path').join(__dirname, name))) { module.exports = require(name); -} else { - // This has to be published first... - // module.exports = require('self-published'); } module.exports.init = Promise.resolve(); diff --git a/packages/utils/hash/package.json b/packages/utils/hash/package.json index 087f44a7dd4..f4751ef48de 100644 --- a/packages/utils/hash/package.json +++ b/packages/utils/hash/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/hash", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "main": "index.js", "browser": "browser.js", diff --git a/packages/utils/node-libs-browser/package.json b/packages/utils/node-libs-browser/package.json index 974594230a4..c9e1fab5d92 100755 --- a/packages/utils/node-libs-browser/package.json +++ b/packages/utils/node-libs-browser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-libs-browser", - "version": "2.0.0-rc.0", + "version": "2.0.0", "author": "Tobias Koppers @sokra", "description": "The node core libs for in browser usage.", "license": "MIT", diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index 7193f31b80d..3504805e1d3 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-resolver-core", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -19,9 +19,9 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/node-libs-browser": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/diagnostic": "^2.0.0", + "@parcel/node-libs-browser": "^2.0.0", + "@parcel/utils": "^2.0.0", "micromatch": "^4.0.4", "nullthrows": "^1.1.1" } diff --git a/packages/utils/service-worker/package.json b/packages/utils/service-worker/package.json index 9826a67ce88..08476246b66 100644 --- a/packages/utils/service-worker/package.json +++ b/packages/utils/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/service-worker", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,6 +18,6 @@ "sideEffects": false, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" } } diff --git a/packages/utils/ts-utils/package.json b/packages/utils/ts-utils/package.json index ba5a07a620e..35face5b64d 100644 --- a/packages/utils/ts-utils/package.json +++ b/packages/utils/ts-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-utils", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index ea01d148690..3d20de647e8 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-eslint", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/EslintValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0", + "@parcel/plugin": "^2.0.0", + "@parcel/utils": "^2.0.0", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/validators/typescript/package.json b/packages/validators/typescript/package.json index e7c654cc007..4bd9980e305 100644 --- a/packages/validators/typescript/package.json +++ b/packages/validators/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-typescript", - "version": "2.0.0-rc.0", + "version": "2.0.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/TypeScriptValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.0.0-rc.0", - "@parcel/plugin": "2.0.0-rc.0", - "@parcel/ts-utils": "2.0.0-rc.0", - "@parcel/types": "2.0.0-rc.0", - "@parcel/utils": "2.0.0-rc.0" + "@parcel/diagnostic": "^2.0.0", + "@parcel/plugin": "^2.0.0", + "@parcel/ts-utils": "^2.0.0", + "@parcel/types": "^2.0.0", + "@parcel/utils": "^2.0.0" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/yarn.lock b/yarn.lock index 76a1ac8e93f..d4a41e2a882 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2121,14 +2121,6 @@ dependencies: "@octokit/openapi-types" "^6.2.0" -"@parcel/source-map@2.0.0-rc.6": - version "2.0.0-rc.6" - resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.0-rc.6.tgz#9b0e84ba4bca9fe8aee484941e48345c79c4121c" - integrity sha512-qtXLd9dbxWx/ybe1dduAzAGzb7iTSQv3imNZo7pVyEtSaCcphg+rTmY8/Fg3MQqqu7of/2+tEqNAGMz8nOJyUA== - dependencies: - detect-libc "^1.0.3" - globby "^11.0.3" - "@parcel/source-map@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.0.tgz#41cf004109bbf277ceaf096a58838ff6a59af774" @@ -11618,30 +11610,6 @@ scheduler@^0.18.0: loose-envify "^1.1.0" object-assign "^4.1.1" -"self-published@npm:@parcel/fs-search@2.0.0-rc.0": - version "2.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@parcel/fs-search/-/fs-search-2.0.0-rc.0.tgz#c0a26cec8a703d1490ab7e8d323b9d2191212d19" - integrity sha512-x/gdmnxWIhuP6kVUe3u8fiY5JBCmALHNJIPNDGdoVada1CEEHF+DJtQG7LT+LIcPFeAqXT6qx05HrgO94KLaUQ== - dependencies: - detect-libc "^1.0.3" - -"self-published@npm:@parcel/transformer-js@2.0.0-rc.0": - version "2.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.0.0-rc.0.tgz#92437bca0c48289ea7044c98f583b6a9d5028e90" - integrity sha512-zmp2ha7fnIBCG7d56MBneXjZxhOBcJLXpO+3rpiwGoic2fQdcNk702QHGBmfqnZW4u/pebGZpolj/wUqtP0bcQ== - dependencies: - "@parcel/diagnostic" "2.0.0-rc.0" - "@parcel/plugin" "2.0.0-rc.0" - "@parcel/source-map" "2.0.0-rc.6" - "@parcel/utils" "2.0.0-rc.0" - "@swc/helpers" "^0.2.11" - browserslist "^4.6.6" - detect-libc "^1.0.3" - micromatch "^4.0.2" - nullthrows "^1.1.1" - regenerator-runtime "^0.13.7" - semver "^5.4.1" - semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" From 674539e13167275be17620f638ea2ceb98aa0c54 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 14 Oct 2021 13:17:46 -0700 Subject: [PATCH 0088/1076] Don't load PostCSS and PostHTML config when inside node_modules (#7088) --- packages/transformers/postcss/src/loadConfig.js | 4 ++++ packages/transformers/posthtml/src/PostHTMLTransformer.js | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/transformers/postcss/src/loadConfig.js b/packages/transformers/postcss/src/loadConfig.js index c2dd54fb41f..48cce81b222 100644 --- a/packages/transformers/postcss/src/loadConfig.js +++ b/packages/transformers/postcss/src/loadConfig.js @@ -104,6 +104,10 @@ export async function load({ options: PluginOptions, logger: PluginLogger, |}): Promise { + if (!config.isSource) { + return; + } + let configFile: any = await config.getConfig( ['.postcssrc', '.postcssrc.json', '.postcssrc.js', 'postcss.config.js'], {packageKey: 'postcss'}, diff --git a/packages/transformers/posthtml/src/PostHTMLTransformer.js b/packages/transformers/posthtml/src/PostHTMLTransformer.js index c2d81d78b36..fa7c11f9323 100644 --- a/packages/transformers/posthtml/src/PostHTMLTransformer.js +++ b/packages/transformers/posthtml/src/PostHTMLTransformer.js @@ -13,6 +13,10 @@ import loadPlugins from './loadPlugins'; export default (new Transformer({ async loadConfig({config, options, logger}) { + if (!config.isSource) { + return; + } + let configFile = await config.getConfig( ['.posthtmlrc', '.posthtmlrc.js', 'posthtml.config.js'], { From 85b76e86ddc431b7140e114db5b16486962bf964 Mon Sep 17 00:00:00 2001 From: Ruyi Li Date: Fri, 15 Oct 2021 04:41:15 -0400 Subject: [PATCH 0089/1076] =?UTF-8?q?fix(vuetransfomer):=20fix=20unknown?= =?UTF-8?q?=20asset=20language=20for=20vue=20scripts/templa=E2=80=A6=20(#7?= =?UTF-8?q?056)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(vuetransfomer): fix unknown asset language for vue scripts/templates/styles * test: loading external files from vue sfcs Co-authored-by: Jasper De Moor --- .../integration/vue-external-files/App.vue | 3 +++ .../integration/vue-external-files/main.pug | 5 ++++ .../integration/vue-external-files/script.ts | 7 ++++++ .../integration/vue-external-files/style.scss | 24 +++++++++++++++++++ packages/core/integration-tests/test/vue.js | 15 ++++++++++++ .../transformers/vue/src/VueTransformer.js | 6 ++--- 6 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/vue-external-files/App.vue create mode 100644 packages/core/integration-tests/test/integration/vue-external-files/main.pug create mode 100644 packages/core/integration-tests/test/integration/vue-external-files/script.ts create mode 100644 packages/core/integration-tests/test/integration/vue-external-files/style.scss diff --git a/packages/core/integration-tests/test/integration/vue-external-files/App.vue b/packages/core/integration-tests/test/integration/vue-external-files/App.vue new file mode 100644 index 00000000000..eb279ac0e69 --- /dev/null +++ b/packages/core/integration-tests/test/integration/vue-external-files/App.vue @@ -0,0 +1,3 @@ + + + diff --git a/packages/core/integration-tests/test/integration/vue-external-files/main.pug b/packages/core/integration-tests/test/integration/vue-external-files/main.pug new file mode 100644 index 00000000000..3f8aacc9ed0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/vue-external-files/main.pug @@ -0,0 +1,5 @@ +div + h1 foo + h2 bar + div.box + p {{ msg }} diff --git a/packages/core/integration-tests/test/integration/vue-external-files/script.ts b/packages/core/integration-tests/test/integration/vue-external-files/script.ts new file mode 100644 index 00000000000..1c588c46c0c --- /dev/null +++ b/packages/core/integration-tests/test/integration/vue-external-files/script.ts @@ -0,0 +1,7 @@ +export default { + data () { + return { + msg: 'Hello World' + } + } +} diff --git a/packages/core/integration-tests/test/integration/vue-external-files/style.scss b/packages/core/integration-tests/test/integration/vue-external-files/style.scss new file mode 100644 index 00000000000..a2c0d32288b --- /dev/null +++ b/packages/core/integration-tests/test/integration/vue-external-files/style.scss @@ -0,0 +1,24 @@ +$cool-color: #c0ff33; + +div { + h1 { + color: red; + } +} + +h2 { + color: blue; + + &:hover { + color: $cool-color; + } +} + +.box { + border: 1px solid black; + + p { + color: $cool-color; + font-size: 10rem; + } +} diff --git a/packages/core/integration-tests/test/vue.js b/packages/core/integration-tests/test/vue.js index f55b0b82376..dc87ba48ed7 100644 --- a/packages/core/integration-tests/test/vue.js +++ b/packages/core/integration-tests/test/vue.js @@ -105,4 +105,19 @@ describe('vue', function() { assert.equal(typeof output.render, 'function'); assert.deepEqual(output.data(), {msg: 'Hello from Component A!'}); }); + it('should load external templates/styles/scripts properly', async function() { + let b = await bundle( + path.join(__dirname, '/integration/vue-external-files/App.vue'), + ); + let output = (await run(b)).default; + assert.equal(typeof output.render, 'function'); + assert.deepEqual(output.data(), {msg: 'Hello World'}); + let contents = await outputFS.readFile( + path.join(distDir, 'App.css'), + 'utf8', + ); + assert(contents.includes('color: #c0ff33')); + assert(contents.includes('h2:hover')); + assert(contents.includes('.box p')); + }); }); diff --git a/packages/transformers/vue/src/VueTransformer.js b/packages/transformers/vue/src/VueTransformer.js index 130f1474514..d7c8de30485 100644 --- a/packages/transformers/vue/src/VueTransformer.js +++ b/packages/transformers/vue/src/VueTransformer.js @@ -207,7 +207,7 @@ async function processPipeline({ await resolve(asset.filePath, template.src), ) ).toString(); - template.lang = extname(template.src); + template.lang = extname(template.src).slice(1); } let content = template.content; if (template.lang && !['htm', 'html'].includes(template.lang)) { @@ -267,7 +267,7 @@ ${ await resolve(asset.filePath, script.src), ) ).toString(); - script.lang = extname(script.src); + script.lang = extname(script.src).slice(1); } let type; switch (script.lang || 'js') { @@ -323,7 +323,7 @@ ${ if (!style.module) { style.module = MODULE_BY_NAME_RE.test(style.src); } - style.lang = extname(style.src); + style.lang = extname(style.src).slice(1); } switch (style.lang) { case 'less': From 4a62581dd430a6b12aad688f0a0ac3d087a5b5ad Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Sat, 16 Oct 2021 09:48:28 +0200 Subject: [PATCH 0090/1076] Use our own fs instead of Node's fs in the Npm package installer (#7103) --- packages/core/package-manager/src/Npm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package-manager/src/Npm.js b/packages/core/package-manager/src/Npm.js index 307091b5955..6391ce5f82c 100644 --- a/packages/core/package-manager/src/Npm.js +++ b/packages/core/package-manager/src/Npm.js @@ -2,7 +2,6 @@ import type {PackageInstaller, InstallerOptions} from './types'; -import fs from 'fs'; import path from 'path'; import spawn from 'cross-spawn'; import logger from '@parcel/logger'; @@ -19,6 +18,7 @@ export class Npm implements PackageInstaller { async install({ modules, cwd, + fs, packagePath, saveDev = true, }: InstallerOptions): Promise { From efe72271aa84936c4533a7a10f0fd29b84810cf9 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Mon, 18 Oct 2021 02:47:29 +0200 Subject: [PATCH 0091/1076] Don't visit the property of non-computed member expressions in the esm2cjs folder (#7102) --- .../test/integration/jsx-member/foo.jsx | 1 + .../test/integration/jsx-member/index.jsx | 7 +++++++ .../integration-tests/test/transpilation.js | 7 +++++++ .../js/core/src/dependency_collector.rs | 12 ++---------- packages/transformers/js/core/src/modules.rs | 4 ++++ packages/transformers/js/core/src/utils.rs | 19 +++++++++++++++++++ 6 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/jsx-member/foo.jsx create mode 100644 packages/core/integration-tests/test/integration/jsx-member/index.jsx diff --git a/packages/core/integration-tests/test/integration/jsx-member/foo.jsx b/packages/core/integration-tests/test/integration/jsx-member/foo.jsx new file mode 100644 index 00000000000..4013f887b3a --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-member/foo.jsx @@ -0,0 +1 @@ +export const Foo = null; diff --git a/packages/core/integration-tests/test/integration/jsx-member/index.jsx b/packages/core/integration-tests/test/integration/jsx-member/index.jsx new file mode 100644 index 00000000000..94d3965468b --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-member/index.jsx @@ -0,0 +1,7 @@ +import { Foo } from "./foo"; + +const S = { + Foo: () => "S", +}; + +module.exports = ; diff --git a/packages/core/integration-tests/test/transpilation.js b/packages/core/integration-tests/test/transpilation.js index 5397e170279..cc669bbce28 100644 --- a/packages/core/integration-tests/test/transpilation.js +++ b/packages/core/integration-tests/test/transpilation.js @@ -87,6 +87,13 @@ describe('transpilation', function() { assert(file.includes('fileName: "integration/jsx/index.jsx"')); }); + it('should support compiling JSX correctly with member expression type', async function() { + await bundle(path.join(__dirname, '/integration/jsx-member/index.jsx')); + + let file = await outputFS.readFile(path.join(distDir, 'index.js'), 'utf8'); + assert(file.includes('React.createElement(S.Foo')); + }); + it('should support compiling JSX in JS files with React dependency', async function() { await bundle(path.join(__dirname, '/integration/jsx-react/index.js')); diff --git a/packages/transformers/js/core/src/dependency_collector.rs b/packages/transformers/js/core/src/dependency_collector.rs index 8be27903394..6b2c4a34185 100644 --- a/packages/transformers/js/core/src/dependency_collector.rs +++ b/packages/transformers/js/core/src/dependency_collector.rs @@ -10,6 +10,7 @@ use swc_ecmascript::ast; use swc_ecmascript::utils::ident::IdentLike; use swc_ecmascript::visit::{Fold, FoldWith}; +use crate::fold_member_expr_skip_prop; use crate::utils::*; use crate::Config; @@ -780,16 +781,7 @@ impl<'a> Fold for DependencyCollector<'a> { node.fold_children_with(self) } - fn fold_member_expr(&mut self, mut node: ast::MemberExpr) -> ast::MemberExpr { - node.obj = node.obj.fold_children_with(self); - - // To ensure that fold_expr doesn't replace `require` in non-computed member expressions - if node.computed { - node.prop = node.prop.fold_children_with(self); - } - - node - } + fold_member_expr_skip_prop! {} fn fold_expr(&mut self, node: ast::Expr) -> ast::Expr { use ast::*; diff --git a/packages/transformers/js/core/src/modules.rs b/packages/transformers/js/core/src/modules.rs index c64e5baa986..f6aafaf28e4 100644 --- a/packages/transformers/js/core/src/modules.rs +++ b/packages/transformers/js/core/src/modules.rs @@ -6,6 +6,8 @@ use swc_ecma_preset_env::{Feature, Versions}; use swc_ecmascript::ast::*; use swc_ecmascript::visit::{Fold, FoldWith}; +use crate::fold_member_expr_skip_prop; + type IdentId = (JsWord, SyntaxContext); macro_rules! id { ($ident: expr) => { @@ -613,4 +615,6 @@ impl Fold for ESMFold { _ => node.fold_children_with(self), } } + + fold_member_expr_skip_prop! {} } diff --git a/packages/transformers/js/core/src/utils.rs b/packages/transformers/js/core/src/utils.rs index faa481956ec..3f6372a5684 100644 --- a/packages/transformers/js/core/src/utils.rs +++ b/packages/transformers/js/core/src/utils.rs @@ -309,3 +309,22 @@ impl BailoutReason { } } } + +#[macro_export] +macro_rules! fold_member_expr_skip_prop { + () => { + fn fold_member_expr( + &mut self, + mut node: swc_ecmascript::ast::MemberExpr, + ) -> swc_ecmascript::ast::MemberExpr { + node.obj = node.obj.fold_children_with(self); + + // To ensure that fold_expr doesn't replace `require` in non-computed member expressions + if node.computed { + node.prop = node.prop.fold_children_with(self); + } + + node + } + }; +} From daed0c3fa3c1c5c52ab3e3a98f5494bfc3be06c4 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Thu, 21 Oct 2021 05:38:20 +0200 Subject: [PATCH 0092/1076] Bump swc, use strip_with_jsx (#7114) --- Cargo.lock | 191 ++++++++++++++------- packages/transformers/js/core/Cargo.toml | 8 +- packages/transformers/js/core/src/hoist.rs | 34 ++-- packages/transformers/js/core/src/lib.rs | 35 ++-- 4 files changed, 168 insertions(+), 100 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b0c6ca6fd75..f3db17885a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -26,9 +26,9 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "ahash" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ "getrandom 0.2.3", "once_cell", @@ -67,9 +67,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "ast_node" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93f52ce8fac3d0e6720a92b0576d737c01b1b5db4dd786e962e5925f00bf755" +checksum = "e96d5444b02f3080edac8a144f6baf29b2fb6ff589ad4311559731a7c7529381" dependencies = [ "darling", "pmutil", @@ -137,9 +137,9 @@ checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" [[package]] name = "bumpalo" -version = "3.7.1" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9df67f7bf9ef8498769f994239c45613ef0c5899415fb58e9add412d2c1a538" +checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" [[package]] name = "bytemuck" @@ -563,6 +563,15 @@ dependencies = [ "unindent", ] +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if 1.0.0", +] + [[package]] name = "is-macro" version = "0.1.9" @@ -661,9 +670,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.103" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6" +checksum = "7b2f96d100e1cf1929e7719b7edb3b90ab5298072638fccd77be9ce942ecdfce" [[package]] name = "libdeflate-sys" @@ -692,6 +701,15 @@ dependencies = [ "cc", ] +[[package]] +name = "lock_api" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +dependencies = [ + "scopeguard", +] + [[package]] name = "log" version = "0.4.14" @@ -1014,6 +1032,37 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi", +] + +[[package]] +name = "path-clean" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecba01bf2678719532c5e3059e0b5f0811273d94b397088b82e3bd0a78c78fdd" + [[package]] name = "path-slash" version = "0.1.4" @@ -1107,9 +1156,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.10" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" +checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741" [[package]] name = "precomputed-hash" @@ -1125,9 +1174,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.29" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" +checksum = "edc3358ebc67bc8b7fa0c007f945b0b18226f78437d61bec735a9eb96b61ee70" dependencies = [ "unicode-xid", ] @@ -1473,12 +1522,13 @@ dependencies = [ [[package]] name = "string_cache" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ddb1139b5353f96e429e1a5e19fbaf663bddedaa06d1dbd49f82e352601209a" +checksum = "923f0f39b6267d37d23ce71ae7235602134b250ace715dd2c90421998ddac0c6" dependencies = [ "lazy_static", "new_debug_unreachable", + "parking_lot", "phf_shared", "precomputed-hash", "serde", @@ -1523,9 +1573,9 @@ checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" [[package]] name = "swc_atoms" -version = "0.2.7" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "837a3ef86c2817228e733b6f173c821fd76f9eb21a0bc9001a826be48b00b4e7" +checksum = "9f5229fe227ff0060e13baa386d6e368797700eab909523f730008d191ee53ae" dependencies = [ "string_cache", "string_cache_codegen", @@ -1533,9 +1583,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.13.2" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d20bb644ce8a6cda46df6a91d7ee41461ad9255501e5244333a59c5f2c9be5d" +checksum = "de8be830f71f62908dae13fd9db66522e77dbf9188bd07d0b86d15f48557b219" dependencies = [ "ahash", "ast_node", @@ -1561,9 +1611,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.54.3" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae24a6603262822de50069ff72394b0d208267e5bd5298678ba6a79f670c40f" +checksum = "e40d99e5376086f6a057202b3889f276c3f5cbcafeead8f536ed088ad0bf36b3" dependencies = [ "is-macro", "num-bigint", @@ -1575,9 +1625,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.74.1" +version = "0.77.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5e595c5fd97d872658a189741dfd84a9b5ef650eec90b3f4e8d8c4c02c0e9ab" +checksum = "9679c138f4cfe98c86e0947bdc089c4402b372db064f6aca2636a86c93898052" dependencies = [ "bitflags", "memchr", @@ -1589,6 +1639,7 @@ dependencies = [ "swc_ecma_ast", "swc_ecma_codegen_macros", "swc_ecma_parser", + "tracing", ] [[package]] @@ -1606,15 +1657,16 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21ee3552a577f1973ecb495ead954e96ae0fcea12c98bbfac0505b7da0963a2f" +checksum = "1a9507f40d574997316948f94423c3c93dcb03bf593bd0a5197b51c34ed09558" dependencies = [ + "ahash", "anyhow", "dashmap", "normpath", "once_cell", - "rustc-hash", + "path-clean", "serde", "serde_json", "swc_atoms", @@ -1626,15 +1678,14 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.73.3" +version = "0.75.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b3c147e79a3d9cedd804f2166b1082003b56cef21770a83ff181df3ab9eba18" +checksum = "5b995bafbbdfc9e4f755726462441c3b454a1004a57d3438b4feb7f81a1e89ee" dependencies = [ "either", "enum_kind", "lexical", "num-bigint", - "rustc-hash", "serde", "smallvec", "swc_atoms", @@ -1642,19 +1693,20 @@ dependencies = [ "swc_ecma_ast", "swc_ecma_visit", "tracing", + "typed-arena 2.0.1", "unicode-xid", ] [[package]] name = "swc_ecma_preset_env" -version = "0.50.1" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe57e87ab6648b1efd66054c53095c7624015635f2be860faea63e56653d3dce" +checksum = "6722395ed61072bb6ed5b085a5aa35e2add0fa35b45826858932251b3896bba6" dependencies = [ + "ahash", "dashmap", "indexmap", "once_cell", - "rustc-hash", "semver 0.9.0", "serde", "serde_json", @@ -1671,9 +1723,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.79.1" +version = "0.88.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f78c7290d1fe46f06f27987fe4ea135113a1f18af5337477ec9ce7a38a265d6" +checksum = "c38ddf75f012a84fe05ccdbceaf3a57c8657a989ad376ad5a5fd0ec7cf197cf9" dependencies = [ "swc_atoms", "swc_common", @@ -1693,13 +1745,12 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.35.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31a7abb84019a7075d40ff64fabda1085549b52d0dd071ccf73bbcefd4c58ce3" +checksum = "d1ce842ee29a2e96647950dba48dddd757ad7e5b392b1902191a16c3e8be22ae" dependencies = [ "once_cell", "phf", - "rustc-hash", "scoped-tls", "smallvec", "swc_atoms", @@ -1712,9 +1763,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.21.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8443bbb9640517da3be412db040b2806242670330020333782af4da04c9460d4" +checksum = "86440b9078c3496db893afb298d20a59baf2fc46caa3298d16fdf3c88f27a250" dependencies = [ "swc_atoms", "swc_common", @@ -1726,16 +1777,16 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.40.0" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16601a7369bb4f32982ec02a92cb18d3506ffaab35e2a56fccb3f779e863db6f" +checksum = "295063deef51499ebc77657735c81153baa9906c5878083c2affc6f629a94356" dependencies = [ + "ahash", "arrayvec", "indexmap", "is-macro", "num-bigint", "ordered-float", - "rustc-hash", "serde", "smallvec", "swc_atoms", @@ -1750,9 +1801,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_macros" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7680ada61fa22c2164c3f32864efba31566710b503c30631ccc3b6f0fa800bc" +checksum = "063ad8426598df1aad8cdb9e9994a54cecb07fe902190c467bf195f5f553ed8d" dependencies = [ "pmutil", "proc-macro2", @@ -1763,15 +1814,15 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.44.0" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6af6f6e4cd400d8b7a5f7623f259986902d41e769dad009400b1d9a9df0bdd23" +checksum = "4a5d051c3670de64b4eb418054efb4fc562f9c0c47728970c5d4d28cd7947596" dependencies = [ "Inflector", + "ahash", "anyhow", "indexmap", "pathdiff", - "rustc-hash", "serde", "swc_atoms", "swc_common", @@ -1785,21 +1836,22 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.49.1" +version = "0.58.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77adc57cb52698c9d62444c95e67535e42ade153023c51d8eb207e9d4d9cc4b2" +checksum = "f8774d32f481b47dec0b0e30765a71d02a1c63919b4ca52f925afbf0dd5b81e6" dependencies = [ + "ahash", "dashmap", "indexmap", "once_cell", "retain_mut", - "rustc-hash", "serde_json", "swc_atoms", "swc_common", "swc_ecma_ast", "swc_ecma_parser", "swc_ecma_transforms_base", + "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", "tracing", @@ -1807,12 +1859,11 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.44.0" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12dace1bac2bbc49b3797d48bf0002c57d7ff78265cf873baab3ce8238b46ff" +checksum = "834c7d79c77c28f97232ed642543b5cb4d4cd310fbfccdf83dcc21d2df35155e" dependencies = [ "either", - "rustc-hash", "serde", "smallvec", "swc_atoms", @@ -1828,10 +1879,11 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.46.1" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c623d4718e6725fc885a2209f48fe49dcf9ab1202699a3f519e5d9be45112a6" +checksum = "4655b6e1f9d96a7f1080bf5344351a5cda939c05a5ee26f04201362056a4db47" dependencies = [ + "ahash", "base64 0.13.0", "dashmap", "indexmap", @@ -1845,32 +1897,33 @@ dependencies = [ "swc_ecma_ast", "swc_ecma_parser", "swc_ecma_transforms_base", + "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", ] [[package]] name = "swc_ecma_transforms_typescript" -version = "0.46.1" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd79a516cf3dff5c8b23b1d6ec0c40a19f8793d3bc0fed071a1abf51a5054faf" +checksum = "bfbca21d37a9ec2e5de9f92d6dd5ff2d749d741bc0fac832d38ccbcf4bde4f28" dependencies = [ - "rustc-hash", "serde", "swc_atoms", "swc_common", "swc_ecma_ast", "swc_ecma_parser", "swc_ecma_transforms_base", + "swc_ecma_transforms_react", "swc_ecma_utils", "swc_ecma_visit", ] [[package]] name = "swc_ecma_utils" -version = "0.46.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62c967ce4db75e9fb28c2e47e8cf07851fb282f28fa72640c996b52fbe6dd85" +checksum = "fc932d46dabd2250f4bb690cf5eb14a672c6c054caee1a1a9ff3ecf77b472606" dependencies = [ "once_cell", "scoped-tls", @@ -1883,9 +1936,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.40.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c24a7600061813d7df3248d93ff27cacc1a81f9eeec47701866f3adc9ae2930" +checksum = "c242ca4236cf826f9d575f27235a049e7e5629b66f130fdc1f333fa23e6a2ff4" dependencies = [ "num-bigint", "swc_atoms", @@ -1896,9 +1949,9 @@ dependencies = [ [[package]] name = "swc_ecmascript" -version = "0.71.1" +version = "0.80.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "638a61e53c63b99c6618e3c6416f9fa59f0178fe1b401a90e192d6f01008ec7c" +checksum = "cc83776796ba1c4602e268ff0a71a325fbaf8b65d312b8fe975ee94865300501" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -1934,9 +1987,9 @@ dependencies = [ [[package]] name = "swc_visit" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a423caa0b4585118164dbad8f1ad52b592a9a9370b25decc4d84c6b4309132c0" +checksum = "f8511a4788ab29daf00bee23e425aac92c9be4eec74c98fec4a45d0e710be695" dependencies = [ "either", "swc_visit_macros", @@ -2057,6 +2110,12 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9b2228007eba4120145f785df0f6c92ea538f5a3635a612ecf4e334c8c1446d" +[[package]] +name = "typed-arena" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0685c84d5d54d1c26f7d3eb96cd41550adb97baed141a761cf335d3d33bcd0ae" + [[package]] name = "typenum" version = "1.14.0" @@ -2252,5 +2311,5 @@ dependencies = [ "adler32", "byteorder", "crc 1.8.1", - "typed-arena", + "typed-arena 1.7.0", ] diff --git a/packages/transformers/js/core/Cargo.toml b/packages/transformers/js/core/Cargo.toml index e065cf0c352..e3b2501e769 100644 --- a/packages/transformers/js/core/Cargo.toml +++ b/packages/transformers/js/core/Cargo.toml @@ -8,10 +8,10 @@ edition = "2018" crate-type = ["rlib"] [dependencies] -swc_ecmascript = { version = "0.71.1", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils"] } -swc_ecma_preset_env = "0.50.1" -swc_common = { version = "0.13.2", features = ["tty-emitter", "sourcemap"] } -swc_atoms = "0.2.7" +swc_ecmascript = { version = "0.80.0", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils"] } +swc_ecma_preset_env = "0.59.0" +swc_common = { version = "0.14.1", features = ["tty-emitter", "sourcemap"] } +swc_atoms = "0.2.9" indoc = "1.0.3" serde = "1.0.123" serde_bytes = "0.11.5" diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index 6b37bb45f2a..d2a4abed5b1 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -916,25 +916,23 @@ impl<'a> Fold for Hoist<'a> { }; let ident = BindingIdent::from(self.get_export_ident(member.span, &key)); - if self.collect.static_cjs_exports { - if self.export_decls.insert(ident.id.sym.clone()) { - self - .hoisted_imports - .push(ModuleItem::Stmt(Stmt::Decl(Decl::Var(VarDecl { - declare: false, - kind: VarDeclKind::Var, + if self.collect.static_cjs_exports && self.export_decls.insert(ident.id.sym.clone()) { + self + .hoisted_imports + .push(ModuleItem::Stmt(Stmt::Decl(Decl::Var(VarDecl { + declare: false, + kind: VarDeclKind::Var, + span: node.span, + decls: vec![VarDeclarator { + definite: false, span: node.span, - decls: vec![VarDeclarator { - definite: false, - span: node.span, - name: Pat::Ident(BindingIdent::from(Ident::new( - ident.id.sym.clone(), - DUMMY_SP, - ))), - init: None, - }], - })))); - } + name: Pat::Ident(BindingIdent::from(Ident::new( + ident.id.sym.clone(), + DUMMY_SP, + ))), + init: None, + }], + })))); } return AssignExpr { diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index 2d616ee0eb9..09a0a472650 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -255,16 +255,6 @@ pub fn transform(config: Config) -> Result { let ignore_mark = Mark::fresh(Mark::root()); module = { let mut passes = chain!( - resolver_with_mark(global_mark), - Optional::new( - react::react( - source_map.clone(), - Some(&comments), - react_options, - global_mark - ), - config.is_jsx - ), // Decorators can use type information, so must run before the TypeScript pass. Optional::new( decorators::decorators(decorators::Config { @@ -274,9 +264,30 @@ pub fn transform(config: Config) -> Result { }), config.decorators ), - Optional::new(typescript::strip(), config.is_type_script), - // Run resolver again. TS pass messes things up. + Optional::new( + typescript::strip_with_jsx( + source_map.clone(), + typescript::Config { + pragma: Some(react_options.pragma.clone()), + pragma_frag: Some(react_options.pragma_frag.clone()), + ..Default::default() + }, + Some(&comments), + global_mark, + ), + config.is_type_script && config.is_jsx + ), + Optional::new(typescript::strip(), config.is_type_script && !config.is_jsx), resolver_with_mark(global_mark), + Optional::new( + react::react( + source_map.clone(), + Some(&comments), + react_options, + global_mark + ), + config.is_jsx + ), ); module.fold_with(&mut passes) From 530e06a20b7ba5729b54715a2e00f6e4ca2ad896 Mon Sep 17 00:00:00 2001 From: Nurettin Kaya Date: Sun, 24 Oct 2021 09:21:09 -0700 Subject: [PATCH 0093/1076] Return `undefined` `loc` if declaration missing `source` (#7079) Co-authored-by: Jasper De Moor Co-authored-by: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> --- .../integration/postcss-plugins-decl/index.css | 2 ++ .../postcss-plugins-decl/postcss.config.js | 11 +++++++++++ .../integration/postcss-plugins-decl/yarn.lock | 0 packages/core/integration-tests/test/postcss.js | 10 ++++++++++ packages/transformers/css/src/CSSTransformer.js | 15 +++++++++------ 5 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/postcss-plugins-decl/index.css create mode 100644 packages/core/integration-tests/test/integration/postcss-plugins-decl/postcss.config.js create mode 100644 packages/core/integration-tests/test/integration/postcss-plugins-decl/yarn.lock diff --git a/packages/core/integration-tests/test/integration/postcss-plugins-decl/index.css b/packages/core/integration-tests/test/integration/postcss-plugins-decl/index.css new file mode 100644 index 00000000000..37f1b9842f6 --- /dev/null +++ b/packages/core/integration-tests/test/integration/postcss-plugins-decl/index.css @@ -0,0 +1,2 @@ +.index { +} diff --git a/packages/core/integration-tests/test/integration/postcss-plugins-decl/postcss.config.js b/packages/core/integration-tests/test/integration/postcss-plugins-decl/postcss.config.js new file mode 100644 index 00000000000..ca2f9553b2a --- /dev/null +++ b/packages/core/integration-tests/test/integration/postcss-plugins-decl/postcss.config.js @@ -0,0 +1,11 @@ +module.exports = { + "plugins": [ + { + postcssPlugin: 'PLUGIN NAME', + Rule: (rule, { Declaration }) => { + const decl = new Declaration({ prop: 'background-image', value: 'url("data:image/gif;base64,quotes")' }) + rule.append(decl) + }, + } + ] +} diff --git a/packages/core/integration-tests/test/integration/postcss-plugins-decl/yarn.lock b/packages/core/integration-tests/test/integration/postcss-plugins-decl/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/postcss.js b/packages/core/integration-tests/test/postcss.js index 2e11aa2e4f5..14496492e38 100644 --- a/packages/core/integration-tests/test/postcss.js +++ b/packages/core/integration-tests/test/postcss.js @@ -251,6 +251,16 @@ describe('postcss', () => { assert.equal(run1(), run2()); }); + it('should support transforming declarations with missing source', async () => { + await bundle( + path.join(__dirname, '/integration/postcss-plugins-decl/index.css'), + ); + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + + assert(css.includes('url("data:image/gif;base64,quotes")')); + }); + it('should support postcss composes imports', async () => { let b = await bundle( path.join(__dirname, '/integration/postcss-composes/index.js'), diff --git a/packages/transformers/css/src/CSSTransformer.js b/packages/transformers/css/src/CSSTransformer.js index a5437582245..e8810d448d7 100644 --- a/packages/transformers/css/src/CSSTransformer.js +++ b/packages/transformers/css/src/CSSTransformer.js @@ -143,12 +143,15 @@ export default (new Transformer({ !node.nodes[0].value.startsWith('#') // IE's `behavior: url(#default#VML)` ) { let url = asset.addURLDependency(node.nodes[0].value, { - loc: createLoc( - nullthrows(decl.source.start), - node.nodes[0].value, - 0, - node.nodes[0].sourceIndex, - ), + loc: + decl.source && + decl.source.start && + createLoc( + decl.source.start, + node.nodes[0].value, + 0, + node.nodes[0].sourceIndex, + ), }); isDeclDirty = node.nodes[0].value !== url; node.nodes[0].value = url; From 8afcd1ec0f70d098fc0e18391e6a106d6570a015 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 26 Oct 2021 04:55:33 +0200 Subject: [PATCH 0094/1076] Add parenthesis around `$parcel$interopDefault` call for externals (#7113) --- .../formats/commonjs-external/default-new.js | 3 +++ .../commonjs-external/node_modules/test/index.js | 7 +++++++ .../node_modules/test/package.json | 4 ++++ .../formats/commonjs-external/package.json | 3 ++- .../core/integration-tests/test/output-formats.js | 15 ++++++++++++++- .../packagers/js/src/ScopeHoistingPackager.js | 2 +- 6 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/formats/commonjs-external/default-new.js create mode 100644 packages/core/integration-tests/test/integration/formats/commonjs-external/node_modules/test/index.js create mode 100644 packages/core/integration-tests/test/integration/formats/commonjs-external/node_modules/test/package.json diff --git a/packages/core/integration-tests/test/integration/formats/commonjs-external/default-new.js b/packages/core/integration-tests/test/integration/formats/commonjs-external/default-new.js new file mode 100644 index 00000000000..8b4d503bd49 --- /dev/null +++ b/packages/core/integration-tests/test/integration/formats/commonjs-external/default-new.js @@ -0,0 +1,3 @@ +import Foo from "test"; + +new Foo(); diff --git a/packages/core/integration-tests/test/integration/formats/commonjs-external/node_modules/test/index.js b/packages/core/integration-tests/test/integration/formats/commonjs-external/node_modules/test/index.js new file mode 100644 index 00000000000..5f3ae2e97c8 --- /dev/null +++ b/packages/core/integration-tests/test/integration/formats/commonjs-external/node_modules/test/index.js @@ -0,0 +1,7 @@ +function Foo(v) { + if (!(this instanceof Foo)) { + throw new Error("Called without new"); + } +} + +module.exports = Foo; diff --git a/packages/core/integration-tests/test/integration/formats/commonjs-external/node_modules/test/package.json b/packages/core/integration-tests/test/integration/formats/commonjs-external/node_modules/test/package.json new file mode 100644 index 00000000000..1545befa161 --- /dev/null +++ b/packages/core/integration-tests/test/integration/formats/commonjs-external/node_modules/test/package.json @@ -0,0 +1,4 @@ +{ + "name": "test", + "version": "0.0.0" +} diff --git a/packages/core/integration-tests/test/integration/formats/commonjs-external/package.json b/packages/core/integration-tests/test/integration/formats/commonjs-external/package.json index 0bd14c76a75..e734a965125 100644 --- a/packages/core/integration-tests/test/integration/formats/commonjs-external/package.json +++ b/packages/core/integration-tests/test/integration/formats/commonjs-external/package.json @@ -6,6 +6,7 @@ "node": ">= 10.x" }, "dependencies": { - "lodash": "*" + "lodash": "*", + "test": "*" } } diff --git a/packages/core/integration-tests/test/output-formats.js b/packages/core/integration-tests/test/output-formats.js index ad4c5d8cf51..ec37e93c7d0 100644 --- a/packages/core/integration-tests/test/output-formats.js +++ b/packages/core/integration-tests/test/output-formats.js @@ -168,6 +168,19 @@ describe('output formats', function() { assert.equal((await run(b)).bar, 3); }); + it('should support commonjs output with external modules (default import new call)', async function() { + let b = await bundle( + path.join( + __dirname, + '/integration/formats/commonjs-external/default-new.js', + ), + ); + + let dist = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert(dist.includes('$parcel$interopDefault')); + await run(b); + }); + it('should support commonjs output with external modules (multiple specifiers)', async function() { let b = await bundle( path.join( @@ -178,7 +191,7 @@ describe('output formats', function() { let dist = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); assert(dist.includes('= require("lodash")')); - assert(dist.includes('= $parcel$interopDefault(')); + assert(dist.includes('= ($parcel$interopDefault(')); assert(/var {add: \s*\$.+?\$add\s*} = lodash/); assert.equal((await run(b)).bar, 6); }); diff --git a/packages/packagers/js/src/ScopeHoistingPackager.js b/packages/packagers/js/src/ScopeHoistingPackager.js index 1e6d7e29a7c..e7ca74cebf6 100644 --- a/packages/packagers/js/src/ScopeHoistingPackager.js +++ b/packages/packagers/js/src/ScopeHoistingPackager.js @@ -580,7 +580,7 @@ ${code} if (imported === '*') { replacement = renamed; } else if (imported === 'default') { - replacement = `$parcel$interopDefault(${renamed})`; + replacement = `($parcel$interopDefault(${renamed}))`; this.usedHelpers.add('$parcel$interopDefault'); } else { replacement = this.getPropertyAccess(renamed, imported); From 806bebe710a9f14c0fc3074b0883e0429a11e5b6 Mon Sep 17 00:00:00 2001 From: Marco Karaula Date: Tue, 26 Oct 2021 15:07:42 +0200 Subject: [PATCH 0095/1076] using @parcel/transformer-yaml for .yml files (#7192) --- packages/configs/default/index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/configs/default/index.json b/packages/configs/default/index.json index 9d51a249c46..bda82bd3089 100644 --- a/packages/configs/default/index.json +++ b/packages/configs/default/index.json @@ -18,7 +18,7 @@ "*.toml": ["@parcel/transformer-toml"], "*.webmanifest": ["@parcel/transformer-webmanifest"], "webmanifest:*.{json,webmanifest}": ["@parcel/transformer-webmanifest"], - "*.yaml": ["@parcel/transformer-yaml"], + "*.{yaml,yml}": ["@parcel/transformer-yaml"], "*.{glsl,vert,frag}": ["@parcel/transformer-glsl"], "*.{gql,graphql}": ["@parcel/transformer-graphql"], "*.{styl,stylus}": ["@parcel/transformer-stylus"], From da998f7548f4624bfeb17dd8a3ef17bdd96652a0 Mon Sep 17 00:00:00 2001 From: Jasper De Moor Date: Tue, 26 Oct 2021 21:31:13 +0200 Subject: [PATCH 0096/1076] Log warning instead of crash if image optimizer fails (#7119) --- packages/core/integration-tests/test/image.js | 25 ++++++++++++++++ .../test/integration/image/banana.jpg | Bin 0 -> 38128 bytes packages/optimizers/image/package.json | 1 + .../optimizers/image/src/ImageOptimizer.js | 28 ++++++++++++++---- 4 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/image/banana.jpg diff --git a/packages/core/integration-tests/test/image.js b/packages/core/integration-tests/test/image.js index 4299e050aed..a12897068cf 100644 --- a/packages/core/integration-tests/test/image.js +++ b/packages/core/integration-tests/test/image.js @@ -113,6 +113,31 @@ describe('image', function() { assert(output.length < input.length); }); + it('should lossless optimise progressive JPEGs', async function() { + let img = path.join(__dirname, '/integration/image/banana.jpg'); + let b = await bundle(img, { + defaultTargetOptions: { + shouldOptimize: true, + }, + logLevel: 'verbose', + }); + + const imagePath = b.getBundles().find(b => b.type === 'jpg').filePath; + + // let input = await inputFS.readFile(img); + // let inputRaw = await sharp(input) + // .toFormat('raw') + // .toBuffer(); + // Check validity of image + let output = await outputFS.readFile(imagePath); + await sharp(output) + .toFormat('raw') + .toBuffer(); + + // assert(outputRaw.equals(inputRaw)); + // assert(output.length < input.length); + }); + it('should lossless optimise PNGs', async function() { let img = path.join(__dirname, '/integration/image/clock.png'); let b = await bundle(img, { diff --git a/packages/core/integration-tests/test/integration/image/banana.jpg b/packages/core/integration-tests/test/integration/image/banana.jpg new file mode 100644 index 0000000000000000000000000000000000000000..23b5408399ec6aa9c6920c697aefe8de6295ae0e GIT binary patch literal 38128 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 Date: Wed, 27 Oct 2021 18:03:43 +0200 Subject: [PATCH 0097/1076] fix #6730: add transformer-raw as dependency of config-webextension (#7193) --- packages/configs/webextension/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index 5f1e34aecab..044095bbf8d 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -17,6 +17,7 @@ "dependencies": { "@parcel/config-default": "^2.0.0", "@parcel/packager-raw-url": "^2.0.0", + "@parcel/transformer-raw": "^2.0.0", "@parcel/transformer-webextension": "^2.0.0" } } From d80749f71a59606a235a4a0be667a902a58bb610 Mon Sep 17 00:00:00 2001 From: rancyr Date: Fri, 29 Oct 2021 22:32:42 +0800 Subject: [PATCH 0098/1076] Update package.json to include the repository (#7184) --- packages/dev/babel-preset/package.json | 5 +++++ packages/utils/babylon-walk/package.json | 5 +++++ packages/utils/create-react-app/package.json | 5 +++++ packages/utils/fs-write-stream-atomic/package.json | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index 4f6b3b6ace9..6fe4fd6b9a5 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -3,6 +3,11 @@ "version": "2.0.0", "private": true, "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git", + "directory": "packages/dev/babel-preset" + }, "dependencies": { "@babel/plugin-proposal-class-properties": "^7.1.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.4.4", diff --git a/packages/utils/babylon-walk/package.json b/packages/utils/babylon-walk/package.json index 79ca807ba34..20d7892051f 100755 --- a/packages/utils/babylon-walk/package.json +++ b/packages/utils/babylon-walk/package.json @@ -10,6 +10,11 @@ "url": "https://opencollective.com/parcel" }, "description": "Lightweight Babylon AST traversal", + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git", + "directory": "packages/utils/babylon-walk" + }, "main": "lib/index.js", "source": "src/index.js", "engines": { diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index b15d36c6e5e..238cb783dae 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -5,6 +5,11 @@ "parcel-create-react-app": "src/bin.js" }, "main": "lib/bin.js", + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git", + "directory": "packages/utils/create-react-app" + }, "source": "src/bin.js", "files": [ "templates", diff --git a/packages/utils/fs-write-stream-atomic/package.json b/packages/utils/fs-write-stream-atomic/package.json index b58f3d2b829..02fde45008c 100644 --- a/packages/utils/fs-write-stream-atomic/package.json +++ b/packages/utils/fs-write-stream-atomic/package.json @@ -3,6 +3,11 @@ "version": "2.0.0", "description": "Like `fs.createWriteStream(...)`, but atomic.", "main": "index.js", + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git", + "directory": "packages/utils/fs-write-stream-atomic" + }, "directories": { "test": "test" }, From c8a64c9a533072c12681ca0805d1e4d7481ee53d Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Sun, 31 Oct 2021 09:57:03 +0100 Subject: [PATCH 0099/1076] Fix serve mode with target override and target source fields (#7187) --- .../core/core/src/requests/TargetRequest.js | 2 +- .../core/integration-tests/test/monorepos.js | 22 ++++++++++ yarn.lock | 40 +++++-------------- 3 files changed, 34 insertions(+), 30 deletions(-) diff --git a/packages/core/core/src/requests/TargetRequest.js b/packages/core/core/src/requests/TargetRequest.js index f456e75c75c..ece93ebf6fe 100644 --- a/packages/core/core/src/requests/TargetRequest.js +++ b/packages/core/core/src/requests/TargetRequest.js @@ -279,7 +279,7 @@ export class TargetResolver { } let serve = this.options.serveOptions; - if (serve) { + if (serve && targets.length > 0) { // In serve mode, we only support a single browser target. If the user // provided more than one, or the matching target is not a browser, throw. if (targets.length > 1) { diff --git a/packages/core/integration-tests/test/monorepos.js b/packages/core/integration-tests/test/monorepos.js index a62670acbfb..b1b40bf89ef 100644 --- a/packages/core/integration-tests/test/monorepos.js +++ b/packages/core/integration-tests/test/monorepos.js @@ -142,6 +142,28 @@ describe('monorepos', function() { } }); + it('should compile packages with target source overrides and --target option in serve mode', async function() { + let fixture = path.join(__dirname, '/integration/target-source'); + let oldcwd = inputFS.cwd(); + inputFS.chdir(fixture); + + try { + let b = await bundle(path.join(fixture, 'packages/package-b'), { + targets: ['alternate'], + serveOptions: {port: 1234}, + }); + + assertBundles(b, [ + { + name: 'indexAlternate.js', + assets: ['bar.js', 'esmodule-helpers.js', 'indexAlternate.js'], + }, + ]); + } finally { + inputFS.chdir(oldcwd); + } + }); + it('should build using root targets with entry files inside packages and cwd at project root', async function() { let fixture = path.join(__dirname, '/integration/monorepo'); let oldcwd = inputFS.cwd(); diff --git a/yarn.lock b/yarn.lock index d4a41e2a882..fc1de409701 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3516,9 +3516,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001219: - version "1.0.30001228" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa" - integrity sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A== + version "1.0.30001271" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001271.tgz#0dda0c9bcae2cf5407cd34cac304186616cc83e8" + integrity sha512-BBruZFWmt3HFdVPS8kceTBIguKxu4f99n5JNp06OlPD/luoAMIaIK5ieV5YjnBLH3Nysai9sxj9rpJj4ZisXOA== caseless@~0.12.0: version "0.12.0" @@ -8658,15 +8658,7 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -micromatch@^4.0.4: +micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -9080,7 +9072,7 @@ node-addon-api@^3.2.1: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-addon-api@^4.1.0: +node-addon-api@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.2.0.tgz#117cbb5a959dff0992e1c586ae0393573e4d2a87" integrity sha512-eazsqzwG2lskuzBqCGPi7Ac2UgOoMz8JVOXVhTvvPDYhthvNpefx8jWD8Np7Gv+2Sz0FlPWZk0nJV0z598Wn8Q== @@ -9114,12 +9106,7 @@ node-forge@^0.10.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== -node-gyp-build@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" - integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== - -node-gyp-build@^4.3.0: +node-gyp-build@^4.2.3, node-gyp-build@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== @@ -9944,12 +9931,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, 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== @@ -11706,13 +11688,13 @@ shallow-copy@0.0.1: integrity sha1-QV9CcC1z2BAzApLMXuhurhoRoXA= sharp@^0.29.1: - version "0.29.1" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.29.1.tgz#f60b50f24f399464a24187c86bd2da41aae50b85" - integrity sha512-DpgdAny9TuS+oWCQ7MRS8XyY9x6q1+yW3a5wNx0J3HrGuB/Jot/8WcT+lElHY9iJu2pwtegSGxqMaqFiMhs4rQ== + version "0.29.2" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.29.2.tgz#e8c003cd9cb321585b32dbda6eed3baa7d6f2308" + integrity sha512-XWRdiYLIJ3tDUejRyG24KERnJzMfIoyiJBntd2S6/uj3NEeNgRFRLgiBlvPxMa8aml14dKKD98yHinSNKp1xzQ== dependencies: color "^4.0.1" detect-libc "^1.0.3" - node-addon-api "^4.1.0" + node-addon-api "^4.2.0" prebuild-install "^6.1.4" semver "^7.3.5" simple-get "^3.1.0" From e0440dcbe6d6e419a412c8c568d94715cdb4282a Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Mon, 1 Nov 2021 19:45:06 +0100 Subject: [PATCH 0100/1076] Update to prettier 2 (#7209) --- .prettierrc | 1 + package.json | 2 +- .../bundlers/default/src/DefaultBundler.js | 5 +- packages/core/codeframe/src/codeframe.js | 5 +- packages/core/core/src/PackagerRunner.js | 4 +- packages/core/core/src/Parcel.js | 14 +- packages/core/core/src/ParcelConfig.js | 16 +- packages/core/core/src/RequestTracker.js | 7 +- packages/core/core/src/applyRuntimes.js | 6 +- packages/core/core/src/public/Asset.js | 6 +- packages/core/core/src/public/Bundle.js | 6 +- packages/core/core/src/public/BundleGraph.js | 3 +- packages/core/core/src/public/Dependency.js | 6 +- .../core/src/public/MutableBundleGraph.js | 11 +- .../core/core/src/public/PluginOptions.js | 6 +- packages/core/core/src/public/Symbols.js | 6 +- .../core/src/requests/AssetGraphRequest.js | 8 +- .../core/core/src/requests/EntryRequest.js | 4 +- .../core/core/src/requests/PackageRequest.js | 24 +- .../core/src/requests/ParcelConfigRequest.js | 12 +- .../core/core/src/requests/TargetRequest.js | 10 +- packages/core/core/src/types.js | 5 +- packages/core/core/src/worker.js | 3 +- packages/core/core/test/EntryRequest.test.js | 10 +- packages/core/core/test/Parcel.test.js | 2 +- packages/core/diagnostic/src/diagnostic.js | 8 +- packages/core/fs/src/MemoryFS.js | 5 +- packages/core/fs/src/OverlayFS.js | 34 +- packages/core/graph/src/Graph.js | 12 +- packages/core/integration-tests/test/api.js | 6 +- packages/core/integration-tests/test/babel.js | 56 +- .../core/integration-tests/test/bundler.js | 8 +- packages/core/integration-tests/test/cache.js | 396 ++++++------ .../integration-tests/test/compressors.js | 6 +- .../integration-tests/test/config-merging.js | 4 +- .../integration-tests/test/contentHashing.js | 6 +- packages/core/integration-tests/test/css.js | 14 +- packages/core/integration-tests/test/elm.js | 14 +- .../core/integration-tests/test/encodedURI.js | 4 +- .../test/eslint-validation.js | 6 +- packages/core/integration-tests/test/fs.js | 44 +- packages/core/integration-tests/test/glob.js | 16 +- .../core/integration-tests/test/globals.js | 6 +- packages/core/integration-tests/test/glsl.js | 4 +- .../core/integration-tests/test/graphql.js | 8 +- packages/core/integration-tests/test/hmr.js | 26 +- packages/core/integration-tests/test/html.js | 162 ++--- packages/core/integration-tests/test/image.js | 32 +- .../core/integration-tests/test/javascript.js | 379 +++++------ .../core/integration-tests/test/kotlin.js | 4 +- packages/core/integration-tests/test/less.js | 22 +- .../core/integration-tests/test/markdown.js | 4 +- packages/core/integration-tests/test/mdx.js | 6 +- .../core/integration-tests/test/monorepos.js | 30 +- packages/core/integration-tests/test/namer.js | 4 +- .../integration-tests/test/output-formats.js | 172 ++--- .../core/integration-tests/test/parser.js | 4 +- .../core/integration-tests/test/plugin.js | 18 +- packages/core/integration-tests/test/pnp.js | 6 +- .../core/integration-tests/test/postcss.js | 14 +- .../core/integration-tests/test/posthtml.js | 8 +- packages/core/integration-tests/test/proxy.js | 10 +- packages/core/integration-tests/test/pug.js | 16 +- .../integration-tests/test/react-refresh.js | 24 +- .../core/integration-tests/test/reason.js | 4 +- .../core/integration-tests/test/resolver.js | 38 +- packages/core/integration-tests/test/rust.js | 12 +- packages/core/integration-tests/test/sass.js | 26 +- .../integration-tests/test/schema-jsonld.js | 4 +- .../integration-tests/test/scope-hoisting.js | 589 +++++++++--------- .../core/integration-tests/test/server.js | 32 +- .../core/integration-tests/test/sourcemaps.js | 46 +- .../core/integration-tests/test/stylus.js | 14 +- .../core/integration-tests/test/sugarss.js | 4 +- .../core/integration-tests/test/svg-react.js | 4 +- packages/core/integration-tests/test/svg.js | 14 +- .../integration-tests/test/transpilation.js | 57 +- .../core/integration-tests/test/ts-types.js | 24 +- .../integration-tests/test/ts-validation.js | 12 +- .../integration-tests/test/typescript-tsc.js | 4 +- .../core/integration-tests/test/typescript.js | 24 +- packages/core/integration-tests/test/vue.js | 22 +- packages/core/integration-tests/test/wasm.js | 10 +- .../core/integration-tests/test/watcher.js | 20 +- .../integration-tests/test/webextension.js | 6 +- .../integration-tests/test/webmanifest.js | 12 +- packages/core/integration-tests/test/xml.js | 8 +- .../test/NodePackageManager.test.js | 2 +- packages/core/parcel/src/cli.js | 20 +- packages/core/test-utils/src/utils.js | 4 +- packages/core/utils/src/collection.js | 4 +- packages/core/utils/src/debounce.js | 2 +- packages/core/utils/src/getExisting.js | 5 +- packages/core/utils/src/hash.js | 2 +- .../core/utils/src/replaceBundleReferences.js | 7 +- packages/core/utils/src/schema.js | 2 +- packages/core/utils/src/sourcemap.js | 3 +- packages/core/utils/test/DefaultMap.test.js | 11 +- packages/core/utils/test/throttle.test.js | 2 +- packages/core/workers/src/cpuCount.js | 5 +- packages/core/workers/test/cpuCount.test.js | 2 +- packages/core/workers/test/workerfarm.js | 2 +- .../rules/no-self-package-imports.test.js | 9 +- packages/examples/react-hmr/src/index.js | 4 +- packages/examples/simple/src/foo.js | 2 +- packages/namers/default/src/DefaultNamer.js | 9 +- .../data-url/src/DataURLOptimizer.js | 2 +- packages/packagers/html/src/HTMLPackager.js | 5 +- packages/packagers/js/src/DevPackager.js | 5 +- .../packagers/js/src/ScopeHoistingPackager.js | 9 +- packages/packagers/js/src/dev-prelude.js | 10 +- packages/reporters/cli/src/CLIReporter.js | 9 +- packages/reporters/cli/src/utils.js | 2 +- .../reporters/dev-server/src/HMRServer.js | 5 +- packages/resolvers/glob/src/GlobResolver.js | 11 +- .../runtimes/hmr/src/loaders/hmr-runtime.js | 26 +- packages/runtimes/js/src/JSRuntime.js | 9 +- .../js/src/helpers/browser/css-loader.js | 8 +- .../js/src/helpers/browser/html-loader.js | 2 +- .../js/src/helpers/browser/import-polyfill.js | 2 +- .../js/src/helpers/browser/js-loader.js | 8 +- .../js/src/helpers/browser/wasm-loader.js | 6 +- .../runtimes/js/src/helpers/cacheLoader.js | 4 +- .../js/src/helpers/node/html-loader.js | 6 +- .../runtimes/js/src/helpers/node/js-loader.js | 8 +- .../js/src/helpers/node/wasm-loader.js | 8 +- .../js/src/helpers/worker/js-loader.js | 2 +- .../js/src/helpers/worker/wasm-loader.js | 6 +- .../babel-ast-utils/src/babelErrorUtils.js | 5 +- .../shared/babel-ast-utils/src/generator.js | 2 +- packages/shared/babel-ast-utils/test/index.js | 2 +- packages/transformers/babel/src/config.js | 7 +- .../transformers/html/src/HTMLTransformer.js | 6 +- .../image/src/ImageTransformer.js | 5 +- packages/transformers/js/src/JSTransformer.js | 6 +- .../transformers/js/src/esmodule-helpers.js | 12 +- .../react-refresh-wrap/src/helpers/helpers.js | 18 +- .../transformers/sass/src/SassTransformer.js | 2 +- packages/transformers/svg/src/dependencies.js | 3 +- .../webextension/src/runtime/autoreload-bg.js | 2 +- .../webextension/src/runtime/autoreload.js | 2 +- .../src/index.js | 4 +- packages/utils/babylon-walk/src/index.js | 5 +- .../fs-write-stream-atomic/test/basic.js | 33 +- .../fs-write-stream-atomic/test/chown.js | 16 +- .../test/rename-eperm.js | 52 +- .../test/rename-fail.js | 10 +- .../fs-write-stream-atomic/test/slow-close.js | 12 +- .../fs-write-stream-atomic/test/thread-id.js | 8 +- .../fs-write-stream-atomic/test/toolong.js | 6 +- .../utils/node-resolver-core/test/resolver.js | 180 +++--- packages/utils/ts-utils/src/FSHost.js | 7 +- .../utils/ts-utils/src/LanguageServiceHost.js | 6 +- .../typescript/src/TypeScriptValidator.js | 2 +- yarn.lock | 12 +- 155 files changed, 1664 insertions(+), 1777 deletions(-) diff --git a/.prettierrc b/.prettierrc index c957da40809..6e76d2a1a1e 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,6 +3,7 @@ "endOfLine": "lf", "singleQuote": true, "trailingComma": "all", + "arrowParens": "avoid", "overrides": [ { "files": [ diff --git a/package.json b/package.json index 2670e8f35e9..e8252a79015 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "mocha": "^8.3.0", "mocha-junit-reporter": "^2.0.0", "mocha-multi-reporters": "^1.5.1", - "prettier": "1.19.1", + "prettier": "2.4.1", "rimraf": "^2.6.3", "semver": "^5.4.1", "sinon": "^7.3.1" diff --git a/packages/bundlers/default/src/DefaultBundler.js b/packages/bundlers/default/src/DefaultBundler.js index c7c834b4e8e..aa3a00320a6 100644 --- a/packages/bundlers/default/src/DefaultBundler.js +++ b/packages/bundlers/default/src/DefaultBundler.js @@ -246,9 +246,8 @@ export default (new Bundler({ ); for (let candidate of candidates) { - let bundleGroups = bundleGraph.getBundleGroupsContainingBundle( - candidate, - ); + let bundleGroups = + bundleGraph.getBundleGroupsContainingBundle(candidate); if ( Array.from(bundleGroups).every( group => diff --git a/packages/core/codeframe/src/codeframe.js b/packages/core/codeframe/src/codeframe.js index 5f60794a376..3eca8729395 100644 --- a/packages/core/codeframe/src/codeframe.js +++ b/packages/core/codeframe/src/codeframe.js @@ -121,9 +121,8 @@ export default function codeFrame( // Split input into lines and highlight syntax let lines = code.split(NEWLINE); - let syntaxHighlightedLines = (opts.syntaxHighlighting - ? highlightSyntax(code, opts.language) - : code + let syntaxHighlightedLines = ( + opts.syntaxHighlighting ? highlightSyntax(code, opts.language) : code ) .replace(TAB_REPLACE_REGEX, TAB_REPLACEMENT) .split(NEWLINE); diff --git a/packages/core/core/src/PackagerRunner.js b/packages/core/core/src/PackagerRunner.js index 4789b63269d..c062edc9da4 100644 --- a/packages/core/core/src/PackagerRunner.js +++ b/packages/core/core/src/PackagerRunner.js @@ -589,9 +589,7 @@ export default class PackagerRunner { return devDepHashes; } - async readFromCache( - cacheKey: string, - ): Promise { diff --git a/packages/core/core/src/Parcel.js b/packages/core/core/src/Parcel.js index 70b3b24d79f..60d7a2cbb2d 100644 --- a/packages/core/core/src/Parcel.js +++ b/packages/core/core/src/Parcel.js @@ -109,10 +109,8 @@ export default class Parcel { await resolvedOptions.cache.ensure(); - let { - dispose: disposeOptions, - ref: optionsRef, - } = await this.#farm.createSharedReference(resolvedOptions); + let {dispose: disposeOptions, ref: optionsRef} = + await this.#farm.createSharedReference(resolvedOptions); this.#optionsRef = optionsRef; this.#disposable = new Disposable(); @@ -268,12 +266,8 @@ export default class Parcel { signal, }); - let { - bundleGraph, - bundleInfo, - changedAssets, - assetRequests, - } = await this.#requestTracker.runRequest(request, {force: true}); + let {bundleGraph, bundleInfo, changedAssets, assetRequests} = + await this.#requestTracker.runRequest(request, {force: true}); this.#requestedAssetIds.clear(); diff --git a/packages/core/core/src/ParcelConfig.js b/packages/core/core/src/ParcelConfig.js index 6650485bcf8..2ace49e0344 100644 --- a/packages/core/core/src/ParcelConfig.js +++ b/packages/core/core/src/ParcelConfig.js @@ -116,9 +116,7 @@ export default class ParcelConfig { }; } - _loadPlugin( - node: ParcelPluginNode, - ): Promise<{| + _loadPlugin(node: ParcelPluginNode): Promise<{| plugin: T, version: Semver, resolveFrom: ProjectPath, @@ -179,9 +177,8 @@ export default class ParcelConfig { } getValidatorNames(filePath: ProjectPath): Array { - let validators: PureParcelConfigPipeline = this._getValidatorNodes( - filePath, - ); + let validators: PureParcelConfigPipeline = + this._getValidatorNodes(filePath); return validators.map(v => v.packageName); } @@ -203,11 +200,8 @@ export default class ParcelConfig { pipeline?: ?string, allowEmpty?: boolean, ): Promise>>> { - let transformers: PureParcelConfigPipeline | null = this.matchGlobMapPipelines( - filePath, - this.transformers, - pipeline, - ); + let transformers: PureParcelConfigPipeline | null = + this.matchGlobMapPipelines(filePath, this.transformers, pipeline); if (!transformers || transformers.length === 0) { if (allowEmpty) { return []; diff --git a/packages/core/core/src/RequestTracker.js b/packages/core/core/src/RequestTracker.js index 755459b48be..de505da8a31 100644 --- a/packages/core/core/src/RequestTracker.js +++ b/packages/core/core/src/RequestTracker.js @@ -783,9 +783,10 @@ export default class RequestTracker { this.signal = signal; } - startRequest( - request: StoredRequest, - ): {|requestNodeId: NodeId, deferred: Deferred|} { + startRequest(request: StoredRequest): {| + requestNodeId: NodeId, + deferred: Deferred, + |} { let didPreviouslyExist = this.graph.hasContentKey(request.id); let requestNodeId; if (didPreviouslyExist) { diff --git a/packages/core/core/src/applyRuntimes.js b/packages/core/core/src/applyRuntimes.js index c567ea10247..34cc00e0cc5 100644 --- a/packages/core/core/src/applyRuntimes.js +++ b/packages/core/core/src/applyRuntimes.js @@ -138,10 +138,8 @@ export default async function applyRuntimes({ await runDevDepRequest(api, devDepRequest); } - let { - assetGraph: runtimesAssetGraph, - changedAssets, - } = await reconcileNewRuntimes(api, connections, optionsRef); + let {assetGraph: runtimesAssetGraph, changedAssets} = + await reconcileNewRuntimes(api, connections, optionsRef); let runtimesGraph = InternalBundleGraph.fromAssetGraph( runtimesAssetGraph, diff --git a/packages/core/core/src/public/Asset.js b/packages/core/core/src/public/Asset.js index 88da55b1558..88372c2f0c2 100644 --- a/packages/core/core/src/public/Asset.js +++ b/packages/core/core/src/public/Asset.js @@ -41,10 +41,8 @@ const inspect = Symbol.for('nodejs.util.inspect.custom'); const uncommittedAssetValueToAsset: WeakMap = new WeakMap(); const committedAssetValueToAsset: WeakMap = new WeakMap(); -const assetValueToMutableAsset: WeakMap< - AssetValue, - MutableAsset, -> = new WeakMap(); +const assetValueToMutableAsset: WeakMap = + new WeakMap(); const _assetToAssetValue: WeakMap< IAsset | IMutableAsset | BaseAsset, diff --git a/packages/core/core/src/public/Bundle.js b/packages/core/core/src/public/Bundle.js index 00793ad4c66..1c9ae0a2bc7 100644 --- a/packages/core/core/src/public/Bundle.js +++ b/packages/core/core/src/public/Bundle.js @@ -51,10 +51,8 @@ const _bundleToInternalBundle: WeakMap = new WeakMap(); export function bundleToInternalBundle(bundle: IBundle): InternalBundle { return nullthrows(_bundleToInternalBundle.get(bundle)); } -const _bundleToInternalBundleGraph: WeakMap< - IBundle, - BundleGraph, -> = new WeakMap(); +const _bundleToInternalBundleGraph: WeakMap = + new WeakMap(); export function bundleToInternalBundleGraph(bundle: IBundle): BundleGraph { return nullthrows(_bundleToInternalBundleGraph.get(bundle)); } diff --git a/packages/core/core/src/public/BundleGraph.js b/packages/core/core/src/public/BundleGraph.js index d6da6ba49bb..47372f53c08 100644 --- a/packages/core/core/src/public/BundleGraph.js +++ b/packages/core/core/src/public/BundleGraph.js @@ -47,7 +47,8 @@ type BundleFactory = ( ) => TBundle; export default class BundleGraph - implements IBundleGraph { + implements IBundleGraph +{ #graph: InternalBundleGraph; #options: ParcelOptions; #createBundle: BundleFactory; diff --git a/packages/core/core/src/public/Dependency.js b/packages/core/core/src/public/Dependency.js index 60cc46042d1..950bb54249a 100644 --- a/packages/core/core/src/public/Dependency.js +++ b/packages/core/core/src/public/Dependency.js @@ -26,10 +26,8 @@ const PriorityNames = Object.keys(Priority); const inspect = Symbol.for('nodejs.util.inspect.custom'); -const internalDependencyToDependency: WeakMap< - InternalDependency, - Dependency, -> = new WeakMap(); +const internalDependencyToDependency: WeakMap = + new WeakMap(); const _dependencyToInternalDependency: WeakMap< IDependency, InternalDependency, diff --git a/packages/core/core/src/public/MutableBundleGraph.js b/packages/core/core/src/public/MutableBundleGraph.js index 59a8028bd5d..65c174fb8c5 100644 --- a/packages/core/core/src/public/MutableBundleGraph.js +++ b/packages/core/core/src/public/MutableBundleGraph.js @@ -27,8 +27,10 @@ import {fromProjectPathRelative} from '../projectPath'; import {BundleBehavior} from '../types'; import BundleGroup, {bundleGroupToInternalBundleGroup} from './BundleGroup'; -export default class MutableBundleGraph extends BundleGraph - implements IMutableBundleGraph { +export default class MutableBundleGraph + extends BundleGraph + implements IMutableBundleGraph +{ #graph /*: InternalBundleGraph */; #options /*: ParcelOptions */; #bundlePublicIds /*: Set */ = new Set(); @@ -102,9 +104,8 @@ export default class MutableBundleGraph extends BundleGraph dependencyNode.id, ); let resolvedNodeId = this.#graph._graph.getNodeIdByContentKey(resolved.id); - let assetNodes = this.#graph._graph.getNodeIdsConnectedFrom( - dependencyNodeId, - ); + let assetNodes = + this.#graph._graph.getNodeIdsConnectedFrom(dependencyNodeId); this.#graph._graph.addEdge(dependencyNodeId, bundleGroupNodeId); this.#graph._graph.replaceNodeIdsConnectedTo(bundleGroupNodeId, assetNodes); this.#graph._graph.addEdge( diff --git a/packages/core/core/src/public/PluginOptions.js b/packages/core/core/src/public/PluginOptions.js index 41688e0f859..7ae8fdff268 100644 --- a/packages/core/core/src/public/PluginOptions.js +++ b/packages/core/core/src/public/PluginOptions.js @@ -13,10 +13,8 @@ import type {FileSystem} from '@parcel/fs'; import type {PackageManager} from '@parcel/package-manager'; import type {ParcelOptions} from '../types'; -let parcelOptionsToPluginOptions: WeakMap< - ParcelOptions, - PluginOptions, -> = new WeakMap(); +let parcelOptionsToPluginOptions: WeakMap = + new WeakMap(); export default class PluginOptions implements IPluginOptions { #options /*: ParcelOptions */; diff --git a/packages/core/core/src/public/Symbols.js b/packages/core/core/src/public/Symbols.js index 32ae9ca92be..cca19f14c0d 100644 --- a/packages/core/core/src/public/Symbols.js +++ b/packages/core/core/src/public/Symbols.js @@ -97,10 +97,8 @@ export class AssetSymbols implements IAssetSymbols { } } -let valueToMutableAssetSymbols: WeakMap< - Asset, - MutableAssetSymbols, -> = new WeakMap(); +let valueToMutableAssetSymbols: WeakMap = + new WeakMap(); export class MutableAssetSymbols implements IMutableAssetSymbols { /*:: @@iterator(): Iterator<[ISymbol, {|local: ISymbol, loc: ?SourceLocation, meta?: ?Meta|}]> { return ({}: any); } diff --git a/packages/core/core/src/requests/AssetGraphRequest.js b/packages/core/core/src/requests/AssetGraphRequest.js index 95b8b32ba2e..37896f780f2 100644 --- a/packages/core/core/src/requests/AssetGraphRequest.js +++ b/packages/core/core/src/requests/AssetGraphRequest.js @@ -79,7 +79,8 @@ export default function createAssetGraphRequest( type: 'asset_graph_request', id: input.name, run: async input => { - let prevResult = await input.api.getPreviousResult(); + let prevResult = + await input.api.getPreviousResult(); let builder = new AssetGraphBuilder(input, prevResult); return builder.build(); }, @@ -778,9 +779,8 @@ export class AssetGraphBuilder { } } } else { - let connectedNodes = this.assetGraph.getNodeIdsConnectedTo( - queuedNodeId, - ); + let connectedNodes = + this.assetGraph.getNodeIdsConnectedTo(queuedNodeId); if (connectedNodes.length > 0) { queue.add(...connectedNodes); } diff --git a/packages/core/core/src/requests/EntryRequest.js b/packages/core/core/src/requests/EntryRequest.js index 91f8d3cfddc..0c3b75d64cb 100644 --- a/packages/core/core/src/requests/EntryRequest.js +++ b/packages/core/core/src/requests/EntryRequest.js @@ -314,9 +314,7 @@ export class EntryResolver { }); } - async readPackage( - entry: FilePath, - ): Promise(createParcelConfigRequest()), ); - let { - devDepRequests, - configRequests, - bundleInfo, - invalidations, - } = await runPackage({ - bundle, - bundleGraphReference, - optionsRef, - configCachePath: cachePath, - previousDevDeps: devDeps, - invalidDevDeps, - previousInvalidations: api.getInvalidations(), - }); + let {devDepRequests, configRequests, bundleInfo, invalidations} = + await runPackage({ + bundle, + bundleGraphReference, + optionsRef, + configCachePath: cachePath, + previousDevDeps: devDeps, + invalidDevDeps, + previousInvalidations: api.getInvalidations(), + }); for (let devDepRequest of devDepRequests) { await runDevDepRequest(api, devDepRequest); diff --git a/packages/core/core/src/requests/ParcelConfigRequest.js b/packages/core/core/src/requests/ParcelConfigRequest.js index d4c8d44078e..546d59854f3 100644 --- a/packages/core/core/src/requests/ParcelConfigRequest.js +++ b/packages/core/core/src/requests/ParcelConfigRequest.js @@ -443,16 +443,8 @@ export async function processConfigChain( : '/extends'; let resolved = await resolveExtends(ext, filePath, key, options); extendedFiles.push(resolved); - let { - extendedFiles: moreExtendedFiles, - config: nextConfig, - } = await processExtendedConfig( - filePath, - key, - ext, - resolved, - options, - ); + let {extendedFiles: moreExtendedFiles, config: nextConfig} = + await processExtendedConfig(filePath, key, ext, resolved, options); extendedFiles = extendedFiles.concat(moreExtendedFiles); extStartConfig = extStartConfig ? mergeConfigs(extStartConfig, nextConfig) diff --git a/packages/core/core/src/requests/TargetRequest.js b/packages/core/core/src/requests/TargetRequest.js index ece93ebf6fe..e4ed1429dde 100644 --- a/packages/core/core/src/requests/TargetRequest.js +++ b/packages/core/core/src/requests/TargetRequest.js @@ -154,10 +154,8 @@ export class TargetResolver { optionTargets = [exclusiveTarget]; } - let packageTargets: Map< - string, - Target | null, - > = await this.resolvePackageTargets(rootDir, exclusiveTarget); + let packageTargets: Map = + await this.resolvePackageTargets(rootDir, exclusiveTarget); let targets: Array; if (optionTargets) { if (Array.isArray(optionTargets)) { @@ -322,8 +320,8 @@ export class TargetResolver { engines: {}, shouldOptimize: this.options.defaultTargetOptions.shouldOptimize, outputFormat: this.options.defaultTargetOptions.outputFormat, - shouldScopeHoist: this.options.defaultTargetOptions - .shouldScopeHoist, + shouldScopeHoist: + this.options.defaultTargetOptions.shouldScopeHoist, sourceMap: this.options.defaultTargetOptions.sourceMaps ? {} : undefined, diff --git a/packages/core/core/src/types.js b/packages/core/core/src/types.js index 5f1f5ddb585..6c498c47385 100644 --- a/packages/core/core/src/types.js +++ b/packages/core/core/src/types.js @@ -148,9 +148,8 @@ export const BundleBehavior = { isolated: 1, }; -export const BundleBehaviorNames: Array< - $Keys, -> = Object.keys(BundleBehavior); +export const BundleBehaviorNames: Array<$Keys> = + Object.keys(BundleBehavior); export type Asset = {| id: ContentKey, diff --git a/packages/core/core/src/worker.js b/packages/core/core/src/worker.js index 6fdb6db46e6..bb1467076f5 100644 --- a/packages/core/core/src/worker.js +++ b/packages/core/core/src/worker.js @@ -150,7 +150,8 @@ export async function childInit() { await initHash; } -const PKG_RE = /node_modules[/\\]((?:@[^/\\]+[/\\][^/\\]+)|[^/\\]+)(?!.*[/\\]node_modules[/\\])/; +const PKG_RE = + /node_modules[/\\]((?:@[^/\\]+[/\\][^/\\]+)|[^/\\]+)(?!.*[/\\]node_modules[/\\])/; export function invalidateRequireCache(workerApi: WorkerApi, file: string) { if (process.env.PARCEL_BUILD_ENV === 'test') { // Delete this module and all children in the same node_modules folder diff --git a/packages/core/core/test/EntryRequest.test.js b/packages/core/core/test/EntryRequest.test.js index ccc870a7a02..6b5ca40a6f7 100644 --- a/packages/core/core/test/EntryRequest.test.js +++ b/packages/core/core/test/EntryRequest.test.js @@ -33,10 +33,10 @@ const INVALID_TARGET_SOURCE_NOT_FILE_FIXTURE_PATH = path.join( 'fixtures/invalid-target-source-not-file', ); -describe('EntryResolver', function() { +describe('EntryResolver', function () { let entryResolver = new EntryResolver({...DEFAULT_OPTIONS}); - it('rejects missing source in package.json', async function() { + it('rejects missing source in package.json', async function () { this.timeout(10000); // $FlowFixMe assert.rejects is Node 10+ await assert.rejects( @@ -76,7 +76,7 @@ describe('EntryResolver', function() { }, ); }); - it('rejects non-file source in package.json', async function() { + it('rejects non-file source in package.json', async function () { this.timeout(10000); // $FlowFixMe assert.rejects is Node 10+ await assert.rejects( @@ -115,7 +115,7 @@ describe('EntryResolver', function() { }, ); }); - it('rejects missing target source in package.json', async function() { + it('rejects missing target source in package.json', async function () { this.timeout(10000); // $FlowFixMe assert.rejects is Node 10+ await assert.rejects( @@ -159,7 +159,7 @@ describe('EntryResolver', function() { }, ); }); - it('rejects non-file target source in package.json', async function() { + it('rejects non-file target source in package.json', async function () { this.timeout(10000); // $FlowFixMe assert.rejects is Node 10+ await assert.rejects( diff --git a/packages/core/core/test/Parcel.test.js b/packages/core/core/test/Parcel.test.js index ac3025d671b..2419cbaef9e 100644 --- a/packages/core/core/test/Parcel.test.js +++ b/packages/core/core/test/Parcel.test.js @@ -8,7 +8,7 @@ import assert from 'assert'; import path from 'path'; import Parcel, {createWorkerFarm} from '../src/Parcel'; -describe('Parcel', function() { +describe('Parcel', function () { this.timeout(75000); let workerFarm; diff --git a/packages/core/diagnostic/src/diagnostic.js b/packages/core/diagnostic/src/diagnostic.js index 95251b40979..cc8b05331ae 100644 --- a/packages/core/diagnostic/src/diagnostic.js +++ b/packages/core/diagnostic/src/diagnostic.js @@ -313,22 +313,22 @@ export function md( return result.join('') + strings[strings.length - 1]; } -md.bold = function(s: TemplateInput): TemplateInput { +md.bold = function (s: TemplateInput): TemplateInput { // $FlowFixMe[invalid-computed-prop] return {[mdVerbatim]: '**' + escapeMarkdown(`${s}`) + '**'}; }; -md.italic = function(s: TemplateInput): TemplateInput { +md.italic = function (s: TemplateInput): TemplateInput { // $FlowFixMe[invalid-computed-prop] return {[mdVerbatim]: '_' + escapeMarkdown(`${s}`) + '_'}; }; -md.underline = function(s: TemplateInput): TemplateInput { +md.underline = function (s: TemplateInput): TemplateInput { // $FlowFixMe[invalid-computed-prop] return {[mdVerbatim]: '__' + escapeMarkdown(`${s}`) + '__'}; }; -md.strikethrough = function(s: TemplateInput): TemplateInput { +md.strikethrough = function (s: TemplateInput): TemplateInput { // $FlowFixMe[invalid-computed-prop] return {[mdVerbatim]: '~~' + escapeMarkdown(`${s}`) + '~~'}; }; diff --git a/packages/core/fs/src/MemoryFS.js b/packages/core/fs/src/MemoryFS.js index 890ff79d23d..93e25fe701b 100644 --- a/packages/core/fs/src/MemoryFS.js +++ b/packages/core/fs/src/MemoryFS.js @@ -138,10 +138,7 @@ export class MemoryFS implements FileSystem { // get realpath by following symlinks if (realpath) { let {root, dir, base} = path.parse(filePath); - let parts = dir - .slice(root.length) - .split(path.sep) - .concat(base); + let parts = dir.slice(root.length).split(path.sep).concat(base); let res = root; for (let part of parts) { res = path.join(res, part); diff --git a/packages/core/fs/src/OverlayFS.js b/packages/core/fs/src/OverlayFS.js index 375c0dffc3a..1dd40800a18 100644 --- a/packages/core/fs/src/OverlayFS.js +++ b/packages/core/fs/src/OverlayFS.js @@ -14,7 +14,7 @@ import packageJSON from '../package.json'; import {findAncestorFile, findNodeModule, findFirstFile} from './find'; function read(method) { - return async function(...args: Array) { + return async function (...args: Array) { try { return await this.writable[method](...args); } catch (err) { @@ -24,7 +24,7 @@ function read(method) { } function readSync(method) { - return function(...args: Array) { + return function (...args: Array) { try { return this.writable[method](...args); } catch (err) { @@ -34,13 +34,13 @@ function readSync(method) { } function write(method) { - return function(...args: Array) { + return function (...args: Array) { return this.writable[method](...args); }; } function checkExists(method) { - return function(filePath: FilePath, ...args: Array) { + return function (filePath: FilePath, ...args: Array) { if (this.writable.existsSync(filePath)) { return this.writable[method](filePath, ...args); } @@ -69,9 +69,8 @@ export class OverlayFS implements FileSystem { }; } - readFile: ( - ...args: Array - ) => Promise> = read('readFile'); + readFile: (...args: Array) => Promise> = + read('readFile'); writeFile: (...args: Array) => any = write('writeFile'); async copyFile(source: FilePath, destination: FilePath) { if (await this.writable.exists(source)) { @@ -86,30 +85,25 @@ export class OverlayFS implements FileSystem { ); } } - stat: ( - ...args: Array - ) => Promise> = read('stat'); + stat: (...args: Array) => Promise> = + read('stat'); unlink: (...args: Array) => any = write('unlink'); mkdirp: (...args: Array) => any = write('mkdirp'); rimraf: (...args: Array) => any = write('rimraf'); ncp: (...args: Array) => any = write('ncp'); - createReadStream: ( - filePath: FilePath, - ...args: Array - ) => any = checkExists('createReadStream'); + createReadStream: (filePath: FilePath, ...args: Array) => any = + checkExists('createReadStream'); createWriteStream: (...args: Array) => any = write('createWriteStream'); cwd: (...args: Array) => any = readSync('cwd'); chdir: (...args: Array) => any = readSync('chdir'); - realpath: (filePath: FilePath, ...args: Array) => any = checkExists( - 'realpath', - ); + realpath: (filePath: FilePath, ...args: Array) => any = + checkExists('realpath'); readFileSync: (...args: Array) => any = readSync('readFileSync'); statSync: (...args: Array) => any = readSync('statSync'); existsSync: (...args: Array) => any = readSync('existsSync'); - realpathSync: (filePath: FilePath, ...args: Array) => any = checkExists( - 'realpathSync', - ); + realpathSync: (filePath: FilePath, ...args: Array) => any = + checkExists('realpathSync'); async exists(filePath: FilePath): Promise { return ( diff --git a/packages/core/graph/src/Graph.js b/packages/core/graph/src/Graph.js index d68ced59065..d6fc0879fe7 100644 --- a/packages/core/graph/src/Graph.js +++ b/packages/core/graph/src/Graph.js @@ -596,12 +596,7 @@ class AdjacencyList { } hasEdge(from: NodeId, to: NodeId, type: TEdgeType): boolean { - return Boolean( - this._listMap - .get(from) - ?.get(type) - ?.has(to), - ); + return Boolean(this._listMap.get(from)?.get(type)?.has(to)); } addEdge(from: NodeId, to: NodeId, type: TEdgeType): void { @@ -620,9 +615,6 @@ class AdjacencyList { } removeEdge(from: NodeId, to: NodeId, type: TEdgeType): void { - this._listMap - .get(from) - ?.get(type) - ?.delete(to); + this._listMap.get(from)?.get(type)?.delete(to); } } diff --git a/packages/core/integration-tests/test/api.js b/packages/core/integration-tests/test/api.js index 97ecfd92002..b2327e9d708 100644 --- a/packages/core/integration-tests/test/api.js +++ b/packages/core/integration-tests/test/api.js @@ -3,8 +3,8 @@ import path from 'path'; import assert from 'assert'; import {distDir, bundle, assertBundles, outputFS} from '@parcel/test-utils'; -describe('JS API', function() { - it('should respect distEntry', async function() { +describe('JS API', function () { + it('should respect distEntry', async function () { const NAME = 'custom-name.js'; let b = await bundle( @@ -27,7 +27,7 @@ describe('JS API', function() { assert(await outputFS.exists(path.join(distDir, NAME))); }); - it('should run additional reports from the options', async function() { + it('should run additional reports from the options', async function () { let b = await bundle( path.join(__dirname, '/integration/js-comment/index.js'), { diff --git a/packages/core/integration-tests/test/babel.js b/packages/core/integration-tests/test/babel.js index d0ab06dcb26..53c2f3d912a 100644 --- a/packages/core/integration-tests/test/babel.js +++ b/packages/core/integration-tests/test/babel.js @@ -21,9 +21,9 @@ import {md} from '@parcel/diagnostic'; const parcelCli = require.resolve('parcel/src/bin.js'); const inputDir = path.join(__dirname, '/input'); -describe('babel', function() { +describe('babel', function () { let subscription; - beforeEach(async function() { + beforeEach(async function () { // TODO maybe don't do this for all tests await sleep(100); await outputFS.rimraf(inputDir); @@ -38,7 +38,7 @@ describe('babel', function() { } }); - it.skip('should auto install @babel/core v7', async function() { + it.skip('should auto install @babel/core v7', async function () { let originalPkg = await fs.readFile( __dirname + '/integration/babel-7-autoinstall/package.json', ); @@ -61,7 +61,7 @@ describe('babel', function() { ); }); - it.skip('should auto install babel plugins', async function() { + it.skip('should auto install babel plugins', async function () { let originalPkg = await fs.readFile( __dirname + '/integration/babel-plugin-autoinstall/package.json', ); @@ -89,7 +89,7 @@ describe('babel', function() { ); }); - it('should support compiling with babel using .babelrc config', async function() { + it('should support compiling with babel using .babelrc config', async function () { await bundle(path.join(__dirname, '/integration/babelrc-custom/index.js')); let file = await outputFS.readFile(path.join(distDir, 'index.js'), 'utf8'); @@ -97,7 +97,7 @@ describe('babel', function() { assert(file.includes('hello there')); }); - it('should support compiling with babel using babel.config.json config without warnings', async function() { + it('should support compiling with babel using babel.config.json config without warnings', async function () { let messages = []; let loggerDisposable = Logger.onLog(message => { messages.push(message); @@ -116,12 +116,14 @@ describe('babel', function() { assert.deepEqual(messages, []); }); - it.skip('should support compiling with babel using browserslist for different environments', async function() { + it.skip('should support compiling with babel using browserslist for different environments', async function () { async function testBrowserListMultipleEnv(projectBasePath) { // Transpiled destructuring, like r = p.prop1, o = p.prop2, a = p.prop3; - const prodRegExp = /\S+ ?= ?\S+\.prop1,\s*?\S+ ?= ?\S+\.prop2,\s*?\S+ ?= ?\S+\.prop3;/; + const prodRegExp = + /\S+ ?= ?\S+\.prop1,\s*?\S+ ?= ?\S+\.prop2,\s*?\S+ ?= ?\S+\.prop3;/; // ES6 Destructuring, like in the source; - const devRegExp = /const ?{\s*prop1(:.+)?,\s*prop2(:.+)?,\s*prop3(:.+)?\s*} ?= ?.*/; + const devRegExp = + /const ?{\s*prop1(:.+)?,\s*prop2(:.+)?,\s*prop3(:.+)?\s*} ?= ?.*/; let file; // Dev build test await bundle(path.join(__dirname, projectBasePath, '/index.js')); @@ -147,7 +149,7 @@ describe('babel', function() { ); }); - it.skip('should compile node_modules with browserslist to app target', async function() { + it.skip('should compile node_modules with browserslist to app target', async function () { await bundle( path.join( __dirname, @@ -160,7 +162,7 @@ describe('babel', function() { assert(file.includes('function Bar')); }); - it('should strip away flow types', async function() { + it('should strip away flow types', async function () { let b = await bundle( path.join(__dirname, '/integration/babel-strip-flow-types/index.js'), ); @@ -173,7 +175,7 @@ describe('babel', function() { assert(!file.includes('OptionsType')); }); - it('should support compiling with babel using babel.config.js config', async function() { + it('should support compiling with babel using babel.config.js config', async function () { await bundle( path.join(__dirname, '/integration/babel-config-js/src/index.js'), ); @@ -183,7 +185,7 @@ describe('babel', function() { assert(file.match(/return \d+;/)); }); - it('should support compiling with babel using babel.config.js config with a require in it', async function() { + it('should support compiling with babel using babel.config.js config with a require in it', async function () { await bundle( path.join(__dirname, '/integration/babel-config-js-require/src/index.js'), ); @@ -193,7 +195,7 @@ describe('babel', function() { assert(file.match(/return \d+;/)); }); - it('should support multitarget builds using a custom babel config with @parcel/babel-preset-env', async function() { + it('should support multitarget builds using a custom babel config with @parcel/babel-preset-env', async function () { let fixtureDir = path.join( __dirname, '/integration/babel-config-js-multitarget', @@ -215,7 +217,7 @@ describe('babel', function() { await outputFS.rimraf(path.join(fixtureDir, 'dist')); }); - it('should support multitarget builds using a custom babel config with @parcel/babel-plugin-transform-runtime', async function() { + it('should support multitarget builds using a custom babel config with @parcel/babel-plugin-transform-runtime', async function () { let fixtureDir = path.join( __dirname, '/integration/babel-config-js-multitarget-transform-runtime', @@ -240,7 +242,7 @@ describe('babel', function() { await outputFS.rimraf(path.join(fixtureDir, 'dist')); }); - it('should support building with custom babel config when running parcel globally', async function() { + it('should support building with custom babel config when running parcel globally', async function () { let tmpDir = tempy.directory(); let distDir = path.join(tmpDir, 'dist'); await fs.ncp( @@ -263,7 +265,7 @@ describe('babel', function() { assert(file.includes('hello there')); }); - it('should support merging .babelrc and babel.config.json in a monorepo', async function() { + it('should support merging .babelrc and babel.config.json in a monorepo', async function () { await bundle( path.join( __dirname, @@ -373,7 +375,7 @@ describe('babel', function() { } }); - it('should rebuild when .babelrc changes', async function() { + it('should rebuild when .babelrc changes', async function () { let inputDir = tempy.directory(); let differentPath = path.join(inputDir, 'differentConfig'); let configPath = path.join(inputDir, '.babelrc'); @@ -407,7 +409,7 @@ describe('babel', function() { assert(distFile.includes('something different')); }); - it('should invalidate babel.config.js across runs', async function() { + it('should invalidate babel.config.js across runs', async function () { let dateRe = /return (\d+);/; let fixtureDir = path.join(__dirname, '/integration/babel-config-js'); @@ -452,7 +454,7 @@ describe('babel', function() { assert.notEqual(firstDatestamp, secondDatestamp); }); - it('should invalidate when babel plugins are upgraded across runs', async function() { + it('should invalidate when babel plugins are upgraded across runs', async function () { let fixtureDir = path.join( __dirname, '/integration/babel-plugin-upgrade', @@ -502,7 +504,7 @@ describe('babel', function() { }); }); - it('should enable shippedProposals with @parcel/babel-preset-env in custom babelrc', async function() { + it('should enable shippedProposals with @parcel/babel-preset-env in custom babelrc', async function () { let b = await bundle( path.join( __dirname, @@ -518,7 +520,7 @@ describe('babel', function() { assert.strictEqual(output.default, 123); }); - it('should compile with custom babel plugin plus default transforms', async function() { + it('should compile with custom babel plugin plus default transforms', async function () { let b = await bundle( path.join(__dirname, '/integration/babel-custom/index.js'), ); @@ -533,7 +535,7 @@ describe('babel', function() { assert.strictEqual(output.default, 'hello'); }); - it('should compile with custom babel plugin and jsx', async function() { + it('should compile with custom babel plugin and jsx', async function () { let b = await bundle( path.join(__dirname, '/integration/babel-custom/jsx.js'), ); @@ -543,7 +545,7 @@ describe('babel', function() { assert(file.includes('React.createElement')); }); - it('should compile with custom babel plugin and typescript', async function() { + it('should compile with custom babel plugin and typescript', async function () { let b = await bundle( path.join(__dirname, '/integration/babel-custom/ts.ts'), ); @@ -559,7 +561,7 @@ describe('babel', function() { assert.strictEqual(output.default, 'hello'); }); - it('should compile with custom babel plugin and tsx', async function() { + it('should compile with custom babel plugin and tsx', async function () { let b = await bundle( path.join(__dirname, '/integration/babel-custom/tsx.tsx'), ); @@ -570,7 +572,7 @@ describe('babel', function() { assert(file.includes('React.createElement')); }); - it('should warn when a babel config contains only redundant plugins', async function() { + it('should warn when a babel config contains only redundant plugins', async function () { let messages = []; let loggerDisposable = Logger.onLog(message => { messages.push(message); @@ -648,7 +650,7 @@ describe('babel', function() { ]); }); - it('should warn when a babel config contains redundant plugins', async function() { + it('should warn when a babel config contains redundant plugins', async function () { let messages = []; let loggerDisposable = Logger.onLog(message => { messages.push(message); diff --git a/packages/core/integration-tests/test/bundler.js b/packages/core/integration-tests/test/bundler.js index 87929278e1e..13c1cca56f9 100644 --- a/packages/core/integration-tests/test/bundler.js +++ b/packages/core/integration-tests/test/bundler.js @@ -8,8 +8,8 @@ import { nextBundle, } from '@parcel/test-utils'; -describe.skip('bundler', function() { - it('should bundle once before exporting middleware', async function() { +describe.skip('bundler', function () { + it('should bundle once before exporting middleware', async function () { let b = bundler( path.join(__dirname, '/integration/bundler-middleware/index.js'), ); @@ -58,7 +58,7 @@ describe.skip('bundler', function() { }, 'before bundling'); }); - it('should support multiple entry points', async function() { + it('should support multiple entry points', async function () { let b = await bundle([ path.join(__dirname, '/integration/multi-entry/one.html'), path.join(__dirname, '/integration/multi-entry/two.html'), @@ -83,7 +83,7 @@ describe.skip('bundler', function() { ]); }); - it('should support multiple entry points as a glob', async function() { + it('should support multiple entry points as a glob', async function () { let b = await bundle( path.join(__dirname, '/integration/multi-entry/*.html'), ); diff --git a/packages/core/integration-tests/test/cache.js b/packages/core/integration-tests/test/cache.js index c63a97cf7d6..817f6c1f5ba 100644 --- a/packages/core/integration-tests/test/cache.js +++ b/packages/core/integration-tests/test/cache.js @@ -107,7 +107,7 @@ async function testCache(update: UpdateFn | TestConfig, integration) { return b; } -describe('cache', function() { +describe('cache', function () { before(async () => { await inputFS.rimraf(path.join(__dirname, 'input')); }); @@ -116,13 +116,11 @@ describe('cache', function() { inputDir = path.join( __dirname, '/input', - Math.random() - .toString(36) - .slice(2), + Math.random().toString(36).slice(2), ); }); - it('should support updating a JS file', async function() { + it('should support updating a JS file', async function () { let b = await testCache(async b => { assert.equal(await run(b.bundleGraph), 4); await overlayFS.writeFile( @@ -134,7 +132,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 6); }); - it('should support adding a dependency', async function() { + it('should support adding a dependency', async function () { let b = await testCache(async b => { assert.equal(await run(b.bundleGraph), 4); await overlayFS.writeFile( @@ -150,7 +148,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 8); }); - it('should support adding a dependency which changes the referenced bundles of a parent bundle', async function() { + it('should support adding a dependency which changes the referenced bundles of a parent bundle', async function () { async function exec(bundleGraph) { let calls = []; await run(bundleGraph, { @@ -178,7 +176,7 @@ describe('cache', function() { assert.deepEqual(await exec(b.bundleGraph), ['b', 'a']); }); - it('should error when deleting a file', async function() { + it('should error when deleting a file', async function () { // $FlowFixMe await assert.rejects( async () => { @@ -190,7 +188,7 @@ describe('cache', function() { ); }); - it('should error when starting parcel from a broken state with no changes', async function() { + it('should error when starting parcel from a broken state with no changes', async function () { // $FlowFixMe await assert.rejects(async () => { await testCache(async () => { @@ -208,7 +206,7 @@ describe('cache', function() { ); }); - describe('babel', function() { + describe('babel', function () { let json = config => JSON.stringify(config); let cjs = config => `module.exports = ${JSON.stringify(config)}`; // TODO: not sure how to invalidate the ESM cache in node... @@ -235,8 +233,8 @@ describe('cache', function() { }); for (let {name, formatter, nesting} of configs) { - describe(name, function() { - it(`should support adding a ${name}`, async function() { + describe(name, function () { + it(`should support adding a ${name}`, async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -283,7 +281,7 @@ describe('cache', function() { ); }); - it(`should support updating a ${name}`, async function() { + it(`should support updating a ${name}`, async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -334,7 +332,7 @@ describe('cache', function() { ); }); - it(`should support deleting a ${name}`, async function() { + it(`should support deleting a ${name}`, async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -377,7 +375,7 @@ describe('cache', function() { ); }); - it(`should support updating an extended ${name}`, async function() { + it(`should support updating an extended ${name}`, async function () { let extendedName = '.babelrc-extended' + path.extname(name); let b = await testCache({ // Babel's config loader only works with the node filesystem @@ -436,7 +434,7 @@ describe('cache', function() { }); if (nesting) { - it(`should support adding a nested ${name}`, async function() { + it(`should support adding a nested ${name}`, async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -491,7 +489,7 @@ describe('cache', function() { ); }); - it(`should support updating a nested ${name}`, async function() { + it(`should support updating a nested ${name}`, async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -550,7 +548,7 @@ describe('cache', function() { ); }); - it(`should support deleting a nested ${name}`, async function() { + it(`should support deleting a nested ${name}`, async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -604,8 +602,8 @@ describe('cache', function() { }); } - describe('.babelignore', function() { - it('should support adding a .babelignore', async function() { + describe('.babelignore', function () { + it('should support adding a .babelignore', async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -660,7 +658,7 @@ describe('cache', function() { ); }); - it('should support updating a .babelignore', async function() { + it('should support updating a .babelignore', async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -715,7 +713,7 @@ describe('cache', function() { ); }); - it('should support deleting a .babelignore', async function() { + it('should support deleting a .babelignore', async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -768,8 +766,8 @@ describe('cache', function() { }); }); - describe('plugins', function() { - it('should invalidate when plugins are updated', async function() { + describe('plugins', function () { + it('should invalidate when plugins are updated', async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -842,7 +840,7 @@ describe('cache', function() { assert(contents.includes('replaced'), 'string should be replaced'); }); - it('should invalidate when there are relative plugins', async function() { + it('should invalidate when there are relative plugins', async function () { let b = await testCache({ // Babel's config loader only works with the node filesystem inputFS, @@ -899,7 +897,7 @@ describe('cache', function() { assert(contents.includes('replaced'), 'string should be replaced'); }); - it('should invalidate when there are symlinked plugins', async function() { + it('should invalidate when there are symlinked plugins', async function () { // Symlinks don't work consistently on windows. Skip this test. if (process.platform === 'win32') { this.skip(); @@ -982,8 +980,8 @@ describe('cache', function() { }); }); - describe('parcel config', function() { - it('should support adding a .parcelrc', async function() { + describe('parcel config', function () { + it('should support adding a .parcelrc', async function () { let b = await testCache(async b => { assert.equal(await run(b.bundleGraph), 4); @@ -1011,7 +1009,7 @@ describe('cache', function() { assert(contents.includes('TRANSFORMED CODE')); }); - it('should support updating a .parcelrc', async function() { + it('should support updating a .parcelrc', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -1049,7 +1047,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 4); }); - it('should support updating an extended .parcelrc', async function() { + it('should support updating an extended .parcelrc', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -1094,7 +1092,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 4); }); - it('should error when deleting an extended parcelrc', async function() { + it('should error when deleting an extended parcelrc', async function () { // $FlowFixMe await assert.rejects( async () => { @@ -1132,7 +1130,7 @@ describe('cache', function() { ); }); - it('should support deleting a .parcelrc', async function() { + it('should support deleting a .parcelrc', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -1166,8 +1164,8 @@ describe('cache', function() { }); }); - describe('transformations', function() { - it('should invalidate when included files changes', async function() { + describe('transformations', function () { + it('should invalidate when included files changes', async function () { let b = await testCache({ // TODO: update when the fs transform supports the MemoryFS inputFS, @@ -1273,7 +1271,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), undefined); }); - it('should invalidate when environment variables change', async function() { + it('should invalidate when environment variables change', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile(path.join(inputDir, '.env'), 'TEST=hi'); @@ -1297,8 +1295,8 @@ describe('cache', function() { }); }); - describe('entries', function() { - it('should support adding an entry that matches a glob', async function() { + describe('entries', function () { + it('should support adding an entry that matches a glob', async function () { let b = await testCache({ entries: ['src/entries/*.js'], async update(b) { @@ -1336,7 +1334,7 @@ describe('cache', function() { ]); }); - it('should support deleting an entry that matches a glob', async function() { + it('should support deleting an entry that matches a glob', async function () { let b = await testCache({ entries: ['src/entries/*.js'], async update(b) { @@ -1363,7 +1361,7 @@ describe('cache', function() { ]); }); - it('should error when deleting a file entry', async function() { + it('should error when deleting a file entry', async function () { // $FlowFixMe await assert.rejects( async () => { @@ -1380,7 +1378,7 @@ describe('cache', function() { ); }); - it('should recover from errors when adding a missing entry', async function() { + it('should recover from errors when adding a missing entry', async function () { // $FlowFixMe await assert.rejects( async () => { @@ -1406,8 +1404,8 @@ describe('cache', function() { }); }); - describe('target config', function() { - it('should support adding a target config', async function() { + describe('target config', function () { + it('should support adding a target config', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: true, @@ -1443,7 +1441,7 @@ describe('cache', function() { assert(contents.includes('export '), 'should include export'); }); - it('should support adding a second target', async function() { + it('should support adding a second target', async function () { let pkgFile = path.join(inputDir, 'package.json'); let b = await testCache({ defaultTargetOptions: { @@ -1507,7 +1505,7 @@ describe('cache', function() { ]); }); - it('should support changing target output location', async function() { + it('should support changing target output location', async function () { let pkgFile = path.join(inputDir, 'package.json'); await testCache({ defaultTargetOptions: { @@ -1576,7 +1574,7 @@ describe('cache', function() { ); }); - it('should support updating target config options', async function() { + it('should support updating target config options', async function () { let pkgFile = path.join(inputDir, 'package.json'); let b = await testCache({ defaultTargetOptions: { @@ -1629,7 +1627,7 @@ describe('cache', function() { ); }); - it('should support deleting a target', async function() { + it('should support deleting a target', async function () { let pkgFile = path.join(inputDir, 'package.json'); let b = await testCache({ defaultTargetOptions: { @@ -1693,7 +1691,7 @@ describe('cache', function() { ]); }); - it('should support deleting all targets', async function() { + it('should support deleting all targets', async function () { let pkgFile = path.join(inputDir, 'package.json'); let b = await testCache({ defaultTargetOptions: { @@ -1773,7 +1771,7 @@ describe('cache', function() { ); }); - it('should update when sourcemap options change', async function() { + it('should update when sourcemap options change', async function () { let pkgFile = path.join(inputDir, 'package.json'); let b = await testCache({ defaultTargetOptions: { @@ -1830,7 +1828,7 @@ describe('cache', function() { ); }); - it('should update when publicUrl changes', async function() { + it('should update when publicUrl changes', async function () { let pkgFile = path.join(inputDir, 'package.json'); let b = await testCache({ entries: ['src/index.html'], @@ -1888,7 +1886,7 @@ describe('cache', function() { ); }); - it('should update when a package.json is created', async function() { + it('should update when a package.json is created', async function () { let pkgFile = path.join(inputDir, 'package.json'); let pkg; let b = await testCache({ @@ -1928,7 +1926,7 @@ describe('cache', function() { assert(contents.includes('export '), 'should include export'); }); - it('should update when a package.json is deleted', async function() { + it('should update when a package.json is deleted', async function () { let pkgFile = path.join(inputDir, 'package.json'); let b = await testCache({ defaultTargetOptions: { @@ -1966,8 +1964,8 @@ describe('cache', function() { assert(!contents.includes('export '), 'does not include export'); }); - describe('browserslist', function() { - it('should update when a browserslist file is added', async function() { + describe('browserslist', function () { + it('should update when a browserslist file is added', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: true, @@ -1998,7 +1996,7 @@ describe('cache', function() { ); }); - it('should update when a .browserslistrc file is added', async function() { + it('should update when a .browserslistrc file is added', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: true, @@ -2029,7 +2027,7 @@ describe('cache', function() { ); }); - it('should update when a browserslist is updated', async function() { + it('should update when a browserslist is updated', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: true, @@ -2066,7 +2064,7 @@ describe('cache', function() { ); }); - it('should update when a browserslist is deleted', async function() { + it('should update when a browserslist is deleted', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: true, @@ -2100,7 +2098,7 @@ describe('cache', function() { ); }); - it('should update when BROWSERSLIST_ENV changes', async function() { + it('should update when BROWSERSLIST_ENV changes', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: true, @@ -2146,7 +2144,7 @@ describe('cache', function() { delete process.env.BROWSERSLIST_ENV; }); - it('should update when NODE_ENV changes', async function() { + it('should update when NODE_ENV changes', async function () { let env = process.env.NODE_ENV; let b = await testCache({ defaultTargetOptions: { @@ -2195,8 +2193,8 @@ describe('cache', function() { }); }); - describe('options', function() { - it('should update when publicUrl changes', async function() { + describe('options', function () { + it('should update when publicUrl changes', async function () { let b = await testCache({ entries: ['src/index.html'], defaultTargetOptions: { @@ -2233,7 +2231,7 @@ describe('cache', function() { ); }); - it('should update when minify changes', async function() { + it('should update when minify changes', async function () { let b = await testCache({ entries: ['src/index.html'], defaultTargetOptions: { @@ -2263,7 +2261,7 @@ describe('cache', function() { assert(!contents.includes('Test'), 'should not include Test'); }); - it('should update when scopeHoist changes', async function() { + it('should update when scopeHoist changes', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: false, @@ -2293,7 +2291,7 @@ describe('cache', function() { assert(!contents.includes('parcelRequire'), 'should not include Test'); }); - it('should update when sourceMaps changes', async function() { + it('should update when sourceMaps changes', async function () { let b = await testCache({ defaultTargetOptions: { sourceMaps: false, @@ -2326,7 +2324,7 @@ describe('cache', function() { ); }); - it('should update when distDir changes', async function() { + it('should update when distDir changes', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: true, @@ -2353,7 +2351,7 @@ describe('cache', function() { ); }); - it('should update when targets changes', async function() { + it('should update when targets changes', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: true, @@ -2421,7 +2419,7 @@ describe('cache', function() { ); }); - it('should update when defaultEngines changes', async function() { + it('should update when defaultEngines changes', async function () { let b = await testCache({ defaultTargetOptions: { shouldScopeHoist: true, @@ -2460,7 +2458,7 @@ describe('cache', function() { ); }); - it('should update when shouldContentHash changes', async function() { + it('should update when shouldContentHash changes', async function () { let b = await testCache({ entries: ['src/index.html'], defaultTargetOptions: { @@ -2481,7 +2479,7 @@ describe('cache', function() { assert(bundle.filePath.includes(bundle.id.slice(-8))); }); - it('should update when hmr options change', async function() { + it('should update when hmr options change', async function () { let b = await testCache({ hmrOptions: { host: 'localhost', @@ -2536,7 +2534,7 @@ describe('cache', function() { ); }); - it('should invalidate react refresh hot options change', async function() { + it('should invalidate react refresh hot options change', async function () { let b = await testCache({ async setup() { let pkgFile = path.join(inputDir, 'package.json'); @@ -2589,7 +2587,7 @@ describe('cache', function() { ); }); - it('should update when the config option changes', async function() { + it('should update when the config option changes', async function () { let b = await testCache({ async update(b) { let contents = await overlayFS.readFile( @@ -2621,7 +2619,7 @@ describe('cache', function() { assert(contents.includes('TRANSFORMED CODE')); }); - it('should update when the defaultConfig option changes', async function() { + it('should update when the defaultConfig option changes', async function () { let b = await testCache({ async update(b) { let contents = await overlayFS.readFile( @@ -2653,7 +2651,7 @@ describe('cache', function() { assert(contents.includes('TRANSFORMED CODE')); }); - it('should update env browserslist in package.json when mode changes', async function() { + it('should update env browserslist in package.json when mode changes', async function () { let env = process.env.NODE_ENV; delete process.env.NODE_ENV; try { @@ -2703,8 +2701,8 @@ describe('cache', function() { }); }); - describe('resolver', function() { - it('should support updating a package.json#main field', async function() { + describe('resolver', function () { + it('should support updating a package.json#main field', async function () { let b = await testCache(async b => { assert.equal(await run(b.bundleGraph), 4); await overlayFS.writeFile( @@ -2721,7 +2719,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 8); }); - it('should support adding an alias', async function() { + it('should support adding an alias', async function () { let b = await testCache(async b => { assert.equal(await run(b.bundleGraph), 4); await overlayFS.writeFile( @@ -2743,7 +2741,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 8); }); - it('should support updating an alias', async function() { + it('should support updating an alias', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -2783,7 +2781,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 12); }); - it('should support deleting an alias', async function() { + it('should support deleting an alias', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -2813,7 +2811,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 4); }); - it('should support adding an alias in a closer package.json', async function() { + it('should support adding an alias in a closer package.json', async function () { let b = await testCache(async b => { assert.equal(await run(b.bundleGraph), 4); await overlayFS.writeFile( @@ -2834,7 +2832,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 6); }); - it('should support adding a file with a higher priority extension', async function() { + it('should support adding a file with a higher priority extension', async function () { let b = await testCache({ async setup() { // Start out pointing to a .ts file from a .js file @@ -2865,7 +2863,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 4); }); - it('should support renaming a file to a different extension', async function() { + it('should support renaming a file to a different extension', async function () { let b = await testCache({ async setup() { // Start out pointing to a .js file @@ -2898,7 +2896,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 4); }); - it('should resolve to a file over a directory with an index.js', async function() { + it('should resolve to a file over a directory with an index.js', async function () { let b = await testCache({ async setup() { let contents = await overlayFS.readFile( @@ -2927,7 +2925,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 4); }); - it('should resolve to package.json#main over an index.js', async function() { + it('should resolve to package.json#main over an index.js', async function () { let b = await testCache({ async setup() { let contents = await overlayFS.readFile( @@ -2958,7 +2956,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 4); }); - it('should recover from errors when adding a missing dependency', async function() { + it('should recover from errors when adding a missing dependency', async function () { // $FlowFixMe await assert.rejects( async () => { @@ -2983,7 +2981,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 6); }); - it('should recover from a missing package.json#main', async function() { + it('should recover from a missing package.json#main', async function () { let b = await testCache({ async setup() { let contents = await overlayFS.readFile( @@ -3020,7 +3018,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 10); }); - it('should recover from an invalid package.json', async function() { + it('should recover from an invalid package.json', async function () { // $FlowFixMe await assert.rejects(async () => { await testCache({ @@ -3059,7 +3057,7 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 4); }); - it('should support adding a deeper node_modules folder', async function() { + it('should support adding a deeper node_modules folder', async function () { let b = await testCache({ async update(b) { assert.equal(await run(b.bundleGraph), 4); @@ -3078,8 +3076,8 @@ describe('cache', function() { assert.equal(await run(b.bundleGraph), 6); }); - describe('pnp', function() { - it('should invalidate when the .pnp.js file changes', async function() { + describe('pnp', function () { + it('should invalidate when the .pnp.js file changes', async function () { let Module = require('module'); let origPnpVersion = process.versions.pnp; // $FlowFixMe[prop-missing] @@ -3142,8 +3140,8 @@ describe('cache', function() { }); }); - describe('stylus', function() { - it('should support resolver inside stylus file', async function() { + describe('stylus', function () { + it('should support resolver inside stylus file', async function () { let b = await testCache( { entries: ['index.js'], @@ -3197,7 +3195,7 @@ describe('cache', function() { assert(css.includes('.c {')); }); - it('should support stylus default resolver', async function() { + it('should support stylus default resolver', async function () { let b = await testCache( { entries: ['index.js'], @@ -3238,7 +3236,7 @@ describe('cache', function() { assert(css.includes('.b {')); }); - it('should support glob imports in stylus files', async function() { + it('should support glob imports in stylus files', async function () { let b = await testCache( { entries: ['index.js'], @@ -3285,7 +3283,7 @@ describe('cache', function() { assert(css.includes('.foo-test')); }); - it('should support glob imports under stylus paths', async function() { + it('should support glob imports under stylus paths', async function () { let b = await testCache( { entries: ['index.js'], @@ -3351,8 +3349,8 @@ describe('cache', function() { }); }); - describe('less', function() { - it('should support adding higher priority less include paths', async function() { + describe('less', function () { + it('should support adding higher priority less include paths', async function () { let b = await testCache( { entries: ['index.js'], @@ -3401,7 +3399,7 @@ describe('cache', function() { assert(css.includes('.d')); }); - it('should recover from missing import errors', async function() { + it('should recover from missing import errors', async function () { // $FlowFixMe await assert.rejects( async () => { @@ -3452,8 +3450,8 @@ describe('cache', function() { }); }); - describe('sass', function() { - it('should support adding higher priority sass include paths', async function() { + describe('sass', function () { + it('should support adding higher priority sass include paths', async function () { let b = await testCache( { entries: ['index.sass'], @@ -3492,7 +3490,7 @@ describe('cache', function() { assert(css.includes('.test')); }); - it('should the SASS_PATH environment variable', async function() { + it('should the SASS_PATH environment variable', async function () { let b = await testCache( { entries: ['index.sass'], @@ -3534,7 +3532,7 @@ describe('cache', function() { assert(css.includes('.test')); }); - it('should recover from missing import errors', async function() { + it('should recover from missing import errors', async function () { // $FlowFixMe await assert.rejects(async () => { await testCache( @@ -3577,8 +3575,8 @@ describe('cache', function() { }); }); - describe('dev deps', function() { - it('should invalidate when updating a parcel transformer plugin', async function() { + describe('dev deps', function () { + it('should invalidate when updating a parcel transformer plugin', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -3617,7 +3615,7 @@ describe('cache', function() { assert(output.includes('UPDATED')); }); - it('should invalidate when updating a file required via options.packageManager.require', async function() { + it('should invalidate when updating a file required via options.packageManager.require', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -3670,7 +3668,7 @@ describe('cache', function() { assert(output.includes('FOO: 3')); }); - it('should resolve to package.json#main over an index.js', async function() { + it('should resolve to package.json#main over an index.js', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -3726,7 +3724,7 @@ describe('cache', function() { assert(output.includes('UPDATED')); }); - it('should resolve to a file over a directory with an index.js', async function() { + it('should resolve to a file over a directory with an index.js', async function () { let transformerDir = path.join( inputDir, 'node_modules', @@ -3772,9 +3770,9 @@ describe('cache', function() { assert(output.includes('UPDATED')); }); - it('should support adding a deeper node_modules folder', async function() {}); + it('should support adding a deeper node_modules folder', async function () {}); - it('should support yarn pnp', async function() { + it('should support yarn pnp', async function () { let Module = require('module'); // $FlowFixMe[incompatible-type] let origPnpVersion = process.versions.pnp; @@ -3927,8 +3925,8 @@ describe('cache', function() { } }); - describe('postcss', function() { - it('should invalidate when a postcss plugin changes', async function() { + describe('postcss', function () { + it('should invalidate when a postcss plugin changes', async function () { let b = await testCache( { entries: ['index.css'], @@ -3976,7 +3974,7 @@ describe('cache', function() { assert(output.includes('background: blue')); }); - it('should invalidate when a JS postcss config changes', async function() { + it('should invalidate when a JS postcss config changes', async function () { let b = await testCache( { entries: ['style.css'], @@ -4015,7 +4013,7 @@ describe('cache', function() { assert(output.includes('background-color: blue')); }); - it('should invalidate when a JSON postcss config changes', async function() { + it('should invalidate when a JSON postcss config changes', async function () { let b = await testCache( { entries: ['nested/index.css'], @@ -4046,7 +4044,7 @@ describe('cache', function() { assert(output.includes('background-color: blue')); }); - it('should invalidate when a closer postcss config is added', async function() { + it('should invalidate when a closer postcss config is added', async function () { let b = await testCache( { entries: ['nested/index.css'], @@ -4078,8 +4076,8 @@ describe('cache', function() { }); }); - describe('posthtml', function() { - it('should invalidate when a posthtml plugin changes', async function() { + describe('posthtml', function () { + it('should invalidate when a posthtml plugin changes', async function () { let b = await testCache( { entries: ['index.html'], @@ -4127,7 +4125,7 @@ describe('cache', function() { assert(output.includes('
Test
')); }); - it('should invalidate when a JS postcss config changes', async function() { + it('should invalidate when a JS postcss config changes', async function () { let b = await testCache( { entries: ['index.html'], @@ -4174,8 +4172,8 @@ describe('cache', function() { }); }); - describe('bundling', function() { - it('should invalidate when switching to a different bundler plugin', async function() { + describe('bundling', function () { + it('should invalidate when switching to a different bundler plugin', async function () { let b = await testCache({ async update(b) { assert.equal(b.bundleGraph.getBundles().length, 1); @@ -4193,7 +4191,7 @@ describe('cache', function() { assert.equal(b.bundleGraph.getBundles().length, 4); }); - it('should invalidate when a bundler plugin is updated', async function() { + it('should invalidate when a bundler plugin is updated', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -4216,10 +4214,9 @@ describe('cache', function() { ); await overlayFS.writeFile( bundler, - (await overlayFS.readFile(bundler, 'utf8')).replace( - 'Boolean(dependency.isEntry)', - 'false', - ), + ( + await overlayFS.readFile(bundler, 'utf8') + ).replace('Boolean(dependency.isEntry)', 'false'), ); }, }); @@ -4228,7 +4225,7 @@ describe('cache', function() { assert(b.bundleGraph.getBundles()[0].name.includes('HASH_REF')); }); - it('should invalidate when adding a namer plugin', async function() { + it('should invalidate when adding a namer plugin', async function () { let b = await testCache({ async update(b) { let bundles = b.bundleGraph.getBundles().map(b => b.name); @@ -4251,7 +4248,7 @@ describe('cache', function() { ); }); - it('should invalidate when a namer plugin is updated', async function() { + it('should invalidate when a namer plugin is updated', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -4277,10 +4274,9 @@ describe('cache', function() { ); await overlayFS.writeFile( namer, - (await overlayFS.readFile(namer, 'utf8')).replace( - 'bundle.id', - 'bundle.id.slice(-8)', - ), + ( + await overlayFS.readFile(namer, 'utf8') + ).replace('bundle.id', 'bundle.id.slice(-8)'), ); }, }); @@ -4292,7 +4288,7 @@ describe('cache', function() { ); }); - it('should invalidate when adding a runtime plugin', async function() { + it('should invalidate when adding a runtime plugin', async function () { let b = await testCache({ async update(b) { let res = await run(b.bundleGraph, null, {require: false}); @@ -4312,7 +4308,7 @@ describe('cache', function() { assert.equal(res.runtime_test, true); }); - it('should invalidate when a runtime is updated', async function() { + it('should invalidate when a runtime is updated', async function () { let b = await testCache({ async setup() { await overlayFS.writeFile( @@ -4336,10 +4332,9 @@ describe('cache', function() { ); await overlayFS.writeFile( namer, - (await overlayFS.readFile(namer, 'utf8')).replace( - 'runtime_test', - 'test_runtime', - ), + ( + await overlayFS.readFile(namer, 'utf8') + ).replace('runtime_test', 'test_runtime'), ); }, }); @@ -4349,8 +4344,8 @@ describe('cache', function() { assert.equal(res.test_runtime, true); }); - describe('bundler config', function() { - it('should support adding bundler config', async function() { + describe('bundler config', function () { + it('should support adding bundler config', async function () { let b = await testCache( { entries: ['*.html'], @@ -4397,7 +4392,7 @@ describe('cache', function() { assert.equal(html.match(/ diff --git a/packages/examples/html/src/other.html b/packages/examples/html/src/other.html index cf589240852..041404232e5 100644 --- a/packages/examples/html/src/other.html +++ b/packages/examples/html/src/other.html @@ -6,6 +6,6 @@

Other page

Back to index - + From 3120998195d04eb2138f41c613679b0544c6a69e Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 23 Nov 2021 03:32:00 +0100 Subject: [PATCH 0123/1076] Revisit asset nodes on subsequent builds after symbol error (#7337) --- .../core/src/requests/AssetGraphRequest.js | 5 +- packages/core/core/src/types.js | 1 + .../scope-hoisting/es6/import-missing/a.js | 3 + .../scope-hoisting/es6/import-missing/b.js | 1 + .../integration-tests/test/scope-hoisting.js | 56 +++++++++++++++++++ 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/import-missing/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/import-missing/b.js diff --git a/packages/core/core/src/requests/AssetGraphRequest.js b/packages/core/core/src/requests/AssetGraphRequest.js index 791bfd63baf..6175576c294 100644 --- a/packages/core/core/src/requests/AssetGraphRequest.js +++ b/packages/core/core/src/requests/AssetGraphRequest.js @@ -710,7 +710,6 @@ export class AssetGraphBuilder { } } if (node.usedSymbolsUpDirty) { - node.usedSymbolsUpDirty = false; let e = visit( node, incoming, @@ -721,8 +720,10 @@ export class AssetGraphBuilder { }), ); if (e.length > 0) { + node.usedSymbolsUpDirty = true; errors.set(nodeId, e); } else { + node.usedSymbolsUpDirty = false; errors.delete(nodeId); } } @@ -768,8 +769,10 @@ export class AssetGraphBuilder { if (node.usedSymbolsUpDirty) { let e = visit(node, incoming, outgoing); if (e.length > 0) { + node.usedSymbolsUpDirty = true; errors.set(queuedNodeId, e); } else { + node.usedSymbolsUpDirty = false; errors.delete(queuedNodeId); } } diff --git a/packages/core/core/src/types.js b/packages/core/core/src/types.js index a93ffd73293..d3a02f1058c 100644 --- a/packages/core/core/src/types.js +++ b/packages/core/core/src/types.js @@ -307,6 +307,7 @@ export type DependencyNode = {| hasDeferred?: boolean, usedSymbolsDown: Set, usedSymbolsUp: Set, + /** for the "down" pass, the dependency resolution asset needs to be updated */ usedSymbolsDownDirty: boolean, /** for the "up" pass, the parent asset needs to be updated */ usedSymbolsUpDirtyUp: boolean, diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-missing/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-missing/a.js new file mode 100644 index 00000000000..9d5087862cf --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-missing/a.js @@ -0,0 +1,3 @@ +import {foo} from "./b.js"; + +output = foo; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-missing/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-missing/b.js new file mode 100644 index 00000000000..41d36678296 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-missing/b.js @@ -0,0 +1 @@ +export const bar = 1; diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index 159adcdc37b..ec6ef80f641 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -576,6 +576,62 @@ describe('scope hoisting', function () { }); }); + it('throws when importing a missing symbol on cached builds without changes', async function () { + let entry = 'integration/scope-hoisting/es6/import-missing/a.js'; + let message = md`${normalizePath( + 'integration/scope-hoisting/es6/import-missing/b.js', + false, + )} does not export 'foo'`; + let error = { + name: 'BuildError', + message, + diagnostics: [ + { + message, + origin: '@parcel/core', + codeFrames: [ + { + filePath: path.join(__dirname, entry), + language: 'js', + codeHighlights: [ + { + start: { + line: 1, + column: 9, + }, + end: { + line: 1, + column: 11, + }, + }, + ], + }, + ], + }, + ], + }; + + let source = path.join(__dirname, entry); + await assert.rejects( + () => + bundle(source, { + inputFS: overlayFS, + outputFS: overlayFS, + shouldDisableCache: false, + }), + error, + ); + await assert.rejects( + () => + bundle(source, { + inputFS: overlayFS, + outputFS: overlayFS, + shouldDisableCache: false, + }), + error, + ); + }); + it('supports multiple exports of the same variable', async function () { let b = await bundle( path.join( From 8a0c9ca1b5e85c482321ae18710e59cba73e15e4 Mon Sep 17 00:00:00 2001 From: Andrew Stegmaier Date: Mon, 22 Nov 2021 21:41:17 -0500 Subject: [PATCH 0124/1076] Fix module augmentation in @parcel/transformers-typescript-types (#7315) --- .../augmentation/augmenter/package.json | 10 +++++ .../augmentation/augmenter/src/expected.d.ts | 9 +++++ .../augmentation/augmenter/src/index.ts | 12 ++++++ .../original/built-src/index.d.ts | 4 ++ .../augmentation/original/built-src/index.js | 9 +++++ .../augmentation/original/package.json | 7 ++++ .../augmentation/original/src/index.ts | 3 ++ .../ts-types/augmentation/package.json | 7 ++++ .../ts-types/augmentation/yarn.lock | 4 ++ .../core/integration-tests/test/ts-types.js | 38 +++++++++++++++++++ .../typescript-types/src/collect.js | 12 +++++- .../typescript-types/src/shake.js | 18 ++++++++- 12 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/package.json create mode 100644 packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/src/expected.d.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/src/index.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/augmentation/original/built-src/index.d.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/augmentation/original/built-src/index.js create mode 100644 packages/core/integration-tests/test/integration/ts-types/augmentation/original/package.json create mode 100644 packages/core/integration-tests/test/integration/ts-types/augmentation/original/src/index.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/augmentation/package.json create mode 100644 packages/core/integration-tests/test/integration/ts-types/augmentation/yarn.lock diff --git a/packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/package.json b/packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/package.json new file mode 100644 index 00000000000..9be8a41e23e --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/package.json @@ -0,0 +1,10 @@ +{ + "name": "augmenter", + "version": "1.0.0", + "source": "src/index.ts", + "types": "dist/index.d.ts", + "main": "dist/index.js", + "dependencies": { + "original": "1.0.0" + } +} diff --git a/packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/src/expected.d.ts b/packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/src/expected.d.ts new file mode 100644 index 00000000000..b408dfa3fe9 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/src/expected.d.ts @@ -0,0 +1,9 @@ +export const anotherThing: string; +declare module "original" { + interface Person { + greet(): string; + } +} +export const somethingElse: string; + +//# sourceMappingURL=index.d.ts.map diff --git a/packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/src/index.ts b/packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/src/index.ts new file mode 100644 index 00000000000..a4b42add7e0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/augmentation/augmenter/src/index.ts @@ -0,0 +1,12 @@ +import { Person } from "original"; +Person.prototype.greet = function() { return `Hello ${this.name}!` } + +export const anotherThing: string = "hello"; + +declare module "original" { + interface Person { + greet(): string; + } +} + +export const somethingElse: string = "goodbye"; \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/ts-types/augmentation/original/built-src/index.d.ts b/packages/core/integration-tests/test/integration/ts-types/augmentation/original/built-src/index.d.ts new file mode 100644 index 00000000000..92fb12cd0d0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/augmentation/original/built-src/index.d.ts @@ -0,0 +1,4 @@ +export declare class Person { + name: string; + constructor(name: string); +} diff --git a/packages/core/integration-tests/test/integration/ts-types/augmentation/original/built-src/index.js b/packages/core/integration-tests/test/integration/ts-types/augmentation/original/built-src/index.js new file mode 100644 index 00000000000..de87b1fd3b5 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/augmentation/original/built-src/index.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Person = void 0; +class Person { + constructor(name) { + this.name = name; + } +} +exports.Person = Person; diff --git a/packages/core/integration-tests/test/integration/ts-types/augmentation/original/package.json b/packages/core/integration-tests/test/integration/ts-types/augmentation/original/package.json new file mode 100644 index 00000000000..5137c43d6c4 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/augmentation/original/package.json @@ -0,0 +1,7 @@ +{ + "name": "original", + "version": "1.0.0", + "source": "src/index.ts", + "main": "built-src/index.js", + "types": "built-src/index.d.ts" +} diff --git a/packages/core/integration-tests/test/integration/ts-types/augmentation/original/src/index.ts b/packages/core/integration-tests/test/integration/ts-types/augmentation/original/src/index.ts new file mode 100644 index 00000000000..e99d9ddf2d3 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/augmentation/original/src/index.ts @@ -0,0 +1,3 @@ +export class Person { + constructor(public name: string) {} +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/ts-types/augmentation/package.json b/packages/core/integration-tests/test/integration/ts-types/augmentation/package.json new file mode 100644 index 00000000000..90a0e144830 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/augmentation/package.json @@ -0,0 +1,7 @@ +{ + "private": true, + "workspaces": [ + "augmenter", + "original" + ] +} diff --git a/packages/core/integration-tests/test/integration/ts-types/augmentation/yarn.lock b/packages/core/integration-tests/test/integration/ts-types/augmentation/yarn.lock new file mode 100644 index 00000000000..fb57ccd13af --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/augmentation/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + diff --git a/packages/core/integration-tests/test/ts-types.js b/packages/core/integration-tests/test/ts-types.js index b06890f96ed..7f57f6bcf9b 100644 --- a/packages/core/integration-tests/test/ts-types.js +++ b/packages/core/integration-tests/test/ts-types.js @@ -323,4 +323,42 @@ describe('typescript types', function () { ); assert.equal(dist, expected); }); + + it('should work with module augmentation', async function () { + let fixtureDir = path.join(__dirname, 'integration/ts-types/augmentation'); + await outputFS.mkdirp(path.join(fixtureDir, 'node_modules')); + await ncp(fixtureDir, fixtureDir); + await outputFS.symlink( + path.join(fixtureDir, 'original'), + path.join(fixtureDir, 'node_modules/original'), + ); + + let b = await bundle(path.join(fixtureDir, 'augmenter'), { + inputFS: overlayFS, + }); + assertBundles(b, [ + { + name: 'index.js', + type: 'js', + assets: ['index.ts'], + }, + { + name: 'index.d.ts', + type: 'ts', + assets: ['index.ts'], + }, + ]); + + let dist = ( + await outputFS.readFile( + path.join(fixtureDir, 'augmenter/dist/index.d.ts'), + 'utf8', + ) + ).replace(/\r\n/g, '\n'); + let expected = await inputFS.readFile( + path.join(fixtureDir, 'augmenter/src/expected.d.ts'), + 'utf8', + ); + assert.equal(dist, expected); + }); }); diff --git a/packages/transformers/typescript-types/src/collect.js b/packages/transformers/typescript-types/src/collect.js index e337ac2f29b..ac3bf7fb7fe 100644 --- a/packages/transformers/typescript-types/src/collect.js +++ b/packages/transformers/typescript-types/src/collect.js @@ -11,6 +11,9 @@ export function collect( context: any, sourceFile: any, ): any { + // When module definitions are nested inside each other (e.g with module augmentation), + // we want to keep track of the hierarchy so we can associated nodes with the right module. + const moduleStack: Array = []; let _currentModule: ?TSModule; let visit = (node: any): any => { if (ts.isBundle(node)) { @@ -18,6 +21,7 @@ export function collect( } if (ts.isModuleDeclaration(node)) { + moduleStack.push(_currentModule); _currentModule = new TSModule(); moduleGraph.addModule(node.name.text, _currentModule); } @@ -105,7 +109,13 @@ export function collect( } } - return ts.visitEachChild(node, visit, context); + const results = ts.visitEachChild(node, visit, context); + // After we finish traversing the children of a module definition, + // we need to make sure that subsequent nodes get associated with the next-highest level module. + if (ts.isModuleDeclaration(node)) { + _currentModule = moduleStack.pop(); + } + return results; }; return ts.visitNode(sourceFile, visit); diff --git a/packages/transformers/typescript-types/src/shake.js b/packages/transformers/typescript-types/src/shake.js index bbb4dd7311d..4bab766885f 100644 --- a/packages/transformers/typescript-types/src/shake.js +++ b/packages/transformers/typescript-types/src/shake.js @@ -19,6 +19,12 @@ export function shake( // Propagate exports from the main module to determine what types should be included let exportedNames = moduleGraph.propagate(context); + // When module definitions are nested inside each other (e.g with module augmentation), + // we want to keep track of the hierarchy so we can associated nodes with the right module. + const moduleStack: Array = []; + + let addedGeneratedImports = false; + let _currentModule: ?TSModule; let visit = (node: any): any => { if (ts.isBundle(node)) { @@ -27,12 +33,22 @@ export function shake( // Flatten all module declarations into the top-level scope if (ts.isModuleDeclaration(node)) { + // Deeply nested module declarations are assumed to be module augmentations and left alone. + if (moduleStack.length >= 1) { + // Since we are hoisting them to the top-level scope, we need to add a "declare" keyword to make them ambient. + node.modifiers.unshift(ts.createModifier(ts.SyntaxKind.DeclareKeyword)); + return node; + } + + moduleStack.push(_currentModule); let isFirstModule = !_currentModule; _currentModule = moduleGraph.getModule(node.name.text); let statements = ts.visitEachChild(node, visit, context).body.statements; + _currentModule = moduleStack.pop(); - if (isFirstModule) { + if (isFirstModule && !addedGeneratedImports) { statements.unshift(...generateImports(moduleGraph)); + addedGeneratedImports = true; } return statements; From 9f0d52da20fb994d9aa4f31b17abacf5c5791622 Mon Sep 17 00:00:00 2001 From: ConnorMooneyhan <84634730+ConnorMooneyhan@users.noreply.github.com> Date: Mon, 22 Nov 2021 21:41:39 -0500 Subject: [PATCH 0125/1076] patched spelling error in README.md (#7314) Co-authored-by: Mooneyhan Co-authored-by: Jasper De Moor --- packages/core/parcel/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/parcel/README.md b/packages/core/parcel/README.md index 86b35105722..2203786cbc9 100644 --- a/packages/core/parcel/README.md +++ b/packages/core/parcel/README.md @@ -15,7 +15,7 @@ Parcel is a zero configuration build tool for the web. It combines a great out-o ## Features -- 😍 **Zero config** – Parcel supports many languages and file types out of the box, from web technologies like HTML, CSS, and JavaScript, to assets like images, fonts, videos, and more. It has a built in dev server with hot reloading, beautiful error diagnostics, and much more. No configuration needed! +- 😍 **Zero config** – Parcel supports many languages and file types out of the box, from web technologies like HTML, CSS, and JavaScript, to assets like images, fonts, videos, and more. It has a built-in dev server with hot reloading, beautiful error diagnostics, and much more. No configuration needed! - ⚡️ **Lighting fast** – Parcel's JavaScript compiler is written in Rust for native performance. Your code is built in parallel using worker threads, utilizing all of the cores on your machine. Everything is cached, so you never build the same code twice. It's like using watch mode, but even when you restart Parcel! - 🚀 **Automatic production optimization** – Parcel optimizes your whole app for production automatically. This includes tree-shaking and minifying your JavaScript, CSS, and HTML, resizing and optimizing images, content hashing, automatic code splitting, and much more. - 🎯 **Ship for any target** – Parcel automatically transforms your code for your target environments. From modern and legacy browser support, to zero config JSX and TypeScript compilation, Parcel makes it easy to build for any target – or many! From 4fbc352b40df5c8a627d24cb6fe74882f6dcc091 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Tue, 23 Nov 2021 13:38:06 -0500 Subject: [PATCH 0126/1076] Do not error on external Node builtins in libraries (#7348) --- .../node-resolver-core/src/NodeResolver.js | 2 +- .../utils/node-resolver-core/test/resolver.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/utils/node-resolver-core/src/NodeResolver.js b/packages/utils/node-resolver-core/src/NodeResolver.js index 9d5bdb4c359..cacffe26e4f 100644 --- a/packages/utils/node-resolver-core/src/NodeResolver.js +++ b/packages/utils/node-resolver-core/src/NodeResolver.js @@ -255,7 +255,7 @@ export default class NodeResolver { } if (!this.shouldIncludeNodeModule(env, filename)) { - if (sourcePath && env.isLibrary) { + if (sourcePath && env.isLibrary && !builtin) { await this.checkExcludedDependency(sourcePath, filename, ctx); } return null; diff --git a/packages/utils/node-resolver-core/test/resolver.js b/packages/utils/node-resolver-core/test/resolver.js index dce617a5e9d..b3f52708e68 100644 --- a/packages/utils/node-resolver-core/test/resolver.js +++ b/packages/utils/node-resolver-core/test/resolver.js @@ -2380,6 +2380,25 @@ describe('resolver', function () { assert.deepEqual(result, {isExcluded: true}); }); + + it('should not error on builtin node modules', async function () { + let result = await resolver.resolve({ + env: new Environment( + createEnvironment({ + context: 'browser', + isLibrary: true, + includeNodeModules: false, + }), + DEFAULT_OPTIONS, + ), + filename: 'buffer', + specifierType: 'esm', + parent: path.join(rootDir, 'env-dep/foo.js'), + sourcePath: path.join(rootDir, 'env-dep/foo.js'), + }); + + assert.deepEqual(result, {isExcluded: true}); + }); }); describe('urls', function () { From 8cabeae83ca838134a003a52be468328e15d19ed Mon Sep 17 00:00:00 2001 From: Mark Ladyshau <47859603+mrkldshv@users.noreply.github.com> Date: Tue, 23 Nov 2021 19:38:18 +0100 Subject: [PATCH 0127/1076] Reject browser js loader promise with Error object (#7236) --- packages/runtimes/js/src/helpers/browser/js-loader.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/runtimes/js/src/helpers/browser/js-loader.js b/packages/runtimes/js/src/helpers/browser/js-loader.js index 37967ecc440..867fa4f4d2b 100644 --- a/packages/runtimes/js/src/helpers/browser/js-loader.js +++ b/packages/runtimes/js/src/helpers/browser/js-loader.js @@ -19,9 +19,12 @@ module.exports = cacheLoader(function loadJSBundle(bundle) { script.charset = 'utf-8'; script.src = bundle; script.onerror = function (e) { + var error = new TypeError( + `Failed to fetch dynamically imported module: ${bundle}. Error: ${e.message}`, + ); script.onerror = script.onload = null; script.remove(); - reject(e); + reject(error); }; script.onload = function () { From b9426b83f86809143ff122bde3ee217fb64a8d78 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 24 Nov 2021 12:46:37 -0500 Subject: [PATCH 0128/1076] Add optimizer plugin for new CSS compiler (#7340) --- packages/core/diagnostic/src/diagnostic.js | 5 +- packages/optimizers/css/package.json | 29 ++++++ packages/optimizers/css/src/CSSOptimizer.js | 110 ++++++++++++++++++++ yarn.lock | 7 ++ 4 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 packages/optimizers/css/package.json create mode 100644 packages/optimizers/css/src/CSSOptimizer.js diff --git a/packages/core/diagnostic/src/diagnostic.js b/packages/core/diagnostic/src/diagnostic.js index cc8b05331ae..c59f9884871 100644 --- a/packages/core/diagnostic/src/diagnostic.js +++ b/packages/core/diagnostic/src/diagnostic.js @@ -177,7 +177,10 @@ export function errorToDiagnostic( origin: defaultValues?.origin ?? 'Error', message: escapeMarkdown(error.message), name: error.name, - stack: error.highlightedCodeFrame ?? error.codeFrame ?? error.stack, + stack: + codeFrames == null + ? error.highlightedCodeFrame ?? error.codeFrame ?? error.stack + : undefined, codeFrames, }, ]; diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json new file mode 100644 index 00000000000..848f487831f --- /dev/null +++ b/packages/optimizers/css/package.json @@ -0,0 +1,29 @@ +{ + "name": "@parcel/optimizer-css", + "version": "2.0.1", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "main": "lib/CSSOptimizer.js", + "source": "src/CSSOptimizer.js", + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.0.1" + }, + "dependencies": { + "@parcel/css": "1.0.0-alpha.4", + "@parcel/plugin": "^2.0.1", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "^2.0.1", + "browserslist": "^4.6.6" + } +} diff --git a/packages/optimizers/css/src/CSSOptimizer.js b/packages/optimizers/css/src/CSSOptimizer.js new file mode 100644 index 00000000000..f49b332f897 --- /dev/null +++ b/packages/optimizers/css/src/CSSOptimizer.js @@ -0,0 +1,110 @@ +// @flow strict-local + +import SourceMap from '@parcel/source-map'; +import {Optimizer} from '@parcel/plugin'; +// $FlowFixMe +import {transform} from '@parcel/css'; +import {blobToBuffer} from '@parcel/utils'; +import browserslist from 'browserslist'; + +export default (new Optimizer({ + async optimize({ + bundle, + contents: prevContents, + getSourceMapReference, + map: prevMap, + options, + }) { + if (!bundle.env.shouldOptimize) { + return {contents: prevContents, map: prevMap}; + } + + let targets = getTargets(bundle.env.engines.browsers); + let code = await blobToBuffer(prevContents); + let result = transform({ + filename: bundle.name, + code, + minify: true, + source_map: !!bundle.env.sourceMap, + targets, + }); + + let map; + if (result.map != null) { + map = new SourceMap(options.projectRoot); + map.addVLQMap(JSON.parse(result.map)); + } + + let contents = result.code; + if (bundle.env.sourceMap) { + let reference = await getSourceMapReference(map); + if (reference != null) { + contents += '\n' + '/*# sourceMappingURL=' + reference + ' */\n'; + } + } + + return { + contents, + map, + }; + }, +}): Optimizer); + +const BROWSER_MAPPING = { + and_chr: 'chrome', + and_ff: 'firefox', + ie_mob: 'ie', + op_mob: 'opera', + and_qq: null, + and_uc: null, + baidu: null, + bb: null, + kaios: null, + op_mini: null, +}; + +let cache = new Map(); + +function getTargets(browsers) { + if (browsers == null) { + return undefined; + } + + let cached = cache.get(browsers); + if (cached != null) { + return cached; + } + + let targets = {}; + for (let browser of browserslist(browsers)) { + let [name, v] = browser.split(' '); + if (BROWSER_MAPPING[name] === null) { + continue; + } + + let version = parseVersion(v); + if (version == null) { + continue; + } + + if (targets[name] == null || version < targets[name]) { + targets[name] = version; + } + } + + cache.set(browsers, targets); + return targets; +} + +function parseVersion(version) { + let [major, minor = 0, patch = 0] = version + .split('-')[0] + .split('.') + .map(v => parseInt(v, 10)); + + if (isNaN(major) || isNaN(minor) || isNaN(patch)) { + return null; + } + + return (major << 16) | (minor << 8) | patch; +} diff --git a/yarn.lock b/yarn.lock index aed541c005d..454344709bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2133,6 +2133,13 @@ dependencies: "@octokit/openapi-types" "^6.2.0" +"@parcel/css@1.0.0-alpha.4": + version "1.0.0-alpha.4" + resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.0.0-alpha.4.tgz#967520401053f8eb0d5f23ed58b4afbcebc6c9de" + integrity sha512-/wd7WWesAekEexrL7slIkb1gNXX/XYF8bMZUEcEKjDdkfne5SyINLTGbV3WzvsEjzRwgBL5kBET5nX59GJ3JVg== + dependencies: + detect-libc "^1.0.3" + "@parcel/source-map@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.0.tgz#41cf004109bbf277ceaf096a58838ff6a59af774" From 269b8f4365ce2339b1b9256cfb5254cc28a36c18 Mon Sep 17 00:00:00 2001 From: Hovhannes Babayan Date: Mon, 29 Nov 2021 02:11:18 +0400 Subject: [PATCH 0129/1076] docs: fix typos and made spell checker happy again (#7363) --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 322020798cc..58fcb14284b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,7 +27,7 @@ yarn install yarn build-native ``` -In the folder `packages/example`, create a temporary example to debug. You can start by copying the `simple` example and try to reproduce the bug. +In the folder `packages/examples`, create a temporary example to debug. You can start by copying the `simple` example and try to reproduce the bug. In the newly created example run `yarn parcel build index.html` to build. @@ -39,7 +39,7 @@ Use `yarn format` to make sure we keep the code format consistent. Use `yarn lint` to check for stylistic or unwanted errors. -If you want to test out your change outside of the monorepo, you ran run `/path/to/monorepo/packages/core/parcel/src/bin.js build src/index.html` (provided that you don't have any `@parcel/*` plugins installed in this project). +If you want to test out your change outside the monorepo, you can run `/path/to/monorepo/packages/core/parcel/src/bin.js build src/index.html` (provided that you don't have any `@parcel/*` plugins installed in this project). ## Notes and things to be aware of @@ -73,7 +73,7 @@ When releasing a new version of Parcel a couple steps should be followed: After these steps are completed there should be a new version of Parcel published on npm. -In case the automatic npm release failed or you want to do a manual release for any other reason you can also run `yarn run release` +In case the automatic npm release failed, or you want to do a manual release for any other reason you can also run `yarn run release` ## Become a backer or sponsor From be65b925118a3f1c3c1bee37727c32cdb54d16b7 Mon Sep 17 00:00:00 2001 From: JensPfeifle Date: Sun, 28 Nov 2021 23:12:40 +0100 Subject: [PATCH 0130/1076] ElmTransformer: Catch error from compiler and re-throw as diagnostic. (#7326) --- packages/transformers/elm/src/ElmTransformer.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/transformers/elm/src/ElmTransformer.js b/packages/transformers/elm/src/ElmTransformer.js index 3dbffb3ede6..fbbf0f045c4 100644 --- a/packages/transformers/elm/src/ElmTransformer.js +++ b/packages/transformers/elm/src/ElmTransformer.js @@ -56,8 +56,19 @@ export default (new Transformer({ // this can be removed after https://github.com/isaacs/node-graceful-fs/pull/200 was mergend and used in parcel // $FlowFixMe[method-unbinding] process.chdir.disabled = isWorker; + let code; + try { + code = await compileToString(elm, elmBinary, asset, compilerConfig); + } catch (e) { + throw new ThrowableDiagnostic({ + diagnostic: { + message: 'Compilation failed', + origin: '@parcel/elm-transformer', + stack: e.toString(), + }, + }); + } - let code = await compileToString(elm, elmBinary, asset, compilerConfig); if (options.hmrOptions) { code = elmHMR.inject(code); } From 5b606ea094b671cf5a209142e82a9c85c9670565 Mon Sep 17 00:00:00 2001 From: Shinobu Hayashi Date: Mon, 29 Nov 2021 07:14:18 +0900 Subject: [PATCH 0131/1076] Feature: check empty string reference for other resource in HTML(and SVG) (#7318) --- packages/core/integration-tests/test/html.js | 94 +++++++++++++++++++ .../html-empty-reference/index.html | 3 + packages/transformers/html/package.json | 1 + .../transformers/html/src/HTMLTransformer.js | 21 ++++- .../transformers/html/src/dependencies.js | 15 ++- packages/transformers/svg/package.json | 1 + .../transformers/svg/src/SVGTransformer.js | 19 +++- packages/transformers/svg/src/dependencies.js | 14 +++ 8 files changed, 165 insertions(+), 3 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/html-empty-reference/index.html diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index b2f81d4b6ca..eb250c6a6f0 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -2704,4 +2704,98 @@ describe('html', function () { assert(output.includes(' + bundle( + path.join(__dirname, 'integration/html-empty-reference/index.html'), + { + mode: 'production', + }, + ), + { + name: 'BuildError', + diagnostics: [ + { + message: 'src should not be empty string', + origin: '@parcel/transformer-html', + codeFrames: [ + { + filePath: path.join( + __dirname, + 'integration/html-empty-reference/index.html', + ), + language: 'html', + codeHighlights: [ + { + start: { + column: 1, + line: 1, + }, + end: { + column: 14, + line: 1, + }, + }, + ], + }, + ], + }, + + { + message: 'src should not be empty string', + origin: '@parcel/transformer-html', + codeFrames: [ + { + filePath: path.join( + __dirname, + 'integration/html-empty-reference/index.html', + ), + language: 'html', + codeHighlights: [ + { + start: { + column: 1, + line: 2, + }, + end: { + column: 24, + line: 2, + }, + }, + ], + }, + ], + }, + + { + message: 'href should not be empty string', + origin: '@parcel/transformer-html', + codeFrames: [ + { + filePath: path.join( + __dirname, + 'integration/html-empty-reference/index.html', + ), + language: 'html', + codeHighlights: [ + { + start: { + column: 1, + line: 3, + }, + end: { + column: 16, + line: 3, + }, + }, + ], + }, + ], + }, + ], + }, + ); + }); }); diff --git a/packages/core/integration-tests/test/integration/html-empty-reference/index.html b/packages/core/integration-tests/test/integration/html-empty-reference/index.html new file mode 100644 index 00000000000..5fba8e384c9 --- /dev/null +++ b/packages/core/integration-tests/test/integration/html-empty-reference/index.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index c1b8a084be5..11173f697f3 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -22,6 +22,7 @@ "dependencies": { "@parcel/hash": "^2.0.1", "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.0.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/html/src/HTMLTransformer.js b/packages/transformers/html/src/HTMLTransformer.js index 73a6697569e..21b12eb8ab5 100644 --- a/packages/transformers/html/src/HTMLTransformer.js +++ b/packages/transformers/html/src/HTMLTransformer.js @@ -10,6 +10,7 @@ import {render} from 'posthtml-render'; import semver from 'semver'; import collectDependencies from './dependencies'; import extractInlineAssets from './inline'; +import ThrowableDiagnostic from '@parcel/diagnostic'; export default (new Transformer({ canReuseAST({ast}) { @@ -33,9 +34,27 @@ export default (new Transformer({ if (asset.type === 'htm') { asset.type = 'html'; } + asset.bundleBehavior = 'isolated'; let ast = nullthrows(await asset.getAST()); - let hasScripts = collectDependencies(asset, ast); + let hasScripts; + try { + hasScripts = collectDependencies(asset, ast); + } catch (errors) { + throw new ThrowableDiagnostic({ + diagnostic: errors.map(error => ({ + message: error.message, + origin: '@parcel/transformer-html', + codeFrames: [ + { + filePath: error.filePath, + language: 'html', + codeHighlights: [error.loc], + }, + ], + })), + }); + } const {assets: inlineAssets, hasScripts: hasInlineScripts} = extractInlineAssets(asset, ast); diff --git a/packages/transformers/html/src/dependencies.js b/packages/transformers/html/src/dependencies.js index 5ce79ca5d8f..3eca3b74518 100644 --- a/packages/transformers/html/src/dependencies.js +++ b/packages/transformers/html/src/dependencies.js @@ -3,7 +3,6 @@ import type {AST, MutableAsset} from '@parcel/types'; import type {PostHTMLNode} from 'posthtml'; import PostHTML from 'posthtml'; - // A list of all attributes that may produce a dependency // Based on https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes const ATTRS = { @@ -115,6 +114,7 @@ export default function collectDependencies( let isDirty = false; let hasScripts = false; let seen = new Set(); + const errors = []; PostHTML().walk.call(ast.program, node => { let {tag, attrs} = node; if (!attrs || seen.has(node)) { @@ -254,6 +254,15 @@ export default function collectDependencies( continue; } + // Check for empty string + if (attrs[attr].length === 0) { + errors.push({ + message: `${attr} should not be empty string`, + filePath: asset.filePath, + loc: node.location, + }); + } + let elements = ATTRS[attr]; if (elements && elements.includes(node.tag)) { let depHandler = getAttrDepHandler(attr); @@ -274,5 +283,9 @@ export default function collectDependencies( return node; }); + if (errors.length > 0) { + throw errors; + } + return hasScripts; } diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index bcf4a5cd36b..a7ba7322a10 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -22,6 +22,7 @@ "dependencies": { "@parcel/hash": "^2.0.1", "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.0.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/svg/src/SVGTransformer.js b/packages/transformers/svg/src/SVGTransformer.js index 2ad54bb13a3..3885fae540f 100644 --- a/packages/transformers/svg/src/SVGTransformer.js +++ b/packages/transformers/svg/src/SVGTransformer.js @@ -7,6 +7,7 @@ import {parser as parse} from 'posthtml-parser'; import {render} from 'posthtml-render'; import collectDependencies from './dependencies'; import extractInlineAssets from './inline'; +import ThrowableDiagnostic from '@parcel/diagnostic'; export default (new Transformer({ canReuseAST({ast}) { @@ -36,7 +37,23 @@ export default (new Transformer({ const ast = nullthrows(await asset.getAST()); - collectDependencies(asset, ast); + try { + collectDependencies(asset, ast); + } catch (errors) { + throw new ThrowableDiagnostic({ + diagnostic: errors.map(error => ({ + message: error.message, + origin: '@parcel/transformer-svg', + codeFrames: [ + { + filePath: error.filePath, + language: 'svg', + codeHighlights: [error.loc], + }, + ], + })), + }); + } const inlineAssets = extractInlineAssets(asset, ast); diff --git a/packages/transformers/svg/src/dependencies.js b/packages/transformers/svg/src/dependencies.js index c83074ae0c1..60af07786b5 100644 --- a/packages/transformers/svg/src/dependencies.js +++ b/packages/transformers/svg/src/dependencies.js @@ -77,6 +77,7 @@ const OPTIONS = { export default function collectDependencies(asset: MutableAsset, ast: AST) { let isDirty = false; + const errors = []; PostHTML().walk.call(ast.program, node => { // Ideally we'd have location information for specific attributes... let getLoc = () => @@ -106,6 +107,15 @@ export default function collectDependencies(asset: MutableAsset, ast: AST) { continue; } + // Check for empty string + if (attrs[attr].length === 0) { + errors.push({ + message: `${attr} should not be empty string`, + filePath: asset.filePath, + loc: node.location, + }); + } + const elements = ATTRS[attr]; if (elements && elements.includes(node.tag)) { let options = OPTIONS[tag]?.[attr]; @@ -143,6 +153,10 @@ export default function collectDependencies(asset: MutableAsset, ast: AST) { return node; }); + if (errors.length > 0) { + throw errors; + } + if (isDirty) { asset.setAST(ast); } From 9d8df4987ae982ca96660cf1d652c34fe79f6c31 Mon Sep 17 00:00:00 2001 From: Andrew Stegmaier Date: Sun, 28 Nov 2021 16:15:04 -0600 Subject: [PATCH 0132/1076] Fix type generation when tsconfig's "incremental" option is true (#7352) --- .../test/integration/ts-types/composite/tsconfig.json | 1 + packages/core/integration-tests/test/ts-types.js | 2 +- .../transformers/typescript-types/src/TSTypesTransformer.js | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/core/integration-tests/test/integration/ts-types/composite/tsconfig.json b/packages/core/integration-tests/test/integration/ts-types/composite/tsconfig.json index 1eb91309e16..28e8a1de65c 100644 --- a/packages/core/integration-tests/test/integration/ts-types/composite/tsconfig.json +++ b/packages/core/integration-tests/test/integration/ts-types/composite/tsconfig.json @@ -1,6 +1,7 @@ { "compilerOptions": { "composite": true, + "incremental": true }, "files": [ "index.ts", diff --git a/packages/core/integration-tests/test/ts-types.js b/packages/core/integration-tests/test/ts-types.js index 7f57f6bcf9b..1676a727c77 100644 --- a/packages/core/integration-tests/test/ts-types.js +++ b/packages/core/integration-tests/test/ts-types.js @@ -306,7 +306,7 @@ describe('typescript types', function () { assert(/import\s*{\s*B\s*}\s*from\s*"b";/.test(dist)); }); - it('should generate a typescript declaration file even when composite is true', async function () { + it('should generate a typescript declaration file even when composite and incremental are true', async function () { await bundle( path.join(__dirname, '/integration/ts-types/composite/index.ts'), ); diff --git a/packages/transformers/typescript-types/src/TSTypesTransformer.js b/packages/transformers/typescript-types/src/TSTypesTransformer.js index 63cdbfaab86..19f3c3747b5 100644 --- a/packages/transformers/typescript-types/src/TSTypesTransformer.js +++ b/packages/transformers/typescript-types/src/TSTypesTransformer.js @@ -36,6 +36,7 @@ export default (new Transformer({ moduleResolution: ts.ModuleResolutionKind.NodeJs, // createProgram doesn't support incremental mode composite: false, + incremental: false, }; let host = new CompilerHost(options.inputFS, ts, logger); From b08ef9cb340a46c17ba388f6f7f97ce8cfeaba5b Mon Sep 17 00:00:00 2001 From: Ward Peeters Date: Sun, 28 Nov 2021 23:20:39 +0100 Subject: [PATCH 0133/1076] Fix require statements with plain template literals (#7369) --- .../index.js | 7 ++++ .../package.json | 13 +++++++ .../yarn.lock | 0 .../commonjs-template-literal-plain/index.js | 5 +++ .../package.json | 13 +++++++ .../commonjs-template-literal-plain/yarn.lock | 0 .../core/integration-tests/test/javascript.js | 39 +++++++++++++++++++ .../js/core/src/dependency_collector.rs | 13 +++++++ packages/transformers/js/core/src/utils.rs | 12 ++++++ 9 files changed, 102 insertions(+) create mode 100644 packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/index.js create mode 100644 packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/package.json create mode 100644 packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/yarn.lock create mode 100644 packages/core/integration-tests/test/integration/commonjs-template-literal-plain/index.js create mode 100644 packages/core/integration-tests/test/integration/commonjs-template-literal-plain/package.json create mode 100644 packages/core/integration-tests/test/integration/commonjs-template-literal-plain/yarn.lock diff --git a/packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/index.js b/packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/index.js new file mode 100644 index 00000000000..b80f1a1b536 --- /dev/null +++ b/packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/index.js @@ -0,0 +1,7 @@ +const fn = 'add'; + +module.exports = function (a, b) { + const add = require(`lodash/${fn}`); + + return add(a, b); +}; diff --git a/packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/package.json b/packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/package.json new file mode 100644 index 00000000000..73c71ecd336 --- /dev/null +++ b/packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/package.json @@ -0,0 +1,13 @@ +{ + "name": "commonjs-require", + "private": true, + "main": "dist/index.js", + "targets": { + "main": { + "context": "node" + } + }, + "dependencies": { + "lodash": "*" + } +} diff --git a/packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/yarn.lock b/packages/core/integration-tests/test/integration/commonjs-template-literal-interpolation/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/commonjs-template-literal-plain/index.js b/packages/core/integration-tests/test/integration/commonjs-template-literal-plain/index.js new file mode 100644 index 00000000000..ed75a624b63 --- /dev/null +++ b/packages/core/integration-tests/test/integration/commonjs-template-literal-plain/index.js @@ -0,0 +1,5 @@ +const _ = require(`lodash`); + +module.exports = function (a, b) { + return _.add(a, b); +}; diff --git a/packages/core/integration-tests/test/integration/commonjs-template-literal-plain/package.json b/packages/core/integration-tests/test/integration/commonjs-template-literal-plain/package.json new file mode 100644 index 00000000000..73c71ecd336 --- /dev/null +++ b/packages/core/integration-tests/test/integration/commonjs-template-literal-plain/package.json @@ -0,0 +1,13 @@ +{ + "name": "commonjs-require", + "private": true, + "main": "dist/index.js", + "targets": { + "main": { + "context": "node" + } + }, + "dependencies": { + "lodash": "*" + } +} diff --git a/packages/core/integration-tests/test/integration/commonjs-template-literal-plain/yarn.lock b/packages/core/integration-tests/test/integration/commonjs-template-literal-plain/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index 45fa45996c6..3d1c3741aeb 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -4422,6 +4422,45 @@ describe('javascript', function () { assert.equal(await run(b), 2); }); + it('should detect requires in commonjs with plain template literals', async function () { + let b = await bundle( + path.join( + __dirname, + '/integration/commonjs-template-literal-plain/index.js', + ), + ); + let dist = await outputFS.readFile( + b.getBundles().find(b => b.type === 'js').filePath, + 'utf8', + ); + assert(dist.includes('$cPUKg$lodash = require("lodash");')); + + let add = await run(b); + assert.equal(add(2, 3), 5); + }); + + it(`should detect requires in commonjs with plain template literals`, async function () { + let b = await bundle( + path.join( + __dirname, + '/integration/commonjs-template-literal-interpolation/index.js', + ), + ); + let dist = await outputFS.readFile( + b.getBundles().find(b => b.type === 'js').filePath, + 'utf8', + ); + + assert( + dist.includes( + 'const add = require(`lodash/${$8cad8166811e0063$var$fn}`);', + ), + ); + + let add = await run(b); + assert.equal(add(2, 3), 5); + }); + it('only updates bundle names of changed bundles for browsers', async () => { let fixtureDir = path.join(__dirname, '/integration/name-invalidation'); let _bundle = () => diff --git a/packages/transformers/js/core/src/dependency_collector.rs b/packages/transformers/js/core/src/dependency_collector.rs index 6b2c4a34185..e2cfce09032 100644 --- a/packages/transformers/js/core/src/dependency_collector.rs +++ b/packages/transformers/js/core/src/dependency_collector.rs @@ -539,6 +539,19 @@ impl<'a> Fold for DependencyCollector<'a> { } let node = if let Some(arg) = node.args.get(0) { + let mut arg = arg.clone(); + + // convert require(`./name`) to require("./name") + if let ast::Expr::Tpl(_tpl) = &*arg.expr { + if _tpl.quasis.len() == 1 && _tpl.exprs.is_empty() { + let tpl_str = &_tpl.quasis[0].raw; + arg.expr = Box::new(ast::Expr::Lit(ast::Lit::Str(ast::Str { + value: tpl_str.clone().value, + ..tpl_str.clone() + }))); + } + } + if kind == DependencyKind::ServiceWorker || kind == DependencyKind::Worklet { let (source_type, opts) = if kind == DependencyKind::ServiceWorker { match_worker_type(node.args.get(1)) diff --git a/packages/transformers/js/core/src/utils.rs b/packages/transformers/js/core/src/utils.rs index 83e2758c9ce..7610d317467 100644 --- a/packages/transformers/js/core/src/utils.rs +++ b/packages/transformers/js/core/src/utils.rs @@ -109,6 +109,12 @@ pub fn match_require( if let Expr::Lit(Lit::Str(str_)) = &*arg.expr { return Some(str_.value.clone()); } + + if let ast::Expr::Tpl(_tpl) = &*arg.expr { + if _tpl.quasis.len() == 1 && _tpl.exprs.is_empty() { + return Some(_tpl.quasis[0].raw.clone().value); + } + } } } @@ -120,6 +126,12 @@ pub fn match_require( if let Expr::Lit(Lit::Str(str_)) = &*arg.expr { return Some(str_.value.clone()); } + + if let ast::Expr::Tpl(_tpl) = &*arg.expr { + if _tpl.quasis.len() == 1 && _tpl.exprs.is_empty() { + return Some(_tpl.quasis[0].raw.clone().value); + } + } } } From bafd9d49ae149f1fa422276a58cc6f261d0e8c66 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 28 Nov 2021 20:57:31 -0500 Subject: [PATCH 0134/1076] Refactor string matching into util (#7376) --- .../js/core/src/dependency_collector.rs | 68 ++++++++----------- packages/transformers/js/core/src/utils.rs | 48 +++++++------ 2 files changed, 57 insertions(+), 59 deletions(-) diff --git a/packages/transformers/js/core/src/dependency_collector.rs b/packages/transformers/js/core/src/dependency_collector.rs index e2cfce09032..0113d96838d 100644 --- a/packages/transformers/js/core/src/dependency_collector.rs +++ b/packages/transformers/js/core/src/dependency_collector.rs @@ -217,10 +217,10 @@ impl<'a> DependencyCollector<'a> { fn rewrite_require_specifier(node: ast::CallExpr) -> ast::CallExpr { if let Some(arg) = node.args.get(0) { - if let ast::Expr::Lit(ast::Lit::Str(str_)) = &*arg.expr { - if str_.value.starts_with("node:") { + if let Some((value, _)) = match_str(&*arg.expr) { + if value.starts_with("node:") { // create_require will take care of replacing the node: prefix... - return create_require(str_.value.clone()); + return create_require(value); } } } @@ -539,19 +539,6 @@ impl<'a> Fold for DependencyCollector<'a> { } let node = if let Some(arg) = node.args.get(0) { - let mut arg = arg.clone(); - - // convert require(`./name`) to require("./name") - if let ast::Expr::Tpl(_tpl) = &*arg.expr { - if _tpl.quasis.len() == 1 && _tpl.exprs.is_empty() { - let tpl_str = &_tpl.quasis[0].raw; - arg.expr = Box::new(ast::Expr::Lit(ast::Lit::Str(ast::Str { - value: tpl_str.clone().value, - ..tpl_str.clone() - }))); - } - } - if kind == DependencyKind::ServiceWorker || kind == DependencyKind::Worklet { let (source_type, opts) = if kind == DependencyKind::ServiceWorker { match_worker_type(node.args.get(1)) @@ -572,7 +559,7 @@ impl<'a> Fold for DependencyCollector<'a> { } else { ( "Registering worklets with a string literal is not supported.", - "http://localhost:8080/languages/javascript/#worklets", + "https://parceljs.org/languages/javascript/#worklets", ) }; self.diagnostics.push(Diagnostic { @@ -607,7 +594,7 @@ impl<'a> Fold for DependencyCollector<'a> { return node; } - if let Lit(ast::Lit::Str(str_)) = &*arg.expr { + if let Some((specifier, span)) = match_str(&*arg.expr) { // require() calls aren't allowed in scripts, flag as an error. if kind == DependencyKind::Require && self.config.source_type == SourceType::Script { self.add_script_error(node.span); @@ -615,8 +602,8 @@ impl<'a> Fold for DependencyCollector<'a> { } let placeholder = self.add_dependency( - str_.value.clone(), - str_.span, + specifier, + span, kind.clone(), attributes, kind == DependencyKind::Require && self.in_try, @@ -627,7 +614,7 @@ impl<'a> Fold for DependencyCollector<'a> { let mut node = node.clone(); node.args[0].expr = Box::new(ast::Expr::Lit(ast::Lit::Str(ast::Str { value: placeholder, - span: str_.span, + span, has_escape: false, kind: ast::StrKind::Synthesized, }))); @@ -1142,18 +1129,15 @@ impl<'a> DependencyCollector<'a> { } if let Some(args) = &new.args { - let specifier = if let Some(arg) = args.get(0) { - match &*arg.expr { - Expr::Lit(Lit::Str(s)) => s, - _ => return None, - } + let (specifier, span) = if let Some(arg) = args.get(0) { + match_str(&*arg.expr)? } else { return None; }; if let Some(arg) = args.get(1) { if self.is_import_meta_url(&*arg.expr) { - return Some((specifier.value.clone(), specifier.span)); + return Some((specifier, span)); } } } @@ -1183,10 +1167,16 @@ impl<'a> DependencyCollector<'a> { _ => return false, } - match &*member.prop { - Expr::Ident(id) => id.sym == js_word!("url") && !member.computed, - Expr::Lit(Lit::Str(str)) => str.value == js_word!("url"), - _ => false, + let name = if !member.computed { + match_str_or_ident(&*member.prop) + } else { + match_str(&*member.prop) + }; + + if let Some((name, _)) = name { + name == js_word!("url") + } else { + false } } Expr::Bin(BinExpr { @@ -1196,9 +1186,10 @@ impl<'a> DependencyCollector<'a> { .. }) => { // Match "file:" + __filename - match (&**left, &**right) { - (Expr::Lit(Lit::Str(Str { value: left, .. })), Expr::Ident(Ident { sym: right, .. })) => { - left == "file:" && right == "__filename" + let left = match_str(&*left); + match (left, &**right) { + (Some((left, _)), Expr::Ident(Ident { sym: right, .. })) => { + &left == "file:" && right == "__filename" } _ => false, } @@ -1374,12 +1365,13 @@ fn match_worker_type(expr: Option<&ast::ExprOrSpread>) -> (SourceType, Option return true, }; - let v = match &*kv.value { - Expr::Lit(Lit::Str(Str { value, .. })) => value, - _ => return true, + let v = if let Some((v, _)) = match_str(&*kv.value) { + v + } else { + return true; }; - source_type = Some(match *v { + source_type = Some(match v { js_word!("module") => SourceType::Module, _ => SourceType::Script, }); diff --git a/packages/transformers/js/core/src/utils.rs b/packages/transformers/js/core/src/utils.rs index 7610d317467..913a37fc0b3 100644 --- a/packages/transformers/js/core/src/utils.rs +++ b/packages/transformers/js/core/src/utils.rs @@ -90,6 +90,30 @@ fn is_marked(span: Span, mark: Mark) -> bool { } } +pub fn match_str(node: &ast::Expr) -> Option<(JsWord, Span)> { + use ast::*; + + match node { + // "string" or 'string' + Expr::Lit(Lit::Str(s)) => Some((s.value.clone(), s.span)), + // `string` + Expr::Tpl(tpl) if tpl.quasis.len() == 1 && tpl.exprs.is_empty() => { + Some((tpl.quasis[0].raw.value.clone(), tpl.span)) + } + _ => None, + } +} + +pub fn match_str_or_ident(node: &ast::Expr) -> Option<(JsWord, Span)> { + use ast::*; + + if let Expr::Ident(id) = node { + return Some((id.sym.clone(), id.span)); + } + + match_str(node) +} + pub fn match_require( node: &ast::Expr, decls: &HashSet<(JsWord, SyntaxContext)>, @@ -106,15 +130,7 @@ pub fn match_require( && !is_marked(ident.span, ignore_mark) { if let Some(arg) = call.args.get(0) { - if let Expr::Lit(Lit::Str(str_)) = &*arg.expr { - return Some(str_.value.clone()); - } - - if let ast::Expr::Tpl(_tpl) = &*arg.expr { - if _tpl.quasis.len() == 1 && _tpl.exprs.is_empty() { - return Some(_tpl.quasis[0].raw.clone().value); - } - } + return match_str(&*arg.expr).map(|(name, _)| name); } } @@ -123,15 +139,7 @@ pub fn match_require( Expr::Member(member) => { if match_member_expr(member, vec!["module", "require"], decls) { if let Some(arg) = call.args.get(0) { - if let Expr::Lit(Lit::Str(str_)) = &*arg.expr { - return Some(str_.value.clone()); - } - - if let ast::Expr::Tpl(_tpl) = &*arg.expr { - if _tpl.quasis.len() == 1 && _tpl.exprs.is_empty() { - return Some(_tpl.quasis[0].raw.clone().value); - } - } + return match_str(&*arg.expr).map(|(name, _)| name); } } @@ -154,9 +162,7 @@ pub fn match_import(node: &ast::Expr, ignore_mark: Mark) -> Option { Expr::Ident(ident) => { if ident.sym == js_word!("import") && !is_marked(ident.span, ignore_mark) { if let Some(arg) = call.args.get(0) { - if let Expr::Lit(Lit::Str(str_)) = &*arg.expr { - return Some(str_.value.clone()); - } + return match_str(&*arg.expr).map(|(name, _)| name); } } From cdc1d0e4e1991c623608f74b573be6896f5cdb4a Mon Sep 17 00:00:00 2001 From: Chris Wilkinson Date: Mon, 29 Nov 2021 01:57:58 +0000 Subject: [PATCH 0135/1076] Update lmdb-store to v2 (#7364) --- packages/core/cache/package.json | 2 +- packages/core/cache/src/LMDBCache.js | 2 +- yarn.lock | 48 +++++++++++++++------------- 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index eba2385b63b..d436f3e909e 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -26,7 +26,7 @@ "dependencies": { "@parcel/logger": "^2.0.1", "@parcel/utils": "^2.0.1", - "lmdb-store": "^1.5.5" + "lmdb": "^2.0.0" }, "peerDependencies": { "@parcel/core": "^2.0.0" diff --git a/packages/core/cache/src/LMDBCache.js b/packages/core/cache/src/LMDBCache.js index 16ab8d54f91..8e2366533f4 100644 --- a/packages/core/cache/src/LMDBCache.js +++ b/packages/core/cache/src/LMDBCache.js @@ -9,7 +9,7 @@ import {NodeFS} from '@parcel/fs'; // flowlint-next-line untyped-import:off import packageJson from '../package.json'; // $FlowFixMe -import lmdb from 'lmdb-store'; +import lmdb from 'lmdb'; export class LMDBCache implements Cache { fs: NodeFS; diff --git a/yarn.lock b/yarn.lock index 454344709bc..6e0cad08d26 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8300,17 +8300,16 @@ listr2@^2.1.0: rxjs "^6.5.5" through "^2.3.8" -lmdb-store@^1.5.5: - version "1.5.5" - resolved "https://registry.yarnpkg.com/lmdb-store/-/lmdb-store-1.5.5.tgz#b51f5d045bf0fbae205e31eab781900be3b25ad9" - integrity sha512-EwCn+eSGH1XD35qaDzbHTYMig+Aj+kBbCpxWHzhtrIBJpFYq5uoBo4zWG4JRFxsbfonFELhuiyX0QokISIxzsQ== +lmdb@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.0.0.tgz#6c1ebe25c6b83595f20c5c1b9e284d78882dcacc" + integrity sha512-Ab8dyyrvY6gHCVN4mzPSna6s1MeNZ1PM0GGkDNcIkH+bkGzYzBYdYdFaCDtLT0I401UV1jF4KxfWoKeqebMSCg== dependencies: - mkdirp "^1.0.4" + msgpackr "^1.5.0" nan "^2.14.2" node-gyp-build "^4.2.3" - weak-lru-cache "^0.4.1" - optionalDependencies: - msgpackr "^1.3.2" + ordered-binary "^1.1.0" + weak-lru-cache "^1.1.0" load-json-file@^1.0.0: version "1.1.0" @@ -8944,7 +8943,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@^1.0.4, mkdirp@~1.0.4: +mkdirp@*, mkdirp@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -9038,20 +9037,20 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -msgpackr-extract@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-1.0.11.tgz#68dd2e5da3f45788624e44190a25730c9f455d90" - integrity sha512-qE31O3AX4zUxGcf0eIxYF1h2n6FnJHmsfiT5M/aAeGmHQmiWJCkqeIDXGD0trDFQ7/tb8KBN69LLBQpon2WQnQ== +msgpackr-extract@^1.0.14: + version "1.0.15" + resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-1.0.15.tgz#3010a3ff0b033782d525116071b6c32864a79db2" + integrity sha512-vgJgzFva0/4/mt84wXf3CRCDPHKqiqk5t7/kVSjk/V2IvwSjoStHhxyq/b2+VrWcch3sxiNQOJEWXgI86Fm7AQ== dependencies: nan "^2.14.2" node-gyp-build "^4.2.3" -msgpackr@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.3.2.tgz#820cdeb6e5dc0ec330c68f5813aab2514651651c" - integrity sha512-iZLLtOMZZXK/r9k0WjQHSqtzsGBDS5lupGKV29LPyiryNtFE0bpri6almK3HrrJJwx/9DLPLCwcLqNmckjsgQw== +msgpackr@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.5.1.tgz#2a8e39d25458406034b8cb50dc7d6a7abd3dfff2" + integrity sha512-I1CXFG8BYYSeIhtDlHpUVMsdDiyvP9JAh1d9QoBnkPx3ETPeH/1lR14hweM9GETs09wCWlaOyhtXxIc9boxAAA== optionalDependencies: - msgpackr-extract "^1.0.11" + msgpackr-extract "^1.0.14" multimatch@^3.0.0: version "3.0.0" @@ -9636,6 +9635,11 @@ ora@^5.2.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" +ordered-binary@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.1.3.tgz#11dbc0a4cb7f8248183b9845e031b443be82571e" + integrity sha512-tDTls+KllrZKJrqRXUYJtIcWIyoQycP7cVN7kzNNnhHKF2bMKHflcAQK+pF2Eb1iVaQodHxqZQr0yv4HWLGBhQ== + ordered-read-streams@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" @@ -13815,10 +13819,10 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -weak-lru-cache@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-0.4.1.tgz#d1a0600f00576e9cf836d069e4dc119b8234abde" - integrity sha512-NJS+edQXFd9zHuWuAWfieUDj0pAS6Qg6HX0NW548vhoU+aOSkRFZvcJC988PjVkrH/Q/p/E18bPctGoUE++Pdw== +weak-lru-cache@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.1.3.tgz#8a691884501b611d2b5aeac1ee5a011b2a97d9a8" + integrity sha512-5LDIv+sr6uzT94Hhcq7Qv7gt3jxol4iMWUqOgJSLYbB5oO7bTSMqIBtKsytm8N2BufYOdJw86/qu+SDfbo/wKQ== web-namespaces@^1.0.0: version "1.1.3" From ca27ed3eda74b9ca740887426b1f8ad0e5ee912e Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 30 Nov 2021 03:46:10 +0100 Subject: [PATCH 0136/1076] Only error for empty HTML dependency attributes (#7383) --- packages/core/integration-tests/test/html.js | 6 +++--- .../html-empty-reference/index.html | 3 ++- packages/transformers/html/src/dependencies.js | 18 +++++++++--------- packages/transformers/svg/src/dependencies.js | 18 +++++++++--------- 4 files changed, 23 insertions(+), 22 deletions(-) diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index eb250c6a6f0..61da006ca62 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -2718,7 +2718,7 @@ describe('html', function () { name: 'BuildError', diagnostics: [ { - message: 'src should not be empty string', + message: "'src' should not be empty string", origin: '@parcel/transformer-html', codeFrames: [ { @@ -2744,7 +2744,7 @@ describe('html', function () { }, { - message: 'src should not be empty string', + message: "'src' should not be empty string", origin: '@parcel/transformer-html', codeFrames: [ { @@ -2770,7 +2770,7 @@ describe('html', function () { }, { - message: 'href should not be empty string', + message: "'href' should not be empty string", origin: '@parcel/transformer-html', codeFrames: [ { diff --git a/packages/core/integration-tests/test/integration/html-empty-reference/index.html b/packages/core/integration-tests/test/integration/html-empty-reference/index.html index 5fba8e384c9..5e83fa1e8a9 100644 --- a/packages/core/integration-tests/test/integration/html-empty-reference/index.html +++ b/packages/core/integration-tests/test/integration/html-empty-reference/index.html @@ -1,3 +1,4 @@ - \ No newline at end of file + + diff --git a/packages/transformers/html/src/dependencies.js b/packages/transformers/html/src/dependencies.js index 3eca3b74518..f70d102cbee 100644 --- a/packages/transformers/html/src/dependencies.js +++ b/packages/transformers/html/src/dependencies.js @@ -254,17 +254,17 @@ export default function collectDependencies( continue; } - // Check for empty string - if (attrs[attr].length === 0) { - errors.push({ - message: `${attr} should not be empty string`, - filePath: asset.filePath, - loc: node.location, - }); - } - let elements = ATTRS[attr]; if (elements && elements.includes(node.tag)) { + // Check for empty string + if (attrs[attr].length === 0) { + errors.push({ + message: `'${attr}' should not be empty string`, + filePath: asset.filePath, + loc: node.location, + }); + } + let depHandler = getAttrDepHandler(attr); let depOptionsHandler = OPTIONS[node.tag]; let depOptions = diff --git a/packages/transformers/svg/src/dependencies.js b/packages/transformers/svg/src/dependencies.js index 60af07786b5..55974b601a2 100644 --- a/packages/transformers/svg/src/dependencies.js +++ b/packages/transformers/svg/src/dependencies.js @@ -107,17 +107,17 @@ export default function collectDependencies(asset: MutableAsset, ast: AST) { continue; } - // Check for empty string - if (attrs[attr].length === 0) { - errors.push({ - message: `${attr} should not be empty string`, - filePath: asset.filePath, - loc: node.location, - }); - } - const elements = ATTRS[attr]; if (elements && elements.includes(node.tag)) { + // Check for empty string + if (attrs[attr].length === 0) { + errors.push({ + message: `'${attr}' should not be empty string`, + filePath: asset.filePath, + loc: node.location, + }); + } + let options = OPTIONS[tag]?.[attr]; if (node.tag === 'script') { options = { From ebd1d6afc96d613b3cf65e73cf4e7272ddb1449d Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Tue, 30 Nov 2021 11:23:27 -0500 Subject: [PATCH 0137/1076] Bump lmdb --- packages/core/cache/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index d436f3e909e..e6297bec447 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -26,7 +26,7 @@ "dependencies": { "@parcel/logger": "^2.0.1", "@parcel/utils": "^2.0.1", - "lmdb": "^2.0.0" + "lmdb": "^2.0.1" }, "peerDependencies": { "@parcel/core": "^2.0.0" diff --git a/yarn.lock b/yarn.lock index 6e0cad08d26..46191237d51 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8300,10 +8300,10 @@ listr2@^2.1.0: rxjs "^6.5.5" through "^2.3.8" -lmdb@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.0.0.tgz#6c1ebe25c6b83595f20c5c1b9e284d78882dcacc" - integrity sha512-Ab8dyyrvY6gHCVN4mzPSna6s1MeNZ1PM0GGkDNcIkH+bkGzYzBYdYdFaCDtLT0I401UV1jF4KxfWoKeqebMSCg== +lmdb@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.0.1.tgz#db6096a61ee1ab3cc72e6dd925d062eef9efe79d" + integrity sha512-U1XEpQw04HiqxLok5g/aEyfObwo2v79QWvwYrl32fCrzvk3VPN/BpWPN4Hmfna7YJ3IoyFskc/StQaB1uRdWlw== dependencies: msgpackr "^1.5.0" nan "^2.14.2" From 20afa0c02da6296e0551ca643cba5f70f0d74572 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Thu, 2 Dec 2021 01:35:14 +0100 Subject: [PATCH 0138/1076] Bump swc (#7394) --- Cargo.lock | 201 +++++++++++++++-------- packages/transformers/js/core/Cargo.toml | 6 +- 2 files changed, 132 insertions(+), 75 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cab5d85cbf8..bf3fabe1d7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -46,18 +46,18 @@ dependencies = [ [[package]] name = "ansi_term" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ "winapi", ] [[package]] name = "anyhow" -version = "1.0.44" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" +checksum = "8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203" [[package]] name = "arrayvec" @@ -129,6 +129,27 @@ dependencies = [ "generic-array", ] +[[package]] +name = "browserslist-rs" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06d55644ca5427fce1939111997f9d58e78b0ea196e76a4cf327aa93f2553608" +dependencies = [ + "anyhow", + "chrono", + "either", + "itertools", + "js-sys", + "once_cell", + "regex", + "serde", + "serde-wasm-bindgen", + "serde_json", + "thiserror", + "ustr", + "wasm-bindgen", +] + [[package]] name = "build_const" version = "0.2.2" @@ -155,9 +176,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cc" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" dependencies = [ "jobserver", ] @@ -180,18 +201,20 @@ version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" dependencies = [ + "js-sys", "libc", "num-integer", "num-traits", "time", + "wasm-bindgen", "winapi", ] [[package]] name = "clap" -version = "2.33.3" +version = "2.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", @@ -261,9 +284,9 @@ checksum = "ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403" [[package]] name = "crc32fast" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836" dependencies = [ "cfg-if 1.0.0", ] @@ -670,9 +693,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.106" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a60553f9a9e039a333b4e9b20573b9e9b9c0bb3a11e201ccc48ef4283456d673" +checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119" [[package]] name = "libdeflate-sys" @@ -694,9 +717,9 @@ dependencies = [ [[package]] name = "libmimalloc-sys" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1b8479c593dba88c2741fc50b92e13dbabbbe0bd504d979f244ccc1a5b1c01" +checksum = "9636c194f9db483f4d0adf2f99a65011a99f904bd222bbd67fb4df4f37863c30" dependencies = [ "cc", ] @@ -742,9 +765,9 @@ dependencies = [ [[package]] name = "mimalloc" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb74897ce508e6c49156fd1476fc5922cbc6e75183c65e399c765a09122e5130" +checksum = "cf5f78c1d9892fb5677a8b2f543f967ab891ac0f71feecd961435b74f877283a" dependencies = [ "libmimalloc-sys", ] @@ -760,12 +783,11 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.4.4" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082" dependencies = [ "adler", - "autocfg", ] [[package]] @@ -782,9 +804,9 @@ dependencies = [ [[package]] name = "napi" -version = "1.7.7" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2813a6f24e181eb1faba8bc632e56049901fb71df4bf3e0cd6b4086db6606c78" +checksum = "a5586ff59e18f42d41f68139a8ca72ef1dbcc243ec62c5696e6383169a8a05a4" dependencies = [ "napi-sys", "serde", @@ -794,15 +816,15 @@ dependencies = [ [[package]] name = "napi-build" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87375bacff0768dd606ccf870eae936efd21e3245af9e7b37ae44f969d48be8a" +checksum = "d46af3cd13ef452354c8704da88bfc4bfa38724ddb38963a5113099749710788" [[package]] name = "napi-derive" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d57bc36513971ab3c60e5af84092662fb1b2fa686d0ef4aadab0d0fb6414bb9" +checksum = "6ee880798e942fc785e2e234544b9db578019a1d7676f45dad7f38d432ab0fe4" dependencies = [ "proc-macro2", "quote", @@ -934,9 +956,9 @@ dependencies = [ [[package]] name = "oxipng" -version = "5.0.0" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99ac0770862c1f005398661faea0a1e8d6bb73ca2671a2eed7448d910388f97b" +checksum = "cc96b13363b50f7c3f1e105fb7fe3e231a41ad1434fa1b055ed94b09b97ac786" dependencies = [ "bit-vec", "byteorder", @@ -950,7 +972,7 @@ dependencies = [ "itertools", "libdeflater", "log", - "miniz_oxide 0.4.4", + "miniz_oxide 0.5.1", "rayon", "rgb", "rustc_version 0.4.0", @@ -1333,9 +1355,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568" [[package]] name = "same-file" @@ -1423,9 +1445,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" +checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527" dependencies = [ "itoa", "ryu", @@ -1583,9 +1605,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.14.3" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c96fee6d6608c3022c455fd8a670ecb52f60c3a3ec4ea911ef0b173bd40dd1d" +checksum = "188984898a61b3d0d7aa7c2451ae23d6bda16cb1a94d19dd8d1b7d906c5754bc" dependencies = [ "ahash", "ast_node", @@ -1611,9 +1633,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.56.0" +version = "0.58.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3a8d411060714c3fe2abbb15cddab1f78929d34409f47495eea77490694a52f" +checksum = "d8678255e15265b4cf564c44035b9901c5bef22c19c2c3f4babccfb8de5ccfbe" dependencies = [ "is-macro", "num-bigint", @@ -1625,9 +1647,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.78.1" +version = "0.80.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f553750c724f1c35169c5821a507e3431e54ef6d60135affab84ca709ba3d6" +checksum = "0c00f3932d286865ae2784cd4da1926d7668032b156360831103fc2a24c5ff18" dependencies = [ "bitflags", "memchr", @@ -1657,9 +1679,9 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.23.0" +version = "0.24.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8175736fa6f87725ee3736bb601d934444bd8b0e3b6b9032842fd0f189368e87" +checksum = "eda70aee2118769474918d260e947fe08bfd56a5fc3d17c1a5aebeeb8d0c226e" dependencies = [ "ahash", "anyhow", @@ -1671,16 +1693,14 @@ dependencies = [ "serde_json", "swc_atoms", "swc_common", - "swc_ecma_ast", - "swc_ecma_visit", "tracing", ] [[package]] name = "swc_ecma_parser" -version = "0.76.3" +version = "0.78.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f410fad7848bf376f31b621bde573858325d8127a71fbbe2d5effbe897420bb3" +checksum = "abe082abd0148a66e6b5c9c97c36a770bac1912bf500c3bc982ac7101c17218d" dependencies = [ "either", "enum_kind", @@ -1699,11 +1719,13 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.63.1" +version = "0.67.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa3ac0ad38409e19ee9c55120fb20c16311978fa2746d425e21a704f837f6d5f" +checksum = "509d20f1fd97da6c0feca04b198d9a66c492ac8ae384118e30ceb128318d5984" dependencies = [ "ahash", + "anyhow", + "browserslist-rs", "dashmap", "indexmap", "once_cell", @@ -1723,9 +1745,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.92.1" +version = "0.95.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20274f70994cacecf98728cffcc29f7e89bf9d72452ac7f912db72230b261451" +checksum = "54c954d14b46f24ea894f37cacad4bdf1a9f37a316aaefe62e3a5033689e71de" dependencies = [ "swc_atoms", "swc_common", @@ -1745,9 +1767,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.42.1" +version = "0.44.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d47323456ee73ecffa584a3964cc82dbf3daee2c7c72221d1f2130d3e42312d" +checksum = "18e0f787be734204a739fb774d0c00b15dcf0f8a3040f993ac18f6b8e47cc50e" dependencies = [ "once_cell", "phf", @@ -1764,9 +1786,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.28.1" +version = "0.30.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b26b5cc2e20bc232d366361a52347266b34443ec561bda7f2f00da83801a2e76" +checksum = "59d4aa36016acc3da3f42036f5c6fdab84b0e6200a49b84280dd852bbae256a3" dependencies = [ "swc_atoms", "swc_common", @@ -1778,9 +1800,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.49.1" +version = "0.52.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a1f9555fcc50eb59d19dc0b4c7d95cbb771f0a3cb319c9f8cded0630569ba8" +checksum = "3f8857bd04b2b6fba11168c1a4c66b48c1d9e7867a7bf1c649fe7131d2c2cfb2" dependencies = [ "ahash", "arrayvec", @@ -1815,9 +1837,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.55.1" +version = "0.58.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10bbeb92d5a3d13b1d2c9e016d5735bd511c29ed199a7eb732aef868cb0f1e7" +checksum = "866abb059c40d454d8010de499d9f8e12994a7213779596d1c9a9a611dac9dfa" dependencies = [ "Inflector", "ahash", @@ -1837,9 +1859,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.62.1" +version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804930bf18b7a467a0c309129ecdc7a07f378ffc0c6a963c6a0e592b4eeff53e" +checksum = "bcd8f861cef30f9b3bd262828249cd32df4bbe5000d250fe63de2888d79ff08f" dependencies = [ "ahash", "dashmap", @@ -1860,9 +1882,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.55.1" +version = "0.58.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc9a9d26f33973ebc3f34d78551b3c4444c2bc1eeb89b2b376d08db7f73c649" +checksum = "954e89a6b90b36719530624b9607fe62f783e04b7f368d526ac0038e9d646faa" dependencies = [ "either", "serde", @@ -1880,9 +1902,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.57.1" +version = "0.60.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "174789f88a5df9c6c714eb174bb392d2eb5a0692e310ceca39816536d4157716" +checksum = "380dc7c6617b4866f295baf4c41a0e64f5c265a734ac457008723fca18235765" dependencies = [ "ahash", "base64 0.13.0", @@ -1905,9 +1927,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.58.1" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf3fe7d40381ecf9e25039a82c5084a8d54ca8f143665a078ff077ef86940aec" +checksum = "92de92acef99e2e3cbd38eb0d864d46dbae66d45eb04cb64792d2aec5e8cf622" dependencies = [ "serde", "swc_atoms", @@ -1922,9 +1944,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.50.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c073f1cfbf53314e6c4b02cc2d19b96202d15ff8cd13cafb01331a3e645b39e" +checksum = "a574cee3c938142eb2ba55ddc8de9416c03400f8c7e90a7ac9c1b1b8bae1d211" dependencies = [ "once_cell", "swc_atoms", @@ -1936,9 +1958,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.42.0" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3839eb1dfad16550140d59462187de81fc536c53c53035a25fc40cbf01cc5042" +checksum = "635ac1f529c75c948a3a55d1bc2cef1861004811b733560cf3f62d0183dbdbb8" dependencies = [ "num-bigint", "swc_atoms", @@ -1949,9 +1971,9 @@ dependencies = [ [[package]] name = "swc_ecmascript" -version = "0.84.1" +version = "0.88.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca7d514168991ecf5e548ff3eb4af82e810b4f50cfd0031e7ded90357cbfb02" +checksum = "fd485710cd6f3e1b7ff55f3249f613cee3e527bb169529b73fc62717b1e91f9f" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -2038,6 +2060,26 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "thiserror" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "thread_local" version = "1.0.1" @@ -2059,9 +2101,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" dependencies = [ "tinyvec_macros", ] @@ -2167,6 +2209,19 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "ustr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd539d8973e229b9d04f15d36e6a8f8d8f85f946b366f06bb001aaed3fa9dd9" +dependencies = [ + "ahash", + "byteorder", + "lazy_static", + "parking_lot", + "serde", +] + [[package]] name = "vec_map" version = "0.8.2" @@ -2209,6 +2264,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fe8f61dba8e5d645a4d8132dc7a0a66861ed5e1045d2c0ed940fab33bac0fbe" dependencies = [ "cfg-if 1.0.0", + "serde", + "serde_json", "wasm-bindgen-macro", ] diff --git a/packages/transformers/js/core/Cargo.toml b/packages/transformers/js/core/Cargo.toml index 20edeb22740..029e62ad27d 100644 --- a/packages/transformers/js/core/Cargo.toml +++ b/packages/transformers/js/core/Cargo.toml @@ -8,9 +8,9 @@ edition = "2018" crate-type = ["rlib"] [dependencies] -swc_ecmascript = { version = "0.84.1", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils"] } -swc_ecma_preset_env = "0.63.1" -swc_common = { version = "0.14.3", features = ["tty-emitter", "sourcemap"] } +swc_ecmascript = { version = "0.88.3", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils"] } +swc_ecma_preset_env = "0.67.5" +swc_common = { version = "0.14.7", features = ["tty-emitter", "sourcemap"] } swc_atoms = "0.2.9" indoc = "1.0.3" serde = "1.0.123" From 98a16baebf957c420f000d792695433de5af1638 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 7 Dec 2021 19:25:45 +0100 Subject: [PATCH 0139/1076] Bump lmdb and swc (#7414) --- Cargo.lock | 111 +++++++++--------- packages/core/cache/package.json | 2 +- packages/transformers/js/core/Cargo.toml | 6 +- .../js/core/src/decl_collector.rs | 34 +++--- packages/transformers/js/core/src/fs.rs | 2 +- packages/transformers/js/core/src/hoist.rs | 61 +++++----- packages/transformers/js/core/src/lib.rs | 14 +-- yarn.lock | 8 +- 8 files changed, 118 insertions(+), 120 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bf3fabe1d7d..bd89f185b39 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -610,9 +610,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.10.1" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf" +checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" dependencies = [ "either", ] @@ -693,9 +693,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.108" +version = "0.2.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119" +checksum = "f98a04dce437184842841303488f70d0188c5f51437d2a834dc097eafa909a01" [[package]] name = "libdeflate-sys" @@ -756,9 +756,9 @@ checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] name = "memoffset" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ "autocfg", ] @@ -816,9 +816,9 @@ dependencies = [ [[package]] name = "napi-build" -version = "1.1.2" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d46af3cd13ef452354c8704da88bfc4bfa38724ddb38963a5113099749710788" +checksum = "d9584cc599cffd833a65527fb655bb65180f6ec8f26fba3081d2d989faa03bef" [[package]] name = "napi-derive" @@ -839,9 +839,9 @@ checksum = "67cf20e0081fea04e044aa4adf74cfea8ddc0324eec2894b1c700f4cafc72a56" [[package]] name = "nasm-rs" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dbff86bd2ee8cb407e8608e2c3504412a967c06286ef7e5cf7c1b9db756f0a9" +checksum = "a06380d23b58dcdaf892fa36c3950cad3110e7d76851275d5f85c22eb9cdd614" dependencies = [ "rayon", ] @@ -1196,9 +1196,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.32" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" +checksum = "fb37d2df5df740e582f28f8560cf425f52bb267d872fe58358eadb554909f07a" dependencies = [ "unicode-xid", ] @@ -1316,9 +1316,9 @@ checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" [[package]] name = "retain_mut" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "448296241d034b96c11173591deaa1302f2c17b56092106c1f92c1bc0183a8c9" +checksum = "11000e6ba5020e53e7cc26f73b91ae7d5496b4977851479edb66b694c0675c21" [[package]] name = "rgb" @@ -1605,9 +1605,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.14.7" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "188984898a61b3d0d7aa7c2451ae23d6bda16cb1a94d19dd8d1b7d906c5754bc" +checksum = "560998b621793a613c98ec8cdbd729e46332dd3fbf7619b57e9d98c15e142e2e" dependencies = [ "ahash", "ast_node", @@ -1633,9 +1633,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.58.1" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8678255e15265b4cf564c44035b9901c5bef22c19c2c3f4babccfb8de5ccfbe" +checksum = "a31826c0275a1062d1e16d5b428c5059d176274c4e6c1c499525ddd2c65fcacc" dependencies = [ "is-macro", "num-bigint", @@ -1647,9 +1647,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.80.0" +version = "0.83.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c00f3932d286865ae2784cd4da1926d7668032b156360831103fc2a24c5ff18" +checksum = "08ed18a9bf4bca94b2029ed267373b01f4e207f5f617ab403b3bca96a44f5547" dependencies = [ "bitflags", "memchr", @@ -1679,9 +1679,9 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.24.4" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda70aee2118769474918d260e947fe08bfd56a5fc3d17c1a5aebeeb8d0c226e" +checksum = "b0c9672f7cf71bf2a98fc0c66eed90d43db9252c82e52096c7159ea5521f3478" dependencies = [ "ahash", "anyhow", @@ -1698,9 +1698,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.78.11" +version = "0.81.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe082abd0148a66e6b5c9c97c36a770bac1912bf500c3bc982ac7101c17218d" +checksum = "97570156b3eec2e91b43f3adf9526caaf5cdf656c65a7722715b3537c2952261" dependencies = [ "either", "enum_kind", @@ -1719,9 +1719,9 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.67.5" +version = "0.73.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "509d20f1fd97da6c0feca04b198d9a66c492ac8ae384118e30ceb128318d5984" +checksum = "cc3cec2c243a4bcd9ff686b96fe59d342e632c5986cfc2a5cf548908903e574a" dependencies = [ "ahash", "anyhow", @@ -1745,9 +1745,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.95.2" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c954d14b46f24ea894f37cacad4bdf1a9f37a316aaefe62e3a5033689e71de" +checksum = "15931263dab79ddee709e981b5222d84a684cfaa66d2913394bee6d5b4635cca" dependencies = [ "swc_atoms", "swc_common", @@ -1767,9 +1767,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.44.3" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e0f787be734204a739fb774d0c00b15dcf0f8a3040f993ac18f6b8e47cc50e" +checksum = "0bfa5fa18d0f7b7f2cf3522049e22ca8c5a77072a30f597c38de1c5f10a69501" dependencies = [ "once_cell", "phf", @@ -1786,9 +1786,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.30.2" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59d4aa36016acc3da3f42036f5c6fdab84b0e6200a49b84280dd852bbae256a3" +checksum = "7305d99e9851ae762e8bca1f7d43a0a1dd6c55b78220b10425b06a5f54c4498f" dependencies = [ "swc_atoms", "swc_common", @@ -1800,9 +1800,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.52.19" +version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8857bd04b2b6fba11168c1a4c66b48c1d9e7867a7bf1c649fe7131d2c2cfb2" +checksum = "2fbfdcbc9c834c61f84106f0258d875c29622a6df50a080577499b64ea92e707" dependencies = [ "ahash", "arrayvec", @@ -1820,6 +1820,7 @@ dependencies = [ "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", + "tracing", ] [[package]] @@ -1837,9 +1838,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.58.3" +version = "0.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "866abb059c40d454d8010de499d9f8e12994a7213779596d1c9a9a611dac9dfa" +checksum = "721c7aa29ce8a905a1aef0c29546a158fb1859b733329ead7c5b40d86a9e25cb" dependencies = [ "Inflector", "ahash", @@ -1859,9 +1860,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.65.1" +version = "0.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcd8f861cef30f9b3bd262828249cd32df4bbe5000d250fe63de2888d79ff08f" +checksum = "7d528d813fd0af0c8727b0143b0c60759ff6a1cefb7223ee955da85c90edaaa6" dependencies = [ "ahash", "dashmap", @@ -1882,9 +1883,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.58.1" +version = "0.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "954e89a6b90b36719530624b9607fe62f783e04b7f368d526ac0038e9d646faa" +checksum = "1185431bc8fb9d5460f662effbe4eaa10f1038f4e7fc7cfb2edfef4a7cc1104e" dependencies = [ "either", "serde", @@ -1902,9 +1903,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.60.1" +version = "0.65.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380dc7c6617b4866f295baf4c41a0e64f5c265a734ac457008723fca18235765" +checksum = "c0f9a87fba33abfae51b6442c521af5bc607fe81aca98efb131102eff2b3df38" dependencies = [ "ahash", "base64 0.13.0", @@ -1927,9 +1928,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.61.2" +version = "0.67.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92de92acef99e2e3cbd38eb0d864d46dbae66d45eb04cb64792d2aec5e8cf622" +checksum = "104774e78a1c8e3f1a82c82e34f8664ba2975eaa4c61b4355499b4f270aac06f" dependencies = [ "serde", "swc_atoms", @@ -1944,36 +1945,38 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.52.4" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a574cee3c938142eb2ba55ddc8de9416c03400f8c7e90a7ac9c1b1b8bae1d211" +checksum = "f0adfd7c7ebc9133e5d98dbe307c8ef41d43ae9ba9e5f3f690880b057ab0adc3" dependencies = [ "once_cell", "swc_atoms", "swc_common", "swc_ecma_ast", "swc_ecma_visit", + "tracing", "unicode-xid", ] [[package]] name = "swc_ecma_visit" -version = "0.44.1" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "635ac1f529c75c948a3a55d1bc2cef1861004811b733560cf3f62d0183dbdbb8" +checksum = "f0b3826abd1e68214fe9743437236608a0a22d27912e84a85a53f1e977e10468" dependencies = [ "num-bigint", "swc_atoms", "swc_common", "swc_ecma_ast", "swc_visit", + "tracing", ] [[package]] name = "swc_ecmascript" -version = "0.88.3" +version = "0.95.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd485710cd6f3e1b7ff55f3249f613cee3e527bb169529b73fc62717b1e91f9f" +checksum = "703291bc32dd81c1d73761e02442bdefed5844490f853f9979b8b8cb21e7392b" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -2009,9 +2012,9 @@ dependencies = [ [[package]] name = "swc_visit" -version = "0.2.8" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8511a4788ab29daf00bee23e425aac92c9be4eec74c98fec4a45d0e710be695" +checksum = "e5c639379dd2a8a0221fa1e12fafbdd594ba53a0cace6560054da52409dfcc1a" dependencies = [ "either", "swc_visit_macros", @@ -2019,9 +2022,9 @@ dependencies = [ [[package]] name = "swc_visit_macros" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b2825fee79f10d0166e8e650e79c7a862fb991db275743083f07555d7641f0" +checksum = "e505bbf8e11898fa05a65aa5e773c827ec743fc15aa3c064c9e06164ed0b6630" dependencies = [ "Inflector", "pmutil", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index e6297bec447..9f88d43d7de 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -26,7 +26,7 @@ "dependencies": { "@parcel/logger": "^2.0.1", "@parcel/utils": "^2.0.1", - "lmdb": "^2.0.1" + "lmdb": "^2.0.2" }, "peerDependencies": { "@parcel/core": "^2.0.0" diff --git a/packages/transformers/js/core/Cargo.toml b/packages/transformers/js/core/Cargo.toml index 029e62ad27d..730846b4c54 100644 --- a/packages/transformers/js/core/Cargo.toml +++ b/packages/transformers/js/core/Cargo.toml @@ -8,9 +8,9 @@ edition = "2018" crate-type = ["rlib"] [dependencies] -swc_ecmascript = { version = "0.88.3", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils"] } -swc_ecma_preset_env = "0.67.5" -swc_common = { version = "0.14.7", features = ["tty-emitter", "sourcemap"] } +swc_ecmascript = { version = "0.95.0", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils"] } +swc_ecma_preset_env = "0.73.0" +swc_common = { version = "0.15.0", features = ["tty-emitter", "sourcemap"] } swc_atoms = "0.2.9" indoc = "1.0.3" serde = "1.0.123" diff --git a/packages/transformers/js/core/src/decl_collector.rs b/packages/transformers/js/core/src/decl_collector.rs index f571ba4f554..9201f11f78a 100644 --- a/packages/transformers/js/core/src/decl_collector.rs +++ b/packages/transformers/js/core/src/decl_collector.rs @@ -1,9 +1,9 @@ use std::collections::HashSet; use swc_atoms::JsWord; -use swc_common::{SyntaxContext, DUMMY_SP}; +use swc_common::SyntaxContext; use swc_ecmascript::ast; -use swc_ecmascript::visit::{Node, Visit, VisitWith}; +use swc_ecmascript::visit::{Visit, VisitWith}; /// This pass collects all declarations in a module into a single HashSet of tuples /// containing identifier names and their associated syntax context (scope). @@ -13,7 +13,7 @@ pub fn collect_decls(module: &ast::Module) -> HashSet<(JsWord, SyntaxContext)> { decls: HashSet::new(), in_var: false, }; - module.visit_with(&ast::Invalid { span: DUMMY_SP } as _, &mut c); + module.visit_with(&mut c); c.decls } @@ -23,7 +23,7 @@ struct DeclCollector { } impl Visit for DeclCollector { - fn visit_decl(&mut self, node: &ast::Decl, _parent: &dyn Node) { + fn visit_decl(&mut self, node: &ast::Decl) { use ast::Decl::*; match node { @@ -43,22 +43,22 @@ impl Visit for DeclCollector { node.visit_children_with(self); } - fn visit_var_declarator(&mut self, node: &ast::VarDeclarator, _parent: &dyn Node) { + fn visit_var_declarator(&mut self, node: &ast::VarDeclarator) { self.in_var = true; - node.name.visit_with(node, self); + node.name.visit_with(self); self.in_var = false; if let Some(init) = &node.init { - init.visit_with(node, self); + init.visit_with(self); } } - fn visit_binding_ident(&mut self, node: &ast::BindingIdent, _parent: &dyn Node) { + fn visit_binding_ident(&mut self, node: &ast::BindingIdent) { if self.in_var { self.decls.insert((node.id.sym.clone(), node.id.span.ctxt)); } } - fn visit_assign_pat_prop(&mut self, node: &ast::AssignPatProp, _parent: &dyn Node) { + fn visit_assign_pat_prop(&mut self, node: &ast::AssignPatProp) { if self.in_var { self .decls @@ -66,29 +66,29 @@ impl Visit for DeclCollector { } } - fn visit_function(&mut self, node: &ast::Function, _parent: &dyn Node) { + fn visit_function(&mut self, node: &ast::Function) { self.in_var = true; for param in &node.params { - param.visit_with(node, self); + param.visit_with(self); } self.in_var = false; - node.body.visit_with(node, self); + node.body.visit_with(self); } - fn visit_arrow_expr(&mut self, node: &ast::ArrowExpr, _parent: &dyn Node) { + fn visit_arrow_expr(&mut self, node: &ast::ArrowExpr) { self.in_var = true; for param in &node.params { - param.visit_with(node, self); + param.visit_with(self); } self.in_var = false; - node.body.visit_with(node, self); + node.body.visit_with(self); } - fn visit_import_specifier(&mut self, node: &ast::ImportSpecifier, _parent: &dyn Node) { + fn visit_import_specifier(&mut self, node: &ast::ImportSpecifier) { use ast::ImportSpecifier::*; - swc_ecmascript::visit::visit_import_specifier(self, node, _parent); + swc_ecmascript::visit::visit_import_specifier(self, node); match node { Default(default) => { diff --git a/packages/transformers/js/core/src/fs.rs b/packages/transformers/js/core/src/fs.rs index b0c33849edc..2bdca62c70e 100644 --- a/packages/transformers/js/core/src/fs.rs +++ b/packages/transformers/js/core/src/fs.rs @@ -49,7 +49,7 @@ struct InlineFS<'a> { impl<'a> Fold for InlineFS<'a> { fn fold_module(&mut self, node: Module) -> Module { - node.visit_with(&Invalid { span: DUMMY_SP } as _, &mut self.collect); + node.visit_with(&mut self.collect); node.fold_children_with(self) } diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index 8cd2f85e90b..bd755f1a56b 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -5,7 +5,7 @@ use std::hash::Hasher; use swc_atoms::JsWord; use swc_common::{sync::Lrc, Mark, Span, SyntaxContext, DUMMY_SP}; use swc_ecmascript::ast::*; -use swc_ecmascript::visit::{Fold, FoldWith, Node, Visit, VisitWith}; +use swc_ecmascript::visit::{Fold, FoldWith, Visit, VisitWith}; use crate::id; use crate::utils::{ @@ -1099,7 +1099,7 @@ impl<'a> Hoist<'a> { macro_rules! collect_visit_fn { ($name:ident, $type:ident) => { - fn $name(&mut self, node: &$type, _parent: &dyn Node) { + fn $name(&mut self, node: &$type) { let in_module_this = self.in_module_this; let in_function = self.in_function; self.in_module_this = false; @@ -1279,7 +1279,7 @@ impl From for CollectResult { } impl Visit for Collect { - fn visit_module(&mut self, node: &Module, _parent: &dyn Node) { + fn visit_module(&mut self, node: &Module) { self.in_module_this = true; self.in_top_level = true; self.in_function = false; @@ -1307,14 +1307,14 @@ impl Visit for Collect { collect_visit_fn!(visit_getter_prop, GetterProp); collect_visit_fn!(visit_setter_prop, SetterProp); - fn visit_arrow_expr(&mut self, node: &ArrowExpr, _parent: &dyn Node) { + fn visit_arrow_expr(&mut self, node: &ArrowExpr) { let in_function = self.in_function; self.in_function = true; node.visit_children_with(self); self.in_function = in_function; } - fn visit_module_item(&mut self, node: &ModuleItem, _parent: &dyn Node) { + fn visit_module_item(&mut self, node: &ModuleItem) { match node { ModuleItem::ModuleDecl(_decl) => { self.is_esm = true; @@ -1345,7 +1345,7 @@ impl Visit for Collect { self.in_top_level = true; } - fn visit_import_decl(&mut self, node: &ImportDecl, _parent: &dyn Node) { + fn visit_import_decl(&mut self, node: &ImportDecl) { for specifier in &node.specifiers { match specifier { ImportSpecifier::Named(named) => { @@ -1389,7 +1389,7 @@ impl Visit for Collect { } } - fn visit_named_export(&mut self, node: &NamedExport, _parent: &dyn Node) { + fn visit_named_export(&mut self, node: &NamedExport) { for specifier in &node.specifiers { let source = node.src.as_ref().map(|s| s.value.clone()); match specifier { @@ -1441,7 +1441,7 @@ impl Visit for Collect { } } - fn visit_export_decl(&mut self, node: &ExportDecl, _parent: &dyn Node) { + fn visit_export_decl(&mut self, node: &ExportDecl) { match &node.decl { Decl::Class(class) => { self.exports.insert( @@ -1474,10 +1474,10 @@ impl Visit for Collect { Decl::Var(var) => { for decl in &var.decls { self.in_export_decl = true; - decl.name.visit_with(decl, self); + decl.name.visit_with(self); self.in_export_decl = false; - decl.init.visit_with(decl, self); + decl.init.visit_with(self); } } _ => {} @@ -1486,7 +1486,7 @@ impl Visit for Collect { node.visit_children_with(self); } - fn visit_export_default_decl(&mut self, node: &ExportDefaultDecl, _parent: &dyn Node) { + fn visit_export_default_decl(&mut self, node: &ExportDefaultDecl) { match &node.decl { DefaultDecl::Class(class) => { if let Some(ident) = &class.ident { @@ -1528,14 +1528,14 @@ impl Visit for Collect { node.visit_children_with(self); } - fn visit_export_all(&mut self, node: &ExportAll, _parent: &dyn Node) { + fn visit_export_all(&mut self, node: &ExportAll) { self.exports_all.insert( node.src.value.clone(), SourceLocation::from(&self.source_map, node.span), ); } - fn visit_return_stmt(&mut self, node: &ReturnStmt, _parent: &dyn Node) { + fn visit_return_stmt(&mut self, node: &ReturnStmt) { if !self.in_function { self.should_wrap = true; self.add_bailout(node.span, BailoutReason::TopLevelReturn); @@ -1544,7 +1544,7 @@ impl Visit for Collect { node.visit_children_with(self) } - fn visit_binding_ident(&mut self, node: &BindingIdent, _parent: &dyn Node) { + fn visit_binding_ident(&mut self, node: &BindingIdent) { if self.in_export_decl { self.exports.insert( node.id.sym.clone(), @@ -1569,7 +1569,7 @@ impl Visit for Collect { } } - fn visit_assign_pat_prop(&mut self, node: &AssignPatProp, _parent: &dyn Node) { + fn visit_assign_pat_prop(&mut self, node: &AssignPatProp) { if self.in_export_decl { self.exports.insert( node.key.sym.clone(), @@ -1594,7 +1594,7 @@ impl Visit for Collect { } } - fn visit_member_expr(&mut self, node: &MemberExpr, _parent: &dyn Node) { + fn visit_member_expr(&mut self, node: &MemberExpr) { // if module.exports, ensure only assignment or static member expression // if exports, ensure only static member expression // if require, could be static access (handle in fold) @@ -1675,7 +1675,7 @@ impl Visit for Collect { node.visit_children_with(self); } - fn visit_unary_expr(&mut self, node: &UnaryExpr, _parent: &dyn Node) { + fn visit_unary_expr(&mut self, node: &UnaryExpr) { if node.op == UnaryOp::TypeOf { match &*node.arg { Expr::Ident(ident) @@ -1690,7 +1690,7 @@ impl Visit for Collect { } } - fn visit_expr(&mut self, node: &Expr, _parent: &dyn Node) { + fn visit_expr(&mut self, node: &Expr) { // If we reached this visitor, this is a non-top-level require that isn't in a variable // declaration. We need to wrap the referenced module to preserve side effect ordering. if let Some(source) = self.match_require(node) { @@ -1744,7 +1744,7 @@ impl Visit for Collect { } } - fn visit_this_expr(&mut self, node: &ThisExpr, _parent: &dyn Node) { + fn visit_this_expr(&mut self, node: &ThisExpr) { if self.in_module_this { self.has_cjs_exports = true; self.static_cjs_exports = false; @@ -1752,16 +1752,16 @@ impl Visit for Collect { } } - fn visit_assign_expr(&mut self, node: &AssignExpr, _parent: &dyn Node) { + fn visit_assign_expr(&mut self, node: &AssignExpr) { // if rhs is a require, record static accesses // if lhs is `exports`, mark as CJS exports re-assigned // if lhs is `module.exports` // if lhs is `module.exports.XXX` or `exports.XXX`, record static export self.in_assign = true; - node.left.visit_with(node, self); + node.left.visit_with(self); self.in_assign = false; - node.right.visit_with(node, self); + node.right.visit_with(self); if let PatOrExpr::Pat(pat) = &node.left { if has_binding_identifier(pat, &"exports".into(), &self.decls) { @@ -1789,7 +1789,7 @@ impl Visit for Collect { } } - fn visit_var_declarator(&mut self, node: &VarDeclarator, _parent: &dyn Node) { + fn visit_var_declarator(&mut self, node: &VarDeclarator) { // if init is a require call, record static accesses if let Some(init) = &node.init { if let Some(source) = self.match_require(init) { @@ -1858,7 +1858,7 @@ impl Visit for Collect { self.in_top_level = in_top_level; } - fn visit_call_expr(&mut self, node: &CallExpr, _parent: &dyn Node) { + fn visit_call_expr(&mut self, node: &CallExpr) { if let ExprOrSuper::Expr(expr) = &node.callee { match &**expr { Expr::Ident(ident) => { @@ -1894,7 +1894,7 @@ impl Visit for Collect { self.add_bailout(node.span, BailoutReason::NonStaticDynamicImport); } - expr.visit_with(node, self); + expr.visit_with(self); return; } } @@ -2125,10 +2125,10 @@ mod tests { use crate::collect_decls; use std::iter::FromIterator; use swc_common::comments::SingleThreadedComments; - use swc_common::{sync::Lrc, FileName, Globals, Mark, SourceMap, DUMMY_SP}; + use swc_common::{sync::Lrc, FileName, Globals, Mark, SourceMap}; use swc_ecmascript::codegen::text_writer::JsWriter; use swc_ecmascript::parser::lexer::Lexer; - use swc_ecmascript::parser::{EsConfig, Parser, StringInput, Syntax}; + use swc_ecmascript::parser::{Parser, StringInput}; use swc_ecmascript::transforms::resolver_with_mark; extern crate indoc; use self::indoc::indoc; @@ -2139,10 +2139,7 @@ mod tests { let comments = SingleThreadedComments::default(); let lexer = Lexer::new( - Syntax::Es(EsConfig { - dynamic_import: true, - ..Default::default() - }), + Default::default(), Default::default(), StringInput::from(&*source_file), Some(&comments), @@ -2164,7 +2161,7 @@ mod tests { global_mark, false, ); - module.visit_with(&Invalid { span: DUMMY_SP } as _, &mut collect); + module.visit_with(&mut collect); let (module, res) = { let mut hoist = Hoist::new("abc", &collect); diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index b9a3f51e9a1..6a2e131f32b 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -29,10 +29,9 @@ use path_slash::PathExt; use serde::{Deserialize, Serialize}; use swc_common::comments::SingleThreadedComments; use swc_common::errors::{DiagnosticBuilder, Emitter, Handler}; -use swc_common::DUMMY_SP; use swc_common::{chain, sync::Lrc, FileName, Globals, Mark, SourceMap}; use swc_ecma_preset_env::{preset_env, Mode::Entry, Targets, Version, Versions}; -use swc_ecmascript::ast::{Invalid, Module}; +use swc_ecmascript::ast::Module; use swc_ecmascript::codegen::text_writer::JsWriter; use swc_ecmascript::parser::lexer::Lexer; use swc_ecmascript::parser::{EsConfig, PResult, Parser, StringInput, Syntax, TsConfig}; @@ -281,7 +280,10 @@ pub fn transform(config: Config) -> Result { ), config.is_type_script && config.is_jsx ), - Optional::new(typescript::strip(), config.is_type_script && !config.is_jsx), + Optional::new( + typescript::strip(global_mark), + config.is_type_script && !config.is_jsx + ), resolver_with_mark(global_mark), Optional::new( react::react( @@ -403,7 +405,7 @@ pub fn transform(config: Config) -> Result { global_mark, config.trace_bailouts, ); - module.visit_with(&Invalid { span: DUMMY_SP } as _, &mut collect); + module.visit_with(&mut collect); if let Some(bailouts) = &collect.bailouts { diagnostics.extend(bailouts.iter().map(|bailout| bailout.to_diagnostic())); } @@ -480,17 +482,13 @@ fn parse( let syntax = if config.is_type_script { Syntax::Typescript(TsConfig { tsx: config.is_jsx, - dynamic_import: true, decorators: config.decorators, ..Default::default() }) } else { Syntax::Es(EsConfig { jsx: config.is_jsx, - dynamic_import: true, export_default_from: true, - export_namespace_from: true, - import_meta: true, decorators: config.decorators, ..Default::default() }) diff --git a/yarn.lock b/yarn.lock index 46191237d51..a3c044867d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8300,10 +8300,10 @@ listr2@^2.1.0: rxjs "^6.5.5" through "^2.3.8" -lmdb@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.0.1.tgz#db6096a61ee1ab3cc72e6dd925d062eef9efe79d" - integrity sha512-U1XEpQw04HiqxLok5g/aEyfObwo2v79QWvwYrl32fCrzvk3VPN/BpWPN4Hmfna7YJ3IoyFskc/StQaB1uRdWlw== +lmdb@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.0.2.tgz#bdd78a686a4423cf2aaea38fb2acebbd1aca9f02" + integrity sha512-B0f4UePBHHsqVRrYJgNnlzDuhjjaCvyqugV3ZY7YO+9kLcoK/Fqm5yi4icTVIr+ijeVleN69puyx/2KSKVvtQw== dependencies: msgpackr "^1.5.0" nan "^2.14.2" From 1e403463235c55e4ec3262b997ecf0538d1e4967 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Wed, 8 Dec 2021 04:06:12 +0100 Subject: [PATCH 0140/1076] Correctly pad numbers in browser hashing (#7415) --- packages/utils/hash/browser.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/utils/hash/browser.js b/packages/utils/hash/browser.js index 475dccaf1b3..5012a2da1a4 100644 --- a/packages/utils/hash/browser.js +++ b/packages/utils/hash/browser.js @@ -8,7 +8,7 @@ module.exports.init = (xxhash().then(xxh => { const encoder = new TextEncoder(); function hashString(s /*: string */) /*: string */ { - return h64(s); + return h64(s).padStart(16, '0'); } module.exports.hashString = hashString; function hashBuffer(b /*: Uint8Array */) /*: string */ { @@ -49,7 +49,7 @@ function concatUint8Arrays(arrays) { function toHex(arr) { let dataView = new DataView(arr.buffer); return ( - dataView.getUint32(0, true).toString(16) + - dataView.getUint32(4, true).toString(16) + dataView.getUint32(0, true).toString(16).padStart(8, '0') + + dataView.getUint32(4, true).toString(16).padStart(8, '0') ); } From 4f0d297b644bc7f6380fe39b11ad83576aac6eb2 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Wed, 8 Dec 2021 09:58:32 +0100 Subject: [PATCH 0141/1076] Upstream some changes from the REPL (#7208) --- Cargo.lock | 31 ++++- packages/core/cache/package.json | 7 + packages/core/cache/src/IDBCache.browser.js | 120 ++++++++++++++++++ packages/core/cache/src/IDBCache.js | 9 ++ packages/core/cache/src/index.js | 1 + packages/core/core/package.json | 4 + packages/core/core/src/PackagerRunner.js | 7 +- packages/core/core/src/serializer.js | 10 +- .../core/core/src/serializerCore.browser.js | 8 ++ packages/core/core/src/serializerCore.js | 7 + packages/core/fs/package.json | 3 + packages/core/fs/src/MemoryFS.js | 8 +- packages/core/fs/src/NodeFS.browser.js | 9 ++ packages/core/graph/src/AdjacencyList.js | 5 +- packages/core/package-manager/package.json | 5 + packages/core/utils/package.json | 5 + packages/core/utils/src/.babelrc | 3 - packages/core/utils/src/blob.js | 1 + packages/core/utils/src/index.js | 1 + packages/core/utils/src/shared-buffer.js | 24 ++++ packages/core/workers/package.json | 5 + packages/reporters/dev-server/src/.babelrc | 3 - packages/transformers/js/wasm/Cargo.toml | 4 + packages/transformers/typescript-tsc/.babelrc | 3 - packages/utils/hash/browser.js | 2 +- packages/utils/hash/package.json | 2 +- packages/validators/eslint/.babelrc | 3 - packages/validators/typescript/.babelrc | 3 - yarn.lock | 15 ++- 29 files changed, 262 insertions(+), 46 deletions(-) create mode 100644 packages/core/cache/src/IDBCache.browser.js create mode 100644 packages/core/cache/src/IDBCache.js create mode 100644 packages/core/core/src/serializerCore.browser.js create mode 100644 packages/core/core/src/serializerCore.js create mode 100644 packages/core/fs/src/NodeFS.browser.js delete mode 100644 packages/core/utils/src/.babelrc create mode 100644 packages/core/utils/src/shared-buffer.js delete mode 100644 packages/reporters/dev-server/src/.babelrc delete mode 100644 packages/transformers/typescript-tsc/.babelrc delete mode 100644 packages/validators/eslint/.babelrc delete mode 100644 packages/validators/typescript/.babelrc diff --git a/Cargo.lock b/Cargo.lock index bd89f185b39..7d47aa81c96 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -225,6 +225,15 @@ dependencies = [ "vec_map", ] +[[package]] +name = "cloudabi" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4344512281c643ae7638bbabc3af17a11307803ec8f0fcad9fae512a8bf36467" +dependencies = [ + "bitflags", +] + [[package]] name = "cloudflare-zlib" version = "0.2.9" @@ -437,7 +446,7 @@ checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall", + "redox_syscall 0.2.10", "winapi", ] @@ -1049,6 +1058,7 @@ version = "0.1.0" dependencies = [ "js-sys", "parcel-js-swc-core", + "parking_lot_core", "serde", "serde-wasm-bindgen", "wasm-bindgen", @@ -1056,9 +1066,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.11.2" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" dependencies = [ "instant", "lock_api", @@ -1067,14 +1077,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.8.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +checksum = "c361aa727dd08437f2f1447be8b59a33b0edd15e0fcee698f935613d9efbca9b" dependencies = [ - "cfg-if 1.0.0", + "cfg-if 0.1.10", + "cloudabi", "instant", "libc", - "redox_syscall", + "redox_syscall 0.1.57", "smallvec", "winapi", ] @@ -1288,6 +1299,12 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "redox_syscall" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" + [[package]] name = "redox_syscall" version = "0.2.10" diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 9f88d43d7de..5d7a5ddd1a0 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -30,5 +30,12 @@ }, "peerDependencies": { "@parcel/core": "^2.0.0" + }, + "devDependencies": { + "idb": "^5.0.8" + }, + "browser": { + "./src/IDBCache.js": "./src/IDBCache.browser.js", + "./src/LMDBCache.js": false } } diff --git a/packages/core/cache/src/IDBCache.browser.js b/packages/core/cache/src/IDBCache.browser.js new file mode 100644 index 00000000000..382d0b9c463 --- /dev/null +++ b/packages/core/cache/src/IDBCache.browser.js @@ -0,0 +1,120 @@ +// @flow strict-local +import type {Cache} from './types'; + +import {Readable} from 'stream'; +import {serialize, deserialize, registerSerializableClass} from '@parcel/core'; +import {bufferStream} from '@parcel/utils'; +// $FlowFixMe[untyped-import] +import packageJson from '../package.json'; +// $FlowFixMe[untyped-import] +import {openDB} from 'idb'; + +const STORE_NAME = 'cache'; + +export class IDBCache implements Cache { + // $FlowFixMe + store: any; + + constructor() { + this.store = openDB('REPL-parcel-cache', 1, { + upgrade(db) { + db.createObjectStore(STORE_NAME); + }, + blocked() {}, + blocking() {}, + terminated() {}, + }); + } + + ensure(): Promise { + return Promise.resolve(); + } + + serialize(): {||} { + return {...null}; + } + + static deserialize(): IDBCache { + return new IDBCache(); + } + + has(key: string): Promise { + return Promise.resolve(this.store.get(key) != null); + } + + async get(key: string): Promise { + let data = await (await this.store).get(STORE_NAME, key); + if (data == null) { + return null; + } + + return Promise.resolve(deserialize(data)); + } + + async set(key: string, value: mixed): Promise { + await (await this.store).put(STORE_NAME, serialize(value), key); + } + + getStream(key: string): Readable { + let dataPromise = this.store + .then(s => s.get(STORE_NAME, key)) + .then(d => Buffer.from(d)) + .catch(e => e); + const stream = new Readable({ + // $FlowFixMe(incompatible-call) + async read() { + let data = await dataPromise; + if (data instanceof Error) { + stream.emit('error', data); + } else { + stream.push(Buffer.from(data)); + stream.push(null); + } + }, + }); + + return stream; + } + + async setStream(key: string, stream: Readable): Promise { + let buf = await bufferStream(stream); + await (await this.store).put(STORE_NAME, buf, key); + } + + async getBlob(key: string): Promise { + let data = await (await this.store).get(STORE_NAME, key); + if (data == null) { + return Promise.reject(new Error(`Key ${key} not found in cache`)); + } + return Buffer.from(data.buffer); + } + + async setBlob(key: string, contents: Buffer | string): Promise { + let data = + contents instanceof Uint8Array ? contents : Buffer.from(contents); + await (await this.store).put(STORE_NAME, data, key); + } + + async getBuffer(key: string): Promise { + let data = await (await this.store).get(STORE_NAME, key); + if (data == null) { + return null; + } + + return Buffer.from(data.buffer); + } + + hasLargeBlob(key: string): Promise { + return this.has(key); + } + + getLargeBlob(key: string): Promise { + return this.getBlob(key); + } + + setLargeBlob(key: string, contents: Buffer | string): Promise { + return this.setBlob(key, contents); + } +} + +registerSerializableClass(`${packageJson.version}:IDBCache`, IDBCache); diff --git a/packages/core/cache/src/IDBCache.js b/packages/core/cache/src/IDBCache.js new file mode 100644 index 00000000000..515e8480a6b --- /dev/null +++ b/packages/core/cache/src/IDBCache.js @@ -0,0 +1,9 @@ +// @flow strict-local +import type {Cache} from './types'; + +// $FlowFixMe +export class IDBCache implements Cache { + constructor() { + throw new Error('IDBCache is only supported in the browser'); + } +} diff --git a/packages/core/cache/src/index.js b/packages/core/cache/src/index.js index a38d6ae1da6..a83c15f59cc 100644 --- a/packages/core/cache/src/index.js +++ b/packages/core/cache/src/index.js @@ -2,3 +2,4 @@ export type {Cache} from './types'; export * from './LMDBCache'; export * from './FSCache'; +export * from './IDBCache'; diff --git a/packages/core/core/package.json b/packages/core/core/package.json index e198bc99124..8296f1195aa 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -45,6 +45,7 @@ "dotenv-expand": "^5.1.0", "json-source-map": "^0.6.1", "json5": "^1.0.1", + "msgpackr": "^1.5.1", "micromatch": "^4.0.2", "nullthrows": "^1.1.1", "semver": "^5.7.1" @@ -52,5 +53,8 @@ "devDependencies": { "graphviz": "^0.0.9", "tempy": "^0.2.1" + }, + "browser": { + "./src/serializerCore.js": "./src/serializerCore.browser.js" } } diff --git a/packages/core/core/src/PackagerRunner.js b/packages/core/core/src/PackagerRunner.js index a2b778e05a2..3c18a16c10b 100644 --- a/packages/core/core/src/PackagerRunner.js +++ b/packages/core/core/src/PackagerRunner.js @@ -648,10 +648,11 @@ export default class PackagerRunner { ); hash = h.finish(); } else if (typeof contents === 'string') { - size = Buffer.byteLength(contents); - hash = hashString(contents); + let buffer = Buffer.from(contents); + size = buffer.byteLength; + hash = hashBuffer(buffer); hashReferences = contents.match(HASH_REF_REGEX) ?? []; - await this.options.cache.setBlob(cacheKeys.content, contents); + await this.options.cache.setBlob(cacheKeys.content, buffer); } else { size = contents.length; hash = hashBuffer(contents); diff --git a/packages/core/core/src/serializer.js b/packages/core/core/src/serializer.js index 57b770c533d..b93fc71b141 100644 --- a/packages/core/core/src/serializer.js +++ b/packages/core/core/src/serializer.js @@ -1,11 +1,8 @@ // @flow -import v8 from 'v8'; import {createBuildCache} from './buildCache'; +import {serializeRaw, deserializeRaw} from './serializerCore'; -// $FlowFixMe - Flow doesn't know about this method yet -export let serializeRaw = v8.serialize; -// $FlowFixMe - Flow doesn't know about this method yet -export let deserializeRaw = v8.deserialize; +export {serializeRaw, deserializeRaw} from './serializerCore'; const nameToCtor: Map> = new Map(); const ctorToName: Map, string> = new Map(); @@ -55,7 +52,8 @@ function shallowCopy(object: any) { function isBuffer(object) { return ( object.buffer instanceof ArrayBuffer || - object.buffer instanceof SharedArrayBuffer + (typeof SharedArrayBuffer !== 'undefined' && + object.buffer instanceof SharedArrayBuffer) ); } diff --git a/packages/core/core/src/serializerCore.browser.js b/packages/core/core/src/serializerCore.browser.js new file mode 100644 index 00000000000..e587330814f --- /dev/null +++ b/packages/core/core/src/serializerCore.browser.js @@ -0,0 +1,8 @@ +// @flow +import {Buffer} from 'buffer'; +import * as msgpackr from 'msgpackr'; + +let encoder = new msgpackr.Encoder({structuredClone: true}); + +export let serializeRaw: any => Buffer = v => Buffer.from(encoder.encode(v)); +export let deserializeRaw: Buffer => any = v => encoder.decode(v); diff --git a/packages/core/core/src/serializerCore.js b/packages/core/core/src/serializerCore.js new file mode 100644 index 00000000000..124a042861f --- /dev/null +++ b/packages/core/core/src/serializerCore.js @@ -0,0 +1,7 @@ +// @flow +import v8 from 'v8'; + +// $FlowFixMe - Flow doesn't know about this method yet +export let serializeRaw: any => Buffer = v8.serialize; +// $FlowFixMe - Flow doesn't know about this method yet +export let deserializeRaw: Buffer => any = v8.deserialize; diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index 5e0f2ceb9d6..ad7ca36b6cc 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -40,5 +40,8 @@ }, "peerDependencies": { "@parcel/core": "^2.0.0" + }, + "browser": { + "./src/NodeFS.js": "./src/NodeFS.browser.js" } } diff --git a/packages/core/fs/src/MemoryFS.js b/packages/core/fs/src/MemoryFS.js index 93e25fe701b..17afdcc4f75 100644 --- a/packages/core/fs/src/MemoryFS.js +++ b/packages/core/fs/src/MemoryFS.js @@ -11,6 +11,7 @@ import type { import path from 'path'; import {Readable, Writable} from 'stream'; import {registerSerializableClass} from '@parcel/core'; +import {SharedBuffer} from '@parcel/utils'; import packageJSON from '../package.json'; import WorkerFarm, {Handle} from '@parcel/workers'; import nullthrows from 'nullthrows'; @@ -904,15 +905,12 @@ class Directory extends Entry { } function makeShared(contents: Buffer | string): Buffer { - if ( - typeof contents !== 'string' && - contents.buffer instanceof SharedArrayBuffer - ) { + if (typeof contents !== 'string' && contents.buffer instanceof SharedBuffer) { return contents; } let length = Buffer.byteLength(contents); - let shared = new SharedArrayBuffer(length); + let shared = new SharedBuffer(length); let buffer = Buffer.from(shared); if (typeof contents === 'string') { buffer.write(contents); diff --git a/packages/core/fs/src/NodeFS.browser.js b/packages/core/fs/src/NodeFS.browser.js new file mode 100644 index 00000000000..43454dc61f8 --- /dev/null +++ b/packages/core/fs/src/NodeFS.browser.js @@ -0,0 +1,9 @@ +// @flow +import type {FileSystem} from './types'; + +// $FlowFixMe[prop-missing] handled by the throwing constructor +export class NodeFS implements FileSystem { + constructor() { + throw new Error("NodeFS isn't available in the browser"); + } +} diff --git a/packages/core/graph/src/AdjacencyList.js b/packages/core/graph/src/AdjacencyList.js index 6f8d4c28f4b..5db0b5a320a 100644 --- a/packages/core/graph/src/AdjacencyList.js +++ b/packages/core/graph/src/AdjacencyList.js @@ -1,6 +1,7 @@ // @flow import assert from 'assert'; import nullthrows from 'nullthrows'; +import {SharedBuffer} from '@parcel/utils'; import {fromNodeId, toNodeId} from './types'; import {ALL_EDGE_TYPES, type NullEdgeType, type AllEdgeTypes} from './Graph'; import type {NodeId} from './types'; @@ -610,9 +611,7 @@ export class SharedTypeMap let CAPACITY = SharedTypeMap.#CAPACITY; // $FlowFixMe[incompatible-call] this.data = new Uint32Array( - new SharedArrayBuffer( - this.getLength(capacityOrData) * BYTES_PER_ELEMENT, - ), + new SharedBuffer(this.getLength(capacityOrData) * BYTES_PER_ELEMENT), ); this.data[CAPACITY] = capacityOrData; } else { diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index d03650aacec..5ab91f4291b 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -39,5 +39,10 @@ }, "peerDependencies": { "@parcel/core": "^2.0.0" + }, + "browser": { + "./src/Npm.js": false, + "./src/Pnpm.js": false, + "./src/Yarn.js": false } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 73335e473cf..1e752b9a81e 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -45,5 +45,10 @@ "devDependencies": { "@babel/plugin-transform-flow-strip-types": "^7.2.0", "random-int": "^1.0.0" + }, + "browser": { + "./src/generateCertificate.js": false, + "./src/http-server.js": false, + "./src/openInBrowser.js": false } } diff --git a/packages/core/utils/src/.babelrc b/packages/core/utils/src/.babelrc deleted file mode 100644 index be26495ef30..00000000000 --- a/packages/core/utils/src/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@parcel/babel-preset"] -} diff --git a/packages/core/utils/src/blob.js b/packages/core/utils/src/blob.js index c84acd2a2c8..50988d010d4 100644 --- a/packages/core/utils/src/blob.js +++ b/packages/core/utils/src/blob.js @@ -2,6 +2,7 @@ import type {Blob} from '@parcel/types'; +import {Buffer} from 'buffer'; import {bufferStream} from './'; import {Readable} from 'stream'; diff --git a/packages/core/utils/src/index.js b/packages/core/utils/src/index.js index be4d656b0df..4b6b20f24d8 100644 --- a/packages/core/utils/src/index.js +++ b/packages/core/utils/src/index.js @@ -41,6 +41,7 @@ export {DefaultMap, DefaultWeakMap} from './DefaultMap'; export {makeDeferredWithPromise} from './Deferred'; export {isGlob, isGlobMatch, globSync, glob} from './glob'; export {hashStream, hashObject, hashFile} from './hash'; +export {SharedBuffer} from './shared-buffer'; export {fuzzySearch} from './schema'; export {createHTTPServer} from './http-server'; export {normalizePath, normalizeSeparators, relativePath} from './path'; diff --git a/packages/core/utils/src/shared-buffer.js b/packages/core/utils/src/shared-buffer.js new file mode 100644 index 00000000000..ba7631fbf78 --- /dev/null +++ b/packages/core/utils/src/shared-buffer.js @@ -0,0 +1,24 @@ +// @flow +/* global MessageChannel:readonly */ + +export let SharedBuffer: Class | Class; + +// $FlowFixMe[prop-missing] +if (process.browser) { + SharedBuffer = ArrayBuffer; + // Safari has removed the constructor + if (typeof SharedArrayBuffer !== 'undefined') { + let channel = new MessageChannel(); + try { + // Firefox might throw when sending the Buffer over a MessagePort + channel.port1.postMessage(new SharedArrayBuffer(0)); + SharedBuffer = SharedArrayBuffer; + } catch (_) { + // NOOP + } + channel.port1.close(); + channel.port2.close(); + } +} else { + SharedBuffer = SharedArrayBuffer; +} diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index 6248ec76342..8284be26cde 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -30,5 +30,10 @@ }, "peerDependencies": { "@parcel/core": "^2.0.0" + }, + "browser": { + "./src/cpuCount.js": false, + "./src/process/ProcessWorker.js": false, + "./src/threads/ThreadsWorker.js": false } } diff --git a/packages/reporters/dev-server/src/.babelrc b/packages/reporters/dev-server/src/.babelrc deleted file mode 100644 index be26495ef30..00000000000 --- a/packages/reporters/dev-server/src/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@parcel/babel-preset"] -} diff --git a/packages/transformers/js/wasm/Cargo.toml b/packages/transformers/js/wasm/Cargo.toml index 822b1b44b42..837c416c91e 100644 --- a/packages/transformers/js/wasm/Cargo.toml +++ b/packages/transformers/js/wasm/Cargo.toml @@ -13,3 +13,7 @@ parcel-js-swc-core = { path = "../core" } serde = "1" serde-wasm-bindgen = "0.3.0" wasm-bindgen = "0.2" + +# https://github.com/Amanieu/parking_lot/issues/269 +[target.'cfg(target_arch = "wasm32")'.dependencies] +parking_lot_core = "=0.8.0" diff --git a/packages/transformers/typescript-tsc/.babelrc b/packages/transformers/typescript-tsc/.babelrc deleted file mode 100644 index be26495ef30..00000000000 --- a/packages/transformers/typescript-tsc/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@parcel/babel-preset"] -} diff --git a/packages/utils/hash/browser.js b/packages/utils/hash/browser.js index 5012a2da1a4..7f75a142370 100644 --- a/packages/utils/hash/browser.js +++ b/packages/utils/hash/browser.js @@ -1,5 +1,5 @@ // @flow -const xxhash = require('xxhash-wasm'); +import xxhash from 'xxhash-wasm'; let h64, h64Raw; module.exports.init = (xxhash().then(xxh => { diff --git a/packages/utils/hash/package.json b/packages/utils/hash/package.json index 0180541720d..0f36288823d 100644 --- a/packages/utils/hash/package.json +++ b/packages/utils/hash/package.json @@ -33,7 +33,7 @@ }, "dependencies": { "detect-libc": "^1.0.3", - "xxhash-wasm": "^0.4.1" + "xxhash-wasm": "^0.4.2" }, "devDependencies": { "@napi-rs/cli": "1.0.4", diff --git a/packages/validators/eslint/.babelrc b/packages/validators/eslint/.babelrc deleted file mode 100644 index be26495ef30..00000000000 --- a/packages/validators/eslint/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@parcel/babel-preset"] -} diff --git a/packages/validators/typescript/.babelrc b/packages/validators/typescript/.babelrc deleted file mode 100644 index be26495ef30..00000000000 --- a/packages/validators/typescript/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@parcel/babel-preset"] -} diff --git a/yarn.lock b/yarn.lock index a3c044867d7..96e8cc101ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7189,6 +7189,11 @@ icss-utils@^4.0.0, icss-utils@^4.1.1: dependencies: postcss "^7.0.14" +idb@^5.0.8: + version "5.0.8" + resolved "https://registry.yarnpkg.com/idb/-/idb-5.0.8.tgz#5f2b72a69267960d222a5f104053625f203fdbb2" + integrity sha512-K9xInRkVbT3ZsYimD2KVj6B4E93IBvOjEQTryu99WuuN7G+7x3SzA79+yubbX0QRN9V64Gi+L+ulG5QYTVydOg== + ieee754@^1.1.4: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" @@ -9045,7 +9050,7 @@ msgpackr-extract@^1.0.14: nan "^2.14.2" node-gyp-build "^4.2.3" -msgpackr@^1.5.0: +msgpackr@^1.5.0, msgpackr@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.5.1.tgz#2a8e39d25458406034b8cb50dc7d6a7abd3dfff2" integrity sha512-I1CXFG8BYYSeIhtDlHpUVMsdDiyvP9JAh1d9QoBnkPx3ETPeH/1lR14hweM9GETs09wCWlaOyhtXxIc9boxAAA== @@ -14066,10 +14071,10 @@ xtend@^2.1.2: resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9" integrity sha1-7vax8ZjByN6vrYsXZaBNrUoBxak= -xxhash-wasm@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-0.4.1.tgz#4795fdf243d01f03a17ac37d2ed92d001f3a1b5e" - integrity sha512-sAaACjH5Th5O2Y1Pl6Mm03bHdie8htTm7ZG146by2ITXuxD1Ksx46ZEOYaDhtlCY3fHrmDfdvzTOGzO1R00COA== +xxhash-wasm@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz#752398c131a4dd407b5132ba62ad372029be6f79" + integrity sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA== y18n@^3.2.1: version "3.2.2" From 17404e9a9ee6323b973a681017937a4bc6966277 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 8 Dec 2021 17:04:28 -0500 Subject: [PATCH 0142/1076] Fix rust build (#7420) --- .github/workflows/nightly-release.yml | 6 ++++-- .github/workflows/tag-release.yml | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly-release.yml b/.github/workflows/nightly-release.yml index 7f2eeea9653..64dea6e35cd 100644 --- a/.github/workflows/nightly-release.yml +++ b/.github/workflows/nightly-release.yml @@ -177,13 +177,15 @@ jobs: - name: Install Rust uses: actions-rs/toolchain@v1 with: - toolchain: nightly + toolchain: stable profile: minimal override: true target: aarch64-apple-darwin - uses: bahmutov/npm-install@v1.1.0 - name: Build native packages - run: yarn build-native-release + run: | + sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; + yarn build-native-release env: RUST_TARGET: aarch64-apple-darwin JEMALLOC_SYS_WITH_LG_PAGE: 14 diff --git a/.github/workflows/tag-release.yml b/.github/workflows/tag-release.yml index b6a34074dc5..cd76bc7e2ac 100644 --- a/.github/workflows/tag-release.yml +++ b/.github/workflows/tag-release.yml @@ -176,13 +176,15 @@ jobs: - name: Install Rust uses: actions-rs/toolchain@v1 with: - toolchain: nightly + toolchain: stable profile: minimal override: true target: aarch64-apple-darwin - uses: bahmutov/npm-install@v1.1.0 - name: Build native packages - run: yarn build-native-release + run: | + sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; + yarn build-native-release env: RUST_TARGET: aarch64-apple-darwin JEMALLOC_SYS_WITH_LG_PAGE: 14 From b27515ec0eb557971dfe83ad3692fd208a9ee397 Mon Sep 17 00:00:00 2001 From: Shinobu Hayashi Date: Sat, 11 Dec 2021 18:57:55 +0900 Subject: [PATCH 0143/1076] Update: allow empty string toml config (#7418) --- packages/core/utils/src/config.js | 1 - packages/core/utils/test/config.test.js | 50 +++++++++++++++++++ .../core/utils/test/input/config/config.json | 3 ++ .../core/utils/test/input/config/empty.json | 0 .../core/utils/test/input/config/empty.toml | 0 5 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 packages/core/utils/test/config.test.js create mode 100644 packages/core/utils/test/input/config/config.json create mode 100644 packages/core/utils/test/input/config/empty.json create mode 100644 packages/core/utils/test/input/config/empty.toml diff --git a/packages/core/utils/src/config.js b/packages/core/utils/src/config.js index eb08ba0368c..33df8e8c8e4 100644 --- a/packages/core/utils/src/config.js +++ b/packages/core/utils/src/config.js @@ -82,7 +82,6 @@ export async function loadConfig( } let configContent = await fs.readFile(configFile, 'utf8'); - if (!configContent) return null; let config; if (parse === false) { diff --git a/packages/core/utils/test/config.test.js b/packages/core/utils/test/config.test.js new file mode 100644 index 00000000000..99051548a8c --- /dev/null +++ b/packages/core/utils/test/config.test.js @@ -0,0 +1,50 @@ +// @flow strict-local + +import assert from 'assert'; +import {loadConfig} from '../src/config'; +import {inputFS as fs} from '@parcel/test-utils'; +import path from 'path'; + +describe('loadConfig', () => { + it('load config with json', async () => { + assert.deepEqual( + ( + await loadConfig( + fs, + path.join(__dirname, './input/config/config.json'), + ['config.json'], + path.join(__dirname, './input/config/'), + ) + )?.config, + { + hoge: 'fuga', + }, + ); + }); + + it('should throw error with empty string json', async () => { + // $FlowFixMe[prop-missing] + await assert.rejects(async () => { + await loadConfig( + fs, + path.join(__dirname, './input/config/empty.json'), + ['empty.json'], + path.join(__dirname, './input/config/'), + ); + }); + }); + + it('should load with empty string config toml', async () => { + assert.deepEqual( + ( + await loadConfig( + fs, + path.join(__dirname, './input/config/empty.toml'), + ['empty.toml'], + path.join(__dirname, './input/config/'), + ) + )?.config, + {}, + ); + }); +}); diff --git a/packages/core/utils/test/input/config/config.json b/packages/core/utils/test/input/config/config.json new file mode 100644 index 00000000000..1eab92ec765 --- /dev/null +++ b/packages/core/utils/test/input/config/config.json @@ -0,0 +1,3 @@ +{ + "hoge": "fuga" +} \ No newline at end of file diff --git a/packages/core/utils/test/input/config/empty.json b/packages/core/utils/test/input/config/empty.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/utils/test/input/config/empty.toml b/packages/core/utils/test/input/config/empty.toml new file mode 100644 index 00000000000..e69de29bb2d From d9e47a1e1af48cc0a9628e8cc68b81a5e4e3f1e9 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Sun, 12 Dec 2021 02:08:27 +0100 Subject: [PATCH 0144/1076] Fix wrong `does not export` error because of missing symbols (#7432) --- .../es6/re-export-renamed2/a.js | 3 + .../es6/re-export-renamed2/b.js | 4 ++ .../es6/re-export-renamed2/c.js | 1 + .../integration-tests/test/scope-hoisting.js | 12 ++++ packages/transformers/js/core/src/hoist.rs | 58 ++++++++++++++++--- 5 files changed, 70 insertions(+), 8 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/b.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/c.js diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/a.js new file mode 100644 index 00000000000..1077b636aca --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/a.js @@ -0,0 +1,3 @@ +import { x } from './b.js'; + +output = x; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/b.js new file mode 100644 index 00000000000..f2cfbdb2bf0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/b.js @@ -0,0 +1,4 @@ +export { x as y } from './c.js' + +export const x = 'foobar'; + diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/c.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/c.js new file mode 100644 index 00000000000..0190dbd267f --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/re-export-renamed2/c.js @@ -0,0 +1 @@ +export const x = 'xyz'; diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index ec6ef80f641..b1632bfc83e 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -1039,6 +1039,18 @@ describe('scope hoisting', function () { assert.deepEqual(output, 'foobar'); }); + it('supports requiring a re-exported and renamed ES6 import (reversed order)', async function () { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/re-export-renamed2/a.js', + ), + ); + + let output = await run(b); + assert.deepEqual(output, 'foobar'); + }); + it('supports requiring a re-exported and renamed ES6 namespace import', async function () { let b = await bundle( path.join( diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index bd755f1a56b..3bec6b11c87 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -1406,10 +1406,12 @@ impl Visit for Collect { source, }, ); - self - .exports_locals - .entry(named.orig.sym.clone()) - .or_insert_with(|| exported.sym.clone()); + if node.src.is_none() { + self + .exports_locals + .entry(named.orig.sym.clone()) + .or_insert_with(|| exported.sym.clone()); + } } ExportSpecifier::Default(default) => { self.exports.insert( @@ -1420,10 +1422,12 @@ impl Visit for Collect { source, }, ); - self - .exports_locals - .entry(default.exported.sym.clone()) - .or_insert_with(|| js_word!("default")); + if node.src.is_none() { + self + .exports_locals + .entry(default.exported.sym.clone()) + .or_insert_with(|| js_word!("default")); + } } ExportSpecifier::Namespace(namespace) => { self.exports.insert( @@ -2267,6 +2271,16 @@ mod tests { }}; } + macro_rules! assert_eq_exported_symbols { + ($m: expr, $match: expr) => {{ + let mut map = HashMap::new(); + for sym in $m { + map.insert(sym.exported, sym.local); + } + assert_eq!(map, $match); + }}; + } + macro_rules! assert_eq_set { ($m: expr, $match: expr) => {{ let mut map = HashSet::new(); @@ -3383,6 +3397,34 @@ mod tests { import "abc:bar"; "#} ); + + let (_collect, code, hoist) = parse( + r#" + export { settings as siteSettings } from "./settings"; + export const settings = "hi"; + "#, + ); + + assert_eq!( + code, + indoc! {r#" + import "abc:./settings"; + const $abc$export$a5a6e0b888b2c992 = "hi"; + "#} + ); + + assert_eq_exported_symbols!( + hoist.exported_symbols, + map! { + w!("settings") => w!("$abc$export$a5a6e0b888b2c992") + } + ); + assert_eq_imported_symbols!( + hoist.re_exports, + map! { + w!("siteSettings") => (w!("./settings"), w!("settings")) + } + ); } #[test] From 8ee562aefc03a8ae4f3008109581f4170d7bda66 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 12 Dec 2021 12:54:03 -0500 Subject: [PATCH 0145/1076] Bump @parcel/css --- packages/optimizers/css/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 848f487831f..4d437dee09a 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -20,7 +20,7 @@ "parcel": "^2.0.1" }, "dependencies": { - "@parcel/css": "1.0.0-alpha.4", + "@parcel/css": "1.0.0-alpha.6", "@parcel/plugin": "^2.0.1", "@parcel/source-map": "^2.0.0", "@parcel/utils": "^2.0.1", From e3c89acd6c245a71e98e72e71c87f9cc7b6e621a Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Mon, 13 Dec 2021 10:48:04 -0500 Subject: [PATCH 0146/1076] Fix CSS optimizer with inline style attributes (#7438) --- packages/optimizers/css/package.json | 2 +- packages/optimizers/css/src/CSSOptimizer.js | 17 ++++++++++++++++- yarn.lock | 8 ++++---- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 4d437dee09a..3b1ab4395f9 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -20,7 +20,7 @@ "parcel": "^2.0.1" }, "dependencies": { - "@parcel/css": "1.0.0-alpha.6", + "@parcel/css": "1.0.0-alpha.7", "@parcel/plugin": "^2.0.1", "@parcel/source-map": "^2.0.0", "@parcel/utils": "^2.0.1", diff --git a/packages/optimizers/css/src/CSSOptimizer.js b/packages/optimizers/css/src/CSSOptimizer.js index f49b332f897..0116fb3f677 100644 --- a/packages/optimizers/css/src/CSSOptimizer.js +++ b/packages/optimizers/css/src/CSSOptimizer.js @@ -3,7 +3,7 @@ import SourceMap from '@parcel/source-map'; import {Optimizer} from '@parcel/plugin'; // $FlowFixMe -import {transform} from '@parcel/css'; +import {transform, transformStyleAttribute} from '@parcel/css'; import {blobToBuffer} from '@parcel/utils'; import browserslist from 'browserslist'; @@ -21,6 +21,21 @@ export default (new Optimizer({ let targets = getTargets(bundle.env.engines.browsers); let code = await blobToBuffer(prevContents); + + // Inline style attributes in HTML need to be parsed differently from full CSS files. + if (bundle.bundleBehavior === 'inline') { + let entry = bundle.getMainEntry(); + if (entry?.meta.type === 'attr') { + let contents = transformStyleAttribute({ + code, + minify: true, + targets, + }); + + return {contents}; + } + } + let result = transform({ filename: bundle.name, code, diff --git a/yarn.lock b/yarn.lock index 96e8cc101ce..93d89d24a1c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2133,10 +2133,10 @@ dependencies: "@octokit/openapi-types" "^6.2.0" -"@parcel/css@1.0.0-alpha.4": - version "1.0.0-alpha.4" - resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.0.0-alpha.4.tgz#967520401053f8eb0d5f23ed58b4afbcebc6c9de" - integrity sha512-/wd7WWesAekEexrL7slIkb1gNXX/XYF8bMZUEcEKjDdkfne5SyINLTGbV3WzvsEjzRwgBL5kBET5nX59GJ3JVg== +"@parcel/css@1.0.0-alpha.7": + version "1.0.0-alpha.7" + resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.0.0-alpha.7.tgz#5d8a540fbbce0d63fb959c383313b249e70fb18c" + integrity sha512-uVf1rljfTigmpYI+09U6f4/3Ds3qCvf+NVW4N6PQ2xZuYUkcEjcHqxhSzSgTvOSSwJc+CRcKcho3cQGZ5Z8nbA== dependencies: detect-libc "^1.0.3" From a9f310d0fcefffb5516c7798c40869092648638a Mon Sep 17 00:00:00 2001 From: Andrew Stegmaier Date: Mon, 13 Dec 2021 14:55:09 -0500 Subject: [PATCH 0147/1076] Fix createImportSpecifier with typescript 4.5+ (#7426) --- .../typescript-types/src/shake.js | 5 +++-- .../typescript-types/src/utils.js | 20 +++++++++++++++++++ yarn.lock | 6 +++--- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/packages/transformers/typescript-types/src/shake.js b/packages/transformers/typescript-types/src/shake.js index 4bab766885f..6e54366ffb2 100644 --- a/packages/transformers/typescript-types/src/shake.js +++ b/packages/transformers/typescript-types/src/shake.js @@ -4,7 +4,7 @@ import type {TSModuleGraph} from './TSModuleGraph'; import ts from 'typescript'; import nullthrows from 'nullthrows'; -import {getExportedName, isDeclaration} from './utils'; +import {getExportedName, isDeclaration, createImportSpecifier} from './utils'; export function shake( moduleGraph: TSModuleGraph, @@ -238,7 +238,8 @@ function generateImports(moduleGraph: TSModuleGraph) { ); } else { namedSpecifiers.push( - ts.createImportSpecifier( + createImportSpecifier( + ts, name === imported ? undefined : ts.createIdentifier(imported), ts.createIdentifier(name), ), diff --git a/packages/transformers/typescript-types/src/utils.js b/packages/transformers/typescript-types/src/utils.js index 7178997f3a2..326f9f9dabb 100644 --- a/packages/transformers/typescript-types/src/utils.js +++ b/packages/transformers/typescript-types/src/utils.js @@ -1,5 +1,6 @@ // @flow import typeof TypeScriptModule from 'typescript'; // eslint-disable-line import/no-extraneous-dependencies +import type {Identifier, ImportSpecifier} from 'typescript'; export function getExportedName(ts: TypeScriptModule, node: any): ?string { if (!node.modifiers) { @@ -26,3 +27,22 @@ export function isDeclaration(ts: TypeScriptModule, node: any): boolean { ts.isTypeAliasDeclaration(node) ); } + +export function createImportSpecifier( + ts: TypeScriptModule, + propertyName: Identifier | void, + name: Identifier, + isTypeOnly: boolean = false, +): ImportSpecifier { + const [majorVersion, minorVersion] = ts.versionMajorMinor + .split('.') + .map(num => parseInt(num, 10)); + // The signature of createImportSpecifier had a breaking change in Typescript 4.5. + // see: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-5.html#type-modifiers-on-import-names + if (majorVersion > 4 || (majorVersion === 4 && minorVersion >= 5)) { + // $FlowFixMe + return ts.createImportSpecifier(isTypeOnly, propertyName, name); + } else { + return ts.createImportSpecifier(propertyName, name); + } +} diff --git a/yarn.lock b/yarn.lock index 93d89d24a1c..40acf9d1304 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13024,9 +13024,9 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= typescript@>=3.0.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" - integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== + version "4.5.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.3.tgz#afaa858e68c7103317d89eb90c5d8906268d353c" + integrity sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ== uglify-js@^3.1.4: version "3.7.6" From 68ceb5581497cb336e82002fafcec53fb6cfc084 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Mon, 13 Dec 2021 19:42:50 -0500 Subject: [PATCH 0148/1076] Make getReferencedBundle faster (#7416) --- packages/core/core/src/BundleGraph.js | 19 ++++++--------- packages/core/integration-tests/test/cache.js | 23 ++++++++++++++----- .../{index.html => a.html} | 1 - .../cache-add-dep-referenced/b.html | 2 ++ .../integration/cache-add-dep-referenced/c.js | 1 + .../cache-add-dep-referenced/package.json | 5 ++++ .../cache-add-dep-referenced/yarn.lock | 0 7 files changed, 32 insertions(+), 19 deletions(-) rename packages/core/integration-tests/test/integration/cache-add-dep-referenced/{index.html => a.html} (57%) create mode 100644 packages/core/integration-tests/test/integration/cache-add-dep-referenced/b.html create mode 100644 packages/core/integration-tests/test/integration/cache-add-dep-referenced/c.js create mode 100644 packages/core/integration-tests/test/integration/cache-add-dep-referenced/package.json create mode 100644 packages/core/integration-tests/test/integration/cache-add-dep-referenced/yarn.lock diff --git a/packages/core/core/src/BundleGraph.js b/packages/core/core/src/BundleGraph.js index f17ef135267..94dddb16617 100644 --- a/packages/core/core/src/BundleGraph.js +++ b/packages/core/core/src/BundleGraph.js @@ -417,6 +417,7 @@ export default class BundleGraph { }; } + // eslint-disable-next-line no-unused-vars getReferencedBundle(dependency: Dependency, fromBundle: Bundle): ?Bundle { let dependencyNodeId = this._graph.getNodeIdByContentKey(dependency.id); @@ -436,24 +437,18 @@ export default class BundleGraph { }); } - // Otherwise, it may be a reference to another asset in the same bundle group. - // Resolve the dependency to an asset, and look for it in one of the referenced bundles. - let referencedBundles = this.getReferencedBundles(fromBundle, { - includeInline: true, - }); - let referenced = this._graph + // Otherwise, find an attached bundle via a reference edge (e.g. from createAssetReference). + let bundleNode = this._graph .getNodeIdsConnectedFrom( dependencyNodeId, bundleGraphEdgeTypes.references, ) .map(id => nullthrows(this._graph.getNode(id))) - .find(node => node.type === 'asset'); + .find(node => node.type === 'bundle'); - if (referenced != null) { - invariant(referenced.type === 'asset'); - return referencedBundles.find(b => - this.bundleHasAsset(b, referenced.value), - ); + if (bundleNode) { + invariant(bundleNode.type === 'bundle'); + return bundleNode.value; } } diff --git a/packages/core/integration-tests/test/cache.js b/packages/core/integration-tests/test/cache.js index 817f6c1f5ba..de60bceb491 100644 --- a/packages/core/integration-tests/test/cache.js +++ b/packages/core/integration-tests/test/cache.js @@ -2,11 +2,13 @@ import type {InitialParcelOptions, BuildSuccessEvent} from '@parcel/types'; import assert from 'assert'; import invariant from 'assert'; +import nullthrows from 'nullthrows'; import path from 'path'; import { assertBundles, bundler, run, + runBundle as runSingleBundle, overlayFS, outputFS, inputFS, @@ -149,9 +151,9 @@ describe('cache', function () { }); it('should support adding a dependency which changes the referenced bundles of a parent bundle', async function () { - async function exec(bundleGraph) { + async function exec(bundleGraph, bundle) { let calls = []; - await run(bundleGraph, { + await runSingleBundle(bundleGraph, nullthrows(bundle), { call(v) { calls.push(v); }, @@ -161,19 +163,28 @@ describe('cache', function () { let b = await testCache( { - entries: ['index.html'], + entries: ['a.html', 'b.html'], + mode: 'production', update: async b => { - assert.deepEqual(await exec(b.bundleGraph), ['a', 'b']); + let html = b.bundleGraph.getBundles().filter(b => b.type === 'html'); + assert.deepEqual(await exec(b.bundleGraph, html[0]), ['a']); + assert.deepEqual(await exec(b.bundleGraph, html[1]), ['b']); await overlayFS.writeFile( path.join(inputDir, 'a.js'), - 'import "./b.js"; call("a");', + 'import "./c.js"; call("a");', + ); + await overlayFS.writeFile( + path.join(inputDir, 'b.js'), + 'import "./c.js"; call("b");', ); }, }, 'cache-add-dep-referenced', ); - assert.deepEqual(await exec(b.bundleGraph), ['b', 'a']); + let html = b.bundleGraph.getBundles().filter(b => b.type === 'html'); + assert.deepEqual(await exec(b.bundleGraph, html[0]), ['c', 'a']); + assert.deepEqual(await exec(b.bundleGraph, html[1]), ['c', 'b']); }); it('should error when deleting a file', async function () { diff --git a/packages/core/integration-tests/test/integration/cache-add-dep-referenced/index.html b/packages/core/integration-tests/test/integration/cache-add-dep-referenced/a.html similarity index 57% rename from packages/core/integration-tests/test/integration/cache-add-dep-referenced/index.html rename to packages/core/integration-tests/test/integration/cache-add-dep-referenced/a.html index 1efba3d84ad..c85cb84ecfa 100644 --- a/packages/core/integration-tests/test/integration/cache-add-dep-referenced/index.html +++ b/packages/core/integration-tests/test/integration/cache-add-dep-referenced/a.html @@ -1,3 +1,2 @@ - diff --git a/packages/core/integration-tests/test/integration/cache-add-dep-referenced/b.html b/packages/core/integration-tests/test/integration/cache-add-dep-referenced/b.html new file mode 100644 index 00000000000..c1fa1bf97bc --- /dev/null +++ b/packages/core/integration-tests/test/integration/cache-add-dep-referenced/b.html @@ -0,0 +1,2 @@ + + diff --git a/packages/core/integration-tests/test/integration/cache-add-dep-referenced/c.js b/packages/core/integration-tests/test/integration/cache-add-dep-referenced/c.js new file mode 100644 index 00000000000..2c935611eab --- /dev/null +++ b/packages/core/integration-tests/test/integration/cache-add-dep-referenced/c.js @@ -0,0 +1 @@ +call("c"); diff --git a/packages/core/integration-tests/test/integration/cache-add-dep-referenced/package.json b/packages/core/integration-tests/test/integration/cache-add-dep-referenced/package.json new file mode 100644 index 00000000000..c5f216e03fd --- /dev/null +++ b/packages/core/integration-tests/test/integration/cache-add-dep-referenced/package.json @@ -0,0 +1,5 @@ +{ + "@parcel/bundler-default": { + "minBundleSize": 0 + } +} diff --git a/packages/core/integration-tests/test/integration/cache-add-dep-referenced/yarn.lock b/packages/core/integration-tests/test/integration/cache-add-dep-referenced/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d From 84847ed76aca867ce6f5d11f3d783672dc8088fe Mon Sep 17 00:00:00 2001 From: Gora Kong <15333808+gorakong@users.noreply.github.com> Date: Wed, 15 Dec 2021 18:13:18 -0800 Subject: [PATCH 0149/1076] Bundler Rewrite: Experimental Bundler (#6975) --- packages/bundlers/experimental/package.json | 30 + .../experimental/src/ExperimentalBundler.js | 1005 +++++++++++++++++ packages/core/core/src/BundleGraph.js | 94 +- packages/core/core/src/dumpGraphToGraphViz.js | 145 ++- packages/core/core/src/public/BundleGraph.js | 2 + packages/core/core/src/public/Environment.js | 7 + .../core/src/public/MutableBundleGraph.js | 7 + packages/core/core/src/public/Target.js | 7 + packages/core/graph/src/ContentGraph.js | 6 + packages/core/graph/src/Graph.js | 10 + packages/core/graph/test/Graph.test.js | 10 +- .../core/integration-tests/test/sourcemaps.js | 4 +- .../src/.parcelrc-experimental-bundler | 5 + packages/core/test-utils/src/utils.js | 7 +- packages/core/types/index.js | 6 +- packages/core/utils/src/collection.js | 12 + packages/core/utils/src/index.js | 2 + .../core/utils/src/replaceBundleReferences.js | 2 +- .../packagers/js/src/ScopeHoistingPackager.js | 35 +- 19 files changed, 1328 insertions(+), 68 deletions(-) create mode 100644 packages/bundlers/experimental/package.json create mode 100644 packages/bundlers/experimental/src/ExperimentalBundler.js create mode 100644 packages/core/test-utils/src/.parcelrc-experimental-bundler diff --git a/packages/bundlers/experimental/package.json b/packages/bundlers/experimental/package.json new file mode 100644 index 00000000000..c486af4d24c --- /dev/null +++ b/packages/bundlers/experimental/package.json @@ -0,0 +1,30 @@ +{ + "name": "@parcel/bundler-experimental", + "version": "2.0.0-rc.0", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "main": "lib/ExperimentalBundler.js", + "source": "src/ExperimentalBundler.js", + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.0.1" + }, + "dependencies": { + "@parcel/diagnostic": "^2.0.1", + "@parcel/graph": "^2.0.1", + "@parcel/hash": "^2.0.1", + "@parcel/plugin": "^2.0.1", + "@parcel/utils": "^2.0.1", + "nullthrows": "^1.1.1" + } +} diff --git a/packages/bundlers/experimental/src/ExperimentalBundler.js b/packages/bundlers/experimental/src/ExperimentalBundler.js new file mode 100644 index 00000000000..99719dba6c6 --- /dev/null +++ b/packages/bundlers/experimental/src/ExperimentalBundler.js @@ -0,0 +1,1005 @@ +// @flow strict-local + +import type { + Asset, + Bundle as LegacyBundle, + BundleBehavior, + BundleGroup, + Dependency, + Environment, + Config, + MutableBundleGraph, + PluginOptions, + Target, +} from '@parcel/types'; +import type {NodeId} from '@parcel/graph'; +import type {SchemaEntity} from '@parcel/utils'; +import {ContentGraph, Graph} from '@parcel/graph'; + +import invariant from 'assert'; +import {ALL_EDGE_TYPES} from '@parcel/graph'; +import {Bundler} from '@parcel/plugin'; +import {validateSchema, DefaultMap} from '@parcel/utils'; +import nullthrows from 'nullthrows'; +import {encodeJSONKeyComponent} from '@parcel/diagnostic'; + +type BundlerConfig = {| + http?: number, + minBundles?: number, + minBundleSize?: number, + maxParallelRequests?: number, +|}; + +type ResolvedBundlerConfig = {| + minBundles: number, + minBundleSize: number, + maxParallelRequests: number, +|}; + +// Default options by http version. +const HTTP_OPTIONS = { + '1': { + minBundles: 1, + minBundleSize: 30000, + maxParallelRequests: 6, + }, + '2': { + minBundles: 1, + minBundleSize: 20000, + maxParallelRequests: 25, + }, +}; + +type AssetId = string; +type BundleRoot = Asset; +export type Bundle = {| + assets: Set, + internalizedAssetIds: Array, + bundleBehavior?: ?BundleBehavior, + needsStableName: boolean, + size: number, + sourceBundles: Array, + target: Target, + env: Environment, + type: string, +|}; + +const dependencyPriorityEdges = { + sync: 1, + parallel: 2, + lazy: 3, +}; + +type DependencyBundleGraph = ContentGraph< + | {| + value: Bundle, + type: 'bundle', + |} + | {| + value: Dependency, + type: 'dependency', + |}, + number, +>; +type IdealGraph = {| + dependencyBundleGraph: DependencyBundleGraph, + bundleGraph: Graph, + bundleGroupBundleIds: Array, + assetReference: DefaultMap>, + sharedToSourceBundleIds: Map>, +|}; + +export default (new Bundler({ + loadConfig({config, options}) { + return loadBundlerConfig(config, options); + }, + + bundle({bundleGraph, config}) { + decorateLegacyGraph(createIdealGraph(bundleGraph, config), bundleGraph); + }, + optimize() {}, +}): Bundler); + +function decorateLegacyGraph( + idealGraph: IdealGraph, + bundleGraph: MutableBundleGraph, +): void { + let idealBundleToLegacyBundle: Map = new Map(); + + let { + bundleGraph: idealBundleGraph, + dependencyBundleGraph, + bundleGroupBundleIds, + sharedToSourceBundleIds, + } = idealGraph; + let entryBundleToBundleGroup: Map = new Map(); + + // Step 1: Create bundle groups, bundles, and shared bundles and add assets to them + for (let [bundleNodeId, idealBundle] of idealBundleGraph.nodes) { + if (idealBundle === 'root') continue; + let [entryAsset] = [...idealBundle.assets]; + let bundleGroup; + let bundle; + + if (bundleGroupBundleIds.includes(bundleNodeId)) { + let dependencies = dependencyBundleGraph + .getNodeIdsConnectedTo( + dependencyBundleGraph.getNodeIdByContentKey(String(bundleNodeId)), + // $FlowFixMe[incompatible-call] + ALL_EDGE_TYPES, + ) + .map(nodeId => { + let dependency = nullthrows(dependencyBundleGraph.getNode(nodeId)); + invariant(dependency.type === 'dependency'); + return dependency.value; + }); + for (let dependency of dependencies) { + bundleGroup = bundleGraph.createBundleGroup( + dependency, + idealBundle.target, + ); + } + invariant(bundleGroup); + entryBundleToBundleGroup.set(bundleNodeId, bundleGroup); + + bundle = nullthrows( + bundleGraph.createBundle({ + entryAsset, + needsStableName: idealBundle.needsStableName, + bundleBehavior: idealBundle.bundleBehavior, + target: idealBundle.target, + }), + ); + + bundleGraph.addBundleToBundleGroup(bundle, bundleGroup); + } else if (idealBundle.sourceBundles.length > 0) { + bundle = nullthrows( + bundleGraph.createBundle({ + uniqueKey: + [...idealBundle.assets].map(asset => asset.id).join(',') + + idealBundle.sourceBundles.join(','), + needsStableName: idealBundle.needsStableName, + bundleBehavior: idealBundle.bundleBehavior, + type: idealBundle.type, + target: idealBundle.target, + env: idealBundle.env, + }), + ); + } else { + bundle = nullthrows( + bundleGraph.createBundle({ + entryAsset, + needsStableName: idealBundle.needsStableName, + bundleBehavior: idealBundle.bundleBehavior, + target: idealBundle.target, + }), + ); + } + + idealBundleToLegacyBundle.set(idealBundle, bundle); + + for (let asset of idealBundle.assets) { + bundleGraph.addAssetToBundle(asset, bundle); + } + } + // Step 2: Internalize dependencies for bundles + for (let [, idealBundle] of idealBundleGraph.nodes) { + if (idealBundle === 'root') continue; + let bundle = nullthrows(idealBundleToLegacyBundle.get(idealBundle)); + for (let internalized of idealBundle.internalizedAssetIds) { + let incomingDeps = bundleGraph.getIncomingDependencies( + bundleGraph.getAssetById(internalized), + ); + for (let incomingDep of incomingDeps) { + if ( + incomingDep.priority === 'lazy' && + bundle.hasDependency(incomingDep) + ) { + bundleGraph.internalizeAsyncDependency(bundle, incomingDep); + } + } + } + } + // Step 3: Add bundles to their bundle groups + for (let [bundleId, bundleGroup] of entryBundleToBundleGroup) { + let outboundNodeIds = idealBundleGraph.getNodeIdsConnectedFrom(bundleId); + for (let id of outboundNodeIds) { + let siblingBundle = nullthrows(idealBundleGraph.getNode(id)); + invariant(siblingBundle !== 'root'); + let legacySiblingBundle = nullthrows( + idealBundleToLegacyBundle.get(siblingBundle), + ); + bundleGraph.addBundleToBundleGroup(legacySiblingBundle, bundleGroup); + } + } + + // Step 4: Add references to all bundles + for (let [asset, references] of idealGraph.assetReference) { + for (let [dependency, bundle] of references) { + let legacyBundle = nullthrows(idealBundleToLegacyBundle.get(bundle)); + bundleGraph.createAssetReference(dependency, asset, legacyBundle); + } + } + + for (let [sharedBundleId, sourceBundleIds] of sharedToSourceBundleIds) { + let sharedBundle = nullthrows(idealBundleGraph.getNode(sharedBundleId)); + if (sharedBundle === 'root') continue; + let legacySharedBundle = nullthrows( + idealBundleToLegacyBundle.get(sharedBundle), + ); + for (let sourceBundleId of sourceBundleIds) { + let sourceBundle = nullthrows(idealBundleGraph.getNode(sourceBundleId)); + if (sourceBundle === 'root') continue; + let legacySourceBundle = nullthrows( + idealBundleToLegacyBundle.get(sourceBundle), + ); + bundleGraph.createBundleReference(legacySourceBundle, legacySharedBundle); + } + } +} + +function createIdealGraph( + assetGraph: MutableBundleGraph, + config: ResolvedBundlerConfig, +): IdealGraph { + // Asset to the bundle and group it's an entry of + let bundleRoots: Map = new Map(); + let bundles: Map = new Map(); + let dependencyBundleGraph: DependencyBundleGraph = new ContentGraph(); + let assetReference: DefaultMap< + Asset, + Array<[Dependency, Bundle]>, + > = new DefaultMap(() => []); + + // bundleRoot to all bundleRoot descendants + let reachableBundles: DefaultMap< + BundleRoot, + Set, + > = new DefaultMap(() => new Set()); + + let bundleGraph: Graph = new Graph(); + let stack: Array<[BundleRoot, NodeId]> = []; + + // bundleGraph that models bundleRoots and async deps only + let asyncBundleRootGraph: ContentGraph = + new ContentGraph(); + let bundleGroupBundleIds: Array = []; + + // Step 1: Find and create bundles for entries from assetGraph + let entries: Map = new Map(); + let sharedToSourceBundleIds: Map> = new Map(); + + assetGraph.traverse((node, context, actions) => { + if (node.type !== 'asset') { + return node; + } + + invariant( + context != null && context.type === 'dependency' && context.value.isEntry, + ); + entries.set(node.value, context.value); + actions.skipChildren(); + }); + + let rootNodeId = nullthrows(asyncBundleRootGraph.addNode('root')); + let bundleGraphRootNodeId = nullthrows(bundleGraph.addNode('root')); + asyncBundleRootGraph.setRootNodeId(rootNodeId); + bundleGraph.setRootNodeId(bundleGraphRootNodeId); + + for (let [asset, dependency] of entries) { + let bundle = createBundle({ + asset, + target: nullthrows(dependency.target), + needsStableName: dependency.isEntry, + }); + let nodeId = bundleGraph.addNode(bundle); + bundles.set(asset.id, nodeId); + bundleRoots.set(asset, [nodeId, nodeId]); + asyncBundleRootGraph.addEdge( + rootNodeId, + asyncBundleRootGraph.addNodeByContentKey(asset.id, asset), + ); + bundleGraph.addEdge(bundleGraphRootNodeId, nodeId); + + dependencyBundleGraph.addEdge( + dependencyBundleGraph.addNodeByContentKeyIfNeeded(dependency.id, { + value: dependency, + type: 'dependency', + }), + dependencyBundleGraph.addNodeByContentKeyIfNeeded(String(nodeId), { + value: bundle, + type: 'bundle', + }), + dependencyPriorityEdges[dependency.priority], + ); + bundleGroupBundleIds.push(nodeId); + } + + let assets = []; + + // Step 2: Traverse the asset graph and create bundles for asset type changes and async dependencies, + // only adding the entry asset of each bundle, not the subgraph. + assetGraph.traverse({ + enter(node, context) { + if (node.type === 'asset') { + assets.push(node.value); + + let bundleIdTuple = bundleRoots.get(node.value); + if (bundleIdTuple) { + // Push to the stack when a new bundle is created + stack.push([node.value, bundleIdTuple[1]]); + } + } else if (node.type === 'dependency') { + if (context == null) { + return node; + } + let dependency = node.value; + + invariant(context?.type === 'asset'); + let parentAsset = context.value; + + let assets = assetGraph.getDependencyAssets(dependency); + if (assets.length === 0) { + return node; + } + + for (let childAsset of assets) { + if ( + dependency.priority === 'lazy' || + childAsset.bundleBehavior === 'isolated' + ) { + let bundleId = bundles.get(childAsset.id); + let bundle; + if (bundleId == null) { + let firstBundleGroup = nullthrows( + bundleGraph.getNode(stack[0][1]), + ); + invariant(firstBundleGroup !== 'root'); + bundle = createBundle({ + asset: childAsset, + target: firstBundleGroup.target, + needsStableName: + dependency.bundleBehavior === 'inline' || + childAsset.bundleBehavior === 'inline' + ? false + : dependency.isEntry || dependency.needsStableName, + bundleBehavior: + dependency.bundleBehavior ?? childAsset.bundleBehavior, + }); + bundleId = bundleGraph.addNode(bundle); + bundles.set(childAsset.id, bundleId); + bundleRoots.set(childAsset, [bundleId, bundleId]); + bundleGroupBundleIds.push(bundleId); + bundleGraph.addEdge(bundleGraphRootNodeId, bundleId); + } else { + bundle = nullthrows(bundleGraph.getNode(bundleId)); + invariant(bundle !== 'root'); + } + + dependencyBundleGraph.addEdge( + dependencyBundleGraph.addNodeByContentKeyIfNeeded(dependency.id, { + value: dependency, + type: 'dependency', + }), + dependencyBundleGraph.addNodeByContentKeyIfNeeded( + String(bundleId), + { + value: bundle, + type: 'bundle', + }, + ), + dependencyPriorityEdges[dependency.priority], + ); + + // Walk up the stack until we hit a different asset type + // and mark each bundle as reachable from every parent bundle + for (let i = stack.length - 1; i >= 0; i--) { + let [stackAsset] = stack[i]; + if ( + stackAsset.type !== childAsset.type || + stackAsset.env.context !== childAsset.env.context || + stackAsset.env.isIsolated() + ) { + break; + } + reachableBundles.get(stackAsset).add(childAsset); + } + continue; + } + if ( + parentAsset.type !== childAsset.type || + dependency.priority === 'parallel' || + childAsset.bundleBehavior === 'inline' + ) { + let [parentBundleRoot, bundleGroupNodeId] = nullthrows( + stack[stack.length - 1], + ); + let bundleGroup = nullthrows( + bundleGraph.getNode(bundleGroupNodeId), + ); + invariant(bundleGroup !== 'root'); + + // Find an existing bundle of the same type within the bundle group. + let bundleId; + if ( + childAsset.bundleBehavior !== 'inline' && + dependency.priority !== 'parallel' + ) { + bundleId = + bundleGroup.type == childAsset.type + ? bundleGroupNodeId + : bundleGraph + .getNodeIdsConnectedFrom(bundleGroupNodeId) + .find(id => { + let node = bundleGraph.getNode(id); + return node !== 'root' && node?.type == childAsset.type; + }); + } + + let bundle; + if (bundleId == null) { + let parentBundleId = nullthrows(bundles.get(parentBundleRoot.id)); + let parentBundle = nullthrows( + bundleGraph.getNode(parentBundleId), + ); + invariant(parentBundle !== 'root'); + + // Create a new bundle if none of the same type exists already. + bundle = createBundle({ + asset: childAsset, + target: bundleGroup.target, + needsStableName: + childAsset.bundleBehavior === 'inline' || + dependency.bundleBehavior === 'inline' || + (dependency.priority === 'parallel' && + !dependency.needsStableName) + ? false + : parentBundle.needsStableName, + }); + bundleId = bundleGraph.addNode(bundle); + } else { + // Otherwise, merge this asset into the existing bundle. + bundle = bundleGraph.getNode(bundleId); + invariant(bundle != null && bundle !== 'root'); + bundle.assets.add(childAsset); + } + + bundles.set(childAsset.id, bundleId); + bundleRoots.set(childAsset, [bundleId, bundleGroupNodeId]); + bundleGraph.addEdge(bundleGraphRootNodeId, bundleId); + + if (bundleId != bundleGroupNodeId) { + dependencyBundleGraph.addEdge( + dependencyBundleGraph.addNodeByContentKeyIfNeeded( + dependency.id, + { + value: dependency, + type: 'dependency', + }, + ), + dependencyBundleGraph.addNodeByContentKeyIfNeeded( + String(bundleId), + { + value: bundle, + type: 'bundle', + }, + ), + dependencyPriorityEdges.parallel, + ); + + // Add an edge from the bundle group entry to the new bundle. + // This indicates that the bundle is loaded together with the entry + bundleGraph.addEdge(bundleGroupNodeId, bundleId); + } + + assetReference.get(childAsset).push([dependency, bundle]); + continue; + } + } + } + return node; + }, + exit(node) { + if (stack[stack.length - 1]?.[0] === node.value) { + stack.pop(); + } + }, + }); + + // Step 3: Determine reachability for every asset from each bundleRoot. + // This is later used to determine which bundles to place each asset in. + for (let [root] of bundleRoots) { + if (!entries.has(root)) { + asyncBundleRootGraph.addNodeByContentKey(root.id, root); + } + } + + // Models bundleRoots and the assets that require it synchronously + let reachableRoots: ContentGraph = new ContentGraph(); + for (let [root] of bundleRoots) { + let rootNodeId = reachableRoots.addNodeByContentKeyIfNeeded(root.id, root); + assetGraph.traverse((node, isAsync, actions) => { + if (node.value === root) { + return; + } + + if (node.type === 'dependency') { + let dependency = node.value; + + if (dependencyBundleGraph.hasContentKey(dependency.id)) { + if ( + dependency.priority === 'lazy' || + dependency.priority === 'parallel' + ) { + let assets = assetGraph.getDependencyAssets(dependency); + if (assets.length === 0) { + return node; + } + + invariant(assets.length === 1); + let bundleRoot = assets[0]; + let bundle = nullthrows( + bundleGraph.getNode(nullthrows(bundles.get(bundleRoot.id))), + ); + if ( + bundle !== 'root' && + bundle.bundleBehavior !== 'isolated' && + bundle.bundleBehavior !== 'inline' && + !bundle.env.isIsolated() + ) { + asyncBundleRootGraph.addEdge( + asyncBundleRootGraph.getNodeIdByContentKey(root.id), + asyncBundleRootGraph.getNodeIdByContentKey(bundleRoot.id), + ); + } + } + return; + } + return; + } + + if (bundleRoots.has(node.value)) { + actions.skipChildren(); + return; + } + + let nodeId = reachableRoots.addNodeByContentKeyIfNeeded( + node.value.id, + node.value, + ); + reachableRoots.addEdge(rootNodeId, nodeId); + }, root); + } + + // Maps a given bundleRoot to the assets reachable from it, + // and the bundleRoots reachable from each of these assets + let ancestorAssets: Map< + BundleRoot, + Map | null>, + > = new Map(); + + // Reference count of each asset available within a given bundleRoot's bundle group + let assetRefsInBundleGroup: DefaultMap< + BundleRoot, + DefaultMap, + > = new DefaultMap(() => new DefaultMap(() => 0)); + + // Step 4: Determine assets that should be duplicated by computing asset availability in each bundle group + for (let nodeId of asyncBundleRootGraph.topoSort()) { + const bundleRoot = asyncBundleRootGraph.getNode(nodeId); + if (bundleRoot === 'root') continue; + invariant(bundleRoot != null); + let ancestors = ancestorAssets.get(bundleRoot); + + // First consider bundle group asset availability, processing only + // non-isolated bundles within that bundle group + let bundleGroupId = nullthrows(bundleRoots.get(bundleRoot))[1]; + // Map of assets in the bundle group to their refcounts + let assetRefs = assetRefsInBundleGroup.get(bundleRoot); + + for (let bundleIdInGroup of [ + bundleGroupId, + ...bundleGraph.getNodeIdsConnectedFrom(bundleGroupId), + ]) { + let bundleInGroup = nullthrows(bundleGraph.getNode(bundleIdInGroup)); + invariant(bundleInGroup !== 'root'); + if ( + bundleInGroup.bundleBehavior === 'isolated' || + bundleInGroup.bundleBehavior === 'inline' + ) { + continue; + } + let [bundleRoot] = [...bundleInGroup.assets]; + // Assets directly connected to current bundleRoot + let assetsFromBundleRoot = reachableRoots + .getNodeIdsConnectedFrom( + reachableRoots.getNodeIdByContentKey(bundleRoot.id), + ) + .map(id => nullthrows(reachableRoots.getNode(id))); + + for (let asset of assetsFromBundleRoot) { + assetRefs.set(asset, assetRefs.get(asset) + 1); + } + } + + // Enumerate bundleRoots connected to the node (parent), taking the intersection + // between the assets synchronously loaded by the parent, and those loaded by the child. + let bundleGroupAssets = new Set(assetRefs.keys()); + + let combined = ancestors + ? new Map([...bundleGroupAssets, ...ancestors.keys()].map(a => [a, null])) + : new Map([...bundleGroupAssets].map(a => [a, null])); + + let children = asyncBundleRootGraph.getNodeIdsConnectedFrom(nodeId); + + for (let childId of children) { + let child = asyncBundleRootGraph.getNode(childId); + invariant(child !== 'root' && child != null); + const availableAssets = ancestorAssets.get(child); + + if (availableAssets != null) { + ancestryIntersect(availableAssets, combined); + } else { + ancestorAssets.set(child, combined); + } + } + + let siblingAncestors = ancestors + ? ancestryUnion(new Set(ancestors.keys()), assetRefs, bundleRoot) + : new Map([...bundleGroupAssets].map(a => [a, [bundleRoot]])); + + for (let bundleIdInGroup of bundleGraph.getNodeIdsConnectedFrom( + bundleGroupId, + )) { + let bundleInGroup = bundleGraph.getNode(bundleIdInGroup); + invariant( + bundleInGroup != null && + bundleInGroup !== 'root' && + bundleInGroup.assets != null, + ); + + let [bundleRoot] = [...bundleInGroup.assets]; + + const availableAssets = ancestorAssets.get(bundleRoot); + + if (availableAssets != null) { + ancestryIntersect(availableAssets, siblingAncestors); + } else { + ancestorAssets.set(bundleRoot, siblingAncestors); + } + } + } + + // Step 5: Place all assets into bundles or create shared bundles. Each asset + // is placed into a single bundle based on the bundle entries it is reachable from. + // This creates a maximally code split bundle graph with no duplication. + for (let asset of assets) { + // Unreliable bundleRoot assets which need to pulled in by shared bundles or other means + let reachable: Array = getReachableBundleRoots( + asset, + reachableRoots, + ).reverse(); + + // Filter out bundles from this asset's reachable array if + // bundle does not contain the asset in its ancestry + // or if any of the bundles in the ancestry have a refcount of <= 1 for that asset, + // meaning it may not be deduplicated. Otherwise, decrement all references in + // the ancestry and keep it + reachable = reachable.filter(b => { + let ancestry = ancestorAssets.get(b)?.get(asset); + if (ancestry === undefined) { + // No reachable bundles from this asset + return true; + } else if (ancestry === null) { + // Asset is reachable from this bundle + return false; + } else { + // If every bundle in its ancestry has more than 1 reference to the asset + if ( + ancestry.every( + bundleId => assetRefsInBundleGroup.get(bundleId).get(asset) > 1, + ) + ) { + for (let bundleRoot of ancestry) { + assetRefsInBundleGroup + .get(bundleRoot) + .set( + asset, + assetRefsInBundleGroup.get(bundleRoot).get(asset) - 1, + ); + } + return false; + } + return true; + } + }); + + let rootBundleTuple = bundleRoots.get(asset); + if (rootBundleTuple != null) { + let rootBundle = nullthrows(bundleGraph.getNode(rootBundleTuple[0])); + invariant(rootBundle !== 'root'); + + if (!rootBundle.env.isIsolated()) { + if (!bundles.has(asset.id)) { + bundles.set(asset.id, rootBundleTuple[0]); + } + + for (let reachableAsset of reachable) { + if (reachableAsset !== asset) { + bundleGraph.addEdge( + nullthrows(bundleRoots.get(reachableAsset))[1], + rootBundleTuple[0], + ); + } + } + + let willInternalizeRoots = asyncBundleRootGraph + .getNodeIdsConnectedTo( + asyncBundleRootGraph.getNodeIdByContentKey(asset.id), + ) + .map(id => nullthrows(asyncBundleRootGraph.getNode(id))) + .filter(bundleRoot => { + if (bundleRoot === 'root') { + return false; + } + + return ( + reachableRoots.hasEdge( + reachableRoots.getNodeIdByContentKey(bundleRoot.id), + reachableRoots.getNodeIdByContentKey(asset.id), + ) || ancestorAssets.get(bundleRoot)?.has(asset) + ); + }) + .map(bundleRoot => { + // For Flow + invariant(bundleRoot !== 'root'); + return bundleRoot; + }); + + for (let bundleRoot of willInternalizeRoots) { + if (bundleRoot !== asset) { + let bundle = nullthrows( + bundleGraph.getNode(nullthrows(bundles.get(bundleRoot.id))), + ); + invariant(bundle !== 'root'); + bundle.internalizedAssetIds.push(asset.id); + } + } + } + } else if (reachable.length > 0) { + let reachableEntries = reachable.filter( + a => entries.has(a) || !a.isBundleSplittable, + ); + reachable = reachable.filter( + a => !entries.has(a) && a.isBundleSplittable, + ); + + // Add assets to non-splittable bundles. + for (let entry of reachableEntries) { + let bundleId = nullthrows(bundles.get(entry.id)); + let bundle = nullthrows(bundleGraph.getNode(bundleId)); + invariant(bundle !== 'root'); + bundle.assets.add(asset); + bundle.size += asset.stats.size; + } + + // Create shared bundles for splittable bundles. + if (reachable.length > 0) { + let sourceBundles = reachable.map(a => nullthrows(bundles.get(a.id))); + let key = reachable.map(a => a.id).join(','); + let bundleId = bundles.get(key); + let bundle; + if (bundleId == null) { + let firstSourceBundle = nullthrows( + bundleGraph.getNode(sourceBundles[0]), + ); + invariant(firstSourceBundle !== 'root'); + bundle = createBundle({ + target: firstSourceBundle.target, + type: firstSourceBundle.type, + env: firstSourceBundle.env, + }); + bundle.sourceBundles = sourceBundles; + bundleId = bundleGraph.addNode(bundle); + bundles.set(key, bundleId); + } else { + bundle = nullthrows(bundleGraph.getNode(bundleId)); + invariant(bundle !== 'root'); + } + bundle.assets.add(asset); + bundle.size += asset.stats.size; + + for (let sourceBundleId of sourceBundles) { + if (bundleId !== sourceBundleId) { + bundleGraph.addEdge(sourceBundleId, bundleId); + } + } + sharedToSourceBundleIds.set(bundleId, sourceBundles); + + dependencyBundleGraph.addNodeByContentKeyIfNeeded(String(bundleId), { + value: bundle, + type: 'bundle', + }); + } + } + } + + // Step 7: Merge any sibling bundles required by entry bundles back into the entry bundle. + // Entry bundles must be predictable, so cannot have unpredictable siblings. + for (let [bundleNodeId, bundle] of bundleGraph.nodes) { + if (bundle === 'root') continue; + if (bundle.sourceBundles.length > 0 && bundle.size < config.minBundleSize) { + sharedToSourceBundleIds.delete(bundleNodeId); + removeBundle(bundleGraph, bundleNodeId); + } + } + + return { + bundleGraph, + dependencyBundleGraph, + bundleGroupBundleIds, + assetReference, + sharedToSourceBundleIds, + }; +} + +const CONFIG_SCHEMA: SchemaEntity = { + type: 'object', + properties: { + http: { + type: 'number', + enum: Object.keys(HTTP_OPTIONS).map(k => Number(k)), + }, + minBundles: { + type: 'number', + }, + minBundleSize: { + type: 'number', + }, + maxParallelRequests: { + type: 'number', + }, + }, + additionalProperties: false, +}; + +function createBundle( + opts: + | {| + target: Target, + env: Environment, + type: string, + needsStableName?: boolean, + bundleBehavior?: ?BundleBehavior, + |} + | {| + target: Target, + asset: Asset, + env?: Environment, + type?: string, + needsStableName?: boolean, + bundleBehavior?: ?BundleBehavior, + |}, +): Bundle { + if (opts.asset == null) { + return { + assets: new Set(), + internalizedAssetIds: [], + size: 0, + sourceBundles: [], + target: opts.target, + type: nullthrows(opts.type), + env: nullthrows(opts.env), + needsStableName: Boolean(opts.needsStableName), + bundleBehavior: opts.bundleBehavior, + }; + } + + let asset = nullthrows(opts.asset); + return { + assets: new Set([asset]), + internalizedAssetIds: [], + size: asset.stats.size, + sourceBundles: [], + target: opts.target, + type: opts.type ?? asset.type, + env: opts.env ?? asset.env, + needsStableName: Boolean(opts.needsStableName), + bundleBehavior: opts.bundleBehavior ?? asset.bundleBehavior, + }; +} + +function removeBundle(bundleGraph: Graph, bundleId: NodeId) { + let bundle = nullthrows(bundleGraph.getNode(bundleId)); + invariant(bundle !== 'root'); + + for (let asset of bundle.assets) { + for (let sourceBundleId of bundle.sourceBundles) { + let sourceBundle = nullthrows(bundleGraph.getNode(sourceBundleId)); + invariant(sourceBundle !== 'root'); + sourceBundle.assets.add(asset); + sourceBundle.size += asset.stats.size; + } + } + + bundleGraph.removeNode(bundleId); +} + +async function loadBundlerConfig( + config: Config, + options: PluginOptions, +): Promise { + let conf = await config.getConfig([], { + packageKey: '@parcel/bundler-default', + }); + if (!conf) { + return HTTP_OPTIONS['2']; + } + + invariant(conf?.contents != null); + + validateSchema.diagnostic( + CONFIG_SCHEMA, + { + data: conf?.contents, + source: await options.inputFS.readFile(conf.filePath, 'utf8'), + filePath: conf.filePath, + prependKey: `/${encodeJSONKeyComponent('@parcel/bundler-default')}`, + }, + '@parcel/bundler-default', + 'Invalid config for @parcel/bundler-default', + ); + + let http = conf.contents.http ?? 2; + let defaults = HTTP_OPTIONS[http]; + + return { + minBundles: conf.contents.minBundles ?? defaults.minBundles, + minBundleSize: conf.contents.minBundleSize ?? defaults.minBundleSize, + maxParallelRequests: + conf.contents.maxParallelRequests ?? defaults.maxParallelRequests, + }; +} + +function ancestryUnion( + ancestors: Set, + assetRefs: Map, + bundleRoot: BundleRoot, +): Map | null> { + let map = new Map(); + for (let a of ancestors) { + map.set(a, null); + } + for (let [asset, refCount] of assetRefs) { + if (!ancestors.has(asset) && refCount > 1) { + map.set(asset, [bundleRoot]); + } + } + return map; +} + +function ancestryIntersect( + currentMap: Map | null>, + map: Map | null>, +): void { + for (let [bundleRoot, currentAssets] of currentMap) { + if (map.has(bundleRoot)) { + let assets = map.get(bundleRoot); + if (assets) { + if (currentAssets) { + currentAssets.push(...assets); + } else { + currentMap.set(bundleRoot, [...assets]); + } + } + } else { + currentMap.delete(bundleRoot); + } + } +} + +function getReachableBundleRoots(asset, graph): Array { + return graph + .getNodeIdsConnectedTo(graph.getNodeIdByContentKey(asset.id)) + .map(nodeId => nullthrows(graph.getNode(nodeId))); +} diff --git a/packages/core/core/src/BundleGraph.js b/packages/core/core/src/BundleGraph.js index 94dddb16617..537ecc0f78a 100644 --- a/packages/core/core/src/BundleGraph.js +++ b/packages/core/core/src/BundleGraph.js @@ -245,6 +245,59 @@ export default class BundleGraph { }); } + addAssetToBundle(asset: Asset, bundle: Bundle) { + let bundleNodeId = this._graph.getNodeIdByContentKey(bundle.id); + this._graph.addEdge( + bundleNodeId, + this._graph.getNodeIdByContentKey(asset.id), + bundleGraphEdgeTypes.contains, + ); + this._graph.addEdge( + bundleNodeId, + this._graph.getNodeIdByContentKey(asset.id), + ); + + let dependencies = this.getDependencies(asset); + for (let dependency of dependencies) { + let dependencyNodeId = this._graph.getNodeIdByContentKey(dependency.id); + this._graph.addEdge( + bundleNodeId, + dependencyNodeId, + bundleGraphEdgeTypes.contains, + ); + + for (let [bundleGroupNodeId, bundleGroupNode] of this._graph + .getNodeIdsConnectedFrom(dependencyNodeId) + .map(id => [id, nullthrows(this._graph.getNode(id))]) + .filter(([, node]) => node.type === 'bundle_group')) { + invariant(bundleGroupNode.type === 'bundle_group'); + this._graph.addEdge( + bundleNodeId, + bundleGroupNodeId, + bundleGraphEdgeTypes.bundle, + ); + } + // If the dependency references a target bundle, add a reference edge from + // the source bundle to the dependency for easy traversal. + // TODO: Consider bundle being created from dependency + if ( + this._graph + .getNodeIdsConnectedFrom( + dependencyNodeId, + bundleGraphEdgeTypes.references, + ) + .map(id => nullthrows(this._graph.getNode(id))) + .some(node => node.type === 'bundle') + ) { + this._graph.addEdge( + bundleNodeId, + dependencyNodeId, + bundleGraphEdgeTypes.references, + ); + } + } + } + addAssetGraphToBundle( asset: Asset, bundle: Bundle, @@ -303,12 +356,24 @@ export default class BundleGraph { nodeId, bundleGraphEdgeTypes.references, ); + this.markDependencyReferenceable(node.value); + //all bundles that have this dependency need to have an edge from bundle to that dependency } } }, assetNodeId); this._bundleContentHashes.delete(bundle.id); } + markDependencyReferenceable(dependency: Dependency) { + for (let bundle of this.getBundlesWithDependency(dependency)) { + this._graph.addEdge( + this._graph.getNodeIdByContentKey(bundle.id), + this._graph.getNodeIdByContentKey(dependency.id), + bundleGraphEdgeTypes.references, + ); + } + } + addEntryToBundle( asset: Asset, bundle: Bundle, @@ -325,6 +390,30 @@ export default class BundleGraph { throw new Error('Expected an async dependency'); } + // It's possible for internalized async dependencies to not have + // reference edges and still have untyped edges. + // TODO: Maybe don't use internalized async edges at all? + let dependencyNodeId = this._graph.getNodeIdByContentKey(dependency.id); + let resolved = this.getResolvedAsset(dependency); + if (resolved) { + let resolvedNodeId = this._graph.getNodeIdByContentKey(resolved.id); + + if ( + !this._graph.hasEdge( + dependencyNodeId, + resolvedNodeId, + bundleGraphEdgeTypes.references, + ) + ) { + this._graph.addEdge( + dependencyNodeId, + resolvedNodeId, + bundleGraphEdgeTypes.references, + ); + this._graph.removeEdge(dependencyNodeId, resolvedNodeId); + } + } + this._graph.addEdge( this._graph.getNodeIdByContentKey(bundle.id), this._graph.getNodeIdByContentKey(dependency.id), @@ -513,6 +602,7 @@ export default class BundleGraph { nodeId, bundleGraphEdgeTypes.references, ); + this.markDependencyReferenceable(node.value); } if ( this._graph.hasEdge( @@ -674,6 +764,7 @@ export default class BundleGraph { bundleId, bundleGraphEdgeTypes.references, ); + this.markDependencyReferenceable(dependency); if (this._graph.hasEdge(dependencyId, assetId)) { this._graph.removeEdge(dependencyId, assetId); } @@ -1028,6 +1119,7 @@ export default class BundleGraph { traverse( visit: GraphVisitor, + start?: Asset, ): ?TContext { return this._graph.filteredTraverse( nodeId => { @@ -1037,7 +1129,7 @@ export default class BundleGraph { } }, visit, - undefined, // start with root + start ? this._graph.getNodeIdByContentKey(start.id) : undefined, // start with root ALL_EDGE_TYPES, ); } diff --git a/packages/core/core/src/dumpGraphToGraphViz.js b/packages/core/core/src/dumpGraphToGraphViz.js index 65ec13025cd..8eada354afb 100644 --- a/packages/core/core/src/dumpGraphToGraphViz.js +++ b/packages/core/core/src/dumpGraphToGraphViz.js @@ -1,11 +1,13 @@ // @flow +import type {Asset, BundleBehavior} from '@parcel/types'; import type {Graph} from '@parcel/graph'; import type {AssetGraphNode, BundleGraphNode, Environment} from './types'; import {bundleGraphEdgeTypes} from './BundleGraph'; import {requestGraphEdgeTypes} from './RequestTracker'; import path from 'path'; +import {fromNodeId} from '@parcel/graph'; import {fromProjectPathRelative} from './projectPath'; import {SpecifierType, Priority} from './types'; @@ -32,7 +34,14 @@ const TYPE_COLORS = { export default async function dumpGraphToGraphViz( // $FlowFixMe - graph: Graph | Graph, + graph: + | Graph + | Graph<{| + assets: Array, + sourceBundles: Array, + bundleBehavior?: ?BundleBehavior, + |}> + | Graph, name: string, edgeTypes?: typeof bundleGraphEdgeTypes | typeof requestGraphEdgeTypes, ): Promise { @@ -55,38 +64,73 @@ export default async function dumpGraphToGraphViz( n.set('color', COLORS[node.type || 'default']); n.set('shape', 'box'); n.set('style', 'filled'); - let label = `${node.type || 'No Type'}: [${node.id}]: `; - if (node.type === 'dependency') { - label += node.value.specifier; - let parts = []; - if (node.value.priority !== Priority.sync) - parts.push(node.value.priority); - if (node.value.isOptional) parts.push('optional'); - if (node.value.specifierType === SpecifierType.url) parts.push('url'); - if (node.hasDeferred) parts.push('deferred'); - if (node.excluded) parts.push('excluded'); - if (parts.length) label += ' (' + parts.join(', ') + ')'; - if (node.value.env) label += ` (${getEnvDescription(node.value.env)})`; - let depSymbols = node.value.symbols; - if (detailedSymbols) { - if (depSymbols) { - if (depSymbols.size) { + let label; + if (typeof node === 'string') { + label = node; + } else if (node.assets) { + label = `(${nodeId(id)}), (assetIds: ${[...node.assets] + .map(a => { + let arr = a.filePath.split('/'); + return arr[arr.length - 1]; + }) + .join(', ')}) (sourceBundles: ${node.sourceBundles.join(', ')}) (bb ${ + node.bundleBehavior ?? 'none' + })`; + } else if (node.type) { + label = `[${fromNodeId(id)}] ${node.type || 'No Type'}: [${node.id}]: `; + if (node.type === 'dependency') { + label += node.value.specifier; + let parts = []; + if (node.value.priority !== Priority.sync) + parts.push(node.value.priority); + if (node.value.isOptional) parts.push('optional'); + if (node.value.specifierType === SpecifierType.url) parts.push('url'); + if (node.hasDeferred) parts.push('deferred'); + if (node.excluded) parts.push('excluded'); + if (parts.length) label += ' (' + parts.join(', ') + ')'; + if (node.value.env) label += ` (${getEnvDescription(node.value.env)})`; + let depSymbols = node.value.symbols; + if (detailedSymbols) { + if (depSymbols) { + if (depSymbols.size) { + label += + '\\nsymbols: ' + + [...depSymbols].map(([e, {local}]) => [e, local]).join(';'); + } + let weakSymbols = [...depSymbols] + .filter(([, {isWeak}]) => isWeak) + .map(([s]) => s); + if (weakSymbols.length) { + label += '\\nweakSymbols: ' + weakSymbols.join(','); + } + if (node.usedSymbolsUp.size > 0) { + label += '\\nusedSymbolsUp: ' + [...node.usedSymbolsUp].join(','); + } + if (node.usedSymbolsDown.size > 0) { + label += + '\\nusedSymbolsDown: ' + [...node.usedSymbolsDown].join(','); + } + } else { + label += '\\nsymbols: cleared'; + } + } + } else if (node.type === 'asset') { + label += + path.basename(fromProjectPathRelative(node.value.filePath)) + + '#' + + node.value.type; + if (detailedSymbols) { + if (!node.value.symbols) { + label += '\\nsymbols: cleared'; + } else if (node.value.symbols.size) { label += '\\nsymbols: ' + - [...depSymbols].map(([e, {local}]) => [e, local]).join(';'); - } - let weakSymbols = [...depSymbols] - .filter(([, {isWeak}]) => isWeak) - .map(([s]) => s); - if (weakSymbols.length) { - label += '\\nweakSymbols: ' + weakSymbols.join(','); + [...node.value.symbols] + .map(([e, {local}]) => [e, local]) + .join(';'); } - if (node.usedSymbolsUp.size > 0) { - label += '\\nusedSymbolsUp: ' + [...node.usedSymbolsUp].join(','); - } - if (node.usedSymbolsDown.size > 0) { - label += - '\\nusedSymbolsDown: ' + [...node.usedSymbolsDown].join(','); + if (node.usedSymbols.size) { + label += '\\nusedSymbols: ' + [...node.usedSymbols].join(','); } } else { label += '\\nsymbols: cleared'; @@ -108,27 +152,28 @@ export default async function dumpGraphToGraphViz( if (node.usedSymbols.size) { label += '\\nusedSymbols: ' + [...node.usedSymbols].join(','); } + } else if (node.type === 'asset_group') { + if (node.deferred) label += '(deferred)'; + // $FlowFixMe + } else if (node.type === 'file') { + label += path.basename(node.value.filePath); + // $FlowFixMe + } else if (node.type === 'transformer_request') { + label += + path.basename(node.value.filePath) + + ` (${getEnvDescription(node.value.env)})`; + // $FlowFixMe + } else if (node.type === 'bundle') { + let parts = []; + if (node.value.needsStableName) parts.push('stable name'); + if (node.value.name) parts.push('[name ', node.value.name, ']'); + parts.push('bb-', node.value.bundleBehavior); + if (parts.length) label += ' (' + parts.join(', ') + ')'; + if (node.value.env) label += ` (${getEnvDescription(node.value.env)})`; + // $FlowFixMe + } else if (node.type === 'request') { + label = node.value.type + ':' + node.id; } - } else if (node.type === 'asset_group') { - if (node.deferred) label += '(deferred)'; - // $FlowFixMe - } else if (node.type === 'file') { - label += path.basename(node.value.filePath); - // $FlowFixMe - } else if (node.type === 'transformer_request') { - label += - path.basename(node.value.filePath) + - ` (${getEnvDescription(node.value.env)})`; - // $FlowFixMe - } else if (node.type === 'bundle') { - let parts = []; - if (node.value.needsStableName) parts.push('stable name'); - if (node.value.bundleBehavior) parts.push(node.value.bundleBehavior); - if (parts.length) label += ' (' + parts.join(', ') + ')'; - if (node.value.env) label += ` (${getEnvDescription(node.value.env)})`; - // $FlowFixMe - } else if (node.type === 'request') { - label = node.value.type + ':' + node.id; } n.set('label', label); } diff --git a/packages/core/core/src/public/BundleGraph.js b/packages/core/core/src/public/BundleGraph.js index 47372f53c08..b42a7b68fed 100644 --- a/packages/core/core/src/public/BundleGraph.js +++ b/packages/core/core/src/public/BundleGraph.js @@ -255,6 +255,7 @@ export default class BundleGraph traverse( visit: GraphVisitor, + start?: ?IAsset, ): ?TContext { return this.#graph.traverse( mapVisitor( @@ -267,6 +268,7 @@ export default class BundleGraph }, visit, ), + start ? assetToAssetValue(start) : undefined, ); } diff --git a/packages/core/core/src/public/Environment.js b/packages/core/core/src/public/Environment.js index 7d465079eb1..16e27070aea 100644 --- a/packages/core/core/src/public/Environment.js +++ b/packages/core/core/src/public/Environment.js @@ -17,6 +17,8 @@ import browserslist from 'browserslist'; import semver from 'semver'; import {fromInternalSourceLocation} from '../utils'; +const inspect = Symbol.for('nodejs.util.inspect.custom'); + export const BROWSER_ENVS: Set = new Set([ 'browser', 'web-worker', @@ -191,6 +193,11 @@ export default class Environment implements IEnvironment { ); } + // $FlowFixMe[unsupported-syntax] + [inspect](): string { + return `Env(${this.#environment.context})`; + } + isBrowser(): boolean { return BROWSER_ENVS.has(this.#environment.context); } diff --git a/packages/core/core/src/public/MutableBundleGraph.js b/packages/core/core/src/public/MutableBundleGraph.js index 65c174fb8c5..f732d9409ec 100644 --- a/packages/core/core/src/public/MutableBundleGraph.js +++ b/packages/core/core/src/public/MutableBundleGraph.js @@ -41,6 +41,13 @@ export default class MutableBundleGraph this.#options = options; } + addAssetToBundle(asset: IAsset, bundle: IBundle) { + this.#graph.addAssetToBundle( + assetToAssetValue(asset), + bundleToInternalBundle(bundle), + ); + } + addAssetGraphToBundle( asset: IAsset, bundle: IBundle, diff --git a/packages/core/core/src/public/Target.js b/packages/core/core/src/public/Target.js index 18ab4e7c5e7..396b054a0f6 100644 --- a/packages/core/core/src/public/Target.js +++ b/packages/core/core/src/public/Target.js @@ -12,6 +12,8 @@ import Environment from './Environment'; import {fromProjectPath} from '../projectPath'; import {fromInternalSourceLocation} from '../utils'; +const inspect = Symbol.for('nodejs.util.inspect.custom'); + const internalTargetToTarget: WeakMap = new WeakMap(); const _targetToInternalTarget: WeakMap = new WeakMap(); export function targetToInternalTarget(target: ITarget): TargetValue { @@ -61,4 +63,9 @@ export default class Target implements ITarget { this.#target.loc, ); } + + // $FlowFixMe[unsupported-syntax] + [inspect](): string { + return `Target(${this.name} - ${this.env[inspect]()})`; + } } diff --git a/packages/core/graph/src/ContentGraph.js b/packages/core/graph/src/ContentGraph.js index 3b8d386fbf7..f9b3ce33535 100644 --- a/packages/core/graph/src/ContentGraph.js +++ b/packages/core/graph/src/ContentGraph.js @@ -62,6 +62,12 @@ export default class ContentGraph extends Graph< return nodeId; } + addNodeByContentKeyIfNeeded(contentKey: ContentKey, node: TNode): NodeId { + return this.hasContentKey(contentKey) + ? this.getNodeIdByContentKey(contentKey) + : this.addNodeByContentKey(contentKey, node); + } + getNodeByContentKey(contentKey: ContentKey): ?TNode { let nodeId = this._contentKeyToNodeId.get(contentKey); if (nodeId != null) { diff --git a/packages/core/graph/src/Graph.js b/packages/core/graph/src/Graph.js index 77f15341165..58aec325b92 100644 --- a/packages/core/graph/src/Graph.js +++ b/packages/core/graph/src/Graph.js @@ -403,6 +403,16 @@ export default class Graph { return null; } + topoSort(): Array { + let sorted: Array = []; + this.traverse({ + exit: nodeId => { + sorted.push(nodeId); + }, + }); + return sorted.reverse(); + } + findAncestor(nodeId: NodeId, fn: (nodeId: NodeId) => boolean): ?NodeId { let res = null; this.traverseAncestors(nodeId, (nodeId, ctx, traversal) => { diff --git a/packages/core/graph/test/Graph.test.js b/packages/core/graph/test/Graph.test.js index fb0849966da..a25323b4ef1 100644 --- a/packages/core/graph/test/Graph.test.js +++ b/packages/core/graph/test/Graph.test.js @@ -83,11 +83,14 @@ describe('Graph', () => { it('isOrphanedNode should return true or false if the node is orphaned or not', () => { let graph = new Graph(); + let rootNode = graph.addNode('root'); + graph.setRootNodeId(rootNode); + let nodeA = graph.addNode('a'); let nodeB = graph.addNode('b'); let nodeC = graph.addNode('c'); - graph.addEdge(nodeA, nodeB); - graph.addEdge(nodeA, nodeC, 1); + graph.addEdge(rootNode, nodeB); + graph.addEdge(nodeB, nodeC, 1); assert(graph.isOrphanedNode(nodeA)); assert(!graph.isOrphanedNode(nodeB)); assert(!graph.isOrphanedNode(nodeC)); @@ -101,6 +104,7 @@ describe('Graph', () => { // c let graph = new Graph(); let nodeA = graph.addNode('a'); + graph.setRootNodeId(nodeA); let nodeB = graph.addNode('b'); let nodeC = graph.addNode('c'); let nodeD = graph.addNode('d'); @@ -140,6 +144,7 @@ describe('Graph', () => { let graph = new Graph(); let nodeA = graph.addNode('a'); + graph.setRootNodeId(nodeA); let nodeB = graph.addNode('b'); let nodeC = graph.addNode('c'); let nodeD = graph.addNode('d'); @@ -268,6 +273,7 @@ describe('Graph', () => { it("replaceNodeIdsConnectedTo should update a node's downstream nodes", () => { let graph = new Graph(); let nodeA = graph.addNode('a'); + graph.setRootNodeId(nodeA); let nodeB = graph.addNode('b'); let nodeC = graph.addNode('c'); graph.addEdge(nodeA, nodeB); diff --git a/packages/core/integration-tests/test/sourcemaps.js b/packages/core/integration-tests/test/sourcemaps.js index e35e4f7272e..61816b3bb75 100644 --- a/packages/core/integration-tests/test/sourcemaps.js +++ b/packages/core/integration-tests/test/sourcemaps.js @@ -1365,8 +1365,8 @@ describe('sourcemaps', function () { let sourceMap = new SourceMap('/'); sourceMap.addVLQMap(map); - let sourceContent = map.sourcesContent[0]; let sourcePath = 'index.js'; + let sourceContent = sourceMap.getSourceContent(sourcePath); checkSourceMapping({ map: sourceMap, @@ -1410,8 +1410,8 @@ describe('sourcemaps', function () { let sourceMap = new SourceMap('/'); sourceMap.addVLQMap(map); - let sourceContent = map.sourcesContent[0]; let sourcePath = 'index.tsx'; + let sourceContent = sourceMap.getSourceContent(sourcePath); checkSourceMapping({ map: sourceMap, diff --git a/packages/core/test-utils/src/.parcelrc-experimental-bundler b/packages/core/test-utils/src/.parcelrc-experimental-bundler new file mode 100644 index 00000000000..219efa52e96 --- /dev/null +++ b/packages/core/test-utils/src/.parcelrc-experimental-bundler @@ -0,0 +1,5 @@ +{ + "extends": "@parcel/config-default", + "bundler": "@parcel/bundler-experimental", + "reporters": [] +} diff --git a/packages/core/test-utils/src/utils.js b/packages/core/test-utils/src/utils.js index 47e1fcca383..e0d88d14adb 100644 --- a/packages/core/test-utils/src/utils.js +++ b/packages/core/test-utils/src/utils.js @@ -111,7 +111,12 @@ export function getParcelOptions( entries, shouldDisableCache: true, logLevel: 'none', - defaultConfig: path.join(__dirname, '.parcelrc-no-reporters'), + defaultConfig: path.join( + __dirname, + process.env.PARCEL_TEST_EXPERIMENTAL_BUNDLER == null + ? '.parcelrc-no-reporters' + : '.parcelrc-experimental-bundler', + ), inputFS, outputFS, workerFarm, diff --git a/packages/core/types/index.js b/packages/core/types/index.js index a30e6fca871..36e6af9fd42 100644 --- a/packages/core/types/index.js +++ b/packages/core/types/index.js @@ -1296,6 +1296,7 @@ export interface MutableBundleGraph extends BundleGraph { Bundle, shouldSkipDependency?: (Dependency) => boolean, ): void; + addAssetToBundle(Asset, Bundle): void; addEntryToBundle( Asset, Bundle, @@ -1329,7 +1330,10 @@ export interface BundleGraph { /** Returns a list of bundles in the bundle graph. By default, inline bundles are excluded. */ getBundles(opts?: {|includeInline: boolean|}): Array; /** Traverses the assets and dependencies in the bundle graph, in depth first order. */ - traverse(GraphVisitor): ?TContext; + traverse( + visit: GraphVisitor, + startAsset: ?Asset, + ): ?TContext; /** Traverses all bundles in the bundle graph, including inline bundles, in depth first order. */ traverseBundles( visit: GraphVisitor, diff --git a/packages/core/utils/src/collection.js b/packages/core/utils/src/collection.js index 077c1034980..8c62599f869 100644 --- a/packages/core/utils/src/collection.js +++ b/packages/core/utils/src/collection.js @@ -43,3 +43,15 @@ export function setDifference(a: Set, b: Set): Set { } return difference; } + +export function setIntersect(a: Set, b: Set): void { + for (let entry of a) { + if (!b.has(entry)) { + a.delete(entry); + } + } +} + +export function setUnion(a: Iterable, b: Iterable): Set { + return new Set([...a, ...b]); +} diff --git a/packages/core/utils/src/index.js b/packages/core/utils/src/index.js index 4b6b20f24d8..c5aa3849bfc 100644 --- a/packages/core/utils/src/index.js +++ b/packages/core/utils/src/index.js @@ -35,6 +35,8 @@ export { objectSortedEntries, objectSortedEntriesDeep, setDifference, + setIntersect, + setUnion, } from './collection'; export {resolveConfig, resolveConfigSync, loadConfig} from './config'; export {DefaultMap, DefaultWeakMap} from './DefaultMap'; diff --git a/packages/core/utils/src/replaceBundleReferences.js b/packages/core/utils/src/replaceBundleReferences.js index 573391fc10c..4e34e6ca99e 100644 --- a/packages/core/utils/src/replaceBundleReferences.js +++ b/packages/core/utils/src/replaceBundleReferences.js @@ -66,7 +66,7 @@ export function replaceURLReferences({ continue; } - if (!resolved || resolved.bundleBehavior === 'inline') { + if (resolved.bundleBehavior === 'inline') { // If a bundle is inline, it should be replaced with inline contents, // not a URL. continue; diff --git a/packages/packagers/js/src/ScopeHoistingPackager.js b/packages/packagers/js/src/ScopeHoistingPackager.js index 120b35efc08..87ed3952bd1 100644 --- a/packages/packagers/js/src/ScopeHoistingPackager.js +++ b/packages/packagers/js/src/ScopeHoistingPackager.js @@ -109,7 +109,7 @@ export class ScopeHoistingPackager { } async package(): Promise<{|contents: string, map: ?SourceMap|}> { - await this.loadAssets(); + let wrappedAssets = await this.loadAssets(); this.buildExportedSymbols(); // If building a library, the target is actually another bundler rather @@ -127,17 +127,10 @@ export class ScopeHoistingPackager { } } - // Add each asset that is directly connected to the bundle. Dependencies will be handled - // by replacing `import` statements in the code. let res = ''; let lineCount = 0; let sourceMap = null; - this.bundle.traverseAssets((asset, _, actions) => { - if (this.seenAssets.has(asset.id)) { - actions.skipChildren(); - return; - } - + let processAsset = asset => { let [content, map, lines] = this.visitAsset(asset); if (sourceMap && map) { sourceMap.addSourceMap(map, lineCount); @@ -147,6 +140,25 @@ export class ScopeHoistingPackager { res += content + '\n'; lineCount += lines + 1; + }; + + // Hoist wrapped asset to the top of the bundle to ensure that they are registered + // before they are used. + for (let asset of wrappedAssets) { + if (!this.seenAssets.has(asset.id)) { + processAsset(asset); + } + } + + // Add each asset that is directly connected to the bundle. Dependencies will be handled + // by replacing `import` statements in the code. + this.bundle.traverseAssets((asset, _, actions) => { + if (this.seenAssets.has(asset.id)) { + actions.skipChildren(); + return; + } + + processAsset(asset); actions.skipChildren(); }); @@ -226,8 +238,9 @@ export class ScopeHoistingPackager { }; } - async loadAssets() { + async loadAssets(): Promise> { let queue = new PromiseQueue({maxConcurrent: 32}); + let wrapped = []; this.bundle.traverseAssets((asset, shouldWrap) => { queue.add(async () => { let [code, map] = await Promise.all([ @@ -248,11 +261,13 @@ export class ScopeHoistingPackager { .some(dep => dep.meta.shouldWrap && dep.specifierType !== 'url') ) { this.wrappedAssets.add(asset.id); + wrapped.push(asset); return true; } }); this.assetOutputs = new Map(await queue.run()); + return wrapped; } buildExportedSymbols() { From 588bf4c0d6d9dac65a9bf89bf734d7684b523ca2 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 16 Dec 2021 13:33:25 -0500 Subject: [PATCH 0150/1076] Workaround segfault with old glibc versions (#7457) --- packages/transformers/js/package.json | 1 + packages/transformers/js/src/JSTransformer.js | 26 +++++++++++++++++++ packages/transformers/js/src/loadNative.js | 6 +++++ 3 files changed, 33 insertions(+) create mode 100644 packages/transformers/js/src/loadNative.js diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 98d85f46781..ef5b7a6d5b0 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -34,6 +34,7 @@ "@parcel/plugin": "^2.0.1", "@parcel/source-map": "^2.0.0", "@parcel/utils": "^2.0.1", + "@parcel/workers": "^2.0.1", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index 08a758971c0..a51365bd11c 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -12,6 +12,7 @@ import nullthrows from 'nullthrows'; import ThrowableDiagnostic, {encodeJSONKeyComponent} from '@parcel/diagnostic'; import {validateSchema, remapSourceLocation} from '@parcel/utils'; import {isMatch} from 'micromatch'; +import WorkerFarm from '@parcel/workers'; const JSX_EXTENSIONS = { jsx: true, @@ -278,6 +279,7 @@ export default (new Transformer({ asset.getBuffer(), asset.getMap(), init, + loadOnMainThreadIfNeeded(), ]); let targets; @@ -840,3 +842,27 @@ export default (new Transformer({ return [asset]; }, }): Transformer); + +// On linux with older versions of glibc (e.g. CentOS 7), we encounter a segmentation fault +// when worker threads exit due to thread local variables used by SWC. A workaround is to +// also load the native module on the main thread, so that it is not unloaded until process exit. +// See https://github.com/rust-lang/rust/issues/91979. +let isLoadedOnMainThread = false; +async function loadOnMainThreadIfNeeded() { + if ( + !isLoadedOnMainThread && + process.platform === 'linux' && + WorkerFarm.isWorker() + ) { + let {family, version} = require('detect-libc'); + if (family === 'glibc' && parseFloat(version) <= 2.17) { + let api = WorkerFarm.getWorkerApi(); + await api.callMaster({ + location: __dirname + '/loadNative.js', + args: [], + }); + + isLoadedOnMainThread = true; + } + } +} diff --git a/packages/transformers/js/src/loadNative.js b/packages/transformers/js/src/loadNative.js new file mode 100644 index 00000000000..d0795719bef --- /dev/null +++ b/packages/transformers/js/src/loadNative.js @@ -0,0 +1,6 @@ +// This function is called from the main thread to prevent unloading the module +// until the main thread exits. This avoids a segfault in older glibc versions. +// See https://github.com/rust-lang/rust/issues/91979 +module.exports = () => { + require('../native'); +}; From eb2ccdea1287f6e42566ce0fc1e1e3c7435a9734 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 16 Dec 2021 20:58:18 -0500 Subject: [PATCH 0151/1076] Apply segfault workaround to image optimizer as well (#7461) --- packages/optimizers/image/package.json | 1 + .../optimizers/image/src/ImageOptimizer.js | 26 +++++++++++++++++++ packages/optimizers/image/src/loadNative.js | 6 +++++ 3 files changed, 33 insertions(+) create mode 100644 packages/optimizers/image/src/loadNative.js diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index 0eea76503b2..02dbe91e66d 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -35,6 +35,7 @@ "@parcel/diagnostic": "^2.0.1", "@parcel/plugin": "^2.0.1", "@parcel/utils": "^2.0.1", + "@parcel/workers": "^2.0.1", "detect-libc": "^1.0.3" }, "devDependencies": { diff --git a/packages/optimizers/image/src/ImageOptimizer.js b/packages/optimizers/image/src/ImageOptimizer.js index 5f4f506ffdc..a14664e6262 100644 --- a/packages/optimizers/image/src/ImageOptimizer.js +++ b/packages/optimizers/image/src/ImageOptimizer.js @@ -5,6 +5,7 @@ import {Optimizer} from '@parcel/plugin'; import {blobToBuffer} from '@parcel/utils'; import {md} from '@parcel/diagnostic'; import {optimize} from '../native'; +import WorkerFarm from '@parcel/workers'; export default (new Optimizer({ async optimize({bundle, contents, logger}) { @@ -12,6 +13,7 @@ export default (new Optimizer({ return {contents}; } + await loadOnMainThreadIfNeeded(); let buffer = await blobToBuffer(contents); // Attempt to optimize it, if the optimize fails we log a warning... @@ -34,3 +36,27 @@ export default (new Optimizer({ return {contents: buffer}; }, }): Optimizer); + +// On linux with older versions of glibc (e.g. CentOS 7), we encounter a segmentation fault +// when worker threads exit due to thread local variables in Rust. A workaround is to +// also load the native module on the main thread, so that it is not unloaded until process exit. +// See https://github.com/rust-lang/rust/issues/91979. +let isLoadedOnMainThread = false; +async function loadOnMainThreadIfNeeded() { + if ( + !isLoadedOnMainThread && + process.platform === 'linux' && + WorkerFarm.isWorker() + ) { + let {family, version} = require('detect-libc'); + if (family === 'glibc' && parseFloat(version) <= 2.17) { + let api = WorkerFarm.getWorkerApi(); + await api.callMaster({ + location: __dirname + '/loadNative.js', + args: [], + }); + + isLoadedOnMainThread = true; + } + } +} diff --git a/packages/optimizers/image/src/loadNative.js b/packages/optimizers/image/src/loadNative.js new file mode 100644 index 00000000000..d0795719bef --- /dev/null +++ b/packages/optimizers/image/src/loadNative.js @@ -0,0 +1,6 @@ +// This function is called from the main thread to prevent unloading the module +// until the main thread exits. This avoids a segfault in older glibc versions. +// See https://github.com/rust-lang/rust/issues/91979 +module.exports = () => { + require('../native'); +}; From f5ab4677f0b01c317756b0bc0e8f759f1da49988 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Fri, 17 Dec 2021 16:17:53 -0500 Subject: [PATCH 0152/1076] Static analyze more exports patterns without scope hoisting (#7465) --- packages/transformers/js/core/src/hoist.rs | 327 +++++++++++++++++---- packages/transformers/js/core/src/lib.rs | 5 +- packages/transformers/js/core/src/utils.rs | 16 +- 3 files changed, 288 insertions(+), 60 deletions(-) diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index 3bec6b11c87..7bf8fafe5a4 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -1,3 +1,4 @@ +use crate::utils::match_property_name; use serde::{Deserialize, Serialize}; use std::collections::hash_map::DefaultHasher; use std::collections::{HashMap, HashSet}; @@ -885,16 +886,10 @@ impl<'a> Fold for Hoist<'a> { if is_cjs_exports { let key: JsWord = if self.collect.static_cjs_exports { - match &*member.prop { - Expr::Ident(ident) => { - if !member.computed { - ident.sym.clone() - } else { - unreachable!("Unexpected non-static CJS export"); - } - } - Expr::Lit(Lit::Str(str_)) => str_.value.clone(), - _ => unreachable!("Unexpected non-static CJS export"), + if let Some((name, _)) = match_property_name(&member) { + name + } else { + unreachable!("Unexpected non-static CJS export"); } } else { "*".into() @@ -1126,7 +1121,7 @@ pub struct Import { pub loc: SourceLocation, } -#[derive(Debug)] +#[derive(Debug, PartialEq)] pub struct Export { pub source: Option, pub specifier: JsWord, @@ -1228,6 +1223,41 @@ impl Collect { impl From for CollectResult { fn from(collect: Collect) -> CollectResult { + let mut exports: Vec = collect + .exports + .into_iter() + .map( + |( + exported, + Export { + source, + specifier, + loc, + }, + )| CollectExportedSymbol { + source, + local: specifier, + exported, + loc, + }, + ) + .collect(); + + // Add * symbol if there are any CJS exports so that unknown symbols don't cause errors (e.g. default interop). + if collect.has_cjs_exports { + exports.push(CollectExportedSymbol { + source: None, + exported: "*".into(), + local: "_".into(), + loc: SourceLocation { + start_line: 1, + start_col: 1, + end_line: 1, + end_col: 1, + }, + }) + } + CollectResult { imports: collect .imports @@ -1250,25 +1280,7 @@ impl From for CollectResult { }, ) .collect(), - exports: collect - .exports - .into_iter() - .map( - |( - exported, - Export { - source, - specifier, - loc, - }, - )| CollectExportedSymbol { - source, - local: specifier, - exported, - loc, - }, - ) - .collect(), + exports, exports_all: collect .exports_all .into_iter() @@ -1495,7 +1507,7 @@ impl Visit for Collect { DefaultDecl::Class(class) => { if let Some(ident) = &class.ident { self.exports.insert( - "default".into(), + js_word!("default"), Export { specifier: ident.sym.clone(), loc: SourceLocation::from(&self.source_map, node.span), @@ -1505,13 +1517,22 @@ impl Visit for Collect { self .exports_locals .entry(ident.sym.clone()) - .or_insert_with(|| "default".into()); + .or_insert_with(|| js_word!("default")); + } else { + self.exports.insert( + js_word!("default"), + Export { + specifier: js_word!("default"), + loc: SourceLocation::from(&self.source_map, node.span), + source: None, + }, + ); } } DefaultDecl::Fn(func) => { if let Some(ident) = &func.ident { self.exports.insert( - "default".into(), + js_word!("default"), Export { specifier: ident.sym.clone(), loc: SourceLocation::from(&self.source_map, node.span), @@ -1521,7 +1542,16 @@ impl Visit for Collect { self .exports_locals .entry(ident.sym.clone()) - .or_insert_with(|| "default".into()); + .or_insert_with(|| js_word!("default")); + } else { + self.exports.insert( + js_word!("default"), + Export { + specifier: js_word!("default"), + loc: SourceLocation::from(&self.source_map, node.span), + source: None, + }, + ); } } _ => { @@ -1532,6 +1562,19 @@ impl Visit for Collect { node.visit_children_with(self); } + fn visit_export_default_expr(&mut self, node: &ExportDefaultExpr) { + self.exports.insert( + js_word!("default"), + Export { + specifier: js_word!("default"), + loc: SourceLocation::from(&self.source_map, node.span), + source: None, + }, + ); + + node.visit_children_with(self); + } + fn visit_export_all(&mut self, node: &ExportAll) { self.exports_all.insert( node.src.value.clone(), @@ -1617,32 +1660,37 @@ impl Visit for Collect { return; } - let is_static = match &*node.prop { - Expr::Ident(_) => !node.computed, - Expr::Lit(Lit::Str(_)) => true, - _ => false, - }; + macro_rules! handle_export { + () => { + self.has_cjs_exports = true; + if let Some((name, span)) = match_property_name(&node) { + self.exports.insert( + name.clone(), + Export { + specifier: name, + source: None, + loc: SourceLocation::from(&self.source_map, span), + }, + ); + } else { + self.static_cjs_exports = false; + self.add_bailout(node.span, BailoutReason::NonStaticExports); + } + }; + } if let ExprOrSuper::Expr(expr) = &node.obj { match &**expr { Expr::Member(member) => { if match_member_expr(member, vec!["module", "exports"], &self.decls) { - self.has_cjs_exports = true; - if !is_static { - self.static_cjs_exports = false; - self.add_bailout(node.span, BailoutReason::NonStaticExports); - } + handle_export!(); } return; } Expr::Ident(ident) => { let exports: JsWord = "exports".into(); if ident.sym == exports && !self.decls.contains(&id!(ident)) { - self.has_cjs_exports = true; - if !is_static { - self.static_cjs_exports = false; - self.add_bailout(node.span, BailoutReason::NonStaticExports); - } + handle_export!(); } if ident.sym == js_word!("module") && !self.decls.contains(&id!(ident)) { @@ -1653,7 +1701,7 @@ impl Visit for Collect { } // `import` isn't really an identifier... - if !is_static && ident.sym != js_word!("import") { + if match_property_name(&node).is_none() && ident.sym != js_word!("import") { self .non_static_access .entry(id!(ident)) @@ -1664,11 +1712,7 @@ impl Visit for Collect { } Expr::This(_this) => { if self.in_module_this { - self.has_cjs_exports = true; - if !is_static { - self.static_cjs_exports = false; - self.add_bailout(node.span, BailoutReason::NonStaticExports); - } + handle_export!(); } return; } @@ -4068,4 +4112,177 @@ mod tests { "#} ); } + + #[test] + fn collect_exports() { + let (collect, _code, _hoist) = parse("export default function () {};"); + assert_eq!( + collect.exports, + map! { + w!("default") => Export { + source: None, + specifier: "default".into(), + loc: SourceLocation { + start_line: 1, + start_col: 1, + end_line: 1, + end_col: 29 + } + } + } + ); + + let (collect, _code, _hoist) = parse("export default function test () {};"); + assert_eq!( + collect.exports, + map! { + w!("default") => Export { + source: None, + specifier: "test".into(), + loc: SourceLocation { + start_line: 1, + start_col: 1, + end_line: 1, + end_col: 34 + } + } + } + ); + + let (collect, _code, _hoist) = parse("export default class {};"); + assert_eq!( + collect.exports, + map! { + w!("default") => Export { + source: None, + specifier: "default".into(), + loc: SourceLocation { + start_line: 1, + start_col: 1, + end_line: 1, + end_col: 23 + } + } + } + ); + + let (collect, _code, _hoist) = parse("export default class test {};"); + assert_eq!( + collect.exports, + map! { + w!("default") => Export { + source: None, + specifier: "test".into(), + loc: SourceLocation { + start_line: 1, + start_col: 1, + end_line: 1, + end_col: 28 + } + } + } + ); + + let (collect, _code, _hoist) = parse("export default foo;"); + assert_eq!( + collect.exports, + map! { + w!("default") => Export { + source: None, + specifier: "default".into(), + loc: SourceLocation { + start_line: 1, + start_col: 1, + end_line: 1, + end_col: 19 + } + } + } + ); + + let (collect, _code, _hoist) = parse("module.exports.foo = 2;"); + assert_eq!( + collect.exports, + map! { + w!("foo") => Export { + source: None, + specifier: "foo".into(), + loc: SourceLocation { + start_line: 1, + start_col: 16, + end_line: 1, + end_col: 18 + } + } + } + ); + + let (collect, _code, _hoist) = parse("module.exports['foo'] = 2;"); + assert_eq!( + collect.exports, + map! { + w!("foo") => Export { + source: None, + specifier: "foo".into(), + loc: SourceLocation { + start_line: 1, + start_col: 16, + end_line: 1, + end_col: 20 + } + } + } + ); + + let (collect, _code, _hoist) = parse("module.exports[`foo`] = 2;"); + assert_eq!( + collect.exports, + map! { + w!("foo") => Export { + source: None, + specifier: "foo".into(), + loc: SourceLocation { + start_line: 1, + start_col: 16, + end_line: 1, + end_col: 20 + } + } + } + ); + + let (collect, _code, _hoist) = parse("exports.foo = 2;"); + assert_eq!( + collect.exports, + map! { + w!("foo") => Export { + source: None, + specifier: "foo".into(), + loc: SourceLocation { + start_line: 1, + start_col: 9, + end_line: 1, + end_col: 11 + } + } + } + ); + + let (collect, _code, _hoist) = parse("this.foo = 2;"); + assert_eq!( + collect.exports, + map! { + w!("foo") => Export { + source: None, + specifier: "foo".into(), + loc: SourceLocation { + start_line: 1, + start_col: 6, + end_line: 1, + end_col: 8 + } + } + } + ); + } } diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index 6a2e131f32b..7f6626498c1 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -424,7 +424,10 @@ pub fn transform(config: Config) -> Result { } } } else { - result.symbol_result = Some(collect.into()); + // Bail if we could not statically analyze. + if collect.static_cjs_exports && !collect.should_wrap { + result.symbol_result = Some(collect.into()); + } let (module, needs_helpers) = esm2cjs(module, versions); result.needs_esm_helpers = needs_helpers; diff --git a/packages/transformers/js/core/src/utils.rs b/packages/transformers/js/core/src/utils.rs index 913a37fc0b3..0e8924ead1b 100644 --- a/packages/transformers/js/core/src/utils.rs +++ b/packages/transformers/js/core/src/utils.rs @@ -114,6 +114,14 @@ pub fn match_str_or_ident(node: &ast::Expr) -> Option<(JsWord, Span)> { match_str(node) } +pub fn match_property_name(node: &ast::MemberExpr) -> Option<(JsWord, Span)> { + if node.computed { + match_str(&*node.prop) + } else { + match_str_or_ident(&*node.prop) + } +} + pub fn match_require( node: &ast::Expr, decls: &HashSet<(JsWord, SyntaxContext)>, @@ -178,10 +186,10 @@ pub fn match_import(node: &ast::Expr, ignore_mark: Mark) -> Option { #[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] pub struct SourceLocation { - start_line: usize, - start_col: usize, - end_line: usize, - end_col: usize, + pub start_line: usize, + pub start_col: usize, + pub end_line: usize, + pub end_col: usize, } impl SourceLocation { From 931ecd56df70ca172825d7befad6cda3787b9bf7 Mon Sep 17 00:00:00 2001 From: Shinobu Hayashi Date: Mon, 20 Dec 2021 06:46:37 +0900 Subject: [PATCH 0153/1076] Fix: transpiling React.createElement into Preact h behavior (#7435) --- .../jsx-automatic-preact-with-alias/index.js | 1 + .../node_modules/preact/jsx-runtime.js | 0 .../node_modules/preact/package.json | 3 +++ .../jsx-automatic-preact-with-alias/package.json | 12 ++++++++++++ .../jsx-automatic-preact-with-alias/yarn.lock | 0 .../core/integration-tests/test/transpilation.js | 13 +++++++++++++ packages/transformers/js/src/JSTransformer.js | 12 ++++++++---- 7 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/index.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/node_modules/preact/jsx-runtime.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/node_modules/preact/package.json create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/package.json create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/yarn.lock diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/index.js b/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/index.js new file mode 100644 index 00000000000..8d097d55d7f --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/index.js @@ -0,0 +1 @@ +module.exports =
; diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/node_modules/preact/jsx-runtime.js b/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/node_modules/preact/jsx-runtime.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/node_modules/preact/package.json b/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/node_modules/preact/package.json new file mode 100644 index 00000000000..201dceb61ed --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/node_modules/preact/package.json @@ -0,0 +1,3 @@ +{ + "name": "preact" +} diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/package.json b/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/package.json new file mode 100644 index 00000000000..c9bd49e7568 --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/package.json @@ -0,0 +1,12 @@ +{ + "private": true, + "dependencies": { + "preact": "^10.5" + }, + "alias": { + "react": "preact/compat", + "react-dom/test-utils": "preact/test-utils", + "react-dom": "preact/compat", + "react/jsx-runtime": "preact/jsx-runtime" + } +} diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/yarn.lock b/packages/core/integration-tests/test/integration/jsx-automatic-preact-with-alias/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/transpilation.js b/packages/core/integration-tests/test/transpilation.js index de40708e7e2..6a5c9d0cc4b 100644 --- a/packages/core/integration-tests/test/transpilation.js +++ b/packages/core/integration-tests/test/transpilation.js @@ -183,6 +183,19 @@ describe('transpilation', function () { assert(file.includes('_jsxRuntime.jsx("div"')); }); + it('should support the automatic JSX runtime with preact with alias', async function () { + let b = await bundle( + path.join( + __dirname, + '/integration/jsx-automatic-preact-with-alias/index.js', + ), + ); + + let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert(/\Wreact\/jsx-runtime\W/.test(file)); + assert(file.includes('_jsxRuntime.jsx("div"')); + }); + it('should support the automatic JSX runtime with explicit tsconfig.json', async function () { let b = await bundle( path.join(__dirname, '/integration/jsx-automatic-tsconfig/index.js'), diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index a51365bd11c..60558f7ce10 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -200,11 +200,15 @@ export default (new Transformer({ jsxImportSource = compilerOptions?.jsxImportSource; automaticJSXRuntime = true; } else if (reactLib) { - let automaticVersion = JSX_PRAGMA[reactLib]?.automatic; + let effectiveReactLib = + pkg?.alias && pkg.alias['react'] === 'preact/compat' + ? 'preact' + : reactLib; + let automaticVersion = JSX_PRAGMA[effectiveReactLib]?.automatic; let reactLibVersion = - pkg?.dependencies?.[reactLib] || - pkg?.devDependencies?.[reactLib] || - pkg?.peerDependencies?.[reactLib]; + pkg?.dependencies?.[effectiveReactLib] || + pkg?.devDependencies?.[effectiveReactLib] || + pkg?.peerDependencies?.[effectiveReactLib]; let minReactLibVersion = reactLibVersion != null && reactLibVersion !== '*' ? semver.minVersion(reactLibVersion)?.toString() From 8823770717bf451da2667b4d0d24b8915698856d Mon Sep 17 00:00:00 2001 From: Shinobu Hayashi Date: Mon, 20 Dec 2021 06:50:13 +0900 Subject: [PATCH 0154/1076] Fix: "Got unexpected undefined" error when using a re-exported type (#7424) --- .../re-exporting-aggregating/expected.d.ts | 4 +++ .../re-exporting-aggregating/hoge/bar.ts | 1 + .../re-exporting-aggregating/hoge/fuga.ts | 1 + .../re-exporting-aggregating/hoge/index.ts | 2 ++ .../re-exporting-aggregating/index.ts | 2 ++ .../re-exporting-aggregating/package.json | 6 +++++ .../re-exporting-aggregating/yarn.lock | 0 .../core/integration-tests/test/ts-types.js | 27 +++++++++++++++++++ .../typescript-types/src/TSModuleGraph.js | 5 +++- 9 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/expected.d.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/bar.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/fuga.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/index.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/index.ts create mode 100644 packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/package.json create mode 100644 packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/yarn.lock diff --git a/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/expected.d.ts b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/expected.d.ts new file mode 100644 index 00000000000..f0d894a0e39 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/expected.d.ts @@ -0,0 +1,4 @@ +type fuga = "fuga"; +export type Baz = `${fuga}`; + +//# sourceMappingURL=types.d.ts.map diff --git a/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/bar.ts b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/bar.ts new file mode 100644 index 00000000000..62796e1e537 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/bar.ts @@ -0,0 +1 @@ +export type bar = 'bar'; \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/fuga.ts b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/fuga.ts new file mode 100644 index 00000000000..abed84903a0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/fuga.ts @@ -0,0 +1 @@ +export type fuga = "fuga"; \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/index.ts b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/index.ts new file mode 100644 index 00000000000..41ce94cd1fa --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/hoge/index.ts @@ -0,0 +1,2 @@ +export * from "./bar"; +export * from "./fuga"; \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/index.ts b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/index.ts new file mode 100644 index 00000000000..20c29f66631 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/index.ts @@ -0,0 +1,2 @@ +import { fuga } from './hoge'; +export type Baz = `${fuga}` \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/package.json b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/package.json new file mode 100644 index 00000000000..5714871f073 --- /dev/null +++ b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/package.json @@ -0,0 +1,6 @@ +{ + "name": "ts-types-re-exporting-aggregating", + "private": true, + "main": "dist/main.js", + "types": "dist/types.d.ts" +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/yarn.lock b/packages/core/integration-tests/test/integration/ts-types/re-exporting-aggregating/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/ts-types.js b/packages/core/integration-tests/test/ts-types.js index 1676a727c77..8a8e02324d0 100644 --- a/packages/core/integration-tests/test/ts-types.js +++ b/packages/core/integration-tests/test/ts-types.js @@ -361,4 +361,31 @@ describe('typescript types', function () { ); assert.equal(dist, expected); }); + + it('should handle re-exporting aggregating correctly', async function () { + await bundle( + path.join( + __dirname, + '/integration/ts-types/re-exporting-aggregating/index.ts', + ), + ); + + let dist = ( + await outputFS.readFile( + path.join( + __dirname, + '/integration/ts-types/re-exporting-aggregating/dist/types.d.ts', + ), + 'utf8', + ) + ).replace(/\r\n/g, '\n'); + let expected = await inputFS.readFile( + path.join( + __dirname, + '/integration/ts-types/re-exporting-aggregating/expected.d.ts', + ), + 'utf8', + ); + assert.equal(dist, expected); + }); }); diff --git a/packages/transformers/typescript-types/src/TSModuleGraph.js b/packages/transformers/typescript-types/src/TSModuleGraph.js index e522b19ec17..a7dc12600ed 100644 --- a/packages/transformers/typescript-types/src/TSModuleGraph.js +++ b/packages/transformers/typescript-types/src/TSModuleGraph.js @@ -143,10 +143,13 @@ export class TSModuleGraph { if (e.name === name) { return this.getExport(module, e); } else if (e.specifier) { - return this.resolveExport( + const m = this.resolveExport( nullthrows(this.getModule(e.specifier)), name, ); + if (m) { + return m; + } } } } From af76afc12109040abfbe0eaf13b2465ba99b1678 Mon Sep 17 00:00:00 2001 From: Shinobu Hayashi Date: Sun, 26 Dec 2021 01:28:18 +0900 Subject: [PATCH 0155/1076] Feature: support href attribute in in collecting dependencies in HTMLTransformer (#7482) --- packages/core/integration-tests/test/html.js | 17 +++++++++++++++++ .../html-image-href-attr/100x100.png | Bin 0 -> 255 bytes .../html-image-href-attr/index.html | 13 +++++++++++++ packages/transformers/html/src/dependencies.js | 2 +- 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 packages/core/integration-tests/test/integration/html-image-href-attr/100x100.png create mode 100644 packages/core/integration-tests/test/integration/html-image-href-attr/index.html diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index 61da006ca62..ec252cc8423 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -965,6 +965,23 @@ describe('html', function () { ]); }); + it("should support href attribute in in HTMLTransformer's collectDependencies", async function () { + let b = await bundle( + path.join(__dirname, '/integration/html-image-href-attr/index.html'), + ); + + assertBundles(b, [ + { + name: 'index.html', + assets: ['index.html'], + }, + { + type: 'png', + assets: ['100x100.png'], + }, + ]); + }); + // Based on https://developer.mozilla.org/en-US/docs/Web/SVG/Element/script it('should bundle scripts inside svg', async function () { let b = await bundle( diff --git a/packages/core/integration-tests/test/integration/html-image-href-attr/100x100.png b/packages/core/integration-tests/test/integration/html-image-href-attr/100x100.png new file mode 100644 index 0000000000000000000000000000000000000000..8a1daa0121d524256c1d1b45ff5e7ed771784c52 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^DImVS)*E46%Oq(`s&YU^>_U&7| zc=6GrN4Ia^zG~H~jT<-Ko_$0QsEo6~BeIx*f$sR&2=kJHM z&5N9@w|=XzipNCbb|s-xrJeH)f2E%im~OIrio1Qy&Sj1+>x<+1)+oPni}kGd6Ohy! z>6x1RttNZTv!7LG>?+Ii&zjEnadB}e3778<6P>u`Anzuis~9|8{an^LB{Ts5qZeh6 literal 0 HcmV?d00001 diff --git a/packages/core/integration-tests/test/integration/html-image-href-attr/index.html b/packages/core/integration-tests/test/integration/html-image-href-attr/index.html new file mode 100644 index 00000000000..56638e1ad6d --- /dev/null +++ b/packages/core/integration-tests/test/integration/html-image-href-attr/index.html @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/packages/transformers/html/src/dependencies.js b/packages/transformers/html/src/dependencies.js index f70d102cbee..f94180c3662 100644 --- a/packages/transformers/html/src/dependencies.js +++ b/packages/transformers/html/src/dependencies.js @@ -18,7 +18,7 @@ const ATTRS = { 'amp-img', ], // Using href with + + diff --git a/packages/core/integration-tests/test/integration/hmr-css-modules/index.jsx b/packages/core/integration-tests/test/integration/hmr-css-modules/index.jsx new file mode 100644 index 00000000000..9890fe63081 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-css-modules/index.jsx @@ -0,0 +1,3 @@ +import * as styles from "./index.module.css"; + +const Hello = () =>
hello
; diff --git a/packages/core/integration-tests/test/integration/hmr-css-modules/index.module.css b/packages/core/integration-tests/test/integration/hmr-css-modules/index.module.css new file mode 100644 index 00000000000..7590fad04cf --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-css-modules/index.module.css @@ -0,0 +1,3 @@ +.hello { + background: red; +} diff --git a/packages/core/integration-tests/test/integration/hmr-css-modules/index2.module.css b/packages/core/integration-tests/test/integration/hmr-css-modules/index2.module.css new file mode 100644 index 00000000000..bc09ce18ce6 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-css-modules/index2.module.css @@ -0,0 +1,3 @@ +.hello { + background: blue; +} diff --git a/packages/reporters/dev-server/src/HMRServer.js b/packages/reporters/dev-server/src/HMRServer.js index 76a16bca296..44a6e4196a9 100644 --- a/packages/reporters/dev-server/src/HMRServer.js +++ b/packages/reporters/dev-server/src/HMRServer.js @@ -100,7 +100,7 @@ export default class HMRServer { let queue = new PromiseQueue({maxConcurrent: FS_CONCURRENCY}); for (let asset of changedAssets) { - if (asset.type !== 'js') { + if (asset.type !== 'js' && asset.type !== 'css') { // If all of the incoming dependencies of the asset actually resolve to a JS asset // rather than the original, we can mark the runtimes as changed instead. URL runtimes // have a cache busting query param added with HMR enabled which will trigger a reload. From 695660000f2f25ed17398176a78b85e5a8c3ccd6 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 2 Jan 2022 18:04:52 -0500 Subject: [PATCH 0164/1076] Fix HMR bugs (#7514) --- packages/core/integration-tests/test/hmr.js | 219 ++++++++++-------- .../integration/hmr-css-modules/index.jsx | 3 +- .../integration/hmr-css-modules/package.json | 5 + .../hmr-multiple-parents-reload/a.js | 4 + .../hmr-multiple-parents-reload/b.js | 3 + .../hmr-multiple-parents-reload/fn1.js | 3 + .../hmr-multiple-parents-reload/fn2.js | 3 + .../hmr-multiple-parents-reload/index.js | 2 + .../hmr-multiple-parents-reload/utils.js | 2 + .../integration/hmr-multiple-parents/a.js | 5 + .../integration/hmr-multiple-parents/b.js | 5 + .../integration/hmr-multiple-parents/fn1.js | 3 + .../integration/hmr-multiple-parents/fn2.js | 3 + .../integration/hmr-multiple-parents/index.js | 6 + .../integration/hmr-multiple-parents/utils.js | 2 + .../test/integration/hmr-url/index.js | 3 + .../test/integration/hmr-url/test.txt | 1 + .../runtimes/hmr/src/loaders/hmr-runtime.js | 91 +++++++- 18 files changed, 258 insertions(+), 105 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/hmr-css-modules/package.json create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/a.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/b.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/fn1.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/fn2.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/index.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/utils.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents/a.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents/b.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents/fn1.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents/fn2.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents/index.js create mode 100644 packages/core/integration-tests/test/integration/hmr-multiple-parents/utils.js create mode 100644 packages/core/integration-tests/test/integration/hmr-url/index.js create mode 100644 packages/core/integration-tests/test/integration/hmr-url/test.txt diff --git a/packages/core/integration-tests/test/hmr.js b/packages/core/integration-tests/test/hmr.js index 66794f361db..4818bd97400 100644 --- a/packages/core/integration-tests/test/hmr.js +++ b/packages/core/integration-tests/test/hmr.js @@ -79,10 +79,17 @@ describe('hmr', function () { ws = await openSocket('ws://localhost:' + port); let outputs = []; + let reloaded = false; await run(bundleGraph, { output(o) { outputs.push(o); }, + location: { + reload() { + reloaded = true; + outputs = []; + }, + }, }); for (let update of [].concat(updates)) { @@ -94,13 +101,16 @@ describe('hmr', function () { fsUpdates[f], ); } - } - await nextWSMessage(nullthrows(ws)); - await sleep(100); + await nextWSMessage(nullthrows(ws)); + await sleep(100); + } // Fixup the prototypes so that strict assertions work - return JSON.parse(JSON.stringify(outputs)); + return { + outputs: JSON.parse(JSON.stringify(outputs)), + reloaded, + }; } afterEach(async () => { @@ -330,7 +340,7 @@ describe('hmr', function () { }); it('should support self accepting', async function () { - let outputs = await testHMRClient('hmr-accept-self', outputs => { + let {outputs} = await testHMRClient('hmr-accept-self', outputs => { assert.deepStrictEqual(outputs, [ ['other', 1], ['local', 1], @@ -352,7 +362,7 @@ describe('hmr', function () { }); it('should bubble through parents', async function () { - let outputs = await testHMRClient('hmr-bubble', outputs => { + let {outputs} = await testHMRClient('hmr-bubble', outputs => { assert.deepStrictEqual(outputs, [ ['other', 1], ['local', 1], @@ -375,7 +385,7 @@ describe('hmr', function () { }); it('should call dispose callbacks', async function () { - let outputs = await testHMRClient('hmr-dispose', outputs => { + let {outputs} = await testHMRClient('hmr-dispose', outputs => { assert.deepStrictEqual(outputs, [ ['eval:other', 1, null], ['eval:local', 1, null], @@ -417,7 +427,7 @@ module.hot.dispose((data) => { }); it('should work with circular dependencies', async function () { - let outputs = await testHMRClient('hmr-circular', outputs => { + let {outputs} = await testHMRClient('hmr-circular', outputs => { assert.deepEqual(outputs, [3]); return { @@ -429,6 +439,115 @@ module.hot.dispose((data) => { assert.deepEqual(outputs, [3, 10]); }); + it('should reload if not accepted', async function () { + let {reloaded} = await testHMRClient('hmr-reload', outputs => { + assert.deepEqual(outputs, [3]); + return { + 'local.js': 'exports.a = 5; exports.b = 5;', + }; + }); + + assert(reloaded); + }); + + it('should reload when modifying the entry', async function () { + let {reloaded} = await testHMRClient('hmr-reload', outputs => { + assert.deepEqual(outputs, [3]); + return { + 'index.js': 'output(5)', + }; + }); + + assert(reloaded); + }); + + it('should work with multiple parents', async function () { + let {outputs} = await testHMRClient('hmr-multiple-parents', outputs => { + assert.deepEqual(outputs, ['a: fn1 b: fn2']); + return { + 'fn2.js': 'export function fn2() { return "UPDATED"; }', + }; + }); + + assert.deepEqual(outputs, ['a: fn1 b: fn2', 'a: fn1 b: UPDATED']); + }); + + it('should reload if only one parent accepts', async function () { + let {reloaded} = await testHMRClient( + 'hmr-multiple-parents-reload', + outputs => { + assert.deepEqual(outputs, ['a: fn1', 'b: fn2']); + return { + 'fn2.js': 'export function fn2() { return "UPDATED"; }', + }; + }, + ); + + assert(reloaded); + }); + + it('should work across bundles', async function () { + let {reloaded} = await testHMRClient('hmr-dynamic', outputs => { + assert.deepEqual(outputs, [3]); + return { + 'local.js': 'exports.a = 5; exports.b = 5;', + }; + }); + + // assert.deepEqual(outputs, [3, 10]); + assert(reloaded); // TODO: this should eventually not reload... + }); + + it('should work with urls', async function () { + let search; + let {outputs} = await testHMRClient('hmr-url', outputs => { + assert.equal(outputs.length, 1); + let url = new URL(outputs[0]); + assert(/test\.[0-9a-f]+\.txt/, url.pathname); + assert(!isNaN(url.search.slice(1))); + search = url.search; + return { + 'test.txt': 'yo', + }; + }); + + assert.equal(outputs.length, 2); + let url = new URL(outputs[1]); + assert(/test\.[0-9a-f]+\.txt/, url.pathname); + assert(!isNaN(url.search.slice(1))); + assert.notEqual(url.search, search); + }); + + it('should clean up orphaned assets when deleting a dependency', async function () { + let search; + let {outputs} = await testHMRClient('hmr-url', [ + outputs => { + assert.equal(outputs.length, 1); + let url = new URL(outputs[0]); + assert(/test\.[0-9a-f]+\.txt/, url.pathname); + assert(!isNaN(url.search.slice(1))); + search = url.search; + return { + 'index.js': 'output("yo"); module.hot.accept();', + }; + }, + outputs => { + assert.equal(outputs.length, 2); + assert.equal(outputs[1], 'yo'); + return { + 'index.js': + 'output(new URL("test.txt", import.meta.url)); module.hot.accept();', + }; + }, + ]); + + assert.equal(outputs.length, 3); + let url = new URL(outputs[2]); + assert(/test\.[0-9a-f]+\.txt/, url.pathname); + assert(!isNaN(url.search.slice(1))); + assert.notEqual(url.search, search); + }); + /* it.skip('should accept HMR updates in the runtime after an initial error', async function() { await fs.mkdirp(path.join(__dirname, '/input')); @@ -530,90 +649,6 @@ module.hot.dispose((data) => { ]); }); - it.skip('should work across bundles', async function() { - await ncp( - path.join(__dirname, '/integration/hmr-dynamic'), - path.join(__dirname, '/input'), - ); - - let port = await getPort(); - let b = await bundle(path.join(__dirname, '/input/index.js'), { - hmrOptions: { - https: false, - port, - host: 'localhost', - }, - env: { - HMR_HOSTNAME: 'localhost', - HMR_PORT: port, - }, - watch: true, - }); - - let outputs = []; - - await run(b, { - output(o) { - outputs.push(o); - }, - }); - - await sleep(50); - assert.deepEqual(outputs, [3]); - - let ws = new WebSocket('ws://localhost:' + port); - - await sleep(50); - fs.writeFile( - path.join(__dirname, '/input/local.js'), - 'exports.a = 5; exports.b = 5;', - ); - - await nextWSMessage(ws); - await sleep(50); - - assert.deepEqual(outputs, [3, 10]); - }); - - it.skip('should bubble up HMR events to a page reload', async function() { - await ncp( - path.join(__dirname, '/integration/hmr-reload'), - path.join(__dirname, '/input'), - ); - - let b = bundler(path.join(__dirname, '/input/index.js'), { - watch: true, - hmr: true, - }); - let bundle = await b.bundle(); - - let outputs = []; - let ctx = await run( - bundle, - { - output(o) { - outputs.push(o); - }, - }, - {require: false}, - ); - let spy = sinon.spy(ctx.location, 'reload'); - - await sleep(50); - assert.deepEqual(outputs, [3]); - assert(spy.notCalled); - - await sleep(100); - fs.writeFile( - path.join(__dirname, '/input/local.js'), - 'exports.a = 5; exports.b = 5;', - ); - - // await nextEvent(b, 'bundled'); - assert.deepEqual(outputs, [3]); - assert(spy.calledOnce); - }); - it.skip('should trigger a page reload when a new bundle is created', async function() { await ncp( path.join(__dirname, '/integration/hmr-new-bundle'), diff --git a/packages/core/integration-tests/test/integration/hmr-css-modules/index.jsx b/packages/core/integration-tests/test/integration/hmr-css-modules/index.jsx index 9890fe63081..e1e7b14ba06 100644 --- a/packages/core/integration-tests/test/integration/hmr-css-modules/index.jsx +++ b/packages/core/integration-tests/test/integration/hmr-css-modules/index.jsx @@ -1,3 +1,4 @@ import * as styles from "./index.module.css"; +import React from 'react'; -const Hello = () =>
hello
; +export const Hello = () =>
hello
; diff --git a/packages/core/integration-tests/test/integration/hmr-css-modules/package.json b/packages/core/integration-tests/test/integration/hmr-css-modules/package.json new file mode 100644 index 00000000000..60b3c8a2fdf --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-css-modules/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "react": "^16" + } +} diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/a.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/a.js new file mode 100644 index 00000000000..e9c59a904f7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/a.js @@ -0,0 +1,4 @@ +import {fn1} from './utils'; + +output('a: ' + fn1()); +module.hot.accept(); diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/b.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/b.js new file mode 100644 index 00000000000..f0df5255a02 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/b.js @@ -0,0 +1,3 @@ +import {fn2} from './utils'; + +output('b: ' + fn2()); diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/fn1.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/fn1.js new file mode 100644 index 00000000000..0c96cbec6c3 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/fn1.js @@ -0,0 +1,3 @@ +export function fn1() { + return 'fn1'; +} diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/fn2.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/fn2.js new file mode 100644 index 00000000000..313ad438042 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/fn2.js @@ -0,0 +1,3 @@ +export function fn2() { + return 'fn2'; +} diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/index.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/index.js new file mode 100644 index 00000000000..3e895565614 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/index.js @@ -0,0 +1,2 @@ +import './a'; +import './b'; diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/utils.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/utils.js new file mode 100644 index 00000000000..dc225d142a7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents-reload/utils.js @@ -0,0 +1,2 @@ +export * from './fn1'; +export * from './fn2'; diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents/a.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents/a.js new file mode 100644 index 00000000000..b6eb820723c --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents/a.js @@ -0,0 +1,5 @@ +import {fn1} from './utils'; + +export function a() { + return 'a: ' + fn1(); +} diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents/b.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents/b.js new file mode 100644 index 00000000000..9cd1bb186b5 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents/b.js @@ -0,0 +1,5 @@ +import {fn2} from './utils'; + +export function b() { + return 'b: ' + fn2(); +} diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents/fn1.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents/fn1.js new file mode 100644 index 00000000000..0c96cbec6c3 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents/fn1.js @@ -0,0 +1,3 @@ +export function fn1() { + return 'fn1'; +} diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents/fn2.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents/fn2.js new file mode 100644 index 00000000000..313ad438042 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents/fn2.js @@ -0,0 +1,3 @@ +export function fn2() { + return 'fn2'; +} diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents/index.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents/index.js new file mode 100644 index 00000000000..7ee423ae600 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents/index.js @@ -0,0 +1,6 @@ +import {a} from './a'; +import {b} from './b'; + +output(a() + ' ' + b()); + +module.hot.accept(); diff --git a/packages/core/integration-tests/test/integration/hmr-multiple-parents/utils.js b/packages/core/integration-tests/test/integration/hmr-multiple-parents/utils.js new file mode 100644 index 00000000000..dc225d142a7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-multiple-parents/utils.js @@ -0,0 +1,2 @@ +export * from './fn1'; +export * from './fn2'; diff --git a/packages/core/integration-tests/test/integration/hmr-url/index.js b/packages/core/integration-tests/test/integration/hmr-url/index.js new file mode 100644 index 00000000000..bd75a9c761f --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-url/index.js @@ -0,0 +1,3 @@ +let url = new URL('test.txt', import.meta.url); +output(url); +module.hot.accept(); diff --git a/packages/core/integration-tests/test/integration/hmr-url/test.txt b/packages/core/integration-tests/test/integration/hmr-url/test.txt new file mode 100644 index 00000000000..32f95c0d124 --- /dev/null +++ b/packages/core/integration-tests/test/integration/hmr-url/test.txt @@ -0,0 +1 @@ +hi \ No newline at end of file diff --git a/packages/runtimes/hmr/src/loaders/hmr-runtime.js b/packages/runtimes/hmr/src/loaders/hmr-runtime.js index a32105f80d1..a3d6fc0c04f 100644 --- a/packages/runtimes/hmr/src/loaders/hmr-runtime.js +++ b/packages/runtimes/hmr/src/loaders/hmr-runtime.js @@ -292,6 +292,21 @@ function hmrApply(bundle /*: ParcelRequire */, asset /*: HMRAsset */) { } else if (asset.type === 'js') { let deps = asset.depsByBundle[bundle.HMR_BUNDLE_ID]; if (deps) { + if (modules[asset.id]) { + // Remove dependencies that are removed and will become orphaned. + // This is necessary so that if the asset is added back again, the cache is gone, and we prevent a full page reload. + let oldDeps = modules[asset.id][1]; + for (let dep in oldDeps) { + if (!deps[dep] || deps[dep] !== oldDeps[dep]) { + let id = oldDeps[dep]; + let parents = getParents(module.bundle.root, id); + if (parents.length === 1) { + hmrDelete(module.bundle.root, id); + } + } + } + } + var fn = new Function('require', 'module', 'exports', asset.output); modules[asset.id] = [fn, deps]; } else if (bundle.parent) { @@ -300,10 +315,73 @@ function hmrApply(bundle /*: ParcelRequire */, asset /*: HMRAsset */) { } } +function hmrDelete(bundle, id) { + let modules = bundle.modules; + if (!modules) { + return; + } + + if (modules[id]) { + // Collect dependencies that will become orphaned when this module is deleted. + let deps = modules[id][1]; + let orphans = []; + for (let dep in deps) { + let parents = getParents(module.bundle.root, deps[dep]); + if (parents.length === 1) { + orphans.push(deps[dep]); + } + } + + // Delete the module. This must be done before deleting dependencies in case of circular dependencies. + delete modules[id]; + delete bundle.cache[id]; + + // Now delete the orphans. + orphans.forEach(id => { + hmrDelete(module.bundle.root, id); + }); + } else if (bundle.parent) { + hmrDelete(bundle.parent, id); + } +} + function hmrAcceptCheck( bundle /*: ParcelRequire */, id /*: string */, depsByBundle /*: ?{ [string]: { [string]: string } }*/, +) { + if (hmrAcceptCheckOne(bundle, id, depsByBundle)) { + return true; + } + + // Traverse parents breadth first. All possible ancestries must accept the HMR update, or we'll reload. + let parents = getParents(module.bundle.root, id); + let accepted = false; + while (parents.length > 0) { + let v = parents.shift(); + let a = hmrAcceptCheckOne(v[0], v[1], null); + if (a) { + // If this parent accepts, stop traversing upward, but still consider siblings. + accepted = true; + } else { + // Otherwise, queue the parents in the next level upward. + let p = getParents(module.bundle.root, v[1]); + if (p.length === 0) { + // If there are no parents, then we've reached an entry without accepting. Reload. + accepted = false; + break; + } + parents.push(...p); + } + } + + return accepted; +} + +function hmrAcceptCheckOne( + bundle /*: ParcelRequire */, + id /*: string */, + depsByBundle /*: ?{ [string]: { [string]: string } }*/, ) { var modules = bundle.modules; if (!modules) { @@ -330,20 +408,9 @@ function hmrAcceptCheck( assetsToAccept.push([bundle, id]); - if (cached && cached.hot && cached.hot._acceptCallbacks.length) { + if (!cached || (cached.hot && cached.hot._acceptCallbacks.length)) { return true; } - - let parents = getParents(module.bundle.root, id); - - // If no parents, the asset is new. Prevent reloading the page. - if (!parents.length) { - return true; - } - - return parents.some(function (v) { - return hmrAcceptCheck(v[0], v[1], null); - }); } function hmrAcceptRun(bundle /*: ParcelRequire */, id /*: string */) { From 02e370069c912e5158a9ce08dbac320b5ea66400 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Tue, 4 Jan 2022 15:54:38 -0500 Subject: [PATCH 0165/1076] Enable transpiling node_modules (#7399) --- packages/core/core/src/Parcel.js | 3 +- packages/core/core/src/public/Environment.js | 16 ++++- .../babel-node-modules-jsx/.eslintrc.json | 6 ++ .../babel-node-modules-jsx/index.js | 4 ++ .../node_modules/foo/index.js | 3 + .../node_modules/foo/package.json | 3 + .../babel-node-modules-jsx/package.json | 5 ++ .../babel-node-modules-jsx/yarn.lock | 0 .../integration-tests/test/transpilation.js | 17 +++-- packages/transformers/js/src/JSTransformer.js | 68 +++++++++---------- 10 files changed, 83 insertions(+), 42 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/babel-node-modules-jsx/.eslintrc.json create mode 100644 packages/core/integration-tests/test/integration/babel-node-modules-jsx/index.js create mode 100644 packages/core/integration-tests/test/integration/babel-node-modules-jsx/node_modules/foo/index.js create mode 100644 packages/core/integration-tests/test/integration/babel-node-modules-jsx/node_modules/foo/package.json create mode 100644 packages/core/integration-tests/test/integration/babel-node-modules-jsx/package.json create mode 100644 packages/core/integration-tests/test/integration/babel-node-modules-jsx/yarn.lock diff --git a/packages/core/core/src/Parcel.js b/packages/core/core/src/Parcel.js index bc748d31b6c..02ee4b07046 100644 --- a/packages/core/core/src/Parcel.js +++ b/packages/core/core/src/Parcel.js @@ -164,7 +164,6 @@ export default class Parcel { this.#disposable.dispose(), await this.#requestTracker.writeToCache(), ]); - await this.#farm.callAllWorkers('clearConfigCache', []); } async _startNextBuild(): Promise { @@ -359,6 +358,8 @@ export default class Parcel { if (this.isProfiling) { await this.stopProfiling(); } + + await this.#farm.callAllWorkers('clearConfigCache', []); } } diff --git a/packages/core/core/src/public/Environment.js b/packages/core/core/src/public/Environment.js index 16e27070aea..4782de5ad46 100644 --- a/packages/core/core/src/public/Environment.js +++ b/packages/core/core/src/public/Environment.js @@ -57,13 +57,15 @@ const supportData = { edge: '16', firefox: '60', chrome: '61', - safari: '11', + safari: '10.1', opera: '48', - ios: '11', + ios: '10.3', android: '76', and_chr: '76', and_ff: '68', samsung: '8.2', + and_qq: '10.4', + op_mob: '64', }, 'dynamic-import': { edge: '76', @@ -76,6 +78,8 @@ const supportData = { and_chr: '63', and_ff: '67', samsung: '8', + and_qq: '10.4', + op_mob: '64', }, 'worker-module': { edge: '80', @@ -98,6 +102,8 @@ const supportData = { and_chr: '64', and_ff: '62', samsung: '9.2', + and_qq: '10.4', + op_mob: '64', }, 'arrow-functions': { chrome: '47', @@ -109,6 +115,12 @@ const supportData = { ios: '10', samsung: '5', electron: '0.36', + android: '50', + qq: '10.4', + baidu: '7.12', + kaios: '2.5', + and_qq: '12.12', + op_mob: '64', }, }; diff --git a/packages/core/integration-tests/test/integration/babel-node-modules-jsx/.eslintrc.json b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/.eslintrc.json new file mode 100644 index 00000000000..f89e231fa93 --- /dev/null +++ b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/.eslintrc.json @@ -0,0 +1,6 @@ +{ + "extends": "../.eslintrc.json", + "parserOptions": { + "sourceType": "module" + } +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/babel-node-modules-jsx/index.js b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/index.js new file mode 100644 index 00000000000..21b5030d8ab --- /dev/null +++ b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/index.js @@ -0,0 +1,4 @@ +import Foo from 'foo'; + +export {Foo}; +export class Bar {} diff --git a/packages/core/integration-tests/test/integration/babel-node-modules-jsx/node_modules/foo/index.js b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/node_modules/foo/index.js new file mode 100644 index 00000000000..14b30579450 --- /dev/null +++ b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/node_modules/foo/index.js @@ -0,0 +1,3 @@ +export default function Test() { + return
Test
+} diff --git a/packages/core/integration-tests/test/integration/babel-node-modules-jsx/node_modules/foo/package.json b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/node_modules/foo/package.json new file mode 100644 index 00000000000..bde99de9287 --- /dev/null +++ b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/node_modules/foo/package.json @@ -0,0 +1,3 @@ +{ + "name": "foo" +} diff --git a/packages/core/integration-tests/test/integration/babel-node-modules-jsx/package.json b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/package.json new file mode 100644 index 00000000000..8e8616ee3b0 --- /dev/null +++ b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/package.json @@ -0,0 +1,5 @@ +{ + "name": "parcel-test-browser-browserslist", + "private": true, + "browserslist": ["last 2 Chrome versions", "IE >= 11"] +} diff --git a/packages/core/integration-tests/test/integration/babel-node-modules-jsx/yarn.lock b/packages/core/integration-tests/test/integration/babel-node-modules-jsx/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/transpilation.js b/packages/core/integration-tests/test/transpilation.js index 7b1c2cca574..4ee4e9a6a05 100644 --- a/packages/core/integration-tests/test/transpilation.js +++ b/packages/core/integration-tests/test/transpilation.js @@ -56,17 +56,26 @@ describe('transpilation', function () { assert(modern.includes('class Bar')); }); - it('should not transpile node_modules by default', async function () { + it('should transpile node_modules by default', async function () { await bundle( path.join(__dirname, '/integration/babel-node-modules/index.js'), ); let file = await outputFS.readFile(path.join(distDir, 'index.js'), 'utf8'); - assert(/class \S+ \{/.test(file)); + assert(!/class \S+ \{/.test(file)); assert(file.includes('function Bar')); }); - it('should not compile node_modules with a source field in package.json when not symlinked', async function () { + it('should not support JSX in node_modules', async function () { + // $FlowFixMe + await assert.rejects(() => + bundle( + path.join(__dirname, '/integration/babel-node-modules-jsx/index.js'), + ), + ); + }); + + it('should compile node_modules with a source field in package.json when not symlinked', async function () { await bundle( path.join( __dirname, @@ -75,7 +84,7 @@ describe('transpilation', function () { ); let file = await outputFS.readFile(path.join(distDir, 'index.js'), 'utf8'); - assert(!file.includes('function Foo')); + assert(file.includes('function Foo')); assert(file.includes('function Bar')); }); diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index 61476bc84d7..2ba3eacfc9b 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -290,49 +290,47 @@ export default (new Transformer({ ]); let targets; - if (asset.isSource) { - if (asset.env.isElectron() && asset.env.engines.electron) { - targets = { - electron: semver.minVersion(asset.env.engines.electron)?.toString(), - }; - } else if (asset.env.isBrowser() && asset.env.engines.browsers) { - targets = {}; + if (asset.env.isElectron() && asset.env.engines.electron) { + targets = { + electron: semver.minVersion(asset.env.engines.electron)?.toString(), + }; + } else if (asset.env.isBrowser() && asset.env.engines.browsers) { + targets = {}; - let browsers = Array.isArray(asset.env.engines.browsers) - ? asset.env.engines.browsers - : [asset.env.engines.browsers]; + let browsers = Array.isArray(asset.env.engines.browsers) + ? asset.env.engines.browsers + : [asset.env.engines.browsers]; - // If the output format is esmodule, exclude browsers - // that support them natively so that we transpile less. - if (asset.env.outputFormat === 'esmodule') { - browsers = [...browsers, ...ESMODULE_BROWSERS]; - } + // If the output format is esmodule, exclude browsers + // that support them natively so that we transpile less. + if (asset.env.outputFormat === 'esmodule') { + browsers = [...browsers, ...ESMODULE_BROWSERS]; + } - browsers = browserslist(browsers); - for (let browser of browsers) { - let [name, version] = browser.split(' '); - if (BROWSER_MAPPING.hasOwnProperty(name)) { - name = BROWSER_MAPPING[name]; - if (!name) { - continue; - } + browsers = browserslist(browsers); + for (let browser of browsers) { + let [name, version] = browser.split(' '); + if (BROWSER_MAPPING.hasOwnProperty(name)) { + name = BROWSER_MAPPING[name]; + if (!name) { + continue; } + } - let [major, minor = '0', patch = '0'] = version - .split('-')[0] - .split('.'); - let semverVersion = `${major}.${minor}.${patch}`; + let [major, minor = '0', patch = '0'] = version + .split('-')[0] + .split('.'); + if (isNaN(major) || isNaN(minor) || isNaN(patch)) { + continue; + } + let semverVersion = `${major}.${minor}.${patch}`; - if ( - targets[name] == null || - semver.gt(targets[name], semverVersion) - ) { - targets[name] = semverVersion; - } + if (targets[name] == null || semver.gt(targets[name], semverVersion)) { + targets[name] = semverVersion; } - } else if (asset.env.isNode() && asset.env.engines.node) { - targets = {node: semver.minVersion(asset.env.engines.node)?.toString()}; } + } else if (asset.env.isNode() && asset.env.engines.node) { + targets = {node: semver.minVersion(asset.env.engines.node)?.toString()}; } let env: EnvMap = {}; From cee3b1cb574bac83461d73bb9a8a7862a5901936 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 4 Jan 2022 21:55:38 +0100 Subject: [PATCH 0166/1076] Fix React Fast Refresh for assets using the automatic runtime without any imports of "react" (#7519) --- packages/core/integration-tests/package.json | 4 +-- .../react-refresh-automatic/App.js | 14 ++++++++ .../react-refresh-automatic/Foo.1.js | 15 ++++++++ .../react-refresh-automatic/Foo.js | 14 ++++++++ .../react-refresh-automatic/hooks.js | 4 +++ .../react-refresh-automatic/index.html | 2 ++ .../react-refresh-automatic/index.js | 17 +++++++++ .../react-refresh-automatic/package.json | 6 ++++ .../integration-tests/test/react-refresh.js | 35 +++++++++++++++++++ .../integration-tests/test/webextension.js | 2 -- packages/core/is-v2-ready-yet/package.json | 4 +-- packages/examples/html/package.json | 4 +-- packages/examples/kitchen-sink/package.json | 4 +-- packages/examples/react-hmr/package.json | 4 +-- packages/examples/react-refresh/package.json | 4 +-- packages/examples/simple/package.json | 4 +-- packages/examples/ts-example/package.json | 4 +-- .../src/ReactRefreshWrapTransformer.js | 7 +++- yarn.lock | 30 ++++++++-------- 19 files changed, 143 insertions(+), 35 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/react-refresh-automatic/App.js create mode 100644 packages/core/integration-tests/test/integration/react-refresh-automatic/Foo.1.js create mode 100644 packages/core/integration-tests/test/integration/react-refresh-automatic/Foo.js create mode 100644 packages/core/integration-tests/test/integration/react-refresh-automatic/hooks.js create mode 100644 packages/core/integration-tests/test/integration/react-refresh-automatic/index.html create mode 100644 packages/core/integration-tests/test/integration/react-refresh-automatic/index.js create mode 100644 packages/core/integration-tests/test/integration/react-refresh-automatic/package.json diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index e2312221a35..e596adb1bd8 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -49,8 +49,8 @@ "posthtml-include": "^1.7.1", "posthtml-obfuscate": "^0.1.5", "preact": "^10.5.9", - "react": "^16.11.0", - "react-dom": "^16.11.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", "rimraf": "^2.6.1", "sugarss": "^3.0.3", "tailwindcss": "^3.0.2", diff --git a/packages/core/integration-tests/test/integration/react-refresh-automatic/App.js b/packages/core/integration-tests/test/integration/react-refresh-automatic/App.js new file mode 100644 index 00000000000..2165994a5d7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/react-refresh-automatic/App.js @@ -0,0 +1,14 @@ +import { useState } from "react"; +import ReactDOM from "react-dom"; +import Foo from "./Foo"; +import { act } from "react-dom/test-utils"; + +export const App = () => { + const [x] = useState(Math.random()); + + return ( +
+ {x} +
+ ); +}; diff --git a/packages/core/integration-tests/test/integration/react-refresh-automatic/Foo.1.js b/packages/core/integration-tests/test/integration/react-refresh-automatic/Foo.1.js new file mode 100644 index 00000000000..8943244fe35 --- /dev/null +++ b/packages/core/integration-tests/test/integration/react-refresh-automatic/Foo.1.js @@ -0,0 +1,15 @@ +// Don't import "react" to actually test automatic runtime check +import { useState } from "./hooks.js"; + +let Foo = () => { + const [x] = useState(Math.random()); + + return ( +
+ OtherFunctional: + {x} +
+ ); +}; + +export default Foo; diff --git a/packages/core/integration-tests/test/integration/react-refresh-automatic/Foo.js b/packages/core/integration-tests/test/integration/react-refresh-automatic/Foo.js new file mode 100644 index 00000000000..9e46850b458 --- /dev/null +++ b/packages/core/integration-tests/test/integration/react-refresh-automatic/Foo.js @@ -0,0 +1,14 @@ +// Don't import "react" to actually test automatic runtime check +import { useState } from "./hooks.js"; + +let Foo = () => { + const [x] = useState(Math.random()); + + return ( +
+ Functional:{x} +
+ ); +}; + +export default Foo; diff --git a/packages/core/integration-tests/test/integration/react-refresh-automatic/hooks.js b/packages/core/integration-tests/test/integration/react-refresh-automatic/hooks.js new file mode 100644 index 00000000000..c59b5617a58 --- /dev/null +++ b/packages/core/integration-tests/test/integration/react-refresh-automatic/hooks.js @@ -0,0 +1,4 @@ +import * as React from "react"; +export function useState(init){ + return React.useState(init); +} diff --git a/packages/core/integration-tests/test/integration/react-refresh-automatic/index.html b/packages/core/integration-tests/test/integration/react-refresh-automatic/index.html new file mode 100644 index 00000000000..4c99f276ba5 --- /dev/null +++ b/packages/core/integration-tests/test/integration/react-refresh-automatic/index.html @@ -0,0 +1,2 @@ +
+ diff --git a/packages/core/integration-tests/test/integration/react-refresh-automatic/index.js b/packages/core/integration-tests/test/integration/react-refresh-automatic/index.js new file mode 100644 index 00000000000..cb9588a7206 --- /dev/null +++ b/packages/core/integration-tests/test/integration/react-refresh-automatic/index.js @@ -0,0 +1,17 @@ +import { useState } from "react"; +import ReactDOM from "react-dom"; +import { App } from "./App"; +import { act } from "react-dom/test-utils"; + +let Main = () => { + const [x] = useState(Math.random()); + + return ( +
+ {x} +
+ ); +}; + +export default () => + act(async () => {ReactDOM.render(
, document.getElementById("root"));}); diff --git a/packages/core/integration-tests/test/integration/react-refresh-automatic/package.json b/packages/core/integration-tests/test/integration/react-refresh-automatic/package.json new file mode 100644 index 00000000000..5ade48efb2f --- /dev/null +++ b/packages/core/integration-tests/test/integration/react-refresh-automatic/package.json @@ -0,0 +1,6 @@ +{ + "dependencies": { + "react": "^17.0.0", + "react-dom": "^17.0.0" + } +} diff --git a/packages/core/integration-tests/test/react-refresh.js b/packages/core/integration-tests/test/react-refresh.js index 2a75b6156de..a9a2558c672 100644 --- a/packages/core/integration-tests/test/react-refresh.js +++ b/packages/core/integration-tests/test/react-refresh.js @@ -28,6 +28,41 @@ try { if (MessageChannel) { describe('react-refresh', function () { + describe('synchronous (automatic runtime)', () => { + const testDir = path.join( + __dirname, + '/integration/react-refresh-automatic', + ); + + let b, + root, + randoms = {}; + + beforeEach(async () => { + ({b, root, randoms} = await setup(path.join(testDir, 'index.html'))); + }); + + it('retains state in functional components', async function () { + await fs.mkdirp(testDir); + await fs.copyFile( + path.join(testDir, 'Foo.1.js'), + path.join(testDir, 'Foo.js'), + ); + assert.equal((await getNextBuild(b)).type, 'buildSuccess'); + + // Wait for the hmr-runtime to process the event + await sleep(100); + + let [, indexNum, appNum, fooText, fooNum] = root.textContent.match( + /^([\d.]+) ([\d.]+) ([\w]+):([\d.]+)$/, + ); + assert.equal(randoms.indexNum, indexNum); + assert.equal(randoms.appNum, appNum); + assert.equal(randoms.fooNum, fooNum); + assert.equal(fooText, 'OtherFunctional'); + }); + }); + describe('synchronous', () => { const testDir = path.join(__dirname, '/integration/react-refresh'); diff --git a/packages/core/integration-tests/test/webextension.js b/packages/core/integration-tests/test/webextension.js index d308b1c859a..f5299bb246e 100644 --- a/packages/core/integration-tests/test/webextension.js +++ b/packages/core/integration-tests/test/webextension.js @@ -62,13 +62,11 @@ describe('webextension', function () { { name: 'index-jsx.js', assets: [ - 'checkPropTypes.js', 'esmodule-helpers.js', 'index-jsx.jsx', 'index.js', 'index.js', 'react.development.js', - 'ReactPropTypesSecret.js', ], }, {assets: ['single.js', 'esmodule-helpers.js']}, diff --git a/packages/core/is-v2-ready-yet/package.json b/packages/core/is-v2-ready-yet/package.json index f6db2097ad4..10e2a9615c6 100644 --- a/packages/core/is-v2-ready-yet/package.json +++ b/packages/core/is-v2-ready-yet/package.json @@ -14,8 +14,8 @@ }, "dependencies": { "@parcel/integration-tests": "^2.0.1", - "react": "^16.6.3", - "react-dom": "^16.6.3", + "react": "^17.0.2", + "react-dom": "^17.0.2", "victory": "^31.0.1" }, "devDependencies": { diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index 9ad9b3a3ced..e62090f40c1 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -17,7 +17,7 @@ }, "dependencies": { "lodash": "^4.17.11", - "react": "^16.6.3", - "react-dom": "^16.6.3" + "react": "^17.0.2", + "react-dom": "^17.0.2" } } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index c8b1dcfd050..99268ed9e2c 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -34,7 +34,7 @@ }, "dependencies": { "lodash": "^4.17.11", - "react": "^16.6.3", - "react-dom": "^16.6.3" + "react": "^17.0.2", + "react-dom": "^17.0.2" } } diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 5963dd248f9..66637f74c68 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -28,7 +28,7 @@ } }, "dependencies": { - "react": "^16.6.3", - "react-dom": "^16.6.3" + "react": "^17.0.2", + "react-dom": "^17.0.2" } } diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 173179641fd..0cc457f512d 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -11,7 +11,7 @@ "@parcel/core": "^2.0.1" }, "dependencies": { - "react": "^16.11.0", - "react-dom": "^16.11.0" + "react": "^17.0.2", + "react-dom": "^17.0.2" } } diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index 082c2a02889..b8ba290e6a7 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -24,7 +24,7 @@ }, "dependencies": { "lodash": "^4.17.11", - "react": "^16.6.3", - "react-dom": "^16.6.3" + "react": "^17.0.2", + "react-dom": "^17.0.2" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index f3771d55c20..77f5a300eb2 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -15,7 +15,7 @@ "types": "dist/types.d.ts", "dependencies": { "lodash": "^4.17.11", - "react": "^16.6.3", - "react-dom": "^16.6.3" + "react": "^17.0.2", + "react-dom": "^17.0.2" } } diff --git a/packages/transformers/react-refresh-wrap/src/ReactRefreshWrapTransformer.js b/packages/transformers/react-refresh-wrap/src/ReactRefreshWrapTransformer.js index 7bd22e1cdfe..faa50400114 100644 --- a/packages/transformers/react-refresh-wrap/src/ReactRefreshWrapTransformer.js +++ b/packages/transformers/react-refresh-wrap/src/ReactRefreshWrapTransformer.js @@ -13,7 +13,12 @@ function shouldExclude(asset, options) { options.mode !== 'development' || !asset .getDependencies() - .find(v => v.specifier === 'react' || v.specifier === 'react/jsx-runtime') + .find( + v => + v.specifier === 'react' || + v.specifier === 'react/jsx-runtime' || + v.specifier === 'react/jsx-dev-runtime', + ) ); } diff --git a/yarn.lock b/yarn.lock index ae1c561d91b..630fb754ce2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10791,7 +10791,7 @@ promzard@^0.3.0: dependencies: read "1" -prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.8, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -11087,15 +11087,14 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-dom@^16.11.0, react-dom@^16.6.3: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" - integrity sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw== +react-dom@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.18.0" + scheduler "^0.20.2" react-fast-compare@^2.0.0: version "2.0.4" @@ -11112,14 +11111,13 @@ react-refresh@^0.9.0: resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz#71863337adc3e5c2f8a6bfddd12ae3bfe32aafbf" integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== -react@^16.11.0, react@^16.6.3: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" - integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== +react@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" read-cache@^1.0.0: version "1.0.0" @@ -11807,10 +11805,10 @@ saxes@^3.1.9: dependencies: xmlchars "^2.1.1" -scheduler@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4" - integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ== +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" From 6d654c1ee9eab431453f717bd30161a0355d8f67 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 4 Jan 2022 21:56:07 +0100 Subject: [PATCH 0167/1076] Don't publish example to npm (#7521) --- packages/examples/internalize-example/package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/examples/internalize-example/package.json b/packages/examples/internalize-example/package.json index 56afc15e830..557bf640873 100644 --- a/packages/examples/internalize-example/package.json +++ b/packages/examples/internalize-example/package.json @@ -1,4 +1,6 @@ { "name": "internalize-example", - "version": "2.0.1" + "version": "2.0.1", + "license": "MIT", + "private": true } From e6c96774a9e1712a5fb2e9fd84f4b708130a387c Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 4 Jan 2022 21:58:59 +0100 Subject: [PATCH 0168/1076] Fix PARCEL_DUMP_GRAPHVIZ (#7512) --- packages/core/core/src/dumpGraphToGraphViz.js | 21 ++----------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/packages/core/core/src/dumpGraphToGraphViz.js b/packages/core/core/src/dumpGraphToGraphViz.js index 8eada354afb..e0c6799636d 100644 --- a/packages/core/core/src/dumpGraphToGraphViz.js +++ b/packages/core/core/src/dumpGraphToGraphViz.js @@ -135,23 +135,6 @@ export default async function dumpGraphToGraphViz( } else { label += '\\nsymbols: cleared'; } - } - } else if (node.type === 'asset') { - label += - path.basename(fromProjectPathRelative(node.value.filePath)) + - '#' + - node.value.type; - if (detailedSymbols) { - if (!node.value.symbols) { - label += '\\nsymbols: cleared'; - } else if (node.value.symbols.size) { - label += - '\\nsymbols: ' + - [...node.value.symbols].map(([e, {local}]) => [e, local]).join(';'); - } - if (node.usedSymbols.size) { - label += '\\nusedSymbols: ' + [...node.usedSymbols].join(','); - } } else if (node.type === 'asset_group') { if (node.deferred) label += '(deferred)'; // $FlowFixMe @@ -166,8 +149,8 @@ export default async function dumpGraphToGraphViz( } else if (node.type === 'bundle') { let parts = []; if (node.value.needsStableName) parts.push('stable name'); - if (node.value.name) parts.push('[name ', node.value.name, ']'); - parts.push('bb-', node.value.bundleBehavior); + parts.push(node.value.name); + parts.push('bb:' + (node.value.bundleBehavior ?? 'null')); if (parts.length) label += ' (' + parts.join(', ') + ')'; if (node.value.env) label += ` (${getEnvDescription(node.value.env)})`; // $FlowFixMe From 18a5bb4f6eae57faca1f15032f0d5818c50c985e Mon Sep 17 00:00:00 2001 From: 101arrowz Date: Tue, 4 Jan 2022 21:09:04 -0800 Subject: [PATCH 0169/1076] Use level 9 Zlib compression (#7513) --- packages/compressors/gzip/src/GzipCompressor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/compressors/gzip/src/GzipCompressor.js b/packages/compressors/gzip/src/GzipCompressor.js index 9bd81889d76..cfcfbcfbebf 100644 --- a/packages/compressors/gzip/src/GzipCompressor.js +++ b/packages/compressors/gzip/src/GzipCompressor.js @@ -9,7 +9,7 @@ export default (new Compressor({ } return { - stream: stream.pipe(zlib.createGzip()), + stream: stream.pipe(zlib.createGzip({level: 9})), type: 'gz', }; }, From 3ef2299a647a6054407c26fea342b855403820dd Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 5 Jan 2022 10:38:24 -0500 Subject: [PATCH 0170/1076] Update changelog --- CHANGELOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 83415dcc280..1cd9e1a12d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,52 @@ All notable changes to Parcel will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and Parcel adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.1.0] - 2021-01-05 + +### Added + +- Enable transpiling node_modules by default - [Details](https://github.com/parcel-bundler/parcel/pull/7399) +- Rewrite core graph data structure to be backed by SharedArrayBuffer - [Details](https://github.com/parcel-bundler/parcel/pull/6922) +- Statically analyze symbols and enable deferred compilation of re-exported modules in development - [Details](https://github.com/parcel-bundler/parcel/pull/7222) +- Store large blobs as separate files in the cache rather than in LMDB - [Details](https://github.com/parcel-bundler/parcel/pull/7198) +- Add `@parcel/optimizer-css` for new work in progress CSS minifier - [Details](https://github.com/parcel-bundler/parcel/pull/7340) +- Add `@parcel/bundler-experimental`, a much faster work in progress rewrite of Parcel's bundling algorithm - [Details](https://github.com/parcel-bundler/parcel/pull/6975) +- Support `href` attribute in SVG `` tags within HTML - [Details](https://github.com/parcel-bundler/parcel/pull/7482) +- Throw diagnostic with code frame when loading JSON5 configs - [Details](https://github.com/parcel-bundler/parcel/pull/7451) + +### Fixed + +- Fix HMR behavior with CSS Modules - [Details](https://github.com/parcel-bundler/parcel/pull/7434) +- Fix HMR full page reload when not accepted - [Details](https://github.com/parcel-bundler/parcel/pull/7514) +- Fix HMR when an asset has multiple ancestries - [Details](https://github.com/parcel-bundler/parcel/pull/7514) +- Fix source maps in `@parcel/transformer-typescript-tsc` - [Details](https://github.com/parcel-bundler/parcel/pull/7287) +- Fix TypeScript module augmentation in `@parcel/transformers-typescript-types` - [Details](https://github.com/parcel-bundler/parcel/pull/7315) +- Fix TypeScript type generation when tsconfig's "incremental" option is true - [Details](https://github.com/parcel-bundler/parcel/pull/7352) +- Fix `createImportSpecifier` with TypeScript 4.5+ - [Details](https://github.com/parcel-bundler/parcel/pull/7426) +- Fix error on re-exported type when building TypeScript definitions - [Details](https://github.com/parcel-bundler/parcel/pull/7424) +- Fix error when displaying "does not export" errors - [Details](https://github.com/parcel-bundler/parcel/pull/7295) +- Ensure "does not export" error is shown during cached builds - [Details](https://github.com/parcel-bundler/parcel/pull/7337) +- Fix glob matching in package.json `"sideEffects"` field - [Details](https://github.com/parcel-bundler/parcel/pull/7288) +- Fix `semver` dependency version range - [Details](https://github.com/parcel-bundler/parcel/pull/7334) +- Do not error on external Node builtins in libraries - [Details](https://github.com/parcel-bundler/parcel/pull/7348) +- Reject browser js loader promise with `Error` object - [Details](https://github.com/parcel-bundler/parcel/pull/7236) +- Show diagnostics for Elm compiler errors - [Details](https://github.com/parcel-bundler/parcel/pull/7326) +- Don't fail build on empty dependency attributes in HTML - [Details](https://github.com/parcel-bundler/parcel/pull/7318) +- Fix require statements with plain template literals - [Details](https://github.com/parcel-bundler/parcel/pull/7369) +- Update `lmdb-store` to v2 - [Details](https://github.com/parcel-bundler/parcel/pull/7364) +- Bump swc - [Details](https://github.com/parcel-bundler/parcel/pull/7394) +- Correctly pad numbers in `@parcel/hash` browser polyfill - [Details](https://github.com/parcel-bundler/parcel/pull/7415) +- Upstream some changes from the REPL - [Details](https://github.com/parcel-bundler/parcel/pull/7208) +- Allow empty string in TOML config - [Details](https://github.com/parcel-bundler/parcel/pull/7418) +- Make `BundleGraph#getReferencedBundle` faster - [Details](https://github.com/parcel-bundler/parcel/pull/7416) +- Workaround segfault with old glibc versions on CentOS 7 - [Details](https://github.com/parcel-bundler/parcel/pull/7457) +- Use modern JSX runtime when React is aliased to Preact - [Details](https://github.com/parcel-bundler/parcel/pull/7435) +- Fix React version check when dependency is a URL - [Details](https://github.com/parcel-bundler/parcel/pull/7484) +- Sync peer dependency versions when releasing Parcel - [Details](https://github.com/parcel-bundler/parcel/pull/7489) +- Fix Tailwind in SASS - [Details](https://github.com/parcel-bundler/parcel/pull/7448) +- Don't run Gzip and Brotli compressors in development - [Details](https://github.com/parcel-bundler/parcel/pull/7510) +- Use level 9 Zlib compression by default - [Details](https://github.com/parcel-bundler/parcel/pull/7513) + ## [2.0.1] - 2021-11-08 ### Fixed From 5a80fbe4af8797d0aab248a66f5254f42f00e83e Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 5 Jan 2022 10:41:27 -0500 Subject: [PATCH 0171/1076] v2.1.0 --- packages/bundlers/default/package.json | 12 +- packages/bundlers/experimental/package.json | 14 +-- packages/compressors/brotli/package.json | 6 +- packages/compressors/gzip/package.json | 6 +- packages/compressors/raw/package.json | 6 +- packages/configs/default/package.json | 110 +++++++++--------- packages/configs/webextension/package.json | 10 +- packages/core/cache/package.json | 10 +- packages/core/codeframe/package.json | 2 +- packages/core/core/package.json | 28 ++--- packages/core/diagnostic/package.json | 2 +- packages/core/fs/package.json | 14 +-- packages/core/graph/package.json | 4 +- packages/core/integration-tests/package.json | 6 +- packages/core/is-v2-ready-yet/package.json | 4 +- packages/core/logger/package.json | 6 +- packages/core/markdown-ansi/package.json | 2 +- packages/core/package-manager/package.json | 16 +-- packages/core/parcel/package.json | 24 ++-- packages/core/plugin/package.json | 4 +- packages/core/register/package.json | 10 +- packages/core/test-utils/package.json | 12 +- packages/core/types/package.json | 12 +- packages/core/utils/package.json | 12 +- packages/core/workers/package.json | 12 +- packages/dev/babel-preset/package.json | 2 +- packages/dev/babel-register/package.json | 4 +- .../dev/eslint-config-browser/package.json | 4 +- packages/dev/eslint-config/package.json | 4 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 2 +- packages/examples/eslint-example/package.json | 8 +- packages/examples/html/package.json | 6 +- .../examples/internalize-example/package.json | 2 +- packages/examples/kitchen-sink/package.json | 12 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 6 +- packages/examples/simple/package.json | 6 +- packages/examples/three/package.json | 6 +- packages/examples/ts-example/package.json | 6 +- .../ts-typecheck-example/package.json | 8 +- packages/namers/default/package.json | 8 +- packages/optimizers/blob-url/package.json | 8 +- packages/optimizers/css/package.json | 8 +- packages/optimizers/cssnano/package.json | 6 +- packages/optimizers/data-url/package.json | 8 +- packages/optimizers/esbuild/package.json | 10 +- packages/optimizers/htmlnano/package.json | 6 +- packages/optimizers/image/package.json | 12 +- packages/optimizers/svgo/package.json | 10 +- packages/optimizers/swc/package.json | 8 +- packages/optimizers/terser/package.json | 10 +- packages/packagers/css/package.json | 8 +- packages/packagers/html/package.json | 10 +- packages/packagers/js/package.json | 12 +- packages/packagers/raw-url/package.json | 8 +- packages/packagers/raw/package.json | 6 +- packages/packagers/svg/package.json | 10 +- packages/packagers/ts/package.json | 6 +- packages/packagers/xml/package.json | 10 +- packages/reporters/build-metrics/package.json | 8 +- .../reporters/bundle-analyzer/package.json | 10 +- packages/reporters/bundle-buddy/package.json | 6 +- packages/reporters/cli/package.json | 10 +- packages/reporters/dev-server/package.json | 12 +- packages/reporters/json/package.json | 10 +- .../sourcemap-visualiser/package.json | 10 +- packages/resolvers/default/package.json | 8 +- packages/resolvers/glob/package.json | 10 +- packages/runtimes/hmr/package.json | 8 +- packages/runtimes/js/package.json | 8 +- packages/runtimes/react-refresh/package.json | 8 +- packages/runtimes/service-worker/package.json | 8 +- packages/shared/babel-ast-utils/package.json | 6 +- packages/transformers/babel/package.json | 14 +-- .../transformers/coffeescript/package.json | 8 +- packages/transformers/css/package.json | 8 +- packages/transformers/elm/package.json | 8 +- packages/transformers/glsl/package.json | 6 +- packages/transformers/graphql/package.json | 6 +- packages/transformers/html/package.json | 10 +- packages/transformers/image/package.json | 8 +- .../transformers/inline-string/package.json | 6 +- packages/transformers/inline/package.json | 6 +- packages/transformers/js/package.json | 12 +- packages/transformers/json/package.json | 6 +- packages/transformers/jsonld/package.json | 8 +- packages/transformers/less/package.json | 6 +- packages/transformers/mdx/package.json | 6 +- packages/transformers/postcss/package.json | 10 +- packages/transformers/posthtml/package.json | 8 +- packages/transformers/pug/package.json | 6 +- packages/transformers/raw/package.json | 6 +- .../react-refresh-wrap/package.json | 8 +- packages/transformers/sass/package.json | 6 +- packages/transformers/stylus/package.json | 8 +- packages/transformers/sugarss/package.json | 6 +- packages/transformers/svg-react/package.json | 6 +- packages/transformers/svg/package.json | 10 +- packages/transformers/toml/package.json | 6 +- .../transformers/typescript-tsc/package.json | 8 +- .../typescript-types/package.json | 10 +- packages/transformers/vue/package.json | 10 +- .../transformers/webextension/package.json | 10 +- .../transformers/webmanifest/package.json | 10 +- packages/transformers/worklet/package.json | 6 +- packages/transformers/xml/package.json | 6 +- packages/transformers/yaml/package.json | 6 +- .../package.json | 4 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/babylon-walk/package.json | 2 +- packages/utils/create-react-app/package.json | 4 +- packages/utils/events/package.json | 2 +- packages/utils/fs-search/package.json | 2 +- .../utils/fs-write-stream-atomic/package.json | 2 +- packages/utils/hash/package.json | 2 +- packages/utils/node-libs-browser/package.json | 2 +- .../utils/node-resolver-core/package.json | 8 +- packages/utils/service-worker/package.json | 4 +- packages/utils/ts-utils/package.json | 2 +- packages/validators/eslint/package.json | 8 +- packages/validators/typescript/package.json | 14 +-- 122 files changed, 517 insertions(+), 517 deletions(-) diff --git a/packages/bundlers/default/package.json b/packages/bundlers/default/package.json index 832adbfb4ee..358a0439a0d 100644 --- a/packages/bundlers/default/package.json +++ b/packages/bundlers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-default", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/DefaultBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/hash": "^2.1.0", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1" } } diff --git a/packages/bundlers/experimental/package.json b/packages/bundlers/experimental/package.json index c486af4d24c..0b1729e05cc 100644 --- a/packages/bundlers/experimental/package.json +++ b/packages/bundlers/experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-experimental", - "version": "2.0.0-rc.0", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/ExperimentalBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/graph": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/graph": "^2.1.0", + "@parcel/hash": "^2.1.0", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1" } } diff --git a/packages/compressors/brotli/package.json b/packages/compressors/brotli/package.json index da5c760c86a..3cd123b305b 100644 --- a/packages/compressors/brotli/package.json +++ b/packages/compressors/brotli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-brotli", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BrotliCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/compressors/gzip/package.json b/packages/compressors/gzip/package.json index d4e0204fb19..19380563582 100644 --- a/packages/compressors/gzip/package.json +++ b/packages/compressors/gzip/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-gzip", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/GzipCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/compressors/raw/package.json b/packages/compressors/raw/package.json index 70c64b029b0..b8ace809232 100644 --- a/packages/compressors/raw/package.json +++ b/packages/compressors/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-raw", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index b6e33ce7640..4c86a9b0e20 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-default", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,63 +18,63 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "^2.0.1", - "@parcel/compressor-raw": "^2.0.1", - "@parcel/namer-default": "^2.0.1", - "@parcel/optimizer-cssnano": "^2.0.1", - "@parcel/optimizer-htmlnano": "^2.0.1", - "@parcel/optimizer-image": "^2.0.1", - "@parcel/optimizer-svgo": "^2.0.1", - "@parcel/optimizer-terser": "^2.0.1", - "@parcel/packager-css": "^2.0.1", - "@parcel/packager-html": "^2.0.1", - "@parcel/packager-js": "^2.0.1", - "@parcel/packager-raw": "^2.0.1", - "@parcel/packager-svg": "^2.0.1", - "@parcel/reporter-dev-server": "^2.0.1", - "@parcel/resolver-default": "^2.0.1", - "@parcel/runtime-browser-hmr": "^2.0.1", - "@parcel/runtime-js": "^2.0.1", - "@parcel/runtime-react-refresh": "^2.0.1", - "@parcel/runtime-service-worker": "^2.0.1", - "@parcel/transformer-babel": "^2.0.1", - "@parcel/transformer-css": "^2.0.1", - "@parcel/transformer-html": "^2.0.1", - "@parcel/transformer-image": "^2.0.1", - "@parcel/transformer-js": "^2.0.1", - "@parcel/transformer-json": "^2.0.1", - "@parcel/transformer-postcss": "^2.0.1", - "@parcel/transformer-posthtml": "^2.0.1", - "@parcel/transformer-raw": "^2.0.1", - "@parcel/transformer-react-refresh-wrap": "^2.0.1", - "@parcel/transformer-svg": "^2.0.1" + "@parcel/bundler-default": "^2.1.0", + "@parcel/compressor-raw": "^2.1.0", + "@parcel/namer-default": "^2.1.0", + "@parcel/optimizer-cssnano": "^2.1.0", + "@parcel/optimizer-htmlnano": "^2.1.0", + "@parcel/optimizer-image": "^2.1.0", + "@parcel/optimizer-svgo": "^2.1.0", + "@parcel/optimizer-terser": "^2.1.0", + "@parcel/packager-css": "^2.1.0", + "@parcel/packager-html": "^2.1.0", + "@parcel/packager-js": "^2.1.0", + "@parcel/packager-raw": "^2.1.0", + "@parcel/packager-svg": "^2.1.0", + "@parcel/reporter-dev-server": "^2.1.0", + "@parcel/resolver-default": "^2.1.0", + "@parcel/runtime-browser-hmr": "^2.1.0", + "@parcel/runtime-js": "^2.1.0", + "@parcel/runtime-react-refresh": "^2.1.0", + "@parcel/runtime-service-worker": "^2.1.0", + "@parcel/transformer-babel": "^2.1.0", + "@parcel/transformer-css": "^2.1.0", + "@parcel/transformer-html": "^2.1.0", + "@parcel/transformer-image": "^2.1.0", + "@parcel/transformer-js": "^2.1.0", + "@parcel/transformer-json": "^2.1.0", + "@parcel/transformer-postcss": "^2.1.0", + "@parcel/transformer-posthtml": "^2.1.0", + "@parcel/transformer-raw": "^2.1.0", + "@parcel/transformer-react-refresh-wrap": "^2.1.0", + "@parcel/transformer-svg": "^2.1.0" }, "parcelDependencies": { - "@parcel/optimizer-data-url": "^2.0.1", - "@parcel/packager-raw-url": "^2.0.1", - "@parcel/packager-ts": "^2.0.1", - "@parcel/packager-xml": "^2.0.1", - "@parcel/transformer-coffeescript": "^2.0.1", - "@parcel/transformer-elm": "^2.0.1", - "@parcel/transformer-glsl": "^2.0.1", - "@parcel/transformer-graphql": "^2.0.1", - "@parcel/transformer-inline-string": "^2.0.1", - "@parcel/transformer-jsonld": "^2.0.1", - "@parcel/transformer-less": "^2.0.1", - "@parcel/transformer-mdx": "^2.0.1", - "@parcel/transformer-pug": "^2.0.1", - "@parcel/transformer-sass": "^2.0.1", - "@parcel/transformer-stylus": "^2.0.1", - "@parcel/transformer-sugarss": "^2.0.1", - "@parcel/transformer-toml": "^2.0.1", - "@parcel/transformer-typescript-types": "^2.0.1", - "@parcel/transformer-vue": "^2.0.1", - "@parcel/transformer-webmanifest": "^2.0.1", - "@parcel/transformer-worklet": "^2.0.1", - "@parcel/transformer-xml": "^2.0.1", - "@parcel/transformer-yaml": "^2.0.1" + "@parcel/optimizer-data-url": "^2.1.0", + "@parcel/packager-raw-url": "^2.1.0", + "@parcel/packager-ts": "^2.1.0", + "@parcel/packager-xml": "^2.1.0", + "@parcel/transformer-coffeescript": "^2.1.0", + "@parcel/transformer-elm": "^2.1.0", + "@parcel/transformer-glsl": "^2.1.0", + "@parcel/transformer-graphql": "^2.1.0", + "@parcel/transformer-inline-string": "^2.1.0", + "@parcel/transformer-jsonld": "^2.1.0", + "@parcel/transformer-less": "^2.1.0", + "@parcel/transformer-mdx": "^2.1.0", + "@parcel/transformer-pug": "^2.1.0", + "@parcel/transformer-sass": "^2.1.0", + "@parcel/transformer-stylus": "^2.1.0", + "@parcel/transformer-sugarss": "^2.1.0", + "@parcel/transformer-toml": "^2.1.0", + "@parcel/transformer-typescript-types": "^2.1.0", + "@parcel/transformer-vue": "^2.1.0", + "@parcel/transformer-webmanifest": "^2.1.0", + "@parcel/transformer-worklet": "^2.1.0", + "@parcel/transformer-xml": "^2.1.0", + "@parcel/transformer-yaml": "^2.1.0" }, "peerDependencies": { - "@parcel/core": "^2.0.1" + "@parcel/core": "^2.1.0" } } diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index cea27e410fa..0d8f4058ce2 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-webextension", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,9 +15,9 @@ }, "main": "index.json", "dependencies": { - "@parcel/config-default": "^2.0.1", - "@parcel/packager-raw-url": "^2.0.1", - "@parcel/transformer-raw": "^2.0.1", - "@parcel/transformer-webextension": "^2.0.1" + "@parcel/config-default": "^2.1.0", + "@parcel/packager-raw-url": "^2.1.0", + "@parcel/transformer-raw": "^2.1.0", + "@parcel/transformer-webextension": "^2.1.0" } } diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 397064b9eb4..7a86931a9b0 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/cache", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -24,13 +24,13 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/fs": "^2.1.0", + "@parcel/logger": "^2.1.0", + "@parcel/utils": "^2.1.0", "lmdb": "^2.0.2" }, "peerDependencies": { - "@parcel/core": "^2.0.1" + "@parcel/core": "^2.1.0" }, "devDependencies": { "idb": "^5.0.8" diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index 41c70669234..ff357b4a021 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/codeframe", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 8296f1195aa..20f5345fb98 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/core", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -24,19 +24,19 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/events": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/graph": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/package-manager": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/cache": "^2.1.0", + "@parcel/diagnostic": "^2.1.0", + "@parcel/events": "^2.1.0", + "@parcel/fs": "^2.1.0", + "@parcel/graph": "^2.1.0", + "@parcel/hash": "^2.1.0", + "@parcel/logger": "^2.1.0", + "@parcel/package-manager": "^2.1.0", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0", + "@parcel/workers": "^2.1.0", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", @@ -45,8 +45,8 @@ "dotenv-expand": "^5.1.0", "json-source-map": "^0.6.1", "json5": "^1.0.1", - "msgpackr": "^1.5.1", "micromatch": "^4.0.2", + "msgpackr": "^1.5.1", "nullthrows": "^1.1.1", "semver": "^5.7.1" }, diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index b654ef165bf..6e8445f8d8b 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/diagnostic", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index 210dd6ada6f..c93d2efa3c4 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -25,12 +25,12 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs-search": "^2.0.1", - "@parcel/fs-write-stream-atomic": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/fs-search": "^2.1.0", + "@parcel/fs-write-stream-atomic": "^2.1.0", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "^2.0.1", + "@parcel/workers": "^2.1.0", "graceful-fs": "^4.2.4", "mkdirp": "^0.5.1", "ncp": "^2.0.0", @@ -39,7 +39,7 @@ "utility-types": "^3.10.0" }, "peerDependencies": { - "@parcel/core": "^2.0.1" + "@parcel/core": "^2.1.0" }, "browser": { "./src/NodeFS.js": "./src/NodeFS.browser.js" diff --git a/packages/core/graph/package.json b/packages/core/graph/package.json index 3280805426c..fec138c901b 100644 --- a/packages/core/graph/package.json +++ b/packages/core/graph/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/graph", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1" } } diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index e596adb1bd8..2397e476a64 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/integration-tests", - "version": "2.0.1", + "version": "2.1.0", "private": true, "license": "MIT", "repository": { @@ -12,7 +12,6 @@ "test-ci": "yarn test --reporter mocha-multi-reporters --reporter-options configFile=./test/mochareporters.json" }, "devDependencies": { - "autoprefixer": "^10.4.0", "@babel/core": "^7.12.0", "@babel/plugin-syntax-class-properties": "^7.12.1", "@babel/plugin-syntax-export-default-from": "^7.2.0", @@ -22,6 +21,7 @@ "@babel/preset-typescript": "^7.14.5", "@jetbrains/kotlinc-js-api": "^1.2.12", "@mdx-js/react": "^1.5.3", + "autoprefixer": "^10.4.0", "chalk": "^4.1.0", "codecov": "^3.0.0", "command-exists": "^1.2.6", @@ -42,7 +42,7 @@ "ncp": "^2.0.0", "nib": "^1.1.2", "node-elm-compiler": "^5.0.5", - "parcel": "^2.0.1", + "parcel": "^2.1.0", "postcss": "^8.3.0", "postcss-custom-properties": "^11.0.0", "postcss-import": "^14.0.2", diff --git a/packages/core/is-v2-ready-yet/package.json b/packages/core/is-v2-ready-yet/package.json index 10e2a9615c6..6b83448dfdc 100644 --- a/packages/core/is-v2-ready-yet/package.json +++ b/packages/core/is-v2-ready-yet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/is-v2-ready-yet", - "version": "2.0.1", + "version": "2.1.0", "private": true, "license": "MIT", "repository": { @@ -13,7 +13,7 @@ "build-app": "yarn parcel build index.html" }, "dependencies": { - "@parcel/integration-tests": "^2.0.1", + "@parcel/integration-tests": "^2.1.0", "react": "^17.0.2", "react-dom": "^17.0.2", "victory": "^31.0.1" diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 1de22920df7..20edbe0cb57 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/logger", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/events": "^2.0.1" + "@parcel/diagnostic": "^2.1.0", + "@parcel/events": "^2.1.0" } } diff --git a/packages/core/markdown-ansi/package.json b/packages/core/markdown-ansi/package.json index f78299bbdd7..25ab34c137f 100644 --- a/packages/core/markdown-ansi/package.json +++ b/packages/core/markdown-ansi/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/markdown-ansi", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "publishConfig": { "access": "public" diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index f8f1cb2281b..81126dd3a6f 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/package-manager", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -25,12 +25,12 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/fs": "^2.1.0", + "@parcel/logger": "^2.1.0", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0", + "@parcel/workers": "^2.1.0", "command-exists": "^1.2.6", "cross-spawn": "^6.0.4", "nullthrows": "^1.1.1", @@ -38,7 +38,7 @@ "split2": "^3.1.1" }, "peerDependencies": { - "@parcel/core": "^2.0.1" + "@parcel/core": "^2.1.0" }, "browser": { "./src/Npm.js": false, diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index dd0376e0e28..dcdc74b5d76 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -1,6 +1,6 @@ { "name": "parcel", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,22 +21,22 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.0.1", - "@parcel/core": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/events": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/package-manager": "^2.0.1", - "@parcel/reporter-cli": "^2.0.1", - "@parcel/reporter-dev-server": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/config-default": "^2.1.0", + "@parcel/core": "^2.1.0", + "@parcel/diagnostic": "^2.1.0", + "@parcel/events": "^2.1.0", + "@parcel/fs": "^2.1.0", + "@parcel/logger": "^2.1.0", + "@parcel/package-manager": "^2.1.0", + "@parcel/reporter-cli": "^2.1.0", + "@parcel/reporter-dev-server": "^2.1.0", + "@parcel/utils": "^2.1.0", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.0.1" + "@parcel/babel-register": "^2.1.0" } } diff --git a/packages/core/plugin/package.json b/packages/core/plugin/package.json index 852b3f0c1af..2b9a7fa32be 100644 --- a/packages/core/plugin/package.json +++ b/packages/core/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/plugin", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ "check-ts": "tsc --noEmit src/PluginAPI.d.ts" }, "dependencies": { - "@parcel/types": "^2.0.1" + "@parcel/types": "^2.1.0" } } diff --git a/packages/core/register/package.json b/packages/core/register/package.json index a8d3bb43886..1657d08a50c 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/register", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,10 +23,10 @@ "clean": "rimraf .parcel-cache" }, "dependencies": { - "@parcel/config-default": "^2.0.1", - "@parcel/core": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/package-manager": "^2.0.1", + "@parcel/config-default": "^2.1.0", + "@parcel/core": "^2.1.0", + "@parcel/fs": "^2.1.0", + "@parcel/package-manager": "^2.1.0", "deasync": "^0.1.14", "pirates": "^4.0.0" } diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index 427bad01863..31d6bc24a50 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/test-utils", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -13,11 +13,11 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.0.1", - "@parcel/core": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/package-manager": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/config-default": "^2.1.0", + "@parcel/core": "^2.1.0", + "@parcel/fs": "^2.1.0", + "@parcel/package-manager": "^2.1.0", + "@parcel/utils": "^2.1.0", "chalk": "^4.1.0", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/types/package.json b/packages/core/types/package.json index af6f2e1bc73..8397a36126c 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/types", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "main": "src/index.js", "types": "lib/index.d.ts", @@ -16,12 +16,12 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/package-manager": "^2.0.1", + "@parcel/cache": "^2.1.0", + "@parcel/diagnostic": "^2.1.0", + "@parcel/fs": "^2.1.0", + "@parcel/package-manager": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "^2.0.1", + "@parcel/workers": "^2.1.0", "utility-types": "^3.10.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 1e752b9a81e..bcb2f24313d 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/utils", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,11 +21,11 @@ }, "dependencies": { "@iarna/toml": "^2.2.0", - "@parcel/codeframe": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/markdown-ansi": "^2.0.1", + "@parcel/codeframe": "^2.1.0", + "@parcel/diagnostic": "^2.1.0", + "@parcel/hash": "^2.1.0", + "@parcel/logger": "^2.1.0", + "@parcel/markdown-ansi": "^2.1.0", "@parcel/source-map": "^2.0.0", "ansi-html-community": "0.0.8", "chalk": "^4.1.0", diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index b7b53f04aff..ea9c4f3e322 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/workers", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,15 +21,15 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/logger": "^2.1.0", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, "peerDependencies": { - "@parcel/core": "^2.0.1" + "@parcel/core": "^2.1.0" }, "browser": { "./src/cpuCount.js": false, diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index 0e4f8b60a93..3eb41d56324 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset", - "version": "2.0.1", + "version": "2.1.0", "private": true, "license": "MIT", "repository": { diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index 3034124c8c7..1807b89c4b5 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-register", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -10,7 +10,7 @@ }, "dependencies": { "@babel/register": "^7.4.4", - "@parcel/babel-preset": "^2.0.1", + "@parcel/babel-preset": "^2.1.0", "resolve": "^1.12.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index 46317af6ae6..713652b9c72 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -1,8 +1,8 @@ { "name": "@parcel/eslint-config-browser", "private": true, - "version": "2.0.1", + "version": "2.1.0", "dependencies": { - "@parcel/eslint-config": "^2.0.1" + "@parcel/eslint-config": "^2.1.0" } } diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index a27405f09f2..26c252b3e78 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -1,10 +1,10 @@ { "name": "@parcel/eslint-config", "private": true, - "version": "2.0.1", + "version": "2.1.0", "dependencies": { "@babel/eslint-parser": "^7.12.1", - "@parcel/eslint-plugin": "^2.0.1", + "@parcel/eslint-plugin": "^2.1.0", "eslint-config-prettier": "^7.2.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index d118ba6d9c9..d16f8eb1c91 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/eslint-plugin", "private": true, - "version": "2.0.1", + "version": "2.1.0", "main": "index.js", "scripts": {}, "dependencies": { diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index 122afeafaf8..675d5b0cfdd 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -1,6 +1,6 @@ { "name": "fuzzer", - "version": "2.0.1", + "version": "2.1.0", "private": true, "scripts": { "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules -r @parcel/babel-register index.js" diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index 349402b97ef..74b170374b8 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/eslint-example", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.0.1", - "@parcel/core": "^2.0.1", - "@parcel/validator-eslint": "^2.0.1" + "@parcel/babel-register": "^2.1.0", + "@parcel/core": "^2.1.0", + "@parcel/validator-eslint": "^2.1.0" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index e62090f40c1..ad7afe4f0f7 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/html-example", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true, "scripts": { @@ -12,8 +12,8 @@ "not firefox < 67" ], "devDependencies": { - "@parcel/babel-register": "^2.0.1", - "parcel": "^2.0.1" + "@parcel/babel-register": "^2.1.0", + "parcel": "^2.1.0" }, "dependencies": { "lodash": "^4.17.11", diff --git a/packages/examples/internalize-example/package.json b/packages/examples/internalize-example/package.json index 557bf640873..b16b96c587a 100644 --- a/packages/examples/internalize-example/package.json +++ b/packages/examples/internalize-example/package.json @@ -1,6 +1,6 @@ { "name": "internalize-example", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 99268ed9e2c..94a58aca1c3 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/kitchen-sink-example", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true, "scripts": { @@ -8,11 +8,11 @@ "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { - "@parcel/babel-register": "^2.0.1", - "@parcel/config-default": "^2.0.1", - "@parcel/optimizer-esbuild": "^2.0.1", - "@parcel/reporter-sourcemap-visualiser": "^2.0.1", - "parcel": "^2.0.1" + "@parcel/babel-register": "^2.1.0", + "@parcel/config-default": "^2.1.0", + "@parcel/optimizer-esbuild": "^2.1.0", + "@parcel/reporter-sourcemap-visualiser": "^2.1.0", + "parcel": "^2.1.0" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 66637f74c68..577d60d04d7 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -1,13 +1,13 @@ { "name": "@parcel/react-hmr-example", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true, "scripts": { "demo": "parcel serve src/index.html --no-cache --https" }, "devDependencies": { - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 0cc457f512d..7d89b3fe8c0 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/react-refresh-example", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true, "scripts": { "start": "parcel src/index.html" }, "devDependencies": { - "@parcel/babel-register": "^2.0.1", - "@parcel/core": "^2.0.1" + "@parcel/babel-register": "^2.1.0", + "@parcel/core": "^2.1.0" }, "dependencies": { "react": "^17.0.2", diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index b8ba290e6a7..79c30097a8d 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/simple-example", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true, "scripts": { @@ -8,8 +8,8 @@ "clean-demo": "rm -rf .parcel-cache dist && yarn demo" }, "devDependencies": { - "@parcel/babel-register": "^2.0.1", - "@parcel/core": "^2.0.1" + "@parcel/babel-register": "^2.1.0", + "@parcel/core": "^2.1.0" }, "browser": "dist/legacy/index.js", "browserModern": "dist/modern/index.js", diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index 9c3da32eaa6..cbd48cd2b01 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/three-js-stresstest", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true, "scripts": { @@ -27,7 +27,7 @@ } }, "devDependencies": { - "@parcel/config-default": "^2.0.1", - "parcel": "^2.0.1" + "@parcel/config-default": "^2.1.0", + "parcel": "^2.1.0" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index 77f5a300eb2..d3a03823467 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/ts-example", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true, "scripts": { "demo": "parcel build src/index.ts" }, "devDependencies": { - "@parcel/babel-register": "^2.0.1", - "@parcel/core": "^2.0.1" + "@parcel/babel-register": "^2.1.0", + "@parcel/core": "^2.1.0" }, "main": "dist/main.js", "module": "dist/module.js", diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index a8db3ee471e..25fc1426a16 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-typecheck-example", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.0.1", - "@parcel/core": "^2.0.1", - "@parcel/validator-typescript": "^2.0.1" + "@parcel/babel-register": "^2.1.0", + "@parcel/core": "^2.1.0", + "@parcel/validator-typescript": "^2.1.0" } } diff --git a/packages/namers/default/package.json b/packages/namers/default/package.json index c6460acd772..cb2c7aaf942 100644 --- a/packages/namers/default/package.json +++ b/packages/namers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/namer-default", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultNamer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/blob-url/package.json b/packages/optimizers/blob-url/package.json index f187d8840c7..a0bec91ba4f 100644 --- a/packages/optimizers/blob-url/package.json +++ b/packages/optimizers/blob-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-blob-url", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BlobURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1" + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0" } } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 3b1ab4395f9..6164916ab60 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-css", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { "@parcel/css": "1.0.0-alpha.7", - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "browserslist": "^4.6.6" } } diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index 8f04db0525f..5941b90a83e 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-cssnano", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/CSSNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.5", "postcss": "^8.3.0" diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index 8eed6c323ac..986a2a07f6a 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-data-url", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DataURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index 68bea088afa..800ba6c79b6 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-esbuild", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/ESBuildOptimizer.js", "engines": { "node": ">= 10.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "esbuild": "^0.13.0", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index ec744a6db20..27a46346102 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-htmlnano", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HTMLNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "htmlnano": "^1.0.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index 02dbe91e66d..839f9d68788 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-image", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "main": "lib/ImageOptimizer.js", "source": "src/ImageOptimizer.js", @@ -17,7 +17,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "files": [ "lib", @@ -32,10 +32,10 @@ "build-release": "napi build --platform --release" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", + "@parcel/workers": "^2.1.0", "detect-libc": "^1.0.3" }, "devDependencies": { diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index 200acf00277..1192a14cd62 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-svgo", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGOOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "svgo": "^2.4.0" } } diff --git a/packages/optimizers/swc/package.json b/packages/optimizers/swc/package.json index 533cf729cc4..166576a8e3c 100644 --- a/packages/optimizers/swc/package.json +++ b/packages/optimizers/swc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-swc", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SwcOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "@swc/core": "^1.2.106", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index 4975efd2472..474f5ccfd51 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-terser", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TerserOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1", "terser": "^5.2.0" } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index 437903ed499..f7c9e697921 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-css", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1", "postcss": "^8.3.0" } diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index 68b9022d11e..1d308b21091 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-html", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index 5878a5fa973..fb9ffccdbe3 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-js", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/index.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/hash": "^2.1.0", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "globals": "^13.2.0", "nullthrows": "^1.1.1" } diff --git a/packages/packagers/raw-url/package.json b/packages/packagers/raw-url/package.json index b141b13ec16..4b8e8f7fb44 100644 --- a/packages/packagers/raw-url/package.json +++ b/packages/packagers/raw-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw-url", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/RawUrlPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1" + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0" } } diff --git a/packages/packagers/raw/package.json b/packages/packagers/raw/package.json index eca38d0fff4..34e18741032 100644 --- a/packages/packagers/raw/package.json +++ b/packages/packagers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/packagers/svg/package.json b/packages/packagers/svg/package.json index 46ab8f745c1..ad1b8ea9f6b 100644 --- a/packages/packagers/svg/package.json +++ b/packages/packagers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-svg", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0", "posthtml": "^0.16.4" } } diff --git a/packages/packagers/ts/package.json b/packages/packagers/ts/package.json index efeba4b1bdf..d55d7c9a248 100644 --- a/packages/packagers/ts/package.json +++ b/packages/packagers/ts/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-ts", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/TSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index 39f2d995faf..813569c36c6 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-xml", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/XMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/reporters/build-metrics/package.json b/packages/reporters/build-metrics/package.json index 1fd593a7949..4391ddacce9 100644 --- a/packages/reporters/build-metrics/package.json +++ b/packages/reporters/build-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-build-metrics", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BuildMetricsReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1" + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0" } } diff --git a/packages/reporters/bundle-analyzer/package.json b/packages/reporters/bundle-analyzer/package.json index c44dd17d23a..b063dec2c6b 100644 --- a/packages/reporters/bundle-analyzer/package.json +++ b/packages/reporters/bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-analyzer", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/BundleAnalyzerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.0.1" + "@parcel/types": "^2.1.0" } } diff --git a/packages/reporters/bundle-buddy/package.json b/packages/reporters/bundle-buddy/package.json index e90c0f1405b..fec7332ae93 100644 --- a/packages/reporters/bundle-buddy/package.json +++ b/packages/reporters/bundle-buddy/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-buddy", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BundleBuddyReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index d451facc921..31b135bb884 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-cli", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CLIReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0", "chalk": "^4.1.0", "filesize": "^6.1.0", "nullthrows": "^1.1.1", diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 94cd15343c5..22dabbf09b9 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-dev-server", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -18,11 +18,11 @@ "source": "src/ServerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^1.0.0", @@ -31,7 +31,7 @@ "ws": "^7.0.0" }, "devDependencies": { - "@parcel/babel-preset": "^2.0.1", - "@parcel/types": "^2.0.1" + "@parcel/babel-preset": "^2.1.0", + "@parcel/types": "^2.1.0" } } diff --git a/packages/reporters/json/package.json b/packages/reporters/json/package.json index 811cafd289e..5d2cb0f8ef7 100644 --- a/packages/reporters/json/package.json +++ b/packages/reporters/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-json", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/JSONReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1" } } diff --git a/packages/reporters/sourcemap-visualiser/package.json b/packages/reporters/sourcemap-visualiser/package.json index 041bb6ee26a..d653aed08af 100644 --- a/packages/reporters/sourcemap-visualiser/package.json +++ b/packages/reporters/sourcemap-visualiser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-sourcemap-visualiser", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/SourceMapVisualiser.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.0.1" + "@parcel/types": "^2.1.0" } } diff --git a/packages/resolvers/default/package.json b/packages/resolvers/default/package.json index 6616fcf4420..6c97f2d820d 100644 --- a/packages/resolvers/default/package.json +++ b/packages/resolvers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-default", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/node-resolver-core": "^2.0.1", - "@parcel/plugin": "^2.0.1" + "@parcel/node-resolver-core": "^2.1.0", + "@parcel/plugin": "^2.1.0" }, "devDependencies": { "@babel/core": "^7.12.2" diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index 4b1ef6e554b..472ce346602 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-glob", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/GlobResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "micromatch": "^4.0.2", "nullthrows": "^1.1.1" } diff --git a/packages/runtimes/hmr/package.json b/packages/runtimes/hmr/package.json index c1d71b6bfab..07f9f77569f 100644 --- a/packages/runtimes/hmr/package.json +++ b/packages/runtimes/hmr/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-browser-hmr", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HMRRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1" + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0" } } diff --git a/packages/runtimes/js/package.json b/packages/runtimes/js/package.json index 90b2bff1ace..64c72c215a7 100644 --- a/packages/runtimes/js/package.json +++ b/packages/runtimes/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-js", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/JSRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/react-refresh/package.json b/packages/runtimes/react-refresh/package.json index 8b689a7e37d..66b5ee57ff1 100644 --- a/packages/runtimes/react-refresh/package.json +++ b/packages/runtimes/react-refresh/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-react-refresh", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "react-refresh": "^0.9.0" } } diff --git a/packages/runtimes/service-worker/package.json b/packages/runtimes/service-worker/package.json index 5234d2243b8..e1f0af9a293 100644 --- a/packages/runtimes/service-worker/package.json +++ b/packages/runtimes/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-service-worker", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "./src/ServiceWorkerRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1" } } diff --git a/packages/shared/babel-ast-utils/package.json b/packages/shared/babel-ast-utils/package.json index 3a85cd24fc6..64f3b0da4c5 100644 --- a/packages/shared/babel-ast-utils/package.json +++ b/packages/shared/babel-ast-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-ast-utils", - "version": "2.0.1", + "version": "2.1.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,9 +21,9 @@ }, "dependencies": { "@babel/parser": "^7.0.0", - "@parcel/babylon-walk": "^2.0.1", + "@parcel/babylon-walk": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "astring": "^1.6.2" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 0731e4355e0..649a6f02b99 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-babel", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "source": "src/BabelTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { "@babel/core": "^7.12.0", @@ -25,11 +25,11 @@ "@babel/helper-compilation-targets": "^7.8.4", "@babel/plugin-transform-flow-strip-types": "^7.0.0", "@babel/traverse": "^7.0.0", - "@parcel/babel-ast-utils": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/babel-ast-utils": "^2.1.0", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "browserslist": "^4.6.6", "core-js": "^3.2.1", "json5": "^2.1.0", @@ -39,6 +39,6 @@ "devDependencies": { "@babel/core": "^7.12.0", "@babel/preset-env": "^7.0.0", - "@parcel/types": "^2.0.1" + "@parcel/types": "^2.1.0" } } diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 8e2a901d575..9370c448c69 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-coffeescript", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CoffeeScriptTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", "semver": "^5.7.1" diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 38aecc63f58..efe1f1c9e66 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1", "postcss": "^8.3.0", "postcss-value-parser": "^4.1.0", diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index 04902fb7060..b4ce160562f 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-elm", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ElmTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", "command-exists": "^1.2.8", "cross-spawn": "^7.0.3", "elm-hot": "^1.1.5", diff --git a/packages/transformers/glsl/package.json b/packages/transformers/glsl/package.json index b2cff8d0b83..33ace1cbd94 100644 --- a/packages/transformers/glsl/package.json +++ b/packages/transformers/glsl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-glsl", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GLSLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "glslify-bundle": "^5.1.1", "glslify-deps": "^1.3.2" } diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index 4ebbd9449be..ee4cfad0542 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-graphql", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GraphQLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "graphql": "^15.0.0", "graphql-import-macro": "^1.0.0" } diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index 11173f697f3..d3b909ea8f7 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-html", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/hash": "^2.1.0", + "@parcel/plugin": "^2.1.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index 3afd7e6a4b8..373604efddc 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-image", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -13,11 +13,11 @@ "source": "src/ImageTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/workers": "^2.1.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/inline-string/package.json b/packages/transformers/inline-string/package.json index 9c362cc5659..9da1d0994f8 100644 --- a/packages/transformers/inline-string/package.json +++ b/packages/transformers/inline-string/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline-string", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineStringTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/transformers/inline/package.json b/packages/transformers/inline/package.json index eb1ab52d6d6..048bda49721 100644 --- a/packages/transformers/inline/package.json +++ b/packages/transformers/inline/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index ef5b7a6d5b0..dfde57ddd9c 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-js", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -19,7 +19,7 @@ "name": "parcel-swc" }, "engines": { - "parcel": "^2.0.1", + "parcel": "^2.1.0", "node": ">= 12.0.0" }, "files": [ @@ -30,11 +30,11 @@ "*.node" ], "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/utils": "^2.1.0", + "@parcel/workers": "^2.1.0", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index 3e9e75ad7cb..b3341388c94 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-json", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/JSONTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "json5": "^2.1.0" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index b9f10664f6d..474390d8dca 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-jsonld", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/JSONLDTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "scripts": { "test": "yarn workspace @parcel/integration-tests test -g jsonld" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/types": "^2.1.0", "json5": "^2.1.2" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index 8a49c3187b3..b88120c06e9 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-less", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/LessTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", "less": "^4.1.1" } diff --git a/packages/transformers/mdx/package.json b/packages/transformers/mdx/package.json index 983c32ebf18..4cef1396055 100644 --- a/packages/transformers/mdx/package.json +++ b/packages/transformers/mdx/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-mdx", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/MDXTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { "@mdx-js/mdx": "^1.6.22", - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" }, "peerDependencies": { "@mdx-js/react": "^1.6.22" diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index e247013a271..c1d7d66432c 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-postcss", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/PostCSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/hash": "^2.1.0", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "clone": "^2.1.1", "css-modules-loader-core": "^1.1.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/posthtml/package.json b/packages/transformers/posthtml/package.json index 30055a5be5c..b9dd44411d4 100644 --- a/packages/transformers/posthtml/package.json +++ b/packages/transformers/posthtml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-posthtml", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/PostHTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index a9768d4bc3f..46d1545a88d 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-pug", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/PugTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "pug": "^3.0.2" } } diff --git a/packages/transformers/raw/package.json b/packages/transformers/raw/package.json index d9c8843978d..da6ad0fe02f 100644 --- a/packages/transformers/raw/package.json +++ b/packages/transformers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-raw", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index 4ecdbafd086..38eab94a455 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-react-refresh-wrap", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshWrapTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "react-refresh": "^0.9.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index 282c6a4e896..228c16b8aa7 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sass", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SassTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index 2cdd3bab137..b7dde2f02b1 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-stylus", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/StylusTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "stylus": "^0.55.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index 5c6f5b89f79..83b913f4eb5 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sugarss", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SugarssTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "postcss": "^8.3.0", "sugarss": "^3.0.3" } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index 07fd2c19319..ca82372fbd4 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg-react", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SvgReactTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@svgr/core": "^5.5.0", "@svgr/plugin-jsx": "^5.5.0", "@svgr/plugin-svgo": "^5.5.0", diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index a7ba7322a10..8d21585fdf3 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/hash": "^2.1.0", + "@parcel/plugin": "^2.1.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index 34535139848..e046a4c6232 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-toml", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/TOMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { "@iarna/toml": "^2.2.3", - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/transformers/typescript-tsc/package.json b/packages/transformers/typescript-tsc/package.json index 0cadc107fe5..9423e606e0f 100644 --- a/packages/transformers/typescript-tsc/package.json +++ b/packages/transformers/typescript-tsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-tsc", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/TSCTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.0.1" + "@parcel/ts-utils": "^2.1.0" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index fca17275c7c..17dec1290e4 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-types", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TSTypesTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.0.1", + "@parcel/ts-utils": "^2.1.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index 51d49ebd4be..3f36ee6fdf6 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-vue", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/VueTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.0", "@vue/compiler-sfc": "^3.0.0", "consolidate": "^0.16.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index 39db394cad8..de0281516a9 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webextension", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebExtensionTransformer.js", "source": "src/WebExtensionTransformer.js", "engines": { - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "content-security-policy-parser": "^0.3.0", "json-source-map": "^0.6.1" } diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index f914f78b711..ab4aaecc797 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webmanifest", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebManifestTransformer.js", "source": "src/WebManifestTransformer.js", "engines": { - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "json-source-map": "^0.6.1" } } diff --git a/packages/transformers/worklet/package.json b/packages/transformers/worklet/package.json index d2c60a7b811..ec782d2408a 100644 --- a/packages/transformers/worklet/package.json +++ b/packages/transformers/worklet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-worklet", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/WorkletTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.0" } } diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index f6a69711ab7..e8b43841477 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-xml", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/XMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/transformers/yaml/package.json b/packages/transformers/yaml/package.json index f140fa7df04..c5f5c8f3d97 100644 --- a/packages/transformers/yaml/package.json +++ b/packages/transformers/yaml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-yaml", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/YAMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.0", "js-yaml": "^3.10.0" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index b363a82dc45..09225082817 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-plugin-transform-runtime", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ }, "devDependencies": { "@babel/core": "^7.12.0", - "@parcel/babel-preset-env": "^2.0.1" + "@parcel/babel-preset-env": "^2.1.0" } } diff --git a/packages/utils/babel-preset-env/package.json b/packages/utils/babel-preset-env/package.json index 35668c62c6f..0222a88aa4b 100644 --- a/packages/utils/babel-preset-env/package.json +++ b/packages/utils/babel-preset-env/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset-env", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/babylon-walk/package.json b/packages/utils/babylon-walk/package.json index c7250afdfab..da0bb216409 100755 --- a/packages/utils/babylon-walk/package.json +++ b/packages/utils/babylon-walk/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babylon-walk", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 2013e0e09d7..97582c759a6 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/create-react-app", - "version": "2.0.1", + "version": "2.1.0", "bin": { "parcel-create-react-app": "src/bin.js" }, @@ -31,6 +31,6 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.0.1" + "@parcel/babel-register": "^2.1.0" } } diff --git a/packages/utils/events/package.json b/packages/utils/events/package.json index ff93eef8a46..a4144b5f811 100644 --- a/packages/utils/events/package.json +++ b/packages/utils/events/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/events", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-search/package.json b/packages/utils/fs-search/package.json index eb02e839e94..d04462005ab 100644 --- a/packages/utils/fs-search/package.json +++ b/packages/utils/fs-search/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-search", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-write-stream-atomic/package.json b/packages/utils/fs-write-stream-atomic/package.json index 7a1eda5b6b7..9a5f7d8dfb3 100644 --- a/packages/utils/fs-write-stream-atomic/package.json +++ b/packages/utils/fs-write-stream-atomic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-write-stream-atomic", - "version": "2.0.1", + "version": "2.1.0", "description": "Like `fs.createWriteStream(...)`, but atomic.", "main": "index.js", "repository": { diff --git a/packages/utils/hash/package.json b/packages/utils/hash/package.json index 0f36288823d..67141e217c3 100644 --- a/packages/utils/hash/package.json +++ b/packages/utils/hash/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/hash", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "main": "index.js", "browser": "browser.js", diff --git a/packages/utils/node-libs-browser/package.json b/packages/utils/node-libs-browser/package.json index 2fbd939b0b7..b544c505b28 100755 --- a/packages/utils/node-libs-browser/package.json +++ b/packages/utils/node-libs-browser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-libs-browser", - "version": "2.0.1", + "version": "2.1.0", "author": "Tobias Koppers @sokra", "description": "The node core libs for in browser usage.", "license": "MIT", diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index 0c81d8c77b2..aade3705e62 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-resolver-core", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -19,9 +19,9 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/node-libs-browser": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.0", + "@parcel/node-libs-browser": "^2.1.0", + "@parcel/utils": "^2.1.0", "micromatch": "^4.0.4", "nullthrows": "^1.1.1" } diff --git a/packages/utils/service-worker/package.json b/packages/utils/service-worker/package.json index 6dc82dc8034..7ae7359e316 100644 --- a/packages/utils/service-worker/package.json +++ b/packages/utils/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/service-worker", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,6 +18,6 @@ "sideEffects": false, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" } } diff --git a/packages/utils/ts-utils/package.json b/packages/utils/ts-utils/package.json index a0c9b1092a2..a2f481ebbd8 100644 --- a/packages/utils/ts-utils/package.json +++ b/packages/utils/ts-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-utils", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index 1d6d285ff07..d6e2096b945 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-eslint", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/EslintValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.0", + "@parcel/utils": "^2.1.0", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/validators/typescript/package.json b/packages/validators/typescript/package.json index 3d0bfaf4eb7..607fefb0c4b 100644 --- a/packages/validators/typescript/package.json +++ b/packages/validators/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-typescript", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/TypeScriptValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.0" }, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/ts-utils": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1" + "@parcel/diagnostic": "^2.1.0", + "@parcel/plugin": "^2.1.0", + "@parcel/ts-utils": "^2.1.0", + "@parcel/types": "^2.1.0", + "@parcel/utils": "^2.1.0" }, "devDependencies": { "typescript": ">=3.0.0" From c85eb04cca81f384c335bdf1667adeb3f01d5e31 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 6 Jan 2022 09:12:43 -0500 Subject: [PATCH 0172/1076] Do not transpile @swc/helpers (#7529) --- .../test/integration/babel-node-modules/index.js | 1 + packages/core/integration-tests/test/transpilation.js | 4 +++- packages/transformers/js/src/JSTransformer.js | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/core/integration-tests/test/integration/babel-node-modules/index.js b/packages/core/integration-tests/test/integration/babel-node-modules/index.js index 21b5030d8ab..768c1150529 100644 --- a/packages/core/integration-tests/test/integration/babel-node-modules/index.js +++ b/packages/core/integration-tests/test/integration/babel-node-modules/index.js @@ -2,3 +2,4 @@ import Foo from 'foo'; export {Foo}; export class Bar {} +export const t = typeof Foo; diff --git a/packages/core/integration-tests/test/transpilation.js b/packages/core/integration-tests/test/transpilation.js index 4ee4e9a6a05..78dff41cd09 100644 --- a/packages/core/integration-tests/test/transpilation.js +++ b/packages/core/integration-tests/test/transpilation.js @@ -57,13 +57,15 @@ describe('transpilation', function () { }); it('should transpile node_modules by default', async function () { - await bundle( + let b = await bundle( path.join(__dirname, '/integration/babel-node-modules/index.js'), ); let file = await outputFS.readFile(path.join(distDir, 'index.js'), 'utf8'); assert(!/class \S+ \{/.test(file)); assert(file.includes('function Bar')); + let res = await run(b); + assert.equal(res.t, 'function'); }); it('should not support JSX in node_modules', async function () { diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index 2ba3eacfc9b..d98d0f725c2 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -333,6 +333,11 @@ export default (new Transformer({ targets = {node: semver.minVersion(asset.env.engines.node)?.toString()}; } + // Avoid transpiling @swc/helpers so that we don't cause infinite recursion. + if (asset.filePath.includes('@swc/helpers')) { + targets = null; + } + let env: EnvMap = {}; if (!config?.inlineEnvironment) { From 521fe6ed8b332d53a9c91f9cc28a675aa5fe4cea Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 6 Jan 2022 10:09:32 -0500 Subject: [PATCH 0173/1076] Fix windows --- packages/transformers/js/src/JSTransformer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index d98d0f725c2..b4f3dfab77c 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -334,7 +334,7 @@ export default (new Transformer({ } // Avoid transpiling @swc/helpers so that we don't cause infinite recursion. - if (asset.filePath.includes('@swc/helpers')) { + if (/@swc[/\\]helpers/.test(asset.filePath)) { targets = null; } From 3ecc046d54638ba092893fce5854bda0c4c5e504 Mon Sep 17 00:00:00 2001 From: GyDi Date: Thu, 6 Jan 2022 23:09:59 +0800 Subject: [PATCH 0174/1076] Fix changelog time (#7532) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cd9e1a12d6..10c991d3e4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to Parcel will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and Parcel adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [2.1.0] - 2021-01-05 +## [2.1.0] - 2022-01-05 ### Added From 81b9ebc6d7f661c80f78549f4e80ed461b7a2874 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Thu, 6 Jan 2022 16:24:42 +0100 Subject: [PATCH 0175/1076] Include invalidation hash in asset content keys (#7526) --- packages/core/core/src/Transformation.js | 21 ++++++--- packages/core/integration-tests/test/cache.js | 47 +++++++++++++++++++ 2 files changed, 62 insertions(+), 6 deletions(-) diff --git a/packages/core/core/src/Transformation.js b/packages/core/core/src/Transformation.js index 0b125f29eba..321a327e315 100644 --- a/packages/core/core/src/Transformation.js +++ b/packages/core/core/src/Transformation.js @@ -283,15 +283,21 @@ export default class Transformation { if (!initialCacheEntry) { let pipelineHash = await this.getPipelineHash(pipeline); + let invalidationCacheKey = await getInvalidationHash( + assets.flatMap(asset => asset.getInvalidations()), + this.options, + ); let resultCacheKey = this.getCacheKey( [initialAsset], - await getInvalidationHash( - assets.flatMap(asset => asset.getInvalidations()), - this.options, - ), + invalidationCacheKey, + pipelineHash, + ); + await this.writeToCache( + resultCacheKey, + assets, + invalidationCacheKey, pipelineHash, ); - await this.writeToCache(resultCacheKey, assets, pipelineHash); } else { // See above TODO, this should be per-pipeline for (let i of this.request.invalidations) { @@ -541,9 +547,12 @@ export default class Transformation { async writeToCache( cacheKey: string, assets: Array, + invalidationHash: string, pipelineHash: string, ): Promise { - await Promise.all(assets.map(asset => asset.commit(pipelineHash))); + await Promise.all( + assets.map(asset => asset.commit(invalidationHash + pipelineHash)), + ); this.options.cache.set(cacheKey, { $$raw: true, diff --git a/packages/core/integration-tests/test/cache.js b/packages/core/integration-tests/test/cache.js index 4ddfb121864..d03984b702b 100644 --- a/packages/core/integration-tests/test/cache.js +++ b/packages/core/integration-tests/test/cache.js @@ -5789,6 +5789,53 @@ describe('cache', function () { } }); + it('properly handles included files even after when changing back to a cached state', async function () { + this.timeout(15000); + let subscription; + let fixture = path.join(__dirname, '/integration/included-file'); + try { + let b = bundler(path.join(fixture, 'index.txt'), { + inputFS: overlayFS, + shouldDisableCache: false, + }); + await overlayFS.mkdirp(fixture); + await overlayFS.writeFile(path.join(fixture, 'included.txt'), 'a'); + subscription = await b.watch(); + let event = await getNextBuild(b); + invariant(event.type === 'buildSuccess'); + let output1 = await overlayFS.readFile( + event.bundleGraph.getBundles()[0].filePath, + 'utf8', + ); + assert.strictEqual(output1, 'a'); + + // Change included file + await overlayFS.writeFile(path.join(fixture, 'included.txt'), 'b'); + event = await getNextBuild(b); + invariant(event.type === 'buildSuccess'); + let output2 = await overlayFS.readFile( + event.bundleGraph.getBundles()[0].filePath, + 'utf8', + ); + assert.strictEqual(output2, 'b'); + + // Change included file back + await overlayFS.writeFile(path.join(fixture, 'included.txt'), 'a'); + event = await getNextBuild(b); + invariant(event.type === 'buildSuccess'); + let output3 = await overlayFS.readFile( + event.bundleGraph.getBundles()[0].filePath, + 'utf8', + ); + assert.strictEqual(output3, 'a'); + } finally { + if (subscription) { + await subscription.unsubscribe(); + subscription = null; + } + } + }); + it('should support moving the project root', async function () { // This test relies on the real filesystem because the memory fs doesn't support renames. // But renameSync is broken on windows in CI with EPERM errors. Just skip this test for now. From 3f5b181c4fd9df544e4027dd14493aecd3bad1c3 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 6 Jan 2022 09:04:08 -0800 Subject: [PATCH 0176/1076] Fix loading index.html in dev server when packager/optimizer changes bundle type (#7527) --- packages/core/core/src/public/Bundle.js | 6 ++++++ .../core/src/requests/WriteBundleRequest.js | 1 + .../core/src/requests/WriteBundlesRequest.js | 1 + packages/core/core/src/types.js | 1 + packages/reporters/dev-server/src/Server.js | 20 +++++++++---------- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/packages/core/core/src/public/Bundle.js b/packages/core/core/src/public/Bundle.js index 1c9ae0a2bc7..3581678d33d 100644 --- a/packages/core/core/src/public/Bundle.js +++ b/packages/core/core/src/public/Bundle.js @@ -314,6 +314,12 @@ export class PackagedBundle extends NamedBundle implements IPackagedBundle { ); } + get type(): string { + // The bundle type may be overridden in the packager. + // However, inline bundles will not have a bundleInfo here since they are not written to the filesystem. + return this.#bundleInfo ? this.#bundleInfo.type : this.#bundle.type; + } + get stats(): Stats { return nullthrows(this.#bundleInfo).stats; } diff --git a/packages/core/core/src/requests/WriteBundleRequest.js b/packages/core/core/src/requests/WriteBundleRequest.js index 07fdc488a15..2a2b77bb7ce 100644 --- a/packages/core/core/src/requests/WriteBundleRequest.js +++ b/packages/core/core/src/requests/WriteBundleRequest.js @@ -181,6 +181,7 @@ async function run({input, options, api}: RunInput) { let res = { filePath, + type: info.type, stats: { size, time: info.time ?? 0, diff --git a/packages/core/core/src/requests/WriteBundlesRequest.js b/packages/core/core/src/requests/WriteBundlesRequest.js index e33974e8b93..f93d3df323b 100644 --- a/packages/core/core/src/requests/WriteBundlesRequest.js +++ b/packages/core/core/src/requests/WriteBundlesRequest.js @@ -71,6 +71,7 @@ async function run({input, api, farm, options}: RunInput) { let name = nullthrows(bundle.name).replace(bundle.hashReference, hash); res.set(bundle.id, { filePath: joinProjectPath(bundle.target.distDir, name), + type: bundle.type, // FIXME: this is wrong if the packager changes the type... stats: { time: 0, size: 0, diff --git a/packages/core/core/src/types.js b/packages/core/core/src/types.js index d3a02f1058c..82fa1b3a01d 100644 --- a/packages/core/core/src/types.js +++ b/packages/core/core/src/types.js @@ -500,6 +500,7 @@ export type BundleGroupNode = {| export type PackagedBundleInfo = {| filePath: ProjectPath, + type: string, stats: Stats, |}; diff --git a/packages/reporters/dev-server/src/Server.js b/packages/reporters/dev-server/src/Server.js index 6dfde0aef27..e09fcd3a6b5 100644 --- a/packages/reporters/dev-server/src/Server.js +++ b/packages/reporters/dev-server/src/Server.js @@ -161,16 +161,16 @@ export default class Server { sendIndex(req: Request, res: Response) { if (this.bundleGraph) { // If the main asset is an HTML file, serve it - let htmlBundleFilePaths = []; - this.bundleGraph.traverseBundles(bundle => { - if (bundle.type === 'html' && bundle.bundleBehavior !== 'inline') { - htmlBundleFilePaths.push(bundle.filePath); - } - }); - - htmlBundleFilePaths = htmlBundleFilePaths.map(p => { - return `/${relativePath(this.options.distDir, p, false)}`; - }); + let htmlBundleFilePaths = this.bundleGraph + .getBundles() + .filter(bundle => bundle.type === 'html') + .map(bundle => { + return `/${relativePath( + this.options.distDir, + bundle.filePath, + false, + )}`; + }); let indexFilePath = null; if (htmlBundleFilePaths.length === 1) { From 5c7b5d96d2fc60d9b637b49a8b291a1394153ecd Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 6 Jan 2022 13:05:28 -0500 Subject: [PATCH 0177/1076] Update changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10c991d3e4c..a0365574b30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to Parcel will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and Parcel adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.1.1] - 2022-01-06 + +### Fixed + +- Do not transpile @swc/helpers. Fixes infinite recursion in typeof helper. - [Details](https://github.com/parcel-bundler/parcel/pull/7529) +- Include invalidation hash in asset content keys - [Details](https://github.com/parcel-bundler/parcel/pull/7526) +- Fix loading index.html in dev server when packager/optimizer changes bundle type - [Details](https://github.com/parcel-bundler/parcel/pull/7527) + ## [2.1.0] - 2022-01-05 ### Added From f53ffe772a8259d94ca2937d02fde149454112f3 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 6 Jan 2022 13:06:11 -0500 Subject: [PATCH 0178/1076] v2.1.1 --- packages/bundlers/default/package.json | 12 +- packages/bundlers/experimental/package.json | 14 +-- packages/compressors/brotli/package.json | 6 +- packages/compressors/gzip/package.json | 6 +- packages/compressors/raw/package.json | 6 +- packages/configs/default/package.json | 110 +++++++++--------- packages/configs/webextension/package.json | 10 +- packages/core/cache/package.json | 10 +- packages/core/codeframe/package.json | 2 +- packages/core/core/package.json | 26 ++--- packages/core/diagnostic/package.json | 2 +- packages/core/fs/package.json | 14 +-- packages/core/graph/package.json | 4 +- packages/core/integration-tests/package.json | 4 +- packages/core/is-v2-ready-yet/package.json | 4 +- packages/core/logger/package.json | 6 +- packages/core/markdown-ansi/package.json | 2 +- packages/core/package-manager/package.json | 16 +-- packages/core/parcel/package.json | 24 ++-- packages/core/plugin/package.json | 4 +- packages/core/register/package.json | 10 +- packages/core/test-utils/package.json | 12 +- packages/core/types/package.json | 12 +- packages/core/utils/package.json | 12 +- packages/core/workers/package.json | 12 +- packages/dev/babel-preset/package.json | 2 +- packages/dev/babel-register/package.json | 4 +- .../dev/eslint-config-browser/package.json | 4 +- packages/dev/eslint-config/package.json | 4 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 2 +- packages/examples/eslint-example/package.json | 8 +- packages/examples/html/package.json | 6 +- .../examples/internalize-example/package.json | 2 +- packages/examples/kitchen-sink/package.json | 12 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 6 +- packages/examples/simple/package.json | 6 +- packages/examples/three/package.json | 6 +- packages/examples/ts-example/package.json | 6 +- .../ts-typecheck-example/package.json | 8 +- packages/namers/default/package.json | 8 +- packages/optimizers/blob-url/package.json | 8 +- packages/optimizers/css/package.json | 8 +- packages/optimizers/cssnano/package.json | 6 +- packages/optimizers/data-url/package.json | 8 +- packages/optimizers/esbuild/package.json | 10 +- packages/optimizers/htmlnano/package.json | 6 +- packages/optimizers/image/package.json | 12 +- packages/optimizers/svgo/package.json | 10 +- packages/optimizers/swc/package.json | 8 +- packages/optimizers/terser/package.json | 10 +- packages/packagers/css/package.json | 8 +- packages/packagers/html/package.json | 10 +- packages/packagers/js/package.json | 12 +- packages/packagers/raw-url/package.json | 8 +- packages/packagers/raw/package.json | 6 +- packages/packagers/svg/package.json | 10 +- packages/packagers/ts/package.json | 6 +- packages/packagers/xml/package.json | 10 +- packages/reporters/build-metrics/package.json | 8 +- .../reporters/bundle-analyzer/package.json | 10 +- packages/reporters/bundle-buddy/package.json | 6 +- packages/reporters/cli/package.json | 10 +- packages/reporters/dev-server/package.json | 12 +- packages/reporters/json/package.json | 10 +- .../sourcemap-visualiser/package.json | 10 +- packages/resolvers/default/package.json | 8 +- packages/resolvers/glob/package.json | 10 +- packages/runtimes/hmr/package.json | 8 +- packages/runtimes/js/package.json | 8 +- packages/runtimes/react-refresh/package.json | 8 +- packages/runtimes/service-worker/package.json | 8 +- packages/shared/babel-ast-utils/package.json | 6 +- packages/transformers/babel/package.json | 14 +-- .../transformers/coffeescript/package.json | 8 +- packages/transformers/css/package.json | 8 +- packages/transformers/elm/package.json | 8 +- packages/transformers/glsl/package.json | 6 +- packages/transformers/graphql/package.json | 6 +- packages/transformers/html/package.json | 10 +- packages/transformers/image/package.json | 8 +- .../transformers/inline-string/package.json | 6 +- packages/transformers/inline/package.json | 6 +- packages/transformers/js/package.json | 12 +- packages/transformers/json/package.json | 6 +- packages/transformers/jsonld/package.json | 8 +- packages/transformers/less/package.json | 6 +- packages/transformers/mdx/package.json | 6 +- packages/transformers/postcss/package.json | 10 +- packages/transformers/posthtml/package.json | 8 +- packages/transformers/pug/package.json | 6 +- packages/transformers/raw/package.json | 6 +- .../react-refresh-wrap/package.json | 8 +- packages/transformers/sass/package.json | 6 +- packages/transformers/stylus/package.json | 8 +- packages/transformers/sugarss/package.json | 6 +- packages/transformers/svg-react/package.json | 6 +- packages/transformers/svg/package.json | 10 +- packages/transformers/toml/package.json | 6 +- .../transformers/typescript-tsc/package.json | 8 +- .../typescript-types/package.json | 10 +- packages/transformers/vue/package.json | 10 +- .../transformers/webextension/package.json | 10 +- .../transformers/webmanifest/package.json | 10 +- packages/transformers/worklet/package.json | 6 +- packages/transformers/xml/package.json | 6 +- packages/transformers/yaml/package.json | 6 +- .../package.json | 4 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/babylon-walk/package.json | 2 +- packages/utils/create-react-app/package.json | 4 +- packages/utils/events/package.json | 2 +- packages/utils/fs-search/package.json | 2 +- .../utils/fs-write-stream-atomic/package.json | 2 +- packages/utils/hash/package.json | 2 +- packages/utils/node-libs-browser/package.json | 2 +- .../utils/node-resolver-core/package.json | 8 +- packages/utils/service-worker/package.json | 4 +- packages/utils/ts-utils/package.json | 2 +- packages/validators/eslint/package.json | 8 +- packages/validators/typescript/package.json | 14 +-- 122 files changed, 515 insertions(+), 515 deletions(-) diff --git a/packages/bundlers/default/package.json b/packages/bundlers/default/package.json index 358a0439a0d..54e7a0387de 100644 --- a/packages/bundlers/default/package.json +++ b/packages/bundlers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-default", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/DefaultBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/hash": "^2.1.0", - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } } diff --git a/packages/bundlers/experimental/package.json b/packages/bundlers/experimental/package.json index 0b1729e05cc..2fca46c1524 100644 --- a/packages/bundlers/experimental/package.json +++ b/packages/bundlers/experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-experimental", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/ExperimentalBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/graph": "^2.1.0", - "@parcel/hash": "^2.1.0", - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/graph": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } } diff --git a/packages/compressors/brotli/package.json b/packages/compressors/brotli/package.json index 3cd123b305b..0cfc1f260a9 100644 --- a/packages/compressors/brotli/package.json +++ b/packages/compressors/brotli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-brotli", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BrotliCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/compressors/gzip/package.json b/packages/compressors/gzip/package.json index 19380563582..d0c4e5de0f7 100644 --- a/packages/compressors/gzip/package.json +++ b/packages/compressors/gzip/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-gzip", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/GzipCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/compressors/raw/package.json b/packages/compressors/raw/package.json index b8ace809232..dac190851b8 100644 --- a/packages/compressors/raw/package.json +++ b/packages/compressors/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-raw", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index 4c86a9b0e20..5dd6fbfca41 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-default", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -18,63 +18,63 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "^2.1.0", - "@parcel/compressor-raw": "^2.1.0", - "@parcel/namer-default": "^2.1.0", - "@parcel/optimizer-cssnano": "^2.1.0", - "@parcel/optimizer-htmlnano": "^2.1.0", - "@parcel/optimizer-image": "^2.1.0", - "@parcel/optimizer-svgo": "^2.1.0", - "@parcel/optimizer-terser": "^2.1.0", - "@parcel/packager-css": "^2.1.0", - "@parcel/packager-html": "^2.1.0", - "@parcel/packager-js": "^2.1.0", - "@parcel/packager-raw": "^2.1.0", - "@parcel/packager-svg": "^2.1.0", - "@parcel/reporter-dev-server": "^2.1.0", - "@parcel/resolver-default": "^2.1.0", - "@parcel/runtime-browser-hmr": "^2.1.0", - "@parcel/runtime-js": "^2.1.0", - "@parcel/runtime-react-refresh": "^2.1.0", - "@parcel/runtime-service-worker": "^2.1.0", - "@parcel/transformer-babel": "^2.1.0", - "@parcel/transformer-css": "^2.1.0", - "@parcel/transformer-html": "^2.1.0", - "@parcel/transformer-image": "^2.1.0", - "@parcel/transformer-js": "^2.1.0", - "@parcel/transformer-json": "^2.1.0", - "@parcel/transformer-postcss": "^2.1.0", - "@parcel/transformer-posthtml": "^2.1.0", - "@parcel/transformer-raw": "^2.1.0", - "@parcel/transformer-react-refresh-wrap": "^2.1.0", - "@parcel/transformer-svg": "^2.1.0" + "@parcel/bundler-default": "^2.1.1", + "@parcel/compressor-raw": "^2.1.1", + "@parcel/namer-default": "^2.1.1", + "@parcel/optimizer-cssnano": "^2.1.1", + "@parcel/optimizer-htmlnano": "^2.1.1", + "@parcel/optimizer-image": "^2.1.1", + "@parcel/optimizer-svgo": "^2.1.1", + "@parcel/optimizer-terser": "^2.1.1", + "@parcel/packager-css": "^2.1.1", + "@parcel/packager-html": "^2.1.1", + "@parcel/packager-js": "^2.1.1", + "@parcel/packager-raw": "^2.1.1", + "@parcel/packager-svg": "^2.1.1", + "@parcel/reporter-dev-server": "^2.1.1", + "@parcel/resolver-default": "^2.1.1", + "@parcel/runtime-browser-hmr": "^2.1.1", + "@parcel/runtime-js": "^2.1.1", + "@parcel/runtime-react-refresh": "^2.1.1", + "@parcel/runtime-service-worker": "^2.1.1", + "@parcel/transformer-babel": "^2.1.1", + "@parcel/transformer-css": "^2.1.1", + "@parcel/transformer-html": "^2.1.1", + "@parcel/transformer-image": "^2.1.1", + "@parcel/transformer-js": "^2.1.1", + "@parcel/transformer-json": "^2.1.1", + "@parcel/transformer-postcss": "^2.1.1", + "@parcel/transformer-posthtml": "^2.1.1", + "@parcel/transformer-raw": "^2.1.1", + "@parcel/transformer-react-refresh-wrap": "^2.1.1", + "@parcel/transformer-svg": "^2.1.1" }, "parcelDependencies": { - "@parcel/optimizer-data-url": "^2.1.0", - "@parcel/packager-raw-url": "^2.1.0", - "@parcel/packager-ts": "^2.1.0", - "@parcel/packager-xml": "^2.1.0", - "@parcel/transformer-coffeescript": "^2.1.0", - "@parcel/transformer-elm": "^2.1.0", - "@parcel/transformer-glsl": "^2.1.0", - "@parcel/transformer-graphql": "^2.1.0", - "@parcel/transformer-inline-string": "^2.1.0", - "@parcel/transformer-jsonld": "^2.1.0", - "@parcel/transformer-less": "^2.1.0", - "@parcel/transformer-mdx": "^2.1.0", - "@parcel/transformer-pug": "^2.1.0", - "@parcel/transformer-sass": "^2.1.0", - "@parcel/transformer-stylus": "^2.1.0", - "@parcel/transformer-sugarss": "^2.1.0", - "@parcel/transformer-toml": "^2.1.0", - "@parcel/transformer-typescript-types": "^2.1.0", - "@parcel/transformer-vue": "^2.1.0", - "@parcel/transformer-webmanifest": "^2.1.0", - "@parcel/transformer-worklet": "^2.1.0", - "@parcel/transformer-xml": "^2.1.0", - "@parcel/transformer-yaml": "^2.1.0" + "@parcel/optimizer-data-url": "^2.1.1", + "@parcel/packager-raw-url": "^2.1.1", + "@parcel/packager-ts": "^2.1.1", + "@parcel/packager-xml": "^2.1.1", + "@parcel/transformer-coffeescript": "^2.1.1", + "@parcel/transformer-elm": "^2.1.1", + "@parcel/transformer-glsl": "^2.1.1", + "@parcel/transformer-graphql": "^2.1.1", + "@parcel/transformer-inline-string": "^2.1.1", + "@parcel/transformer-jsonld": "^2.1.1", + "@parcel/transformer-less": "^2.1.1", + "@parcel/transformer-mdx": "^2.1.1", + "@parcel/transformer-pug": "^2.1.1", + "@parcel/transformer-sass": "^2.1.1", + "@parcel/transformer-stylus": "^2.1.1", + "@parcel/transformer-sugarss": "^2.1.1", + "@parcel/transformer-toml": "^2.1.1", + "@parcel/transformer-typescript-types": "^2.1.1", + "@parcel/transformer-vue": "^2.1.1", + "@parcel/transformer-webmanifest": "^2.1.1", + "@parcel/transformer-worklet": "^2.1.1", + "@parcel/transformer-xml": "^2.1.1", + "@parcel/transformer-yaml": "^2.1.1" }, "peerDependencies": { - "@parcel/core": "^2.1.0" + "@parcel/core": "^2.1.1" } } diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index 0d8f4058ce2..913346e73d4 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-webextension", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -15,9 +15,9 @@ }, "main": "index.json", "dependencies": { - "@parcel/config-default": "^2.1.0", - "@parcel/packager-raw-url": "^2.1.0", - "@parcel/transformer-raw": "^2.1.0", - "@parcel/transformer-webextension": "^2.1.0" + "@parcel/config-default": "^2.1.1", + "@parcel/packager-raw-url": "^2.1.1", + "@parcel/transformer-raw": "^2.1.1", + "@parcel/transformer-webextension": "^2.1.1" } } diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 7a86931a9b0..5e535c93c8f 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/cache", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -24,13 +24,13 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs": "^2.1.0", - "@parcel/logger": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/fs": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/utils": "^2.1.1", "lmdb": "^2.0.2" }, "peerDependencies": { - "@parcel/core": "^2.1.0" + "@parcel/core": "^2.1.1" }, "devDependencies": { "idb": "^5.0.8" diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index ff357b4a021..459bed73915 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/codeframe", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 20f5345fb98..3fb991413f6 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/core", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -24,19 +24,19 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.1.0", - "@parcel/diagnostic": "^2.1.0", - "@parcel/events": "^2.1.0", - "@parcel/fs": "^2.1.0", - "@parcel/graph": "^2.1.0", - "@parcel/hash": "^2.1.0", - "@parcel/logger": "^2.1.0", - "@parcel/package-manager": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/cache": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/events": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/graph": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/package-manager": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0", - "@parcel/workers": "^2.1.0", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index 6e8445f8d8b..550c8ef9c29 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/diagnostic", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index c93d2efa3c4..ec30ba6d7c5 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -25,12 +25,12 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs-search": "^2.1.0", - "@parcel/fs-write-stream-atomic": "^2.1.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/fs-search": "^2.1.1", + "@parcel/fs-write-stream-atomic": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "^2.1.0", + "@parcel/workers": "^2.1.1", "graceful-fs": "^4.2.4", "mkdirp": "^0.5.1", "ncp": "^2.0.0", @@ -39,7 +39,7 @@ "utility-types": "^3.10.0" }, "peerDependencies": { - "@parcel/core": "^2.1.0" + "@parcel/core": "^2.1.1" }, "browser": { "./src/NodeFS.js": "./src/NodeFS.browser.js" diff --git a/packages/core/graph/package.json b/packages/core/graph/package.json index fec138c901b..56db143acbf 100644 --- a/packages/core/graph/package.json +++ b/packages/core/graph/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/graph", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } } diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index 2397e476a64..7fedf255297 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/integration-tests", - "version": "2.1.0", + "version": "2.1.1", "private": true, "license": "MIT", "repository": { @@ -42,7 +42,7 @@ "ncp": "^2.0.0", "nib": "^1.1.2", "node-elm-compiler": "^5.0.5", - "parcel": "^2.1.0", + "parcel": "^2.1.1", "postcss": "^8.3.0", "postcss-custom-properties": "^11.0.0", "postcss-import": "^14.0.2", diff --git a/packages/core/is-v2-ready-yet/package.json b/packages/core/is-v2-ready-yet/package.json index 6b83448dfdc..21cf7df0338 100644 --- a/packages/core/is-v2-ready-yet/package.json +++ b/packages/core/is-v2-ready-yet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/is-v2-ready-yet", - "version": "2.1.0", + "version": "2.1.1", "private": true, "license": "MIT", "repository": { @@ -13,7 +13,7 @@ "build-app": "yarn parcel build index.html" }, "dependencies": { - "@parcel/integration-tests": "^2.1.0", + "@parcel/integration-tests": "^2.1.1", "react": "^17.0.2", "react-dom": "^17.0.2", "victory": "^31.0.1" diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 20edbe0cb57..447ff394244 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/logger", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/events": "^2.1.0" + "@parcel/diagnostic": "^2.1.1", + "@parcel/events": "^2.1.1" } } diff --git a/packages/core/markdown-ansi/package.json b/packages/core/markdown-ansi/package.json index 25ab34c137f..9de6f994e7c 100644 --- a/packages/core/markdown-ansi/package.json +++ b/packages/core/markdown-ansi/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/markdown-ansi", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "publishConfig": { "access": "public" diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index 81126dd3a6f..532d5c96c65 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/package-manager", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -25,12 +25,12 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/fs": "^2.1.0", - "@parcel/logger": "^2.1.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0", - "@parcel/workers": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "command-exists": "^1.2.6", "cross-spawn": "^6.0.4", "nullthrows": "^1.1.1", @@ -38,7 +38,7 @@ "split2": "^3.1.1" }, "peerDependencies": { - "@parcel/core": "^2.1.0" + "@parcel/core": "^2.1.1" }, "browser": { "./src/Npm.js": false, diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index dcdc74b5d76..d2361abddbd 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -1,6 +1,6 @@ { "name": "parcel", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,22 +21,22 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.1.0", - "@parcel/core": "^2.1.0", - "@parcel/diagnostic": "^2.1.0", - "@parcel/events": "^2.1.0", - "@parcel/fs": "^2.1.0", - "@parcel/logger": "^2.1.0", - "@parcel/package-manager": "^2.1.0", - "@parcel/reporter-cli": "^2.1.0", - "@parcel/reporter-dev-server": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/config-default": "^2.1.1", + "@parcel/core": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/events": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/package-manager": "^2.1.1", + "@parcel/reporter-cli": "^2.1.1", + "@parcel/reporter-dev-server": "^2.1.1", + "@parcel/utils": "^2.1.1", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.1.0" + "@parcel/babel-register": "^2.1.1" } } diff --git a/packages/core/plugin/package.json b/packages/core/plugin/package.json index 2b9a7fa32be..9fde332be0e 100644 --- a/packages/core/plugin/package.json +++ b/packages/core/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/plugin", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ "check-ts": "tsc --noEmit src/PluginAPI.d.ts" }, "dependencies": { - "@parcel/types": "^2.1.0" + "@parcel/types": "^2.1.1" } } diff --git a/packages/core/register/package.json b/packages/core/register/package.json index 1657d08a50c..d48f2358c60 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/register", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -23,10 +23,10 @@ "clean": "rimraf .parcel-cache" }, "dependencies": { - "@parcel/config-default": "^2.1.0", - "@parcel/core": "^2.1.0", - "@parcel/fs": "^2.1.0", - "@parcel/package-manager": "^2.1.0", + "@parcel/config-default": "^2.1.1", + "@parcel/core": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/package-manager": "^2.1.1", "deasync": "^0.1.14", "pirates": "^4.0.0" } diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index 31d6bc24a50..eb523ce628a 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/test-utils", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -13,11 +13,11 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.1.0", - "@parcel/core": "^2.1.0", - "@parcel/fs": "^2.1.0", - "@parcel/package-manager": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/config-default": "^2.1.1", + "@parcel/core": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/package-manager": "^2.1.1", + "@parcel/utils": "^2.1.1", "chalk": "^4.1.0", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/types/package.json b/packages/core/types/package.json index 8397a36126c..05d467482cc 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/types", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "main": "src/index.js", "types": "lib/index.d.ts", @@ -16,12 +16,12 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.1.0", - "@parcel/diagnostic": "^2.1.0", - "@parcel/fs": "^2.1.0", - "@parcel/package-manager": "^2.1.0", + "@parcel/cache": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/package-manager": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "^2.1.0", + "@parcel/workers": "^2.1.1", "utility-types": "^3.10.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index bcb2f24313d..d19a0e20ae6 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/utils", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,11 +21,11 @@ }, "dependencies": { "@iarna/toml": "^2.2.0", - "@parcel/codeframe": "^2.1.0", - "@parcel/diagnostic": "^2.1.0", - "@parcel/hash": "^2.1.0", - "@parcel/logger": "^2.1.0", - "@parcel/markdown-ansi": "^2.1.0", + "@parcel/codeframe": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/markdown-ansi": "^2.1.1", "@parcel/source-map": "^2.0.0", "ansi-html-community": "0.0.8", "chalk": "^4.1.0", diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index ea9c4f3e322..fa4f73d69b9 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/workers", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,15 +21,15 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/logger": "^2.1.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, "peerDependencies": { - "@parcel/core": "^2.1.0" + "@parcel/core": "^2.1.1" }, "browser": { "./src/cpuCount.js": false, diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index 3eb41d56324..1abba3148c6 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset", - "version": "2.1.0", + "version": "2.1.1", "private": true, "license": "MIT", "repository": { diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index 1807b89c4b5..95bb77ef5dc 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-register", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -10,7 +10,7 @@ }, "dependencies": { "@babel/register": "^7.4.4", - "@parcel/babel-preset": "^2.1.0", + "@parcel/babel-preset": "^2.1.1", "resolve": "^1.12.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index 713652b9c72..d8b88ea68b0 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -1,8 +1,8 @@ { "name": "@parcel/eslint-config-browser", "private": true, - "version": "2.1.0", + "version": "2.1.1", "dependencies": { - "@parcel/eslint-config": "^2.1.0" + "@parcel/eslint-config": "^2.1.1" } } diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index 26c252b3e78..feda11b826d 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -1,10 +1,10 @@ { "name": "@parcel/eslint-config", "private": true, - "version": "2.1.0", + "version": "2.1.1", "dependencies": { "@babel/eslint-parser": "^7.12.1", - "@parcel/eslint-plugin": "^2.1.0", + "@parcel/eslint-plugin": "^2.1.1", "eslint-config-prettier": "^7.2.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index d16f8eb1c91..a3a049485be 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/eslint-plugin", "private": true, - "version": "2.1.0", + "version": "2.1.1", "main": "index.js", "scripts": {}, "dependencies": { diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index 675d5b0cfdd..0ebcef38bb3 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -1,6 +1,6 @@ { "name": "fuzzer", - "version": "2.1.0", + "version": "2.1.1", "private": true, "scripts": { "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules -r @parcel/babel-register index.js" diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index 74b170374b8..339249f7c63 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/eslint-example", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.1.0", - "@parcel/core": "^2.1.0", - "@parcel/validator-eslint": "^2.1.0" + "@parcel/babel-register": "^2.1.1", + "@parcel/core": "^2.1.1", + "@parcel/validator-eslint": "^2.1.1" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index ad7afe4f0f7..7e275edc7ae 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/html-example", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true, "scripts": { @@ -12,8 +12,8 @@ "not firefox < 67" ], "devDependencies": { - "@parcel/babel-register": "^2.1.0", - "parcel": "^2.1.0" + "@parcel/babel-register": "^2.1.1", + "parcel": "^2.1.1" }, "dependencies": { "lodash": "^4.17.11", diff --git a/packages/examples/internalize-example/package.json b/packages/examples/internalize-example/package.json index b16b96c587a..a9346a8e85b 100644 --- a/packages/examples/internalize-example/package.json +++ b/packages/examples/internalize-example/package.json @@ -1,6 +1,6 @@ { "name": "internalize-example", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 94a58aca1c3..e20c3ceba03 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/kitchen-sink-example", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true, "scripts": { @@ -8,11 +8,11 @@ "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { - "@parcel/babel-register": "^2.1.0", - "@parcel/config-default": "^2.1.0", - "@parcel/optimizer-esbuild": "^2.1.0", - "@parcel/reporter-sourcemap-visualiser": "^2.1.0", - "parcel": "^2.1.0" + "@parcel/babel-register": "^2.1.1", + "@parcel/config-default": "^2.1.1", + "@parcel/optimizer-esbuild": "^2.1.1", + "@parcel/reporter-sourcemap-visualiser": "^2.1.1", + "parcel": "^2.1.1" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 577d60d04d7..26e9d944cb8 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -1,13 +1,13 @@ { "name": "@parcel/react-hmr-example", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true, "scripts": { "demo": "parcel serve src/index.html --no-cache --https" }, "devDependencies": { - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 7d89b3fe8c0..59be3bb5e46 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/react-refresh-example", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true, "scripts": { "start": "parcel src/index.html" }, "devDependencies": { - "@parcel/babel-register": "^2.1.0", - "@parcel/core": "^2.1.0" + "@parcel/babel-register": "^2.1.1", + "@parcel/core": "^2.1.1" }, "dependencies": { "react": "^17.0.2", diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index 79c30097a8d..ebccfdace49 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/simple-example", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true, "scripts": { @@ -8,8 +8,8 @@ "clean-demo": "rm -rf .parcel-cache dist && yarn demo" }, "devDependencies": { - "@parcel/babel-register": "^2.1.0", - "@parcel/core": "^2.1.0" + "@parcel/babel-register": "^2.1.1", + "@parcel/core": "^2.1.1" }, "browser": "dist/legacy/index.js", "browserModern": "dist/modern/index.js", diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index cbd48cd2b01..46c0f64f3b8 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/three-js-stresstest", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true, "scripts": { @@ -27,7 +27,7 @@ } }, "devDependencies": { - "@parcel/config-default": "^2.1.0", - "parcel": "^2.1.0" + "@parcel/config-default": "^2.1.1", + "parcel": "^2.1.1" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index d3a03823467..2c972331bfa 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/ts-example", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true, "scripts": { "demo": "parcel build src/index.ts" }, "devDependencies": { - "@parcel/babel-register": "^2.1.0", - "@parcel/core": "^2.1.0" + "@parcel/babel-register": "^2.1.1", + "@parcel/core": "^2.1.1" }, "main": "dist/main.js", "module": "dist/module.js", diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index 25fc1426a16..bdc498d7ad0 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-typecheck-example", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.1.0", - "@parcel/core": "^2.1.0", - "@parcel/validator-typescript": "^2.1.0" + "@parcel/babel-register": "^2.1.1", + "@parcel/core": "^2.1.1", + "@parcel/validator-typescript": "^2.1.1" } } diff --git a/packages/namers/default/package.json b/packages/namers/default/package.json index cb2c7aaf942..daf0c8c3348 100644 --- a/packages/namers/default/package.json +++ b/packages/namers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/namer-default", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultNamer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/blob-url/package.json b/packages/optimizers/blob-url/package.json index a0bec91ba4f..99473163539 100644 --- a/packages/optimizers/blob-url/package.json +++ b/packages/optimizers/blob-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-blob-url", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BlobURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0" + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1" } } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 6164916ab60..8402ce55eae 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-css", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { "@parcel/css": "1.0.0-alpha.7", - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "browserslist": "^4.6.6" } } diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index 5941b90a83e..f16c1b8ad2d 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-cssnano", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/CSSNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.5", "postcss": "^8.3.0" diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index 986a2a07f6a..135c740943d 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-data-url", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DataURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index 800ba6c79b6..29e61c40820 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-esbuild", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/ESBuildOptimizer.js", "engines": { "node": ">= 10.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "esbuild": "^0.13.0", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index 27a46346102..689736c25f1 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-htmlnano", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HTMLNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "htmlnano": "^1.0.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index 839f9d68788..a83497cf0de 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-image", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "main": "lib/ImageOptimizer.js", "source": "src/ImageOptimizer.js", @@ -17,7 +17,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "files": [ "lib", @@ -32,10 +32,10 @@ "build-release": "napi build --platform --release" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", - "@parcel/workers": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "detect-libc": "^1.0.3" }, "devDependencies": { diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index 1192a14cd62..b201498257e 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-svgo", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGOOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "svgo": "^2.4.0" } } diff --git a/packages/optimizers/swc/package.json b/packages/optimizers/swc/package.json index 166576a8e3c..2fab95bf62f 100644 --- a/packages/optimizers/swc/package.json +++ b/packages/optimizers/swc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-swc", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SwcOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "@swc/core": "^1.2.106", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index 474f5ccfd51..d20e2b46156 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-terser", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TerserOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "terser": "^5.2.0" } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index f7c9e697921..6c2b4f8714c 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-css", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "postcss": "^8.3.0" } diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index 1d308b21091..e2b3f8d7b2b 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-html", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index fb9ffccdbe3..282046d3138 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-js", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/index.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/hash": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "globals": "^13.2.0", "nullthrows": "^1.1.1" } diff --git a/packages/packagers/raw-url/package.json b/packages/packagers/raw-url/package.json index 4b8e8f7fb44..b7f9063d740 100644 --- a/packages/packagers/raw-url/package.json +++ b/packages/packagers/raw-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw-url", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/RawUrlPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0" + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1" } } diff --git a/packages/packagers/raw/package.json b/packages/packagers/raw/package.json index 34e18741032..5caf025268b 100644 --- a/packages/packagers/raw/package.json +++ b/packages/packagers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/packagers/svg/package.json b/packages/packagers/svg/package.json index ad1b8ea9f6b..1206e4698ea 100644 --- a/packages/packagers/svg/package.json +++ b/packages/packagers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-svg", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "posthtml": "^0.16.4" } } diff --git a/packages/packagers/ts/package.json b/packages/packagers/ts/package.json index d55d7c9a248..7bcd415eb6a 100644 --- a/packages/packagers/ts/package.json +++ b/packages/packagers/ts/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-ts", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/TSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index 813569c36c6..495958c7ff2 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-xml", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/XMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/reporters/build-metrics/package.json b/packages/reporters/build-metrics/package.json index 4391ddacce9..0aab276d7f0 100644 --- a/packages/reporters/build-metrics/package.json +++ b/packages/reporters/build-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-build-metrics", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BuildMetricsReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0" + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1" } } diff --git a/packages/reporters/bundle-analyzer/package.json b/packages/reporters/bundle-analyzer/package.json index b063dec2c6b..8b775f756a6 100644 --- a/packages/reporters/bundle-analyzer/package.json +++ b/packages/reporters/bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-analyzer", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/BundleAnalyzerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.1.0" + "@parcel/types": "^2.1.1" } } diff --git a/packages/reporters/bundle-buddy/package.json b/packages/reporters/bundle-buddy/package.json index fec7332ae93..c2d7f5d5191 100644 --- a/packages/reporters/bundle-buddy/package.json +++ b/packages/reporters/bundle-buddy/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-buddy", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BundleBuddyReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index 31b135bb884..3f7c685d9f2 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-cli", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CLIReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "chalk": "^4.1.0", "filesize": "^6.1.0", "nullthrows": "^1.1.1", diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 22dabbf09b9..19d3833d162 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-dev-server", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -18,11 +18,11 @@ "source": "src/ServerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^1.0.0", @@ -31,7 +31,7 @@ "ws": "^7.0.0" }, "devDependencies": { - "@parcel/babel-preset": "^2.1.0", - "@parcel/types": "^2.1.0" + "@parcel/babel-preset": "^2.1.1", + "@parcel/types": "^2.1.1" } } diff --git a/packages/reporters/json/package.json b/packages/reporters/json/package.json index 5d2cb0f8ef7..e37a8875e6b 100644 --- a/packages/reporters/json/package.json +++ b/packages/reporters/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-json", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/JSONReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } } diff --git a/packages/reporters/sourcemap-visualiser/package.json b/packages/reporters/sourcemap-visualiser/package.json index d653aed08af..c8f1df13918 100644 --- a/packages/reporters/sourcemap-visualiser/package.json +++ b/packages/reporters/sourcemap-visualiser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-sourcemap-visualiser", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/SourceMapVisualiser.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.1.0" + "@parcel/types": "^2.1.1" } } diff --git a/packages/resolvers/default/package.json b/packages/resolvers/default/package.json index 6c97f2d820d..cd259bff588 100644 --- a/packages/resolvers/default/package.json +++ b/packages/resolvers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-default", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/node-resolver-core": "^2.1.0", - "@parcel/plugin": "^2.1.0" + "@parcel/node-resolver-core": "^2.1.1", + "@parcel/plugin": "^2.1.1" }, "devDependencies": { "@babel/core": "^7.12.2" diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index 472ce346602..f5b6d505671 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-glob", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/GlobResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "micromatch": "^4.0.2", "nullthrows": "^1.1.1" } diff --git a/packages/runtimes/hmr/package.json b/packages/runtimes/hmr/package.json index 07f9f77569f..3b167646ff3 100644 --- a/packages/runtimes/hmr/package.json +++ b/packages/runtimes/hmr/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-browser-hmr", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HMRRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0" + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1" } } diff --git a/packages/runtimes/js/package.json b/packages/runtimes/js/package.json index 64c72c215a7..805a6ba90cf 100644 --- a/packages/runtimes/js/package.json +++ b/packages/runtimes/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-js", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/JSRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/react-refresh/package.json b/packages/runtimes/react-refresh/package.json index 66b5ee57ff1..6d91964df2e 100644 --- a/packages/runtimes/react-refresh/package.json +++ b/packages/runtimes/react-refresh/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-react-refresh", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "react-refresh": "^0.9.0" } } diff --git a/packages/runtimes/service-worker/package.json b/packages/runtimes/service-worker/package.json index e1f0af9a293..fe93fecbf04 100644 --- a/packages/runtimes/service-worker/package.json +++ b/packages/runtimes/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-service-worker", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "./src/ServiceWorkerRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } } diff --git a/packages/shared/babel-ast-utils/package.json b/packages/shared/babel-ast-utils/package.json index 64f3b0da4c5..8ab758e3e7e 100644 --- a/packages/shared/babel-ast-utils/package.json +++ b/packages/shared/babel-ast-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-ast-utils", - "version": "2.1.0", + "version": "2.1.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,9 +21,9 @@ }, "dependencies": { "@babel/parser": "^7.0.0", - "@parcel/babylon-walk": "^2.1.0", + "@parcel/babylon-walk": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "astring": "^1.6.2" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 649a6f02b99..2fbc1682bb2 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-babel", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "source": "src/BabelTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { "@babel/core": "^7.12.0", @@ -25,11 +25,11 @@ "@babel/helper-compilation-targets": "^7.8.4", "@babel/plugin-transform-flow-strip-types": "^7.0.0", "@babel/traverse": "^7.0.0", - "@parcel/babel-ast-utils": "^2.1.0", - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/babel-ast-utils": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "browserslist": "^4.6.6", "core-js": "^3.2.1", "json5": "^2.1.0", @@ -39,6 +39,6 @@ "devDependencies": { "@babel/core": "^7.12.0", "@babel/preset-env": "^7.0.0", - "@parcel/types": "^2.1.0" + "@parcel/types": "^2.1.1" } } diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 9370c448c69..310c829604c 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-coffeescript", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CoffeeScriptTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", "semver": "^5.7.1" diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index efe1f1c9e66..31854050d62 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "postcss": "^8.3.0", "postcss-value-parser": "^4.1.0", diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index b4ce160562f..03e6e3c4f87 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-elm", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ElmTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "command-exists": "^1.2.8", "cross-spawn": "^7.0.3", "elm-hot": "^1.1.5", diff --git a/packages/transformers/glsl/package.json b/packages/transformers/glsl/package.json index 33ace1cbd94..b158c6a296a 100644 --- a/packages/transformers/glsl/package.json +++ b/packages/transformers/glsl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-glsl", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GLSLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "glslify-bundle": "^5.1.1", "glslify-deps": "^1.3.2" } diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index ee4cfad0542..9f70cab0691 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-graphql", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GraphQLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "graphql": "^15.0.0", "graphql-import-macro": "^1.0.0" } diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index d3b909ea8f7..af8afb7f6c2 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-html", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/hash": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index 373604efddc..11abee0ece6 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-image", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -13,11 +13,11 @@ "source": "src/ImageTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/workers": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/workers": "^2.1.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/inline-string/package.json b/packages/transformers/inline-string/package.json index 9da1d0994f8..7157af0b413 100644 --- a/packages/transformers/inline-string/package.json +++ b/packages/transformers/inline-string/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline-string", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineStringTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/transformers/inline/package.json b/packages/transformers/inline/package.json index 048bda49721..98da5df46bc 100644 --- a/packages/transformers/inline/package.json +++ b/packages/transformers/inline/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index dfde57ddd9c..d2b50b06ca3 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-js", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -19,7 +19,7 @@ "name": "parcel-swc" }, "engines": { - "parcel": "^2.1.0", + "parcel": "^2.1.1", "node": ">= 12.0.0" }, "files": [ @@ -30,11 +30,11 @@ "*.node" ], "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", - "@parcel/workers": "^2.1.0", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index b3341388c94..ce4f9d83c0e 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-json", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/JSONTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "json5": "^2.1.0" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index 474390d8dca..c35cfd118f7 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-jsonld", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/JSONLDTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "scripts": { "test": "yarn workspace @parcel/integration-tests test -g jsonld" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/types": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", "json5": "^2.1.2" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index b88120c06e9..debc0dd7573 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-less", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/LessTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "less": "^4.1.1" } diff --git a/packages/transformers/mdx/package.json b/packages/transformers/mdx/package.json index 4cef1396055..542499981bf 100644 --- a/packages/transformers/mdx/package.json +++ b/packages/transformers/mdx/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-mdx", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/MDXTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { "@mdx-js/mdx": "^1.6.22", - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" }, "peerDependencies": { "@mdx-js/react": "^1.6.22" diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index c1d7d66432c..c2111ff9f89 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-postcss", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/PostCSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/hash": "^2.1.0", - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "clone": "^2.1.1", "css-modules-loader-core": "^1.1.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/posthtml/package.json b/packages/transformers/posthtml/package.json index b9dd44411d4..81e4b1eb136 100644 --- a/packages/transformers/posthtml/package.json +++ b/packages/transformers/posthtml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-posthtml", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/PostHTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index 46d1545a88d..b05333aaa6a 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-pug", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/PugTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "pug": "^3.0.2" } } diff --git a/packages/transformers/raw/package.json b/packages/transformers/raw/package.json index da6ad0fe02f..dac651495cf 100644 --- a/packages/transformers/raw/package.json +++ b/packages/transformers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-raw", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index 38eab94a455..b29ec32a8cd 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-react-refresh-wrap", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshWrapTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "react-refresh": "^0.9.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index 228c16b8aa7..707dbf77b64 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sass", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SassTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index b7dde2f02b1..235df4009e6 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-stylus", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/StylusTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "stylus": "^0.55.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index 83b913f4eb5..6168f446b4e 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sugarss", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SugarssTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "postcss": "^8.3.0", "sugarss": "^3.0.3" } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index ca82372fbd4..d19b0d71a45 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg-react", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SvgReactTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@svgr/core": "^5.5.0", "@svgr/plugin-jsx": "^5.5.0", "@svgr/plugin-svgo": "^5.5.0", diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index 8d21585fdf3..6fcc1c7237e 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/hash": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index e046a4c6232..1a7d061d59d 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-toml", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/TOMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { "@iarna/toml": "^2.2.3", - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/transformers/typescript-tsc/package.json b/packages/transformers/typescript-tsc/package.json index 9423e606e0f..c9764d27f1a 100644 --- a/packages/transformers/typescript-tsc/package.json +++ b/packages/transformers/typescript-tsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-tsc", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/TSCTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.1.0" + "@parcel/ts-utils": "^2.1.1" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index 17dec1290e4..c3ee5b2e9cf 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-types", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TSTypesTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.1.0", + "@parcel/ts-utils": "^2.1.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index 3f36ee6fdf6..ebd8cd7cab5 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-vue", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/VueTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.0", + "@parcel/utils": "^2.1.1", "@vue/compiler-sfc": "^3.0.0", "consolidate": "^0.16.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index de0281516a9..cd995088996 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webextension", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebExtensionTransformer.js", "source": "src/WebExtensionTransformer.js", "engines": { - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "content-security-policy-parser": "^0.3.0", "json-source-map": "^0.6.1" } diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index ab4aaecc797..b9a5b4ccbd6 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webmanifest", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebManifestTransformer.js", "source": "src/WebManifestTransformer.js", "engines": { - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "json-source-map": "^0.6.1" } } diff --git a/packages/transformers/worklet/package.json b/packages/transformers/worklet/package.json index ec782d2408a..abc25ac3777 100644 --- a/packages/transformers/worklet/package.json +++ b/packages/transformers/worklet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-worklet", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/WorkletTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0" + "@parcel/plugin": "^2.1.1" } } diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index e8b43841477..8dc4d27b753 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-xml", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/XMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/transformers/yaml/package.json b/packages/transformers/yaml/package.json index c5f5c8f3d97..0357aee87b4 100644 --- a/packages/transformers/yaml/package.json +++ b/packages/transformers/yaml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-yaml", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/YAMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", + "@parcel/plugin": "^2.1.1", "js-yaml": "^3.10.0" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index 09225082817..b5b30f8d75e 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-plugin-transform-runtime", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ }, "devDependencies": { "@babel/core": "^7.12.0", - "@parcel/babel-preset-env": "^2.1.0" + "@parcel/babel-preset-env": "^2.1.1" } } diff --git a/packages/utils/babel-preset-env/package.json b/packages/utils/babel-preset-env/package.json index 0222a88aa4b..d1e7dd8cbb3 100644 --- a/packages/utils/babel-preset-env/package.json +++ b/packages/utils/babel-preset-env/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset-env", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/babylon-walk/package.json b/packages/utils/babylon-walk/package.json index da0bb216409..635f3b3ba55 100755 --- a/packages/utils/babylon-walk/package.json +++ b/packages/utils/babylon-walk/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babylon-walk", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 97582c759a6..99e862e031e 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/create-react-app", - "version": "2.1.0", + "version": "2.1.1", "bin": { "parcel-create-react-app": "src/bin.js" }, @@ -31,6 +31,6 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.1.0" + "@parcel/babel-register": "^2.1.1" } } diff --git a/packages/utils/events/package.json b/packages/utils/events/package.json index a4144b5f811..8f8952837e4 100644 --- a/packages/utils/events/package.json +++ b/packages/utils/events/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/events", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-search/package.json b/packages/utils/fs-search/package.json index d04462005ab..07a54023338 100644 --- a/packages/utils/fs-search/package.json +++ b/packages/utils/fs-search/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-search", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-write-stream-atomic/package.json b/packages/utils/fs-write-stream-atomic/package.json index 9a5f7d8dfb3..6160c92b7de 100644 --- a/packages/utils/fs-write-stream-atomic/package.json +++ b/packages/utils/fs-write-stream-atomic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-write-stream-atomic", - "version": "2.1.0", + "version": "2.1.1", "description": "Like `fs.createWriteStream(...)`, but atomic.", "main": "index.js", "repository": { diff --git a/packages/utils/hash/package.json b/packages/utils/hash/package.json index 67141e217c3..2eca676a409 100644 --- a/packages/utils/hash/package.json +++ b/packages/utils/hash/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/hash", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "main": "index.js", "browser": "browser.js", diff --git a/packages/utils/node-libs-browser/package.json b/packages/utils/node-libs-browser/package.json index b544c505b28..ea649e1d046 100755 --- a/packages/utils/node-libs-browser/package.json +++ b/packages/utils/node-libs-browser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-libs-browser", - "version": "2.1.0", + "version": "2.1.1", "author": "Tobias Koppers @sokra", "description": "The node core libs for in browser usage.", "license": "MIT", diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index aade3705e62..17db4ec20a1 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-resolver-core", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -19,9 +19,9 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/node-libs-browser": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/diagnostic": "^2.1.1", + "@parcel/node-libs-browser": "^2.1.1", + "@parcel/utils": "^2.1.1", "micromatch": "^4.0.4", "nullthrows": "^1.1.1" } diff --git a/packages/utils/service-worker/package.json b/packages/utils/service-worker/package.json index 7ae7359e316..195201c3886 100644 --- a/packages/utils/service-worker/package.json +++ b/packages/utils/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/service-worker", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -18,6 +18,6 @@ "sideEffects": false, "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" } } diff --git a/packages/utils/ts-utils/package.json b/packages/utils/ts-utils/package.json index a2f481ebbd8..be487c18d72 100644 --- a/packages/utils/ts-utils/package.json +++ b/packages/utils/ts-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-utils", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index d6e2096b945..31a1c338d67 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-eslint", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/EslintValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/plugin": "^2.1.0", - "@parcel/utils": "^2.1.0", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/validators/typescript/package.json b/packages/validators/typescript/package.json index 607fefb0c4b..cfab2259047 100644 --- a/packages/validators/typescript/package.json +++ b/packages/validators/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-typescript", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/TypeScriptValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.0" + "parcel": "^2.1.1" }, "dependencies": { - "@parcel/diagnostic": "^2.1.0", - "@parcel/plugin": "^2.1.0", - "@parcel/ts-utils": "^2.1.0", - "@parcel/types": "^2.1.0", - "@parcel/utils": "^2.1.0" + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/ts-utils": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1" }, "devDependencies": { "typescript": ">=3.0.0" From dbe2f10dd6199769e5a7b299f936aac0ae5841b9 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Tue, 11 Jan 2022 12:24:22 -0800 Subject: [PATCH 0179/1076] New CSS pipeline based on @parcel/css (#7538) --- packages/core/core/src/Environment.js | 14 +- packages/core/integration-tests/test/cache.js | 16 +- .../integration-tests/test/css-modules.js | 495 +++++++++++ packages/core/integration-tests/test/css.js | 790 ++++++++++-------- packages/core/integration-tests/test/glob.js | 8 +- packages/core/integration-tests/test/html.js | 6 +- .../test/integration/bundle-text/text.scss | 2 +- .../test/integration/css-external/a.css | 2 +- .../integration/css-modules-legacy/index.js | 2 + .../css-modules-legacy/index.module.css | 5 + .../integration/html-inline-escape/style.html | 2 +- .../backgrounds/green.txt | 2 +- .../backgrounds/red.txt | 2 +- .../sass-advanced-import/_foo.sass | 2 +- .../svg-inline-css-import/test.css | 2 +- .../core/integration-tests/test/javascript.js | 12 +- packages/core/integration-tests/test/less.js | 12 +- .../core/integration-tests/test/monorepos.js | 14 +- .../core/integration-tests/test/postcss.js | 454 +--------- packages/core/integration-tests/test/sass.js | 8 +- .../core/integration-tests/test/sourcemaps.js | 103 +-- .../core/integration-tests/test/stylus.js | 10 +- packages/core/integration-tests/test/svg.js | 2 +- packages/core/test-utils/src/.parcelrc-css | 10 + packages/core/types/index.js | 2 +- .../core/utils/src/replaceBundleReferences.js | 4 +- packages/optimizers/css/package.json | 5 +- packages/optimizers/css/src/CSSOptimizer.js | 128 +-- packages/packagers/css/src/CSSPackager.js | 19 +- .../css-experimental/package.json | 30 + .../css-experimental/src/CSSTransformer.js | 232 +++++ packages/transformers/css/package.json | 3 + .../transformers/css/src/CSSTransformer.js | 177 +++- .../postcss/src/PostCSSTransformer.js | 87 +- .../transformers/postcss/src/loadConfig.js | 13 - yarn.lock | 8 +- 36 files changed, 1618 insertions(+), 1065 deletions(-) create mode 100644 packages/core/integration-tests/test/css-modules.js create mode 100644 packages/core/integration-tests/test/integration/css-modules-legacy/index.js create mode 100644 packages/core/integration-tests/test/integration/css-modules-legacy/index.module.css create mode 100644 packages/core/test-utils/src/.parcelrc-css create mode 100644 packages/transformers/css-experimental/package.json create mode 100644 packages/transformers/css-experimental/src/CSSTransformer.js diff --git a/packages/core/core/src/Environment.js b/packages/core/core/src/Environment.js index 733485f2f48..8c58eb7900e 100644 --- a/packages/core/core/src/Environment.js +++ b/packages/core/core/src/Environment.js @@ -1,8 +1,14 @@ // @flow -import type {EnvironmentOptions, FilePath} from '@parcel/types'; +import type { + EnvironmentOptions, + Environment as IEnvironment, + FilePath, +} from '@parcel/types'; import type {Environment, InternalSourceLocation} from './types'; import {hashString} from '@parcel/hash'; import {toInternalSourceLocation} from './utils'; +import PublicEnvironment from './public/Environment'; +import {environmentToInternalEnvironment} from './public/Environment'; const DEFAULT_ENGINES = { browsers: ['> 0.25%'], @@ -107,13 +113,17 @@ export function createEnvironment({ export function mergeEnvironments( projectRoot: FilePath, a: Environment, - b: ?EnvironmentOptions, + b: ?(EnvironmentOptions | IEnvironment), ): Environment { // If merging the same object, avoid copying. if (a === b || !b) { return a; } + if (b instanceof PublicEnvironment) { + return environmentToInternalEnvironment(b); + } + // $FlowFixMe - ignore the `id` that is already on a return createEnvironment({ ...a, diff --git a/packages/core/integration-tests/test/cache.js b/packages/core/integration-tests/test/cache.js index d03984b702b..da809e78bb2 100644 --- a/packages/core/integration-tests/test/cache.js +++ b/packages/core/integration-tests/test/cache.js @@ -3971,7 +3971,7 @@ describe('cache', function () { let pluginContents = await overlayFS.readFile(plugin, 'utf8'); await overlayFS.writeFile( plugin, - pluginContents.replace('green', 'blue'), + pluginContents.replace('green', 'red'), ); }, }, @@ -3982,7 +3982,7 @@ describe('cache', function () { b.bundleGraph.getBundles()[0].filePath, 'utf8', ); - assert(output.includes('background: blue')); + assert(output.includes('background: red')); }); it('should invalidate when a JS postcss config changes', async function () { @@ -4009,7 +4009,7 @@ describe('cache', function () { let configContents = await inputFS.readFile(config, 'utf8'); await inputFS.writeFile( config, - configContents.replace('red', 'blue'), + configContents.replace('red', 'green'), ); await sleep(100); }, @@ -4021,7 +4021,7 @@ describe('cache', function () { b.bundleGraph.getBundles()[0].filePath, 'utf8', ); - assert(output.includes('background-color: blue')); + assert(output.includes('background-color: green')); }); it('should invalidate when a JSON postcss config changes', async function () { @@ -4041,7 +4041,7 @@ describe('cache', function () { ); await overlayFS.writeFile( path.join(inputDir, '.postcssrc'), - configContents.replace('green', 'blue'), + configContents.replace('green', 'red'), ); }, }, @@ -4052,7 +4052,7 @@ describe('cache', function () { b.bundleGraph.getBundles()[0].filePath, 'utf8', ); - assert(output.includes('background-color: blue')); + assert(output.includes('background-color: red')); }); it('should invalidate when a closer postcss config is added', async function () { @@ -4072,7 +4072,7 @@ describe('cache', function () { ); await overlayFS.writeFile( path.join(inputDir, 'nested', '.postcssrc'), - configContents.replace('green', 'blue'), + configContents.replace('green', 'red'), ); }, }, @@ -4083,7 +4083,7 @@ describe('cache', function () { b.bundleGraph.getBundles()[0].filePath, 'utf8', ); - assert(output.includes('background-color: blue')); + assert(output.includes('background-color: red')); }); }); diff --git a/packages/core/integration-tests/test/css-modules.js b/packages/core/integration-tests/test/css-modules.js new file mode 100644 index 00000000000..de7a660b36d --- /dev/null +++ b/packages/core/integration-tests/test/css-modules.js @@ -0,0 +1,495 @@ +import assert from 'assert'; +import path from 'path'; +import { + bundle as originalBundle, + run, + assertBundles, + distDir, + outputFS, +} from '@parcel/test-utils'; +import postcss from 'postcss'; + +describe('css modules', () => { + for (let name of ['old', 'new']) { + describe(name, () => { + let bundle = (entries, opts = {}) => { + if (name === 'new') { + // $FlowFixMe + opts.defaultConfig = + path.dirname(require.resolve('@parcel/test-utils')) + + '/.parcelrc-css'; + } + return originalBundle(entries, opts); + }; + + it('should support transforming css modules (require)', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-modules-cjs/index.js'), + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'foo.module.css'], + }, + { + name: 'index.css', + assets: ['index.css', 'foo.module.css'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + assert(/foo_[0-9a-zA-Z]/.test(value)); + + let cssClass = value.match(/(foo_[0-9a-zA-Z])/)[1]; + + let css = await outputFS.readFile( + path.join(distDir, 'index.css'), + 'utf8', + ); + assert(css.includes(`.${cssClass}`)); + }); + + it('should support transforming css modules (import default)', async () => { + let b = await bundle( + path.join( + __dirname, + '/integration/postcss-modules-import-default/index.js', + ), + {mode: 'production'}, + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'style.module.css'], + }, + { + name: 'index.css', + assets: ['style.module.css'], + }, + ]); + + let output = await run(b); + assert(/b-2_[0-9a-zA-Z]/.test(output)); + + let css = await outputFS.readFile( + b.getBundles().find(b => b.type === 'css').filePath, + 'utf8', + ); + let includedRules = new Set(); + postcss.parse(css).walkRules(rule => { + includedRules.add(rule.selector); + }); + assert(includedRules.has('.page')); + assert(includedRules.has(`.${output}`)); + }); + + it('should tree shake unused css modules classes with a namespace import', async () => { + let b = await bundle( + path.join( + __dirname, + '/integration/postcss-modules-import-namespace/index.js', + ), + {mode: 'production'}, + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'style.module.css'], + }, + { + name: 'index.css', + assets: ['global.css', 'style.module.css'], + }, + ]); + + let js = await outputFS.readFile( + b.getBundles().find(b => b.type === 'js').filePath, + 'utf8', + ); + assert(!js.includes('unused')); + + let output = await run(b); + assert(/b-2_[0-9a-zA-Z]/.test(output)); + + let css = await outputFS.readFile( + b.getBundles().find(b => b.type === 'css').filePath, + 'utf8', + ); + let includedRules = new Set(); + postcss.parse(css).walkRules(rule => { + includedRules.add(rule.selector); + }); + assert.deepStrictEqual( + includedRules, + new Set(['body', `.${output}`, '.page']), + ); + }); + + it('should produce correct css without symbol propagation for css modules classes with a namespace import', async () => { + let b = await bundle( + path.join( + __dirname, + '/integration/postcss-modules-import-namespace/index.js', + ), + { + mode: 'production', + defaultTargetOptions: { + shouldScopeHoist: false, + }, + }, + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'style.module.css'], + }, + { + name: 'index.css', + assets: ['global.css', 'style.module.css'], + }, + ]); + + let {output} = await run(b, null, {require: false}); + assert(/b-2_[0-9a-zA-Z]/.test(output)); + + let css = await outputFS.readFile( + b.getBundles().find(b => b.type === 'css').filePath, + 'utf8', + ); + let includedRules = new Set(); + postcss.parse(css).walkRules(rule => { + includedRules.add(rule.selector); + }); + assert(includedRules.has('body')); + assert(includedRules.has(`.${output}`)); + assert(includedRules.has('.page')); + }); + + it('should support importing css modules with a non-static namespace import', async () => { + let b = await bundle( + path.join( + __dirname, + '/integration/postcss-modules-import-namespace-whole/index.js', + ), + {mode: 'production'}, + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'style.module.css'], + }, + { + name: 'index.css', + assets: ['global.css', 'style.module.css'], + }, + ]); + + let js = await outputFS.readFile( + b.getBundles().find(b => b.type === 'js').filePath, + 'utf8', + ); + assert(js.includes('unused')); + + let output = await run(b); + assert(/b-2_[0-9a-zA-Z]/.test(output['b-2'])); + assert(/unused_[0-9a-zA-Z]/.test(output['unused'])); + + let css = await outputFS.readFile( + b.getBundles().find(b => b.type === 'css').filePath, + 'utf8', + ); + let includedRules = new Set(); + postcss.parse(css).walkRules(rule => { + includedRules.add(rule.selector); + }); + assert.deepStrictEqual( + includedRules, + new Set([ + 'body', + `.${output['b-2']}`, + `.${output['unused']}`, + '.page', + ]), + ); + }); + + it('should support css modules composes imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index.js'), + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: [ + 'index.js', + 'composes-1.module.css', + 'composes-2.module.css', + 'mixins.module.css', + ], + }, + { + name: 'index.css', + assets: [ + 'composes-1.module.css', + 'composes-2.module.css', + 'mixins.module.css', + ], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes1Classes = value.composes1.split(' '); + const composes2Classes = value.composes2.split(' '); + assert(composes1Classes[0].startsWith('composes1_')); + assert(composes1Classes[1].startsWith('test_')); + assert(composes2Classes[0].startsWith('composes2_')); + assert(composes2Classes[1].startsWith('test_')); + + let css = await outputFS.readFile( + path.join(distDir, 'index.css'), + 'utf8', + ); + let cssClass1 = value.composes1.match(/(composes1_[0-9a-zA-Z]+)/)[1]; + assert(css.includes(`.${cssClass1}`)); + let cssClass2 = value.composes2.match(/(composes2_[0-9a-zA-Z]+)/)[1]; + assert(css.includes(`.${cssClass2}`)); + }); + + it('should not include css twice for composes imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index.js'), + ); + + await run(b); + + let css = await outputFS.readFile( + path.join(distDir, 'index.css'), + 'utf8', + ); + assert.equal( + css.indexOf('height: 100px;'), + css.lastIndexOf('height: 100px;'), + ); + }); + + it('should support composes imports for sass', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index2.js'), + ); + + assertBundles(b, [ + { + name: 'index2.js', + assets: [ + 'index2.js', + 'composes-3.module.css', + 'mixins.module.scss', + ], + }, + { + name: 'index2.css', + assets: ['composes-3.module.css', 'mixins.module.scss'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes3Classes = value.composes3.split(' '); + assert(composes3Classes[0].startsWith('composes3_')); + assert(composes3Classes[1].startsWith('test_')); + + let css = await outputFS.readFile( + path.join(distDir, 'index2.css'), + 'utf8', + ); + assert(css.includes('height: 200px;')); + }); + + it('should support composes imports with custom path names', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index3.js'), + ); + + assertBundles(b, [ + { + name: 'index3.js', + assets: ['index3.js', 'composes-4.module.css', 'mixins.module.css'], + }, + { + name: 'index3.css', + assets: ['composes-4.module.css', 'mixins.module.css'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes4Classes = value.composes4.split(' '); + assert(composes4Classes[0].startsWith('composes4_')); + assert(composes4Classes[1].startsWith('test_')); + + let css = await outputFS.readFile( + path.join(distDir, 'index3.css'), + 'utf8', + ); + assert(css.includes('height: 100px;')); + }); + + it('should support deep nested composes imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index4.js'), + ); + + assertBundles(b, [ + { + name: 'index4.js', + assets: [ + 'index4.js', + 'composes-5.module.css', + 'mixins-intermediate.module.css', + 'mixins.module.css', + ], + }, + { + name: 'index4.css', + assets: [ + 'composes-5.module.css', + 'mixins-intermediate.module.css', + 'mixins.module.css', + ], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes5Classes = value.composes5.split(' '); + assert(composes5Classes[0].startsWith('composes5_')); + assert(composes5Classes[1].startsWith('intermediate_')); + assert(composes5Classes[2].startsWith('test_')); + + let css = await outputFS.readFile( + path.join(distDir, 'index4.css'), + 'utf8', + ); + assert(css.includes('height: 100px;')); + assert(css.includes('height: 300px;')); + assert(css.indexOf('.test_') < css.indexOf('.intermediate_')); + }); + + it('should support composes imports for multiple selectors', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index5.js'), + ); + + assertBundles(b, [ + { + name: 'index5.js', + assets: ['index5.js', 'composes-6.module.css', 'mixins.module.css'], + }, + { + name: 'index5.css', + assets: ['composes-6.module.css', 'mixins.module.css'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes6Classes = value.composes6.split(' '); + assert(composes6Classes[0].startsWith('composes6_')); + assert(composes6Classes[1].startsWith('test_')); + assert(composes6Classes[2].startsWith('test-2_')); + }); + + it('should throw an error when importing a missing class', async function () { + await assert.rejects( + () => + bundle( + path.join( + __dirname, + '/integration/no-export-error-with-correct-filetype/src/App.jsx', + ), + { + shouldDisableCache: true, + defaultTargetOptions: { + shouldScopeHoist: true, + }, + }, + ), + { + name: 'BuildError', + diagnostics: [ + { + codeFrames: [ + { + filePath: path.join( + __dirname, + '/integration/no-export-error-with-correct-filetype/src/App.jsx', + ), + language: 'js', + codeHighlights: [ + { + end: { + column: 45, + line: 7, + }, + start: { + column: 28, + line: 7, + }, + }, + ], + }, + ], + message: + "integration/no-export-error-with-correct-filetype/src/app.module.css does not export 'notExisting'", + origin: '@parcel/core', + }, + ], + }, + ); + }); + + it('should fall back to postcss for legacy css modules', async function () { + let b = await bundle( + path.join(__dirname, '/integration/css-modules-legacy/index.js'), + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'index.module.css'], + }, + { + name: 'index.css', + assets: ['index.module.css'], + }, + ]); + + let css = await outputFS.readFile( + path.join(distDir, 'index.css'), + 'utf8', + ); + assert(css.includes('color: red')); + }); + }); + } +}); diff --git a/packages/core/integration-tests/test/css.js b/packages/core/integration-tests/test/css.js index eb85b47e8e4..2b4d1d2fad2 100644 --- a/packages/core/integration-tests/test/css.js +++ b/packages/core/integration-tests/test/css.js @@ -2,7 +2,7 @@ import assert from 'assert'; import path from 'path'; import { - bundle, + bundle as originalBundle, run, assertBundles, distDir, @@ -16,406 +16,454 @@ describe('css', () => { await removeDistDirectory(); }); - it('should produce two bundles when importing a CSS file', async () => { - let b = await bundle(path.join(__dirname, '/integration/css/index.js')); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'local.js'], - }, - { - name: 'index.css', - assets: ['index.css', 'local.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 3); - }); - - it('should bundle css dependencies in the correct, postorder traversal order', async () => { - let b = await bundle(path.join(__dirname, '/integration/css-order/a.css')); - - // Given a tree of css with imports: - // A - // / \ - // B E - // / \ - // C D - // - // (A imports B (which imports C and D) and E) - // - // ...styles should be applied in the order C, D, B, E, A - - assertBundles(b, [ - { - name: 'a.css', - assets: ['a.css', 'b.css', 'c.css', 'd.css', 'e.css'], - }, - ]); - - let css = await outputFS.readFile(path.join(distDir, 'a.css'), 'utf8'); - assert.ok( - css.indexOf('.c {') < css.indexOf('.d {') && - css.indexOf('.d {') < css.indexOf('.b {') && - css.indexOf('.b {') < css.indexOf('.e {') && - css.indexOf('.e {') < css.indexOf('.a {'), - ); - }); - - it('should support loading a CSS bundle along side dynamic imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/dynamic-css/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: [ - 'bundle-url.js', - 'cacheLoader.js', - 'css-loader.js', - 'index.js', - 'js-loader.js', - ], - }, - {name: /local\.[0-9a-f]{8}\.js/, assets: ['local.js']}, - {name: /local\.[0-9a-f]{8}\.css/, assets: ['local.css']}, - {name: 'index.css', assets: ['index.css']}, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(await output(), 3); - }); + for (let name of ['old', 'new']) { + describe(name, () => { + let bundle = (entries, opts = {}) => { + if (name === 'new') { + // $FlowFixMe + opts.defaultConfig = + path.dirname(require.resolve('@parcel/test-utils')) + + '/.parcelrc-css'; + } + return originalBundle(entries, opts); + }; + + it('should produce two bundles when importing a CSS file', async () => { + let b = await bundle(path.join(__dirname, '/integration/css/index.js')); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'local.js'], + }, + { + name: 'index.css', + assets: ['index.css', 'local.css'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 3); + }); + + it('should bundle css dependencies in the correct, postorder traversal order', async () => { + let b = await bundle( + path.join(__dirname, '/integration/css-order/a.css'), + ); + + // Given a tree of css with imports: + // A + // / \ + // B E + // / \ + // C D + // + // (A imports B (which imports C and D) and E) + // + // ...styles should be applied in the order C, D, B, E, A + + assertBundles(b, [ + { + name: 'a.css', + assets: ['a.css', 'b.css', 'c.css', 'd.css', 'e.css'], + }, + ]); + + let css = await outputFS.readFile(path.join(distDir, 'a.css'), 'utf8'); + assert.ok( + css.indexOf('.c {') < css.indexOf('.d {') && + css.indexOf('.d {') < css.indexOf('.b {') && + css.indexOf('.b {') < css.indexOf('.e {') && + css.indexOf('.e {') < css.indexOf('.a {'), + ); + }); + + it('should support loading a CSS bundle along side dynamic imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/dynamic-css/index.js'), + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: [ + 'bundle-url.js', + 'cacheLoader.js', + 'css-loader.js', + 'index.js', + 'js-loader.js', + ], + }, + {name: /local\.[0-9a-f]{8}\.js/, assets: ['local.js']}, + {name: /local\.[0-9a-f]{8}\.css/, assets: ['local.css']}, + {name: 'index.css', assets: ['index.css']}, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(await output(), 3); + }); + + it('should support importing CSS from a CSS file', async function () { + let b = await bundle( + path.join(__dirname, '/integration/css-import/index.js'), + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js'], + }, + { + name: 'index.css', + assets: ['index.css', 'other.css', 'local.css'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 2); + + let css = await outputFS.readFile( + path.join(distDir, '/index.css'), + 'utf8', + ); + assert(css.includes('.local')); + assert(css.includes('.other')); + assert(/@media print {\s*.other/.test(css)); + assert(css.includes('.index')); + }); + + it('should support linking to assets with url() from CSS', async function () { + let b = await bundle( + path.join(__dirname, '/integration/css-url/index.js'), + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js'], + }, + { + name: 'index.css', + assets: ['index.css'], + }, + { + type: 'woff2', + assets: ['test.woff2'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 2); + + let css = await outputFS.readFile( + path.join(distDir, 'index.css'), + 'utf8', + ); + assert(/url\(test\.[0-9a-f]+\.woff2\)/.test(css)); + assert(css.includes('url(http://google.com)')); + assert(css.includes('.index')); + assert(css.includes('url(data:image/gif;base64,quotes)')); + assert(css.includes('.quotes')); + assert(css.includes('url(data:image/gif;base64,no-quote)')); + assert(css.includes('.no-quote')); + + assert( + await outputFS.exists( + path.join(distDir, css.match(/url\((test\.[0-9a-f]+\.woff2)\)/)[1]), + ), + ); + }); + + it('should support linking to assets with url() from CSS in production', async function () { + let b = await bundle( + path.join(__dirname, '/integration/css-url/index.js'), + { + defaultTargetOptions: { + shouldOptimize: true, + }, + }, + ); - it('should support importing CSS from a CSS file', async function () { - let b = await bundle( - path.join(__dirname, '/integration/css-import/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js'], - }, - { - name: 'index.css', - assets: ['index.css', 'other.css', 'local.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 2); - - let css = await outputFS.readFile(path.join(distDir, '/index.css'), 'utf8'); - assert(css.includes('.local')); - assert(css.includes('.other')); - assert(/@media print {\s*.other/.test(css)); - assert(css.includes('.index')); - }); + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js'], + }, + { + name: 'index.css', + assets: ['index.css'], + }, + { + type: 'woff2', + assets: ['test.woff2'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 2); + + let css = await outputFS.readFile( + path.join(distDir, 'index.css'), + 'utf8', + ); + assert( + /url\(test\.[0-9a-f]+\.woff2\)/.test(css), + 'woff ext found in css', + ); + assert(css.includes('url(http://google.com)'), 'url() found'); + assert(css.includes('.index'), '.index found'); + assert(css.includes('url(data:image/gif;base64,quotes)')); + assert(css.includes('.quotes')); + assert(css.includes('url(data:image/gif;base64,no-quote)')); + assert(css.includes('.no-quote')); + + assert( + await outputFS.exists( + path.join(distDir, css.match(/url\((test\.[0-9a-f]+\.woff2)\)/)[1]), + ), + ); + }); + + it('should support linking to assets in parent folders with url() from CSS', async function () { + let b = await bundle( + [ + path.join( + __dirname, + '/integration/css-url-relative/src/a/style1.css', + ), + path.join( + __dirname, + '/integration/css-url-relative/src/b/style2.css', + ), + ], + { + defaultTargetOptions: { + shouldOptimize: true, + sourceMaps: false, + }, + }, + ); - it('should support linking to assets with url() from CSS', async function () { - let b = await bundle(path.join(__dirname, '/integration/css-url/index.js')); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js'], - }, - { - name: 'index.css', - assets: ['index.css'], - }, - { - type: 'woff2', - assets: ['test.woff2'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 2); - - let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(/url\("test\.[0-9a-f]+\.woff2"\)/.test(css)); - assert(css.includes('url("http://google.com")')); - assert(css.includes('.index')); - assert(css.includes('url("data:image/gif;base64,quotes")')); - assert(css.includes('.quotes')); - assert(css.includes('url(data:image/gif;base64,no-quote)')); - assert(css.includes('.no-quote')); - - assert( - await outputFS.exists( - path.join(distDir, css.match(/url\("(test\.[0-9a-f]+\.woff2)"\)/)[1]), - ), - ); - }); + assertBundles(b, [ + { + type: 'css', + assets: ['style1.css'], + }, + { + type: 'css', + assets: ['style2.css'], + }, + { + type: 'png', + assets: ['foo.png'], + }, + ]); - it('should support linking to assets with url() from CSS in production', async function () { - let b = await bundle( - path.join(__dirname, '/integration/css-url/index.js'), - { - defaultTargetOptions: { - shouldOptimize: true, - }, - }, - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js'], - }, - { - name: 'index.css', - assets: ['index.css'], - }, - { - type: 'woff2', - assets: ['test.woff2'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 2); - - let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(/url\(test\.[0-9a-f]+\.woff2\)/.test(css), 'woff ext found in css'); - assert(css.includes('url(http://google.com)'), 'url() found'); - assert(css.includes('.index'), '.index found'); - assert(css.includes('url("data:image/gif;base64,quotes")')); - assert(css.includes('.quotes')); - assert(css.includes('url(data:image/gif;base64,no-quote)')); - assert(css.includes('.no-quote')); - - assert( - await outputFS.exists( - path.join(distDir, css.match(/url\((test\.[0-9a-f]+\.woff2)\)/)[1]), - ), - ); - }); + let cssPath = path.join(distDir, 'a', 'style1.css'); + let css = await outputFS.readFile(cssPath, 'utf8'); - it('should support linking to assets in parent folders with url() from CSS', async function () { - let b = await bundle( - [ - path.join(__dirname, '/integration/css-url-relative/src/a/style1.css'), - path.join(__dirname, '/integration/css-url-relative/src/b/style2.css'), - ], - { - defaultTargetOptions: { - shouldOptimize: true, - sourceMaps: false, - }, - }, - ); - - assertBundles(b, [ - { - type: 'css', - assets: ['style1.css'], - }, - { - type: 'css', - assets: ['style2.css'], - }, - { - type: 'png', - assets: ['foo.png'], - }, - ]); - - let cssPath = path.join(distDir, 'a', 'style1.css'); - let css = await outputFS.readFile(cssPath, 'utf8'); - - assert(css.includes('background-image'), 'includes `background-image`'); - assert(/url\([^)]*\)/.test(css), 'includes url()'); - - assert( - await outputFS.exists( - path.resolve(path.dirname(cssPath), css.match(/url\(([^)]*)\)/)[1]), - ), - 'path specified in url() exists', - ); - }); + assert(css.includes('background-image'), 'includes `background-image`'); + assert(/url\([^)]*\)/.test(css), 'includes url()'); - it('should ignore url() with IE behavior specifiers', async function () { - let b = await bundle( - path.join(__dirname, '/integration/css-url-behavior/index.css'), - ); + assert( + await outputFS.exists( + path.resolve(path.dirname(cssPath), css.match(/url\(([^)]*)\)/)[1]), + ), + 'path specified in url() exists', + ); + }); - assertBundles(b, [ - { - name: 'index.css', - assets: ['index.css'], - }, - ]); + it('should ignore url() with IE behavior specifiers', async function () { + let b = await bundle( + path.join(__dirname, '/integration/css-url-behavior/index.css'), + ); - let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + assertBundles(b, [ + { + name: 'index.css', + assets: ['index.css'], + }, + ]); - assert(css.includes('url(#default#VML)')); - }); + let css = await outputFS.readFile( + path.join(distDir, 'index.css'), + 'utf8', + ); - it('should minify CSS when minify is set', async function () { - let b = await bundle( - path.join(__dirname, '/integration/cssnano/index.js'), - { - defaultTargetOptions: { - shouldOptimize: true, - sourceMaps: false, - }, - }, - ); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 3); - - let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(css.includes('.local')); - assert(css.includes('.index')); - - assert.equal(css.split('\n').length, 1); - }); + assert(css.includes('url(#default#VML)')); + }); - it('should produce a sourcemap when sourceMaps are used', async function () { - await bundle(path.join(__dirname, '/integration/cssnano/index.js'), { - defaultTargetOptions: { - shouldOptimize: true, - }, - }); + it('should minify CSS when minify is set', async function () { + let b = await bundle( + path.join(__dirname, '/integration/cssnano/index.js'), + { + defaultTargetOptions: { + shouldOptimize: true, + sourceMaps: false, + }, + }, + ); - let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(css.includes('.local')); - assert(css.includes('.index')); - - let lines = css.trim().split('\n'); - assert.equal(lines.length, 2); - assert.equal(lines[1], '/*# sourceMappingURL=index.css.map */'); - - let map = JSON.parse( - await outputFS.readFile(path.join(distDir, 'index.css.map'), 'utf8'), - ); - assert.equal(map.file, 'index.css.map'); - assert.equal(map.mappings, 'AAAA,OACA,WACA,CCFA,OACA,SACA'); - assert.deepEqual(map.sources, [ - 'integration/cssnano/local.css', - 'integration/cssnano/index.css', - ]); - }); + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 3); - it('should inline data-urls for text-encoded files', async () => { - await bundle(path.join(__dirname, '/integration/data-url/text.css'), { - defaultTargetOptions: { - sourceMaps: false, - }, - }); - let css = await outputFS.readFile(path.join(distDir, 'text.css'), 'utf8'); - assert.equal( - css.trim(), - `.svg-img { - background-image: url('data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%3E%3C%2FfeGaussianBlur%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%27%23blur-_.%21~%2a%27%29%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A'); -}`, - ); - }); + let css = await outputFS.readFile( + path.join(distDir, 'index.css'), + 'utf8', + ); + assert(css.includes('.local')); + assert(css.includes('.index')); - it('should inline data-urls for binary files', async () => { - await bundle(path.join(__dirname, '/integration/data-url/binary.css')); - let css = await outputFS.readFile(path.join(distDir, 'binary.css'), 'utf8'); - assert( - css.startsWith(`.webp-img { - background-image: url('data:image/webp;base64,UklGR`), - ); - }); + assert.equal(css.split('\n').length, 1); + }); - it('should remap locations in diagnostics using the input source map', async () => { - let fixture = path.join( - __dirname, - 'integration/diagnostic-sourcemap/index.scss', - ); - let code = await inputFS.readFileSync(fixture, 'utf8'); - // $FlowFixMe - await assert.rejects( - () => - bundle(fixture, { + it('should produce a sourcemap when sourceMaps are used', async function () { + await bundle(path.join(__dirname, '/integration/cssnano/index.js'), { defaultTargetOptions: { shouldOptimize: true, }, - }), - { - name: 'BuildError', - diagnostics: [ + }); + + let css = await outputFS.readFile( + path.join(distDir, 'index.css'), + 'utf8', + ); + assert(css.includes('.local')); + assert(css.includes('.index')); + + let lines = css.trim().split('\n'); + assert.equal(lines.length, 2); + assert.equal(lines[1], '/*# sourceMappingURL=index.css.map */'); + + let map = JSON.parse( + await outputFS.readFile(path.join(distDir, 'index.css.map'), 'utf8'), + ); + assert.equal(map.file, 'index.css.map'); + assert(map.sources.includes('integration/cssnano/local.css')); + assert(map.sources.includes('integration/cssnano/index.css')); + }); + + it('should inline data-urls for text-encoded files', async () => { + await bundle(path.join(__dirname, '/integration/data-url/text.css'), { + defaultTargetOptions: { + sourceMaps: false, + }, + }); + let css = await outputFS.readFile( + path.join(distDir, 'text.css'), + 'utf8', + ); + assert.equal( + css.trim(), + `.svg-img { + background-image: url(data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%3E%3C%2FfeGaussianBlur%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%27%23blur-_.%21~%2a%27%29%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A); +}`, + ); + }); + + it('should inline data-urls for binary files', async () => { + await bundle(path.join(__dirname, '/integration/data-url/binary.css')); + let css = await outputFS.readFile( + path.join(distDir, 'binary.css'), + 'utf8', + ); + assert( + css.startsWith(`.webp-img { + background-image: url(data:image/webp;base64,UklGR`), + ); + }); + + it('should remap locations in diagnostics using the input source map', async () => { + let fixture = path.join( + __dirname, + 'integration/diagnostic-sourcemap/index.scss', + ); + let code = await inputFS.readFileSync(fixture, 'utf8'); + // $FlowFixMe + await assert.rejects( + () => + bundle(fixture, { + defaultTargetOptions: { + shouldOptimize: true, + }, + }), { - message: "Failed to resolve 'x.png' from './index.scss'", - origin: '@parcel/core', - codeFrames: [ + name: 'BuildError', + diagnostics: [ { - filePath: fixture, - code, - codeHighlights: [ + message: "Failed to resolve 'x.png' from './index.scss'", + origin: '@parcel/core', + codeFrames: [ { - start: { - line: 5, - column: 3, - }, - end: { - line: 5, - column: 3, - }, + filePath: fixture, + code, + codeHighlights: [ + { + start: { + line: 5, + column: 3, + }, + end: { + line: 5, + column: 3, + }, + }, + ], }, ], }, + { + message: "Cannot load file './x.png' in './'.", + origin: '@parcel/resolver-default', + hints: [], + }, ], }, + ); + }); + + it('should support importing CSS from node_modules with the npm: scheme', async () => { + let b = await bundle( + path.join(__dirname, '/integration/css-node-modules/index.css'), + ); + + assertBundles(b, [ { - message: "Cannot load file './x.png' in './'.", - origin: '@parcel/resolver-default', - hints: [], + name: 'index.css', + assets: ['index.css', 'foo.css'], }, - ], - }, - ); - }); + ]); + }); - it('should support importing CSS from node_modules with the npm: scheme', async () => { - let b = await bundle( - path.join(__dirname, '/integration/css-node-modules/index.css'), - ); - - assertBundles(b, [ - { - name: 'index.css', - assets: ['index.css', 'foo.css'], - }, - ]); - }); + it('should support external CSS imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/css-external/a.css'), + ); + + assertBundles(b, [ + { + name: 'a.css', + assets: ['a.css', 'b.css'], + }, + ]); - it('should support external CSS imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/css-external/a.css'), - ); - - assertBundles(b, [ - { - name: 'a.css', - assets: ['a.css', 'b.css'], - }, - ]); - - let res = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); - assert( - res.startsWith(`@import "http://example.com/external.css"; + let res = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert( + new RegExp(`@import "http://example.com/external.css"; .b { color: red; -} +}\n? .a { - color: blue; -}`), - ); - }); + color: green; +}`).test(res), + ); + }); + }); + } }); diff --git a/packages/core/integration-tests/test/glob.js b/packages/core/integration-tests/test/glob.js index b139628077a..5dedf87cb11 100644 --- a/packages/core/integration-tests/test/glob.js +++ b/packages/core/integration-tests/test/glob.js @@ -168,11 +168,11 @@ describe('glob', function () { codeHighlights: [ { start: { - column: 7, + column: 19, line: 2, }, end: { - column: 20, + column: 30, line: 2, }, }, @@ -188,11 +188,11 @@ describe('glob', function () { codeHighlights: [ { start: { - column: 7, + column: 19, line: 2, }, end: { - column: 20, + column: 30, line: 2, }, }, diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index ec252cc8423..832f24bbd5f 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -2648,11 +2648,7 @@ describe('html', function () { path.join(__dirname, 'integration/html-inline-escape/style.html'), ); let output = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); - let name = path.basename( - b.getBundles().find(b => b.type === 'png').filePath, - 'utf8', - ); - assert(output.includes(`url("${name}")`)); + assert(output.includes(`content: "hi"`)); assert(output.includes('<\\/style>')); }); diff --git a/packages/core/integration-tests/test/integration/bundle-text/text.scss b/packages/core/integration-tests/test/integration/bundle-text/text.scss index 9db27f7bb22..269d13b7a4d 100644 --- a/packages/core/integration-tests/test/integration/bundle-text/text.scss +++ b/packages/core/integration-tests/test/integration/bundle-text/text.scss @@ -1,4 +1,4 @@ -$black: #000000; +$black: #000; body { background-color: $black; diff --git a/packages/core/integration-tests/test/integration/css-external/a.css b/packages/core/integration-tests/test/integration/css-external/a.css index f3aff0a9f8d..e44324e502a 100644 --- a/packages/core/integration-tests/test/integration/css-external/a.css +++ b/packages/core/integration-tests/test/integration/css-external/a.css @@ -2,5 +2,5 @@ @import 'http://example.com/external.css'; .a { - color: blue; + color: green; } diff --git a/packages/core/integration-tests/test/integration/css-modules-legacy/index.js b/packages/core/integration-tests/test/integration/css-modules-legacy/index.js new file mode 100644 index 00000000000..60930d31337 --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-modules-legacy/index.js @@ -0,0 +1,2 @@ +const style = require('./index.module.css'); +console.log(style.foo); diff --git a/packages/core/integration-tests/test/integration/css-modules-legacy/index.module.css b/packages/core/integration-tests/test/integration/css-modules-legacy/index.module.css new file mode 100644 index 00000000000..66119f8eea9 --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-modules-legacy/index.module.css @@ -0,0 +1,5 @@ +@value test: red; + +.foo { + color: test; +} diff --git a/packages/core/integration-tests/test/integration/html-inline-escape/style.html b/packages/core/integration-tests/test/integration/html-inline-escape/style.html index 02ae05dd370..1f03e6b0619 100644 --- a/packages/core/integration-tests/test/integration/html-inline-escape/style.html +++ b/packages/core/integration-tests/test/integration/html-inline-escape/style.html @@ -1,5 +1,5 @@ -
+
diff --git a/packages/core/integration-tests/test/integration/postcss-dir-dependency/backgrounds/green.txt b/packages/core/integration-tests/test/integration/postcss-dir-dependency/backgrounds/green.txt index 1149b571876..2d80a3ddeda 100644 --- a/packages/core/integration-tests/test/integration/postcss-dir-dependency/backgrounds/green.txt +++ b/packages/core/integration-tests/test/integration/postcss-dir-dependency/backgrounds/green.txt @@ -1 +1 @@ -green \ No newline at end of file +linear-gradient(green, pink) \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/postcss-dir-dependency/backgrounds/red.txt b/packages/core/integration-tests/test/integration/postcss-dir-dependency/backgrounds/red.txt index 46f29e8eb3c..2b2ec9714ba 100644 --- a/packages/core/integration-tests/test/integration/postcss-dir-dependency/backgrounds/red.txt +++ b/packages/core/integration-tests/test/integration/postcss-dir-dependency/backgrounds/red.txt @@ -1 +1 @@ -red \ No newline at end of file +linear-gradient(red, orange) \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/sass-advanced-import/_foo.sass b/packages/core/integration-tests/test/integration/sass-advanced-import/_foo.sass index d8919c18ec5..5103e412d69 100644 --- a/packages/core/integration-tests/test/integration/sass-advanced-import/_foo.sass +++ b/packages/core/integration-tests/test/integration/sass-advanced-import/_foo.sass @@ -1,2 +1,2 @@ .foo - color: blue + color: pink diff --git a/packages/core/integration-tests/test/integration/svg-inline-css-import/test.css b/packages/core/integration-tests/test/integration/svg-inline-css-import/test.css index cfde1a8c325..a62c9f40864 100644 --- a/packages/core/integration-tests/test/integration/svg-inline-css-import/test.css +++ b/packages/core/integration-tests/test/integration/svg-inline-css-import/test.css @@ -1,3 +1,3 @@ :root { - fill: red + fill: red; } diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index 3d1c3741aeb..af5963efeb5 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -4104,11 +4104,11 @@ describe('javascript', function () { assert( cssBundleContent.startsWith( `body { - background-color: #000000; + background-color: #000; } .svg-img { - background-image: url("data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A"); + background-image: url(data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A); }`, ), ); @@ -4146,11 +4146,11 @@ describe('javascript', function () { assert( cssBundleContent.startsWith( `body { - background-color: #000000; + background-color: #000; } .svg-img { - background-image: url("data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A"); + background-image: url(data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A); }`, ), ); @@ -4234,11 +4234,11 @@ describe('javascript', function () { assert( cssBundleContent.startsWith( `body { - background-color: #000000; + background-color: #000; } .svg-img { - background-image: url("data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A"); + background-image: url(data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A); }`, ), ); diff --git a/packages/core/integration-tests/test/less.js b/packages/core/integration-tests/test/less.js index 4f501b04aee..18709dc0f31 100644 --- a/packages/core/integration-tests/test/less.js +++ b/packages/core/integration-tests/test/less.js @@ -137,13 +137,13 @@ describe('less', function () { assert.equal(output(), 2); let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(/url\("test\.[0-9a-f]+\.woff2"\)/.test(css)); - assert(css.includes('url("http://google.com")')); + assert(/url\("?test\.[0-9a-f]+\.woff2"?\)/.test(css)); + assert(/url\("?http:\/\/google.com"?\)/.test(css)); assert(css.includes('.index')); assert( await outputFS.exists( - path.join(distDir, css.match(/url\("(test\.[0-9a-f]+\.woff2)"\)/)[1]), + path.join(distDir, css.match(/url\("?(test\.[0-9a-f]+\.woff2)"?\)/)[1]), ), ); }); @@ -181,7 +181,7 @@ describe('less', function () { assert(css.includes('.b')); }); - it('should support transforming less with postcss', async function () { + it('should support css modules in less', async function () { let b = await bundle( path.join(__dirname, '/integration/less-postcss/index.js'), ); @@ -202,10 +202,10 @@ describe('less', function () { let output = await run(b); assert.equal(typeof output, 'function'); - assert(output().startsWith('_index_')); + assert(output().startsWith('index_')); let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(css.includes('._index_')); + assert(css.includes('.index_')); }); it('should throw an exception when using webpack syntax', async function () { diff --git a/packages/core/integration-tests/test/monorepos.js b/packages/core/integration-tests/test/monorepos.js index f687fd24cde..c6feecde63c 100644 --- a/packages/core/integration-tests/test/monorepos.js +++ b/packages/core/integration-tests/test/monorepos.js @@ -214,7 +214,7 @@ describe('monorepos', function () { path.join(distDir, '/pkg-b/src/index.css'), 'utf8', ); - assert(contents.includes('._foo')); + assert(contents.includes('.foo_')); } finally { inputFS.chdir(oldcwd); } @@ -290,7 +290,7 @@ describe('monorepos', function () { ), 'utf8', ); - assert(contents.includes('._foo')); + assert(contents.includes('.foo_')); contents = await outputFS.readFile( path.join( @@ -346,7 +346,7 @@ describe('monorepos', function () { path.join(distDir, '/pkg-b/src/index.css'), 'utf8', ); - assert(contents.includes('._foo')); + assert(contents.includes('.foo_')); } finally { inputFS.chdir(oldcwd); } @@ -398,7 +398,7 @@ describe('monorepos', function () { path.join(distDir, '/pkg-b/src/index.css'), 'utf8', ); - assert(contents.includes('._foo')); + assert(contents.includes('.foo_')); } finally { inputFS.chdir(oldcwd); } @@ -566,7 +566,7 @@ describe('monorepos', function () { ), 'utf8', ); - assert(contents.includes('._foo')); + assert(contents.includes('.foo_')); contents = await outputFS.readFile( path.join( @@ -828,7 +828,7 @@ describe('monorepos', function () { ), 'utf8', ); - assert(contents.includes('._foo')); + assert(contents.includes('.foo_')); contents = await outputFS.readFile( path.join( @@ -846,7 +846,7 @@ describe('monorepos', function () { ), 'utf8', ); - assert(contents.includes('._foo')); + assert(contents.includes('.foo_')); contents = await outputFS.readFile( path.join( diff --git a/packages/core/integration-tests/test/postcss.js b/packages/core/integration-tests/test/postcss.js index a0dde2a4695..6067eaac8aa 100644 --- a/packages/core/integration-tests/test/postcss.js +++ b/packages/core/integration-tests/test/postcss.js @@ -16,37 +16,8 @@ import { NodePackageManager, MockPackageInstaller, } from '@parcel/package-manager'; -import postcss from 'postcss'; describe('postcss', () => { - it('should support transforming css modules with postcss (require)', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-modules-cjs/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'foo.module.css'], - }, - { - name: 'index.css', - assets: ['index.css', 'foo.module.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - assert(/_foo_[0-9a-z]/.test(value)); - - let cssClass = value.match(/(_foo_[0-9a-z])/)[1]; - - let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(css.includes(`.${cssClass}`)); - }); - it('should build successfully with only postcss-modules config', async () => { let b = await bundle( path.join(__dirname, '/integration/postcss-modules-config/index.js'), @@ -67,177 +38,14 @@ describe('postcss', () => { assert.equal(typeof output, 'function'); let value = output(); - assert(/_foo_[0-9a-z]/.test(value)); + assert(/foo_[0-9a-z]/.test(value)); - let cssClass = value.match(/(_foo_[0-9a-z])/)[1]; + let cssClass = value.match(/(foo_[0-9a-z])/)[1]; let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); assert(css.includes(`.${cssClass}`)); }); - it('should support transforming css modules with postcss (import default)', async () => { - let b = await bundle( - path.join( - __dirname, - '/integration/postcss-modules-import-default/index.js', - ), - {mode: 'production'}, - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'style.module.css'], - }, - { - name: 'index.css', - assets: ['style.module.css'], - }, - ]); - - let output = await run(b); - assert(/_b-2_[0-9a-z]/.test(output)); - - let css = await outputFS.readFile( - b.getBundles().find(b => b.type === 'css').filePath, - 'utf8', - ); - let includedRules = new Set(); - postcss.parse(css).walkRules(rule => { - includedRules.add(rule.selector); - }); - assert(includedRules.has('.page')); - assert(includedRules.has(`.${output}`)); - }); - - it('should tree shake unused css modules classes with a namespace import', async () => { - let b = await bundle( - path.join( - __dirname, - '/integration/postcss-modules-import-namespace/index.js', - ), - {mode: 'production'}, - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'style.module.css'], - }, - { - name: 'index.css', - assets: ['global.css', 'style.module.css'], - }, - ]); - - let js = await outputFS.readFile( - b.getBundles().find(b => b.type === 'js').filePath, - 'utf8', - ); - assert(!js.includes('unused')); - - let output = await run(b); - assert(/_b-2_[0-9a-z]/.test(output)); - - let css = await outputFS.readFile( - b.getBundles().find(b => b.type === 'css').filePath, - 'utf8', - ); - let includedRules = new Set(); - postcss.parse(css).walkRules(rule => { - includedRules.add(rule.selector); - }); - assert.deepStrictEqual( - includedRules, - new Set(['body', `.${output}`, '.page']), - ); - }); - - it('should produce correct css without symbol propagation for css modules classes with a namespace import', async () => { - let b = await bundle( - path.join( - __dirname, - '/integration/postcss-modules-import-namespace/index.js', - ), - { - mode: 'production', - defaultTargetOptions: { - shouldScopeHoist: false, - }, - }, - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'style.module.css'], - }, - { - name: 'index.css', - assets: ['global.css', 'style.module.css'], - }, - ]); - - let {output} = await run(b, null, {require: false}); - assert(/_b-2_[0-9a-z]/.test(output)); - - let css = await outputFS.readFile( - b.getBundles().find(b => b.type === 'css').filePath, - 'utf8', - ); - let includedRules = new Set(); - postcss.parse(css).walkRules(rule => { - includedRules.add(rule.selector); - }); - assert(includedRules.has('body')); - assert(includedRules.has(`.${output}`)); - assert(includedRules.has('.page')); - }); - - it('should support importing css modules with a non-static namespace import', async () => { - let b = await bundle( - path.join( - __dirname, - '/integration/postcss-modules-import-namespace-whole/index.js', - ), - {mode: 'production'}, - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'style.module.css'], - }, - { - name: 'index.css', - assets: ['global.css', 'style.module.css'], - }, - ]); - - let js = await outputFS.readFile( - b.getBundles().find(b => b.type === 'js').filePath, - 'utf8', - ); - assert(js.includes('unused')); - - let output = await run(b); - assert(/_b-2_[0-9a-z]/.test(output['b-2'])); - assert(/_unused_[0-9a-z]/.test(output['unused'])); - - let css = await outputFS.readFile( - b.getBundles().find(b => b.type === 'css').filePath, - 'utf8', - ); - let includedRules = new Set(); - postcss.parse(css).walkRules(rule => { - includedRules.add(rule.selector); - }); - assert.deepStrictEqual( - includedRules, - new Set(['body', `.${output['b-2']}`, `.${output['unused']}`, '.page']), - ); - }); - it('should support transforming with postcss twice with the same result', async () => { let b = await bundle( path.join(__dirname, '/integration/postcss-plugins/index.js'), @@ -258,186 +66,7 @@ describe('postcss', () => { let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(css.includes('url("data:image/gif;base64,quotes")')); - }); - - it('should support postcss composes imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: [ - 'index.js', - 'composes-1.module.css', - 'composes-2.module.css', - 'mixins.module.css', - ], - }, - { - name: 'index.css', - assets: [ - 'composes-1.module.css', - 'composes-2.module.css', - 'mixins.module.css', - ], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes1Classes = value.composes1.split(' '); - const composes2Classes = value.composes2.split(' '); - assert(composes1Classes[0].startsWith('_composes1_')); - assert(composes1Classes[1].startsWith('_test_')); - assert(composes2Classes[0].startsWith('_composes2_')); - assert(composes2Classes[1].startsWith('_test_')); - - let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - let cssClass1 = value.composes1.match(/(_composes1_[0-9a-z]+)/)[1]; - assert(css.includes(`.${cssClass1}`)); - let cssClass2 = value.composes2.match(/(_composes2_[0-9a-z]+)/)[1]; - assert(css.includes(`.${cssClass2}`)); - }); - - it('should not include css twice for postcss composes imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index.js'), - ); - - await run(b); - - let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert.equal( - css.indexOf('height: 100px;'), - css.lastIndexOf('height: 100px;'), - ); - }); - - it('should support postcss composes imports for sass', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index2.js'), - ); - - assertBundles(b, [ - { - name: 'index2.js', - assets: ['index2.js', 'composes-3.module.css', 'mixins.module.scss'], - }, - { - name: 'index2.css', - assets: ['composes-3.module.css', 'mixins.module.scss'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes3Classes = value.composes3.split(' '); - assert(composes3Classes[0].startsWith('_composes3_')); - assert(composes3Classes[1].startsWith('_test_')); - - let css = await outputFS.readFile(path.join(distDir, 'index2.css'), 'utf8'); - assert(css.includes('height: 200px;')); - }); - - it('should support postcss composes imports with custom path names', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index3.js'), - ); - - assertBundles(b, [ - { - name: 'index3.js', - assets: ['index3.js', 'composes-4.module.css', 'mixins.module.css'], - }, - { - name: 'index3.css', - assets: ['composes-4.module.css', 'mixins.module.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes4Classes = value.composes4.split(' '); - assert(composes4Classes[0].startsWith('_composes4_')); - assert(composes4Classes[1].startsWith('_test_')); - - let css = await outputFS.readFile(path.join(distDir, 'index3.css'), 'utf8'); - assert(css.includes('height: 100px;')); - }); - - it('should support deep nested postcss composes imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index4.js'), - ); - - assertBundles(b, [ - { - name: 'index4.js', - assets: [ - 'index4.js', - 'composes-5.module.css', - 'mixins-intermediate.module.css', - 'mixins.module.css', - ], - }, - { - name: 'index4.css', - assets: [ - 'composes-5.module.css', - 'mixins-intermediate.module.css', - 'mixins.module.css', - ], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes5Classes = value.composes5.split(' '); - assert(composes5Classes[0].startsWith('_composes5_')); - assert(composes5Classes[1].startsWith('_intermediate_')); - assert(composes5Classes[2].startsWith('_test_')); - - let css = await outputFS.readFile(path.join(distDir, 'index4.css'), 'utf8'); - assert(css.includes('height: 100px;')); - assert(css.includes('height: 300px;')); - assert(css.indexOf('._test_') < css.indexOf('._intermediate_')); - }); - - it('should support postcss composes imports for multiple selectors', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index5.js'), - ); - - assertBundles(b, [ - { - name: 'index5.js', - assets: ['index5.js', 'composes-6.module.css', 'mixins.module.css'], - }, - { - name: 'index5.css', - assets: ['composes-6.module.css', 'mixins.module.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes6Classes = value.composes6.split(' '); - assert(composes6Classes[0].startsWith('_composes6_')); - assert(composes6Classes[1].startsWith('_test_')); - assert(composes6Classes[2].startsWith('_test-2_')); + assert(css.includes('url(data:image/gif;base64,quotes)')); }); it('should automatically install postcss plugins if needed', async () => { @@ -577,12 +206,16 @@ describe('postcss', () => { buildEvent.bundleGraph.getBundles()[0].filePath, 'utf8', ); - assert(contents.includes('background: green, red')); + assert( + contents.includes( + 'background: linear-gradient(green, pink), linear-gradient(red, orange)', + ), + ); // update await inputFS.writeFile( path.join(inputDir, 'backgrounds', 'green.txt'), - 'yellow', + 'linear-gradient(purple, orange)', ); buildEvent = await getNextBuild(b); @@ -592,12 +225,16 @@ describe('postcss', () => { buildEvent.bundleGraph.getBundles()[0].filePath, 'utf8', ); - assert(contents.includes('background: yellow, red')); + assert( + contents.includes( + 'background: linear-gradient(purple, orange), linear-gradient(red, orange)', + ), + ); // create await inputFS.writeFile( path.join(inputDir, 'backgrounds', 'orange.txt'), - 'orange', + 'linear-gradient(orange, purple)', ); buildEvent = await getNextBuild(b); @@ -607,7 +244,11 @@ describe('postcss', () => { buildEvent.bundleGraph.getBundles()[0].filePath, 'utf8', ); - assert(contents.includes('background: yellow, orange, red')); + assert( + contents.includes( + 'background: linear-gradient(purple, orange), linear-gradient(orange, purple), linear-gradient(red, orange)', + ), + ); // delete await inputFS.unlink(path.join(inputDir, 'backgrounds', 'red.txt')); @@ -619,60 +260,15 @@ describe('postcss', () => { buildEvent.bundleGraph.getBundles()[0].filePath, 'utf8', ); - assert(contents.includes('background: yellow, orange')); + assert( + contents.includes( + 'background: linear-gradient(purple, orange), linear-gradient(orange, purple)', + ), + ); await subscription.unsubscribe(); }); - it('should throw an error when importing a missing class', async function () { - await assert.rejects( - () => - bundle( - path.join( - __dirname, - '/integration/no-export-error-with-correct-filetype/src/App.jsx', - ), - { - shouldDisableCache: true, - defaultTargetOptions: { - shouldScopeHoist: true, - }, - }, - ), - { - name: 'BuildError', - diagnostics: [ - { - codeFrames: [ - { - filePath: path.join( - __dirname, - '/integration/no-export-error-with-correct-filetype/src/App.jsx', - ), - language: 'js', - codeHighlights: [ - { - end: { - column: 45, - line: 7, - }, - start: { - column: 28, - line: 7, - }, - }, - ], - }, - ], - message: - "integration/no-export-error-with-correct-filetype/src/app.module.css does not export 'notExisting'", - origin: '@parcel/core', - }, - ], - }, - ); - }); - it('should throw an error with code frame when .postcssrc is invalid', async function () { let configFilePath = path.join( __dirname, diff --git a/packages/core/integration-tests/test/sass.js b/packages/core/integration-tests/test/sass.js index 43916215d83..136dab9c3d9 100644 --- a/packages/core/integration-tests/test/sass.js +++ b/packages/core/integration-tests/test/sass.js @@ -132,13 +132,13 @@ describe('sass', function () { assert.equal(output(), 2); let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(/url\("test\.[0-9a-f]+\.woff2"\)/.test(css)); - assert(css.includes('url("http://google.com")')); + assert(/url\(test\.[0-9a-f]+\.woff2\)/.test(css)); + assert(css.includes('url(http://google.com)')); assert(css.includes('.index')); assert( await outputFS.exists( - path.join(distDir, css.match(/url\("(test\.[0-9a-f]+\.woff2)"\)/)[1]), + path.join(distDir, css.match(/url\((test\.[0-9a-f]+\.woff2)\)/)[1]), ), ); }); @@ -183,7 +183,7 @@ describe('sass', function () { let css = ( await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8') ).replace(/\s+/g, ' '); - assert(css.includes('.foo { color: blue;')); + assert(css.includes('.foo { color: pink;')); assert(css.includes('.bar { color: green;')); }); diff --git a/packages/core/integration-tests/test/sourcemaps.js b/packages/core/integration-tests/test/sourcemaps.js index 61816b3bb75..3594231d2c4 100644 --- a/packages/core/integration-tests/test/sourcemaps.js +++ b/packages/core/integration-tests/test/sourcemaps.js @@ -643,15 +643,6 @@ describe('sourcemaps', function () { sourcePath: 'style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); - - checkSourceMapping({ - map: sourceMap, - source: input, - generated: raw, - str: 'background-color', - sourcePath: 'style.css', - msg: ' ' + (minify ? 'with' : 'without') + ' minification', - }); } await test(false); @@ -710,15 +701,6 @@ describe('sourcemaps', function () { msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); - checkSourceMapping({ - map: sourceMap, - source: style, - generated: raw, - str: 'background-color', - sourcePath: 'style.css', - msg: ' ' + (minify ? 'with' : 'without') + ' minification', - }); - checkSourceMapping({ map: sourceMap, source: otherStyle, @@ -728,15 +710,6 @@ describe('sourcemaps', function () { msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); - checkSourceMapping({ - map: sourceMap, - source: otherStyle, - generated: raw, - str: 'width', - sourcePath: 'other-style.css', - msg: ' ' + (minify ? 'with' : 'without') + ' minification', - }); - checkSourceMapping({ map: sourceMap, source: anotherStyle, @@ -745,15 +718,6 @@ describe('sourcemaps', function () { sourcePath: 'another-style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); - - checkSourceMapping({ - map: sourceMap, - source: anotherStyle, - generated: raw, - str: 'font-family', - sourcePath: 'another-style.css', - msg: ' ' + (minify ? 'with' : 'without') + ' minification', - }); } await test(false); @@ -789,10 +753,11 @@ describe('sourcemaps', function () { let mapData = sourceMap.getMap(); assert.equal(mapData.sources.length, shouldOptimize ? 2 : 1); - assert.strictEqual(mapData.sources[0], 'style.scss'); + let index = mapData.sources.indexOf('style.scss'); + assert.strictEqual(mapData.sources[index], 'style.scss'); let input = await inputFS.readFile( - path.join(path.dirname(filename), map.sourceRoot, map.sources[0]), + path.join(path.dirname(filename), map.sourceRoot, map.sources[index]), 'utf-8', ); @@ -804,15 +769,6 @@ describe('sourcemaps', function () { sourcePath: 'style.scss', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); - - checkSourceMapping({ - map: sourceMap, - source: input, - generated: raw, - str: 'color', - sourcePath: 'style.scss', - msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', - }); } await test(false); @@ -861,14 +817,6 @@ describe('sourcemaps', function () { str: 'body', sourcePath: 'integration/scss-sourcemap-imports/with_url.scss', }); - - checkSourceMapping({ - map: sourceMap, - source: input, - generated: raw, - str: 'background-color', - sourcePath: 'integration/scss-sourcemap-imports/with_url.scss', - }); }); it('should create a valid sourcemap when for a CSS asset importing Sass', async function () { @@ -900,20 +848,15 @@ describe('sourcemaps', function () { let mapData = sourceMap.getMap(); // TODO: htmlnano inserts `./` - assert.equal(mapData.sources.length, shouldOptimize ? 3 : 2); - assert.deepEqual(mapData.sources[0], 'other.scss'); - assert.deepEqual(mapData.sources[shouldOptimize ? 2 : 1], 'style.css'); + assert(mapData.sources.includes('other.scss')); + assert(mapData.sources.includes('style.css')); let style = await inputFS.readFile( - path.join( - path.dirname(filename), - map.sourceRoot, - map.sources[shouldOptimize ? 2 : 1], - ), + path.join(path.dirname(filename), map.sourceRoot, 'style.css'), 'utf-8', ); let other = await inputFS.readFile( - path.join(path.dirname(filename), map.sourceRoot, map.sources[0]), + path.join(path.dirname(filename), map.sourceRoot, 'other.scss'), 'utf-8', ); @@ -926,15 +869,6 @@ describe('sourcemaps', function () { msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); - checkSourceMapping({ - map: sourceMap, - source: style, - generated: raw, - str: 'color', - sourcePath: 'style.css', - msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', - }); - checkSourceMapping({ map: sourceMap, source: other, @@ -943,15 +877,6 @@ describe('sourcemaps', function () { sourcePath: 'other.scss', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); - - checkSourceMapping({ - map: sourceMap, - source: other, - generated: raw, - str: 'font-family', - sourcePath: 'other.scss', - msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', - }); } await test(false); await test(true); @@ -985,10 +910,9 @@ describe('sourcemaps', function () { sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); - assert.equal(mapData.sources.length, shouldOptimize ? 2 : 1); - assert.deepEqual(mapData.sources[0], 'style.less'); + assert(mapData.sources.includes('style.less')); let input = await inputFS.readFile( - path.join(path.dirname(filename), map.sourceRoot, map.sources[0]), + path.join(path.dirname(filename), map.sourceRoot, 'style.less'), 'utf-8', ); @@ -1000,15 +924,6 @@ describe('sourcemaps', function () { sourcePath: 'style.less', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); - - checkSourceMapping({ - map: sourceMap, - source: input, - generated: raw, - str: 'width', - sourcePath: 'style.less', - msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', - }); } await test(false); diff --git a/packages/core/integration-tests/test/stylus.js b/packages/core/integration-tests/test/stylus.js index 66c1fc0546b..ebec0875a96 100644 --- a/packages/core/integration-tests/test/stylus.js +++ b/packages/core/integration-tests/test/stylus.js @@ -86,13 +86,13 @@ describe('stylus', function () { assert.equal(output(), 2); let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(/url\("test\.[0-9a-f]+\.woff2"\)/.test(css)); - assert(css.includes('url("http://google.com")')); + assert(/url\("?test\.[0-9a-f]+\.woff2"?\)/.test(css)); + assert(/url\("?http:\/\/google.com"?\)/.test(css)); assert(css.includes('.index')); assert( await outputFS.exists( - path.join(distDir, css.match(/url\("(test\.[0-9a-f]+\.woff2)"\)/)[1]), + path.join(distDir, css.match(/url\("?(test\.[0-9a-f]+\.woff2)"?\)/)[1]), ), ); }); @@ -140,10 +140,10 @@ describe('stylus', function () { let output = await run(b); assert.equal(typeof output, 'function'); - assert(output().startsWith('_index_')); + assert(output().startsWith('index_')); let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(css.includes('._index_')); + assert(css.includes('.index_')); }); it('should support requiring stylus files with glob dependencies', async function () { diff --git a/packages/core/integration-tests/test/svg.js b/packages/core/integration-tests/test/svg.js index 3cec93c6192..a609b08311a 100644 --- a/packages/core/integration-tests/test/svg.js +++ b/packages/core/integration-tests/test/svg.js @@ -186,7 +186,7 @@ describe('svg', function () { const svg = await outputFS.readFile(path.join(distDir, 'img.svg'), 'utf8'); assert(!svg.includes('@import')); - assert(svg.includes(':root {\n fill: red\n}')); + assert(svg.includes(':root {\n fill: red;\n}')); assert( svg.includes( `"fill: url(${path.basename( diff --git a/packages/core/test-utils/src/.parcelrc-css b/packages/core/test-utils/src/.parcelrc-css new file mode 100644 index 00000000000..1d8a4120038 --- /dev/null +++ b/packages/core/test-utils/src/.parcelrc-css @@ -0,0 +1,10 @@ +{ + "extends": "@parcel/config-default", + "transformers": { + "*.css": ["@parcel/transformer-postcss", "@parcel/transformer-css-experimental"] + }, + "optimizers": { + "*.css": ["@parcel/optimizer-css"] + }, + "reporters": [] +} diff --git a/packages/core/types/index.js b/packages/core/types/index.js index f21c1d2d992..3a6de594658 100644 --- a/packages/core/types/index.js +++ b/packages/core/types/index.js @@ -878,7 +878,7 @@ export type TransformerResult = {| /** The dependencies of the asset. */ +dependencies?: $ReadOnlyArray, /** The environment of the asset. The options are merged with the input asset's environment. */ - +env?: EnvironmentOptions, + +env?: EnvironmentOptions | Environment, /** * Controls which bundle the asset is placed into. * - inline: The asset will be placed into a new inline bundle. Inline bundles are not written diff --git a/packages/core/utils/src/replaceBundleReferences.js b/packages/core/utils/src/replaceBundleReferences.js index 4e34e6ca99e..8161ac299ad 100644 --- a/packages/core/utils/src/replaceBundleReferences.js +++ b/packages/core/utils/src/replaceBundleReferences.js @@ -139,8 +139,10 @@ export async function replaceInlineReferences({ let inlineType = nullthrows(entryBundle.getMainEntry()).meta.inlineType; if (inlineType == null || inlineType === 'string') { + let placeholder = dependency.meta?.placeholder ?? dependency.id; + invariant(typeof placeholder === 'string'); replacements.set( - dependency.id, + placeholder, getInlineReplacement(dependency, inlineType, packagedContents), ); } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 8402ce55eae..276cf5fd88d 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -20,10 +20,11 @@ "parcel": "^2.1.1" }, "dependencies": { - "@parcel/css": "1.0.0-alpha.7", + "@parcel/css": "1.0.0-alpha.11", "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "@parcel/utils": "^2.1.1", - "browserslist": "^4.6.6" + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/css/src/CSSOptimizer.js b/packages/optimizers/css/src/CSSOptimizer.js index 0116fb3f677..d6b415eb2c6 100644 --- a/packages/optimizers/css/src/CSSOptimizer.js +++ b/packages/optimizers/css/src/CSSOptimizer.js @@ -2,14 +2,20 @@ import SourceMap from '@parcel/source-map'; import {Optimizer} from '@parcel/plugin'; -// $FlowFixMe -import {transform, transformStyleAttribute} from '@parcel/css'; +import { + transform, + transformStyleAttribute, + browserslistToTargets, +} from '@parcel/css'; import {blobToBuffer} from '@parcel/utils'; import browserslist from 'browserslist'; +import nullthrows from 'nullthrows'; export default (new Optimizer({ async optimize({ bundle, + bundleGraph, + logger, contents: prevContents, getSourceMapReference, map: prevMap, @@ -22,17 +28,72 @@ export default (new Optimizer({ let targets = getTargets(bundle.env.engines.browsers); let code = await blobToBuffer(prevContents); + let unusedSymbols; + if (bundle.env.shouldScopeHoist) { + unusedSymbols = []; + bundle.traverseAssets(asset => { + if (asset.symbols.isCleared) { + return; + } + + let usedSymbols = bundleGraph.getUsedSymbols(asset); + if (usedSymbols == null) { + return; + } + + let defaultImport = null; + if (usedSymbols.has('default')) { + let incoming = bundleGraph.getIncomingDependencies(asset); + defaultImport = incoming.find(d => + d.symbols.hasExportSymbol('default'), + ); + if (defaultImport) { + let loc = defaultImport.symbols.get('default')?.loc; + logger.warn({ + message: + 'CSS modules cannot be tree shaken when imported with a default specifier', + ...(loc && { + codeFrames: [ + { + filePath: nullthrows( + loc?.filePath ?? defaultImport.sourcePath, + ), + codeHighlights: [{start: loc.start, end: loc.end}], + }, + ], + }), + hints: [ + `Instead do: import * as style from "${defaultImport.specifier}";`, + ], + documentationURL: + 'https://parceljs.org/languages/css/#tree-shaking', + }); + } + } + + if (!defaultImport && !usedSymbols.has('*')) { + for (let [symbol, {local}] of asset.symbols) { + if (local !== 'default' && !usedSymbols.has(symbol)) { + unusedSymbols.push(local); + } + } + } + }); + } + // Inline style attributes in HTML need to be parsed differently from full CSS files. if (bundle.bundleBehavior === 'inline') { let entry = bundle.getMainEntry(); if (entry?.meta.type === 'attr') { - let contents = transformStyleAttribute({ + let result = transformStyleAttribute({ code, minify: true, targets, }); - return {contents}; + return { + contents: result.code, + }; } } @@ -40,21 +101,31 @@ export default (new Optimizer({ filename: bundle.name, code, minify: true, - source_map: !!bundle.env.sourceMap, + sourceMap: !!bundle.env.sourceMap, targets, + unusedSymbols, }); let map; if (result.map != null) { + let vlqMap = JSON.parse(result.map.toString()); map = new SourceMap(options.projectRoot); - map.addVLQMap(JSON.parse(result.map)); + map.addVLQMap(vlqMap); + if (prevMap) { + map.extends(prevMap); + } } let contents = result.code; if (bundle.env.sourceMap) { let reference = await getSourceMapReference(map); if (reference != null) { - contents += '\n' + '/*# sourceMappingURL=' + reference + ' */\n'; + contents = + contents.toString() + + '\n' + + '/*# sourceMappingURL=' + + reference + + ' */\n'; } } @@ -65,19 +136,6 @@ export default (new Optimizer({ }, }): Optimizer); -const BROWSER_MAPPING = { - and_chr: 'chrome', - and_ff: 'firefox', - ie_mob: 'ie', - op_mob: 'opera', - and_qq: null, - and_uc: null, - baidu: null, - bb: null, - kaios: null, - op_mini: null, -}; - let cache = new Map(); function getTargets(browsers) { @@ -90,36 +148,8 @@ function getTargets(browsers) { return cached; } - let targets = {}; - for (let browser of browserslist(browsers)) { - let [name, v] = browser.split(' '); - if (BROWSER_MAPPING[name] === null) { - continue; - } - - let version = parseVersion(v); - if (version == null) { - continue; - } - - if (targets[name] == null || version < targets[name]) { - targets[name] = version; - } - } + let targets = browserslistToTargets(browserslist(browsers)); cache.set(browsers, targets); return targets; } - -function parseVersion(version) { - let [major, minor = 0, patch = 0] = version - .split('-')[0] - .split('.') - .map(v => parseInt(v, 10)); - - if (isNaN(major) || isNaN(minor) || isNaN(patch)) { - return null; - } - - return (major << 16) | (minor << 8) | patch; -} diff --git a/packages/packagers/css/src/CSSPackager.js b/packages/packagers/css/src/CSSPackager.js index 352690d8bde..278d83f082b 100644 --- a/packages/packagers/css/src/CSSPackager.js +++ b/packages/packagers/css/src/CSSPackager.js @@ -1,7 +1,7 @@ // @flow import type {Root} from 'postcss'; -import type {Asset} from '@parcel/types'; +import type {Asset, Dependency} from '@parcel/types'; import path from 'path'; import SourceMap from '@parcel/source-map'; @@ -57,8 +57,11 @@ export default (new Packager({ } queue.add(() => { - // This condition needs to align with the one in Transformation#runPipeline ! - if (!asset.symbols.isCleared && options.mode === 'production') { + if ( + !asset.symbols.isCleared && + options.mode === 'production' && + asset.astGenerator?.type === 'postcss' + ) { // a CSS Modules asset return processCSSModule( options, @@ -134,7 +137,7 @@ export default (new Packager({ contents, getInlineBundleContents, getInlineReplacement: (dep, inlineType, contents) => ({ - from: dep.id, + from: getSpecifier(dep), to: contents, }), map, @@ -142,6 +145,14 @@ export default (new Packager({ }, }): Packager); +export function getSpecifier(dep: Dependency): string { + if (typeof dep.meta.placeholder === 'string') { + return dep.meta.placeholder; + } + + return dep.id; +} + async function processCSSModule( options, logger, diff --git a/packages/transformers/css-experimental/package.json b/packages/transformers/css-experimental/package.json new file mode 100644 index 00000000000..1248bc91603 --- /dev/null +++ b/packages/transformers/css-experimental/package.json @@ -0,0 +1,30 @@ +{ + "name": "@parcel/transformer-css-experimental", + "version": "2.1.1", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "main": "lib/CSSTransformer.js", + "source": "src/CSSTransformer.js", + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.1.1" + }, + "dependencies": { + "@parcel/css": "1.0.0-alpha.11", + "@parcel/plugin": "^2.0.1", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "^2.0.1", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" + } +} diff --git a/packages/transformers/css-experimental/src/CSSTransformer.js b/packages/transformers/css-experimental/src/CSSTransformer.js new file mode 100644 index 00000000000..58f1638f331 --- /dev/null +++ b/packages/transformers/css-experimental/src/CSSTransformer.js @@ -0,0 +1,232 @@ +// @flow strict-local + +import path from 'path'; +import SourceMap from '@parcel/source-map'; +import {Transformer} from '@parcel/plugin'; +import { + transform, + transformStyleAttribute, + browserslistToTargets, +} from '@parcel/css'; +import {remapSourceLocation} from '@parcel/utils'; +import browserslist from 'browserslist'; +import nullthrows from 'nullthrows'; + +export default (new Transformer({ + async loadConfig({config, options}) { + let conf = await config.getConfigFrom(options.projectRoot + '/index', [], { + packageKey: '@parcel/transformer-css', + }); + return conf?.contents; + }, + async transform({asset, config, options}) { + let [code, originalMap] = await Promise.all([ + asset.getBuffer(), + asset.getMap(), + ]); + + let targets = getTargets(asset.env.engines.browsers); + let res; + if (asset.meta.type === 'attr') { + res = transformStyleAttribute({ + code, + analyzeDependencies: true, + targets, + }); + } else { + res = transform({ + filename: path.relative(options.projectRoot, asset.filePath), + code, + cssModules: + config?.cssModules ?? + (asset.meta.cssModulesCompiled !== true && + /\.module\./.test(asset.filePath)), + analyzeDependencies: asset.meta.hasDependencies !== false, + sourceMap: !!asset.env.sourceMap, + drafts: config?.drafts, + pseudoClasses: config?.pseudoClasses, + targets, + }); + } + + asset.setBuffer(res.code); + + if (res.map != null) { + let vlqMap = JSON.parse(res.map.toString()); + let map = new SourceMap(options.projectRoot); + map.addVLQMap(vlqMap); + + if (originalMap) { + map.extends(originalMap); + } + + asset.setMap(map); + } + + if (res.dependencies) { + for (let dep of res.dependencies) { + let loc = dep.loc; + if (originalMap) { + loc = remapSourceLocation(loc, originalMap); + } + + if (dep.type === 'import') { + asset.addDependency({ + specifier: dep.url, + specifierType: 'url', + loc, + meta: { + // For the glob resolver to distinguish between `@import` and other URL dependencies. + isCSSImport: true, + media: dep.media, + }, + symbols: new Map([['*', {local: '*', isWeak: true, loc}]]), + }); + } else if (dep.type === 'url') { + asset.addURLDependency(dep.url, { + loc, + meta: { + placeholder: dep.placeholder, + }, + }); + } + } + } + + let assets = [asset]; + + if (res.exports != null) { + let exports = res.exports; + asset.symbols.ensure(); + asset.symbols.set('default', 'default'); + + let dependencies = new Map(); + let selfReferences = new Set(); + let locals = new Map(); + let c = 0; + let depjs = ''; + let js = ''; + + let jsDeps = []; + for (let dep of asset.getDependencies()) { + if (dep.priority === 'sync') { + // TODO: Figure out how to treeshake this + let d = `dep_$${c++}`; + depjs += `import * as ${d} from ${JSON.stringify(dep.specifier)};\n`; + depjs += `for (let key in ${d}) { if (key in module.exports) module.exports[key] += ' ' + ${d}[key]; else module.exports[key] = ${d}[key]; }\n`; + } + } + + for (let key in exports) { + locals.set(exports[key].name, key); + } + + let seen = new Set(); + let add = key => { + if (seen.has(key)) { + return; + } + seen.add(key); + + let e = exports[key]; + let s = `module.exports[${JSON.stringify(key)}] = \`${e.name}`; + + if (e.isReferenced) { + selfReferences.add(e.name); + } + + for (let ref of e.composes) { + s += ' '; + if (ref.type === 'local') { + add(nullthrows(locals.get(ref.name))); + s += + '${' + + `module.exports[${JSON.stringify( + nullthrows(locals.get(ref.name)), + )}]` + + '}'; + } else if (ref.type === 'global') { + s += ref.name; + } else if (ref.type === 'dependency') { + let d = dependencies.get(ref.specifier); + if (d == null) { + d = `dep_${c++}`; + depjs += `import * as ${d} from ${JSON.stringify( + ref.specifier, + )};\n`; + dependencies.set(ref.specifier, d); + + asset.addDependency({ + specifier: ref.specifier, + specifierType: 'url', + }); + } + s += '${' + `${d}[${JSON.stringify(ref.name)}]` + '}'; + } + } + + s += '`;\n'; + js += s; + }; + + for (let key in exports) { + asset.symbols.set(key, exports[key].name); + add(key); + } + + assets.push({ + type: 'js', + content: depjs + js, + dependencies: jsDeps, + env: asset.env, + }); + + if (selfReferences.size > 0) { + asset.addDependency({ + specifier: `./${path.basename(asset.filePath)}`, + specifierType: 'url', + symbols: new Map( + [...locals] + .filter(([local]) => selfReferences.has(local)) + .map(([local, exported]) => [ + exported, + {local, isWeak: false, loc: null}, + ]), + ), + }); + } + } + + // Normalize the asset's environment so that properties that only affect JS don't cause CSS to be duplicated. + // For example, with ESModule and CommonJS targets, only a single shared CSS bundle should be produced. + asset.setEnvironment({ + context: 'browser', + engines: { + browsers: asset.env.engines.browsers, + }, + shouldOptimize: asset.env.shouldOptimize, + shouldScopeHoist: asset.env.shouldScopeHoist, + sourceMap: asset.env.sourceMap, + }); + + return assets; + }, +}): Transformer); + +let cache = new Map(); + +function getTargets(browsers) { + if (browsers == null) { + return undefined; + } + + let cached = cache.get(browsers); + if (cached != null) { + return cached; + } + + let targets = browserslistToTargets(browserslist(browsers)); + + cache.set(browsers, targets); + return targets; +} diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 31854050d62..cc7351b11e8 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -20,11 +20,14 @@ "parcel": "^2.1.1" }, "dependencies": { + "@parcel/hash": "^2.1.1", "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "@parcel/utils": "^2.1.1", + "css-modules-loader-core": "^1.1.0", "nullthrows": "^1.1.1", "postcss": "^8.3.0", + "postcss-modules": "^3.2.2", "postcss-value-parser": "^4.1.0", "semver": "^5.7.1" } diff --git a/packages/transformers/css/src/CSSTransformer.js b/packages/transformers/css/src/CSSTransformer.js index e8810d448d7..c6fd6652e5b 100644 --- a/packages/transformers/css/src/CSSTransformer.js +++ b/packages/transformers/css/src/CSSTransformer.js @@ -1,18 +1,25 @@ // @flow import type {Root} from 'postcss'; -import type {FilePath} from '@parcel/types'; +import type {FilePath, MutableAsset} from '@parcel/types'; +import {hashString} from '@parcel/hash'; import SourceMap from '@parcel/source-map'; import {Transformer} from '@parcel/plugin'; import {createDependencyLocation, remapSourceLocation} from '@parcel/utils'; import postcss from 'postcss'; import nullthrows from 'nullthrows'; import valueParser from 'postcss-value-parser'; +import postcssModules from 'postcss-modules'; +import FileSystemLoader from 'css-modules-loader-core/lib/file-system-loader'; import semver from 'semver'; +import path from 'path'; const URL_RE = /url\s*\("?(?![a-z]+:)/; const IMPORT_RE = /@import/; +const COMPOSES_RE = /composes:.+from\s*("|').*("|')\s*;?/; +const FROM_IMPORT_RE = /.+from\s*(?:"|')(.*)(?:"|')\s*;?/; +const MODULE_BY_NAME_RE = /\.module\./; function canHaveDependencies(filePath: FilePath, code: string) { return !/\.css$/.test(filePath) || IMPORT_RE.test(code) || URL_RE.test(code); @@ -30,12 +37,19 @@ export default (new Transformer({ // to be filled in later. When the CSS transformer runs, it would pick that up and try to // resolve a dependency for the id which obviously doesn't exist. Also, it's faster to do // it this way since the resulting CSS doesn't need to be re-parsed. - if (asset.meta.hasDependencies === false) { + let isCSSModule = + asset.meta.cssModulesCompiled !== true && + MODULE_BY_NAME_RE.test(asset.filePath); + if (asset.meta.hasDependencies === false && !isCSSModule) { return null; } let code = await asset.getCode(); - if (code != null && !canHaveDependencies(asset.filePath, code)) { + if ( + code != null && + !canHaveDependencies(asset.filePath, code) && + !isCSSModule + ) { return null; } @@ -50,9 +64,10 @@ export default (new Transformer({ }; }, - async transform({asset}) { + async transform({asset, resolve, options}) { // Normalize the asset's environment so that properties that only affect JS don't cause CSS to be duplicated. // For example, with ESModule and CommonJS targets, only a single shared CSS bundle should be produced. + let env = asset.env; asset.setEnvironment({ context: 'browser', engines: { @@ -62,22 +77,36 @@ export default (new Transformer({ sourceMap: asset.env.sourceMap, }); + let isCSSModule = + asset.meta.cssModulesCompiled !== true && + MODULE_BY_NAME_RE.test(asset.filePath); + // Check for `hasDependencies` being false here as well, as it's possible // another transformer (such as PostCSSTransformer) has already parsed an // ast and CSSTransformer's parse was never called. let ast = await asset.getAST(); - if (!ast || asset.meta.hasDependencies === false) { + if (!ast || (asset.meta.hasDependencies === false && !isCSSModule)) { return [asset]; } let program: Root = postcss.fromJSON(ast.program); + let assets = [asset]; + if (isCSSModule) { + assets = await compileCSSModules(asset, env, program, resolve, options); + } + + if (asset.meta.hasDependencies === false) { + return assets; + } + let originalSourceMap = await asset.getMap(); - let createLoc = (start, specifier, lineOffset, colOffset) => { + let createLoc = (start, specifier, lineOffset, colOffset, o) => { let loc = createDependencyLocation( start, specifier, lineOffset, colOffset, + o, ); if (originalSourceMap) { loc = remapSourceLocation(loc, originalSourceMap); @@ -142,19 +171,22 @@ export default (new Transformer({ node.nodes.length > 0 && !node.nodes[0].value.startsWith('#') // IE's `behavior: url(#default#VML)` ) { - let url = asset.addURLDependency(node.nodes[0].value, { + let urlNode = node.nodes[0]; + let url = asset.addURLDependency(urlNode.value, { loc: decl.source && decl.source.start && createLoc( decl.source.start, - node.nodes[0].value, + urlNode.value, + 0, + decl.source.start.offset + urlNode.sourceIndex + 1, 0, - node.nodes[0].sourceIndex, ), }); - isDeclDirty = node.nodes[0].value !== url; - node.nodes[0].value = url; + isDeclDirty = urlNode.value !== url; + urlNode.type = 'word'; + urlNode.value = url; } }); @@ -172,7 +204,7 @@ export default (new Transformer({ }); } - return [asset]; + return assets; }, async generate({asset, ast, options}) { @@ -207,3 +239,124 @@ export default (new Transformer({ }; }, }): Transformer); + +async function compileCSSModules(asset, env, program, resolve, options) { + let cssModules; + + let code = asset.isASTDirty() ? null : await asset.getCode(); + if (code == null || COMPOSES_RE.test(code)) { + program.walkDecls(decl => { + let [, importPath] = FROM_IMPORT_RE.exec(decl.value) || []; + if (decl.prop === 'composes' && importPath != null) { + let parsed = valueParser(decl.value); + let start = (decl.source.start: any); + + parsed.walk(node => { + if (node.type === 'string') { + asset.addDependency({ + specifier: importPath, + specifierType: 'url', + loc: start + ? { + filePath: asset.filePath, + start, + end: { + line: start.line, + column: start.column + importPath.length, + }, + } + : undefined, + }); + } + }); + } + }); + } + + let {root} = await postcss([ + postcssModules({ + getJSON: (filename, json) => (cssModules = json), + Loader: createLoader(asset, resolve), + generateScopedName: (name, filename) => + `${name}_${hashString( + path.relative(options.projectRoot, filename), + ).substr(0, 6)}`, + }), + ]).process(program, {from: asset.filePath, to: asset.filePath}); + asset.setAST({ + type: 'postcss', + version: '8.2.1', + program: root.toJSON(), + }); + + let assets = [asset]; + if (cssModules) { + // $FlowFixMe + let cssModulesList = (Object.entries(cssModules): Array<[string, string]>); + let deps = asset.getDependencies().filter(dep => dep.priority === 'sync'); + let code: string; + if (deps.length > 0) { + code = ` + module.exports = Object.assign({}, ${deps + .map(dep => `require(${JSON.stringify(dep.specifier)})`) + .join(', ')}, ${JSON.stringify(cssModules, null, 2)}); + `; + } else { + code = cssModulesList + .map( + // This syntax enables shaking the invidual statements, so that unused classes don't even exist in JS. + ([className, classNameHashed]) => + `module.exports[${JSON.stringify(className)}] = ${JSON.stringify( + classNameHashed, + )};`, + ) + .join('\n'); + } + + asset.symbols.ensure(); + for (let [k, v] of cssModulesList) { + asset.symbols.set(k, v); + } + asset.symbols.set('default', 'default'); + + assets.push({ + type: 'js', + content: code, + env, + }); + } + return assets; +} + +function createLoader( + asset: MutableAsset, + resolve: (from: FilePath, to: string) => Promise, +) { + return class ParcelFileSystemLoader extends FileSystemLoader { + async fetch(composesPath, relativeTo) { + let importPath = composesPath.replace(/^["']|["']$/g, ''); + let resolved = await resolve(relativeTo, importPath); + let rootRelativePath = path.resolve(path.dirname(relativeTo), resolved); + let root = path.resolve('/'); + // fixes an issue on windows which is part of the css-modules-loader-core + // see https://github.com/css-modules/css-modules-loader-core/issues/230 + if (rootRelativePath.startsWith(root)) { + rootRelativePath = rootRelativePath.substr(root.length); + } + + let source = await asset.fs.readFile(resolved, 'utf-8'); + let {exportTokens} = await this.core.load( + source, + rootRelativePath, + undefined, + // $FlowFixMe[method-unbinding] + this.fetch.bind(this), + ); + return exportTokens; + } + + get finalSource() { + return ''; + } + }; +} diff --git a/packages/transformers/postcss/src/PostCSSTransformer.js b/packages/transformers/postcss/src/PostCSSTransformer.js index a2ed3754048..70883ff3a61 100644 --- a/packages/transformers/postcss/src/PostCSSTransformer.js +++ b/packages/transformers/postcss/src/PostCSSTransformer.js @@ -1,6 +1,6 @@ // @flow -import type {FilePath, MutableAsset, PluginOptions} from '@parcel/types'; +import type {FilePath, Asset, MutableAsset, PluginOptions} from '@parcel/types'; import {hashString} from '@parcel/hash'; import {glob} from '@parcel/utils'; @@ -18,6 +18,8 @@ import {POSTCSS_RANGE} from './constants'; const COMPOSES_RE = /composes:.+from\s*("|').*("|')\s*;?/; const FROM_IMPORT_RE = /.+from\s*(?:"|')(.*)(?:"|')\s*;?/; +const LEGACY_MODULE_RE = /@value|(:global|:local)(?!\s*\()/i; +const MODULE_BY_NAME_RE = /\.module\./; export default (new Transformer({ loadConfig({config, options, logger}) { @@ -31,7 +33,8 @@ export default (new Transformer({ }, async parse({asset, config, options}) { - if (!config) { + let isLegacy = await isLegacyCssModule(asset); + if (!config && !isLegacy) { return; } @@ -50,55 +53,70 @@ export default (new Transformer({ async transform({asset, config, options, resolve}) { asset.type = 'css'; + let isLegacy = await isLegacyCssModule(asset); + if (isLegacy && !config) { + config = { + hydrated: { + plugins: [], + from: asset.filePath, + to: asset.filePath, + modules: {}, + }, + }; + + // TODO: warning? + } + if (!config) { return [asset]; } const postcss: Postcss = await loadPostcss(options, asset.filePath); + let ast = nullthrows(await asset.getAST()); + let program = postcss.fromJSON(ast.program); let plugins = [...config.hydrated.plugins]; let cssModules: ?{|[string]: string|} = null; if (config.hydrated.modules) { + asset.meta.cssModulesCompiled = true; plugins.push( postcssModules({ getJSON: (filename, json) => (cssModules = json), Loader: createLoader(asset, resolve), generateScopedName: (name, filename) => - `_${name}_${hashString( + `${name}_${hashString( path.relative(options.projectRoot, filename), ).substr(0, 6)}`, ...config.hydrated.modules, }), ); - } - let ast = nullthrows(await asset.getAST()); - let program = postcss.fromJSON(ast.program); - let code = asset.isASTDirty() ? null : await asset.getCode(); - if (code == null || COMPOSES_RE.test(code)) { - program.walkDecls(decl => { - let [, importPath] = FROM_IMPORT_RE.exec(decl.value) || []; - if (decl.prop === 'composes' && importPath != null) { - let parsed = valueParser(decl.value); - - parsed.walk(node => { - if (node.type === 'string') { - asset.addDependency({ - specifier: importPath, - specifierType: 'url', - loc: { - filePath: asset.filePath, - start: decl.source.start, - end: { - line: decl.source.start.line, - column: decl.source.start.column + importPath.length, + let code = asset.isASTDirty() ? null : await asset.getCode(); + if (code == null || COMPOSES_RE.test(code)) { + program.walkDecls(decl => { + let [, importPath] = FROM_IMPORT_RE.exec(decl.value) || []; + if (decl.prop === 'composes' && importPath != null) { + let parsed = valueParser(decl.value); + + parsed.walk(node => { + if (node.type === 'string') { + asset.addDependency({ + specifier: importPath, + specifierType: 'url', + loc: { + filePath: asset.filePath, + start: decl.source.start, + end: { + line: decl.source.start.line, + column: decl.source.start.column + importPath.length, + }, }, - }, - }); - } - }); - } - }); + }); + } + }); + } + }); + } } // $FlowFixMe Added in Flow 0.121.0 upgrade in #4381 @@ -218,3 +236,12 @@ function loadPostcss(options: PluginOptions, from: FilePath): Promise { shouldAutoInstall: options.shouldAutoInstall, }); } + +async function isLegacyCssModule(asset: Asset | MutableAsset) { + if (!MODULE_BY_NAME_RE.test(asset.filePath)) { + return false; + } + + let code = await asset.getCode(); + return LEGACY_MODULE_RE.test(code); +} diff --git a/packages/transformers/postcss/src/loadConfig.js b/packages/transformers/postcss/src/loadConfig.js index 48cce81b222..0d1aca360f2 100644 --- a/packages/transformers/postcss/src/loadConfig.js +++ b/packages/transformers/postcss/src/loadConfig.js @@ -13,8 +13,6 @@ import {POSTCSS_RANGE} from './constants'; import loadExternalPlugins from './loadPlugins'; -const MODULE_BY_NAME_RE = /\.module\./; - type ConfigResult = {| raw: any, hydrated: {| @@ -31,17 +29,6 @@ async function configHydrator( resolveFrom: ?FilePath, options: PluginOptions, ): Promise { - // Use a basic, modules-only PostCSS config if the file opts in by a name - // like foo.module.css - if (configFile == null && config.searchPath.match(MODULE_BY_NAME_RE)) { - configFile = { - plugins: { - 'postcss-modules': {}, - }, - }; - resolveFrom = __filename; - } - if (configFile == null) { return; } diff --git a/yarn.lock b/yarn.lock index 630fb754ce2..4a0cce65cf2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2133,10 +2133,10 @@ dependencies: "@octokit/openapi-types" "^6.2.0" -"@parcel/css@1.0.0-alpha.7": - version "1.0.0-alpha.7" - resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.0.0-alpha.7.tgz#5d8a540fbbce0d63fb959c383313b249e70fb18c" - integrity sha512-uVf1rljfTigmpYI+09U6f4/3Ds3qCvf+NVW4N6PQ2xZuYUkcEjcHqxhSzSgTvOSSwJc+CRcKcho3cQGZ5Z8nbA== +"@parcel/css@1.0.0-alpha.11": + version "1.0.0-alpha.11" + resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.0.0-alpha.11.tgz#c41bc3cecd91209c851dbfeec2941eefe4261d36" + integrity sha512-GMeCZvv8MD01hWoe/JkCo9QY7HyijgTfz/3yBuMWAxzV0KQXZhU9vdWA2sK5+KtoqPsifUOfDmjpsiT5t/obxg== dependencies: detect-libc "^1.0.3" From aa9c378675ef73d1c9157f27adb771892e99f311 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 12 Jan 2022 10:37:16 -0500 Subject: [PATCH 0180/1076] Bump node-forge. Fixes #6630. --- packages/core/utils/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index d19a0e20ae6..a902473299f 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -37,7 +37,7 @@ "json5": "^1.0.1", "lru-cache": "^6.0.0", "micromatch": "^4.0.4", - "node-forge": "^0.10.0", + "node-forge": "^1.2.1", "nullthrows": "^1.1.1", "open": "^7.0.3", "terminal-link": "^2.1.1" diff --git a/yarn.lock b/yarn.lock index 4a0cce65cf2..7fa840b57f4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9311,10 +9311,10 @@ node-fetch@^2.2.0, node-fetch@^2.5.0, node-fetch@^2.6.1: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-forge@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c" + integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w== node-gyp-build@^4.2.3, node-gyp-build@^4.3.0: version "4.3.0" From d9e9e7abf847045445ccfb8e20a5e9907c004165 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 12 Jan 2022 10:45:05 -0500 Subject: [PATCH 0181/1076] Bump @parcel/css to 1.0.0 --- packages/optimizers/css/package.json | 2 +- packages/transformers/css-experimental/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 276cf5fd88d..9617f370b3b 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -20,7 +20,7 @@ "parcel": "^2.1.1" }, "dependencies": { - "@parcel/css": "1.0.0-alpha.11", + "@parcel/css": "^1.0.0", "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "@parcel/utils": "^2.1.1", diff --git a/packages/transformers/css-experimental/package.json b/packages/transformers/css-experimental/package.json index 1248bc91603..cbe2abb97e5 100644 --- a/packages/transformers/css-experimental/package.json +++ b/packages/transformers/css-experimental/package.json @@ -20,7 +20,7 @@ "parcel": "^2.1.1" }, "dependencies": { - "@parcel/css": "1.0.0-alpha.11", + "@parcel/css": "^1.0.0", "@parcel/plugin": "^2.0.1", "@parcel/source-map": "^2.0.0", "@parcel/utils": "^2.0.1", diff --git a/yarn.lock b/yarn.lock index 7fa840b57f4..7c669a8950d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2133,10 +2133,10 @@ dependencies: "@octokit/openapi-types" "^6.2.0" -"@parcel/css@1.0.0-alpha.11": - version "1.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.0.0-alpha.11.tgz#c41bc3cecd91209c851dbfeec2941eefe4261d36" - integrity sha512-GMeCZvv8MD01hWoe/JkCo9QY7HyijgTfz/3yBuMWAxzV0KQXZhU9vdWA2sK5+KtoqPsifUOfDmjpsiT5t/obxg== +"@parcel/css@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.0.0.tgz#722f28a56f2cac15035eadd6461b1566a0c2eab1" + integrity sha512-MM32OGu8dHJeFmwLqNnTw5qZaZ2TL8ARARjfvlyQzUiVs7eUfqilOrtWg3/Y93CJiiHbGbANRXg1tlmklXGFqg== dependencies: detect-libc "^1.0.3" From f79c4cd8781e058c5b21a60ecfc346481c3528e4 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 12 Jan 2022 10:53:26 -0500 Subject: [PATCH 0182/1076] Update changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0365574b30..aa7990f7f91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,16 @@ All notable changes to Parcel will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and Parcel adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.2.0] - 2022-01-12 + +### Added + +- New `@parcel/transformer-css-experimental` plugin, which is powered by [@parcel/css](https://github.com/parcel-bundler/parcel-css) - [Details](https://github.com/parcel-bundler/parcel/pull/7538) + +### Fixed + +- Updated `node-forge` to 1.0.0 to fix security vulnerability + ## [2.1.1] - 2022-01-06 ### Fixed From 4745cd3023f8d5a5adcf9e565d5b82d1418dc262 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 12 Jan 2022 10:55:59 -0500 Subject: [PATCH 0183/1076] v2.2.0 --- packages/bundlers/default/package.json | 12 +- packages/bundlers/experimental/package.json | 14 +-- packages/compressors/brotli/package.json | 6 +- packages/compressors/gzip/package.json | 6 +- packages/compressors/raw/package.json | 6 +- packages/configs/default/package.json | 110 +++++++++--------- packages/configs/webextension/package.json | 10 +- packages/core/cache/package.json | 10 +- packages/core/codeframe/package.json | 2 +- packages/core/core/package.json | 26 ++--- packages/core/diagnostic/package.json | 2 +- packages/core/fs/package.json | 14 +-- packages/core/graph/package.json | 4 +- packages/core/integration-tests/package.json | 4 +- packages/core/is-v2-ready-yet/package.json | 4 +- packages/core/logger/package.json | 6 +- packages/core/markdown-ansi/package.json | 2 +- packages/core/package-manager/package.json | 16 +-- packages/core/parcel/package.json | 24 ++-- packages/core/plugin/package.json | 4 +- packages/core/register/package.json | 10 +- packages/core/test-utils/package.json | 12 +- packages/core/types/package.json | 12 +- packages/core/utils/package.json | 12 +- packages/core/workers/package.json | 12 +- packages/dev/babel-preset/package.json | 2 +- packages/dev/babel-register/package.json | 4 +- .../dev/eslint-config-browser/package.json | 4 +- packages/dev/eslint-config/package.json | 4 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 2 +- packages/examples/eslint-example/package.json | 8 +- packages/examples/html/package.json | 6 +- .../examples/internalize-example/package.json | 2 +- packages/examples/kitchen-sink/package.json | 12 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 6 +- packages/examples/simple/package.json | 6 +- packages/examples/three/package.json | 6 +- packages/examples/ts-example/package.json | 6 +- .../ts-typecheck-example/package.json | 8 +- packages/namers/default/package.json | 8 +- packages/optimizers/blob-url/package.json | 8 +- packages/optimizers/css/package.json | 8 +- packages/optimizers/cssnano/package.json | 6 +- packages/optimizers/data-url/package.json | 8 +- packages/optimizers/esbuild/package.json | 10 +- packages/optimizers/htmlnano/package.json | 6 +- packages/optimizers/image/package.json | 12 +- packages/optimizers/svgo/package.json | 10 +- packages/optimizers/swc/package.json | 8 +- packages/optimizers/terser/package.json | 10 +- packages/packagers/css/package.json | 8 +- packages/packagers/html/package.json | 10 +- packages/packagers/js/package.json | 12 +- packages/packagers/raw-url/package.json | 8 +- packages/packagers/raw/package.json | 6 +- packages/packagers/svg/package.json | 10 +- packages/packagers/ts/package.json | 6 +- packages/packagers/xml/package.json | 10 +- packages/reporters/build-metrics/package.json | 8 +- .../reporters/bundle-analyzer/package.json | 10 +- packages/reporters/bundle-buddy/package.json | 6 +- packages/reporters/cli/package.json | 10 +- packages/reporters/dev-server/package.json | 12 +- packages/reporters/json/package.json | 10 +- .../sourcemap-visualiser/package.json | 10 +- packages/resolvers/default/package.json | 8 +- packages/resolvers/glob/package.json | 10 +- packages/runtimes/hmr/package.json | 8 +- packages/runtimes/js/package.json | 8 +- packages/runtimes/react-refresh/package.json | 8 +- packages/runtimes/service-worker/package.json | 8 +- packages/shared/babel-ast-utils/package.json | 6 +- packages/transformers/babel/package.json | 14 +-- .../transformers/coffeescript/package.json | 8 +- .../css-experimental/package.json | 8 +- packages/transformers/css/package.json | 10 +- packages/transformers/elm/package.json | 8 +- packages/transformers/glsl/package.json | 6 +- packages/transformers/graphql/package.json | 6 +- packages/transformers/html/package.json | 10 +- packages/transformers/image/package.json | 8 +- .../transformers/inline-string/package.json | 6 +- packages/transformers/inline/package.json | 6 +- packages/transformers/js/package.json | 12 +- packages/transformers/json/package.json | 6 +- packages/transformers/jsonld/package.json | 8 +- packages/transformers/less/package.json | 6 +- packages/transformers/mdx/package.json | 6 +- packages/transformers/postcss/package.json | 10 +- packages/transformers/posthtml/package.json | 8 +- packages/transformers/pug/package.json | 6 +- packages/transformers/raw/package.json | 6 +- .../react-refresh-wrap/package.json | 8 +- packages/transformers/sass/package.json | 6 +- packages/transformers/stylus/package.json | 8 +- packages/transformers/sugarss/package.json | 6 +- packages/transformers/svg-react/package.json | 6 +- packages/transformers/svg/package.json | 10 +- packages/transformers/toml/package.json | 6 +- .../transformers/typescript-tsc/package.json | 8 +- .../typescript-types/package.json | 10 +- packages/transformers/vue/package.json | 10 +- .../transformers/webextension/package.json | 10 +- .../transformers/webmanifest/package.json | 10 +- packages/transformers/worklet/package.json | 6 +- packages/transformers/xml/package.json | 6 +- packages/transformers/yaml/package.json | 6 +- .../package.json | 4 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/babylon-walk/package.json | 2 +- packages/utils/create-react-app/package.json | 4 +- packages/utils/events/package.json | 2 +- packages/utils/fs-search/package.json | 2 +- .../utils/fs-write-stream-atomic/package.json | 2 +- packages/utils/hash/package.json | 2 +- packages/utils/node-libs-browser/package.json | 2 +- .../utils/node-resolver-core/package.json | 8 +- packages/utils/service-worker/package.json | 4 +- packages/utils/ts-utils/package.json | 2 +- packages/validators/eslint/package.json | 8 +- packages/validators/typescript/package.json | 14 +-- 123 files changed, 520 insertions(+), 520 deletions(-) diff --git a/packages/bundlers/default/package.json b/packages/bundlers/default/package.json index 54e7a0387de..b563b2f7dc7 100644 --- a/packages/bundlers/default/package.json +++ b/packages/bundlers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-default", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/DefaultBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/hash": "^2.1.1", - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/hash": "^2.2.0", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1" } } diff --git a/packages/bundlers/experimental/package.json b/packages/bundlers/experimental/package.json index 2fca46c1524..a7f247c2cc6 100644 --- a/packages/bundlers/experimental/package.json +++ b/packages/bundlers/experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-experimental", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/ExperimentalBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/graph": "^2.1.1", - "@parcel/hash": "^2.1.1", - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/graph": "^2.2.0", + "@parcel/hash": "^2.2.0", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1" } } diff --git a/packages/compressors/brotli/package.json b/packages/compressors/brotli/package.json index 0cfc1f260a9..2223bc70dd0 100644 --- a/packages/compressors/brotli/package.json +++ b/packages/compressors/brotli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-brotli", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BrotliCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/compressors/gzip/package.json b/packages/compressors/gzip/package.json index d0c4e5de0f7..5469d74b0f4 100644 --- a/packages/compressors/gzip/package.json +++ b/packages/compressors/gzip/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-gzip", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/GzipCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/compressors/raw/package.json b/packages/compressors/raw/package.json index dac190851b8..26bf0759494 100644 --- a/packages/compressors/raw/package.json +++ b/packages/compressors/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-raw", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index 5dd6fbfca41..0e54e0ec142 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-default", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,63 +18,63 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "^2.1.1", - "@parcel/compressor-raw": "^2.1.1", - "@parcel/namer-default": "^2.1.1", - "@parcel/optimizer-cssnano": "^2.1.1", - "@parcel/optimizer-htmlnano": "^2.1.1", - "@parcel/optimizer-image": "^2.1.1", - "@parcel/optimizer-svgo": "^2.1.1", - "@parcel/optimizer-terser": "^2.1.1", - "@parcel/packager-css": "^2.1.1", - "@parcel/packager-html": "^2.1.1", - "@parcel/packager-js": "^2.1.1", - "@parcel/packager-raw": "^2.1.1", - "@parcel/packager-svg": "^2.1.1", - "@parcel/reporter-dev-server": "^2.1.1", - "@parcel/resolver-default": "^2.1.1", - "@parcel/runtime-browser-hmr": "^2.1.1", - "@parcel/runtime-js": "^2.1.1", - "@parcel/runtime-react-refresh": "^2.1.1", - "@parcel/runtime-service-worker": "^2.1.1", - "@parcel/transformer-babel": "^2.1.1", - "@parcel/transformer-css": "^2.1.1", - "@parcel/transformer-html": "^2.1.1", - "@parcel/transformer-image": "^2.1.1", - "@parcel/transformer-js": "^2.1.1", - "@parcel/transformer-json": "^2.1.1", - "@parcel/transformer-postcss": "^2.1.1", - "@parcel/transformer-posthtml": "^2.1.1", - "@parcel/transformer-raw": "^2.1.1", - "@parcel/transformer-react-refresh-wrap": "^2.1.1", - "@parcel/transformer-svg": "^2.1.1" + "@parcel/bundler-default": "^2.2.0", + "@parcel/compressor-raw": "^2.2.0", + "@parcel/namer-default": "^2.2.0", + "@parcel/optimizer-cssnano": "^2.2.0", + "@parcel/optimizer-htmlnano": "^2.2.0", + "@parcel/optimizer-image": "^2.2.0", + "@parcel/optimizer-svgo": "^2.2.0", + "@parcel/optimizer-terser": "^2.2.0", + "@parcel/packager-css": "^2.2.0", + "@parcel/packager-html": "^2.2.0", + "@parcel/packager-js": "^2.2.0", + "@parcel/packager-raw": "^2.2.0", + "@parcel/packager-svg": "^2.2.0", + "@parcel/reporter-dev-server": "^2.2.0", + "@parcel/resolver-default": "^2.2.0", + "@parcel/runtime-browser-hmr": "^2.2.0", + "@parcel/runtime-js": "^2.2.0", + "@parcel/runtime-react-refresh": "^2.2.0", + "@parcel/runtime-service-worker": "^2.2.0", + "@parcel/transformer-babel": "^2.2.0", + "@parcel/transformer-css": "^2.2.0", + "@parcel/transformer-html": "^2.2.0", + "@parcel/transformer-image": "^2.2.0", + "@parcel/transformer-js": "^2.2.0", + "@parcel/transformer-json": "^2.2.0", + "@parcel/transformer-postcss": "^2.2.0", + "@parcel/transformer-posthtml": "^2.2.0", + "@parcel/transformer-raw": "^2.2.0", + "@parcel/transformer-react-refresh-wrap": "^2.2.0", + "@parcel/transformer-svg": "^2.2.0" }, "parcelDependencies": { - "@parcel/optimizer-data-url": "^2.1.1", - "@parcel/packager-raw-url": "^2.1.1", - "@parcel/packager-ts": "^2.1.1", - "@parcel/packager-xml": "^2.1.1", - "@parcel/transformer-coffeescript": "^2.1.1", - "@parcel/transformer-elm": "^2.1.1", - "@parcel/transformer-glsl": "^2.1.1", - "@parcel/transformer-graphql": "^2.1.1", - "@parcel/transformer-inline-string": "^2.1.1", - "@parcel/transformer-jsonld": "^2.1.1", - "@parcel/transformer-less": "^2.1.1", - "@parcel/transformer-mdx": "^2.1.1", - "@parcel/transformer-pug": "^2.1.1", - "@parcel/transformer-sass": "^2.1.1", - "@parcel/transformer-stylus": "^2.1.1", - "@parcel/transformer-sugarss": "^2.1.1", - "@parcel/transformer-toml": "^2.1.1", - "@parcel/transformer-typescript-types": "^2.1.1", - "@parcel/transformer-vue": "^2.1.1", - "@parcel/transformer-webmanifest": "^2.1.1", - "@parcel/transformer-worklet": "^2.1.1", - "@parcel/transformer-xml": "^2.1.1", - "@parcel/transformer-yaml": "^2.1.1" + "@parcel/optimizer-data-url": "^2.2.0", + "@parcel/packager-raw-url": "^2.2.0", + "@parcel/packager-ts": "^2.2.0", + "@parcel/packager-xml": "^2.2.0", + "@parcel/transformer-coffeescript": "^2.2.0", + "@parcel/transformer-elm": "^2.2.0", + "@parcel/transformer-glsl": "^2.2.0", + "@parcel/transformer-graphql": "^2.2.0", + "@parcel/transformer-inline-string": "^2.2.0", + "@parcel/transformer-jsonld": "^2.2.0", + "@parcel/transformer-less": "^2.2.0", + "@parcel/transformer-mdx": "^2.2.0", + "@parcel/transformer-pug": "^2.2.0", + "@parcel/transformer-sass": "^2.2.0", + "@parcel/transformer-stylus": "^2.2.0", + "@parcel/transformer-sugarss": "^2.2.0", + "@parcel/transformer-toml": "^2.2.0", + "@parcel/transformer-typescript-types": "^2.2.0", + "@parcel/transformer-vue": "^2.2.0", + "@parcel/transformer-webmanifest": "^2.2.0", + "@parcel/transformer-worklet": "^2.2.0", + "@parcel/transformer-xml": "^2.2.0", + "@parcel/transformer-yaml": "^2.2.0" }, "peerDependencies": { - "@parcel/core": "^2.1.1" + "@parcel/core": "^2.2.0" } } diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index 913346e73d4..88dd71973a9 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-webextension", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,9 +15,9 @@ }, "main": "index.json", "dependencies": { - "@parcel/config-default": "^2.1.1", - "@parcel/packager-raw-url": "^2.1.1", - "@parcel/transformer-raw": "^2.1.1", - "@parcel/transformer-webextension": "^2.1.1" + "@parcel/config-default": "^2.2.0", + "@parcel/packager-raw-url": "^2.2.0", + "@parcel/transformer-raw": "^2.2.0", + "@parcel/transformer-webextension": "^2.2.0" } } diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 5e535c93c8f..24c73dc8bdd 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/cache", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -24,13 +24,13 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs": "^2.1.1", - "@parcel/logger": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/fs": "^2.2.0", + "@parcel/logger": "^2.2.0", + "@parcel/utils": "^2.2.0", "lmdb": "^2.0.2" }, "peerDependencies": { - "@parcel/core": "^2.1.1" + "@parcel/core": "^2.2.0" }, "devDependencies": { "idb": "^5.0.8" diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index 459bed73915..5293525d6bb 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/codeframe", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 3fb991413f6..8e0b579d22a 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/core", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -24,19 +24,19 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.1.1", - "@parcel/diagnostic": "^2.1.1", - "@parcel/events": "^2.1.1", - "@parcel/fs": "^2.1.1", - "@parcel/graph": "^2.1.1", - "@parcel/hash": "^2.1.1", - "@parcel/logger": "^2.1.1", - "@parcel/package-manager": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/cache": "^2.2.0", + "@parcel/diagnostic": "^2.2.0", + "@parcel/events": "^2.2.0", + "@parcel/fs": "^2.2.0", + "@parcel/graph": "^2.2.0", + "@parcel/hash": "^2.2.0", + "@parcel/logger": "^2.2.0", + "@parcel/package-manager": "^2.2.0", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1", - "@parcel/workers": "^2.1.1", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0", + "@parcel/workers": "^2.2.0", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index 550c8ef9c29..6410ec18eb1 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/diagnostic", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index ec30ba6d7c5..3ee3cc38680 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -25,12 +25,12 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs-search": "^2.1.1", - "@parcel/fs-write-stream-atomic": "^2.1.1", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/fs-search": "^2.2.0", + "@parcel/fs-write-stream-atomic": "^2.2.0", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "^2.1.1", + "@parcel/workers": "^2.2.0", "graceful-fs": "^4.2.4", "mkdirp": "^0.5.1", "ncp": "^2.0.0", @@ -39,7 +39,7 @@ "utility-types": "^3.10.0" }, "peerDependencies": { - "@parcel/core": "^2.1.1" + "@parcel/core": "^2.2.0" }, "browser": { "./src/NodeFS.js": "./src/NodeFS.browser.js" diff --git a/packages/core/graph/package.json b/packages/core/graph/package.json index 56db143acbf..dd364bbae99 100644 --- a/packages/core/graph/package.json +++ b/packages/core/graph/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/graph", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1" } } diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index 7fedf255297..8ec3e68a87f 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/integration-tests", - "version": "2.1.1", + "version": "2.2.0", "private": true, "license": "MIT", "repository": { @@ -42,7 +42,7 @@ "ncp": "^2.0.0", "nib": "^1.1.2", "node-elm-compiler": "^5.0.5", - "parcel": "^2.1.1", + "parcel": "^2.2.0", "postcss": "^8.3.0", "postcss-custom-properties": "^11.0.0", "postcss-import": "^14.0.2", diff --git a/packages/core/is-v2-ready-yet/package.json b/packages/core/is-v2-ready-yet/package.json index 21cf7df0338..6e7607d0e71 100644 --- a/packages/core/is-v2-ready-yet/package.json +++ b/packages/core/is-v2-ready-yet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/is-v2-ready-yet", - "version": "2.1.1", + "version": "2.2.0", "private": true, "license": "MIT", "repository": { @@ -13,7 +13,7 @@ "build-app": "yarn parcel build index.html" }, "dependencies": { - "@parcel/integration-tests": "^2.1.1", + "@parcel/integration-tests": "^2.2.0", "react": "^17.0.2", "react-dom": "^17.0.2", "victory": "^31.0.1" diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 447ff394244..d2ea5a5fe77 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/logger", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/events": "^2.1.1" + "@parcel/diagnostic": "^2.2.0", + "@parcel/events": "^2.2.0" } } diff --git a/packages/core/markdown-ansi/package.json b/packages/core/markdown-ansi/package.json index 9de6f994e7c..d3d01218d37 100644 --- a/packages/core/markdown-ansi/package.json +++ b/packages/core/markdown-ansi/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/markdown-ansi", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "publishConfig": { "access": "public" diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index 532d5c96c65..a8dee71814d 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/package-manager", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -25,12 +25,12 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/fs": "^2.1.1", - "@parcel/logger": "^2.1.1", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1", - "@parcel/workers": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/fs": "^2.2.0", + "@parcel/logger": "^2.2.0", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0", + "@parcel/workers": "^2.2.0", "command-exists": "^1.2.6", "cross-spawn": "^6.0.4", "nullthrows": "^1.1.1", @@ -38,7 +38,7 @@ "split2": "^3.1.1" }, "peerDependencies": { - "@parcel/core": "^2.1.1" + "@parcel/core": "^2.2.0" }, "browser": { "./src/Npm.js": false, diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index d2361abddbd..e077bde3d70 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -1,6 +1,6 @@ { "name": "parcel", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,22 +21,22 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.1.1", - "@parcel/core": "^2.1.1", - "@parcel/diagnostic": "^2.1.1", - "@parcel/events": "^2.1.1", - "@parcel/fs": "^2.1.1", - "@parcel/logger": "^2.1.1", - "@parcel/package-manager": "^2.1.1", - "@parcel/reporter-cli": "^2.1.1", - "@parcel/reporter-dev-server": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/config-default": "^2.2.0", + "@parcel/core": "^2.2.0", + "@parcel/diagnostic": "^2.2.0", + "@parcel/events": "^2.2.0", + "@parcel/fs": "^2.2.0", + "@parcel/logger": "^2.2.0", + "@parcel/package-manager": "^2.2.0", + "@parcel/reporter-cli": "^2.2.0", + "@parcel/reporter-dev-server": "^2.2.0", + "@parcel/utils": "^2.2.0", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.1.1" + "@parcel/babel-register": "^2.2.0" } } diff --git a/packages/core/plugin/package.json b/packages/core/plugin/package.json index 9fde332be0e..b6d6c4e6233 100644 --- a/packages/core/plugin/package.json +++ b/packages/core/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/plugin", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ "check-ts": "tsc --noEmit src/PluginAPI.d.ts" }, "dependencies": { - "@parcel/types": "^2.1.1" + "@parcel/types": "^2.2.0" } } diff --git a/packages/core/register/package.json b/packages/core/register/package.json index d48f2358c60..13244976b67 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/register", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,10 +23,10 @@ "clean": "rimraf .parcel-cache" }, "dependencies": { - "@parcel/config-default": "^2.1.1", - "@parcel/core": "^2.1.1", - "@parcel/fs": "^2.1.1", - "@parcel/package-manager": "^2.1.1", + "@parcel/config-default": "^2.2.0", + "@parcel/core": "^2.2.0", + "@parcel/fs": "^2.2.0", + "@parcel/package-manager": "^2.2.0", "deasync": "^0.1.14", "pirates": "^4.0.0" } diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index eb523ce628a..726f5b6cfac 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/test-utils", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -13,11 +13,11 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.1.1", - "@parcel/core": "^2.1.1", - "@parcel/fs": "^2.1.1", - "@parcel/package-manager": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/config-default": "^2.2.0", + "@parcel/core": "^2.2.0", + "@parcel/fs": "^2.2.0", + "@parcel/package-manager": "^2.2.0", + "@parcel/utils": "^2.2.0", "chalk": "^4.1.0", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/types/package.json b/packages/core/types/package.json index 05d467482cc..9cd655964cc 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/types", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "main": "src/index.js", "types": "lib/index.d.ts", @@ -16,12 +16,12 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.1.1", - "@parcel/diagnostic": "^2.1.1", - "@parcel/fs": "^2.1.1", - "@parcel/package-manager": "^2.1.1", + "@parcel/cache": "^2.2.0", + "@parcel/diagnostic": "^2.2.0", + "@parcel/fs": "^2.2.0", + "@parcel/package-manager": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "^2.1.1", + "@parcel/workers": "^2.2.0", "utility-types": "^3.10.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index a902473299f..3eb57c6e023 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/utils", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,11 +21,11 @@ }, "dependencies": { "@iarna/toml": "^2.2.0", - "@parcel/codeframe": "^2.1.1", - "@parcel/diagnostic": "^2.1.1", - "@parcel/hash": "^2.1.1", - "@parcel/logger": "^2.1.1", - "@parcel/markdown-ansi": "^2.1.1", + "@parcel/codeframe": "^2.2.0", + "@parcel/diagnostic": "^2.2.0", + "@parcel/hash": "^2.2.0", + "@parcel/logger": "^2.2.0", + "@parcel/markdown-ansi": "^2.2.0", "@parcel/source-map": "^2.0.0", "ansi-html-community": "0.0.8", "chalk": "^4.1.0", diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index fa4f73d69b9..54b0c66a522 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/workers", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,15 +21,15 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/logger": "^2.1.1", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/logger": "^2.2.0", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, "peerDependencies": { - "@parcel/core": "^2.1.1" + "@parcel/core": "^2.2.0" }, "browser": { "./src/cpuCount.js": false, diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index 1abba3148c6..219d8ae9ebc 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset", - "version": "2.1.1", + "version": "2.2.0", "private": true, "license": "MIT", "repository": { diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index 95bb77ef5dc..11f9d2b3e8f 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-register", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -10,7 +10,7 @@ }, "dependencies": { "@babel/register": "^7.4.4", - "@parcel/babel-preset": "^2.1.1", + "@parcel/babel-preset": "^2.2.0", "resolve": "^1.12.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index d8b88ea68b0..7c87cab9361 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -1,8 +1,8 @@ { "name": "@parcel/eslint-config-browser", "private": true, - "version": "2.1.1", + "version": "2.2.0", "dependencies": { - "@parcel/eslint-config": "^2.1.1" + "@parcel/eslint-config": "^2.2.0" } } diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index feda11b826d..c75f6c0973d 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -1,10 +1,10 @@ { "name": "@parcel/eslint-config", "private": true, - "version": "2.1.1", + "version": "2.2.0", "dependencies": { "@babel/eslint-parser": "^7.12.1", - "@parcel/eslint-plugin": "^2.1.1", + "@parcel/eslint-plugin": "^2.2.0", "eslint-config-prettier": "^7.2.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index a3a049485be..25d0239d503 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/eslint-plugin", "private": true, - "version": "2.1.1", + "version": "2.2.0", "main": "index.js", "scripts": {}, "dependencies": { diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index 0ebcef38bb3..7febf173c41 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -1,6 +1,6 @@ { "name": "fuzzer", - "version": "2.1.1", + "version": "2.2.0", "private": true, "scripts": { "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules -r @parcel/babel-register index.js" diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index 339249f7c63..44807053a4b 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/eslint-example", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.1.1", - "@parcel/core": "^2.1.1", - "@parcel/validator-eslint": "^2.1.1" + "@parcel/babel-register": "^2.2.0", + "@parcel/core": "^2.2.0", + "@parcel/validator-eslint": "^2.2.0" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index 7e275edc7ae..4529746a9de 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/html-example", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true, "scripts": { @@ -12,8 +12,8 @@ "not firefox < 67" ], "devDependencies": { - "@parcel/babel-register": "^2.1.1", - "parcel": "^2.1.1" + "@parcel/babel-register": "^2.2.0", + "parcel": "^2.2.0" }, "dependencies": { "lodash": "^4.17.11", diff --git a/packages/examples/internalize-example/package.json b/packages/examples/internalize-example/package.json index a9346a8e85b..32b9cce9826 100644 --- a/packages/examples/internalize-example/package.json +++ b/packages/examples/internalize-example/package.json @@ -1,6 +1,6 @@ { "name": "internalize-example", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index e20c3ceba03..f1a54301ca0 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/kitchen-sink-example", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true, "scripts": { @@ -8,11 +8,11 @@ "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { - "@parcel/babel-register": "^2.1.1", - "@parcel/config-default": "^2.1.1", - "@parcel/optimizer-esbuild": "^2.1.1", - "@parcel/reporter-sourcemap-visualiser": "^2.1.1", - "parcel": "^2.1.1" + "@parcel/babel-register": "^2.2.0", + "@parcel/config-default": "^2.2.0", + "@parcel/optimizer-esbuild": "^2.2.0", + "@parcel/reporter-sourcemap-visualiser": "^2.2.0", + "parcel": "^2.2.0" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 26e9d944cb8..0ad136105e1 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -1,13 +1,13 @@ { "name": "@parcel/react-hmr-example", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true, "scripts": { "demo": "parcel serve src/index.html --no-cache --https" }, "devDependencies": { - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 59be3bb5e46..32c9a557bfe 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/react-refresh-example", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true, "scripts": { "start": "parcel src/index.html" }, "devDependencies": { - "@parcel/babel-register": "^2.1.1", - "@parcel/core": "^2.1.1" + "@parcel/babel-register": "^2.2.0", + "@parcel/core": "^2.2.0" }, "dependencies": { "react": "^17.0.2", diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index ebccfdace49..4a96d28932e 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/simple-example", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true, "scripts": { @@ -8,8 +8,8 @@ "clean-demo": "rm -rf .parcel-cache dist && yarn demo" }, "devDependencies": { - "@parcel/babel-register": "^2.1.1", - "@parcel/core": "^2.1.1" + "@parcel/babel-register": "^2.2.0", + "@parcel/core": "^2.2.0" }, "browser": "dist/legacy/index.js", "browserModern": "dist/modern/index.js", diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index 46c0f64f3b8..8c4fca28a35 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/three-js-stresstest", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true, "scripts": { @@ -27,7 +27,7 @@ } }, "devDependencies": { - "@parcel/config-default": "^2.1.1", - "parcel": "^2.1.1" + "@parcel/config-default": "^2.2.0", + "parcel": "^2.2.0" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index 2c972331bfa..b5676568103 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/ts-example", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true, "scripts": { "demo": "parcel build src/index.ts" }, "devDependencies": { - "@parcel/babel-register": "^2.1.1", - "@parcel/core": "^2.1.1" + "@parcel/babel-register": "^2.2.0", + "@parcel/core": "^2.2.0" }, "main": "dist/main.js", "module": "dist/module.js", diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index bdc498d7ad0..8d5463a4904 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-typecheck-example", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.1.1", - "@parcel/core": "^2.1.1", - "@parcel/validator-typescript": "^2.1.1" + "@parcel/babel-register": "^2.2.0", + "@parcel/core": "^2.2.0", + "@parcel/validator-typescript": "^2.2.0" } } diff --git a/packages/namers/default/package.json b/packages/namers/default/package.json index daf0c8c3348..c48327666c9 100644 --- a/packages/namers/default/package.json +++ b/packages/namers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/namer-default", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultNamer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/blob-url/package.json b/packages/optimizers/blob-url/package.json index 99473163539..261625c2aab 100644 --- a/packages/optimizers/blob-url/package.json +++ b/packages/optimizers/blob-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-blob-url", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BlobURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1" + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0" } } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 9617f370b3b..3d761ac2970 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-css", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { "@parcel/css": "^1.0.0", - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index f16c1b8ad2d..2d68c8a490d 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-cssnano", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/CSSNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.5", "postcss": "^8.3.0" diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index 135c740943d..dc0e9f62a81 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-data-url", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DataURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index 29e61c40820..8f0c650ca43 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-esbuild", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/ESBuildOptimizer.js", "engines": { "node": ">= 10.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "esbuild": "^0.13.0", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index 689736c25f1..fcaeeb960b3 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-htmlnano", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HTMLNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "htmlnano": "^1.0.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index a83497cf0de..75ba890ee03 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-image", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "main": "lib/ImageOptimizer.js", "source": "src/ImageOptimizer.js", @@ -17,7 +17,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "files": [ "lib", @@ -32,10 +32,10 @@ "build-release": "napi build --platform --release" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", - "@parcel/workers": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", + "@parcel/workers": "^2.2.0", "detect-libc": "^1.0.3" }, "devDependencies": { diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index b201498257e..5fdeea81fb8 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-svgo", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGOOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "svgo": "^2.4.0" } } diff --git a/packages/optimizers/swc/package.json b/packages/optimizers/swc/package.json index 2fab95bf62f..7777db5193a 100644 --- a/packages/optimizers/swc/package.json +++ b/packages/optimizers/swc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-swc", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SwcOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "@swc/core": "^1.2.106", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index d20e2b46156..6ff8ae3db35 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-terser", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TerserOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1", "terser": "^5.2.0" } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index 6c2b4f8714c..2b3b5a67e0e 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-css", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1", "postcss": "^8.3.0" } diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index e2b3f8d7b2b..857bf164325 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-html", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index 282046d3138..2b04a05df3b 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-js", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/index.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/hash": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/hash": "^2.2.0", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "globals": "^13.2.0", "nullthrows": "^1.1.1" } diff --git a/packages/packagers/raw-url/package.json b/packages/packagers/raw-url/package.json index b7f9063d740..1f7be5a2f7c 100644 --- a/packages/packagers/raw-url/package.json +++ b/packages/packagers/raw-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw-url", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/RawUrlPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1" + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0" } } diff --git a/packages/packagers/raw/package.json b/packages/packagers/raw/package.json index 5caf025268b..5da826f2c50 100644 --- a/packages/packagers/raw/package.json +++ b/packages/packagers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/packagers/svg/package.json b/packages/packagers/svg/package.json index 1206e4698ea..be4d6c55cc5 100644 --- a/packages/packagers/svg/package.json +++ b/packages/packagers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-svg", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0", "posthtml": "^0.16.4" } } diff --git a/packages/packagers/ts/package.json b/packages/packagers/ts/package.json index 7bcd415eb6a..ba4683867e6 100644 --- a/packages/packagers/ts/package.json +++ b/packages/packagers/ts/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-ts", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/TSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index 495958c7ff2..ce3ef69b9d4 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-xml", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/XMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/reporters/build-metrics/package.json b/packages/reporters/build-metrics/package.json index 0aab276d7f0..f88c5b5f918 100644 --- a/packages/reporters/build-metrics/package.json +++ b/packages/reporters/build-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-build-metrics", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BuildMetricsReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1" + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0" } } diff --git a/packages/reporters/bundle-analyzer/package.json b/packages/reporters/bundle-analyzer/package.json index 8b775f756a6..dbd7da8747d 100644 --- a/packages/reporters/bundle-analyzer/package.json +++ b/packages/reporters/bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-analyzer", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/BundleAnalyzerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.1.1" + "@parcel/types": "^2.2.0" } } diff --git a/packages/reporters/bundle-buddy/package.json b/packages/reporters/bundle-buddy/package.json index c2d7f5d5191..fb90ad4cf96 100644 --- a/packages/reporters/bundle-buddy/package.json +++ b/packages/reporters/bundle-buddy/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-buddy", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BundleBuddyReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index 3f7c685d9f2..41f7f59b80e 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-cli", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CLIReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0", "chalk": "^4.1.0", "filesize": "^6.1.0", "nullthrows": "^1.1.1", diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 19d3833d162..0a8cb346736 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-dev-server", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -18,11 +18,11 @@ "source": "src/ServerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^1.0.0", @@ -31,7 +31,7 @@ "ws": "^7.0.0" }, "devDependencies": { - "@parcel/babel-preset": "^2.1.1", - "@parcel/types": "^2.1.1" + "@parcel/babel-preset": "^2.2.0", + "@parcel/types": "^2.2.0" } } diff --git a/packages/reporters/json/package.json b/packages/reporters/json/package.json index e37a8875e6b..ffbad9deb90 100644 --- a/packages/reporters/json/package.json +++ b/packages/reporters/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-json", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/JSONReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1" } } diff --git a/packages/reporters/sourcemap-visualiser/package.json b/packages/reporters/sourcemap-visualiser/package.json index c8f1df13918..f189eb6cb38 100644 --- a/packages/reporters/sourcemap-visualiser/package.json +++ b/packages/reporters/sourcemap-visualiser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-sourcemap-visualiser", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/SourceMapVisualiser.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.1.1" + "@parcel/types": "^2.2.0" } } diff --git a/packages/resolvers/default/package.json b/packages/resolvers/default/package.json index cd259bff588..0bcae0f3588 100644 --- a/packages/resolvers/default/package.json +++ b/packages/resolvers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-default", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/node-resolver-core": "^2.1.1", - "@parcel/plugin": "^2.1.1" + "@parcel/node-resolver-core": "^2.2.0", + "@parcel/plugin": "^2.2.0" }, "devDependencies": { "@babel/core": "^7.12.2" diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index f5b6d505671..fa97a57c799 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-glob", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/GlobResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "micromatch": "^4.0.2", "nullthrows": "^1.1.1" } diff --git a/packages/runtimes/hmr/package.json b/packages/runtimes/hmr/package.json index 3b167646ff3..a52a8450026 100644 --- a/packages/runtimes/hmr/package.json +++ b/packages/runtimes/hmr/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-browser-hmr", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HMRRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1" + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0" } } diff --git a/packages/runtimes/js/package.json b/packages/runtimes/js/package.json index 805a6ba90cf..8049859d7b2 100644 --- a/packages/runtimes/js/package.json +++ b/packages/runtimes/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-js", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/JSRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/react-refresh/package.json b/packages/runtimes/react-refresh/package.json index 6d91964df2e..0994e8c776f 100644 --- a/packages/runtimes/react-refresh/package.json +++ b/packages/runtimes/react-refresh/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-react-refresh", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "react-refresh": "^0.9.0" } } diff --git a/packages/runtimes/service-worker/package.json b/packages/runtimes/service-worker/package.json index fe93fecbf04..052f3e2c44c 100644 --- a/packages/runtimes/service-worker/package.json +++ b/packages/runtimes/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-service-worker", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "./src/ServiceWorkerRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1" } } diff --git a/packages/shared/babel-ast-utils/package.json b/packages/shared/babel-ast-utils/package.json index 8ab758e3e7e..623f5e27d99 100644 --- a/packages/shared/babel-ast-utils/package.json +++ b/packages/shared/babel-ast-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-ast-utils", - "version": "2.1.1", + "version": "2.2.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,9 +21,9 @@ }, "dependencies": { "@babel/parser": "^7.0.0", - "@parcel/babylon-walk": "^2.1.1", + "@parcel/babylon-walk": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "astring": "^1.6.2" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 2fbc1682bb2..3dff8741e1a 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-babel", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "source": "src/BabelTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { "@babel/core": "^7.12.0", @@ -25,11 +25,11 @@ "@babel/helper-compilation-targets": "^7.8.4", "@babel/plugin-transform-flow-strip-types": "^7.0.0", "@babel/traverse": "^7.0.0", - "@parcel/babel-ast-utils": "^2.1.1", - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/babel-ast-utils": "^2.2.0", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "browserslist": "^4.6.6", "core-js": "^3.2.1", "json5": "^2.1.0", @@ -39,6 +39,6 @@ "devDependencies": { "@babel/core": "^7.12.0", "@babel/preset-env": "^7.0.0", - "@parcel/types": "^2.1.1" + "@parcel/types": "^2.2.0" } } diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 310c829604c..d03a6546bd0 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-coffeescript", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CoffeeScriptTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", "semver": "^5.7.1" diff --git a/packages/transformers/css-experimental/package.json b/packages/transformers/css-experimental/package.json index cbe2abb97e5..9c68b23f153 100644 --- a/packages/transformers/css-experimental/package.json +++ b/packages/transformers/css-experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css-experimental", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { "@parcel/css": "^1.0.0", - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.2.0", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index cc7351b11e8..7c05a9d9b88 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/hash": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/hash": "^2.2.0", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "css-modules-loader-core": "^1.1.0", "nullthrows": "^1.1.1", "postcss": "^8.3.0", diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index 03e6e3c4f87..0c61a9a44b7 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-elm", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ElmTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", "command-exists": "^1.2.8", "cross-spawn": "^7.0.3", "elm-hot": "^1.1.5", diff --git a/packages/transformers/glsl/package.json b/packages/transformers/glsl/package.json index b158c6a296a..902042507ca 100644 --- a/packages/transformers/glsl/package.json +++ b/packages/transformers/glsl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-glsl", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GLSLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "glslify-bundle": "^5.1.1", "glslify-deps": "^1.3.2" } diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index 9f70cab0691..bc9b3f175a4 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-graphql", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GraphQLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "graphql": "^15.0.0", "graphql-import-macro": "^1.0.0" } diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index af8afb7f6c2..4397cafb2c2 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-html", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/hash": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/hash": "^2.2.0", + "@parcel/plugin": "^2.2.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index 11abee0ece6..10bfb032244 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-image", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -13,11 +13,11 @@ "source": "src/ImageTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/workers": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/workers": "^2.2.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/inline-string/package.json b/packages/transformers/inline-string/package.json index 7157af0b413..b1b7eb4b3ae 100644 --- a/packages/transformers/inline-string/package.json +++ b/packages/transformers/inline-string/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline-string", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineStringTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/transformers/inline/package.json b/packages/transformers/inline/package.json index 98da5df46bc..ad34e024b61 100644 --- a/packages/transformers/inline/package.json +++ b/packages/transformers/inline/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index d2b50b06ca3..637bba943d6 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-js", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -19,7 +19,7 @@ "name": "parcel-swc" }, "engines": { - "parcel": "^2.1.1", + "parcel": "^2.2.0", "node": ">= 12.0.0" }, "files": [ @@ -30,11 +30,11 @@ "*.node" ], "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", - "@parcel/workers": "^2.1.1", + "@parcel/utils": "^2.2.0", + "@parcel/workers": "^2.2.0", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index ce4f9d83c0e..f6355a8732c 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-json", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/JSONTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "json5": "^2.1.0" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index c35cfd118f7..258543bffc0 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-jsonld", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/JSONLDTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "scripts": { "test": "yarn workspace @parcel/integration-tests test -g jsonld" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/types": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/types": "^2.2.0", "json5": "^2.1.2" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index debc0dd7573..fc150047150 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-less", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/LessTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", "less": "^4.1.1" } diff --git a/packages/transformers/mdx/package.json b/packages/transformers/mdx/package.json index 542499981bf..78719022c5f 100644 --- a/packages/transformers/mdx/package.json +++ b/packages/transformers/mdx/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-mdx", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/MDXTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { "@mdx-js/mdx": "^1.6.22", - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" }, "peerDependencies": { "@mdx-js/react": "^1.6.22" diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index c2111ff9f89..3a37d33428a 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-postcss", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/PostCSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/hash": "^2.1.1", - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/hash": "^2.2.0", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "clone": "^2.1.1", "css-modules-loader-core": "^1.1.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/posthtml/package.json b/packages/transformers/posthtml/package.json index 81e4b1eb136..c726106d99c 100644 --- a/packages/transformers/posthtml/package.json +++ b/packages/transformers/posthtml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-posthtml", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/PostHTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index b05333aaa6a..d61999ffb64 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-pug", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/PugTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "pug": "^3.0.2" } } diff --git a/packages/transformers/raw/package.json b/packages/transformers/raw/package.json index dac651495cf..e36d1f73289 100644 --- a/packages/transformers/raw/package.json +++ b/packages/transformers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-raw", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index b29ec32a8cd..d585806c295 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-react-refresh-wrap", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshWrapTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "react-refresh": "^0.9.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index 707dbf77b64..eedf479b351 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sass", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SassTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index 235df4009e6..9e3bf1c74b8 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-stylus", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/StylusTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "stylus": "^0.55.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index 6168f446b4e..572b9dde003 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sugarss", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SugarssTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "postcss": "^8.3.0", "sugarss": "^3.0.3" } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index d19b0d71a45..37fd5dfd673 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg-react", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SvgReactTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@svgr/core": "^5.5.0", "@svgr/plugin-jsx": "^5.5.0", "@svgr/plugin-svgo": "^5.5.0", diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index 6fcc1c7237e..3df9774645a 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/hash": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/hash": "^2.2.0", + "@parcel/plugin": "^2.2.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index 1a7d061d59d..f4725b8709a 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-toml", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/TOMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { "@iarna/toml": "^2.2.3", - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/transformers/typescript-tsc/package.json b/packages/transformers/typescript-tsc/package.json index c9764d27f1a..7e39ce24710 100644 --- a/packages/transformers/typescript-tsc/package.json +++ b/packages/transformers/typescript-tsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-tsc", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/TSCTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.1.1" + "@parcel/ts-utils": "^2.2.0" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index c3ee5b2e9cf..937e719167d 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-types", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TSTypesTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.1.1", + "@parcel/ts-utils": "^2.2.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index ebd8cd7cab5..92f3bd18425 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-vue", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/VueTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.1.1", + "@parcel/utils": "^2.2.0", "@vue/compiler-sfc": "^3.0.0", "consolidate": "^0.16.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index cd995088996..686bd5ff901 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webextension", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebExtensionTransformer.js", "source": "src/WebExtensionTransformer.js", "engines": { - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "content-security-policy-parser": "^0.3.0", "json-source-map": "^0.6.1" } diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index b9a5b4ccbd6..b84a3fb3e23 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webmanifest", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebManifestTransformer.js", "source": "src/WebManifestTransformer.js", "engines": { - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "json-source-map": "^0.6.1" } } diff --git a/packages/transformers/worklet/package.json b/packages/transformers/worklet/package.json index abc25ac3777..25c4f805efc 100644 --- a/packages/transformers/worklet/package.json +++ b/packages/transformers/worklet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-worklet", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/WorkletTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1" + "@parcel/plugin": "^2.2.0" } } diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index 8dc4d27b753..1848606c28b 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-xml", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/XMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/transformers/yaml/package.json b/packages/transformers/yaml/package.json index 0357aee87b4..72d19a2659f 100644 --- a/packages/transformers/yaml/package.json +++ b/packages/transformers/yaml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-yaml", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/YAMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", + "@parcel/plugin": "^2.2.0", "js-yaml": "^3.10.0" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index b5b30f8d75e..9f74aab72c0 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-plugin-transform-runtime", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ }, "devDependencies": { "@babel/core": "^7.12.0", - "@parcel/babel-preset-env": "^2.1.1" + "@parcel/babel-preset-env": "^2.2.0" } } diff --git a/packages/utils/babel-preset-env/package.json b/packages/utils/babel-preset-env/package.json index d1e7dd8cbb3..01361f337f8 100644 --- a/packages/utils/babel-preset-env/package.json +++ b/packages/utils/babel-preset-env/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset-env", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/babylon-walk/package.json b/packages/utils/babylon-walk/package.json index 635f3b3ba55..b9987085c25 100755 --- a/packages/utils/babylon-walk/package.json +++ b/packages/utils/babylon-walk/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babylon-walk", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 99e862e031e..100019147f0 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/create-react-app", - "version": "2.1.1", + "version": "2.2.0", "bin": { "parcel-create-react-app": "src/bin.js" }, @@ -31,6 +31,6 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.1.1" + "@parcel/babel-register": "^2.2.0" } } diff --git a/packages/utils/events/package.json b/packages/utils/events/package.json index 8f8952837e4..145e5f0d4c3 100644 --- a/packages/utils/events/package.json +++ b/packages/utils/events/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/events", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-search/package.json b/packages/utils/fs-search/package.json index 07a54023338..86aab5d39be 100644 --- a/packages/utils/fs-search/package.json +++ b/packages/utils/fs-search/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-search", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-write-stream-atomic/package.json b/packages/utils/fs-write-stream-atomic/package.json index 6160c92b7de..a89af016dee 100644 --- a/packages/utils/fs-write-stream-atomic/package.json +++ b/packages/utils/fs-write-stream-atomic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-write-stream-atomic", - "version": "2.1.1", + "version": "2.2.0", "description": "Like `fs.createWriteStream(...)`, but atomic.", "main": "index.js", "repository": { diff --git a/packages/utils/hash/package.json b/packages/utils/hash/package.json index 2eca676a409..7fd3fc0bd9a 100644 --- a/packages/utils/hash/package.json +++ b/packages/utils/hash/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/hash", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "main": "index.js", "browser": "browser.js", diff --git a/packages/utils/node-libs-browser/package.json b/packages/utils/node-libs-browser/package.json index ea649e1d046..1bb76f32dc9 100755 --- a/packages/utils/node-libs-browser/package.json +++ b/packages/utils/node-libs-browser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-libs-browser", - "version": "2.1.1", + "version": "2.2.0", "author": "Tobias Koppers @sokra", "description": "The node core libs for in browser usage.", "license": "MIT", diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index 17db4ec20a1..d6442b5afb4 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-resolver-core", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -19,9 +19,9 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/node-libs-browser": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/diagnostic": "^2.2.0", + "@parcel/node-libs-browser": "^2.2.0", + "@parcel/utils": "^2.2.0", "micromatch": "^4.0.4", "nullthrows": "^1.1.1" } diff --git a/packages/utils/service-worker/package.json b/packages/utils/service-worker/package.json index 195201c3886..1b1f6740aef 100644 --- a/packages/utils/service-worker/package.json +++ b/packages/utils/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/service-worker", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,6 +18,6 @@ "sideEffects": false, "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" } } diff --git a/packages/utils/ts-utils/package.json b/packages/utils/ts-utils/package.json index be487c18d72..516169c84ca 100644 --- a/packages/utils/ts-utils/package.json +++ b/packages/utils/ts-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-utils", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index 31a1c338d67..aa0fb3d5b5d 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-eslint", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/EslintValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/plugin": "^2.1.1", - "@parcel/utils": "^2.1.1", + "@parcel/plugin": "^2.2.0", + "@parcel/utils": "^2.2.0", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/validators/typescript/package.json b/packages/validators/typescript/package.json index cfab2259047..0fc9dc5a99f 100644 --- a/packages/validators/typescript/package.json +++ b/packages/validators/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-typescript", - "version": "2.1.1", + "version": "2.2.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/TypeScriptValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.1.1" + "parcel": "^2.2.0" }, "dependencies": { - "@parcel/diagnostic": "^2.1.1", - "@parcel/plugin": "^2.1.1", - "@parcel/ts-utils": "^2.1.1", - "@parcel/types": "^2.1.1", - "@parcel/utils": "^2.1.1" + "@parcel/diagnostic": "^2.2.0", + "@parcel/plugin": "^2.2.0", + "@parcel/ts-utils": "^2.2.0", + "@parcel/types": "^2.2.0", + "@parcel/utils": "^2.2.0" }, "devDependencies": { "typescript": ">=3.0.0" From 0cf11f7bac00b2e17936c7ee8f00166858f12697 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Mon, 17 Jan 2022 11:28:19 -0500 Subject: [PATCH 0184/1076] CSS fixes and dependency upgrades (#7564) --- package.json | 2 +- packages/core/core/package.json | 2 +- .../core/core/src/requests/TargetRequest.js | 30 +- packages/core/core/test/TargetRequest.test.js | 44 +- packages/core/integration-tests/package.json | 12 +- packages/core/integration-tests/test/css.js | 38 +- packages/core/integration-tests/test/html.js | 4 +- .../test/integration/css-nesting/a.css | 7 + .../test/integration/css-nesting/package.json | 7 + .../test/integration/css-nesting/yarn.lock | 0 .../integration/vue-functional/functional.vue | 15 - .../core/integration-tests/test/javascript.js | 6 +- .../core/integration-tests/test/postcss.js | 2 +- packages/core/integration-tests/test/sass.js | 6 +- .../core/integration-tests/test/svg-react.js | 2 +- packages/core/integration-tests/test/svg.js | 4 +- packages/core/integration-tests/test/vue.js | 15 - .../package-manager/src/NodeResolverBase.js | 1 + packages/core/test-utils/src/utils.js | 3 + packages/core/utils/package.json | 2 +- packages/optimizers/css/package.json | 2 +- packages/optimizers/cssnano/package.json | 4 +- packages/optimizers/htmlnano/package.json | 2 +- packages/packagers/css/package.json | 2 +- packages/reporters/dev-server/package.json | 2 +- packages/transformers/babel/package.json | 2 +- .../css-experimental/package.json | 2 +- packages/transformers/css/package.json | 7 +- .../transformers/css/src/CSSTransformer.js | 7 +- packages/transformers/json/package.json | 2 +- packages/transformers/jsonld/package.json | 2 +- packages/transformers/postcss/package.json | 7 +- .../postcss/src/PostCSSTransformer.js | 2 +- packages/transformers/sugarss/package.json | 2 +- packages/transformers/svg-react/package.json | 8 +- .../svg-react/src/SvgReactTransformer.js | 4 +- packages/transformers/vue/package.json | 4 +- yarn.lock | 2455 +++++++---------- 38 files changed, 1190 insertions(+), 1528 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/css-nesting/a.css create mode 100644 packages/core/integration-tests/test/integration/css-nesting/package.json create mode 100644 packages/core/integration-tests/test/integration/css-nesting/yarn.lock delete mode 100755 packages/core/integration-tests/test/integration/vue-functional/functional.vue diff --git a/package.json b/package.json index 784c25bcc6e..98821613a59 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "gulp": "^4.0.2", "gulp-babel": "^8.0.0", "husky": "^6.0.0", - "lerna": "^3.3.2", + "lerna": "^3.22.1", "lint-staged": "^10.2.11", "mocha": "^8.3.0", "mocha-junit-reporter": "^2.0.0", diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 8e0b579d22a..2beea9c0da4 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -44,7 +44,7 @@ "dotenv": "^7.0.0", "dotenv-expand": "^5.1.0", "json-source-map": "^0.6.1", - "json5": "^1.0.1", + "json5": "^2.2.0", "micromatch": "^4.0.2", "msgpackr": "^1.5.1", "nullthrows": "^1.1.1", diff --git a/packages/core/core/src/requests/TargetRequest.js b/packages/core/core/src/requests/TargetRequest.js index e4ed1429dde..8a1f204a034 100644 --- a/packages/core/core/src/requests/TargetRequest.js +++ b/packages/core/core/src/requests/TargetRequest.js @@ -74,6 +74,16 @@ const COMMON_TARGETS = { }, }; +const DEFAULT_ENGINES = { + node: 'current', + browsers: [ + 'last 1 Chrome version', + 'last 1 Safari version', + 'last 1 Firefox version', + 'last 1 Edge version', + ], +}; + export type TargetRequest = {| id: string, +type: 'target_request', @@ -317,7 +327,9 @@ export class TargetResolver { publicUrl: this.options.defaultTargetOptions.publicUrl ?? '/', env: createEnvironment({ context: 'browser', - engines: {}, + engines: { + browsers: DEFAULT_ENGINES.browsers, + }, shouldOptimize: this.options.defaultTargetOptions.shouldOptimize, outputFormat: this.options.defaultTargetOptions.outputFormat, shouldScopeHoist: @@ -473,23 +485,15 @@ export class TargetResolver { let defaultEngines = this.options.defaultTargetOptions.engines; let context = browsers ?? !node ? 'browser' : 'node'; - if ( - context === 'browser' && - pkgEngines.browsers == null && - defaultEngines?.browsers != null - ) { + if (context === 'browser' && pkgEngines.browsers == null) { pkgEngines = { ...pkgEngines, - browsers: defaultEngines.browsers, + browsers: defaultEngines?.browsers ?? DEFAULT_ENGINES.browsers, }; - } else if ( - context === 'node' && - pkgEngines.node == null && - defaultEngines?.node != null - ) { + } else if (context === 'node' && pkgEngines.node == null) { pkgEngines = { ...pkgEngines, - node: defaultEngines.node, + node: defaultEngines?.node ?? DEFAULT_ENGINES.node, }; } diff --git a/packages/core/core/test/TargetRequest.test.js b/packages/core/core/test/TargetRequest.test.js index 623c715ea45..63205e98cf2 100644 --- a/packages/core/core/test/TargetRequest.test.js +++ b/packages/core/core/test/TargetRequest.test.js @@ -675,9 +675,16 @@ describe('TargetResolver', () => { distEntry: 'index.js', publicUrl: '/', env: { - id: 'bebcf0293c911f03', + id: '6aafdb9eaa4a3812', context: 'node', - engines: {}, + engines: { + browsers: [ + 'last 1 Chrome version', + 'last 1 Safari version', + 'last 1 Firefox version', + 'last 1 Edge version', + ], + }, includeNodeModules: false, isLibrary: true, outputFormat: 'commonjs', @@ -1046,9 +1053,16 @@ describe('TargetResolver', () => { distEntry: 'index.mjs', publicUrl: '/', env: { - id: 'fa77701547623794', + id: '439701173a9199ea', context: 'browser', - engines: {}, + engines: { + browsers: [ + 'last 1 Chrome version', + 'last 1 Safari version', + 'last 1 Firefox version', + 'last 1 Edge version', + ], + }, includeNodeModules: true, outputFormat: 'esmodule', isLibrary: false, @@ -1084,9 +1098,16 @@ describe('TargetResolver', () => { distEntry: 'index.js', publicUrl: '/', env: { - id: 'fa77701547623794', + id: '439701173a9199ea', context: 'browser', - engines: {}, + engines: { + browsers: [ + 'last 1 Chrome version', + 'last 1 Safari version', + 'last 1 Firefox version', + 'last 1 Edge version', + ], + }, includeNodeModules: true, outputFormat: 'esmodule', isLibrary: false, @@ -1208,9 +1229,16 @@ describe('TargetResolver', () => { distDir: '.parcel-cache/dist', publicUrl: '/', env: { - id: '4a236f9275d0a351', + id: 'd6ea1d42532a7575', context: 'browser', - engines: {}, + engines: { + browsers: [ + 'last 1 Chrome version', + 'last 1 Safari version', + 'last 1 Firefox version', + 'last 1 Edge version', + ], + }, includeNodeModules: true, outputFormat: 'global', isLibrary: false, diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index 8ec3e68a87f..d87d57c9b57 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -32,10 +32,10 @@ "exif-reader": "^1.0.3", "get-port": "^5.0.0", "graphql": "^15.0.0", - "http-proxy-middleware": "^1.0.0", + "http-proxy-middleware": "^2.0.1", "js-yaml": "^4.0.0", - "jsdom": "^15.2.1", - "json5": "^1.0.1", + "jsdom": "^19.0.0", + "json5": "^2.2.0", "kotlin": "^1.3.11", "lodash": "^4.17.15", "marked": "^0.6.1", @@ -43,10 +43,10 @@ "nib": "^1.1.2", "node-elm-compiler": "^5.0.5", "parcel": "^2.2.0", - "postcss": "^8.3.0", - "postcss-custom-properties": "^11.0.0", + "postcss": "^8.4.5", + "postcss-custom-properties": "^12.1.2", "postcss-import": "^14.0.2", - "posthtml-include": "^1.7.1", + "posthtml-include": "^1.7.2", "posthtml-obfuscate": "^0.1.5", "preact": "^10.5.9", "react": "^17.0.2", diff --git a/packages/core/integration-tests/test/css.js b/packages/core/integration-tests/test/css.js index 2b4d1d2fad2..45e575a0874 100644 --- a/packages/core/integration-tests/test/css.js +++ b/packages/core/integration-tests/test/css.js @@ -163,17 +163,20 @@ describe('css', () => { path.join(distDir, 'index.css'), 'utf8', ); - assert(/url\(test\.[0-9a-f]+\.woff2\)/.test(css)); - assert(css.includes('url(http://google.com)')); + assert(/url\("test\.[0-9a-f]+\.woff2"\)/.test(css)); + assert(css.includes('url("http://google.com")')); assert(css.includes('.index')); - assert(css.includes('url(data:image/gif;base64,quotes)')); + assert(css.includes('url("data:image/gif;base64,quotes")')); assert(css.includes('.quotes')); - assert(css.includes('url(data:image/gif;base64,no-quote)')); + assert(css.includes('url("data:image/gif;base64,no-quote")')); assert(css.includes('.no-quote')); assert( await outputFS.exists( - path.join(distDir, css.match(/url\((test\.[0-9a-f]+\.woff2)\)/)[1]), + path.join( + distDir, + css.match(/url\("(test\.[0-9a-f]+\.woff2)"\)/)[1], + ), ), ); }); @@ -217,9 +220,9 @@ describe('css', () => { ); assert(css.includes('url(http://google.com)'), 'url() found'); assert(css.includes('.index'), '.index found'); - assert(css.includes('url(data:image/gif;base64,quotes)')); + assert(/url\("?data:image\/gif;base64,quotes"?\)/.test(css)); assert(css.includes('.quotes')); - assert(css.includes('url(data:image/gif;base64,no-quote)')); + assert(/url\("?data:image\/gif;base64,no-quote"?\)/.test(css)); assert(css.includes('.no-quote')); assert( @@ -362,7 +365,7 @@ describe('css', () => { assert.equal( css.trim(), `.svg-img { - background-image: url(data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%3E%3C%2FfeGaussianBlur%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%27%23blur-_.%21~%2a%27%29%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A); + background-image: url("data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%3E%3C%2FfeGaussianBlur%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%27%23blur-_.%21~%2a%27%29%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A"); }`, ); }); @@ -375,7 +378,7 @@ describe('css', () => { ); assert( css.startsWith(`.webp-img { - background-image: url(data:image/webp;base64,UklGR`), + background-image: url("data:image/webp;base64,UklGR`), ); }); @@ -466,4 +469,21 @@ describe('css', () => { }); }); } + + it('should support css nesting with @parcel/css', async function () { + let b = await originalBundle( + path.join(__dirname, '/integration/css-nesting/a.css'), + { + defaultConfig: + path.dirname(require.resolve('@parcel/test-utils')) + + '/.parcelrc-css', + defaultTargetOptions: { + engines: {}, + }, + }, + ); + + let res = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert(res.includes('.foo.bar')); + }); }); diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index 832f24bbd5f..ec1c8e74ef7 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -615,7 +615,7 @@ describe('html', function () { ); // mergeStyles - assert(html.includes('')); + assert(html.includes('')); assert(!html.includes('sourceMappingURL')); @@ -943,7 +943,7 @@ describe('html', function () { let contents = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); assert( contents.includes( - '', + '', ), ); }); diff --git a/packages/core/integration-tests/test/integration/css-nesting/a.css b/packages/core/integration-tests/test/integration/css-nesting/a.css new file mode 100644 index 00000000000..7d34b2a1a7c --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-nesting/a.css @@ -0,0 +1,7 @@ +.foo { + color: red; + + &.bar { + color: blue; + } +} diff --git a/packages/core/integration-tests/test/integration/css-nesting/package.json b/packages/core/integration-tests/test/integration/css-nesting/package.json new file mode 100644 index 00000000000..142881045ae --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-nesting/package.json @@ -0,0 +1,7 @@ +{ + "@parcel/transformer-css": { + "drafts": { + "nesting": true + } + } +} diff --git a/packages/core/integration-tests/test/integration/css-nesting/yarn.lock b/packages/core/integration-tests/test/integration/css-nesting/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/vue-functional/functional.vue b/packages/core/integration-tests/test/integration/vue-functional/functional.vue deleted file mode 100755 index 92ced40c845..00000000000 --- a/packages/core/integration-tests/test/integration/vue-functional/functional.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index af5963efeb5..dda211e5016 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -4108,7 +4108,7 @@ describe('javascript', function () { } .svg-img { - background-image: url(data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A); + background-image: url("data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A"); }`, ), ); @@ -4150,7 +4150,7 @@ describe('javascript', function () { } .svg-img { - background-image: url(data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A); + background-image: url("data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A"); }`, ), ); @@ -4238,7 +4238,7 @@ describe('javascript', function () { } .svg-img { - background-image: url(data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A); + background-image: url("data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A"); }`, ), ); diff --git a/packages/core/integration-tests/test/postcss.js b/packages/core/integration-tests/test/postcss.js index 6067eaac8aa..877f64be089 100644 --- a/packages/core/integration-tests/test/postcss.js +++ b/packages/core/integration-tests/test/postcss.js @@ -66,7 +66,7 @@ describe('postcss', () => { let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(css.includes('url(data:image/gif;base64,quotes)')); + assert(css.includes('url("data:image/gif;base64,quotes")')); }); it('should automatically install postcss plugins if needed', async () => { diff --git a/packages/core/integration-tests/test/sass.js b/packages/core/integration-tests/test/sass.js index 136dab9c3d9..6d6b0426207 100644 --- a/packages/core/integration-tests/test/sass.js +++ b/packages/core/integration-tests/test/sass.js @@ -132,13 +132,13 @@ describe('sass', function () { assert.equal(output(), 2); let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); - assert(/url\(test\.[0-9a-f]+\.woff2\)/.test(css)); - assert(css.includes('url(http://google.com)')); + assert(/url\("test\.[0-9a-f]+\.woff2"\)/.test(css)); + assert(css.includes('url("http://google.com")')); assert(css.includes('.index')); assert( await outputFS.exists( - path.join(distDir, css.match(/url\((test\.[0-9a-f]+\.woff2)\)/)[1]), + path.join(distDir, css.match(/url\("(test\.[0-9a-f]+\.woff2)"\)/)[1]), ), ); }); diff --git a/packages/core/integration-tests/test/svg-react.js b/packages/core/integration-tests/test/svg-react.js index 0ae957aa498..2a625577767 100644 --- a/packages/core/integration-tests/test/svg-react.js +++ b/packages/core/integration-tests/test/svg-react.js @@ -16,7 +16,7 @@ describe('svg-react', function () { let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf-8'); assert(!file.includes('inkscape')); - assert(file.includes('function SvgIcon')); + assert(file.includes('const SvgIcon =')); assert(file.includes('_react.createElement("svg"')); }); }); diff --git a/packages/core/integration-tests/test/svg.js b/packages/core/integration-tests/test/svg.js index a609b08311a..dd44e8dd6ec 100644 --- a/packages/core/integration-tests/test/svg.js +++ b/packages/core/integration-tests/test/svg.js @@ -189,9 +189,9 @@ describe('svg', function () { assert(svg.includes(':root {\n fill: red;\n}')); assert( svg.includes( - `"fill: url(${path.basename( + `"fill: url("${path.basename( b.getBundles().find(b => b.name.startsWith('gradient')).filePath, - )}#myGradient)"`, + )}#myGradient")`, ), ); assert(svg.includes(' + \ No newline at end of file diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index 4022a0467de..58ba9bd4cea 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -223,9 +223,15 @@ pub fn transform(config: Config) -> Result { let should_inline_fs = config.inline_fs && config.source_type != SourceType::Script && code.contains("readFileSync"); + let should_import_swc_helpers = match config.source_type { + SourceType::Module => true, + SourceType::Script => false, + }; swc_common::GLOBALS.set(&Globals::new(), || { helpers::HELPERS.set( - &helpers::Helpers::new(/* external helpers from @swc/helpers */ true), + &helpers::Helpers::new( + /* external helpers from @swc/helpers */ should_import_swc_helpers, + ), || { let mut react_options = react::Options::default(); if config.is_jsx { From 0de73727ac92ac45f01595a5d27bd354c6edca4b Mon Sep 17 00:00:00 2001 From: Petter Date: Wed, 26 Jan 2022 05:25:56 +0100 Subject: [PATCH 0189/1076] Update pnpm to allow installing dependencies in a monorepo (#7566) As with Yarn 2, PNPM needs the -W parameter to install packages in root. --- packages/core/package-manager/src/Pnpm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package-manager/src/Pnpm.js b/packages/core/package-manager/src/Pnpm.js index 163f7207bb3..ef61ff2673d 100644 --- a/packages/core/package-manager/src/Pnpm.js +++ b/packages/core/package-manager/src/Pnpm.js @@ -84,7 +84,7 @@ export class Pnpm implements PackageInstaller { }: InstallerOptions): Promise { let args = ['add', '--reporter', 'ndjson']; if (saveDev) { - args.push('-D'); + args.push('-D', '-W'); } args = args.concat(modules.map(npmSpecifierFromModuleRequest)); From 4cbda874cf3dfde4ffc2772d9e2012b3ef747b69 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 27 Jan 2022 10:47:06 -0500 Subject: [PATCH 0190/1076] Reduce the number of npm dependencies needed by parcel (#7576) --- flow-libs/babel-core.js.flow | 1 + gulpfile.js | 10 +- package.json | 5 +- packages/core/codeframe/package.json | 15 +- packages/core/core/package.json | 1 - packages/core/core/src/ParcelConfig.js | 4 +- .../core/core/src/requests/TargetRequest.js | 6 +- packages/core/fs/package.json | 32 +- packages/core/fs/src/NodeFS.js | 31 +- packages/core/integration-tests/package.json | 1 - packages/core/integration-tests/test/babel.js | 1 + packages/core/package-manager/package.json | 19 +- packages/core/parcel/src/bin.js | 5 +- packages/core/utils/package.json | 25 +- packages/core/utils/src/config.js | 4 +- packages/core/utils/src/glob.js | 17 +- packages/core/utils/src/index.js | 2 +- packages/dev/babel-preset/index.js | 83 ++-- packages/packagers/css/package.json | 4 +- packages/packagers/css/src/CSSPackager.js | 12 +- packages/reporters/cli/package.json | 14 +- packages/reporters/dev-server/package.json | 18 +- .../resolvers/default/src/DefaultResolver.js | 7 +- packages/resolvers/glob/package.json | 1 - packages/resolvers/glob/src/GlobResolver.js | 11 +- packages/shared/babel-ast-utils/package.json | 29 -- .../shared/babel-ast-utils/src/generator.js | 365 ------------------ packages/shared/babel-ast-utils/src/index.js | 196 ---------- .../babel-ast-utils/test/fixtures/array.js | 4 - .../babel-ast-utils/test/fixtures/async.js | 17 - .../babel-ast-utils/test/fixtures/call.js | 16 - .../babel-ast-utils/test/fixtures/class.js | 40 -- .../babel-ast-utils/test/fixtures/control.js | 38 -- .../babel-ast-utils/test/fixtures/error.js | 13 - .../test/fixtures/export-class.js | 1 - .../test/fixtures/export-function.js | 1 - .../babel-ast-utils/test/fixtures/export.js | 11 - .../babel-ast-utils/test/fixtures/function.js | 53 --- .../babel-ast-utils/test/fixtures/import.js | 8 - .../babel-ast-utils/test/fixtures/literal.js | 6 - .../babel-ast-utils/test/fixtures/loop.js | 21 - .../babel-ast-utils/test/fixtures/number.js | 3 - .../babel-ast-utils/test/fixtures/object.js | 30 -- .../test/fixtures/operators.js | 33 -- .../test/fixtures/precedence.js | 34 -- .../babel-ast-utils/test/fixtures/sequence.js | 4 - .../babel-ast-utils/test/fixtures/template.js | 10 - .../test/fixtures/valid-only.js | 10 - .../babel-ast-utils/test/fixtures/variable.js | 11 - packages/shared/babel-ast-utils/test/index.js | 42 -- packages/transformers/babel/package.json | 8 +- .../babel/src/BabelTransformer.js | 19 +- .../transformers/babel/src/astConverter.js | 102 ----- packages/transformers/babel/src/babel7.js | 22 +- .../babel}/src/babelErrorUtils.js | 0 packages/transformers/babel/src/config.js | 18 +- packages/transformers/babel/src/constants.js | 2 +- packages/transformers/babel/src/flow.js | 32 +- .../babel/src/remapAstLocations.js | 70 ++++ packages/transformers/babel/src/utils.js | 17 +- packages/transformers/js/package.json | 1 - packages/transformers/js/src/JSTransformer.js | 5 +- packages/transformers/postcss/package.json | 1 - .../postcss/src/PostCSSTransformer.js | 23 +- packages/utils/babylon-walk/LICENSE.md | 7 - packages/utils/babylon-walk/README.md | 135 ------- packages/utils/babylon-walk/package.json | 28 -- packages/utils/babylon-walk/src/explode.js | 191 --------- packages/utils/babylon-walk/src/index.js | 137 ------- packages/utils/babylon-walk/src/scope.js | 231 ----------- .../utils/babylon-walk/src/traverse-all.js | 24 -- packages/utils/babylon-walk/src/traverse.js | 98 ----- packages/utils/babylon-walk/src/traverse2.js | 162 -------- packages/utils/babylon-walk/src/types.js | 337 ---------------- .../utils/fs-write-stream-atomic/index.js | 20 +- .../utils/fs-write-stream-atomic/package.json | 3 +- packages/utils/node-libs-browser/LICENSE | 22 -- packages/utils/node-libs-browser/index.js | 40 -- packages/utils/node-libs-browser/package.json | 46 --- .../utils/node-resolver-core/package.json | 26 +- .../node-resolver-core/src/NodeResolver.js | 86 ++++- .../utils/node-resolver-core/src/builtins.js | 29 +- .../utils/node-resolver-core/test/resolver.js | 8 +- yarn.lock | 22 +- 84 files changed, 565 insertions(+), 2732 deletions(-) delete mode 100644 packages/shared/babel-ast-utils/package.json delete mode 100644 packages/shared/babel-ast-utils/src/generator.js delete mode 100644 packages/shared/babel-ast-utils/src/index.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/array.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/async.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/call.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/class.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/control.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/error.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/export-class.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/export-function.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/export.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/function.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/import.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/literal.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/loop.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/number.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/object.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/operators.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/precedence.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/sequence.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/template.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/valid-only.js delete mode 100644 packages/shared/babel-ast-utils/test/fixtures/variable.js delete mode 100644 packages/shared/babel-ast-utils/test/index.js delete mode 100644 packages/transformers/babel/src/astConverter.js rename packages/{shared/babel-ast-utils => transformers/babel}/src/babelErrorUtils.js (100%) create mode 100644 packages/transformers/babel/src/remapAstLocations.js delete mode 100755 packages/utils/babylon-walk/LICENSE.md delete mode 100755 packages/utils/babylon-walk/README.md delete mode 100755 packages/utils/babylon-walk/package.json delete mode 100755 packages/utils/babylon-walk/src/explode.js delete mode 100755 packages/utils/babylon-walk/src/index.js delete mode 100644 packages/utils/babylon-walk/src/scope.js delete mode 100644 packages/utils/babylon-walk/src/traverse-all.js delete mode 100644 packages/utils/babylon-walk/src/traverse.js delete mode 100644 packages/utils/babylon-walk/src/traverse2.js delete mode 100644 packages/utils/babylon-walk/src/types.js delete mode 100755 packages/utils/node-libs-browser/LICENSE delete mode 100755 packages/utils/node-libs-browser/index.js delete mode 100755 packages/utils/node-libs-browser/package.json diff --git a/flow-libs/babel-core.js.flow b/flow-libs/babel-core.js.flow index cc1011e57ac..f98e134ada5 100644 --- a/flow-libs/babel-core.js.flow +++ b/flow-libs/babel-core.js.flow @@ -171,4 +171,5 @@ declare module "@babel/core" { | [string | { ... } | Function, { ... } | void], {| dirname?: string, type?: "preset" | "plugin" |} ): ConfigItem; + declare export * as types from "@babel/types"; } diff --git a/gulpfile.js b/gulpfile.js index 6b99bcdf9bd..d369fe0b685 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -12,7 +12,15 @@ const IGNORED_PACKAGES = [ '!packages/core/is-v2-ready-yet/**', '!packages/core/test-utils/**', '!packages/core/types/**', - '!packages/utils/node-libs-browser/**', + + // These packages are bundled. + '!packages/core/codeframe/**', + '!packages/core/fs/**', + '!packages/core/package-manager/**', + '!packages/core/utils/**', + '!packages/reporters/cli/**', + '!packages/reporters/dev-server/**', + '!packages/utils/fs-write-stream-atomic/**', ]; const paths = { diff --git a/package.json b/package.json index 98821613a59..45df7bd70a8 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ "packages/*/*" ], "scripts": { - "build": "cross-env NODE_ENV=production PARCEL_BUILD_ENV=production gulp", + "build": "yarn build-bundles && cross-env NODE_ENV=production PARCEL_BUILD_ENV=production gulp", + "build-bundles": "rm -rf packages/*/*/lib && cross-env NODE_ENV=production PARCEL_BUILD_ENV=production PARCEL_SELF_BUILD=true parcel build packages/core/{fs,codeframe,package-manager,utils} packages/reporters/{cli,dev-server}", "build-ts": "lerna run build-ts && lerna run check-ts", "build-native": "node scripts/build-native.js", "build-native-release": "node scripts/build-native.js --release", @@ -52,7 +53,7 @@ "mocha-junit-reporter": "^2.0.0", "mocha-multi-reporters": "^1.5.1", "prettier": "2.4.1", - "rimraf": "^2.6.3", + "rimraf": "^3.0.2", "semver": "^5.7.1", "sinon": "^7.3.1" }, diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index 036fbc90550..f708685cab9 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -19,13 +19,20 @@ "engines": { "node": ">= 12.0.0" }, + "targets": { + "main": { + "includeNodeModules": { + "chalk": false + } + } + }, "dependencies": { - "chalk": "^4.1.0", + "chalk": "^4.1.0" + }, + "devDependencies": { "emphasize": "^4.2.0", "slice-ansi": "^4.0.0", + "strip-ansi": "^6.0.0", "string-width": "^4.2.0" - }, - "devDependencies": { - "strip-ansi": "^6.0.0" } } diff --git a/packages/core/core/package.json b/packages/core/core/package.json index cd6c0f117d2..a2bbe02e436 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -45,7 +45,6 @@ "dotenv-expand": "^5.1.0", "json-source-map": "^0.6.1", "json5": "^2.2.0", - "micromatch": "^4.0.2", "msgpackr": "^1.5.1", "nullthrows": "^1.1.1", "semver": "^5.7.1" diff --git a/packages/core/core/src/ParcelConfig.js b/packages/core/core/src/ParcelConfig.js index 2ace49e0344..cec4ebd4f0a 100644 --- a/packages/core/core/src/ParcelConfig.js +++ b/packages/core/core/src/ParcelConfig.js @@ -29,7 +29,7 @@ import ThrowableDiagnostic, { } from '@parcel/diagnostic'; import json5 from 'json5'; -import {makeRe} from 'micromatch'; +import {globToRegex} from '@parcel/utils'; import {basename} from 'path'; import loadPlugin from './loadParcelPlugin'; import { @@ -347,7 +347,7 @@ export default class ParcelConfig { let re = this.regexCache.get(patternGlob); if (!re) { - re = makeRe(patternGlob, {dot: true, nocase: true}); + re = globToRegex(patternGlob, {dot: true, nocase: true}); this.regexCache.set(patternGlob, re); } diff --git a/packages/core/core/src/requests/TargetRequest.js b/packages/core/core/src/requests/TargetRequest.js index 8a1f204a034..7656169a806 100644 --- a/packages/core/core/src/requests/TargetRequest.js +++ b/packages/core/core/src/requests/TargetRequest.js @@ -18,6 +18,7 @@ import type {ConfigAndCachePath} from './ParcelConfigRequest'; import ThrowableDiagnostic, { generateJSONCodeHighlights, getJSONSourceLocation, + encodeJSONKeyComponent, md, } from '@parcel/diagnostic'; import path from 'path'; @@ -503,11 +504,12 @@ export class TargetResolver { if ( targetName === 'browser' && pkg[targetName] != null && - typeof pkg[targetName] === 'object' + typeof pkg[targetName] === 'object' && + pkg.name ) { // The `browser` field can be a file path or an alias map. _targetDist = pkg[targetName][pkg.name]; - pointer = `/${targetName}/${pkg.name}`; + pointer = `/${targetName}/${encodeJSONKeyComponent(pkg.name)}`; } else { _targetDist = pkg[targetName]; pointer = `/${targetName}`; diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index 9770673fbd1..a95281b30b6 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -20,28 +20,52 @@ "engines": { "node": ">= 12.0.0" }, + "targets": { + "types": false, + "main": { + "includeNodeModules": { + "@parcel/core": false, + "@parcel/fs-search": false, + "@parcel/types": false, + "@parcel/utils": false, + "@parcel/watcher": false, + "@parcel/workers": false + } + }, + "browser": { + "includeNodeModules": { + "@parcel/core": false, + "@parcel/fs-search": false, + "@parcel/types": false, + "@parcel/utils": false, + "@parcel/watcher": false, + "@parcel/workers": false + } + } + }, "scripts": { "build-ts": "mkdir -p lib && flow-to-ts src/types.js > lib/types.d.ts", "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { "@parcel/fs-search": "^2.2.1", - "@parcel/fs-write-stream-atomic": "^2.2.1", "@parcel/types": "^2.2.1", "@parcel/utils": "^2.2.1", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "^2.2.1", + "@parcel/workers": "^2.2.1" + }, + "devDependencies": { + "@parcel/fs-write-stream-atomic": "^2.2.1", "graceful-fs": "^4.2.4", - "mkdirp": "^0.5.1", "ncp": "^2.0.0", "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", "utility-types": "^3.10.0" }, "peerDependencies": { "@parcel/core": "^2.2.1" }, "browser": { + "@parcel/fs": "./lib/browser.js", "./src/NodeFS.js": "./src/NodeFS.browser.js" } } diff --git a/packages/core/fs/src/NodeFS.js b/packages/core/fs/src/NodeFS.js index a6e9a428336..60be6425f35 100644 --- a/packages/core/fs/src/NodeFS.js +++ b/packages/core/fs/src/NodeFS.js @@ -10,9 +10,8 @@ import type { } from '@parcel/watcher'; import fs from 'graceful-fs'; +import nativeFS from 'fs'; import ncp from 'ncp'; -import mkdirp from 'mkdirp'; -import rimraf from 'rimraf'; import {promisify} from 'util'; import {registerSerializableClass} from '@parcel/core'; import fsWriteStreamAtomic from '@parcel/fs-write-stream-atomic'; @@ -37,8 +36,6 @@ export class NodeFS implements FileSystem { readdir: any = promisify(fs.readdir); unlink: any = promisify(fs.unlink); utimes: any = promisify(fs.utimes); - mkdirp: any = promisify(mkdirp); - rimraf: any = promisify(rimraf); ncp: any = promisify(ncp); createReadStream: (path: string, options?: any) => ReadStream = fs.createReadStream; @@ -133,6 +130,32 @@ export class NodeFS implements FileSystem { serialize(): null { return null; } + + async mkdirp(filePath: FilePath): Promise { + await nativeFS.promises.mkdir(filePath, {recursive: true}); + } + + async rimraf(filePath: FilePath): Promise { + if (fs.promises.rm) { + await fs.promises.rm(filePath, {recursive: true, force: true}); + return; + } + + // fs.promises.rm is not supported in node 12... + let stat; + try { + stat = await this.stat(filePath); + } catch (err) { + return; + } + + if (stat.isDirectory()) { + // $FlowFixMe + await nativeFS.promises.rmdir(filePath, {recursive: true}); + } else { + await nativeFS.promises.unlink(filePath); + } + } } registerSerializableClass(`${packageJSON.version}:NodeFS`, NodeFS); diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index ae53513cee3..b66af3d4a69 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -51,7 +51,6 @@ "preact": "^10.5.9", "react": "^17.0.2", "react-dom": "^17.0.2", - "rimraf": "^2.6.1", "sugarss": "^3.0.3", "tailwindcss": "^3.0.2", "tempy": "^0.3.0", diff --git a/packages/core/integration-tests/test/babel.js b/packages/core/integration-tests/test/babel.js index 53c2f3d912a..2f064fa8d90 100644 --- a/packages/core/integration-tests/test/babel.js +++ b/packages/core/integration-tests/test/babel.js @@ -395,6 +395,7 @@ describe('babel', function () { let distFile = await fs.readFile(path.join(distDir, 'index.js'), 'utf8'); assert(distFile.includes('hello there')); await fs.copyFile(differentPath, configPath); + await new Promise(resolve => setTimeout(resolve, 100)); // On Windows only, `fs.utimes` arguments must be instances of `Date`, // otherwise it fails. For Mac instances on Azure CI, using a Date instance // does not update the utime correctly, so for all other platforms, use a diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index ed0b524b2ad..cf56116f851 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -24,6 +24,21 @@ "build-ts": "mkdir -p lib && flow-to-ts src/types.js > lib/types.d.ts", "check-ts": "tsc --noEmit index.d.ts" }, + "targets": { + "types": false, + "main": { + "includeNodeModules": { + "@parcel/core": false, + "@parcel/diagnostic": false, + "@parcel/fs": false, + "@parcel/logger": false, + "@parcel/types": false, + "@parcel/utils": false, + "@parcel/workers": false, + "semver": false + } + } + }, "dependencies": { "@parcel/diagnostic": "^2.2.1", "@parcel/fs": "^2.2.1", @@ -31,10 +46,12 @@ "@parcel/types": "^2.2.1", "@parcel/utils": "^2.2.1", "@parcel/workers": "^2.2.1", + "semver": "^5.7.1" + }, + "devDependencies": { "command-exists": "^1.2.6", "cross-spawn": "^6.0.4", "nullthrows": "^1.1.1", - "semver": "^5.7.1", "split2": "^3.1.1" }, "peerDependencies": { diff --git a/packages/core/parcel/src/bin.js b/packages/core/parcel/src/bin.js index 28297a779ec..8f881fb8ed6 100755 --- a/packages/core/parcel/src/bin.js +++ b/packages/core/parcel/src/bin.js @@ -2,7 +2,10 @@ 'use strict'; -if (process.env.PARCEL_BUILD_ENV !== 'production') { +if ( + process.env.PARCEL_BUILD_ENV !== 'production' || + process.env.PARCEL_SELF_BUILD +) { require('@parcel/babel-register'); } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index a6b2ee75845..eb1881b4599 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -19,16 +19,32 @@ "engines": { "node": ">= 12.0.0" }, + "targets": { + "main": { + "includeNodeModules": { + "@parcel/codeframe": false, + "@parcel/diagnostic": false, + "@parcel/hash": false, + "@parcel/logger": false, + "@parcel/markdown-ansi": false, + "@parcel/source-map": false, + "chalk": false + } + } + }, "dependencies": { - "@iarna/toml": "^2.2.0", "@parcel/codeframe": "^2.2.1", "@parcel/diagnostic": "^2.2.1", "@parcel/hash": "^2.2.1", "@parcel/logger": "^2.2.1", "@parcel/markdown-ansi": "^2.2.1", "@parcel/source-map": "^2.0.0", + "chalk": "^4.1.0" + }, + "devDependencies": { + "@babel/plugin-transform-flow-strip-types": "^7.2.0", + "@iarna/toml": "^2.2.0", "ansi-html-community": "0.0.8", - "chalk": "^4.1.0", "clone": "^2.1.1", "fast-glob": "3.1.1", "fastest-levenshtein": "^1.0.8", @@ -40,12 +56,9 @@ "node-forge": "^1.2.1", "nullthrows": "^1.1.1", "open": "^7.0.3", + "random-int": "^1.0.0", "terminal-link": "^2.1.1" }, - "devDependencies": { - "@babel/plugin-transform-flow-strip-types": "^7.2.0", - "random-int": "^1.0.0" - }, "browser": { "./src/generateCertificate.js": false, "./src/http-server.js": false, diff --git a/packages/core/utils/src/config.js b/packages/core/utils/src/config.js index 3c0d7e73158..0ae9aad9b9e 100644 --- a/packages/core/utils/src/config.js +++ b/packages/core/utils/src/config.js @@ -5,7 +5,7 @@ import type {FileSystem} from '@parcel/fs'; import ThrowableDiagnostic from '@parcel/diagnostic'; import path from 'path'; import clone from 'clone'; -import {parse as json5} from 'json5'; +import json5 from 'json5'; import {parse as toml} from '@iarna/toml'; import LRU from 'lru-cache'; @@ -154,6 +154,6 @@ function getParser(extname) { return toml; case 'json': default: - return json5; + return json5.parse; } } diff --git a/packages/core/utils/src/glob.js b/packages/core/utils/src/glob.js index b008830a03e..b842015f6fe 100644 --- a/packages/core/utils/src/glob.js +++ b/packages/core/utils/src/glob.js @@ -5,15 +5,26 @@ import type {FileSystem} from '@parcel/fs'; import _isGlob from 'is-glob'; import fastGlob, {type FastGlobOptions} from 'fast-glob'; -import {isMatch} from 'micromatch'; +import {isMatch, makeRe, type Options} from 'micromatch'; import {normalizeSeparators} from './path'; export function isGlob(p: FilePath): any { return _isGlob(normalizeSeparators(p)); } -export function isGlobMatch(filePath: FilePath, glob: Glob): any { - return isMatch(filePath, normalizeSeparators(glob)); +export function isGlobMatch( + filePath: FilePath, + glob: Glob | Array, + opts?: Options, +): any { + glob = Array.isArray(glob) + ? glob.map(normalizeSeparators) + : normalizeSeparators(glob); + return isMatch(filePath, glob, opts); +} + +export function globToRegex(glob: Glob, opts?: Options): RegExp { + return makeRe(glob, opts); } export function globSync( diff --git a/packages/core/utils/src/index.js b/packages/core/utils/src/index.js index c5aa3849bfc..4df6ac1adf0 100644 --- a/packages/core/utils/src/index.js +++ b/packages/core/utils/src/index.js @@ -41,7 +41,7 @@ export { export {resolveConfig, resolveConfigSync, loadConfig} from './config'; export {DefaultMap, DefaultWeakMap} from './DefaultMap'; export {makeDeferredWithPromise} from './Deferred'; -export {isGlob, isGlobMatch, globSync, glob} from './glob'; +export {isGlob, isGlobMatch, globSync, glob, globToRegex} from './glob'; export {hashStream, hashObject, hashFile} from './hash'; export {SharedBuffer} from './shared-buffer'; export {fuzzySearch} from './schema'; diff --git a/packages/dev/babel-preset/index.js b/packages/dev/babel-preset/index.js index eda7f0c3f05..45a6a82ae77 100644 --- a/packages/dev/babel-preset/index.js +++ b/packages/dev/babel-preset/index.js @@ -1,36 +1,63 @@ -module.exports = () => ({ - presets: [ - [ - require('@babel/preset-env'), - { - modules: false, - targets: { - node: 12, - }, - }, - ], - require('@babel/preset-react'), - require('@babel/preset-flow'), - ], - plugins: [ - [ - require('@babel/plugin-transform-modules-commonjs'), - { - lazy: true, - }, - ], - ], - env: { - production: { +module.exports = api => { + let name = api.caller(caller => caller && caller.name); + if (name === 'parcel') { + return { + presets: [require('@babel/preset-flow')], plugins: [ - // Inline the value of PARCEL_BUILD_ENV during production builds so that - // it can be removed through dead code elimination below + // Inline the value of PARCEL_BUILD_ENV during self builds. + // Parcel does not do this itself for node targets... [ 'babel-plugin-transform-inline-environment-variables', {include: ['PARCEL_BUILD_ENV']}, ], 'babel-plugin-minify-dead-code-elimination', ], + }; + } + + return { + presets: [ + [ + require('@babel/preset-env'), + { + modules: false, + targets: { + node: 12, + }, + }, + ], + require('@babel/preset-react'), + require('@babel/preset-flow'), + ], + plugins: [ + [ + require('@babel/plugin-transform-modules-commonjs'), + { + lazy: true, + }, + ], + ], + env: { + production: { + plugins: [ + // Inline the value of PARCEL_BUILD_ENV during production builds so that + // it can be removed through dead code elimination below + [ + 'babel-plugin-transform-inline-environment-variables', + { + include: [ + 'PARCEL_BUILD_ENV', + // Eliminate the PARCEL_SELF_BUILD environment variable to get + // rid of @babel/register in bin.js, when compiling with gulp. + ...(!process.env.PARCEL_SELF_BUILD + ? ['PARCEL_SELF_BUILD'] + : []), + ], + }, + ], + 'babel-plugin-minify-dead-code-elimination', + ], + }, }, - }, -}); + }; +}; diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index 58c45a6e652..e42d91b0016 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -23,7 +23,9 @@ "@parcel/plugin": "^2.2.1", "@parcel/source-map": "^2.0.0", "@parcel/utils": "^2.2.1", - "nullthrows": "^1.1.1", + "nullthrows": "^1.1.1" + }, + "devDependencies": { "postcss": "^8.4.5" } } diff --git a/packages/packagers/css/src/CSSPackager.js b/packages/packagers/css/src/CSSPackager.js index 278d83f082b..23be7bae163 100644 --- a/packages/packagers/css/src/CSSPackager.js +++ b/packages/packagers/css/src/CSSPackager.js @@ -2,6 +2,7 @@ import type {Root} from 'postcss'; import type {Asset, Dependency} from '@parcel/types'; +import typeof PostCSS from 'postcss'; import path from 'path'; import SourceMap from '@parcel/source-map'; @@ -13,7 +14,6 @@ import { replaceURLReferences, } from '@parcel/utils'; -import postcss from 'postcss'; import nullthrows from 'nullthrows'; export default (new Packager({ @@ -161,6 +161,16 @@ async function processCSSModule( asset, media, ): Promise<[Asset, string, ?Buffer]> { + let postcss: PostCSS = await options.packageManager.require( + 'postcss', + options.projectRoot + '/index', + { + range: '^8.4.5', + saveDev: true, + shouldAutoInstall: options.shouldAutoInstall, + }, + ); + let ast: Root = postcss.fromJSON(nullthrows((await asset.getAST())?.program)); let usedSymbols = bundleGraph.getUsedSymbols(asset); diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index d5d9757d26c..f8ba1951010 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -19,11 +19,23 @@ "node": ">= 12.0.0", "parcel": "^2.2.1" }, + "targets": { + "main": { + "includeNodeModules": { + "@parcel/plugin": false, + "@parcel/types": false, + "@parcel/utils": false, + "chalk": false + } + } + }, "dependencies": { "@parcel/plugin": "^2.2.1", "@parcel/types": "^2.2.1", "@parcel/utils": "^2.2.1", - "chalk": "^4.1.0", + "chalk": "^4.1.0" + }, + "devDependencies": { "filesize": "^6.1.0", "nullthrows": "^1.1.1", "ora": "^5.2.0", diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 71a7b94eb6e..1aca7a0779c 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -20,18 +20,26 @@ "node": ">= 12.0.0", "parcel": "^2.2.1" }, + "targets": { + "main": { + "includeNodeModules": { + "@parcel/plugin": false, + "@parcel/utils": false + } + } + }, "dependencies": { "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.2.1" + }, + "devDependencies": { + "@parcel/babel-preset": "^2.2.1", + "@parcel/types": "^2.2.1", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^2.0.1", "nullthrows": "^1.1.1", "serve-handler": "^6.0.0", "ws": "^7.0.0" - }, - "devDependencies": { - "@parcel/babel-preset": "^2.2.1", - "@parcel/types": "^2.2.1" } } diff --git a/packages/resolvers/default/src/DefaultResolver.js b/packages/resolvers/default/src/DefaultResolver.js index 5261646adfa..419cf59ad8f 100644 --- a/packages/resolvers/default/src/DefaultResolver.js +++ b/packages/resolvers/default/src/DefaultResolver.js @@ -8,7 +8,7 @@ import NodeResolver from '@parcel/node-resolver-core'; const WEBPACK_IMPORT_REGEX = /^\w+-loader(?:\?\S*)?!/; export default (new Resolver({ - resolve({dependency, options, specifier}) { + resolve({dependency, options, specifier, logger}) { if (WEBPACK_IMPORT_REGEX.test(dependency.specifier)) { throw new Error( `The import path: ${dependency.specifier} is using webpack specific loader import syntax, which isn't supported by Parcel.`, @@ -25,6 +25,10 @@ export default (new Resolver({ ? ['ts', 'tsx', 'js', 'jsx', 'json'] : [], mainFields: ['source', 'browser', 'module', 'main'], + packageManager: options.shouldAutoInstall + ? options.packageManager + : undefined, + logger, }); return resolver.resolve({ @@ -33,6 +37,7 @@ export default (new Resolver({ parent: dependency.resolveFrom, env: dependency.env, sourcePath: dependency.sourcePath, + loc: dependency.loc, }); }, }): Resolver); diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index 759d669ae8e..a4986b69791 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -23,7 +23,6 @@ "@parcel/diagnostic": "^2.2.1", "@parcel/plugin": "^2.2.1", "@parcel/utils": "^2.2.1", - "micromatch": "^4.0.2", "nullthrows": "^1.1.1" } } diff --git a/packages/resolvers/glob/src/GlobResolver.js b/packages/resolvers/glob/src/GlobResolver.js index e3f1ee3725d..1ccf10842ba 100644 --- a/packages/resolvers/glob/src/GlobResolver.js +++ b/packages/resolvers/glob/src/GlobResolver.js @@ -1,7 +1,12 @@ // @flow import {Resolver} from '@parcel/plugin'; -import {isGlob, glob, relativePath, normalizeSeparators} from '@parcel/utils'; -import micromatch from 'micromatch'; +import { + isGlob, + glob, + globToRegex, + relativePath, + normalizeSeparators, +} from '@parcel/utils'; import path from 'path'; import nullthrows from 'nullthrows'; import ThrowableDiagnostic from '@parcel/diagnostic'; @@ -65,7 +70,7 @@ export default (new Resolver({ let code = ''; if (sourceAssetType === 'js') { - let re = micromatch.makeRe(normalized, {capture: true}); + let re = globToRegex(normalized, {capture: true}); let matches = {}; for (let [file, relative] of results) { let match = file.match(re); diff --git a/packages/shared/babel-ast-utils/package.json b/packages/shared/babel-ast-utils/package.json deleted file mode 100644 index 2e2d8446ca9..00000000000 --- a/packages/shared/babel-ast-utils/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "@parcel/babel-ast-utils", - "version": "2.2.1", - "description": "Blazing fast, zero configuration web application bundler", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "repository": { - "type": "git", - "url": "https://github.com/parcel-bundler/parcel.git" - }, - "main": "lib/index.js", - "source": "src/index.js", - "engines": { - "node": ">= 12.0.0" - }, - "dependencies": { - "@babel/parser": "^7.0.0", - "@parcel/babylon-walk": "^2.2.1", - "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", - "astring": "^1.6.2" - } -} diff --git a/packages/shared/babel-ast-utils/src/generator.js b/packages/shared/babel-ast-utils/src/generator.js deleted file mode 100644 index 0d5a989a1b6..00000000000 --- a/packages/shared/babel-ast-utils/src/generator.js +++ /dev/null @@ -1,365 +0,0 @@ -import {GENERATOR, EXPRESSIONS_PRECEDENCE} from 'astring'; - -export const expressionsPrecedence = { - ...EXPRESSIONS_PRECEDENCE, - // Babel extensions - NumericLiteral: EXPRESSIONS_PRECEDENCE.Literal, - StringLiteral: EXPRESSIONS_PRECEDENCE.Literal, - BooleanLiteral: EXPRESSIONS_PRECEDENCE.Literal, - NullLiteral: EXPRESSIONS_PRECEDENCE.Literal, - RegExpLiteral: EXPRESSIONS_PRECEDENCE.Literal, - BigIntLiteral: EXPRESSIONS_PRECEDENCE.Literal, - OptionalMemberExpression: EXPRESSIONS_PRECEDENCE.MemberExpression, - OptionalCallExpression: EXPRESSIONS_PRECEDENCE.CallExpression, - Import: EXPRESSIONS_PRECEDENCE.Identifier, - PrivateName: EXPRESSIONS_PRECEDENCE.Identifier, -}; - -// Convert Babel's AST format to ESTree on the fly. -// See https://babeljs.io/docs/en/babel-parser#output -export const generator = { - ...GENERATOR, - Program(node, state) { - // Monkeypatch state to fix sourcemap filenames. - let map = state.map; - state.map = (str, node) => { - if (node != null && node.loc != null) { - state.mapping.source = node.loc.filename; - } - map.call(state, str, node); - }; - - if (node.interpreter) { - state.write(`#!${node.interpreter.value}\n`); - } - - handleDirectives(node); - GENERATOR.Program.call(this, node, state); - }, - BlockStatement(node, state) { - handleDirectives(node); - GENERATOR.BlockStatement.call(this, node, state); - }, - NumericLiteral(node, state) { - node.type = 'Literal'; - node.raw = getRaw(node); - this.Literal(node, state, true); - }, - StringLiteral(node, state) { - node.type = 'Literal'; - node.raw = getRaw(node); - this.Literal(node, state, true); - }, - BooleanLiteral(node, state) { - node.type = 'Literal'; - this.Literal(node, state, true); - }, - NullLiteral(node, state) { - node.type = 'Literal'; - node.raw = 'null'; - node.value = null; - this.Literal(node, state, true); - }, - RegExpLiteral(node, state) { - node.type = 'Literal'; - node.raw = getRaw(node); - node.value = {}; - node.regex = { - pattern: node.pattern, - flags: node.flags, - }; - GENERATOR.Literal(node, state); - }, - BigIntLiteral(node, state) { - node.type = 'Literal'; - node.raw = getRaw(node); - this.Literal(node, state, true); - }, - ArrowFunctionExpression(node, state) { - if ( - node.body.type === 'OptionalMemberExpression' || - node.body.type === 'OptionalCallExpression' - ) { - // the ArrowFunctionExpression visitor in astring checks the type of the body - // Make sure they don't start with "O" - node.body.type = '_' + node.body.type; - } - GENERATOR.ArrowFunctionExpression.call(this, node, state); - }, - ObjectProperty(node, state) { - node.type = 'Property'; - node.kind = 'init'; - if (node.shorthand) { - let id = - node.value.type === 'Identifier' - ? node.value - : node.value.type === 'AssignmentPattern' && - node.value.left.type === 'Identifier' - ? node.value.left - : null; - if (!id || id.name !== node.key.name) { - node.shorthand = false; - } - } - this.Property(node, state, true); - }, - ObjectMethod(node, state) { - node.value = { - type: 'FunctionExpression', - id: node.id, - params: node.params, - body: node.body, - async: node.async, - generator: node.generator, - expression: node.expression, - }; - - node.type = 'Property'; - if (node.kind === 'method') { - node.kind = 'init'; - } - - this.Property(node, state, true); - }, - ClassMethod(node, state) { - node.value = { - type: 'FunctionExpression', - id: node.id, - params: node.params, - body: node.body, - async: node.async, - generator: node.generator, - expression: node.expression, - }; - - node.type = 'MethodDefinition'; - this.MethodDefinition(node, state, true); - }, - ClassPrivateMethod(node, state) { - node.value = { - type: 'FunctionExpression', - id: node.id, - params: node.params, - body: node.body, - async: node.async, - generator: node.generator, - expression: node.expression, - }; - - node.type = 'MethodDefinition'; - this.MethodDefinition(node, state, true); - }, - ClassProperty(node, state) { - if (node.static) { - state.write('static '); - } - - if (node.computed) { - state.write('['); - this[node.key.type](node.key, state); - state.write(']'); - } else { - this[node.key.type](node.key, state); - } - - if (node.value) { - state.write(' = '); - this[node.value.type](node.value, state, true); - } - - state.write(';'); - }, - ClassPrivateProperty(node, state) { - if (node.static) { - state.write('static '); - } - - this[node.key.type](node.key, state); - if (node.value) { - state.write(' = '); - this[node.value.type](node.value, state); - } - - state.write(';'); - }, - PrivateName(node, state) { - state.write('#' + node.name, node); - }, - Import(node, state) { - // astring doesn't support ImportExpression yet - state.write('import'); - }, - _OptionalMemberExpression(node, state) { - this.OptionalMemberExpression(node, state, true); - }, - OptionalMemberExpression(node, state) { - node.optional = true; - node.type = 'MemberExpression'; - GENERATOR.MemberExpression.call(this, node, state); - }, - MemberExpression(node, state) { - if (node.optional) node.optional = false; - GENERATOR.MemberExpression.call(this, node, state); - }, - _OptionalCallExpression(node, state) { - this.OptionalCallExpression(node, state, true); - }, - OptionalCallExpression(node, state) { - node.optional = true; - node.type = 'CallExpression'; - GENERATOR.CallExpression.call(this, node, state); - }, - CallExpression(node, state) { - if (node.optional) node.optional = false; - GENERATOR.CallExpression.call(this, node, state); - }, - ExportNamedDeclaration(node, state) { - if (node.source) { - let namespace = node.specifiers.find( - specifier => specifier.type === 'ExportNamespaceSpecifier', - ); - if (namespace) { - // Babel parser allows combining namespace specifiers and named specifiers - // e.g. `export * as foo, {bar} from 'other'`, but this is not supported by the spec. - if (node.specifiers.length > 1) { - throw new Error( - 'Namespace specifiers cannot be combined with named specifiers', - ); - } - - node.type = 'ExportAllDeclaration'; - node.exported = namespace.exported; - } - } - - GENERATOR[node.type].call(this, node, state); - }, - ReturnStatement(node, state) { - // Add parentheses if there are leading comments - if (node.argument?.leadingComments?.length > 0) { - let indent = state.indent.repeat(state.indentLevel); - state.write('return (' + state.lineEnd); - state.write(indent + state.indent); - state.indentLevel++; - this[node.argument.type](node.argument, state); - state.indentLevel--; - state.write(state.lineEnd); - state.write(indent + ');'); - } else { - GENERATOR.ReturnStatement.call(this, node, state); - } - }, - ThrowStatement(node, state) { - // Add parentheses if there are leading comments - if (node.argument?.leadingComments?.length > 0) { - let indent = state.indent.repeat(state.indentLevel); - state.write('throw (' + state.lineEnd); - state.write(indent + state.indent); - state.indentLevel++; - this[node.argument.type](node.argument, state); - state.indentLevel--; - state.write(state.lineEnd); - state.write(indent + ');'); - } else { - GENERATOR.ThrowStatement.call(this, node, state); - } - }, -}; - -// Make every node support comments. Important for preserving /*@__PURE__*/ comments for terser. -// TODO: contribute to astring. -for (let key in generator) { - let orig = generator[key]; - generator[key] = function (node, state, skipComments) { - // These are printed by astring itself - if (node.trailingComments) { - for (let c of node.trailingComments) { - if (c.type === 'CommentLine' || c.type === 'LineComment') { - c.type = 'LineComment'; - } else { - c.type = 'BlockComment'; - } - } - } - if ( - !skipComments && - node.leadingComments && - node.leadingComments.length > 0 - ) { - formatComments(state, node.leadingComments); - } - orig.call(this, node, state); - }; -} - -function handleDirectives(node) { - if (node.directives) { - for (var i = node.directives.length - 1; i >= 0; i--) { - var directive = node.directives[i]; - directive.type = 'ExpressionStatement'; - directive.expression = directive.value; - directive.expression.type = 'Literal'; - node.body.unshift(directive); - } - } -} - -// Copied from the astring source. -function formatComments(state, comments) { - // Writes into `state` the provided list of `comments`, with the given `indent` and `lineEnd` strings. - // Line comments will end with `"\n"` regardless of the value of `lineEnd`. - // Expects to start on a new unindented line. - const indent = state.indent.repeat(state.indentLevel); - const {length} = comments; - for (let i = 0; i < length; i++) { - const comment = comments[i]; - if (comment.type === 'CommentLine' || comment.type === 'LineComment') { - // Line comment - state.write('// ' + comment.value.trim() + state.lineEnd, { - ...comment, - type: 'LineComment', - }); - state.write(indent); - } else { - // Block comment - state.write('/*'); - reindent(state, comment.value, indent, state.lineEnd); - state.write('*/'); - - // Keep pure annotations on the same line - let value = comment.value.trim(); - if ( - !((value === '#__PURE__' || value === '@__PURE__') && i === length - 1) - ) { - state.write(state.lineEnd); - state.write(indent); - } - } - } -} - -function reindent(state, text, indent, lineEnd) { - // Writes into `state` the `text` string reindented with the provided `indent`. - const lines = text.split('\n'); - const end = lines.length - 1; - state.write(lines[0].trim()); - if (end > 0) { - state.write(lineEnd); - for (let i = 1; i < end; i++) { - state.write(indent + lines[i].trim() + lineEnd); - } - state.write(indent + lines[end].trim()); - } -} - -function getRaw(node) { - let extra = node.extra; - if ( - extra && - extra.raw != null && - extra.rawValue != null && - node.value === extra.rawValue - ) { - return extra.raw; - } -} diff --git a/packages/shared/babel-ast-utils/src/index.js b/packages/shared/babel-ast-utils/src/index.js deleted file mode 100644 index 9999f3b2b33..00000000000 --- a/packages/shared/babel-ast-utils/src/index.js +++ /dev/null @@ -1,196 +0,0 @@ -// @flow strict-local - -import type { - AST, - BaseAsset, - PluginOptions, - SourceLocation, - FilePath, -} from '@parcel/types'; -import type { - SourceLocation as BabelSourceLocation, - File as BabelNodeFile, -} from '@babel/types'; - -import path from 'path'; -import {parse as babelParse} from '@babel/parser'; -import SourceMap from '@parcel/source-map'; -import {relativeUrl} from '@parcel/utils'; -import {traverseAll} from '@parcel/babylon-walk'; -import {babelErrorEnhancer} from './babelErrorUtils'; -// $FlowFixMe -import {generate as astringGenerate} from 'astring'; -// $FlowFixMe -import {generator, expressionsPrecedence} from './generator'; - -export {babelErrorEnhancer}; - -export function remapAstLocations(ast: BabelNodeFile, map: SourceMap) { - // remap ast to original mappings - // This improves sourcemap accuracy and fixes sourcemaps when scope-hoisting - traverseAll(ast.program, node => { - if (node.loc) { - if (node.loc?.start) { - let mapping = map.findClosestMapping( - node.loc.start.line, - node.loc.start.column, - ); - - if (mapping?.original) { - // $FlowFixMe - node.loc.start.line = mapping.original.line; - // $FlowFixMe - node.loc.start.column = mapping.original.column; - - // $FlowFixMe - let length = node.loc.end.column - node.loc.start.column; - - // $FlowFixMe - node.loc.end.line = mapping.original.line; - // $FlowFixMe - node.loc.end.column = mapping.original.column + length; - - // $FlowFixMe - node.loc.filename = mapping.source; - } else { - // Maintain null mappings? - node.loc = null; - } - } - } - }); -} - -export async function parse({ - asset, - code, - options, -}: {| - asset: BaseAsset, - code: string, - options: PluginOptions, -|}): Promise { - try { - let program = babelParse(code, { - sourceFilename: relativeUrl(options.projectRoot, asset.filePath), - allowReturnOutsideFunction: true, - strictMode: false, - sourceType: 'module', - }); - - let map = await asset.getMap(); - if (map) { - remapAstLocations(program, map); - } - - return { - type: 'babel', - version: '7.0.0', - program, - }; - } catch (e) { - throw await babelErrorEnhancer(e, asset); - } -} - -// astring is ~50x faster than @babel/generator. We use it with a custom -// generator to handle the Babel AST differences from ESTree. -export function generateAST({ - ast, - sourceFileName, - sourceMaps, - options, -}: {| - ast: BabelNodeFile, - sourceFileName?: FilePath, - sourceMaps?: boolean, - options: PluginOptions, -|}): {|content: string, map: SourceMap|} { - let map = new SourceMap(options.projectRoot); - let mappings = []; - let generated = astringGenerate(ast.program, { - generator, - expressionsPrecedence, - comments: true, - sourceMap: sourceMaps - ? { - file: sourceFileName, - addMapping(mapping) { - // Copy the object because astring mutates it - mappings.push({ - original: mapping.original, - generated: { - line: mapping.generated.line, - column: mapping.generated.column, - }, - name: mapping.name, - source: mapping.source, - }); - }, - } - : null, - }); - - map.addIndexedMappings(mappings); - - return { - content: generated, - map, - }; -} - -export async function generate({ - asset, - ast, - options, -}: {| - asset: BaseAsset, - ast: AST, - options: PluginOptions, -|}): Promise<{|content: string, map: ?SourceMap|}> { - let sourceFileName: string = relativeUrl(options.projectRoot, asset.filePath); - let {content, map} = generateAST({ - ast: ast.program, - sourceFileName, - sourceMaps: !!asset.env.sourceMap, - options, - }); - - let originalSourceMap = await asset.getMap(); - if (originalSourceMap) { - // The babel AST already contains the correct mappings, but not the source contents. - // We need to copy over the source contents from the original map. - let sourcesContent = originalSourceMap.getSourcesContentMap(); - for (let filePath in sourcesContent) { - let content = sourcesContent[filePath]; - if (content != null) { - map.setSourceContent(filePath, content); - } - } - } - - return {content, map}; -} - -export function convertBabelLoc( - options: PluginOptions, - loc: ?BabelSourceLocation, -): ?SourceLocation { - if (!loc) return null; - let {filename, start, end} = loc; - if (filename == null) return null; - return { - filePath: path.resolve(options.projectRoot, filename), - start: { - line: start.line, - column: start.column + 1, - }, - // - Babel's columns are exclusive, ours are inclusive (column - 1) - // - Babel has 0-based columns, ours are 1-based (column + 1) - // = +-0 - end: { - line: end.line, - column: end.column, - }, - }; -} diff --git a/packages/shared/babel-ast-utils/test/fixtures/array.js b/packages/shared/babel-ast-utils/test/fixtures/array.js deleted file mode 100644 index 92733c8b1de..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/array.js +++ /dev/null @@ -1,4 +0,0 @@ -let a = []; -let b = [42]; -let c = [42, 7]; -let [d, ...e] = [1, 2, 3, 4, 5]; diff --git a/packages/shared/babel-ast-utils/test/fixtures/async.js b/packages/shared/babel-ast-utils/test/fixtures/async.js deleted file mode 100644 index 0cc14c0ea34..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/async.js +++ /dev/null @@ -1,17 +0,0 @@ -async function f() {} -const g = async function () {}; -const a = { - async f() {} -}; -const h = async () => {}; -async function j() { - (await g()).a; - await g().a; - return await f(); -} -async function k() { - return await (obj = Promise.resolve(1)); -} -async function l() { - await (() => 1); -} diff --git a/packages/shared/babel-ast-utils/test/fixtures/call.js b/packages/shared/babel-ast-utils/test/fixtures/call.js deleted file mode 100644 index c0d71059a38..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/call.js +++ /dev/null @@ -1,16 +0,0 @@ -f(); -g(a); -h(a, b); -i(a, b, ...c); -j(...a); -a.k(); -(a + b).l(); -a.m().n(); -new A(); -new A(a); -new a.B(); -new a.b.C(); -new (a().B)(); -new A().b(); -new new A()(); -new (A, B)(); diff --git a/packages/shared/babel-ast-utils/test/fixtures/class.js b/packages/shared/babel-ast-utils/test/fixtures/class.js deleted file mode 100644 index bd2d67268d4..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/class.js +++ /dev/null @@ -1,40 +0,0 @@ -class A { - constructor() {} -} -class B extends A {} -class C extends A { - method() {} - get property() { - return this._property; - } - // /* foo */ - set property(value) { - this._property = value; - } -} -class D extends class A {} {} -class E extends class { - constructor() {} -} {} -class F extends class { - constructor() {} -} { - constructor() {} -} -class G { - [Symbol.iterator]() {} - ["method"]() {} -} -class H { - static classMethod() {} - method() {} -} -class I { - static get property() {} - static set property(value) {} -} -class J extends A { - constructor() { - super(); - } -} diff --git a/packages/shared/babel-ast-utils/test/fixtures/control.js b/packages/shared/babel-ast-utils/test/fixtures/control.js deleted file mode 100644 index cb2d14d58a1..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/control.js +++ /dev/null @@ -1,38 +0,0 @@ -throw ( - /*comment*/ - new Error("abc") -); -if (a > b) {} else {} -if (c != d) {} -var a = b > c ? d : e; -let b = (c = 1) ? d : e; -switch (a) { - case b: - break; - case "c": - break; - case 42: - break; - case d: - if (a < b) {} - break; - default: - break; -} -while (a > b) { - if (c == d) { - break; - } -} -do { - if (e === f) { - continue; - } -} while (g < h); -label: if (a === b) { - if (b = c) { - break label; - } -} -if (a != b) {} -endingLabel: {} diff --git a/packages/shared/babel-ast-utils/test/fixtures/error.js b/packages/shared/babel-ast-utils/test/fixtures/error.js deleted file mode 100644 index c4b78eca481..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/error.js +++ /dev/null @@ -1,13 +0,0 @@ -try { - let a = 42; -} catch (error) { - let b = error; -} -try { - let a = 42; -} catch (error) { - let b = error; -} finally { - let c = "done"; -} -throw new Error("this is an error"); diff --git a/packages/shared/babel-ast-utils/test/fixtures/export-class.js b/packages/shared/babel-ast-utils/test/fixtures/export-class.js deleted file mode 100644 index a6e68e98389..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/export-class.js +++ /dev/null @@ -1 +0,0 @@ -export default class {} diff --git a/packages/shared/babel-ast-utils/test/fixtures/export-function.js b/packages/shared/babel-ast-utils/test/fixtures/export-function.js deleted file mode 100644 index ea9b101e1c2..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/export-function.js +++ /dev/null @@ -1 +0,0 @@ -export default function () {} diff --git a/packages/shared/babel-ast-utils/test/fixtures/export.js b/packages/shared/babel-ast-utils/test/fixtures/export.js deleted file mode 100644 index 9487783d729..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/export.js +++ /dev/null @@ -1,11 +0,0 @@ -export * from "module"; -export * as m from "module"; -export {name} from "module"; -export {a as b, c as d} from "module"; -let e, g; -export {e as f, g as h}; -export {}; -export default i = 42; -export var j = 42; -export let k = 42; -export function l() {} diff --git a/packages/shared/babel-ast-utils/test/fixtures/function.js b/packages/shared/babel-ast-utils/test/fixtures/function.js deleted file mode 100644 index 25386e7cf8d..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/function.js +++ /dev/null @@ -1,53 +0,0 @@ -function f(a, b, c) { - return null; -} -var g = function (a, b, c) { - return null; -}; -function h(a, b = 1, c = 2) { - return null; -} -function i(a = 1, b, c) { - return null; -} -function j(...a) {} -function k() {} -var l = function () {}; -var m = function (a = 1, b, c) {}; -function* o() { - yield 42; -} -function* p() { - yield 42; - yield 7; - return "answer"; -} -let q = function* () {}; -let r = a => a; -let s = (a, b) => a + b; -let t = (a, b = 0) => a + b; -let u = (a, b) => {}; -let v = () => {}; -let w = () => ({}); -let x = () => { - let a = 42; - return a; -}; -let y = () => ({ - a: 1, - b: 2 -}); -let z = a => a?.b; -let za = a => a?.(); -let zb = a => 1; -function zc() { - function a() { - return ( - // comment - null - ); - console.log(2); - } - // abc - console.log(1); -} diff --git a/packages/shared/babel-ast-utils/test/fixtures/import.js b/packages/shared/babel-ast-utils/test/fixtures/import.js deleted file mode 100644 index 57903a23734..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/import.js +++ /dev/null @@ -1,8 +0,0 @@ -import a from "module"; -import b, * as c from "module"; -import * as d from "module"; -import e, {f as g, h as i, j} from "module"; -import {k as l, m} from "module"; -import {n, o as p} from "module"; -import("module"); -const x = import("module"); diff --git a/packages/shared/babel-ast-utils/test/fixtures/literal.js b/packages/shared/babel-ast-utils/test/fixtures/literal.js deleted file mode 100644 index 658bd0b25c6..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/literal.js +++ /dev/null @@ -1,6 +0,0 @@ -const a = Infinity; -const b = -Infinity; -const c = +Infinity; -const d = /abc/; -const e = /abc/g; -const f = /abc/gi; diff --git a/packages/shared/babel-ast-utils/test/fixtures/loop.js b/packages/shared/babel-ast-utils/test/fixtures/loop.js deleted file mode 100644 index 3514482dd56..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/loop.js +++ /dev/null @@ -1,21 +0,0 @@ -for (let a in b) {} -for (let [a, b] in c) {} -for (let {a, b} in c) {} -for (let {a: b, c} in d) {} -for (let a of b) {} -for (var [a, b] of c) {} -for (let {a, b} in c) {} -for (let {a: b, c} in d) {} -for (let i = 0, {length} = list; i < length; i++) {} -for (; ; ) {} -for (function () { - const i = 0; -}; ; ) {} -for (() => { - const i = 0; -}; ; ) {} -async function test() { - for await (const x of xs) { - x(); - } -} diff --git a/packages/shared/babel-ast-utils/test/fixtures/number.js b/packages/shared/babel-ast-utils/test/fixtures/number.js deleted file mode 100644 index 262df88d3a6..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/number.js +++ /dev/null @@ -1,3 +0,0 @@ -let a; -a = 1n; -a = 1; diff --git a/packages/shared/babel-ast-utils/test/fixtures/object.js b/packages/shared/babel-ast-utils/test/fixtures/object.js deleted file mode 100644 index c1c6731ab83..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/object.js +++ /dev/null @@ -1,30 +0,0 @@ -let a = {}; -let b = { - "1": "one", - "2": "two", - "3": "three" -}; -let c = { - [42]: "answer", - [7]: "lucky" -}; -let d = { - a: 1, - b: 2, - c: 3 -}; -let e = d.a; -let f = d["c"]; -let g = { - m() {}, - ['n'](a) {}, - o(a) { - return a; - } -}; -let h = ({}).toString(); -let i = { - ...d, - a -}; -a?.['b']?.[0]?.(1); diff --git a/packages/shared/babel-ast-utils/test/fixtures/operators.js b/packages/shared/babel-ast-utils/test/fixtures/operators.js deleted file mode 100644 index cfadff3c64c..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/operators.js +++ /dev/null @@ -1,33 +0,0 @@ -let a, b, c, d; -a = a || (a = 2); -a ||= 2; -a = a && (a = 2); -a &&= 2; -a = a ?? (a = 2); -a ??= 2; -b = 1 + 2; -b = 1 - 2; -b = 1 / 2; -b = 1 * 2; -c = 2 ** 1; -c = 1 % 2; -d = 1 << 2; -d = 1 >> 2; -d = 1 >>> 2; -d = 1 & 3; -d = 1 ^ 3; -d = 1 | 3; -a == b; -a === b; -a != b; -a !== b; -a > b; -a >= b; -a < b; -a <= b; -++a; -a++; -+a; --a; ---a; -a--; diff --git a/packages/shared/babel-ast-utils/test/fixtures/precedence.js b/packages/shared/babel-ast-utils/test/fixtures/precedence.js deleted file mode 100644 index abfcb6e2377..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/precedence.js +++ /dev/null @@ -1,34 +0,0 @@ -var a, b, c, d, e, f, g, x, y, z; -a = 1 + 2 * 3 / 5; -b = (1 + 2) * 3 / 5; -c = (1 + 2) * (3 - 5); -d = x | y ^ z; -e = (x | y) ^ z; -f = "a" + (1 + 2) + "b"; -g = "a" + (1 - 2) + "b"; -a = true || false && null; -b = c == d || e != f; -c = x instanceof y || x instanceof z; -d = x == y && y != z; -a = !false; -b = !x instanceof Number; -c = !(x instanceof Number); -d = typeof a === 'boolean'; -e = !typeof a === 'boolean'; -f = !(typeof a === 'boolean'); -a = (1.1).toString(); -a = (1).toString(); -b = new A().toString(); -c = new x.A().toString(); -d = new x.y().z(); -var r = (/ab+c/i).exec('abc'); -a = b ** 2 * 3; -c = (d ** 2) ** 3; -e = f ** 2 ** 3; -e = (+2) ** 3; -e = 2 ** +3; -f = a + (b = 3); -g = 1 && (() => {}); -g = (() => {}) && 1; -g = (1, + +2); -g = (1, + +(2 + 3)); diff --git a/packages/shared/babel-ast-utils/test/fixtures/sequence.js b/packages/shared/babel-ast-utils/test/fixtures/sequence.js deleted file mode 100644 index 7e1dd060e88..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/sequence.js +++ /dev/null @@ -1,4 +0,0 @@ -let a = (x => (x, x * 2), 3); -let b = ((x, y) => (x, x * y), 1); -let c = (x => x * x)(2); -let d = (1, 2, 3); diff --git a/packages/shared/babel-ast-utils/test/fixtures/template.js b/packages/shared/babel-ast-utils/test/fixtures/template.js deleted file mode 100644 index 28777d2e6df..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/template.js +++ /dev/null @@ -1,10 +0,0 @@ -let a; -let b = `this is a template`; -let c = `this is a template\ -with multiple -lines`; -let d = f`template with function`; -let e = f`template with ${some} ${variables}`; -let f = f`template with ${some}${variables}${attached}`; -let g = f()`template with function call before`; -let h = f().g`template with more complex function call`; diff --git a/packages/shared/babel-ast-utils/test/fixtures/valid-only.js b/packages/shared/babel-ast-utils/test/fixtures/valid-only.js deleted file mode 100644 index c24133a9e13..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/valid-only.js +++ /dev/null @@ -1,10 +0,0 @@ -// These are currently not correctly reproduced, but should still -// remain syntactically valid. - -if (1) { - a(); -} -// /* */ -else { - b(); -} diff --git a/packages/shared/babel-ast-utils/test/fixtures/variable.js b/packages/shared/babel-ast-utils/test/fixtures/variable.js deleted file mode 100644 index d1668abd6d2..00000000000 --- a/packages/shared/babel-ast-utils/test/fixtures/variable.js +++ /dev/null @@ -1,11 +0,0 @@ -var a; -let b = 42; -const c = 21 * 2; -let {e} = d; -var f, g = 42, h = false; -let {i, j: k} = l; -let [m, n] = c; -var {a: [o, {p}]} = d; -let {q = 42} = f; -const {g: r = 42} = i; -const {s, ...t} = r; diff --git a/packages/shared/babel-ast-utils/test/index.js b/packages/shared/babel-ast-utils/test/index.js deleted file mode 100644 index 3919e0efba8..00000000000 --- a/packages/shared/babel-ast-utils/test/index.js +++ /dev/null @@ -1,42 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import assert from 'assert'; -import {parse as babelParse} from '@babel/parser'; -import {generateAST} from '../src'; - -const FIXTURES_FOLDER = path.join(__dirname, 'fixtures'); -const files = fs.readdirSync(FIXTURES_FOLDER).sort(); -const options = { - allowReturnOutsideFunction: true, - strictMode: false, - sourceType: 'module', -}; - -describe('astring babel generator', () => { - files.forEach(filename => { - it(filename, function () { - const code = fs.readFileSync( - path.join(FIXTURES_FOLDER, filename), - 'utf8', - ); - const ast = babelParse(code, options); - let {content} = generateAST({ - ast, - sourceFileName: '/foo/bar.js', - sourceMaps: false, - originalSourceMap: null, - options: {projectRoot: '/foo'}, - }); - if (filename === 'valid-only.js') { - babelParse(content), options; - } else { - assert.equal( - content, - code, - filename.substring(0, filename.length - 3), - 'Generates code with the expected format', - ); - } - }); - }); -}); diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 2293f96bf8d..421ac986642 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -20,18 +20,11 @@ "parcel": "^2.2.1" }, "dependencies": { - "@babel/core": "^7.12.0", - "@babel/generator": "^7.9.0", - "@babel/helper-compilation-targets": "^7.8.4", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@parcel/babel-ast-utils": "^2.2.1", "@parcel/diagnostic": "^2.2.1", "@parcel/plugin": "^2.2.1", "@parcel/source-map": "^2.0.0", "@parcel/utils": "^2.2.1", "browserslist": "^4.6.6", - "core-js": "^3.2.1", "json5": "^2.2.0", "nullthrows": "^1.1.1", "semver": "^5.7.0" @@ -39,6 +32,7 @@ "devDependencies": { "@babel/core": "^7.12.0", "@babel/preset-env": "^7.0.0", + "@babel/types": "^7.12.0", "@parcel/types": "^2.2.1" } } diff --git a/packages/transformers/babel/src/BabelTransformer.js b/packages/transformers/babel/src/BabelTransformer.js index 40e1fcc93d5..c3db3c56956 100644 --- a/packages/transformers/babel/src/BabelTransformer.js +++ b/packages/transformers/babel/src/BabelTransformer.js @@ -1,11 +1,10 @@ // @flow strict-local -import {babelErrorEnhancer} from '@parcel/babel-ast-utils'; +import {babelErrorEnhancer} from './babelErrorUtils'; import {Transformer} from '@parcel/plugin'; import {relativeUrl} from '@parcel/utils'; import SourceMap from '@parcel/source-map'; import semver from 'semver'; -import generate from '@babel/generator'; import babel7 from './babel7'; import {load} from './config'; @@ -48,6 +47,22 @@ export default (new Transformer({ options.projectRoot, asset.filePath, ); + + const babelCorePath = await options.packageManager.resolve( + '@babel/core', + asset.filePath, + { + range: '^7.12.0', + saveDev: true, + shouldAutoInstall: options.shouldAutoInstall, + }, + ); + + const {default: generate} = await options.packageManager.require( + '@babel/generator', + babelCorePath.resolved, + ); + let {code, rawMappings} = generate(ast.program, { sourceFileName, sourceMaps: !!asset.env.sourceMap, diff --git a/packages/transformers/babel/src/astConverter.js b/packages/transformers/babel/src/astConverter.js deleted file mode 100644 index 2b100413c68..00000000000 --- a/packages/transformers/babel/src/astConverter.js +++ /dev/null @@ -1,102 +0,0 @@ -import traverse from '@babel/traverse'; - -// Convert between babel 7 and babel 6 AST -// More info on the AST Changes: https://babeljs.io/docs/en/v7-migration-api#ast-changes -export function babel7toBabel6(ast) { - const visitor = { - ArrowFunctionExpression: node => { - node.expression = node.body.type !== 'BlockStatement'; - }, - ExistsTypeAnnotation: node => { - node.type = 'ExistentialTypeParam'; - }, - NumberLiteralTypeAnnotation: node => { - node.type = 'NumericLiteralTypeAnnotation'; - }, - ObjectTypeIndexer: node => { - node.end++; - node.loc.end.column++; - }, - ForOfStatement: node => { - node.type = 'ForAwaitStatement'; - delete node.await; - }, - SpreadElement: (node, path) => { - if ( - path.parentPath.isObjectExpression() || - path.parentPath.isArrayExpression() - ) { - node.type = 'SpreadProperty'; - } - }, - RestElement: (node, path) => { - if ( - path.parentPath.isObjectPattern() || - path.parentPath.isArrayPattern() - ) { - node.type = 'RestProperty'; - } - }, - }; - - traverse(ast, { - enter(path) { - if (path.node.variance && path.node.variance.type === 'Variance') { - path.node.variance = path.node.variance.kind; - } - - let visitorFunc = visitor[path.node.type]; - if (visitorFunc) { - visitorFunc(path.node, path); - } - }, - }); - - return ast; -} - -export function babel6toBabel7(ast) { - const visitor = { - ArrowFunctionExpression: node => { - delete node.expression; - }, - ExistentialTypeParam: node => { - node.type = 'ExistsTypeAnnotation'; - }, - NumericLiteralTypeAnnotation: node => { - node.type = 'NumberLiteralTypeAnnotation'; - }, - ObjectTypeIndexer: node => { - node.end--; - node.loc.end.column--; - }, - ForAwaitStatement: node => { - node.type = 'ForOfStatement'; - node.await = true; - }, - SpreadProperty: node => { - node.type = 'SpreadElement'; - }, - RestProperty: node => { - node.type = 'RestElement'; - }, - }; - - traverse(ast, { - enter(path) { - if (path.node.variance && typeof path.node.variance === 'string') { - path.node.variance = { - type: 'VarianceNode', - kind: path.node.variance, - }; - } - - let visitorFunc = visitor[path.node.type]; - if (visitorFunc) { - visitorFunc(path.node); - } - }, - }); - - return ast; -} diff --git a/packages/transformers/babel/src/babel7.js b/packages/transformers/babel/src/babel7.js index 74382df053f..ab526eb00d9 100644 --- a/packages/transformers/babel/src/babel7.js +++ b/packages/transformers/babel/src/babel7.js @@ -1,11 +1,11 @@ // @flow import type {MutableAsset, AST, PluginOptions} from '@parcel/types'; +import typeof * as BabelCore from '@babel/core'; import invariant from 'assert'; -import * as internalBabelCore from '@babel/core'; import {relativeUrl} from '@parcel/utils'; -import {remapAstLocations} from '@parcel/babel-ast-utils'; +import {remapAstLocations} from './remapAstLocations'; import packageJson from '../package.json'; @@ -23,13 +23,15 @@ export default async function babel7( opts: Babel7TransformOptions, ): Promise { let {asset, options, babelOptions, additionalPlugins = []} = opts; - const babelCore = babelOptions.internal - ? internalBabelCore - : await options.packageManager.require('@babel/core', asset.filePath, { - range: '^7.12.0', - saveDev: true, - shouldAutoInstall: options.shouldAutoInstall, - }); + const babelCore: BabelCore = await options.packageManager.require( + '@babel/core', + asset.filePath, + { + range: '^7.12.0', + saveDev: true, + shouldAutoInstall: options.shouldAutoInstall, + }, + ); let config = { ...babelOptions.config, @@ -77,7 +79,7 @@ export default async function babel7( if (res.ast) { let map = await asset.getMap(); if (map) { - remapAstLocations(res.ast, map); + remapAstLocations(babelCore.types, res.ast, map); } } } diff --git a/packages/shared/babel-ast-utils/src/babelErrorUtils.js b/packages/transformers/babel/src/babelErrorUtils.js similarity index 100% rename from packages/shared/babel-ast-utils/src/babelErrorUtils.js rename to packages/transformers/babel/src/babelErrorUtils.js diff --git a/packages/transformers/babel/src/config.js b/packages/transformers/babel/src/config.js index 13e0352ce98..15f858400e0 100644 --- a/packages/transformers/babel/src/config.js +++ b/packages/transformers/babel/src/config.js @@ -7,16 +7,15 @@ import type {BabelConfig} from './types'; import json5 from 'json5'; import path from 'path'; -import * as internalBabelCore from '@babel/core'; import {hashObject, relativePath, resolveConfig} from '@parcel/utils'; import {md, generateJSONCodeHighlights} from '@parcel/diagnostic'; +import {BABEL_CORE_RANGE} from './constants'; import isJSX from './jsx'; import getFlowOptions from './flow'; import {enginesToBabelTargets} from './utils'; const TYPESCRIPT_EXTNAME_RE = /\.tsx?$/; -const BABEL_TRANSFORMER_DIR = path.dirname(__dirname); const JS_EXTNAME_RE = /^\.(js|cjs|mjs)$/; const BABEL_CONFIG_FILENAMES = [ '.babelrc', @@ -31,8 +30,6 @@ const BABEL_CONFIG_FILENAMES = [ 'babel.config.cjs', ]; -const BABEL_CORE_RANGE = '^7.12.0'; - type BabelConfigResult = {| internal: boolean, config: BabelConfig, @@ -234,19 +231,6 @@ async function buildDefaultBabelConfig( syntaxPlugins.push('jsx'); } - babelOptions.presets = (babelOptions.presets || []).map(preset => - internalBabelCore.createConfigItem(preset, { - type: 'preset', - dirname: BABEL_TRANSFORMER_DIR, - }), - ); - babelOptions.plugins = (babelOptions.plugins || []).map(plugin => - internalBabelCore.createConfigItem(plugin, { - type: 'plugin', - dirname: BABEL_TRANSFORMER_DIR, - }), - ); - definePluginDependencies(config, babelOptions, options); return { internal: true, diff --git a/packages/transformers/babel/src/constants.js b/packages/transformers/babel/src/constants.js index 1ec6046b46c..60a923111ce 100644 --- a/packages/transformers/babel/src/constants.js +++ b/packages/transformers/babel/src/constants.js @@ -1,3 +1,3 @@ // @flow strict-local -export const BABEL_RANGE = '^7.0.0'; +export const BABEL_CORE_RANGE = '^7.12.0'; diff --git a/packages/transformers/babel/src/flow.js b/packages/transformers/babel/src/flow.js index a90dee380c3..5dd47e9ce3d 100644 --- a/packages/transformers/babel/src/flow.js +++ b/packages/transformers/babel/src/flow.js @@ -2,6 +2,10 @@ import type {Config, PluginOptions, PackageJSON} from '@parcel/types'; import type {BabelConfig} from './types'; +import typeof * as BabelCore from '@babel/core'; + +import {BABEL_CORE_RANGE} from './constants'; +import path from 'path'; /** * Generates a babel config for stripping away Flow types. @@ -28,9 +32,35 @@ export default async function getFlowOptions( return null; } + const babelCore: BabelCore = await options.packageManager.require( + '@babel/core', + config.searchPath, + { + range: BABEL_CORE_RANGE, + saveDev: true, + shouldAutoInstall: options.shouldAutoInstall, + }, + ); + + await options.packageManager.require( + '@babel/plugin-transform-flow-strip-types', + config.searchPath, + { + range: '^7.0.0', + saveDev: true, + shouldAutoInstall: options.shouldAutoInstall, + }, + ); + return { plugins: [ - ['@babel/plugin-transform-flow-strip-types', {requireDirective: true}], + babelCore.createConfigItem( + ['@babel/plugin-transform-flow-strip-types', {requireDirective: true}], + { + type: 'plugin', + dirname: path.dirname(config.searchPath), + }, + ), ], }; } diff --git a/packages/transformers/babel/src/remapAstLocations.js b/packages/transformers/babel/src/remapAstLocations.js new file mode 100644 index 00000000000..db650f293ce --- /dev/null +++ b/packages/transformers/babel/src/remapAstLocations.js @@ -0,0 +1,70 @@ +// @flow strict-local + +import type {File as BabelNodeFile} from '@babel/types'; +import type SourceMap from '@parcel/source-map'; +import type {Node} from '@babel/types'; +import typeof * as BabelTypes from '@babel/types'; + +export function remapAstLocations( + t: BabelTypes, + ast: BabelNodeFile, + map: SourceMap, +) { + // remap ast to original mappings + // This improves sourcemap accuracy and fixes sourcemaps when scope-hoisting + traverseAll(t, ast.program, node => { + if (node.loc) { + if (node.loc?.start) { + let mapping = map.findClosestMapping( + node.loc.start.line, + node.loc.start.column, + ); + + if (mapping?.original) { + // $FlowFixMe + node.loc.start.line = mapping.original.line; + // $FlowFixMe + node.loc.start.column = mapping.original.column; + + // $FlowFixMe + let length = node.loc.end.column - node.loc.start.column; + + // $FlowFixMe + node.loc.end.line = mapping.original.line; + // $FlowFixMe + node.loc.end.column = mapping.original.column + length; + + // $FlowFixMe + node.loc.filename = mapping.source; + } else { + // Maintain null mappings? + node.loc = null; + } + } + } + }); +} + +function traverseAll( + t: BabelTypes, + node: Node, + visitor: (node: Node) => void, +): void { + if (!node) { + return; + } + + visitor(node); + + for (let key of t.VISITOR_KEYS[node.type] || []) { + // $FlowFixMe + let subNode: Node | Array = node[key]; + if (Array.isArray(subNode)) { + for (let i = 0; i < subNode.length; i++) { + traverseAll(t, subNode[i], visitor); + } + } else { + traverseAll(t, subNode, visitor); + } + } +} diff --git a/packages/transformers/babel/src/utils.js b/packages/transformers/babel/src/utils.js index 5207f861055..affba1522e0 100644 --- a/packages/transformers/babel/src/utils.js +++ b/packages/transformers/babel/src/utils.js @@ -5,7 +5,22 @@ import type {Targets as BabelTargets} from '@babel/preset-env'; import invariant from 'assert'; import semver from 'semver'; -import {TargetNames} from '@babel/helper-compilation-targets/lib/options'; + +// Copied from @babel/helper-compilation-targets/lib/options.js +const TargetNames = { + node: 'node', + chrome: 'chrome', + opera: 'opera', + edge: 'edge', + firefox: 'firefox', + safari: 'safari', + ie: 'ie', + ios: 'ios', + android: 'android', + electron: 'electron', + samsung: 'samsung', + rhino: 'rhino', +}; // List of browsers to exclude when the esmodule target is specified. // Based on https://caniuse.com/#feat=es6-module diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 9e46b23e99c..54f2d7ddb8d 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -38,7 +38,6 @@ "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", - "micromatch": "^4.0.2", "nullthrows": "^1.1.1", "regenerator-runtime": "^0.13.7", "semver": "^5.7.1" diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index b4f3dfab77c..16b1e2e546d 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -10,8 +10,7 @@ import browserslist from 'browserslist'; import semver from 'semver'; import nullthrows from 'nullthrows'; import ThrowableDiagnostic, {encodeJSONKeyComponent} from '@parcel/diagnostic'; -import {validateSchema, remapSourceLocation} from '@parcel/utils'; -import {isMatch} from 'micromatch'; +import {validateSchema, remapSourceLocation, isGlobMatch} from '@parcel/utils'; import WorkerFarm from '@parcel/workers'; const JSX_EXTENSIONS = { @@ -350,7 +349,7 @@ export default (new Transformer({ } } else if (Array.isArray(config?.inlineEnvironment)) { for (let key in options.env) { - if (isMatch(key, config.inlineEnvironment)) { + if (isGlobMatch(key, config.inlineEnvironment)) { env[key] = String(options.env[key]); } } diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index 0b897b05c08..4677e7cf585 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -25,7 +25,6 @@ "@parcel/utils": "^2.2.1", "clone": "^2.1.1", "nullthrows": "^1.1.1", - "postcss-modules": "^4.3.0", "postcss-value-parser": "^4.2.0", "semver": "^5.7.1" }, diff --git a/packages/transformers/postcss/src/PostCSSTransformer.js b/packages/transformers/postcss/src/PostCSSTransformer.js index a60f5785226..fd341c2be60 100644 --- a/packages/transformers/postcss/src/PostCSSTransformer.js +++ b/packages/transformers/postcss/src/PostCSSTransformer.js @@ -5,12 +5,10 @@ import type {FilePath, Asset, MutableAsset, PluginOptions} from '@parcel/types'; import {hashString} from '@parcel/hash'; import {glob} from '@parcel/utils'; import {Transformer} from '@parcel/plugin'; -import FileSystemLoader from 'postcss-modules/build/css-loader-core/loader'; import nullthrows from 'nullthrows'; import path from 'path'; import semver from 'semver'; import valueParser from 'postcss-value-parser'; -import postcssModules from 'postcss-modules'; import typeof * as Postcss from 'postcss'; import {load} from './loadConfig'; @@ -79,10 +77,22 @@ export default (new Transformer({ let cssModules: ?{|[string]: string|} = null; if (config.hydrated.modules) { asset.meta.cssModulesCompiled = true; + + // TODO: should this be resolved from the project root? + let postcssModules = await options.packageManager.require( + 'postcss-modules', + asset.filePath, + { + range: '^4.3.0', + saveDev: true, + shouldAutoInstall: options.shouldAutoInstall, + }, + ); + plugins.push( postcssModules({ getJSON: (filename, json) => (cssModules = json), - Loader: createLoader(asset, resolve), + Loader: await createLoader(asset, resolve, options), generateScopedName: (name, filename) => `${name}_${hashString( path.relative(options.projectRoot, filename), @@ -196,10 +206,15 @@ export default (new Transformer({ }, }): Transformer); -function createLoader( +async function createLoader( asset: MutableAsset, resolve: (from: FilePath, to: string) => Promise, + options: PluginOptions, ) { + let {default: FileSystemLoader} = await options.packageManager.require( + 'postcss-modules/build/css-loader-core/loader', + asset.filePath, + ); return class ParcelFileSystemLoader extends FileSystemLoader { async fetch(composesPath, relativeTo) { let importPath = composesPath.replace(/^["']|["']$/g, ''); diff --git a/packages/utils/babylon-walk/LICENSE.md b/packages/utils/babylon-walk/LICENSE.md deleted file mode 100755 index 258e4b99d20..00000000000 --- a/packages/utils/babylon-walk/LICENSE.md +++ /dev/null @@ -1,7 +0,0 @@ -Copyright (c) 2016 Tiancheng "Timothy" Gu - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/utils/babylon-walk/README.md b/packages/utils/babylon-walk/README.md deleted file mode 100755 index 25c02f9301e..00000000000 --- a/packages/utils/babylon-walk/README.md +++ /dev/null @@ -1,135 +0,0 @@ -# babylon-walk - -Lightweight AST traversal tools for [Babylon] ASTs. - -Babylon is the parser used by the [Babel] project, which supplies the wonderful [babel-traverse] module for walking Babylon ASTs. Problem is, babel-traverse is very heavyweight, as it is designed to supply utilities to make all sorts of AST transformations possible. For simple AST walking without transformation, babel-traverse brings a lot of overhead. - -This module loosely implements the API of Acorn parser's [walk module], which is a lightweight AST walker for the ESTree AST format. - -In my tests, babylon-walk's ancestor walker (the most complex walker provided by this module) is about 8 times faster than babel-traverse, if the visitors are cached and the same AST is used for all runs. It is about 16 times faster if a fresh AST is used every run. - -[![Dependency Status](https://img.shields.io/david/pugjs/babylon-walk.svg)](https://david-dm.org/pugjs/babylon-walk) -[![NPM version](https://img.shields.io/npm/v/babylon-walk.svg)](https://www.npmjs.com/package/babylon-walk) - -[babylon]: https://github.com/babel/babylon -[babel]: https://babeljs.io/ -[babel-traverse]: https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#toc-babel-traverse -[walk module]: https://github.com/ternjs/acorn#distwalkjs - -## Installation - -```sh -$ npm install babylon-walk -``` - -## API - -```js -var walk = require('babylon-walk'); -``` - -### walk.simple(node, visitors, state) - -Do a simple walk over the AST. `node` should be the AST node to walk, and `visitors` an object containing Babel [visitors]. Each visitor function will be called as `(node, state)`, where `node` is the AST node, and `state` is the same `state` passed to `walk.simple`. - -When `walk.simple` is called with a fresh set of visitors, it will first "explode" the visitors (e.g. expanding `Visitor(node, state) {}` to `Visitor() { enter(node, state) {} }`). This exploding process can take some time, so it is recommended to [cache your visitors] and communicate state leveraging the `state` parameter. (One difference between the linked article and babylon-walk is that the state is only accessible through the `state` variable, never as `this`.) - -All [babel-types] aliases (e.g. `Expression`) and the union syntax (e.g. `'Identifier|AssignmentPattern'(node, state) {}`) work. - -### walk.ancestor(node, visitors, state) - -Do a simple walk over the AST, but memoizing the ancestors of the node and making them available to the visitors. `node` should be the AST node to walk, and `visitors` an object containing Babel [visitors]. Each visitor function will be called as `(node, state, ancestors)`, where `node` is the AST node, `state` is the same `state` passed to `walk.ancestor`, and `ancestors` is an array of ancestors to the node (with the outermost node being `[0]` and the current node being `[ancestors.length - 1]`). If `state` is not specified in the call to `walk.ancestor`, the `state` parameter will be set to `ancestors`. - -When `walk.ancestor` is called with a fresh set of visitors, it will first "explode" the visitors (e.g. expanding `Visitor(node, state) {}` to `Visitor() { enter(node, state) {} }`). This exploding process can take some time, so it is recommended to [cache your visitors] and communicate state leveraging the `state` parameter. (One difference between the linked article and babylon-walk is that the state is only accessible through the `state` variable, never as `this`.) - -All [babel-types] aliases (e.g. `Expression`) and the union syntax (e.g. `'Identifier|AssignmentPattern'(node, state) {}`) work. - -### walk.recursive(node, visitors, state) - -Do a recursive walk over the AST, where the visitors are responsible for continuing the walk on the child nodes of their target node. `node` should be the AST node to walk, and `visitors` an object containing Babel [visitors]. Each visitor function will be called as `(node, state, c)`, where `node` is the AST node, `state` is the same `state` passed to `walk.recursive`, and `c` is a function that takes a single node as argument and continues walking _that_ node. If no visitor for a node is provided, the default walker algorithm will still be used. - -When `walk.recursive` is called with a fresh set of visitors, it will first "explode" the visitors (e.g. expanding `Visitor(node, state) {}` to `Visitor() { enter(node, state) {} }`). This exploding process can take some time, so it is recommended to [cache your visitors] and communicate state leveraging the `state` parameter. (One difference between the linked article and babylon-walk is that the state is only accessible through the `state` variable, never as `this`.) - -Unlike other babylon-walk walkers, `walk.recursive` does not call the `exit` visitor, only the `enter` (the default) visitor, of a specific node type. - -All [babel-types] aliases (e.g. `Expression`) and the union syntax (e.g. `'Identifier|AssignmentPattern'(node, state) {}`) work. - -In the following example, we are trying to count the number of functions in the outermost scope. This means, that we can simply walk all the statements and increment a counter if it is a function declaration or expression, and then stop walking. Note that we do not specify a visitor for the `Program` node, and the default algorithm for walking `Program` nodes is used (which is what we want). Also of note is how I bring the `visitors` object outside of `countFunctions` so that the object can be cached to improve performance. - -```js -import * as t from 'babel-types'; -import {parse} from 'babylon'; -import * as walk from 'babylon-walk'; - -const visitors = { - Statement(node, state, c) { - if (t.isVariableDeclaration(node)) { - for (let declarator of node.declarations) { - // Continue walking the declarator - c(declarator); - } - } else if (t.isFunctionDeclaration(node)) { - state.counter++; - } - }, - - VariableDeclarator(node, state) { - if (t.isFunction(node.init)) { - state.counter++; - } - }, -}; - -function countFunctions(node) { - const state = { - counter: 0, - }; - walk.recursive(node, visitors, state); - return state.counter; -} - -const ast = parse(` - // Counts - var a = () => {}; - - // Counts - function b() { - // Doesn't count - function c() { - } - } - - // Counts - const c = function d() {}; -`); - -countFunctions(ast); -// = 3 -``` - -### walk.traverse(node, visitors, state) - -Visitors get called as `(path, state)`. Every `Path` has these methods (similar to `@babel/traverse`): - -- `skip()` -- `replaceWith(node)` -- `remove()` - -[babel-types]: https://github.com/babel/babel/tree/master/packages/babel-types -[cache your visitors]: https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#toc-optimizing-nested-visitors -[visitors]: https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#toc-visitors - -## Caveat - -For those of you migrating from Acorn to Babylon, there are a few things to be aware of. - -1. The visitor caching suggestions do not apply to Acorn's walk module, but do for babylon-walk. - -2. babylon-walk does not provide any of the other functions Acorn's walk module provides (e.g. `make`, `findNode*`). - -3. babylon-walk does not use a `base` variable. The walker algorithm is the same as what babel-traverse uses. - - That means certain nodes that are not walked by Acorn, such as the `property` property of a non-computed `MemberExpression`, are walked by babylon-walk. - -## License - -MIT diff --git a/packages/utils/babylon-walk/package.json b/packages/utils/babylon-walk/package.json deleted file mode 100755 index 26589feee0c..00000000000 --- a/packages/utils/babylon-walk/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@parcel/babylon-walk", - "version": "2.2.1", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "description": "Lightweight Babylon AST traversal", - "repository": { - "type": "git", - "url": "https://github.com/parcel-bundler/parcel.git", - "directory": "packages/utils/babylon-walk" - }, - "main": "lib/index.js", - "source": "src/index.js", - "engines": { - "node": ">= 12.0.0" - }, - "author": "Timothy Gu ", - "dependencies": { - "@babel/types": "^7.12.13", - "lodash.clone": "^4.5.0" - } -} diff --git a/packages/utils/babylon-walk/src/explode.js b/packages/utils/babylon-walk/src/explode.js deleted file mode 100755 index 9699e9811ea..00000000000 --- a/packages/utils/babylon-walk/src/explode.js +++ /dev/null @@ -1,191 +0,0 @@ -// @flow -// Copied from babel-traverse, but with virtual types handling removed -// https://github.com/babel/babel/blob/07b3dc18a09f2217b38a3a63c8613add6df1b47d/packages/babel-traverse/src/visitors.js -import type {SimpleVisitors, VisitorsExploded} from './index'; - -// import * as messages from 'babel-messages'; -import * as t from '@babel/types'; -import clone from 'lodash.clone'; - -/** - * explode() will take a visitor object with all of the various shorthands - * that we support, and validates & normalizes it into a common format, ready - * to be used in traversal - * - * The various shorthands are: - * * `Identifier() { ... }` -> `Identifier: { enter() { ... } }` - * * `"Identifier|NumericLiteral": { ... }` -> `Identifier: { ... }, NumericLiteral: { ... }` - * * Aliases in `babel-types`: e.g. `Property: { ... }` -> `ObjectProperty: { ... }, ClassProperty: { ... }` - * - * Other normalizations are: - * * `enter` and `exit` functions are wrapped in arrays, to ease merging of - * visitors - */ -export default function explode( - visitor: SimpleVisitors, -): VisitorsExploded { - // $FlowFixMe - if (visitor._exploded) return visitor; - // $FlowFixMe - visitor._exploded = true; - - // normalise pipes - for (let nodeType in visitor) { - if (shouldIgnoreKey(nodeType)) continue; - - let parts = nodeType.split('|'); - if (parts.length === 1) continue; - - let fns = visitor[nodeType]; - delete visitor[nodeType]; - - for (let part of parts) { - visitor[part] = fns; - } - } - - // verify data structure - verify(visitor); - - // make sure there's no __esModule type since this is because we're using loose mode - // and it sets __esModule to be enumerable on all modules :( - delete visitor.__esModule; - - // ensure visitors are objects - ensureEntranceObjects(visitor); - - // ensure enter/exit callbacks are arrays - ensureCallbackArrays(visitor); - - // add aliases - for (let nodeType in visitor) { - if (shouldIgnoreKey(nodeType)) continue; - - let fns = visitor[nodeType]; - - let aliases = t.FLIPPED_ALIAS_KEYS[nodeType]; - - let deprecratedKey = t.DEPRECATED_KEYS[nodeType]; - if (deprecratedKey) { - throw new Error( - `Visitor defined for ${nodeType} but it has been renamed to ${deprecratedKey}`, - ); - } - - if (!aliases) continue; - - // clear it from the visitor - delete visitor[nodeType]; - - for (let alias of aliases) { - let existing = visitor[alias]; - if (existing) { - mergePair(existing, fns); - } else { - visitor[alias] = clone(fns); - } - } - } - - for (let nodeType in visitor) { - if (shouldIgnoreKey(nodeType)) continue; - - ensureCallbackArrays(visitor[nodeType]); - } - - // $FlowFixMe - return visitor; -} - -export function verify(visitor: any) { - if (visitor._verified) return; - - if (typeof visitor === 'function') { - // throw new Error(messages.get("traverseVerifyRootFunction")); - throw new Error( - "You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?", - ); - } - - for (let nodeType in visitor) { - if (nodeType === 'enter' || nodeType === 'exit') { - validateVisitorMethods(nodeType, visitor[nodeType]); - } - - if (shouldIgnoreKey(nodeType)) continue; - - if (t.TYPES.indexOf(nodeType) < 0) { - // throw new Error(messages.get("traverseVerifyNodeType", nodeType)); - throw new Error( - `You gave us a visitor for the node type ${nodeType} but it's not a valid type`, - ); - } - - let visitors = visitor[nodeType]; - if (typeof visitors === 'object') { - for (let visitorKey in visitors) { - if (visitorKey === 'enter' || visitorKey === 'exit') { - // verify that it just contains functions - validateVisitorMethods( - `${nodeType}.${visitorKey}`, - visitors[visitorKey], - ); - } else { - // throw new Error(messages.get("traverseVerifyVisitorProperty", nodeType, visitorKey)); - throw new Error( - `You passed \`traverse()\` a visitor object with the property ${nodeType} that has the invalid property ${visitorKey}`, - ); - } - } - } - } - - visitor._verified = true; -} - -function validateVisitorMethods(path, val) { - let fns = [].concat(val); - for (let fn of fns) { - if (typeof fn !== 'function') { - throw new TypeError( - `Non-function found defined in ${path} with type ${typeof fn}`, - ); - } - } -} - -function ensureEntranceObjects(obj: any) { - for (let key in obj) { - if (shouldIgnoreKey(key)) continue; - - let fns = obj[key]; - if (typeof fns === 'function') { - obj[key] = {enter: fns}; - } - } -} - -function ensureCallbackArrays(obj: any) { - if (obj.enter && !Array.isArray(obj.enter)) obj.enter = [obj.enter]; - if (obj.exit && !Array.isArray(obj.exit)) obj.exit = [obj.exit]; -} - -function shouldIgnoreKey(key) { - // internal/hidden key - if (key[0] === '_') return true; - - // ignore function keys - if (key === 'enter' || key === 'exit' || key === 'shouldSkip') return true; - - // ignore other options - if (key === 'blacklist' || key === 'noScope' || key === 'skipKeys') - return true; - - return false; -} - -function mergePair(dest: any, src: any) { - for (let key in src) { - dest[key] = [].concat(dest[key] || [], src[key]); - } -} diff --git a/packages/utils/babylon-walk/src/index.js b/packages/utils/babylon-walk/src/index.js deleted file mode 100755 index 8f82f484f97..00000000000 --- a/packages/utils/babylon-walk/src/index.js +++ /dev/null @@ -1,137 +0,0 @@ -// @flow -import type {Node} from '@babel/types'; -import type {SimpleVisitors, VisitorsExploded} from './types'; - -import * as t from '@babel/types'; -import explode from './explode.js'; -import traverse from './traverse'; - -export * from './traverse2'; -export * from './traverse-all'; -export * from './scope'; -export * from './types'; - -export function simple( - node: Node, - _visitors: SimpleVisitors<(any, T) => void>, - state: T, -) { - if (!node) return; - - const visitors: VisitorsExploded<(any, T) => void> = explode(_visitors); - - (function c(node) { - if (!node) return; - - const {enter, exit} = visitors[node.type] || {}; - - if (enter) { - for (let visitor of enter) { - visitor(node, state); - } - } - - for (let key of t.VISITOR_KEYS[node.type] || []) { - // $FlowFixMe - let subNode = node[key]; - if (Array.isArray(subNode)) { - for (let subSubNode of subNode) { - c(subSubNode); - } - } else { - c(subNode); - } - } - - if (exit) { - for (let visitor of exit) { - visitor(node, state); - } - } - })(node); -} - -export function ancestor( - node: Node, - _visitors: SimpleVisitors<(any, T, Array) => void>, - state: T, -) { - if (!node) return; - - const visitors = explode<(any, T, Array) => void>(_visitors); - let ancestors = []; - - (function c(node) { - if (!node) return; - - const {enter, exit} = visitors[node.type] || {}; - - let isNew = node != ancestors[ancestors.length - 1]; - if (isNew) ancestors.push(node); - - if (enter) { - for (let visitor of enter) { - // $FlowFixMe - visitor(node, state || ancestors, ancestors); - } - } - - for (let key of t.VISITOR_KEYS[node.type] || []) { - // $FlowFixMe - let subNode = node[key]; - if (Array.isArray(subNode)) { - for (let subSubNode of subNode) { - c(subSubNode); - } - } else { - c(subNode); - } - } - - if (exit) { - for (let visitor of exit) { - // $FlowFixMe - visitor(node, state || ancestors, ancestors); - } - } - - if (isNew) ancestors.pop(); - })(node); -} - -export function recursive( - node: Node, - _visitors: SimpleVisitors<(any, T, recurse: (Node) => void) => void>, - state: T, -) { - if (!node) return; - - const visitors = - explode<(any, T, recurse: (Node) => void) => void>(_visitors); - - (function c(node) { - if (!node) return; - - const {enter} = visitors[node.type] || {}; - - if (enter && enter.length) { - for (let visitor of enter) { - visitor(node, state, c); - } - } else { - for (let key of t.VISITOR_KEYS[node.type] || []) { - // $FlowFixMe - let subNode = node[key]; - if (Array.isArray(subNode)) { - for (let subSubNode of subNode) { - c(subSubNode); - } - } else { - c(subNode); - } - } - } - })(node); -} - -export {traverse}; diff --git a/packages/utils/babylon-walk/src/scope.js b/packages/utils/babylon-walk/src/scope.js deleted file mode 100644 index f8a10c9f6a2..00000000000 --- a/packages/utils/babylon-walk/src/scope.js +++ /dev/null @@ -1,231 +0,0 @@ -// @flow - -import type {Identifier, Node} from '@babel/types'; -import type {Visitors} from './types'; -import * as t from '@babel/types'; -import invariant from 'assert'; -import { - isClassDeclaration, - isFunctionDeclaration, - isIdentifier, - isImportDeclaration, - isVariableDeclaration, -} from '@babel/types'; - -export type ScopeType = 'program' | 'function' | 'arrow_function' | 'block'; -export type BindingType = 'var' | 'let' | 'const'; -export class Scope { - type: ScopeType; - names: Set = new Set(); - bindings: Map = new Map(); - references: Map> = new Map(); - parent: ?Scope; - program: Scope; - renames: Map = new Map(); - inverseRenames: Map = new Map(); - - constructor(type: ScopeType, parent: ?Scope) { - this.type = type; - this.parent = parent; - this.program = parent ? parent.program : this; - } - - has(name: string): boolean { - if (this.names.has(name)) { - return true; - } - - if (this.parent) { - return this.parent.has(name); - } - - return false; - } - - add(name: string) { - this.names.add(name); - } - - generateUid(name: string = 'temp'): string { - name = t - .toIdentifier(name) - .replace(/^_+/, '') - .replace(/[0-9]+$/g, ''); - - let uid; - let i = 0; - do { - uid = '_' + name + (i > 1 ? i : ''); - i++; - } while (this.program.names.has(uid)); - - this.program.names.add(uid); - return uid; - } - - addBinding(name: string, decl: Node, type: BindingType | 'param') { - if ( - type === 'var' && - this.type !== 'function' && - this.type !== 'arrow_function' && - this.parent - ) { - this.parent.addBinding(name, decl, type); - } else { - if (type === 'param') type = 'var'; - this.names.add(name); - this.bindings.set(name, decl); - this.program.names.add(name); - } - } - - getBinding(name: string): ?Node { - return this.bindings.get(name) ?? this.parent?.getBinding(name); - } - - addReference(identifier: Identifier) { - let references = this.references.get(identifier.name); - if (!references) { - references = new Set(); - this.references.set(identifier.name, references); - } - - references.add(identifier); - } - - rename(from: string, to: string) { - // If already renamed, update the original to the final name. - let renamed = this.inverseRenames.get(from); - if (renamed) { - this.renames.set(renamed, to); - } else { - this.renames.set(from, to); - this.inverseRenames.set(to, from); - } - } - - exit() { - // Rename declarations in this scope. - for (let [from, to] of this.renames) { - if (!this.names.has(from) && this.parent) { - this.parent.rename(from, to); - } - - let references = this.references.get(from); - if (!references) { - continue; - } - - for (let id of references) { - id.name = to; - } - } - - // Propagate unknown references to the parent scope. - let parent = this.parent; - if (parent) { - for (let [name, ids] of this.references) { - if (!this.names.has(name)) { - for (let id of ids) { - parent.addReference(id); - } - } - } - } - } -} - -export type ScopeState = {| - scope: Scope, -|}; - -export let scopeVisitor: Visitors = { - Program(node, state) { - if (!state.scope) { - state.scope = new Scope('program'); - } - }, - Scopable: { - enter(node, state, ancestors) { - if ( - !t.isScope(node, ancestors[ancestors.length - 2]) || - t.isProgram(node) || - t.isFunction(node) - ) { - return; - } - - state.scope = new Scope('block', state.scope); - }, - exit(node, state, ancestors) { - if (!t.isScope(node, ancestors[ancestors.length - 2])) { - return; - } - - state.scope.exit(); - if (state.scope.parent) { - state.scope = state.scope.parent; - } - }, - }, - Declaration: { - exit(node, {scope}) { - if (t.isFunction(node) || t.isExportDeclaration(node)) { - return; - } - - // Register declarations with the scope. - if (isVariableDeclaration(node)) { - for (let decl of node.declarations) { - let ids = t.getBindingIdentifiers(decl); - for (let id in ids) { - scope.addBinding(id, decl, node.kind); - } - } - } else { - let type: BindingType; - if (isClassDeclaration(node)) { - type = 'let'; - } else if (isImportDeclaration(node)) { - type = 'const'; - } else { - invariant(false); - } - let ids = t.getBindingIdentifiers(node); - for (let id in ids) { - scope.addBinding(id, node, type); - } - } - }, - }, - Function(node, state) { - // Add function name to outer scope - let name; - if (isFunctionDeclaration(node) && isIdentifier(node.id)) { - name = node.id.name; - state.scope.addBinding(name, node, 'var'); - } - - // Create new scope - let type = t.isArrowFunctionExpression(node) - ? 'arrow_function' - : 'function'; - state.scope = new Scope(type, state.scope); - - // Add inner bindings to inner scope - let inner = t.getBindingIdentifiers(node); - for (let id in inner) { - if (id !== name) { - state.scope.addBinding(id, inner[id], 'param'); - } - } - }, - Identifier(node, state, ancestors) { - let parent = ancestors[ancestors.length - 2]; - if (!t.isReferenced(node, parent, ancestors[ancestors.length - 3])) { - return; - } - - state.scope.addReference(node); - }, -}; diff --git a/packages/utils/babylon-walk/src/traverse-all.js b/packages/utils/babylon-walk/src/traverse-all.js deleted file mode 100644 index ef58932e505..00000000000 --- a/packages/utils/babylon-walk/src/traverse-all.js +++ /dev/null @@ -1,24 +0,0 @@ -// @flow -import type {Node} from '@babel/types'; - -import * as t from '@babel/types'; - -export function traverseAll(node: Node, visitor: (node: Node) => void): void { - if (!node) { - return; - } - - visitor(node); - - for (let key of t.VISITOR_KEYS[node.type] || []) { - // $FlowFixMe - let subNode: Node | Array = node[key]; - if (Array.isArray(subNode)) { - for (let i = 0; i < subNode.length; i++) { - traverseAll(subNode[i], visitor); - } - } else { - traverseAll(subNode, visitor); - } - } -} diff --git a/packages/utils/babylon-walk/src/traverse.js b/packages/utils/babylon-walk/src/traverse.js deleted file mode 100644 index 86963d2a29b..00000000000 --- a/packages/utils/babylon-walk/src/traverse.js +++ /dev/null @@ -1,98 +0,0 @@ -// @flow -import type {Node} from '@babel/types'; -import type {SimpleVisitors, VisitorsExploded} from './index'; - -import * as t from '@babel/types'; -import invariant from 'assert'; -import explode from './explode.js'; - -class Path { - node: Node; - parent: Node; - listkey: ?string; - key: number | string; - _skipped: boolean = false; - _removed: boolean = false; - - constructor( - node: Node, - parent: Node, - listkey: ?string, - key: number | string, - ) { - this.node = node; - this.parent = parent; - this.listkey = listkey; - this.key = key; - } - replaceWith(n: Node) { - this.node = n; - - // $FlowFixMe - let p = this.listkey ? this.parent[this.listkey] : this.parent; - // $FlowFixMe - p[this.key] = this.node; - } - skip() { - this._skipped = true; - } - remove() { - this._removed = true; - invariant(this.listkey && typeof this.key === 'number'); - // $FlowFixMe - this.parent[this.listkey].splice(this.key, 1); - } -} - -export default function traverse( - node: Node, - visitors: SimpleVisitors<(Path, T) => void>, - state: T, -) { - traverseWalk(explode(visitors), state, node, null, null, null); -} - -function traverseWalk( - visitors: VisitorsExploded<(Path, T) => void>, - state: T, - node: Node, - parent: ?Node, - listkey, - key, -) { - if (!node || (visitors.shouldSkip && visitors.shouldSkip(node) === true)) { - return; - } - - const {enter, exit} = visitors[node.type] || {}; - - // $FlowFixMe - const path = new Path(node, parent, listkey, key); - - if (enter) { - for (let visitor of enter) { - visitor(path, state); - if (path._skipped || path._removed) return path._removed; - } - } - - for (let key of t.VISITOR_KEYS[node.type] || []) { - // $FlowFixMe - let subNode: Node | Array = node[key]; - if (Array.isArray(subNode)) { - for (let i = 0; i < subNode.length; i++) { - if (traverseWalk(visitors, state, subNode[i], node, key, i) === true) { - i--; - } - } - } else { - traverseWalk(visitors, state, subNode, node, null, key); - } - } - - if (exit) { - for (let visitor of exit) { - visitor(path, state); - } - } -} diff --git a/packages/utils/babylon-walk/src/traverse2.js b/packages/utils/babylon-walk/src/traverse2.js deleted file mode 100644 index 7b011e79efe..00000000000 --- a/packages/utils/babylon-walk/src/traverse2.js +++ /dev/null @@ -1,162 +0,0 @@ -// @flow -import type {Node} from '@babel/types'; -import type {VisitorFunc, Visitors, VisitorsExploded} from './types'; - -import * as t from '@babel/types'; -import explode from './explode.js'; - -export const SKIP: symbol = Symbol('traverse.SKIP'); -export const REMOVE: symbol = Symbol('traverse.REMOVE'); - -export function traverse2( - node: Node, - visitors: Visitors | VisitorsExploded>, - state: T, -) { - let ancestors = []; - let revisit = []; - traverseWalk(explode((visitors: any)), ancestors, revisit, state, node); - - for (let fn of revisit) { - fn(); - } -} - -function traverseWalk( - visitors: VisitorsExploded>, - ancestors: Node[], - revisit: any[], - state: T, - node: Node, -) { - if (!node || (visitors.shouldSkip && visitors.shouldSkip(node) === true)) { - return; - } - - let isNew = node != ancestors[ancestors.length - 1]; - if (isNew) ancestors.push(node); - - const {enter, exit} = visitors[node.type] || {}; - - if (enter) { - for (let visitor of enter) { - let res = visitor(node, state, ancestors); - if (res != null) { - if (isNew) ancestors.pop(); - return res; - } - } - } - - for (let key of t.VISITOR_KEYS[node.type] || []) { - // $FlowFixMe - let subNode: Node | Array = node[key]; - if (Array.isArray(subNode)) { - let revisitDiff = 0; - for (let i = 0; i < subNode.length; i++) { - let res = traverseWalk(visitors, ancestors, revisit, state, subNode[i]); - if (res === REMOVE) { - subNode.splice(i, 1); - i--; - } else if (res !== SKIP && res != null) { - if (typeof res === 'function') { - revisit.push(() => { - let index = i + revisitDiff; - let r = replaceArray(subNode, index, res()); - revisitDiff += r - index; - }); - } else { - i = replaceArray(subNode, i, res); - } - } - } - } else { - let res = traverseWalk(visitors, ancestors, revisit, state, subNode); - if (res === REMOVE) { - if (isNew) ancestors.pop(); - return REMOVE; - } else if (res !== SKIP && res != null) { - if (typeof res === 'function') { - revisit.push(() => { - let n = res(); - if (n != null) { - // $FlowFixMe - node[key] = n; - } - }); - } else { - // $FlowFixMe - node[key] = res; - } - } - } - } - - if (exit) { - for (let visitor of exit) { - let res = visitor(node, state, ancestors); - if (res != null) { - if (isNew) ancestors.pop(); - return res; - } - } - } - - if (isNew) ancestors.pop(); -} - -function replaceArray(subNode, i, res) { - if (res === REMOVE) { - subNode.splice(i, 1); - i--; - } else if (Array.isArray(res)) { - subNode.splice(i, 1, ...res); - if (res.length === 0) { - i--; - } else if (res.length > 1) { - i += res.length - 1; - } - } else if (res != null) { - // $FlowFixMe - subNode[i] = res; - } - - return i; -} - -export function mergeVisitors( - a: Visitors, - b: Visitors, -): VisitorsExploded> { - let res: VisitorsExploded> = {}; - // $FlowFixMe - res._exploded = true; - - for (let visitor of [a, b]) { - let {shouldSkip, ...exploded} = explode((visitor: any)); - for (let type in exploded) { - if (!res[type]) { - res[type] = {}; - } - - if (exploded[type].enter) { - res[type].enter = [...(res[type].enter || []), ...exploded[type].enter]; - } - - if (exploded[type].exit) { - res[type].exit = [...(res[type].exit || []), ...exploded[type].exit]; - } - } - - if (shouldSkip) { - if (res.shouldSkip) { - let prev = res.shouldSkip; - res.shouldSkip = node => prev(node) || shouldSkip(node); - } else { - res.shouldSkip = shouldSkip; - } - } - } - - return res; -} diff --git a/packages/utils/babylon-walk/src/types.js b/packages/utils/babylon-walk/src/types.js deleted file mode 100644 index 2f54bff4e7f..00000000000 --- a/packages/utils/babylon-walk/src/types.js +++ /dev/null @@ -1,337 +0,0 @@ -// @flow -import * as t from '@babel/types'; - -export type VisitorFunc = ( - N, - S, - Array, -) => - | void - | t.Node - | Array - | symbol - | (() => void | t.Node | Array | symbol); -type SingleVisitor = - | VisitorFunc - | {| - enter?: VisitorFunc, - exit?: VisitorFunc, - |}; - -export type Visitors = { - shouldSkip?: t.Node => boolean, - ReferencedIdentifier?: SingleVisitor, - Function?: SingleVisitor, - Class?: SingleVisitor, - ArrayExpression?: SingleVisitor, - AssignmentExpression?: SingleVisitor, - BinaryExpression?: SingleVisitor, - InterpreterDirective?: SingleVisitor, - Directive?: SingleVisitor, - DirectiveLiteral?: SingleVisitor, - BlockStatement?: SingleVisitor, - BreakStatement?: SingleVisitor, - CallExpression?: SingleVisitor, - CatchClause?: SingleVisitor, - ConditionalExpression?: SingleVisitor, - ContinueStatement?: SingleVisitor, - DebuggerStatement?: SingleVisitor, - DoWhileStatement?: SingleVisitor, - EmptyStatement?: SingleVisitor, - ExpressionStatement?: SingleVisitor, - File?: SingleVisitor, - ForInStatement?: SingleVisitor, - ForStatement?: SingleVisitor, - FunctionDeclaration?: SingleVisitor, - FunctionExpression?: SingleVisitor, - Identifier?: SingleVisitor, - IfStatement?: SingleVisitor, - LabeledStatement?: SingleVisitor, - StringLiteral?: SingleVisitor, - NumericLiteral?: SingleVisitor, - NullLiteral?: SingleVisitor, - BooleanLiteral?: SingleVisitor, - RegExpLiteral?: SingleVisitor, - LogicalExpression?: SingleVisitor, - MemberExpression?: SingleVisitor, - NewExpression?: SingleVisitor, - Program?: SingleVisitor, - ObjectExpression?: SingleVisitor, - ObjectMethod?: SingleVisitor, - ObjectProperty?: SingleVisitor, - RestElement?: SingleVisitor, - ReturnStatement?: SingleVisitor, - SequenceExpression?: SingleVisitor, - ParenthesizedExpression?: SingleVisitor, - SwitchCase?: SingleVisitor, - SwitchStatement?: SingleVisitor, - ThisExpression?: SingleVisitor, - ThrowStatement?: SingleVisitor, - TryStatement?: SingleVisitor, - UnaryExpression?: SingleVisitor, - UpdateExpression?: SingleVisitor, - VariableDeclaration?: SingleVisitor, - VariableDeclarator?: SingleVisitor, - WhileStatement?: SingleVisitor, - WithStatement?: SingleVisitor, - AssignmentPattern?: SingleVisitor, - ArrayPattern?: SingleVisitor, - ArrowFunctionExpression?: SingleVisitor, - ClassBody?: SingleVisitor, - ClassExpression?: SingleVisitor, - ClassDeclaration?: SingleVisitor, - ExportAllDeclaration?: SingleVisitor, - ExportDefaultDeclaration?: SingleVisitor, - ExportNamedDeclaration?: SingleVisitor, - ExportSpecifier?: SingleVisitor, - ForOfStatement?: SingleVisitor, - ImportDeclaration?: SingleVisitor, - ImportDefaultSpecifier?: SingleVisitor, - ImportNamespaceSpecifier?: SingleVisitor, - ImportSpecifier?: SingleVisitor, - MetaProperty?: SingleVisitor, - ClassMethod?: SingleVisitor, - ObjectPattern?: SingleVisitor, - SpreadElement?: SingleVisitor, - Super?: SingleVisitor, - TaggedTemplateExpression?: SingleVisitor, - TemplateElement?: SingleVisitor, - TemplateLiteral?: SingleVisitor, - YieldExpression?: SingleVisitor, - AnyTypeAnnotation?: SingleVisitor, - ArrayTypeAnnotation?: SingleVisitor, - BooleanTypeAnnotation?: SingleVisitor, - BooleanLiteralTypeAnnotation?: SingleVisitor< - t.BooleanLiteralTypeAnnotation, - S, - >, - NullLiteralTypeAnnotation?: SingleVisitor, - ClassImplements?: SingleVisitor, - DeclareClass?: SingleVisitor, - DeclareFunction?: SingleVisitor, - DeclareInterface?: SingleVisitor, - DeclareModule?: SingleVisitor, - DeclareModuleExports?: SingleVisitor, - DeclareTypeAlias?: SingleVisitor, - DeclareOpaqueType?: SingleVisitor, - DeclareVariable?: SingleVisitor, - DeclareExportDeclaration?: SingleVisitor, - DeclareExportAllDeclaration?: SingleVisitor, - DeclaredPredicate?: SingleVisitor, - ExistsTypeAnnotation?: SingleVisitor, - FunctionTypeAnnotation?: SingleVisitor, - FunctionTypeParam?: SingleVisitor, - GenericTypeAnnotation?: SingleVisitor, - InferredPredicate?: SingleVisitor, - InterfaceExtends?: SingleVisitor, - InterfaceDeclaration?: SingleVisitor, - InterfaceTypeAnnotation?: SingleVisitor, - IntersectionTypeAnnotation?: SingleVisitor, - MixedTypeAnnotation?: SingleVisitor, - EmptyTypeAnnotation?: SingleVisitor, - NullableTypeAnnotation?: SingleVisitor, - NumberLiteralTypeAnnotation?: SingleVisitor, - NumberTypeAnnotation?: SingleVisitor, - ObjectTypeAnnotation?: SingleVisitor, - ObjectTypeInternalSlot?: SingleVisitor, - ObjectTypeCallProperty?: SingleVisitor, - ObjectTypeIndexer?: SingleVisitor, - ObjectTypeProperty?: SingleVisitor, - ObjectTypeSpreadProperty?: SingleVisitor, - OpaqueType?: SingleVisitor, - QualifiedTypeIdentifier?: SingleVisitor, - StringLiteralTypeAnnotation?: SingleVisitor, - StringTypeAnnotation?: SingleVisitor, - ThisTypeAnnotation?: SingleVisitor, - TupleTypeAnnotation?: SingleVisitor, - TypeofTypeAnnotation?: SingleVisitor, - TypeAlias?: SingleVisitor, - TypeAnnotation?: SingleVisitor, - TypeCastExpression?: SingleVisitor, - TypeParameter?: SingleVisitor, - TypeParameterDeclaration?: SingleVisitor, - TypeParameterInstantiation?: SingleVisitor, - UnionTypeAnnotation?: SingleVisitor, - Variance?: SingleVisitor, - VoidTypeAnnotation?: SingleVisitor, - EnumDeclaration?: SingleVisitor, - EnumBooleanBody?: SingleVisitor, - EnumNumberBody?: SingleVisitor, - EnumStringBody?: SingleVisitor, - EnumSymbolBody?: SingleVisitor, - EnumBooleanMember?: SingleVisitor, - EnumNumberMember?: SingleVisitor, - EnumStringMember?: SingleVisitor, - EnumDefaultedMember?: SingleVisitor, - JSXAttribute?: SingleVisitor, - JSXClosingElement?: SingleVisitor, - JSXElement?: SingleVisitor, - JSXEmptyExpression?: SingleVisitor, - JSXExpressionContainer?: SingleVisitor, - JSXSpreadChild?: SingleVisitor, - JSXIdentifier?: SingleVisitor, - JSXMemberExpression?: SingleVisitor, - JSXNamespacedName?: SingleVisitor, - JSXOpeningElement?: SingleVisitor, - JSXSpreadAttribute?: SingleVisitor, - JSXText?: SingleVisitor, - JSXFragment?: SingleVisitor, - JSXOpeningFragment?: SingleVisitor, - JSXClosingFragment?: SingleVisitor, - Noop?: SingleVisitor, - Placeholder?: SingleVisitor, - V8IntrinsicIdentifier?: SingleVisitor, - ArgumentPlaceholder?: SingleVisitor, - AwaitExpression?: SingleVisitor, - BindExpression?: SingleVisitor, - ClassProperty?: SingleVisitor, - OptionalMemberExpression?: SingleVisitor, - PipelineTopicExpression?: SingleVisitor, - PipelineBareFunction?: SingleVisitor, - PipelinePrimaryTopicReference?: SingleVisitor< - t.PipelinePrimaryTopicReference, - S, - >, - OptionalCallExpression?: SingleVisitor, - ClassPrivateProperty?: SingleVisitor, - ClassPrivateMethod?: SingleVisitor, - Import?: SingleVisitor, - Decorator?: SingleVisitor, - DoExpression?: SingleVisitor, - ExportDefaultSpecifier?: SingleVisitor, - ExportNamespaceSpecifier?: SingleVisitor, - PrivateName?: SingleVisitor, - BigIntLiteral?: SingleVisitor, - TSParameterProperty?: SingleVisitor, - TSDeclareFunction?: SingleVisitor, - TSDeclareMethod?: SingleVisitor, - TSQualifiedName?: SingleVisitor, - TSCallSignatureDeclaration?: SingleVisitor, - TSConstructSignatureDeclaration?: SingleVisitor< - t.TSConstructSignatureDeclaration, - S, - >, - TSPropertySignature?: SingleVisitor, - TSMethodSignature?: SingleVisitor, - TSIndexSignature?: SingleVisitor, - TSAnyKeyword?: SingleVisitor, - TSBooleanKeyword?: SingleVisitor, - TSBigIntKeyword?: SingleVisitor, - TSNeverKeyword?: SingleVisitor, - TSNullKeyword?: SingleVisitor, - TSNumberKeyword?: SingleVisitor, - TSObjectKeyword?: SingleVisitor, - TSStringKeyword?: SingleVisitor, - TSSymbolKeyword?: SingleVisitor, - TSUndefinedKeyword?: SingleVisitor, - TSUnknownKeyword?: SingleVisitor, - TSVoidKeyword?: SingleVisitor, - TSThisType?: SingleVisitor, - TSFunctionType?: SingleVisitor, - TSConstructorType?: SingleVisitor, - TSTypeReference?: SingleVisitor, - TSTypePredicate?: SingleVisitor, - TSTypeQuery?: SingleVisitor, - TSTypeLiteral?: SingleVisitor, - TSArrayType?: SingleVisitor, - TSTupleType?: SingleVisitor, - TSOptionalType?: SingleVisitor, - TSRestType?: SingleVisitor, - TSUnionType?: SingleVisitor, - TSIntersectionType?: SingleVisitor, - TSConditionalType?: SingleVisitor, - TSInferType?: SingleVisitor, - TSParenthesizedType?: SingleVisitor, - TSTypeOperator?: SingleVisitor, - TSIndexedAccessType?: SingleVisitor, - TSMappedType?: SingleVisitor, - TSLiteralType?: SingleVisitor, - TSExpressionWithTypeArguments?: SingleVisitor< - t.TSExpressionWithTypeArguments, - S, - >, - TSInterfaceDeclaration?: SingleVisitor, - TSInterfaceBody?: SingleVisitor, - TSTypeAliasDeclaration?: SingleVisitor, - TSAsExpression?: SingleVisitor, - TSTypeAssertion?: SingleVisitor, - TSEnumDeclaration?: SingleVisitor, - TSEnumMember?: SingleVisitor, - TSModuleDeclaration?: SingleVisitor, - TSModuleBlock?: SingleVisitor, - TSImportType?: SingleVisitor, - TSImportEqualsDeclaration?: SingleVisitor, - TSExternalModuleReference?: SingleVisitor, - TSNonNullExpression?: SingleVisitor, - TSExportAssignment?: SingleVisitor, - TSNamespaceExportDeclaration?: SingleVisitor< - t.TSNamespaceExportDeclaration, - S, - >, - TSTypeAnnotation?: SingleVisitor, - TSTypeParameterInstantiation?: SingleVisitor< - t.TSTypeParameterInstantiation, - S, - >, - TSTypeParameterDeclaration?: SingleVisitor, - TSTypeParameter?: SingleVisitor, - Expression?: SingleVisitor, - Binary?: SingleVisitor, - Scopable?: SingleVisitor, - BlockParent?: SingleVisitor, - Block?: SingleVisitor, - Statement?: SingleVisitor, - Terminatorless?: SingleVisitor, - CompletionStatement?: SingleVisitor, - Conditional?: SingleVisitor, - Loop?: SingleVisitor, - While?: SingleVisitor, - ExpressionWrapper?: SingleVisitor, - For?: SingleVisitor, - ForXStatement?: SingleVisitor, - FunctionParent?: SingleVisitor, - Pureish?: SingleVisitor, - Declaration?: SingleVisitor, - PatternLike?: SingleVisitor, - LVal?: SingleVisitor, - TSEntityName?: SingleVisitor, - Literal?: SingleVisitor, - Immutable?: SingleVisitor, - UserWhitespacable?: SingleVisitor, - Method?: SingleVisitor, - ObjectMember?: SingleVisitor, - Property?: SingleVisitor, - UnaryLike?: SingleVisitor, - Pattern?: SingleVisitor, - ModuleDeclaration?: SingleVisitor, - ExportDeclaration?: SingleVisitor, - ModuleSpecifier?: SingleVisitor, - Flow?: SingleVisitor, - FlowType?: SingleVisitor, - FlowBaseAnnotation?: SingleVisitor, - FlowDeclaration?: SingleVisitor, - FlowPredicate?: SingleVisitor, - EnumBody?: SingleVisitor, - EnumMember?: SingleVisitor, - JSX?: SingleVisitor, - Private?: SingleVisitor, - TSTypeElement?: SingleVisitor, - TSType?: SingleVisitor, - [string]: SingleVisitor, - ... -}; - -export type SimpleVisitors = { - [string]: F | {|enter?: F, exit?: F|}, - shouldSkip?: t.Node => boolean, - ... -}; - -export type VisitorsExploded = { - [string]: {| - enter?: Array, - exit?: Array, - |}, - shouldSkip?: t.Node => boolean, - ... -}; diff --git a/packages/utils/fs-write-stream-atomic/index.js b/packages/utils/fs-write-stream-atomic/index.js index e2198a90ac1..849ea300260 100644 --- a/packages/utils/fs-write-stream-atomic/index.js +++ b/packages/utils/fs-write-stream-atomic/index.js @@ -1,5 +1,5 @@ var fs = require('graceful-fs'); -var Writable = require('readable-stream').Writable; +var Writable = require('stream').Writable; var util = require('util'); var MurmurHash3 = require('imurmurhash'); var iferr = require('iferr'); @@ -64,25 +64,25 @@ function WriteStreamAtomic(path, options) { // data has been written to our target stream. So we suppress // finish from being emitted here, and only emit it after our // target stream is closed and we've moved everything around. -WriteStreamAtomic.prototype.emit = function(event) { +WriteStreamAtomic.prototype.emit = function (event) { if (event === 'finish') return this.__atomicStream.end(); return Writable.prototype.emit.apply(this, arguments); }; -WriteStreamAtomic.prototype._write = function(buffer, encoding, cb) { +WriteStreamAtomic.prototype._write = function (buffer, encoding, cb) { var flushed = this.__atomicStream.write(buffer, encoding); if (flushed) return cb(); this.__atomicStream.once('drain', cb); }; function handleOpen(writeStream) { - return function(fd) { + return function (fd) { writeStream.emit('open', fd); }; } function handleClose(writeStream) { - return function() { + return function () { if (writeStream.__atomicClosed) return; writeStream.__atomicClosed = true; if (writeStream.__atomicChown) { @@ -127,13 +127,13 @@ function handleClose(writeStream) { var targetFileHash = crypto.createHash('sha512'); fs.createReadStream(writeStream.__atomicTmp) - .on('data', function(data, enc) { + .on('data', function (data, enc) { tmpFileHash.update(data, enc); }) .on('error', fileHashError) .on('end', fileHashComplete); fs.createReadStream(writeStream.__atomicTarget) - .on('data', function(data, enc) { + .on('data', function (data, enc) { targetFileHash.update(data, enc); }) .on('error', fileHashError) @@ -157,7 +157,7 @@ function handleClose(writeStream) { } function cleanup(err) { - fs.unlink(writeStream.__atomicTmp, function() { + fs.unlink(writeStream.__atomicTmp, function () { if (err) { writeStream.emit('error', err); writeStream.emit('close'); @@ -175,14 +175,14 @@ function handleClose(writeStream) { // Delay the close to provide the same temporal separation a physical // file operation would have– that is, the close event is emitted only // after the async close operation completes. - setImmediate(function() { + setImmediate(function () { writeStream.emit('close'); }); } } function handleError(writeStream) { - return function(er) { + return function (er) { cleanupSync(); writeStream.emit('error', er); writeStream.__atomicClosed = true; diff --git a/packages/utils/fs-write-stream-atomic/package.json b/packages/utils/fs-write-stream-atomic/package.json index a1a24a65875..bfe53597b55 100644 --- a/packages/utils/fs-write-stream-atomic/package.json +++ b/packages/utils/fs-write-stream-atomic/package.json @@ -21,8 +21,7 @@ "dependencies": { "graceful-fs": "^4.1.2", "iferr": "^1.0.2", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "imurmurhash": "^0.1.4" }, "author": "Isaac Z. Schlueter (http://blog.izs.me/)", "license": "ISC" diff --git a/packages/utils/node-libs-browser/LICENSE b/packages/utils/node-libs-browser/LICENSE deleted file mode 100755 index b6f8f4003c1..00000000000 --- a/packages/utils/node-libs-browser/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2012 Tobias Koppers - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/utils/node-libs-browser/index.js b/packages/utils/node-libs-browser/index.js deleted file mode 100755 index 86d67d50214..00000000000 --- a/packages/utils/node-libs-browser/index.js +++ /dev/null @@ -1,40 +0,0 @@ -exports.assert = require.resolve('assert/'); -exports.async_hooks = null; -exports.buffer = require.resolve('buffer/'); -exports.child_process = null; -exports.cluster = null; -exports.console = require.resolve('console-browserify'); -exports.constants = require.resolve('constants-browserify'); -exports.crypto = require.resolve('crypto-browserify'); -exports.dgram = null; -exports.dns = null; -exports.domain = require.resolve('domain-browser'); -exports.events = require.resolve('events/'); -exports.fs = null; -exports.http = require.resolve('stream-http'); -exports.http2 = null; -exports.https = require.resolve('https-browserify'); -exports.inspector = null; -exports.module = null; -exports.net = null; -exports.os = require.resolve('os-browserify/browser.js'); -exports.path = require.resolve('path-browserify'); -exports.perf_hooks = null; -exports.process = require.resolve('process/browser.js'); -exports.punycode = require.resolve('punycode/'); -exports.querystring = require.resolve('querystring-es3/'); -exports.readline = null; -exports.repl = null; -exports.stream = require.resolve('stream-browserify'); -exports.string_decoder = require.resolve('string_decoder/'); -exports.sys = require.resolve('util/util.js'); -exports.timers = require.resolve('timers-browserify'); -exports.tls = null; -exports.trace_events = null; -exports.tty = require.resolve('tty-browserify'); -exports.url = require.resolve('url/'); -exports.util = require.resolve('util/util.js'); -exports.v8 = null; -exports.vm = require.resolve('vm-browserify'); -exports.worker_threads = null; -exports.zlib = require.resolve('browserify-zlib'); diff --git a/packages/utils/node-libs-browser/package.json b/packages/utils/node-libs-browser/package.json deleted file mode 100755 index 48694ca4a82..00000000000 --- a/packages/utils/node-libs-browser/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "@parcel/node-libs-browser", - "version": "2.2.1", - "author": "Tobias Koppers @sokra", - "description": "The node core libs for in browser usage.", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "repository": { - "type": "git", - "url": "https://github.com/parcel-bundler/parcel.git" - }, - "main": "index.js", - "engines": { - "node": ">= 12.0.0" - }, - "dependencies": { - "assert": "^2.0.0", - "browserify-zlib": "^0.2.0", - "buffer": "^5.5.0", - "console-browserify": "^1.2.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.12.0", - "domain-browser": "^3.5.0", - "events": "^3.1.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "^1.0.0", - "process": "^0.11.10", - "punycode": "^1.4.1", - "querystring-es3": "^0.2.1", - "stream-browserify": "^3.0.0", - "stream-http": "^3.1.0", - "string_decoder": "^1.3.0", - "timers-browserify": "^2.0.11", - "tty-browserify": "^0.0.1", - "url": "^0.11.0", - "util": "^0.12.3", - "vm-browserify": "^1.1.2" - } -} diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index eb2e2000084..00561bb0919 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -20,9 +20,31 @@ }, "dependencies": { "@parcel/diagnostic": "^2.2.1", - "@parcel/node-libs-browser": "^2.2.1", "@parcel/utils": "^2.2.1", - "micromatch": "^4.0.4", "nullthrows": "^1.1.1" + }, + "devDependencies": { + "assert": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^5.5.0", + "console-browserify": "^1.2.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.12.0", + "domain-browser": "^3.5.0", + "events": "^3.1.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.0", + "process": "^0.11.10", + "punycode": "^1.4.1", + "querystring-es3": "^0.2.1", + "stream-browserify": "^3.0.0", + "stream-http": "^3.1.0", + "string_decoder": "^1.3.0", + "timers-browserify": "^2.0.11", + "tty-browserify": "^0.0.1", + "url": "^0.11.0", + "util": "^0.12.3", + "vm-browserify": "^1.1.2" } } diff --git a/packages/utils/node-resolver-core/src/NodeResolver.js b/packages/utils/node-resolver-core/src/NodeResolver.js index cacffe26e4f..edf46af4006 100644 --- a/packages/utils/node-resolver-core/src/NodeResolver.js +++ b/packages/utils/node-resolver-core/src/NodeResolver.js @@ -6,8 +6,11 @@ import type { ResolveResult, Environment, SpecifierType, + PluginLogger, + SourceLocation, } from '@parcel/types'; import type {FileSystem} from '@parcel/fs'; +import type {PackageManager} from '@parcel/package-manager'; import invariant from 'assert'; import path from 'path'; @@ -18,12 +21,13 @@ import { findAlternativeNodeModules, findAlternativeFiles, loadConfig, + globToRegex, + isGlobMatch, } from '@parcel/utils'; import ThrowableDiagnostic, { generateJSONCodeHighlights, md, } from '@parcel/diagnostic'; -import micromatch from 'micromatch'; import builtins, {empty} from './builtins'; import nullthrows from 'nullthrows'; import _Module from 'module'; @@ -37,6 +41,8 @@ type Options = {| projectRoot: FilePath, extensions: Array, mainFields: Array, + packageManager?: PackageManager, + logger?: PluginLogger, |}; type ResolvedFile = {| path: string, @@ -65,6 +71,7 @@ type ResolverContext = {| invalidateOnFileCreate: Array, invalidateOnFileChange: Set, specifierType: SpecifierType, + loc: ?SourceLocation, |}; /** @@ -87,6 +94,8 @@ export default class NodeResolver { mainFields: Array; packageCache: Map; rootPackage: InternalPackageJSON | null; + packageManager: ?PackageManager; + logger: ?PluginLogger; constructor(opts: Options) { this.extensions = opts.extensions.map(ext => @@ -97,6 +106,8 @@ export default class NodeResolver { this.projectRoot = opts.projectRoot; this.packageCache = new Map(); this.rootPackage = null; + this.packageManager = opts.packageManager; + this.logger = opts.logger; } async resolve({ @@ -105,17 +116,20 @@ export default class NodeResolver { specifierType, env, sourcePath, + loc, }: {| filename: FilePath, parent: ?FilePath, specifierType: SpecifierType, env: Environment, sourcePath?: ?FilePath, + loc?: ?SourceLocation, |}): Promise { let ctx = { invalidateOnFileCreate: [], invalidateOnFileChange: new Set(), specifierType, + loc, }; // Get file extensions to search @@ -209,6 +223,7 @@ export default class NodeResolver { ctx: ResolverContext, sourcePath: ?FilePath, |}): Promise { + let specifier = filename; let sourceFile = parent || path.join(this.projectRoot, 'index'); let query; @@ -252,19 +267,19 @@ export default class NodeResolver { let builtin = this.findBuiltin(filename, env); if (builtin === null) { return null; + } else if (builtin === empty) { + return {filePath: empty}; + } else if (builtin !== undefined) { + filename = builtin; } - if (!this.shouldIncludeNodeModule(env, filename)) { + if (this.shouldIncludeNodeModule(env, filename) === false) { if (sourcePath && env.isLibrary && !builtin) { await this.checkExcludedDependency(sourcePath, filename, ctx); } return null; } - if (builtin) { - return builtin; - } - // Resolve the module in node_modules let resolved: ?Module; try { @@ -273,6 +288,44 @@ export default class NodeResolver { // ignore } + // Auto install node builtin polyfills if not already available + if (resolved === undefined && builtin != null) { + let packageManager = this.packageManager; + if (packageManager) { + this.logger?.warn({ + message: md`Auto installing polyfill for Node builtin module "${specifier}"...`, + codeFrames: [ + { + filePath: ctx.loc?.filePath ?? sourceFile, + codeHighlights: ctx.loc + ? [ + { + message: 'used here', + start: ctx.loc.start, + end: ctx.loc.end, + }, + ] + : [], + }, + ], + documentationURL: + 'https://parceljs.org/features/node-emulation/#polyfilling-%26-excluding-builtin-node-modules', + }); + + await packageManager.resolve(builtin, this.projectRoot + '/index', { + saveDev: true, + shouldAutoInstall: true, + }); + + // Re-resolve + try { + resolved = this.findNodeModulePath(filename, sourceFile, ctx); + } catch (err) { + // ignore + } + } + } + if (resolved === undefined && process.versions.pnp != null && parent) { try { let [moduleName, subPath] = this.getModuleParts(filename); @@ -340,7 +393,7 @@ export default class NodeResolver { shouldIncludeNodeModule( {includeNodeModules}: Environment, name: string, - ): boolean { + ): ?boolean { if (includeNodeModules === false) { return false; } @@ -357,8 +410,6 @@ export default class NodeResolver { return !!include; } } - - return true; } async checkExcludedDependency( @@ -592,7 +643,7 @@ export default class NodeResolver { return resolvedFile; } - findBuiltin(filename: string, env: Environment): ?Module { + findBuiltin(filename: string, env: Environment): ?string { const isExplicitNode = filename.startsWith('node:'); if (isExplicitNode || builtins[filename]) { if (env.isNode()) { @@ -602,7 +653,16 @@ export default class NodeResolver { if (isExplicitNode) { filename = filename.substr(5); } - return {filePath: builtins[filename] || empty}; + + // By default, exclude node builtins from libraries unless explicitly opted in. + if ( + env.isLibrary && + this.shouldIncludeNodeModule(env, filename) !== true + ) { + return null; + } + + return builtins[filename] || empty; } if (env.isElectron() && filename === 'electron') { @@ -1087,7 +1147,7 @@ export default class NodeResolver { if (filename.startsWith('./')) { filename = filename.slice(2); } - let re = micromatch.makeRe(key, {capture: true}); + let re = globToRegex(key, {capture: true}); if (re.test(filename)) { alias = filename.replace(re, val); break; @@ -1184,7 +1244,7 @@ export default class NodeResolver { glob = glob.substr(2); } - return micromatch.isMatch(relative, glob, {dot: true}); + return isGlobMatch(relative, glob, {dot: true}); } case 'object': return pkg.sideEffects.some(sideEffects => diff --git a/packages/utils/node-resolver-core/src/builtins.js b/packages/utils/node-resolver-core/src/builtins.js index 9bc5b16470d..d733e527811 100644 --- a/packages/utils/node-resolver-core/src/builtins.js +++ b/packages/utils/node-resolver-core/src/builtins.js @@ -1,6 +1,5 @@ // @flow strict-local // $FlowFixMe this is untyped -import polyfills from '@parcel/node-libs-browser'; import {builtinModules} from 'module'; export const empty: string = require.resolve('./_empty.js'); @@ -11,9 +10,29 @@ let builtins: {[string]: any, ...} = Object.create(null); for (let key of builtinModules) { builtins[key] = empty; } -// load the polyfill where available -for (let key in polyfills) { - builtins[key] = polyfills[key] || empty; -} + +builtins.assert = 'assert/'; +builtins.buffer = 'buffer/'; +builtins.console = 'console-browserify'; +builtins.constants = 'constants-browserify'; +builtins.crypto = 'crypto-browserify'; +builtins.domain = 'domain-browser'; +builtins.events = 'events/'; +builtins.http = 'stream-http'; +builtins.https = 'https-browserify'; +builtins.os = 'os-browserify/browser.js'; +builtins.path = 'path-browserify'; +builtins.process = 'process/browser.js'; +builtins.punycode = 'punycode/'; +builtins.querystring = 'querystring-es3/'; +builtins.stream = 'stream-browserify'; +builtins.string_decoder = 'string_decoder/'; +builtins.sys = 'util/util.js'; +builtins.timers = 'timers-browserify'; +builtins.tty = 'tty-browserify'; +builtins.url = 'url/'; +builtins.util = 'util/util.js'; +builtins.vm = 'vm-browserify'; +builtins.zlib = 'browserify-zlib'; export default builtins; diff --git a/packages/utils/node-resolver-core/test/resolver.js b/packages/utils/node-resolver-core/test/resolver.js index b3f52708e68..d2ddb27ccdd 100644 --- a/packages/utils/node-resolver-core/test/resolver.js +++ b/packages/utils/node-resolver-core/test/resolver.js @@ -297,8 +297,8 @@ describe('resolver', function () { aboveFilePath: path.join(rootDir, 'foo.js'), }, { - fileName: 'package.json', - aboveFilePath: require.resolve('browserify-zlib'), + fileName: 'node_modules/browserify-zlib', + aboveFilePath: path.join(rootDir, 'foo.js'), }, ], invalidateOnFileChange: [ @@ -329,8 +329,8 @@ describe('resolver', function () { aboveFilePath: path.join(rootDir, 'foo.js'), }, { - fileName: 'package.json', - aboveFilePath: require.resolve('browserify-zlib'), + fileName: 'node_modules/browserify-zlib', + aboveFilePath: path.join(rootDir, 'foo.js'), }, ], invalidateOnFileChange: [ diff --git a/yarn.lock b/yarn.lock index 188321eae01..4af401b3ebe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -97,7 +97,7 @@ "@babel/helper-explode-assignable-expression" "^7.12.13" "@babel/types" "^7.12.13" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.13", "@babel/helper-compilation-targets@^7.13.8", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.8.4": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.13", "@babel/helper-compilation-targets@^7.13.8", "@babel/helper-compilation-targets@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== @@ -301,7 +301,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.12.7", "@babel/parser@^7.16.4", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": +"@babel/parser@^7.12.7", "@babel/parser@^7.16.4", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== @@ -639,7 +639,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.13.0", "@babel/plugin-transform-flow-strip-types@^7.2.0": +"@babel/plugin-transform-flow-strip-types@^7.13.0", "@babel/plugin-transform-flow-strip-types@^7.2.0": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz#58177a48c209971e8234e99906cb6bd1122addd3" integrity sha512-EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg== @@ -1012,7 +1012,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.16.7": +"@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.16.7": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c" integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ== @@ -1028,7 +1028,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.7", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.14.5", "@babel/types@^7.15.6", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.4.4", "@babel/types@^7.6.1", "@babel/types@^7.9.0", "@babel/types@^7.9.6": +"@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.7", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.14.5", "@babel/types@^7.15.6", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.4.4", "@babel/types@^7.6.1", "@babel/types@^7.9.0", "@babel/types@^7.9.6": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== @@ -3097,11 +3097,6 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -astring@^1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/astring/-/astring-1.6.2.tgz#6e02d56a5b2a97c09ecb52e8aff8c7e634a21e2b" - integrity sha512-STGFbQN/qccrGAxqsnFkqAeVNTCvgN5uiD+vd75DNDvsoYZkDtYwW1rZvM/8xY1lMtOfisqh+MBU4ilsbLhd2g== - async-done@^1.2.0, async-done@^1.2.2: version "1.3.2" resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" @@ -8365,11 +8360,6 @@ lodash.camelcase@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= -lodash.clone@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" - integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= - lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -11419,7 +11409,7 @@ rimraf@2.6.3, rimraf@~2.6.2: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== From cc9e352a22ab931d305dea4715c44103a7152e24 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 30 Jan 2022 17:57:34 -0500 Subject: [PATCH 0191/1076] Fix self build --- packages/core/package-manager/src/NodeResolverBase.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/core/package-manager/src/NodeResolverBase.js b/packages/core/package-manager/src/NodeResolverBase.js index 7f9156a777a..ff4a1a0291c 100644 --- a/packages/core/package-manager/src/NodeResolverBase.js +++ b/packages/core/package-manager/src/NodeResolverBase.js @@ -79,7 +79,8 @@ export class NodeResolverBase { getPackageEntries(dir: FilePath, pkg: PackageJSON): Array { let main = pkg.main; if ( - process.env.PARCEL_BUILD_ENV !== 'production' && + (process.env.PARCEL_BUILD_ENV !== 'production' || + process.env.PARCEL_SELF_BUILD) && typeof pkg.name === 'string' && typeof pkg.source === 'string' && pkg.name.startsWith('@parcel/') && From c3a28caf3dd7cd44a092b3d1361e8d1ac26e04ee Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 30 Jan 2022 18:47:04 -0500 Subject: [PATCH 0192/1076] Adjust versions before building --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 45df7bd70a8..430e7cd5386 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "unlink-all": "node scripts/unlink-all.js packages", "check": "flow check", "lint": "eslint . && prettier \"./packages/*/*/{src,bin,test}/**/*.{js,json,md}\" --list-different && cargo fmt --all -- --check", - "prepublishOnly": "yarn build && yarn build-ts && yarn adjust-versions", + "prepublishOnly": "yarn adjust-versions && yarn build && yarn build-ts", "test:unit": "cross-env NODE_ENV=test mocha", "test:integration": "yarn workspace @parcel/integration-tests test", "test:integration-ci": "yarn workspace @parcel/integration-tests test-ci", From 5b38bdfe68782c470e23fbc725c86a8d4a25cded Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 30 Jan 2022 22:57:03 -0500 Subject: [PATCH 0193/1076] Remove postcss-modules dependency by default Missed in #7576 --- packages/transformers/css/package.json | 4 +++- .../transformers/css/src/CSSTransformer.js | 23 +++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 9bc2b752aeb..2a4c8aa2186 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -26,8 +26,10 @@ "@parcel/utils": "^2.2.1", "nullthrows": "^1.1.1", "postcss": "^8.4.5", - "postcss-modules": "^4.3.0", "postcss-value-parser": "^4.2.0", "semver": "^5.7.1" + }, + "devDependencies": { + "postcss-modules": "^4.3.0" } } diff --git a/packages/transformers/css/src/CSSTransformer.js b/packages/transformers/css/src/CSSTransformer.js index 9ce5e67a600..8aff146b660 100644 --- a/packages/transformers/css/src/CSSTransformer.js +++ b/packages/transformers/css/src/CSSTransformer.js @@ -1,7 +1,7 @@ // @flow import type {Root} from 'postcss'; -import type {FilePath, MutableAsset} from '@parcel/types'; +import type {FilePath, MutableAsset, PluginOptions} from '@parcel/types'; import {hashString} from '@parcel/hash'; import SourceMap from '@parcel/source-map'; @@ -10,8 +10,6 @@ import {createDependencyLocation, remapSourceLocation} from '@parcel/utils'; import postcss from 'postcss'; import nullthrows from 'nullthrows'; import valueParser from 'postcss-value-parser'; -import postcssModules from 'postcss-modules'; -import FileSystemLoader from 'postcss-modules/build/css-loader-core/loader'; import semver from 'semver'; import path from 'path'; @@ -274,10 +272,20 @@ async function compileCSSModules(asset, env, program, resolve, options) { }); } + let postcssModules = await options.packageManager.require( + 'postcss-modules', + asset.filePath, + { + range: '^4.3.0', + saveDev: true, + shouldAutoInstall: options.shouldAutoInstall, + }, + ); + let {root} = await postcss([ postcssModules({ getJSON: (filename, json) => (cssModules = json), - Loader: createLoader(asset, resolve), + Loader: await createLoader(asset, resolve, options), generateScopedName: (name, filename) => `${name}_${hashString( path.relative(options.projectRoot, filename), @@ -329,10 +337,15 @@ async function compileCSSModules(asset, env, program, resolve, options) { return assets; } -function createLoader( +async function createLoader( asset: MutableAsset, resolve: (from: FilePath, to: string) => Promise, + options: PluginOptions, ) { + let {default: FileSystemLoader} = await options.packageManager.require( + 'postcss-modules/build/css-loader-core/loader', + asset.filePath, + ); return class ParcelFileSystemLoader extends FileSystemLoader { async fetch(composesPath, relativeTo) { let importPath = composesPath.replace(/^["']|["']$/g, ''); From 90050e4e6a1a99454b414509a00aa7fccd7f7b70 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 2 Feb 2022 23:20:23 -0500 Subject: [PATCH 0194/1076] Support React 18 prereleases and experimental versions with automatic JSX runtime (#7642) --- .../integration/jsx-automatic-18/index.js | 1 + .../node_modules/react/jsx-dev-runtime.js | 0 .../node_modules/react/jsx-runtime.js | 0 .../node_modules/react/package.json | 3 +++ .../integration/jsx-automatic-18/package.json | 6 ++++++ .../integration/jsx-automatic-18/yarn.lock | 0 .../jsx-automatic-experimental/index.js | 1 + .../node_modules/react/jsx-dev-runtime.js | 0 .../node_modules/react/jsx-runtime.js | 0 .../node_modules/react/package.json | 3 +++ .../jsx-automatic-experimental/package.json | 6 ++++++ .../jsx-automatic-experimental/yarn.lock | 0 .../integration-tests/test/transpilation.js | 20 +++++++++++++++++++ packages/transformers/js/src/JSTransformer.js | 6 ++++-- 14 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-18/index.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/jsx-dev-runtime.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/jsx-runtime.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/package.json create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-18/package.json create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-18/yarn.lock create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-experimental/index.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/jsx-dev-runtime.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/jsx-runtime.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/package.json create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-experimental/package.json create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-experimental/yarn.lock diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-18/index.js b/packages/core/integration-tests/test/integration/jsx-automatic-18/index.js new file mode 100644 index 00000000000..8d097d55d7f --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-18/index.js @@ -0,0 +1 @@ +module.exports =
; diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/jsx-dev-runtime.js b/packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/jsx-dev-runtime.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/jsx-runtime.js b/packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/jsx-runtime.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/package.json b/packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/package.json new file mode 100644 index 00000000000..bcbea4166f7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-18/node_modules/react/package.json @@ -0,0 +1,3 @@ +{ + "name": "react" +} diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-18/package.json b/packages/core/integration-tests/test/integration/jsx-automatic-18/package.json new file mode 100644 index 00000000000..70ac62a29af --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-18/package.json @@ -0,0 +1,6 @@ +{ + "private": true, + "dependencies": { + "react": "18.0.0-rc.0-next-9a7e6bf0d-2022011" + } +} diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-18/yarn.lock b/packages/core/integration-tests/test/integration/jsx-automatic-18/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-experimental/index.js b/packages/core/integration-tests/test/integration/jsx-automatic-experimental/index.js new file mode 100644 index 00000000000..8d097d55d7f --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-experimental/index.js @@ -0,0 +1 @@ +module.exports =
; diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/jsx-dev-runtime.js b/packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/jsx-dev-runtime.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/jsx-runtime.js b/packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/jsx-runtime.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/package.json b/packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/package.json new file mode 100644 index 00000000000..bcbea4166f7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-experimental/node_modules/react/package.json @@ -0,0 +1,3 @@ +{ + "name": "react" +} diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-experimental/package.json b/packages/core/integration-tests/test/integration/jsx-automatic-experimental/package.json new file mode 100644 index 00000000000..7dacf6d452b --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-experimental/package.json @@ -0,0 +1,6 @@ +{ + "private": true, + "dependencies": { + "react": "0.0.0-d5e1bf0-aee1b" + } +} diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-experimental/yarn.lock b/packages/core/integration-tests/test/integration/jsx-automatic-experimental/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/transpilation.js b/packages/core/integration-tests/test/transpilation.js index 78dff41cd09..c5e52a89bc7 100644 --- a/packages/core/integration-tests/test/transpilation.js +++ b/packages/core/integration-tests/test/transpilation.js @@ -203,6 +203,26 @@ describe('transpilation', function () { assert(file.includes('_jsxDevRuntime.jsxDEV("div"')); }); + it('should support the automatic JSX runtime with React 18 prereleases', async function () { + let b = await bundle( + path.join(__dirname, '/integration/jsx-automatic-18/index.js'), + ); + + let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert(file.includes('react/jsx-dev-runtime')); + assert(file.includes('_jsxDevRuntime.jsxDEV("div"')); + }); + + it('should support the automatic JSX runtime with experimental React versions', async function () { + let b = await bundle( + path.join(__dirname, '/integration/jsx-automatic-experimental/index.js'), + ); + + let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert(file.includes('react/jsx-dev-runtime')); + assert(file.includes('_jsxDevRuntime.jsxDEV("div"')); + }); + it('should support the automatic JSX runtime with preact with alias', async function () { let b = await bundle( path.join( diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index 16b1e2e546d..e65989c700b 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -22,7 +22,7 @@ const JSX_PRAGMA = { react: { pragma: 'React.createElement', pragmaFrag: 'React.Fragment', - automatic: '>= 17.0.0', + automatic: '>= 17.0.0 || >= 0.0.0-0 < 0.0.0', }, preact: { pragma: 'h', @@ -220,7 +220,9 @@ export default (new Transformer({ automaticVersion && !compilerOptions?.jsxFactory && minReactLibVersion != null && - semver.satisfies(minReactLibVersion, automaticVersion); + semver.satisfies(minReactLibVersion, automaticVersion, { + includePrerelease: true, + }); if (automaticJSXRuntime) { jsxImportSource = reactLib; From 484524216cfdce41d99463325abcd1f8938fa34e Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 9 Feb 2022 11:33:55 -0500 Subject: [PATCH 0195/1076] Changelog for 2.3.0 --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd02d35848e..01cb8c6619d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to Parcel will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and Parcel adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.3.0] - 2022-02-09 + +## Added + +- Reduce the number of npm dependencies needed by parcel [Details](https://github.com/parcel-bundler/parcel/pull/7576) +- Support React 18 prereleases and experimental versions with automatic JSX runtime - [Details](https://github.com/parcel-bundler/parcel/pull/7642) + +## Fixed + +- Fix `@swc/helpers` in non-module scripts - [Details](https://github.com/parcel-bundler/parcel/pull/7599) +- Fix auto installing dependencies in PNPM monorepos - [Details](https://github.com/parcel-bundler/parcel/pull/7566) + ## [2.2.1] - 2022-01-17 ### Fixed From 65ffb58e88024258c31e1f480241f293e29b25c5 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 9 Feb 2022 11:35:45 -0500 Subject: [PATCH 0196/1076] v2.3.0 --- packages/bundlers/default/package.json | 12 +- packages/bundlers/experimental/package.json | 14 +-- packages/compressors/brotli/package.json | 6 +- packages/compressors/gzip/package.json | 6 +- packages/compressors/raw/package.json | 6 +- packages/configs/default/package.json | 110 +++++++++--------- packages/configs/webextension/package.json | 10 +- packages/core/cache/package.json | 10 +- packages/core/codeframe/package.json | 6 +- packages/core/core/package.json | 26 ++--- packages/core/diagnostic/package.json | 2 +- packages/core/fs/package.json | 14 +-- packages/core/graph/package.json | 4 +- packages/core/integration-tests/package.json | 4 +- packages/core/is-v2-ready-yet/package.json | 4 +- packages/core/logger/package.json | 6 +- packages/core/markdown-ansi/package.json | 2 +- packages/core/package-manager/package.json | 16 +-- packages/core/parcel/package.json | 24 ++-- packages/core/plugin/package.json | 4 +- packages/core/register/package.json | 10 +- packages/core/test-utils/package.json | 12 +- packages/core/types/package.json | 12 +- packages/core/utils/package.json | 12 +- packages/core/workers/package.json | 12 +- packages/dev/babel-preset/package.json | 2 +- packages/dev/babel-register/package.json | 4 +- .../dev/eslint-config-browser/package.json | 4 +- packages/dev/eslint-config/package.json | 4 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 2 +- packages/examples/eslint-example/package.json | 8 +- packages/examples/html/package.json | 6 +- .../examples/internalize-example/package.json | 2 +- packages/examples/kitchen-sink/package.json | 12 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 6 +- packages/examples/simple/package.json | 6 +- packages/examples/three/package.json | 6 +- packages/examples/ts-example/package.json | 6 +- .../ts-typecheck-example/package.json | 8 +- packages/namers/default/package.json | 8 +- packages/optimizers/blob-url/package.json | 8 +- packages/optimizers/css/package.json | 8 +- packages/optimizers/cssnano/package.json | 6 +- packages/optimizers/data-url/package.json | 8 +- packages/optimizers/esbuild/package.json | 10 +- packages/optimizers/htmlnano/package.json | 6 +- packages/optimizers/image/package.json | 12 +- packages/optimizers/svgo/package.json | 10 +- packages/optimizers/swc/package.json | 8 +- packages/optimizers/terser/package.json | 10 +- packages/packagers/css/package.json | 8 +- packages/packagers/html/package.json | 10 +- packages/packagers/js/package.json | 12 +- packages/packagers/raw-url/package.json | 8 +- packages/packagers/raw/package.json | 6 +- packages/packagers/svg/package.json | 10 +- packages/packagers/ts/package.json | 6 +- packages/packagers/xml/package.json | 10 +- packages/reporters/build-metrics/package.json | 8 +- .../reporters/bundle-analyzer/package.json | 10 +- packages/reporters/bundle-buddy/package.json | 6 +- packages/reporters/cli/package.json | 10 +- packages/reporters/dev-server/package.json | 12 +- packages/reporters/json/package.json | 10 +- .../sourcemap-visualiser/package.json | 10 +- packages/resolvers/default/package.json | 8 +- packages/resolvers/glob/package.json | 10 +- packages/runtimes/hmr/package.json | 8 +- packages/runtimes/js/package.json | 8 +- packages/runtimes/react-refresh/package.json | 8 +- packages/runtimes/service-worker/package.json | 8 +- packages/transformers/babel/package.json | 12 +- .../transformers/coffeescript/package.json | 8 +- .../css-experimental/package.json | 8 +- packages/transformers/css/package.json | 10 +- packages/transformers/elm/package.json | 8 +- packages/transformers/glsl/package.json | 6 +- packages/transformers/graphql/package.json | 6 +- packages/transformers/html/package.json | 10 +- packages/transformers/image/package.json | 8 +- .../transformers/inline-string/package.json | 6 +- packages/transformers/inline/package.json | 6 +- packages/transformers/js/package.json | 12 +- packages/transformers/json/package.json | 6 +- packages/transformers/jsonld/package.json | 8 +- packages/transformers/less/package.json | 6 +- packages/transformers/mdx/package.json | 6 +- packages/transformers/postcss/package.json | 10 +- packages/transformers/posthtml/package.json | 8 +- packages/transformers/pug/package.json | 6 +- packages/transformers/raw/package.json | 6 +- .../react-refresh-wrap/package.json | 8 +- packages/transformers/sass/package.json | 6 +- packages/transformers/stylus/package.json | 8 +- packages/transformers/sugarss/package.json | 6 +- packages/transformers/svg-react/package.json | 6 +- packages/transformers/svg/package.json | 10 +- packages/transformers/toml/package.json | 6 +- .../transformers/typescript-tsc/package.json | 8 +- .../typescript-types/package.json | 10 +- packages/transformers/vue/package.json | 10 +- .../transformers/webextension/package.json | 10 +- .../transformers/webmanifest/package.json | 10 +- packages/transformers/worklet/package.json | 6 +- packages/transformers/xml/package.json | 6 +- packages/transformers/yaml/package.json | 6 +- .../package.json | 4 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/create-react-app/package.json | 4 +- packages/utils/events/package.json | 2 +- packages/utils/fs-search/package.json | 2 +- .../utils/fs-write-stream-atomic/package.json | 2 +- packages/utils/hash/package.json | 2 +- .../utils/node-resolver-core/package.json | 6 +- packages/utils/service-worker/package.json | 4 +- packages/utils/ts-utils/package.json | 2 +- packages/validators/eslint/package.json | 8 +- packages/validators/typescript/package.json | 14 +-- 120 files changed, 515 insertions(+), 515 deletions(-) diff --git a/packages/bundlers/default/package.json b/packages/bundlers/default/package.json index 8122227a5b1..5e668274e56 100644 --- a/packages/bundlers/default/package.json +++ b/packages/bundlers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-default", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/DefaultBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/hash": "^2.2.1", - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/hash": "^2.3.0", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" } } diff --git a/packages/bundlers/experimental/package.json b/packages/bundlers/experimental/package.json index e6bf8048da1..e4a2d9a7905 100644 --- a/packages/bundlers/experimental/package.json +++ b/packages/bundlers/experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-experimental", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/ExperimentalBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/graph": "^2.2.1", - "@parcel/hash": "^2.2.1", - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/graph": "^2.3.0", + "@parcel/hash": "^2.3.0", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" } } diff --git a/packages/compressors/brotli/package.json b/packages/compressors/brotli/package.json index 9742882f713..9e629710758 100644 --- a/packages/compressors/brotli/package.json +++ b/packages/compressors/brotli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-brotli", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BrotliCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/compressors/gzip/package.json b/packages/compressors/gzip/package.json index 685b7406046..980314dd0c7 100644 --- a/packages/compressors/gzip/package.json +++ b/packages/compressors/gzip/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-gzip", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/GzipCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/compressors/raw/package.json b/packages/compressors/raw/package.json index 7a3b985150b..bb4b1a1cfad 100644 --- a/packages/compressors/raw/package.json +++ b/packages/compressors/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-raw", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index 474bf29f662..aec2d962ba8 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-default", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,63 +18,63 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "^2.2.1", - "@parcel/compressor-raw": "^2.2.1", - "@parcel/namer-default": "^2.2.1", - "@parcel/optimizer-cssnano": "^2.2.1", - "@parcel/optimizer-htmlnano": "^2.2.1", - "@parcel/optimizer-image": "^2.2.1", - "@parcel/optimizer-svgo": "^2.2.1", - "@parcel/optimizer-terser": "^2.2.1", - "@parcel/packager-css": "^2.2.1", - "@parcel/packager-html": "^2.2.1", - "@parcel/packager-js": "^2.2.1", - "@parcel/packager-raw": "^2.2.1", - "@parcel/packager-svg": "^2.2.1", - "@parcel/reporter-dev-server": "^2.2.1", - "@parcel/resolver-default": "^2.2.1", - "@parcel/runtime-browser-hmr": "^2.2.1", - "@parcel/runtime-js": "^2.2.1", - "@parcel/runtime-react-refresh": "^2.2.1", - "@parcel/runtime-service-worker": "^2.2.1", - "@parcel/transformer-babel": "^2.2.1", - "@parcel/transformer-css": "^2.2.1", - "@parcel/transformer-html": "^2.2.1", - "@parcel/transformer-image": "^2.2.1", - "@parcel/transformer-js": "^2.2.1", - "@parcel/transformer-json": "^2.2.1", - "@parcel/transformer-postcss": "^2.2.1", - "@parcel/transformer-posthtml": "^2.2.1", - "@parcel/transformer-raw": "^2.2.1", - "@parcel/transformer-react-refresh-wrap": "^2.2.1", - "@parcel/transformer-svg": "^2.2.1" + "@parcel/bundler-default": "^2.3.0", + "@parcel/compressor-raw": "^2.3.0", + "@parcel/namer-default": "^2.3.0", + "@parcel/optimizer-cssnano": "^2.3.0", + "@parcel/optimizer-htmlnano": "^2.3.0", + "@parcel/optimizer-image": "^2.3.0", + "@parcel/optimizer-svgo": "^2.3.0", + "@parcel/optimizer-terser": "^2.3.0", + "@parcel/packager-css": "^2.3.0", + "@parcel/packager-html": "^2.3.0", + "@parcel/packager-js": "^2.3.0", + "@parcel/packager-raw": "^2.3.0", + "@parcel/packager-svg": "^2.3.0", + "@parcel/reporter-dev-server": "^2.3.0", + "@parcel/resolver-default": "^2.3.0", + "@parcel/runtime-browser-hmr": "^2.3.0", + "@parcel/runtime-js": "^2.3.0", + "@parcel/runtime-react-refresh": "^2.3.0", + "@parcel/runtime-service-worker": "^2.3.0", + "@parcel/transformer-babel": "^2.3.0", + "@parcel/transformer-css": "^2.3.0", + "@parcel/transformer-html": "^2.3.0", + "@parcel/transformer-image": "^2.3.0", + "@parcel/transformer-js": "^2.3.0", + "@parcel/transformer-json": "^2.3.0", + "@parcel/transformer-postcss": "^2.3.0", + "@parcel/transformer-posthtml": "^2.3.0", + "@parcel/transformer-raw": "^2.3.0", + "@parcel/transformer-react-refresh-wrap": "^2.3.0", + "@parcel/transformer-svg": "^2.3.0" }, "parcelDependencies": { - "@parcel/optimizer-data-url": "^2.2.1", - "@parcel/packager-raw-url": "^2.2.1", - "@parcel/packager-ts": "^2.2.1", - "@parcel/packager-xml": "^2.2.1", - "@parcel/transformer-coffeescript": "^2.2.1", - "@parcel/transformer-elm": "^2.2.1", - "@parcel/transformer-glsl": "^2.2.1", - "@parcel/transformer-graphql": "^2.2.1", - "@parcel/transformer-inline-string": "^2.2.1", - "@parcel/transformer-jsonld": "^2.2.1", - "@parcel/transformer-less": "^2.2.1", - "@parcel/transformer-mdx": "^2.2.1", - "@parcel/transformer-pug": "^2.2.1", - "@parcel/transformer-sass": "^2.2.1", - "@parcel/transformer-stylus": "^2.2.1", - "@parcel/transformer-sugarss": "^2.2.1", - "@parcel/transformer-toml": "^2.2.1", - "@parcel/transformer-typescript-types": "^2.2.1", - "@parcel/transformer-vue": "^2.2.1", - "@parcel/transformer-webmanifest": "^2.2.1", - "@parcel/transformer-worklet": "^2.2.1", - "@parcel/transformer-xml": "^2.2.1", - "@parcel/transformer-yaml": "^2.2.1" + "@parcel/optimizer-data-url": "^2.3.0", + "@parcel/packager-raw-url": "^2.3.0", + "@parcel/packager-ts": "^2.3.0", + "@parcel/packager-xml": "^2.3.0", + "@parcel/transformer-coffeescript": "^2.3.0", + "@parcel/transformer-elm": "^2.3.0", + "@parcel/transformer-glsl": "^2.3.0", + "@parcel/transformer-graphql": "^2.3.0", + "@parcel/transformer-inline-string": "^2.3.0", + "@parcel/transformer-jsonld": "^2.3.0", + "@parcel/transformer-less": "^2.3.0", + "@parcel/transformer-mdx": "^2.3.0", + "@parcel/transformer-pug": "^2.3.0", + "@parcel/transformer-sass": "^2.3.0", + "@parcel/transformer-stylus": "^2.3.0", + "@parcel/transformer-sugarss": "^2.3.0", + "@parcel/transformer-toml": "^2.3.0", + "@parcel/transformer-typescript-types": "^2.3.0", + "@parcel/transformer-vue": "^2.3.0", + "@parcel/transformer-webmanifest": "^2.3.0", + "@parcel/transformer-worklet": "^2.3.0", + "@parcel/transformer-xml": "^2.3.0", + "@parcel/transformer-yaml": "^2.3.0" }, "peerDependencies": { - "@parcel/core": "^2.2.1" + "@parcel/core": "^2.3.0" } } diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index 3f890d320e7..2a8b25fbc64 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-webextension", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,9 +15,9 @@ }, "main": "index.json", "dependencies": { - "@parcel/config-default": "^2.2.1", - "@parcel/packager-raw-url": "^2.2.1", - "@parcel/transformer-raw": "^2.2.1", - "@parcel/transformer-webextension": "^2.2.1" + "@parcel/config-default": "^2.3.0", + "@parcel/packager-raw-url": "^2.3.0", + "@parcel/transformer-raw": "^2.3.0", + "@parcel/transformer-webextension": "^2.3.0" } } diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 566de622655..6688d60a5b3 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/cache", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -24,13 +24,13 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs": "^2.2.1", - "@parcel/logger": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/fs": "^2.3.0", + "@parcel/logger": "^2.3.0", + "@parcel/utils": "^2.3.0", "lmdb": "^2.0.2" }, "peerDependencies": { - "@parcel/core": "^2.2.1" + "@parcel/core": "^2.3.0" }, "devDependencies": { "idb": "^5.0.8" diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index f708685cab9..ee926691747 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/codeframe", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -32,7 +32,7 @@ "devDependencies": { "emphasize": "^4.2.0", "slice-ansi": "^4.0.0", - "strip-ansi": "^6.0.0", - "string-width": "^4.2.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" } } diff --git a/packages/core/core/package.json b/packages/core/core/package.json index a2bbe02e436..35234f02762 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/core", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -24,19 +24,19 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.2.1", - "@parcel/diagnostic": "^2.2.1", - "@parcel/events": "^2.2.1", - "@parcel/fs": "^2.2.1", - "@parcel/graph": "^2.2.1", - "@parcel/hash": "^2.2.1", - "@parcel/logger": "^2.2.1", - "@parcel/package-manager": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/cache": "^2.3.0", + "@parcel/diagnostic": "^2.3.0", + "@parcel/events": "^2.3.0", + "@parcel/fs": "^2.3.0", + "@parcel/graph": "^2.3.0", + "@parcel/hash": "^2.3.0", + "@parcel/logger": "^2.3.0", + "@parcel/package-manager": "^2.3.0", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1", - "@parcel/workers": "^2.2.1", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0", + "@parcel/workers": "^2.3.0", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index a83195afb0f..815926ce628 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/diagnostic", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index a95281b30b6..a8a1235c679 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -48,21 +48,21 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs-search": "^2.2.1", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/fs-search": "^2.3.0", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "^2.2.1" + "@parcel/workers": "^2.3.0" }, "devDependencies": { - "@parcel/fs-write-stream-atomic": "^2.2.1", + "@parcel/fs-write-stream-atomic": "^2.3.0", "graceful-fs": "^4.2.4", "ncp": "^2.0.0", "nullthrows": "^1.1.1", "utility-types": "^3.10.0" }, "peerDependencies": { - "@parcel/core": "^2.2.1" + "@parcel/core": "^2.3.0" }, "browser": { "@parcel/fs": "./lib/browser.js", diff --git a/packages/core/graph/package.json b/packages/core/graph/package.json index 8322f16c911..e95d1d2b4df 100644 --- a/packages/core/graph/package.json +++ b/packages/core/graph/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/graph", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" } } diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index b66af3d4a69..c39936cb34b 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/integration-tests", - "version": "2.2.1", + "version": "2.3.0", "private": true, "license": "MIT", "repository": { @@ -42,7 +42,7 @@ "ncp": "^2.0.0", "nib": "^1.1.2", "node-elm-compiler": "^5.0.5", - "parcel": "^2.2.1", + "parcel": "^2.3.0", "postcss": "^8.4.5", "postcss-custom-properties": "^12.1.2", "postcss-import": "^14.0.2", diff --git a/packages/core/is-v2-ready-yet/package.json b/packages/core/is-v2-ready-yet/package.json index b0acbc6f4e9..18626712d11 100644 --- a/packages/core/is-v2-ready-yet/package.json +++ b/packages/core/is-v2-ready-yet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/is-v2-ready-yet", - "version": "2.2.1", + "version": "2.3.0", "private": true, "license": "MIT", "repository": { @@ -13,7 +13,7 @@ "build-app": "yarn parcel build index.html" }, "dependencies": { - "@parcel/integration-tests": "^2.2.1", + "@parcel/integration-tests": "^2.3.0", "react": "^17.0.2", "react-dom": "^17.0.2", "victory": "^31.0.1" diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index e2c2dc0f043..05fda4b7ac4 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/logger", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/events": "^2.2.1" + "@parcel/diagnostic": "^2.3.0", + "@parcel/events": "^2.3.0" } } diff --git a/packages/core/markdown-ansi/package.json b/packages/core/markdown-ansi/package.json index e449fbc2f20..964134f6c90 100644 --- a/packages/core/markdown-ansi/package.json +++ b/packages/core/markdown-ansi/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/markdown-ansi", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "publishConfig": { "access": "public" diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index cf56116f851..ec0c0676957 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/package-manager", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -40,12 +40,12 @@ } }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/fs": "^2.2.1", - "@parcel/logger": "^2.2.1", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1", - "@parcel/workers": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/fs": "^2.3.0", + "@parcel/logger": "^2.3.0", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0", + "@parcel/workers": "^2.3.0", "semver": "^5.7.1" }, "devDependencies": { @@ -55,7 +55,7 @@ "split2": "^3.1.1" }, "peerDependencies": { - "@parcel/core": "^2.2.1" + "@parcel/core": "^2.3.0" }, "browser": { "./src/Npm.js": false, diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index 194c093e5c0..dbb4f58bdf8 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -1,6 +1,6 @@ { "name": "parcel", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,22 +21,22 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.2.1", - "@parcel/core": "^2.2.1", - "@parcel/diagnostic": "^2.2.1", - "@parcel/events": "^2.2.1", - "@parcel/fs": "^2.2.1", - "@parcel/logger": "^2.2.1", - "@parcel/package-manager": "^2.2.1", - "@parcel/reporter-cli": "^2.2.1", - "@parcel/reporter-dev-server": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/config-default": "^2.3.0", + "@parcel/core": "^2.3.0", + "@parcel/diagnostic": "^2.3.0", + "@parcel/events": "^2.3.0", + "@parcel/fs": "^2.3.0", + "@parcel/logger": "^2.3.0", + "@parcel/package-manager": "^2.3.0", + "@parcel/reporter-cli": "^2.3.0", + "@parcel/reporter-dev-server": "^2.3.0", + "@parcel/utils": "^2.3.0", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.2.1" + "@parcel/babel-register": "^2.3.0" } } diff --git a/packages/core/plugin/package.json b/packages/core/plugin/package.json index 7e79218f557..98107e523ed 100644 --- a/packages/core/plugin/package.json +++ b/packages/core/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/plugin", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ "check-ts": "tsc --noEmit src/PluginAPI.d.ts" }, "dependencies": { - "@parcel/types": "^2.2.1" + "@parcel/types": "^2.3.0" } } diff --git a/packages/core/register/package.json b/packages/core/register/package.json index 307d271af57..d8df365e3d7 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/register", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,10 +23,10 @@ "clean": "rimraf .parcel-cache" }, "dependencies": { - "@parcel/config-default": "^2.2.1", - "@parcel/core": "^2.2.1", - "@parcel/fs": "^2.2.1", - "@parcel/package-manager": "^2.2.1", + "@parcel/config-default": "^2.3.0", + "@parcel/core": "^2.3.0", + "@parcel/fs": "^2.3.0", + "@parcel/package-manager": "^2.3.0", "deasync": "^0.1.14", "pirates": "^4.0.0" } diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index 880555c0354..7d87a3581b3 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/test-utils", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -13,11 +13,11 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.2.1", - "@parcel/core": "^2.2.1", - "@parcel/fs": "^2.2.1", - "@parcel/package-manager": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/config-default": "^2.3.0", + "@parcel/core": "^2.3.0", + "@parcel/fs": "^2.3.0", + "@parcel/package-manager": "^2.3.0", + "@parcel/utils": "^2.3.0", "chalk": "^4.1.0", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/types/package.json b/packages/core/types/package.json index 99b95a71897..c8ac24eb73b 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/types", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "main": "src/index.js", "types": "lib/index.d.ts", @@ -16,12 +16,12 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.2.1", - "@parcel/diagnostic": "^2.2.1", - "@parcel/fs": "^2.2.1", - "@parcel/package-manager": "^2.2.1", + "@parcel/cache": "^2.3.0", + "@parcel/diagnostic": "^2.3.0", + "@parcel/fs": "^2.3.0", + "@parcel/package-manager": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "^2.2.1", + "@parcel/workers": "^2.3.0", "utility-types": "^3.10.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index eb1881b4599..cd47bd31206 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/utils", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -33,11 +33,11 @@ } }, "dependencies": { - "@parcel/codeframe": "^2.2.1", - "@parcel/diagnostic": "^2.2.1", - "@parcel/hash": "^2.2.1", - "@parcel/logger": "^2.2.1", - "@parcel/markdown-ansi": "^2.2.1", + "@parcel/codeframe": "^2.3.0", + "@parcel/diagnostic": "^2.3.0", + "@parcel/hash": "^2.3.0", + "@parcel/logger": "^2.3.0", + "@parcel/markdown-ansi": "^2.3.0", "@parcel/source-map": "^2.0.0", "chalk": "^4.1.0" }, diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index eff127376af..21dfa9945b1 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/workers", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,15 +21,15 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/logger": "^2.2.1", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/logger": "^2.3.0", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, "peerDependencies": { - "@parcel/core": "^2.2.1" + "@parcel/core": "^2.3.0" }, "browser": { "./src/cpuCount.js": false, diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index 90f43c02ba1..ea555fe78ad 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset", - "version": "2.2.1", + "version": "2.3.0", "private": true, "license": "MIT", "repository": { diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index 5446825a6fd..80149cf87b0 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-register", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -10,7 +10,7 @@ }, "dependencies": { "@babel/register": "^7.4.4", - "@parcel/babel-preset": "^2.2.1", + "@parcel/babel-preset": "^2.3.0", "resolve": "^1.12.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index 14e2b47a15a..f716eb9742a 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -1,8 +1,8 @@ { "name": "@parcel/eslint-config-browser", "private": true, - "version": "2.2.1", + "version": "2.3.0", "dependencies": { - "@parcel/eslint-config": "^2.2.1" + "@parcel/eslint-config": "^2.3.0" } } diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index 4de2178e790..8a10da08bb2 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -1,10 +1,10 @@ { "name": "@parcel/eslint-config", "private": true, - "version": "2.2.1", + "version": "2.3.0", "dependencies": { "@babel/eslint-parser": "^7.12.1", - "@parcel/eslint-plugin": "^2.2.1", + "@parcel/eslint-plugin": "^2.3.0", "eslint-config-prettier": "^7.2.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index ac375cde6ed..da163ed6cd8 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/eslint-plugin", "private": true, - "version": "2.2.1", + "version": "2.3.0", "main": "index.js", "scripts": {}, "dependencies": { diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index 10d23256213..80ee6bc5599 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -1,6 +1,6 @@ { "name": "fuzzer", - "version": "2.2.1", + "version": "2.3.0", "private": true, "scripts": { "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules -r @parcel/babel-register index.js" diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index a5385ac0ea3..267a9c95685 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/eslint-example", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.2.1", - "@parcel/core": "^2.2.1", - "@parcel/validator-eslint": "^2.2.1" + "@parcel/babel-register": "^2.3.0", + "@parcel/core": "^2.3.0", + "@parcel/validator-eslint": "^2.3.0" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index 3f74dd36110..8d55fb0ed98 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/html-example", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true, "scripts": { @@ -12,8 +12,8 @@ "not firefox < 67" ], "devDependencies": { - "@parcel/babel-register": "^2.2.1", - "parcel": "^2.2.1" + "@parcel/babel-register": "^2.3.0", + "parcel": "^2.3.0" }, "dependencies": { "lodash": "^4.17.11", diff --git a/packages/examples/internalize-example/package.json b/packages/examples/internalize-example/package.json index 8310af07547..7a4c27ae8a7 100644 --- a/packages/examples/internalize-example/package.json +++ b/packages/examples/internalize-example/package.json @@ -1,6 +1,6 @@ { "name": "internalize-example", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 06af72230b8..6759ac72d59 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/kitchen-sink-example", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true, "scripts": { @@ -8,11 +8,11 @@ "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { - "@parcel/babel-register": "^2.2.1", - "@parcel/config-default": "^2.2.1", - "@parcel/optimizer-esbuild": "^2.2.1", - "@parcel/reporter-sourcemap-visualiser": "^2.2.1", - "parcel": "^2.2.1" + "@parcel/babel-register": "^2.3.0", + "@parcel/config-default": "^2.3.0", + "@parcel/optimizer-esbuild": "^2.3.0", + "@parcel/reporter-sourcemap-visualiser": "^2.3.0", + "parcel": "^2.3.0" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 67a79fa593c..8db1964c1fd 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -1,13 +1,13 @@ { "name": "@parcel/react-hmr-example", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true, "scripts": { "demo": "parcel serve src/index.html --no-cache --https" }, "devDependencies": { - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 29ca653dd59..9cc0a4d0711 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/react-refresh-example", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true, "scripts": { "start": "parcel src/index.html" }, "devDependencies": { - "@parcel/babel-register": "^2.2.1", - "@parcel/core": "^2.2.1" + "@parcel/babel-register": "^2.3.0", + "@parcel/core": "^2.3.0" }, "dependencies": { "react": "^17.0.2", diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index 0750ece8327..67e8ad64105 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/simple-example", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true, "scripts": { @@ -8,8 +8,8 @@ "clean-demo": "rm -rf .parcel-cache dist && yarn demo" }, "devDependencies": { - "@parcel/babel-register": "^2.2.1", - "@parcel/core": "^2.2.1" + "@parcel/babel-register": "^2.3.0", + "@parcel/core": "^2.3.0" }, "browser": "dist/legacy/index.js", "browserModern": "dist/modern/index.js", diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index 625ffcc70ca..2e31c03c987 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/three-js-stresstest", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true, "scripts": { @@ -27,7 +27,7 @@ } }, "devDependencies": { - "@parcel/config-default": "^2.2.1", - "parcel": "^2.2.1" + "@parcel/config-default": "^2.3.0", + "parcel": "^2.3.0" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index 5516073fec5..9146757766c 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/ts-example", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true, "scripts": { "demo": "parcel build src/index.ts" }, "devDependencies": { - "@parcel/babel-register": "^2.2.1", - "@parcel/core": "^2.2.1" + "@parcel/babel-register": "^2.3.0", + "@parcel/core": "^2.3.0" }, "main": "dist/main.js", "module": "dist/module.js", diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index e92b2410aab..c350b78082b 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-typecheck-example", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.2.1", - "@parcel/core": "^2.2.1", - "@parcel/validator-typescript": "^2.2.1" + "@parcel/babel-register": "^2.3.0", + "@parcel/core": "^2.3.0", + "@parcel/validator-typescript": "^2.3.0" } } diff --git a/packages/namers/default/package.json b/packages/namers/default/package.json index 07b01c9d5d9..1042c7ec381 100644 --- a/packages/namers/default/package.json +++ b/packages/namers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/namer-default", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultNamer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/blob-url/package.json b/packages/optimizers/blob-url/package.json index 6fc85f2fb2d..eb885c63107 100644 --- a/packages/optimizers/blob-url/package.json +++ b/packages/optimizers/blob-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-blob-url", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BlobURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1" + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0" } } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index dc790e7f136..c4d43105401 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-css", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { "@parcel/css": "^1.0.3", - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index dad7f1ddcbd..d669bbf3fdb 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-cssnano", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/CSSNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.15", "postcss": "^8.4.5" diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index 858b2ec07dc..3a1f6bf0b58 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-data-url", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DataURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index a9c26e323f5..6427adf7a16 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-esbuild", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/ESBuildOptimizer.js", "engines": { "node": ">= 10.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "esbuild": "^0.13.0", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index cd17cc27f9a..92fc7fcf81a 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-htmlnano", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HTMLNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "htmlnano": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index 44e60006ce5..6feb2f9431f 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-image", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "main": "lib/ImageOptimizer.js", "source": "src/ImageOptimizer.js", @@ -17,7 +17,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "files": [ "lib", @@ -32,10 +32,10 @@ "build-release": "napi build --platform --release" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", - "@parcel/workers": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", + "@parcel/workers": "^2.3.0", "detect-libc": "^1.0.3" }, "devDependencies": { diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index 629734dfad9..c395c04de6b 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-svgo", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGOOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "svgo": "^2.4.0" } } diff --git a/packages/optimizers/swc/package.json b/packages/optimizers/swc/package.json index 4d2b423e73e..c4f70e02ed2 100644 --- a/packages/optimizers/swc/package.json +++ b/packages/optimizers/swc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-swc", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SwcOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "@swc/core": "^1.2.106", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index fb51dac2b67..b895ccc958a 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-terser", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TerserOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1", "terser": "^5.2.0" } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index e42d91b0016..74a3f35ea4b 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-css", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index 57b4f2369e0..354b31cd029 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-html", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index 3a1b7a01aa4..7c533c4acf0 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-js", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/index.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/hash": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/hash": "^2.3.0", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "globals": "^13.2.0", "nullthrows": "^1.1.1" } diff --git a/packages/packagers/raw-url/package.json b/packages/packagers/raw-url/package.json index 1614dc54fa5..8a79a89c438 100644 --- a/packages/packagers/raw-url/package.json +++ b/packages/packagers/raw-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw-url", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/RawUrlPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1" + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0" } } diff --git a/packages/packagers/raw/package.json b/packages/packagers/raw/package.json index 9734fdae6ae..71c5f8e40c5 100644 --- a/packages/packagers/raw/package.json +++ b/packages/packagers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/packagers/svg/package.json b/packages/packagers/svg/package.json index 7c867440421..c5c6fb26624 100644 --- a/packages/packagers/svg/package.json +++ b/packages/packagers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-svg", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0", "posthtml": "^0.16.4" } } diff --git a/packages/packagers/ts/package.json b/packages/packagers/ts/package.json index 1a4dfde4ac0..09aa3f6230f 100644 --- a/packages/packagers/ts/package.json +++ b/packages/packagers/ts/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-ts", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/TSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index b4f361fee27..51f54609fca 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-xml", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/XMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/reporters/build-metrics/package.json b/packages/reporters/build-metrics/package.json index 6884a81b92d..6ed38cf1837 100644 --- a/packages/reporters/build-metrics/package.json +++ b/packages/reporters/build-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-build-metrics", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BuildMetricsReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1" + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0" } } diff --git a/packages/reporters/bundle-analyzer/package.json b/packages/reporters/bundle-analyzer/package.json index 1d034b59ebf..e206f5c1e70 100644 --- a/packages/reporters/bundle-analyzer/package.json +++ b/packages/reporters/bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-analyzer", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/BundleAnalyzerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.2.1" + "@parcel/types": "^2.3.0" } } diff --git a/packages/reporters/bundle-buddy/package.json b/packages/reporters/bundle-buddy/package.json index 7860e454907..e3131563e7f 100644 --- a/packages/reporters/bundle-buddy/package.json +++ b/packages/reporters/bundle-buddy/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-buddy", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BundleBuddyReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index f8ba1951010..9fef017b948 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-cli", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "source": "src/CLIReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "targets": { "main": { @@ -30,9 +30,9 @@ } }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 1aca7a0779c..6697527e5af 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-dev-server", - "version": "2.2.1", + "version": "2.3.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -18,7 +18,7 @@ "source": "src/ServerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "targets": { "main": { @@ -29,12 +29,12 @@ } }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1" + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0" }, "devDependencies": { - "@parcel/babel-preset": "^2.2.1", - "@parcel/types": "^2.2.1", + "@parcel/babel-preset": "^2.3.0", + "@parcel/types": "^2.3.0", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^2.0.1", diff --git a/packages/reporters/json/package.json b/packages/reporters/json/package.json index d6befe3a3d7..443e013c730 100644 --- a/packages/reporters/json/package.json +++ b/packages/reporters/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-json", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/JSONReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" } } diff --git a/packages/reporters/sourcemap-visualiser/package.json b/packages/reporters/sourcemap-visualiser/package.json index 1bce1f1cd5b..96e11e40572 100644 --- a/packages/reporters/sourcemap-visualiser/package.json +++ b/packages/reporters/sourcemap-visualiser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-sourcemap-visualiser", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/SourceMapVisualiser.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.2.1" + "@parcel/types": "^2.3.0" } } diff --git a/packages/resolvers/default/package.json b/packages/resolvers/default/package.json index fa74ab7acf8..44f26010e70 100644 --- a/packages/resolvers/default/package.json +++ b/packages/resolvers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-default", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/node-resolver-core": "^2.2.1", - "@parcel/plugin": "^2.2.1" + "@parcel/node-resolver-core": "^2.3.0", + "@parcel/plugin": "^2.3.0" }, "devDependencies": { "@babel/core": "^7.12.2" diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index a4986b69791..051333a38a1 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-glob", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/GlobResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/hmr/package.json b/packages/runtimes/hmr/package.json index c4117f57154..53a542608f4 100644 --- a/packages/runtimes/hmr/package.json +++ b/packages/runtimes/hmr/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-browser-hmr", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HMRRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1" + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0" } } diff --git a/packages/runtimes/js/package.json b/packages/runtimes/js/package.json index 9f74e77498f..fe57c7b095f 100644 --- a/packages/runtimes/js/package.json +++ b/packages/runtimes/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-js", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/JSRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/react-refresh/package.json b/packages/runtimes/react-refresh/package.json index b837732c0c4..cf5b46c31f3 100644 --- a/packages/runtimes/react-refresh/package.json +++ b/packages/runtimes/react-refresh/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-react-refresh", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "react-refresh": "^0.9.0" } } diff --git a/packages/runtimes/service-worker/package.json b/packages/runtimes/service-worker/package.json index 698faeb4138..32b972f9a6b 100644 --- a/packages/runtimes/service-worker/package.json +++ b/packages/runtimes/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-service-worker", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "./src/ServiceWorkerRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 421ac986642..52d3f6ddee5 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-babel", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/BabelTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "browserslist": "^4.6.6", "json5": "^2.2.0", "nullthrows": "^1.1.1", @@ -33,6 +33,6 @@ "@babel/core": "^7.12.0", "@babel/preset-env": "^7.0.0", "@babel/types": "^7.12.0", - "@parcel/types": "^2.2.1" + "@parcel/types": "^2.3.0" } } diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 93816c87c07..d0a88bfa05e 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-coffeescript", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CoffeeScriptTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", "semver": "^5.7.1" diff --git a/packages/transformers/css-experimental/package.json b/packages/transformers/css-experimental/package.json index 6df89f1ce5f..d157ec13cbd 100644 --- a/packages/transformers/css-experimental/package.json +++ b/packages/transformers/css-experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css-experimental", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { "@parcel/css": "^1.0.3", - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 2a4c8aa2186..57db97945e9 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/hash": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/hash": "^2.3.0", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1", "postcss": "^8.4.5", "postcss-value-parser": "^4.2.0", diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index a29afb50053..2369645e51b 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-elm", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ElmTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", "command-exists": "^1.2.8", "cross-spawn": "^7.0.3", "elm-hot": "^1.1.5", diff --git a/packages/transformers/glsl/package.json b/packages/transformers/glsl/package.json index ddfed6fc5c4..645435111d4 100644 --- a/packages/transformers/glsl/package.json +++ b/packages/transformers/glsl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-glsl", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GLSLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "glslify-bundle": "^5.1.1", "glslify-deps": "^1.3.2" } diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index 797b539117b..3bdb9cdebbc 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-graphql", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GraphQLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "graphql": "^15.0.0", "graphql-import-macro": "^1.0.0" } diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index a2af54ac4ec..76fe09c7813 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-html", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/hash": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/hash": "^2.3.0", + "@parcel/plugin": "^2.3.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index 42b5504a73a..5c9b52f18ac 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-image", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -13,11 +13,11 @@ "source": "src/ImageTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/workers": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/workers": "^2.3.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/inline-string/package.json b/packages/transformers/inline-string/package.json index 588f36cad8f..8074bae2ee5 100644 --- a/packages/transformers/inline-string/package.json +++ b/packages/transformers/inline-string/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline-string", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineStringTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/transformers/inline/package.json b/packages/transformers/inline/package.json index 31d3c5365d9..84124a1db47 100644 --- a/packages/transformers/inline/package.json +++ b/packages/transformers/inline/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 54f2d7ddb8d..8374dafd392 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-js", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -19,7 +19,7 @@ "name": "parcel-swc" }, "engines": { - "parcel": "^2.2.1", + "parcel": "^2.3.0", "node": ">= 12.0.0" }, "files": [ @@ -30,11 +30,11 @@ "*.node" ], "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", - "@parcel/workers": "^2.2.1", + "@parcel/utils": "^2.3.0", + "@parcel/workers": "^2.3.0", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index 61e61151d92..a8ab37dc81d 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-json", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/JSONTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "json5": "^2.2.0" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index 131f7541be8..0285ef35e5b 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-jsonld", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/JSONLDTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "scripts": { "test": "yarn workspace @parcel/integration-tests test -g jsonld" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/types": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/types": "^2.3.0", "json5": "^2.2.0" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index 1b19a9d4025..bcbf8fd52fd 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-less", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/LessTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", "less": "^4.1.1" } diff --git a/packages/transformers/mdx/package.json b/packages/transformers/mdx/package.json index 4ce952ed091..083bcd42d86 100644 --- a/packages/transformers/mdx/package.json +++ b/packages/transformers/mdx/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-mdx", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/MDXTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { "@mdx-js/mdx": "^1.6.22", - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" }, "peerDependencies": { "@mdx-js/react": "^1.6.22" diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index 4677e7cf585..add7d3321a5 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-postcss", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/PostCSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/hash": "^2.2.1", - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/hash": "^2.3.0", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "clone": "^2.1.1", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", diff --git a/packages/transformers/posthtml/package.json b/packages/transformers/posthtml/package.json index d0aa0ad34e9..a551ffb8a6d 100644 --- a/packages/transformers/posthtml/package.json +++ b/packages/transformers/posthtml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-posthtml", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/PostHTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index a5d4959ffbc..2f772f7869b 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-pug", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/PugTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "pug": "^3.0.2" } } diff --git a/packages/transformers/raw/package.json b/packages/transformers/raw/package.json index 90923f7f8bc..3f61b4d1b5f 100644 --- a/packages/transformers/raw/package.json +++ b/packages/transformers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-raw", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index a38d4306eae..08dc906eaee 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-react-refresh-wrap", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshWrapTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "react-refresh": "^0.9.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index dc4121eb64c..b3681ada04a 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sass", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SassTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index 864bca2717c..9200c155fd6 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-stylus", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/StylusTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "stylus": "^0.55.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index c1290ee7a71..aa7f4664894 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sugarss", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SugarssTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "postcss": "^8.4.5", "sugarss": "^3.0.3" } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index 837286d55ab..5f252c6b4da 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg-react", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SvgReactTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@svgr/core": "^6.2.0", "@svgr/plugin-jsx": "^6.2.0", "@svgr/plugin-svgo": "^6.2.0", diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index ab0ab872f4d..21773c61190 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/hash": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/hash": "^2.3.0", + "@parcel/plugin": "^2.3.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index 43957e087f2..fae086c90b6 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-toml", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/TOMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { "@iarna/toml": "^2.2.3", - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/transformers/typescript-tsc/package.json b/packages/transformers/typescript-tsc/package.json index c88af70ee6c..fd36361a01c 100644 --- a/packages/transformers/typescript-tsc/package.json +++ b/packages/transformers/typescript-tsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-tsc", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/TSCTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.2.1" + "@parcel/ts-utils": "^2.3.0" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index 4447f7b379e..c59d431271f 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-types", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TSTypesTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.2.1", + "@parcel/ts-utils": "^2.3.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index c1508e0ab66..a103816a336 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-vue", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/VueTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.2.1", + "@parcel/utils": "^2.3.0", "@vue/compiler-sfc": "^3.2.27", "consolidate": "^0.16.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index 513ed6e5c57..008b4e25cf0 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webextension", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebExtensionTransformer.js", "source": "src/WebExtensionTransformer.js", "engines": { - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "content-security-policy-parser": "^0.3.0", "json-source-map": "^0.6.1" } diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index 827cf6907c3..a917826ecb2 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webmanifest", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebManifestTransformer.js", "source": "src/WebManifestTransformer.js", "engines": { - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "json-source-map": "^0.6.1" } } diff --git a/packages/transformers/worklet/package.json b/packages/transformers/worklet/package.json index d6351d4574a..ded2557ac44 100644 --- a/packages/transformers/worklet/package.json +++ b/packages/transformers/worklet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-worklet", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/WorkletTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1" + "@parcel/plugin": "^2.3.0" } } diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index b393f801e50..8e8a54e8b77 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-xml", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/XMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/transformers/yaml/package.json b/packages/transformers/yaml/package.json index d900914391a..b0aad3d7640 100644 --- a/packages/transformers/yaml/package.json +++ b/packages/transformers/yaml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-yaml", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/YAMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", + "@parcel/plugin": "^2.3.0", "js-yaml": "^3.10.0" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index 4657d32a7fe..eda6f94e73e 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-plugin-transform-runtime", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ }, "devDependencies": { "@babel/core": "^7.12.0", - "@parcel/babel-preset-env": "^2.2.1" + "@parcel/babel-preset-env": "^2.3.0" } } diff --git a/packages/utils/babel-preset-env/package.json b/packages/utils/babel-preset-env/package.json index ce6b279b6fc..d6cb2971992 100644 --- a/packages/utils/babel-preset-env/package.json +++ b/packages/utils/babel-preset-env/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset-env", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 49027a92acb..73269e54d91 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/create-react-app", - "version": "2.2.1", + "version": "2.3.0", "bin": { "parcel-create-react-app": "src/bin.js" }, @@ -31,6 +31,6 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.2.1" + "@parcel/babel-register": "^2.3.0" } } diff --git a/packages/utils/events/package.json b/packages/utils/events/package.json index abe8c248e32..c771016c7e6 100644 --- a/packages/utils/events/package.json +++ b/packages/utils/events/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/events", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-search/package.json b/packages/utils/fs-search/package.json index 8f5070a26aa..a5c7b9c97cc 100644 --- a/packages/utils/fs-search/package.json +++ b/packages/utils/fs-search/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-search", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-write-stream-atomic/package.json b/packages/utils/fs-write-stream-atomic/package.json index bfe53597b55..bd238cb038a 100644 --- a/packages/utils/fs-write-stream-atomic/package.json +++ b/packages/utils/fs-write-stream-atomic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-write-stream-atomic", - "version": "2.2.1", + "version": "2.3.0", "description": "Like `fs.createWriteStream(...)`, but atomic.", "main": "index.js", "repository": { diff --git a/packages/utils/hash/package.json b/packages/utils/hash/package.json index 60f2173f5d1..beba651bd97 100644 --- a/packages/utils/hash/package.json +++ b/packages/utils/hash/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/hash", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "main": "index.js", "browser": "browser.js", diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index 00561bb0919..ab8b9ba6076 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-resolver-core", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -19,8 +19,8 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/diagnostic": "^2.3.0", + "@parcel/utils": "^2.3.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/utils/service-worker/package.json b/packages/utils/service-worker/package.json index ad4a67a0fcb..4c5e83614d7 100644 --- a/packages/utils/service-worker/package.json +++ b/packages/utils/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/service-worker", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,6 +18,6 @@ "sideEffects": false, "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" } } diff --git a/packages/utils/ts-utils/package.json b/packages/utils/ts-utils/package.json index ae1f56466d9..1d5e90458d1 100644 --- a/packages/utils/ts-utils/package.json +++ b/packages/utils/ts-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-utils", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index 3423bd67ac0..d9d7c322e44 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-eslint", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/EslintValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/plugin": "^2.2.1", - "@parcel/utils": "^2.2.1", + "@parcel/plugin": "^2.3.0", + "@parcel/utils": "^2.3.0", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/validators/typescript/package.json b/packages/validators/typescript/package.json index 4338f543d4d..5821b379638 100644 --- a/packages/validators/typescript/package.json +++ b/packages/validators/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-typescript", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/TypeScriptValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.2.1" + "parcel": "^2.3.0" }, "dependencies": { - "@parcel/diagnostic": "^2.2.1", - "@parcel/plugin": "^2.2.1", - "@parcel/ts-utils": "^2.2.1", - "@parcel/types": "^2.2.1", - "@parcel/utils": "^2.2.1" + "@parcel/diagnostic": "^2.3.0", + "@parcel/plugin": "^2.3.0", + "@parcel/ts-utils": "^2.3.0", + "@parcel/types": "^2.3.0", + "@parcel/utils": "^2.3.0" }, "devDependencies": { "typescript": ">=3.0.0" From d0984689d7fbcec80eb3e7d98cfe88ee9272cf3c Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 9 Feb 2022 22:43:52 -0500 Subject: [PATCH 0197/1076] Add diagnostic for failed autoinstall of node polyfill (#7682) --- .../node-resolver-core/src/NodeResolver.js | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/utils/node-resolver-core/src/NodeResolver.js b/packages/utils/node-resolver-core/src/NodeResolver.js index edf46af4006..50bb569ca59 100644 --- a/packages/utils/node-resolver-core/src/NodeResolver.js +++ b/packages/utils/node-resolver-core/src/NodeResolver.js @@ -290,6 +290,7 @@ export default class NodeResolver { // Auto install node builtin polyfills if not already available if (resolved === undefined && builtin != null) { + let packageName = builtin.split('/')[0]; let packageManager = this.packageManager; if (packageManager) { this.logger?.warn({ @@ -312,7 +313,7 @@ export default class NodeResolver { 'https://parceljs.org/features/node-emulation/#polyfilling-%26-excluding-builtin-node-modules', }); - await packageManager.resolve(builtin, this.projectRoot + '/index', { + await packageManager.resolve(packageName, this.projectRoot + '/index', { saveDev: true, shouldAutoInstall: true, }); @@ -323,6 +324,31 @@ export default class NodeResolver { } catch (err) { // ignore } + } else { + throw new ThrowableDiagnostic({ + diagnostic: { + message: md`Node builtin polyfill "${packageName}" is not installed, but auto install is disabled.`, + codeFrames: [ + { + filePath: ctx.loc?.filePath ?? sourceFile, + codeHighlights: ctx.loc + ? [ + { + message: 'used here', + start: ctx.loc.start, + end: ctx.loc.end, + }, + ] + : [], + }, + ], + documentationURL: + 'https://parceljs.org/features/node-emulation/#polyfilling-%26-excluding-builtin-node-modules', + hints: [ + md`Install the "${packageName}" package with your package manager, and run Parcel again.`, + ], + }, + }); } } From a7e7ecf377cb566bbb0f5bd9847aaa54491b03ba Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 9 Feb 2022 22:45:56 -0500 Subject: [PATCH 0198/1076] v2.3.1 --- CHANGELOG.md | 6 + packages/bundlers/default/package.json | 12 +- packages/bundlers/experimental/package.json | 14 +-- packages/compressors/brotli/package.json | 6 +- packages/compressors/gzip/package.json | 6 +- packages/compressors/raw/package.json | 6 +- packages/configs/default/package.json | 110 +++++++++--------- packages/configs/webextension/package.json | 10 +- packages/core/cache/package.json | 10 +- packages/core/codeframe/package.json | 2 +- packages/core/core/package.json | 26 ++--- packages/core/diagnostic/package.json | 2 +- packages/core/fs/package.json | 14 +-- packages/core/graph/package.json | 4 +- packages/core/integration-tests/package.json | 4 +- packages/core/is-v2-ready-yet/package.json | 4 +- packages/core/logger/package.json | 6 +- packages/core/markdown-ansi/package.json | 2 +- packages/core/package-manager/package.json | 16 +-- packages/core/parcel/package.json | 26 ++--- packages/core/plugin/package.json | 4 +- packages/core/register/package.json | 10 +- packages/core/test-utils/package.json | 12 +- packages/core/types/package.json | 12 +- packages/core/utils/package.json | 12 +- packages/core/workers/package.json | 12 +- packages/dev/babel-preset/package.json | 2 +- packages/dev/babel-register/package.json | 4 +- .../dev/eslint-config-browser/package.json | 4 +- packages/dev/eslint-config/package.json | 4 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 2 +- packages/examples/eslint-example/package.json | 8 +- packages/examples/html/package.json | 6 +- .../examples/internalize-example/package.json | 2 +- packages/examples/kitchen-sink/package.json | 12 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 6 +- packages/examples/simple/package.json | 6 +- packages/examples/three/package.json | 6 +- packages/examples/ts-example/package.json | 6 +- .../ts-typecheck-example/package.json | 8 +- packages/namers/default/package.json | 8 +- packages/optimizers/blob-url/package.json | 8 +- packages/optimizers/css/package.json | 8 +- packages/optimizers/cssnano/package.json | 6 +- packages/optimizers/data-url/package.json | 8 +- packages/optimizers/esbuild/package.json | 10 +- packages/optimizers/htmlnano/package.json | 6 +- packages/optimizers/image/package.json | 12 +- packages/optimizers/svgo/package.json | 10 +- packages/optimizers/swc/package.json | 8 +- packages/optimizers/terser/package.json | 10 +- packages/packagers/css/package.json | 8 +- packages/packagers/html/package.json | 10 +- packages/packagers/js/package.json | 12 +- packages/packagers/raw-url/package.json | 8 +- packages/packagers/raw/package.json | 6 +- packages/packagers/svg/package.json | 10 +- packages/packagers/ts/package.json | 6 +- packages/packagers/xml/package.json | 10 +- packages/reporters/build-metrics/package.json | 8 +- .../reporters/bundle-analyzer/package.json | 10 +- packages/reporters/bundle-buddy/package.json | 6 +- packages/reporters/cli/package.json | 10 +- packages/reporters/dev-server/package.json | 12 +- packages/reporters/json/package.json | 10 +- .../sourcemap-visualiser/package.json | 10 +- packages/resolvers/default/package.json | 8 +- packages/resolvers/glob/package.json | 10 +- packages/runtimes/hmr/package.json | 8 +- packages/runtimes/js/package.json | 8 +- packages/runtimes/react-refresh/package.json | 8 +- packages/runtimes/service-worker/package.json | 8 +- packages/transformers/babel/package.json | 12 +- .../transformers/coffeescript/package.json | 8 +- .../css-experimental/package.json | 8 +- packages/transformers/css/package.json | 10 +- packages/transformers/elm/package.json | 8 +- packages/transformers/glsl/package.json | 6 +- packages/transformers/graphql/package.json | 6 +- packages/transformers/html/package.json | 10 +- packages/transformers/image/package.json | 8 +- .../transformers/inline-string/package.json | 6 +- packages/transformers/inline/package.json | 6 +- packages/transformers/js/package.json | 12 +- packages/transformers/json/package.json | 6 +- packages/transformers/jsonld/package.json | 8 +- packages/transformers/less/package.json | 6 +- packages/transformers/mdx/package.json | 6 +- packages/transformers/postcss/package.json | 10 +- packages/transformers/posthtml/package.json | 8 +- packages/transformers/pug/package.json | 6 +- packages/transformers/raw/package.json | 6 +- .../react-refresh-wrap/package.json | 8 +- packages/transformers/sass/package.json | 6 +- packages/transformers/stylus/package.json | 8 +- packages/transformers/sugarss/package.json | 6 +- packages/transformers/svg-react/package.json | 6 +- packages/transformers/svg/package.json | 10 +- packages/transformers/toml/package.json | 6 +- .../transformers/typescript-tsc/package.json | 8 +- .../typescript-types/package.json | 10 +- packages/transformers/vue/package.json | 10 +- .../transformers/webextension/package.json | 10 +- .../transformers/webmanifest/package.json | 10 +- packages/transformers/worklet/package.json | 6 +- packages/transformers/xml/package.json | 6 +- packages/transformers/yaml/package.json | 6 +- .../package.json | 4 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/create-react-app/package.json | 6 +- packages/utils/events/package.json | 2 +- packages/utils/fs-search/package.json | 2 +- .../utils/fs-write-stream-atomic/package.json | 2 +- packages/utils/hash/package.json | 2 +- .../utils/node-resolver-core/package.json | 6 +- packages/utils/service-worker/package.json | 4 +- packages/utils/ts-utils/package.json | 2 +- packages/validators/eslint/package.json | 8 +- packages/validators/typescript/package.json | 14 +-- 121 files changed, 521 insertions(+), 515 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 01cb8c6619d..92dbcf0f606 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to Parcel will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and Parcel adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.3.1] - 2022-02-09 + +## Fixed + +- Add diagnostic for failed autoinstall of node polyfill - [Details](https://github.com/parcel-bundler/parcel/pull/7682) + ## [2.3.0] - 2022-02-09 ## Added diff --git a/packages/bundlers/default/package.json b/packages/bundlers/default/package.json index 5e668274e56..95c25c4a707 100644 --- a/packages/bundlers/default/package.json +++ b/packages/bundlers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-default", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/DefaultBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/hash": "^2.3.0", - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/hash": "^2.3.1", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/bundlers/experimental/package.json b/packages/bundlers/experimental/package.json index e4a2d9a7905..aca25f1c337 100644 --- a/packages/bundlers/experimental/package.json +++ b/packages/bundlers/experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-experimental", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/ExperimentalBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/graph": "^2.3.0", - "@parcel/hash": "^2.3.0", - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/graph": "^2.3.1", + "@parcel/hash": "^2.3.1", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/compressors/brotli/package.json b/packages/compressors/brotli/package.json index 9e629710758..8a30356b47a 100644 --- a/packages/compressors/brotli/package.json +++ b/packages/compressors/brotli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-brotli", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BrotliCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/compressors/gzip/package.json b/packages/compressors/gzip/package.json index 980314dd0c7..969483fef20 100644 --- a/packages/compressors/gzip/package.json +++ b/packages/compressors/gzip/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-gzip", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/GzipCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/compressors/raw/package.json b/packages/compressors/raw/package.json index bb4b1a1cfad..09e1d15d2a9 100644 --- a/packages/compressors/raw/package.json +++ b/packages/compressors/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-raw", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index aec2d962ba8..f81c9f04034 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-default", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -18,63 +18,63 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "^2.3.0", - "@parcel/compressor-raw": "^2.3.0", - "@parcel/namer-default": "^2.3.0", - "@parcel/optimizer-cssnano": "^2.3.0", - "@parcel/optimizer-htmlnano": "^2.3.0", - "@parcel/optimizer-image": "^2.3.0", - "@parcel/optimizer-svgo": "^2.3.0", - "@parcel/optimizer-terser": "^2.3.0", - "@parcel/packager-css": "^2.3.0", - "@parcel/packager-html": "^2.3.0", - "@parcel/packager-js": "^2.3.0", - "@parcel/packager-raw": "^2.3.0", - "@parcel/packager-svg": "^2.3.0", - "@parcel/reporter-dev-server": "^2.3.0", - "@parcel/resolver-default": "^2.3.0", - "@parcel/runtime-browser-hmr": "^2.3.0", - "@parcel/runtime-js": "^2.3.0", - "@parcel/runtime-react-refresh": "^2.3.0", - "@parcel/runtime-service-worker": "^2.3.0", - "@parcel/transformer-babel": "^2.3.0", - "@parcel/transformer-css": "^2.3.0", - "@parcel/transformer-html": "^2.3.0", - "@parcel/transformer-image": "^2.3.0", - "@parcel/transformer-js": "^2.3.0", - "@parcel/transformer-json": "^2.3.0", - "@parcel/transformer-postcss": "^2.3.0", - "@parcel/transformer-posthtml": "^2.3.0", - "@parcel/transformer-raw": "^2.3.0", - "@parcel/transformer-react-refresh-wrap": "^2.3.0", - "@parcel/transformer-svg": "^2.3.0" + "@parcel/bundler-default": "^2.3.1", + "@parcel/compressor-raw": "^2.3.1", + "@parcel/namer-default": "^2.3.1", + "@parcel/optimizer-cssnano": "^2.3.1", + "@parcel/optimizer-htmlnano": "^2.3.1", + "@parcel/optimizer-image": "^2.3.1", + "@parcel/optimizer-svgo": "^2.3.1", + "@parcel/optimizer-terser": "^2.3.1", + "@parcel/packager-css": "^2.3.1", + "@parcel/packager-html": "^2.3.1", + "@parcel/packager-js": "^2.3.1", + "@parcel/packager-raw": "^2.3.1", + "@parcel/packager-svg": "^2.3.1", + "@parcel/reporter-dev-server": "^2.3.1", + "@parcel/resolver-default": "^2.3.1", + "@parcel/runtime-browser-hmr": "^2.3.1", + "@parcel/runtime-js": "^2.3.1", + "@parcel/runtime-react-refresh": "^2.3.1", + "@parcel/runtime-service-worker": "^2.3.1", + "@parcel/transformer-babel": "^2.3.1", + "@parcel/transformer-css": "^2.3.1", + "@parcel/transformer-html": "^2.3.1", + "@parcel/transformer-image": "^2.3.1", + "@parcel/transformer-js": "^2.3.1", + "@parcel/transformer-json": "^2.3.1", + "@parcel/transformer-postcss": "^2.3.1", + "@parcel/transformer-posthtml": "^2.3.1", + "@parcel/transformer-raw": "^2.3.1", + "@parcel/transformer-react-refresh-wrap": "^2.3.1", + "@parcel/transformer-svg": "^2.3.1" }, "parcelDependencies": { - "@parcel/optimizer-data-url": "^2.3.0", - "@parcel/packager-raw-url": "^2.3.0", - "@parcel/packager-ts": "^2.3.0", - "@parcel/packager-xml": "^2.3.0", - "@parcel/transformer-coffeescript": "^2.3.0", - "@parcel/transformer-elm": "^2.3.0", - "@parcel/transformer-glsl": "^2.3.0", - "@parcel/transformer-graphql": "^2.3.0", - "@parcel/transformer-inline-string": "^2.3.0", - "@parcel/transformer-jsonld": "^2.3.0", - "@parcel/transformer-less": "^2.3.0", - "@parcel/transformer-mdx": "^2.3.0", - "@parcel/transformer-pug": "^2.3.0", - "@parcel/transformer-sass": "^2.3.0", - "@parcel/transformer-stylus": "^2.3.0", - "@parcel/transformer-sugarss": "^2.3.0", - "@parcel/transformer-toml": "^2.3.0", - "@parcel/transformer-typescript-types": "^2.3.0", - "@parcel/transformer-vue": "^2.3.0", - "@parcel/transformer-webmanifest": "^2.3.0", - "@parcel/transformer-worklet": "^2.3.0", - "@parcel/transformer-xml": "^2.3.0", - "@parcel/transformer-yaml": "^2.3.0" + "@parcel/optimizer-data-url": "^2.3.1", + "@parcel/packager-raw-url": "^2.3.1", + "@parcel/packager-ts": "^2.3.1", + "@parcel/packager-xml": "^2.3.1", + "@parcel/transformer-coffeescript": "^2.3.1", + "@parcel/transformer-elm": "^2.3.1", + "@parcel/transformer-glsl": "^2.3.1", + "@parcel/transformer-graphql": "^2.3.1", + "@parcel/transformer-inline-string": "^2.3.1", + "@parcel/transformer-jsonld": "^2.3.1", + "@parcel/transformer-less": "^2.3.1", + "@parcel/transformer-mdx": "^2.3.1", + "@parcel/transformer-pug": "^2.3.1", + "@parcel/transformer-sass": "^2.3.1", + "@parcel/transformer-stylus": "^2.3.1", + "@parcel/transformer-sugarss": "^2.3.1", + "@parcel/transformer-toml": "^2.3.1", + "@parcel/transformer-typescript-types": "^2.3.1", + "@parcel/transformer-vue": "^2.3.1", + "@parcel/transformer-webmanifest": "^2.3.1", + "@parcel/transformer-worklet": "^2.3.1", + "@parcel/transformer-xml": "^2.3.1", + "@parcel/transformer-yaml": "^2.3.1" }, "peerDependencies": { - "@parcel/core": "^2.3.0" + "@parcel/core": "^2.3.1" } } diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index 2a8b25fbc64..7be176d8288 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-webextension", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -15,9 +15,9 @@ }, "main": "index.json", "dependencies": { - "@parcel/config-default": "^2.3.0", - "@parcel/packager-raw-url": "^2.3.0", - "@parcel/transformer-raw": "^2.3.0", - "@parcel/transformer-webextension": "^2.3.0" + "@parcel/config-default": "^2.3.1", + "@parcel/packager-raw-url": "^2.3.1", + "@parcel/transformer-raw": "^2.3.1", + "@parcel/transformer-webextension": "^2.3.1" } } diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 6688d60a5b3..d5316b07d50 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/cache", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -24,13 +24,13 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs": "^2.3.0", - "@parcel/logger": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/fs": "^2.3.1", + "@parcel/logger": "^2.3.1", + "@parcel/utils": "^2.3.1", "lmdb": "^2.0.2" }, "peerDependencies": { - "@parcel/core": "^2.3.0" + "@parcel/core": "^2.3.1" }, "devDependencies": { "idb": "^5.0.8" diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index ee926691747..c10606e24dc 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/codeframe", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 35234f02762..3583e1a32ad 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/core", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -24,19 +24,19 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.3.0", - "@parcel/diagnostic": "^2.3.0", - "@parcel/events": "^2.3.0", - "@parcel/fs": "^2.3.0", - "@parcel/graph": "^2.3.0", - "@parcel/hash": "^2.3.0", - "@parcel/logger": "^2.3.0", - "@parcel/package-manager": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/cache": "^2.3.1", + "@parcel/diagnostic": "^2.3.1", + "@parcel/events": "^2.3.1", + "@parcel/fs": "^2.3.1", + "@parcel/graph": "^2.3.1", + "@parcel/hash": "^2.3.1", + "@parcel/logger": "^2.3.1", + "@parcel/package-manager": "^2.3.1", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0", - "@parcel/workers": "^2.3.0", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1", + "@parcel/workers": "^2.3.1", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index 815926ce628..afe10cbf5e2 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/diagnostic", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index a8a1235c679..ec5c27b90c5 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -48,21 +48,21 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs-search": "^2.3.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/fs-search": "^2.3.1", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "^2.3.0" + "@parcel/workers": "^2.3.1" }, "devDependencies": { - "@parcel/fs-write-stream-atomic": "^2.3.0", + "@parcel/fs-write-stream-atomic": "^2.3.1", "graceful-fs": "^4.2.4", "ncp": "^2.0.0", "nullthrows": "^1.1.1", "utility-types": "^3.10.0" }, "peerDependencies": { - "@parcel/core": "^2.3.0" + "@parcel/core": "^2.3.1" }, "browser": { "@parcel/fs": "./lib/browser.js", diff --git a/packages/core/graph/package.json b/packages/core/graph/package.json index e95d1d2b4df..5a29b3777f2 100644 --- a/packages/core/graph/package.json +++ b/packages/core/graph/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/graph", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index c39936cb34b..6398d6c9e01 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/integration-tests", - "version": "2.3.0", + "version": "2.3.1", "private": true, "license": "MIT", "repository": { @@ -42,7 +42,7 @@ "ncp": "^2.0.0", "nib": "^1.1.2", "node-elm-compiler": "^5.0.5", - "parcel": "^2.3.0", + "parcel": "^2.3.1", "postcss": "^8.4.5", "postcss-custom-properties": "^12.1.2", "postcss-import": "^14.0.2", diff --git a/packages/core/is-v2-ready-yet/package.json b/packages/core/is-v2-ready-yet/package.json index 18626712d11..45a7f560f3c 100644 --- a/packages/core/is-v2-ready-yet/package.json +++ b/packages/core/is-v2-ready-yet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/is-v2-ready-yet", - "version": "2.3.0", + "version": "2.3.1", "private": true, "license": "MIT", "repository": { @@ -13,7 +13,7 @@ "build-app": "yarn parcel build index.html" }, "dependencies": { - "@parcel/integration-tests": "^2.3.0", + "@parcel/integration-tests": "^2.3.1", "react": "^17.0.2", "react-dom": "^17.0.2", "victory": "^31.0.1" diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 05fda4b7ac4..2418f4feefe 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/logger", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/events": "^2.3.0" + "@parcel/diagnostic": "^2.3.1", + "@parcel/events": "^2.3.1" } } diff --git a/packages/core/markdown-ansi/package.json b/packages/core/markdown-ansi/package.json index 964134f6c90..dd489e4cd54 100644 --- a/packages/core/markdown-ansi/package.json +++ b/packages/core/markdown-ansi/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/markdown-ansi", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "publishConfig": { "access": "public" diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index ec0c0676957..65e9d32f701 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/package-manager", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -40,12 +40,12 @@ } }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/fs": "^2.3.0", - "@parcel/logger": "^2.3.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0", - "@parcel/workers": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/fs": "^2.3.1", + "@parcel/logger": "^2.3.1", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1", + "@parcel/workers": "^2.3.1", "semver": "^5.7.1" }, "devDependencies": { @@ -55,7 +55,7 @@ "split2": "^3.1.1" }, "peerDependencies": { - "@parcel/core": "^2.3.0" + "@parcel/core": "^2.3.1" }, "browser": { "./src/Npm.js": false, diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index dbb4f58bdf8..2bddef3729f 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -1,6 +1,6 @@ { "name": "parcel", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -14,29 +14,29 @@ "type": "git", "url": "https://github.com/parcel-bundler/parcel.git" }, - "bin": "src/bin.js", + "bin": "lib/bin.js", "main": "lib/bin.js", "source": "src/bin.js", "engines": { "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.3.0", - "@parcel/core": "^2.3.0", - "@parcel/diagnostic": "^2.3.0", - "@parcel/events": "^2.3.0", - "@parcel/fs": "^2.3.0", - "@parcel/logger": "^2.3.0", - "@parcel/package-manager": "^2.3.0", - "@parcel/reporter-cli": "^2.3.0", - "@parcel/reporter-dev-server": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/config-default": "^2.3.1", + "@parcel/core": "^2.3.1", + "@parcel/diagnostic": "^2.3.1", + "@parcel/events": "^2.3.1", + "@parcel/fs": "^2.3.1", + "@parcel/logger": "^2.3.1", + "@parcel/package-manager": "^2.3.1", + "@parcel/reporter-cli": "^2.3.1", + "@parcel/reporter-dev-server": "^2.3.1", + "@parcel/utils": "^2.3.1", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.3.0" + "@parcel/babel-register": "^2.3.1" } } diff --git a/packages/core/plugin/package.json b/packages/core/plugin/package.json index 98107e523ed..22ec3b75c15 100644 --- a/packages/core/plugin/package.json +++ b/packages/core/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/plugin", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ "check-ts": "tsc --noEmit src/PluginAPI.d.ts" }, "dependencies": { - "@parcel/types": "^2.3.0" + "@parcel/types": "^2.3.1" } } diff --git a/packages/core/register/package.json b/packages/core/register/package.json index d8df365e3d7..51bc872271a 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/register", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -23,10 +23,10 @@ "clean": "rimraf .parcel-cache" }, "dependencies": { - "@parcel/config-default": "^2.3.0", - "@parcel/core": "^2.3.0", - "@parcel/fs": "^2.3.0", - "@parcel/package-manager": "^2.3.0", + "@parcel/config-default": "^2.3.1", + "@parcel/core": "^2.3.1", + "@parcel/fs": "^2.3.1", + "@parcel/package-manager": "^2.3.1", "deasync": "^0.1.14", "pirates": "^4.0.0" } diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index 7d87a3581b3..1eb00a8c683 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/test-utils", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -13,11 +13,11 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.3.0", - "@parcel/core": "^2.3.0", - "@parcel/fs": "^2.3.0", - "@parcel/package-manager": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/config-default": "^2.3.1", + "@parcel/core": "^2.3.1", + "@parcel/fs": "^2.3.1", + "@parcel/package-manager": "^2.3.1", + "@parcel/utils": "^2.3.1", "chalk": "^4.1.0", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/types/package.json b/packages/core/types/package.json index c8ac24eb73b..6db5a347089 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/types", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "main": "src/index.js", "types": "lib/index.d.ts", @@ -16,12 +16,12 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.3.0", - "@parcel/diagnostic": "^2.3.0", - "@parcel/fs": "^2.3.0", - "@parcel/package-manager": "^2.3.0", + "@parcel/cache": "^2.3.1", + "@parcel/diagnostic": "^2.3.1", + "@parcel/fs": "^2.3.1", + "@parcel/package-manager": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "^2.3.0", + "@parcel/workers": "^2.3.1", "utility-types": "^3.10.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index cd47bd31206..074c0e88aba 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/utils", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -33,11 +33,11 @@ } }, "dependencies": { - "@parcel/codeframe": "^2.3.0", - "@parcel/diagnostic": "^2.3.0", - "@parcel/hash": "^2.3.0", - "@parcel/logger": "^2.3.0", - "@parcel/markdown-ansi": "^2.3.0", + "@parcel/codeframe": "^2.3.1", + "@parcel/diagnostic": "^2.3.1", + "@parcel/hash": "^2.3.1", + "@parcel/logger": "^2.3.1", + "@parcel/markdown-ansi": "^2.3.1", "@parcel/source-map": "^2.0.0", "chalk": "^4.1.0" }, diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index 21dfa9945b1..cc9b46da23f 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/workers", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,15 +21,15 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/logger": "^2.3.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/logger": "^2.3.1", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, "peerDependencies": { - "@parcel/core": "^2.3.0" + "@parcel/core": "^2.3.1" }, "browser": { "./src/cpuCount.js": false, diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index ea555fe78ad..6c59f575f6f 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset", - "version": "2.3.0", + "version": "2.3.1", "private": true, "license": "MIT", "repository": { diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index 80149cf87b0..b6e4c46c272 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-register", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -10,7 +10,7 @@ }, "dependencies": { "@babel/register": "^7.4.4", - "@parcel/babel-preset": "^2.3.0", + "@parcel/babel-preset": "^2.3.1", "resolve": "^1.12.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index f716eb9742a..30582ff7f66 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -1,8 +1,8 @@ { "name": "@parcel/eslint-config-browser", "private": true, - "version": "2.3.0", + "version": "2.3.1", "dependencies": { - "@parcel/eslint-config": "^2.3.0" + "@parcel/eslint-config": "^2.3.1" } } diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index 8a10da08bb2..be593ab436b 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -1,10 +1,10 @@ { "name": "@parcel/eslint-config", "private": true, - "version": "2.3.0", + "version": "2.3.1", "dependencies": { "@babel/eslint-parser": "^7.12.1", - "@parcel/eslint-plugin": "^2.3.0", + "@parcel/eslint-plugin": "^2.3.1", "eslint-config-prettier": "^7.2.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index da163ed6cd8..e80807695d2 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/eslint-plugin", "private": true, - "version": "2.3.0", + "version": "2.3.1", "main": "index.js", "scripts": {}, "dependencies": { diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index 80ee6bc5599..d6bd66a79af 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -1,6 +1,6 @@ { "name": "fuzzer", - "version": "2.3.0", + "version": "2.3.1", "private": true, "scripts": { "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules -r @parcel/babel-register index.js" diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index 267a9c95685..2bf5de17a15 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/eslint-example", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.3.0", - "@parcel/core": "^2.3.0", - "@parcel/validator-eslint": "^2.3.0" + "@parcel/babel-register": "^2.3.1", + "@parcel/core": "^2.3.1", + "@parcel/validator-eslint": "^2.3.1" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index 8d55fb0ed98..fb164b69ec5 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/html-example", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true, "scripts": { @@ -12,8 +12,8 @@ "not firefox < 67" ], "devDependencies": { - "@parcel/babel-register": "^2.3.0", - "parcel": "^2.3.0" + "@parcel/babel-register": "^2.3.1", + "parcel": "^2.3.1" }, "dependencies": { "lodash": "^4.17.11", diff --git a/packages/examples/internalize-example/package.json b/packages/examples/internalize-example/package.json index 7a4c27ae8a7..e672056b128 100644 --- a/packages/examples/internalize-example/package.json +++ b/packages/examples/internalize-example/package.json @@ -1,6 +1,6 @@ { "name": "internalize-example", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 6759ac72d59..947d9b3194d 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/kitchen-sink-example", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true, "scripts": { @@ -8,11 +8,11 @@ "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { - "@parcel/babel-register": "^2.3.0", - "@parcel/config-default": "^2.3.0", - "@parcel/optimizer-esbuild": "^2.3.0", - "@parcel/reporter-sourcemap-visualiser": "^2.3.0", - "parcel": "^2.3.0" + "@parcel/babel-register": "^2.3.1", + "@parcel/config-default": "^2.3.1", + "@parcel/optimizer-esbuild": "^2.3.1", + "@parcel/reporter-sourcemap-visualiser": "^2.3.1", + "parcel": "^2.3.1" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 8db1964c1fd..41178e73007 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -1,13 +1,13 @@ { "name": "@parcel/react-hmr-example", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true, "scripts": { "demo": "parcel serve src/index.html --no-cache --https" }, "devDependencies": { - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 9cc0a4d0711..3594f9d5577 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/react-refresh-example", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true, "scripts": { "start": "parcel src/index.html" }, "devDependencies": { - "@parcel/babel-register": "^2.3.0", - "@parcel/core": "^2.3.0" + "@parcel/babel-register": "^2.3.1", + "@parcel/core": "^2.3.1" }, "dependencies": { "react": "^17.0.2", diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index 67e8ad64105..75898b7f5d7 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/simple-example", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true, "scripts": { @@ -8,8 +8,8 @@ "clean-demo": "rm -rf .parcel-cache dist && yarn demo" }, "devDependencies": { - "@parcel/babel-register": "^2.3.0", - "@parcel/core": "^2.3.0" + "@parcel/babel-register": "^2.3.1", + "@parcel/core": "^2.3.1" }, "browser": "dist/legacy/index.js", "browserModern": "dist/modern/index.js", diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index 2e31c03c987..279cd2c852a 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/three-js-stresstest", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true, "scripts": { @@ -27,7 +27,7 @@ } }, "devDependencies": { - "@parcel/config-default": "^2.3.0", - "parcel": "^2.3.0" + "@parcel/config-default": "^2.3.1", + "parcel": "^2.3.1" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index 9146757766c..7dee025b05c 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/ts-example", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true, "scripts": { "demo": "parcel build src/index.ts" }, "devDependencies": { - "@parcel/babel-register": "^2.3.0", - "@parcel/core": "^2.3.0" + "@parcel/babel-register": "^2.3.1", + "@parcel/core": "^2.3.1" }, "main": "dist/main.js", "module": "dist/module.js", diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index c350b78082b..ff758a76f96 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-typecheck-example", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.3.0", - "@parcel/core": "^2.3.0", - "@parcel/validator-typescript": "^2.3.0" + "@parcel/babel-register": "^2.3.1", + "@parcel/core": "^2.3.1", + "@parcel/validator-typescript": "^2.3.1" } } diff --git a/packages/namers/default/package.json b/packages/namers/default/package.json index 1042c7ec381..d7ffff4e459 100644 --- a/packages/namers/default/package.json +++ b/packages/namers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/namer-default", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultNamer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/blob-url/package.json b/packages/optimizers/blob-url/package.json index eb885c63107..7826be3a0c4 100644 --- a/packages/optimizers/blob-url/package.json +++ b/packages/optimizers/blob-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-blob-url", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BlobURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0" + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1" } } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index c4d43105401..923ebc99d7e 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-css", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { "@parcel/css": "^1.0.3", - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index d669bbf3fdb..8740eb3b2ea 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-cssnano", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/CSSNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.15", "postcss": "^8.4.5" diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index 3a1f6bf0b58..902a0990e02 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-data-url", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DataURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index 6427adf7a16..2439bdf0f0e 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-esbuild", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/ESBuildOptimizer.js", "engines": { "node": ">= 10.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "esbuild": "^0.13.0", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index 92fc7fcf81a..70a43ef1ea4 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-htmlnano", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HTMLNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "htmlnano": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index 6feb2f9431f..a803689bacd 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-image", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "main": "lib/ImageOptimizer.js", "source": "src/ImageOptimizer.js", @@ -17,7 +17,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "files": [ "lib", @@ -32,10 +32,10 @@ "build-release": "napi build --platform --release" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", - "@parcel/workers": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", + "@parcel/workers": "^2.3.1", "detect-libc": "^1.0.3" }, "devDependencies": { diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index c395c04de6b..8c55138d528 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-svgo", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGOOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "svgo": "^2.4.0" } } diff --git a/packages/optimizers/swc/package.json b/packages/optimizers/swc/package.json index c4f70e02ed2..11171d8b873 100644 --- a/packages/optimizers/swc/package.json +++ b/packages/optimizers/swc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-swc", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SwcOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "@swc/core": "^1.2.106", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index b895ccc958a..e66edb7351f 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-terser", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TerserOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1", "terser": "^5.2.0" } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index 74a3f35ea4b..841acba9d62 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-css", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index 354b31cd029..2819874a41d 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-html", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index 7c533c4acf0..3c0dfd161e3 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-js", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/index.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/hash": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/hash": "^2.3.1", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "globals": "^13.2.0", "nullthrows": "^1.1.1" } diff --git a/packages/packagers/raw-url/package.json b/packages/packagers/raw-url/package.json index 8a79a89c438..980155d7bc4 100644 --- a/packages/packagers/raw-url/package.json +++ b/packages/packagers/raw-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw-url", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/RawUrlPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0" + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1" } } diff --git a/packages/packagers/raw/package.json b/packages/packagers/raw/package.json index 71c5f8e40c5..aaf7e3521b3 100644 --- a/packages/packagers/raw/package.json +++ b/packages/packagers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/packagers/svg/package.json b/packages/packagers/svg/package.json index c5c6fb26624..acfd6276297 100644 --- a/packages/packagers/svg/package.json +++ b/packages/packagers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-svg", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1", "posthtml": "^0.16.4" } } diff --git a/packages/packagers/ts/package.json b/packages/packagers/ts/package.json index 09aa3f6230f..8b28f49107d 100644 --- a/packages/packagers/ts/package.json +++ b/packages/packagers/ts/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-ts", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/TSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index 51f54609fca..ef8ec4de436 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-xml", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/XMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/reporters/build-metrics/package.json b/packages/reporters/build-metrics/package.json index 6ed38cf1837..a2a15bd8247 100644 --- a/packages/reporters/build-metrics/package.json +++ b/packages/reporters/build-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-build-metrics", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BuildMetricsReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0" + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1" } } diff --git a/packages/reporters/bundle-analyzer/package.json b/packages/reporters/bundle-analyzer/package.json index e206f5c1e70..213204066ae 100644 --- a/packages/reporters/bundle-analyzer/package.json +++ b/packages/reporters/bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-analyzer", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/BundleAnalyzerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.3.0" + "@parcel/types": "^2.3.1" } } diff --git a/packages/reporters/bundle-buddy/package.json b/packages/reporters/bundle-buddy/package.json index e3131563e7f..08da11e05ec 100644 --- a/packages/reporters/bundle-buddy/package.json +++ b/packages/reporters/bundle-buddy/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-buddy", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BundleBuddyReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index 9fef017b948..505a9ef50c1 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-cli", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "source": "src/CLIReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "targets": { "main": { @@ -30,9 +30,9 @@ } }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 6697527e5af..9ec5b4a5b8e 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-dev-server", - "version": "2.3.0", + "version": "2.3.1", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -18,7 +18,7 @@ "source": "src/ServerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "targets": { "main": { @@ -29,12 +29,12 @@ } }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0" + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1" }, "devDependencies": { - "@parcel/babel-preset": "^2.3.0", - "@parcel/types": "^2.3.0", + "@parcel/babel-preset": "^2.3.1", + "@parcel/types": "^2.3.1", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^2.0.1", diff --git a/packages/reporters/json/package.json b/packages/reporters/json/package.json index 443e013c730..21aaa4a9adf 100644 --- a/packages/reporters/json/package.json +++ b/packages/reporters/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-json", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/JSONReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/reporters/sourcemap-visualiser/package.json b/packages/reporters/sourcemap-visualiser/package.json index 96e11e40572..a1c7d112229 100644 --- a/packages/reporters/sourcemap-visualiser/package.json +++ b/packages/reporters/sourcemap-visualiser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-sourcemap-visualiser", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/SourceMapVisualiser.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.3.0" + "@parcel/types": "^2.3.1" } } diff --git a/packages/resolvers/default/package.json b/packages/resolvers/default/package.json index 44f26010e70..5ac5608373a 100644 --- a/packages/resolvers/default/package.json +++ b/packages/resolvers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-default", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/node-resolver-core": "^2.3.0", - "@parcel/plugin": "^2.3.0" + "@parcel/node-resolver-core": "^2.3.1", + "@parcel/plugin": "^2.3.1" }, "devDependencies": { "@babel/core": "^7.12.2" diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index 051333a38a1..3f6cdfed285 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-glob", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/GlobResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/hmr/package.json b/packages/runtimes/hmr/package.json index 53a542608f4..74ce9ac2502 100644 --- a/packages/runtimes/hmr/package.json +++ b/packages/runtimes/hmr/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-browser-hmr", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HMRRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0" + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1" } } diff --git a/packages/runtimes/js/package.json b/packages/runtimes/js/package.json index fe57c7b095f..978181f6bba 100644 --- a/packages/runtimes/js/package.json +++ b/packages/runtimes/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-js", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/JSRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/react-refresh/package.json b/packages/runtimes/react-refresh/package.json index cf5b46c31f3..867a2f0fb3f 100644 --- a/packages/runtimes/react-refresh/package.json +++ b/packages/runtimes/react-refresh/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-react-refresh", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "react-refresh": "^0.9.0" } } diff --git a/packages/runtimes/service-worker/package.json b/packages/runtimes/service-worker/package.json index 32b972f9a6b..997b3d23241 100644 --- a/packages/runtimes/service-worker/package.json +++ b/packages/runtimes/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-service-worker", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "./src/ServiceWorkerRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 52d3f6ddee5..b5153fdb875 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-babel", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/BabelTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "browserslist": "^4.6.6", "json5": "^2.2.0", "nullthrows": "^1.1.1", @@ -33,6 +33,6 @@ "@babel/core": "^7.12.0", "@babel/preset-env": "^7.0.0", "@babel/types": "^7.12.0", - "@parcel/types": "^2.3.0" + "@parcel/types": "^2.3.1" } } diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index d0a88bfa05e..0af08e4adfc 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-coffeescript", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CoffeeScriptTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", "semver": "^5.7.1" diff --git a/packages/transformers/css-experimental/package.json b/packages/transformers/css-experimental/package.json index d157ec13cbd..5a7cf7863dc 100644 --- a/packages/transformers/css-experimental/package.json +++ b/packages/transformers/css-experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css-experimental", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { "@parcel/css": "^1.0.3", - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 57db97945e9..3a9bb48edd5 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/hash": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/hash": "^2.3.1", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1", "postcss": "^8.4.5", "postcss-value-parser": "^4.2.0", diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index 2369645e51b..2a4f72fd8f7 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-elm", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ElmTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", "command-exists": "^1.2.8", "cross-spawn": "^7.0.3", "elm-hot": "^1.1.5", diff --git a/packages/transformers/glsl/package.json b/packages/transformers/glsl/package.json index 645435111d4..b726a2f0ae1 100644 --- a/packages/transformers/glsl/package.json +++ b/packages/transformers/glsl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-glsl", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GLSLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "glslify-bundle": "^5.1.1", "glslify-deps": "^1.3.2" } diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index 3bdb9cdebbc..65b2b78e8b9 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-graphql", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GraphQLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "graphql": "^15.0.0", "graphql-import-macro": "^1.0.0" } diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index 76fe09c7813..72eb51b052c 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-html", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/hash": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/hash": "^2.3.1", + "@parcel/plugin": "^2.3.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index 5c9b52f18ac..07aace6c2ce 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-image", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -13,11 +13,11 @@ "source": "src/ImageTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/workers": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/workers": "^2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/inline-string/package.json b/packages/transformers/inline-string/package.json index 8074bae2ee5..0ae03ad0537 100644 --- a/packages/transformers/inline-string/package.json +++ b/packages/transformers/inline-string/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline-string", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineStringTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/transformers/inline/package.json b/packages/transformers/inline/package.json index 84124a1db47..1e33b41596f 100644 --- a/packages/transformers/inline/package.json +++ b/packages/transformers/inline/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 8374dafd392..57e6115a193 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-js", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -19,7 +19,7 @@ "name": "parcel-swc" }, "engines": { - "parcel": "^2.3.0", + "parcel": "^2.3.1", "node": ">= 12.0.0" }, "files": [ @@ -30,11 +30,11 @@ "*.node" ], "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", - "@parcel/workers": "^2.3.0", + "@parcel/utils": "^2.3.1", + "@parcel/workers": "^2.3.1", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index a8ab37dc81d..3e52de3dbd4 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-json", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/JSONTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "json5": "^2.2.0" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index 0285ef35e5b..988186d9293 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-jsonld", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/JSONLDTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "scripts": { "test": "yarn workspace @parcel/integration-tests test -g jsonld" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/types": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/types": "^2.3.1", "json5": "^2.2.0" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index bcbf8fd52fd..7c019a59b70 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-less", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/LessTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", "less": "^4.1.1" } diff --git a/packages/transformers/mdx/package.json b/packages/transformers/mdx/package.json index 083bcd42d86..b7cb9f4253e 100644 --- a/packages/transformers/mdx/package.json +++ b/packages/transformers/mdx/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-mdx", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/MDXTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { "@mdx-js/mdx": "^1.6.22", - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" }, "peerDependencies": { "@mdx-js/react": "^1.6.22" diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index add7d3321a5..bef72957663 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-postcss", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/PostCSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/hash": "^2.3.0", - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/hash": "^2.3.1", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "clone": "^2.1.1", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", diff --git a/packages/transformers/posthtml/package.json b/packages/transformers/posthtml/package.json index a551ffb8a6d..4148c917d6d 100644 --- a/packages/transformers/posthtml/package.json +++ b/packages/transformers/posthtml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-posthtml", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/PostHTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index 2f772f7869b..d9854a01064 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-pug", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/PugTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "pug": "^3.0.2" } } diff --git a/packages/transformers/raw/package.json b/packages/transformers/raw/package.json index 3f61b4d1b5f..44c6ae819b1 100644 --- a/packages/transformers/raw/package.json +++ b/packages/transformers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-raw", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index 08dc906eaee..c06f31dd0ee 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-react-refresh-wrap", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshWrapTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "react-refresh": "^0.9.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index b3681ada04a..ca407f2ab40 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sass", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SassTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index 9200c155fd6..f059d6027dd 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-stylus", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/StylusTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "stylus": "^0.55.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index aa7f4664894..93585aca02a 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sugarss", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SugarssTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "postcss": "^8.4.5", "sugarss": "^3.0.3" } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index 5f252c6b4da..d1a8023eab1 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg-react", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SvgReactTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@svgr/core": "^6.2.0", "@svgr/plugin-jsx": "^6.2.0", "@svgr/plugin-svgo": "^6.2.0", diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index 21773c61190..7637c9d52fe 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/hash": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/hash": "^2.3.1", + "@parcel/plugin": "^2.3.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index fae086c90b6..07aaf66b8f2 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-toml", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/TOMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { "@iarna/toml": "^2.2.3", - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/transformers/typescript-tsc/package.json b/packages/transformers/typescript-tsc/package.json index fd36361a01c..075ca5e907f 100644 --- a/packages/transformers/typescript-tsc/package.json +++ b/packages/transformers/typescript-tsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-tsc", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/TSCTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.3.0" + "@parcel/ts-utils": "^2.3.1" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index c59d431271f..6b94e78bf7b 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-types", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TSTypesTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.3.0", + "@parcel/ts-utils": "^2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index a103816a336..843ae566b8c 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-vue", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/VueTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.0", + "@parcel/utils": "^2.3.1", "@vue/compiler-sfc": "^3.2.27", "consolidate": "^0.16.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index 008b4e25cf0..77aa8275d07 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webextension", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebExtensionTransformer.js", "source": "src/WebExtensionTransformer.js", "engines": { - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "content-security-policy-parser": "^0.3.0", "json-source-map": "^0.6.1" } diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index a917826ecb2..418cba38f8f 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webmanifest", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebManifestTransformer.js", "source": "src/WebManifestTransformer.js", "engines": { - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "json-source-map": "^0.6.1" } } diff --git a/packages/transformers/worklet/package.json b/packages/transformers/worklet/package.json index ded2557ac44..fe20e2afcd7 100644 --- a/packages/transformers/worklet/package.json +++ b/packages/transformers/worklet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-worklet", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/WorkletTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0" + "@parcel/plugin": "^2.3.1" } } diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index 8e8a54e8b77..cb892c58017 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-xml", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/XMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/transformers/yaml/package.json b/packages/transformers/yaml/package.json index b0aad3d7640..49439025d11 100644 --- a/packages/transformers/yaml/package.json +++ b/packages/transformers/yaml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-yaml", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/YAMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", + "@parcel/plugin": "^2.3.1", "js-yaml": "^3.10.0" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index eda6f94e73e..72d86a7d31c 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-plugin-transform-runtime", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ }, "devDependencies": { "@babel/core": "^7.12.0", - "@parcel/babel-preset-env": "^2.3.0" + "@parcel/babel-preset-env": "^2.3.1" } } diff --git a/packages/utils/babel-preset-env/package.json b/packages/utils/babel-preset-env/package.json index d6cb2971992..c7eb06340c8 100644 --- a/packages/utils/babel-preset-env/package.json +++ b/packages/utils/babel-preset-env/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset-env", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 73269e54d91..c88943fdfec 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -1,8 +1,8 @@ { "name": "@parcel/create-react-app", - "version": "2.3.0", + "version": "2.3.1", "bin": { - "parcel-create-react-app": "src/bin.js" + "parcel-create-react-app": "lib/bin.js" }, "main": "lib/bin.js", "repository": { @@ -31,6 +31,6 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.3.0" + "@parcel/babel-register": "^2.3.1" } } diff --git a/packages/utils/events/package.json b/packages/utils/events/package.json index c771016c7e6..46044983835 100644 --- a/packages/utils/events/package.json +++ b/packages/utils/events/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/events", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-search/package.json b/packages/utils/fs-search/package.json index a5c7b9c97cc..12a0478d863 100644 --- a/packages/utils/fs-search/package.json +++ b/packages/utils/fs-search/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-search", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-write-stream-atomic/package.json b/packages/utils/fs-write-stream-atomic/package.json index bd238cb038a..0ecdfb6af22 100644 --- a/packages/utils/fs-write-stream-atomic/package.json +++ b/packages/utils/fs-write-stream-atomic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-write-stream-atomic", - "version": "2.3.0", + "version": "2.3.1", "description": "Like `fs.createWriteStream(...)`, but atomic.", "main": "index.js", "repository": { diff --git a/packages/utils/hash/package.json b/packages/utils/hash/package.json index beba651bd97..9033ef56628 100644 --- a/packages/utils/hash/package.json +++ b/packages/utils/hash/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/hash", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "main": "index.js", "browser": "browser.js", diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index ab8b9ba6076..07382442576 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-resolver-core", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -19,8 +19,8 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/diagnostic": "^2.3.1", + "@parcel/utils": "^2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/utils/service-worker/package.json b/packages/utils/service-worker/package.json index 4c5e83614d7..9d09d3f4f75 100644 --- a/packages/utils/service-worker/package.json +++ b/packages/utils/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/service-worker", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -18,6 +18,6 @@ "sideEffects": false, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" } } diff --git a/packages/utils/ts-utils/package.json b/packages/utils/ts-utils/package.json index 1d5e90458d1..7e258f7f36d 100644 --- a/packages/utils/ts-utils/package.json +++ b/packages/utils/ts-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-utils", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index d9d7c322e44..0332cd4ad9b 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-eslint", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/EslintValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.0", - "@parcel/utils": "^2.3.0", + "@parcel/plugin": "^2.3.1", + "@parcel/utils": "^2.3.1", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/validators/typescript/package.json b/packages/validators/typescript/package.json index 5821b379638..daee6b54637 100644 --- a/packages/validators/typescript/package.json +++ b/packages/validators/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-typescript", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/TypeScriptValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.0" + "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.0", - "@parcel/plugin": "^2.3.0", - "@parcel/ts-utils": "^2.3.0", - "@parcel/types": "^2.3.0", - "@parcel/utils": "^2.3.0" + "@parcel/diagnostic": "^2.3.1", + "@parcel/plugin": "^2.3.1", + "@parcel/ts-utils": "^2.3.1", + "@parcel/types": "^2.3.1", + "@parcel/utils": "^2.3.1" }, "devDependencies": { "typescript": ">=3.0.0" From e07b5cac81438a8b1d06ade348fa8e73290769bf Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 10 Feb 2022 10:29:32 -0500 Subject: [PATCH 0199/1076] Fix autoinstall Fixes #7681 --- packages/core/package-manager/src/NodePackageManager.js | 6 ++++-- packages/core/package-manager/src/index.js | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/core/package-manager/src/NodePackageManager.js b/packages/core/package-manager/src/NodePackageManager.js index cb6273187a4..9e5d665f542 100644 --- a/packages/core/package-manager/src/NodePackageManager.js +++ b/packages/core/package-manager/src/NodePackageManager.js @@ -391,9 +391,11 @@ export class NodePackageManager implements PackageManager { return; } - let module = require.cache[resolved.resolved]; + // $FlowFixMe + let module = Module._cache[resolved.resolved]; if (module) { - delete require.cache[resolved.resolved]; + // $FlowFixMe + delete Module._cache[resolved.resolved]; } let moduleChildren = children.get(resolved.resolved); diff --git a/packages/core/package-manager/src/index.js b/packages/core/package-manager/src/index.js index c8f0807d20c..c7c0f96d062 100644 --- a/packages/core/package-manager/src/index.js +++ b/packages/core/package-manager/src/index.js @@ -5,3 +5,4 @@ export * from './Pnpm'; export * from './Yarn'; export * from './MockPackageInstaller'; export * from './NodePackageManager'; +export {_addToInstallQueue} from './installPackage'; From 3232f60b78fdf0dae2fb4e558656fe46eae044df Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 10 Feb 2022 10:40:04 -0500 Subject: [PATCH 0200/1076] Fix build --- packages/core/parcel/package.json | 2 +- packages/utils/create-react-app/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index 2bddef3729f..91eb8988b35 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -14,7 +14,7 @@ "type": "git", "url": "https://github.com/parcel-bundler/parcel.git" }, - "bin": "lib/bin.js", + "bin": "src/bin.js", "main": "lib/bin.js", "source": "src/bin.js", "engines": { diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index c88943fdfec..e27fad10542 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -4,7 +4,7 @@ "bin": { "parcel-create-react-app": "lib/bin.js" }, - "main": "lib/bin.js", + "main": "src/bin.js", "repository": { "type": "git", "url": "https://github.com/parcel-bundler/parcel.git", From 60bf88ed38458d8529d54e170bd3593b88b08b03 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 10 Feb 2022 10:40:20 -0500 Subject: [PATCH 0201/1076] Don't build native packages again during publish step --- .github/workflows/tag-release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/tag-release.yml b/.github/workflows/tag-release.yml index cd76bc7e2ac..78379202b3f 100644 --- a/.github/workflows/tag-release.yml +++ b/.github/workflows/tag-release.yml @@ -209,8 +209,6 @@ jobs: steps: - uses: actions/checkout@v1 - uses: bahmutov/npm-install@v1.1.0 - - name: Build native packages - run: yarn build-native-release - name: Download artifacts uses: actions/download-artifact@v2 with: From 699f0b24c38eabcdad0960c62c03bd2f2902b19e Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 10 Feb 2022 10:46:38 -0500 Subject: [PATCH 0202/1076] Use pinned versions --- package.json | 2 +- packages/bundlers/default/package.json | 8 +- packages/bundlers/experimental/package.json | 10 +- packages/compressors/brotli/package.json | 2 +- packages/compressors/gzip/package.json | 2 +- packages/compressors/raw/package.json | 2 +- packages/configs/default/package.json | 106 +++++++++--------- packages/configs/webextension/package.json | 8 +- packages/core/cache/package.json | 6 +- packages/core/core/package.json | 24 ++-- packages/core/fs/package.json | 10 +- packages/core/graph/package.json | 2 +- packages/core/integration-tests/package.json | 2 +- packages/core/is-v2-ready-yet/package.json | 2 +- packages/core/logger/package.json | 4 +- packages/core/package-manager/package.json | 12 +- packages/core/parcel/package.json | 22 ++-- packages/core/plugin/package.json | 2 +- packages/core/register/package.json | 8 +- packages/core/test-utils/package.json | 10 +- packages/core/types/package.json | 10 +- packages/core/utils/package.json | 10 +- packages/core/workers/package.json | 8 +- packages/dev/babel-register/package.json | 2 +- .../dev/eslint-config-browser/package.json | 2 +- packages/dev/eslint-config/package.json | 2 +- packages/examples/eslint-example/package.json | 6 +- packages/examples/html/package.json | 4 +- packages/examples/kitchen-sink/package.json | 10 +- packages/examples/react-hmr/package.json | 2 +- packages/examples/react-refresh/package.json | 4 +- packages/examples/simple/package.json | 4 +- packages/examples/three/package.json | 4 +- packages/examples/ts-example/package.json | 4 +- .../ts-typecheck-example/package.json | 6 +- packages/namers/default/package.json | 4 +- packages/optimizers/blob-url/package.json | 4 +- packages/optimizers/css/package.json | 4 +- packages/optimizers/cssnano/package.json | 2 +- packages/optimizers/data-url/package.json | 4 +- packages/optimizers/esbuild/package.json | 6 +- packages/optimizers/htmlnano/package.json | 2 +- packages/optimizers/image/package.json | 8 +- packages/optimizers/svgo/package.json | 6 +- packages/optimizers/swc/package.json | 4 +- packages/optimizers/terser/package.json | 6 +- packages/packagers/css/package.json | 4 +- packages/packagers/html/package.json | 6 +- packages/packagers/js/package.json | 8 +- packages/packagers/raw-url/package.json | 4 +- packages/packagers/raw/package.json | 2 +- packages/packagers/svg/package.json | 6 +- packages/packagers/ts/package.json | 2 +- packages/packagers/xml/package.json | 6 +- packages/reporters/build-metrics/package.json | 4 +- .../reporters/bundle-analyzer/package.json | 6 +- packages/reporters/bundle-buddy/package.json | 2 +- packages/reporters/cli/package.json | 6 +- packages/reporters/dev-server/package.json | 8 +- packages/reporters/json/package.json | 6 +- .../sourcemap-visualiser/package.json | 6 +- packages/resolvers/default/package.json | 4 +- packages/resolvers/glob/package.json | 6 +- packages/runtimes/hmr/package.json | 4 +- packages/runtimes/js/package.json | 4 +- packages/runtimes/react-refresh/package.json | 4 +- packages/runtimes/service-worker/package.json | 4 +- packages/transformers/babel/package.json | 8 +- .../transformers/coffeescript/package.json | 4 +- .../css-experimental/package.json | 4 +- packages/transformers/css/package.json | 6 +- packages/transformers/elm/package.json | 4 +- packages/transformers/glsl/package.json | 2 +- packages/transformers/graphql/package.json | 2 +- packages/transformers/html/package.json | 6 +- packages/transformers/image/package.json | 4 +- .../transformers/inline-string/package.json | 2 +- packages/transformers/inline/package.json | 2 +- packages/transformers/js/package.json | 8 +- packages/transformers/json/package.json | 2 +- packages/transformers/jsonld/package.json | 4 +- packages/transformers/less/package.json | 2 +- packages/transformers/mdx/package.json | 2 +- packages/transformers/postcss/package.json | 6 +- packages/transformers/posthtml/package.json | 4 +- packages/transformers/pug/package.json | 2 +- packages/transformers/raw/package.json | 2 +- .../react-refresh-wrap/package.json | 4 +- packages/transformers/sass/package.json | 2 +- packages/transformers/stylus/package.json | 4 +- packages/transformers/sugarss/package.json | 2 +- packages/transformers/svg-react/package.json | 2 +- packages/transformers/svg/package.json | 6 +- packages/transformers/toml/package.json | 2 +- .../transformers/typescript-tsc/package.json | 4 +- .../typescript-types/package.json | 6 +- packages/transformers/vue/package.json | 6 +- .../transformers/webextension/package.json | 6 +- .../transformers/webmanifest/package.json | 6 +- packages/transformers/worklet/package.json | 2 +- packages/transformers/xml/package.json | 2 +- packages/transformers/yaml/package.json | 2 +- .../package.json | 2 +- packages/utils/create-react-app/package.json | 4 +- .../utils/node-resolver-core/package.json | 4 +- packages/validators/eslint/package.json | 4 +- packages/validators/typescript/package.json | 10 +- scripts/update-config-dependencies.js | 3 +- 108 files changed, 316 insertions(+), 317 deletions(-) diff --git a/package.json b/package.json index 430e7cd5386..99cd3c30bd1 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "test": "yarn test:unit && yarn test:integration", "nightly:release": "lerna publish -y --canary --preid nightly --dist-tag=nightly --exact --force-publish=* --no-git-tag-version --no-push", "tag:prerelease": "lerna version --exact --force-publish=* --no-git-tag-version --no-push && yarn adjust-versions --exact", - "tag:release": "lerna version --force-publish=* --no-git-tag-version --no-push && yarn adjust-versions", + "tag:release": "lerna version --exact --force-publish=* --no-git-tag-version --no-push && yarn adjust-versions", "adjust-versions": "node scripts/update-config-dependencies.js && node scripts/update-engines-peerdeps.js", "release": "lerna publish -y from-package --pre-dist-tag=next --no-git-tag-version --no-push", "prepare": "husky install" diff --git a/packages/bundlers/default/package.json b/packages/bundlers/default/package.json index 95c25c4a707..01f7058be02 100644 --- a/packages/bundlers/default/package.json +++ b/packages/bundlers/default/package.json @@ -20,10 +20,10 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/hash": "^2.3.1", - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/hash": "2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/bundlers/experimental/package.json b/packages/bundlers/experimental/package.json index aca25f1c337..6eda55548e6 100644 --- a/packages/bundlers/experimental/package.json +++ b/packages/bundlers/experimental/package.json @@ -20,11 +20,11 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/graph": "^2.3.1", - "@parcel/hash": "^2.3.1", - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/graph": "2.3.1", + "@parcel/hash": "2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/compressors/brotli/package.json b/packages/compressors/brotli/package.json index 8a30356b47a..c2535e0d889 100644 --- a/packages/compressors/brotli/package.json +++ b/packages/compressors/brotli/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/compressors/gzip/package.json b/packages/compressors/gzip/package.json index 969483fef20..afcbcd6b854 100644 --- a/packages/compressors/gzip/package.json +++ b/packages/compressors/gzip/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/compressors/raw/package.json b/packages/compressors/raw/package.json index 09e1d15d2a9..ae341a63918 100644 --- a/packages/compressors/raw/package.json +++ b/packages/compressors/raw/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index f81c9f04034..63cec8197b1 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -18,61 +18,61 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "^2.3.1", - "@parcel/compressor-raw": "^2.3.1", - "@parcel/namer-default": "^2.3.1", - "@parcel/optimizer-cssnano": "^2.3.1", - "@parcel/optimizer-htmlnano": "^2.3.1", - "@parcel/optimizer-image": "^2.3.1", - "@parcel/optimizer-svgo": "^2.3.1", - "@parcel/optimizer-terser": "^2.3.1", - "@parcel/packager-css": "^2.3.1", - "@parcel/packager-html": "^2.3.1", - "@parcel/packager-js": "^2.3.1", - "@parcel/packager-raw": "^2.3.1", - "@parcel/packager-svg": "^2.3.1", - "@parcel/reporter-dev-server": "^2.3.1", - "@parcel/resolver-default": "^2.3.1", - "@parcel/runtime-browser-hmr": "^2.3.1", - "@parcel/runtime-js": "^2.3.1", - "@parcel/runtime-react-refresh": "^2.3.1", - "@parcel/runtime-service-worker": "^2.3.1", - "@parcel/transformer-babel": "^2.3.1", - "@parcel/transformer-css": "^2.3.1", - "@parcel/transformer-html": "^2.3.1", - "@parcel/transformer-image": "^2.3.1", - "@parcel/transformer-js": "^2.3.1", - "@parcel/transformer-json": "^2.3.1", - "@parcel/transformer-postcss": "^2.3.1", - "@parcel/transformer-posthtml": "^2.3.1", - "@parcel/transformer-raw": "^2.3.1", - "@parcel/transformer-react-refresh-wrap": "^2.3.1", - "@parcel/transformer-svg": "^2.3.1" + "@parcel/bundler-default": "2.3.1", + "@parcel/compressor-raw": "2.3.1", + "@parcel/namer-default": "2.3.1", + "@parcel/optimizer-cssnano": "2.3.1", + "@parcel/optimizer-htmlnano": "2.3.1", + "@parcel/optimizer-image": "2.3.1", + "@parcel/optimizer-svgo": "2.3.1", + "@parcel/optimizer-terser": "2.3.1", + "@parcel/packager-css": "2.3.1", + "@parcel/packager-html": "2.3.1", + "@parcel/packager-js": "2.3.1", + "@parcel/packager-raw": "2.3.1", + "@parcel/packager-svg": "2.3.1", + "@parcel/reporter-dev-server": "2.3.1", + "@parcel/resolver-default": "2.3.1", + "@parcel/runtime-browser-hmr": "2.3.1", + "@parcel/runtime-js": "2.3.1", + "@parcel/runtime-react-refresh": "2.3.1", + "@parcel/runtime-service-worker": "2.3.1", + "@parcel/transformer-babel": "2.3.1", + "@parcel/transformer-css": "2.3.1", + "@parcel/transformer-html": "2.3.1", + "@parcel/transformer-image": "2.3.1", + "@parcel/transformer-js": "2.3.1", + "@parcel/transformer-json": "2.3.1", + "@parcel/transformer-postcss": "2.3.1", + "@parcel/transformer-posthtml": "2.3.1", + "@parcel/transformer-raw": "2.3.1", + "@parcel/transformer-react-refresh-wrap": "2.3.1", + "@parcel/transformer-svg": "2.3.1" }, "parcelDependencies": { - "@parcel/optimizer-data-url": "^2.3.1", - "@parcel/packager-raw-url": "^2.3.1", - "@parcel/packager-ts": "^2.3.1", - "@parcel/packager-xml": "^2.3.1", - "@parcel/transformer-coffeescript": "^2.3.1", - "@parcel/transformer-elm": "^2.3.1", - "@parcel/transformer-glsl": "^2.3.1", - "@parcel/transformer-graphql": "^2.3.1", - "@parcel/transformer-inline-string": "^2.3.1", - "@parcel/transformer-jsonld": "^2.3.1", - "@parcel/transformer-less": "^2.3.1", - "@parcel/transformer-mdx": "^2.3.1", - "@parcel/transformer-pug": "^2.3.1", - "@parcel/transformer-sass": "^2.3.1", - "@parcel/transformer-stylus": "^2.3.1", - "@parcel/transformer-sugarss": "^2.3.1", - "@parcel/transformer-toml": "^2.3.1", - "@parcel/transformer-typescript-types": "^2.3.1", - "@parcel/transformer-vue": "^2.3.1", - "@parcel/transformer-webmanifest": "^2.3.1", - "@parcel/transformer-worklet": "^2.3.1", - "@parcel/transformer-xml": "^2.3.1", - "@parcel/transformer-yaml": "^2.3.1" + "@parcel/optimizer-data-url": "2.3.1", + "@parcel/packager-raw-url": "2.3.1", + "@parcel/packager-ts": "2.3.1", + "@parcel/packager-xml": "2.3.1", + "@parcel/transformer-coffeescript": "2.3.1", + "@parcel/transformer-elm": "2.3.1", + "@parcel/transformer-glsl": "2.3.1", + "@parcel/transformer-graphql": "2.3.1", + "@parcel/transformer-inline-string": "2.3.1", + "@parcel/transformer-jsonld": "2.3.1", + "@parcel/transformer-less": "2.3.1", + "@parcel/transformer-mdx": "2.3.1", + "@parcel/transformer-pug": "2.3.1", + "@parcel/transformer-sass": "2.3.1", + "@parcel/transformer-stylus": "2.3.1", + "@parcel/transformer-sugarss": "2.3.1", + "@parcel/transformer-toml": "2.3.1", + "@parcel/transformer-typescript-types": "2.3.1", + "@parcel/transformer-vue": "2.3.1", + "@parcel/transformer-webmanifest": "2.3.1", + "@parcel/transformer-worklet": "2.3.1", + "@parcel/transformer-xml": "2.3.1", + "@parcel/transformer-yaml": "2.3.1" }, "peerDependencies": { "@parcel/core": "^2.3.1" diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index 7be176d8288..5f510b58ac4 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -15,9 +15,9 @@ }, "main": "index.json", "dependencies": { - "@parcel/config-default": "^2.3.1", - "@parcel/packager-raw-url": "^2.3.1", - "@parcel/transformer-raw": "^2.3.1", - "@parcel/transformer-webextension": "^2.3.1" + "@parcel/config-default": "2.3.1", + "@parcel/packager-raw-url": "2.3.1", + "@parcel/transformer-raw": "2.3.1", + "@parcel/transformer-webextension": "2.3.1" } } diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index d5316b07d50..ba03cfdbf07 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -24,9 +24,9 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs": "^2.3.1", - "@parcel/logger": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/fs": "2.3.1", + "@parcel/logger": "2.3.1", + "@parcel/utils": "2.3.1", "lmdb": "^2.0.2" }, "peerDependencies": { diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 3583e1a32ad..cab2e09b43e 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -24,19 +24,19 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.3.1", - "@parcel/diagnostic": "^2.3.1", - "@parcel/events": "^2.3.1", - "@parcel/fs": "^2.3.1", - "@parcel/graph": "^2.3.1", - "@parcel/hash": "^2.3.1", - "@parcel/logger": "^2.3.1", - "@parcel/package-manager": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/cache": "2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/events": "2.3.1", + "@parcel/fs": "2.3.1", + "@parcel/graph": "2.3.1", + "@parcel/hash": "2.3.1", + "@parcel/logger": "2.3.1", + "@parcel/package-manager": "2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1", - "@parcel/workers": "^2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1", + "@parcel/workers": "2.3.1", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index ec5c27b90c5..6b92e86e88e 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -48,14 +48,14 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs-search": "^2.3.1", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/fs-search": "2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "^2.3.1" + "@parcel/workers": "2.3.1" }, "devDependencies": { - "@parcel/fs-write-stream-atomic": "^2.3.1", + "@parcel/fs-write-stream-atomic": "2.3.1", "graceful-fs": "^4.2.4", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/graph/package.json b/packages/core/graph/package.json index 5a29b3777f2..e00fea5d6d2 100644 --- a/packages/core/graph/package.json +++ b/packages/core/graph/package.json @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index 6398d6c9e01..d9e4fa98fdd 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -42,7 +42,7 @@ "ncp": "^2.0.0", "nib": "^1.1.2", "node-elm-compiler": "^5.0.5", - "parcel": "^2.3.1", + "parcel": "2.3.1", "postcss": "^8.4.5", "postcss-custom-properties": "^12.1.2", "postcss-import": "^14.0.2", diff --git a/packages/core/is-v2-ready-yet/package.json b/packages/core/is-v2-ready-yet/package.json index 45a7f560f3c..c8b205c9872 100644 --- a/packages/core/is-v2-ready-yet/package.json +++ b/packages/core/is-v2-ready-yet/package.json @@ -13,7 +13,7 @@ "build-app": "yarn parcel build index.html" }, "dependencies": { - "@parcel/integration-tests": "^2.3.1", + "@parcel/integration-tests": "2.3.1", "react": "^17.0.2", "react-dom": "^17.0.2", "victory": "^31.0.1" diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 2418f4feefe..7e6d9fb0089 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/events": "^2.3.1" + "@parcel/diagnostic": "2.3.1", + "@parcel/events": "2.3.1" } } diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index 65e9d32f701..c8196ad370a 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -40,12 +40,12 @@ } }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/fs": "^2.3.1", - "@parcel/logger": "^2.3.1", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1", - "@parcel/workers": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/fs": "2.3.1", + "@parcel/logger": "2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1", + "@parcel/workers": "2.3.1", "semver": "^5.7.1" }, "devDependencies": { diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index 91eb8988b35..486c8d2e206 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -21,22 +21,22 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.3.1", - "@parcel/core": "^2.3.1", - "@parcel/diagnostic": "^2.3.1", - "@parcel/events": "^2.3.1", - "@parcel/fs": "^2.3.1", - "@parcel/logger": "^2.3.1", - "@parcel/package-manager": "^2.3.1", - "@parcel/reporter-cli": "^2.3.1", - "@parcel/reporter-dev-server": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/config-default": "2.3.1", + "@parcel/core": "2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/events": "2.3.1", + "@parcel/fs": "2.3.1", + "@parcel/logger": "2.3.1", + "@parcel/package-manager": "2.3.1", + "@parcel/reporter-cli": "2.3.1", + "@parcel/reporter-dev-server": "2.3.1", + "@parcel/utils": "2.3.1", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.3.1" + "@parcel/babel-register": "2.3.1" } } diff --git a/packages/core/plugin/package.json b/packages/core/plugin/package.json index 22ec3b75c15..a5bc11e58f9 100644 --- a/packages/core/plugin/package.json +++ b/packages/core/plugin/package.json @@ -23,6 +23,6 @@ "check-ts": "tsc --noEmit src/PluginAPI.d.ts" }, "dependencies": { - "@parcel/types": "^2.3.1" + "@parcel/types": "2.3.1" } } diff --git a/packages/core/register/package.json b/packages/core/register/package.json index 51bc872271a..ed7d54c03f6 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -23,10 +23,10 @@ "clean": "rimraf .parcel-cache" }, "dependencies": { - "@parcel/config-default": "^2.3.1", - "@parcel/core": "^2.3.1", - "@parcel/fs": "^2.3.1", - "@parcel/package-manager": "^2.3.1", + "@parcel/config-default": "2.3.1", + "@parcel/core": "2.3.1", + "@parcel/fs": "2.3.1", + "@parcel/package-manager": "2.3.1", "deasync": "^0.1.14", "pirates": "^4.0.0" } diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index 1eb00a8c683..8445ea209b0 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -13,11 +13,11 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "^2.3.1", - "@parcel/core": "^2.3.1", - "@parcel/fs": "^2.3.1", - "@parcel/package-manager": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/config-default": "2.3.1", + "@parcel/core": "2.3.1", + "@parcel/fs": "2.3.1", + "@parcel/package-manager": "2.3.1", + "@parcel/utils": "2.3.1", "chalk": "^4.1.0", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/types/package.json b/packages/core/types/package.json index 6db5a347089..27bcce7da89 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -16,12 +16,12 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/cache": "^2.3.1", - "@parcel/diagnostic": "^2.3.1", - "@parcel/fs": "^2.3.1", - "@parcel/package-manager": "^2.3.1", + "@parcel/cache": "2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/fs": "2.3.1", + "@parcel/package-manager": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "^2.3.1", + "@parcel/workers": "2.3.1", "utility-types": "^3.10.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 074c0e88aba..9c64c918e73 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -33,11 +33,11 @@ } }, "dependencies": { - "@parcel/codeframe": "^2.3.1", - "@parcel/diagnostic": "^2.3.1", - "@parcel/hash": "^2.3.1", - "@parcel/logger": "^2.3.1", - "@parcel/markdown-ansi": "^2.3.1", + "@parcel/codeframe": "2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/hash": "2.3.1", + "@parcel/logger": "2.3.1", + "@parcel/markdown-ansi": "2.3.1", "@parcel/source-map": "^2.0.0", "chalk": "^4.1.0" }, diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index cc9b46da23f..af304a89941 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -21,10 +21,10 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/logger": "^2.3.1", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/logger": "2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index b6e4c46c272..8ce2b4dc401 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@babel/register": "^7.4.4", - "@parcel/babel-preset": "^2.3.1", + "@parcel/babel-preset": "2.3.1", "resolve": "^1.12.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index 30582ff7f66..e1d2a65f6bd 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -3,6 +3,6 @@ "private": true, "version": "2.3.1", "dependencies": { - "@parcel/eslint-config": "^2.3.1" + "@parcel/eslint-config": "2.3.1" } } diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index be593ab436b..084d91aa1a7 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -4,7 +4,7 @@ "version": "2.3.1", "dependencies": { "@babel/eslint-parser": "^7.12.1", - "@parcel/eslint-plugin": "^2.3.1", + "@parcel/eslint-plugin": "2.3.1", "eslint-config-prettier": "^7.2.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index 2bf5de17a15..56ff2a74202 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.3.1", - "@parcel/core": "^2.3.1", - "@parcel/validator-eslint": "^2.3.1" + "@parcel/babel-register": "2.3.1", + "@parcel/core": "2.3.1", + "@parcel/validator-eslint": "2.3.1" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index fb164b69ec5..9e7c49d571e 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -12,8 +12,8 @@ "not firefox < 67" ], "devDependencies": { - "@parcel/babel-register": "^2.3.1", - "parcel": "^2.3.1" + "@parcel/babel-register": "2.3.1", + "parcel": "2.3.1" }, "dependencies": { "lodash": "^4.17.11", diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 947d9b3194d..6f734f97abd 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -8,11 +8,11 @@ "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { - "@parcel/babel-register": "^2.3.1", - "@parcel/config-default": "^2.3.1", - "@parcel/optimizer-esbuild": "^2.3.1", - "@parcel/reporter-sourcemap-visualiser": "^2.3.1", - "parcel": "^2.3.1" + "@parcel/babel-register": "2.3.1", + "@parcel/config-default": "2.3.1", + "@parcel/optimizer-esbuild": "2.3.1", + "@parcel/reporter-sourcemap-visualiser": "2.3.1", + "parcel": "2.3.1" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 41178e73007..8205b370fa1 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -7,7 +7,7 @@ "demo": "parcel serve src/index.html --no-cache --https" }, "devDependencies": { - "parcel": "^2.3.1" + "parcel": "2.3.1" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 3594f9d5577..013bbee5548 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -7,8 +7,8 @@ "start": "parcel src/index.html" }, "devDependencies": { - "@parcel/babel-register": "^2.3.1", - "@parcel/core": "^2.3.1" + "@parcel/babel-register": "2.3.1", + "@parcel/core": "2.3.1" }, "dependencies": { "react": "^17.0.2", diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index 75898b7f5d7..75bbed63fa7 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -8,8 +8,8 @@ "clean-demo": "rm -rf .parcel-cache dist && yarn demo" }, "devDependencies": { - "@parcel/babel-register": "^2.3.1", - "@parcel/core": "^2.3.1" + "@parcel/babel-register": "2.3.1", + "@parcel/core": "2.3.1" }, "browser": "dist/legacy/index.js", "browserModern": "dist/modern/index.js", diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index 279cd2c852a..8bc39a881a7 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -27,7 +27,7 @@ } }, "devDependencies": { - "@parcel/config-default": "^2.3.1", - "parcel": "^2.3.1" + "@parcel/config-default": "2.3.1", + "parcel": "2.3.1" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index 7dee025b05c..d3d6dd439cd 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -7,8 +7,8 @@ "demo": "parcel build src/index.ts" }, "devDependencies": { - "@parcel/babel-register": "^2.3.1", - "@parcel/core": "^2.3.1" + "@parcel/babel-register": "2.3.1", + "@parcel/core": "2.3.1" }, "main": "dist/main.js", "module": "dist/module.js", diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index ff758a76f96..3cb702bd277 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "^2.3.1", - "@parcel/core": "^2.3.1", - "@parcel/validator-typescript": "^2.3.1" + "@parcel/babel-register": "2.3.1", + "@parcel/core": "2.3.1", + "@parcel/validator-typescript": "2.3.1" } } diff --git a/packages/namers/default/package.json b/packages/namers/default/package.json index d7ffff4e459..eb9e9cb624b 100644 --- a/packages/namers/default/package.json +++ b/packages/namers/default/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/blob-url/package.json b/packages/optimizers/blob-url/package.json index 7826be3a0c4..a924dff37d2 100644 --- a/packages/optimizers/blob-url/package.json +++ b/packages/optimizers/blob-url/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1" + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1" } } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 923ebc99d7e..7d99cff9ad0 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -21,9 +21,9 @@ }, "dependencies": { "@parcel/css": "^1.0.3", - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index 8740eb3b2ea..95a916037dd 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.15", "postcss": "^8.4.5" diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index 902a0990e02..bb415a170c6 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index 2439bdf0f0e..5c423207aa2 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -20,10 +20,10 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "esbuild": "^0.13.0", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index 70a43ef1ea4..abc5dcee794 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "htmlnano": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index a803689bacd..9bbe6afc6f8 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -32,10 +32,10 @@ "build-release": "napi build --platform --release" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", - "@parcel/workers": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", + "@parcel/workers": "2.3.1", "detect-libc": "^1.0.3" }, "devDependencies": { diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index 8c55138d528..c68136ac742 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "svgo": "^2.4.0" } } diff --git a/packages/optimizers/swc/package.json b/packages/optimizers/swc/package.json index 11171d8b873..ed5670d3928 100644 --- a/packages/optimizers/swc/package.json +++ b/packages/optimizers/swc/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "@swc/core": "^1.2.106", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index e66edb7351f..318bdfb7074 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -20,10 +20,10 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1", "terser": "^5.2.0" } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index 841acba9d62..bd0d8e1612e 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index 2819874a41d..e5538aaa112 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index 3c0dfd161e3..b143166e87c 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -20,11 +20,11 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/hash": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/hash": "2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "globals": "^13.2.0", "nullthrows": "^1.1.1" } diff --git a/packages/packagers/raw-url/package.json b/packages/packagers/raw-url/package.json index 980155d7bc4..eb9d63dd34e 100644 --- a/packages/packagers/raw-url/package.json +++ b/packages/packagers/raw-url/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1" + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1" } } diff --git a/packages/packagers/raw/package.json b/packages/packagers/raw/package.json index aaf7e3521b3..e5e7c029cae 100644 --- a/packages/packagers/raw/package.json +++ b/packages/packagers/raw/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/packagers/svg/package.json b/packages/packagers/svg/package.json index acfd6276297..8318a40da3c 100644 --- a/packages/packagers/svg/package.json +++ b/packages/packagers/svg/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1", "posthtml": "^0.16.4" } } diff --git a/packages/packagers/ts/package.json b/packages/packagers/ts/package.json index 8b28f49107d..7036e368a32 100644 --- a/packages/packagers/ts/package.json +++ b/packages/packagers/ts/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index ef8ec4de436..7fbba6145de 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/reporters/build-metrics/package.json b/packages/reporters/build-metrics/package.json index a2a15bd8247..4f0e7914532 100644 --- a/packages/reporters/build-metrics/package.json +++ b/packages/reporters/build-metrics/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1" + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1" } } diff --git a/packages/reporters/bundle-analyzer/package.json b/packages/reporters/bundle-analyzer/package.json index 213204066ae..fc418f1d2a4 100644 --- a/packages/reporters/bundle-analyzer/package.json +++ b/packages/reporters/bundle-analyzer/package.json @@ -20,11 +20,11 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.3.1" + "@parcel/types": "2.3.1" } } diff --git a/packages/reporters/bundle-buddy/package.json b/packages/reporters/bundle-buddy/package.json index 08da11e05ec..7d5cbabbf45 100644 --- a/packages/reporters/bundle-buddy/package.json +++ b/packages/reporters/bundle-buddy/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index 505a9ef50c1..911d197bd8d 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -30,9 +30,9 @@ } }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 9ec5b4a5b8e..37a01c7ca67 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -29,12 +29,12 @@ } }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1" + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1" }, "devDependencies": { - "@parcel/babel-preset": "^2.3.1", - "@parcel/types": "^2.3.1", + "@parcel/babel-preset": "2.3.1", + "@parcel/types": "2.3.1", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^2.0.1", diff --git a/packages/reporters/json/package.json b/packages/reporters/json/package.json index 21aaa4a9adf..9534564bd1e 100644 --- a/packages/reporters/json/package.json +++ b/packages/reporters/json/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/reporters/sourcemap-visualiser/package.json b/packages/reporters/sourcemap-visualiser/package.json index a1c7d112229..955c879c5df 100644 --- a/packages/reporters/sourcemap-visualiser/package.json +++ b/packages/reporters/sourcemap-visualiser/package.json @@ -20,11 +20,11 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "^2.3.1" + "@parcel/types": "2.3.1" } } diff --git a/packages/resolvers/default/package.json b/packages/resolvers/default/package.json index 5ac5608373a..725cb02a4dd 100644 --- a/packages/resolvers/default/package.json +++ b/packages/resolvers/default/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/node-resolver-core": "^2.3.1", - "@parcel/plugin": "^2.3.1" + "@parcel/node-resolver-core": "2.3.1", + "@parcel/plugin": "2.3.1" }, "devDependencies": { "@babel/core": "^7.12.2" diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index 3f6cdfed285..d081e1d5391 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/hmr/package.json b/packages/runtimes/hmr/package.json index 74ce9ac2502..431ac18ccd5 100644 --- a/packages/runtimes/hmr/package.json +++ b/packages/runtimes/hmr/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1" + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1" } } diff --git a/packages/runtimes/js/package.json b/packages/runtimes/js/package.json index 978181f6bba..caf87210954 100644 --- a/packages/runtimes/js/package.json +++ b/packages/runtimes/js/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/react-refresh/package.json b/packages/runtimes/react-refresh/package.json index 867a2f0fb3f..306e03a5d92 100644 --- a/packages/runtimes/react-refresh/package.json +++ b/packages/runtimes/react-refresh/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "react-refresh": "^0.9.0" } } diff --git a/packages/runtimes/service-worker/package.json b/packages/runtimes/service-worker/package.json index 997b3d23241..b2462914144 100644 --- a/packages/runtimes/service-worker/package.json +++ b/packages/runtimes/service-worker/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index b5153fdb875..f808efe68c6 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -20,10 +20,10 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "browserslist": "^4.6.6", "json5": "^2.2.0", "nullthrows": "^1.1.1", @@ -33,6 +33,6 @@ "@babel/core": "^7.12.0", "@babel/preset-env": "^7.0.0", "@babel/types": "^7.12.0", - "@parcel/types": "^2.3.1" + "@parcel/types": "2.3.1" } } diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 0af08e4adfc..888570d61dc 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", "semver": "^5.7.1" diff --git a/packages/transformers/css-experimental/package.json b/packages/transformers/css-experimental/package.json index 5a7cf7863dc..4e27d3df3c0 100644 --- a/packages/transformers/css-experimental/package.json +++ b/packages/transformers/css-experimental/package.json @@ -21,9 +21,9 @@ }, "dependencies": { "@parcel/css": "^1.0.3", - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 3a9bb48edd5..647a6e1ba91 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -20,10 +20,10 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/hash": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/hash": "2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1", "postcss": "^8.4.5", "postcss-value-parser": "^4.2.0", diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index 2a4f72fd8f7..ad51559fb5f 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", "command-exists": "^1.2.8", "cross-spawn": "^7.0.3", "elm-hot": "^1.1.5", diff --git a/packages/transformers/glsl/package.json b/packages/transformers/glsl/package.json index b726a2f0ae1..efa0350281a 100644 --- a/packages/transformers/glsl/package.json +++ b/packages/transformers/glsl/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "glslify-bundle": "^5.1.1", "glslify-deps": "^1.3.2" } diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index 65b2b78e8b9..f550d8b18f0 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "graphql": "^15.0.0", "graphql-import-macro": "^1.0.0" } diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index 72eb51b052c..61cce4e3fcd 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/hash": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/hash": "2.3.1", + "@parcel/plugin": "2.3.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index 07aace6c2ce..b2dcfd05380 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -16,8 +16,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/workers": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/workers": "2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/inline-string/package.json b/packages/transformers/inline-string/package.json index 0ae03ad0537..ba40a61cf6f 100644 --- a/packages/transformers/inline-string/package.json +++ b/packages/transformers/inline-string/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/transformers/inline/package.json b/packages/transformers/inline/package.json index 1e33b41596f..c71488f8eeb 100644 --- a/packages/transformers/inline/package.json +++ b/packages/transformers/inline/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 57e6115a193..e856e752793 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -30,11 +30,11 @@ "*.node" ], "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", - "@parcel/workers": "^2.3.1", + "@parcel/utils": "2.3.1", + "@parcel/workers": "2.3.1", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index 3e52de3dbd4..0e8d08578d5 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "json5": "^2.2.0" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index 988186d9293..3f5536b6b7f 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -23,8 +23,8 @@ "test": "yarn workspace @parcel/integration-tests test -g jsonld" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/types": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/types": "2.3.1", "json5": "^2.2.0" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index 7c019a59b70..822aae8f938 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", "less": "^4.1.1" } diff --git a/packages/transformers/mdx/package.json b/packages/transformers/mdx/package.json index b7cb9f4253e..bb7ba8aeaea 100644 --- a/packages/transformers/mdx/package.json +++ b/packages/transformers/mdx/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@mdx-js/mdx": "^1.6.22", - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" }, "peerDependencies": { "@mdx-js/react": "^1.6.22" diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index bef72957663..1d989add0ab 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/hash": "^2.3.1", - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/hash": "2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "clone": "^2.1.1", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", diff --git a/packages/transformers/posthtml/package.json b/packages/transformers/posthtml/package.json index 4148c917d6d..829d4969392 100644 --- a/packages/transformers/posthtml/package.json +++ b/packages/transformers/posthtml/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index d9854a01064..27f7cc1ff4e 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "pug": "^3.0.2" } } diff --git a/packages/transformers/raw/package.json b/packages/transformers/raw/package.json index 44c6ae819b1..95b6ec427f9 100644 --- a/packages/transformers/raw/package.json +++ b/packages/transformers/raw/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index c06f31dd0ee..1f5fd0583ed 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "react-refresh": "^0.9.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index ca407f2ab40..9a73d33ea76 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index f059d6027dd..769cc29da02 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "stylus": "^0.55.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index 93585aca02a..8cc3fa7d19b 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "postcss": "^8.4.5", "sugarss": "^3.0.3" } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index d1a8023eab1..8aa36cf4429 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@svgr/core": "^6.2.0", "@svgr/plugin-jsx": "^6.2.0", "@svgr/plugin-svgo": "^6.2.0", diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index 7637c9d52fe..b7c5f6c571b 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/hash": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/hash": "2.3.1", + "@parcel/plugin": "2.3.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index 07aaf66b8f2..06eee6b0008 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -21,6 +21,6 @@ }, "dependencies": { "@iarna/toml": "^2.2.3", - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/transformers/typescript-tsc/package.json b/packages/transformers/typescript-tsc/package.json index 075ca5e907f..fef0ccdd0f3 100644 --- a/packages/transformers/typescript-tsc/package.json +++ b/packages/transformers/typescript-tsc/package.json @@ -20,9 +20,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.3.1" + "@parcel/ts-utils": "2.3.1" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index 6b94e78bf7b..4b5ea0193f1 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -20,10 +20,10 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "^2.3.1", + "@parcel/ts-utils": "2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index 843ae566b8c..93a78d5f3d3 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -20,10 +20,10 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.3.1", + "@parcel/utils": "2.3.1", "@vue/compiler-sfc": "^3.2.27", "consolidate": "^0.16.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index 77aa8275d07..240384d7fe6 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -19,9 +19,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "content-security-policy-parser": "^0.3.0", "json-source-map": "^0.6.1" } diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index 418cba38f8f..1bd3c38ca93 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -19,9 +19,9 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "json-source-map": "^0.6.1" } } diff --git a/packages/transformers/worklet/package.json b/packages/transformers/worklet/package.json index fe20e2afcd7..316b906cac0 100644 --- a/packages/transformers/worklet/package.json +++ b/packages/transformers/worklet/package.json @@ -20,6 +20,6 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1" + "@parcel/plugin": "2.3.1" } } diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index cb892c58017..62a37cd3045 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/transformers/yaml/package.json b/packages/transformers/yaml/package.json index 49439025d11..f80aed3f105 100644 --- a/packages/transformers/yaml/package.json +++ b/packages/transformers/yaml/package.json @@ -20,7 +20,7 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", + "@parcel/plugin": "2.3.1", "js-yaml": "^3.10.0" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index 72d86a7d31c..670b121e324 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -23,6 +23,6 @@ }, "devDependencies": { "@babel/core": "^7.12.0", - "@parcel/babel-preset-env": "^2.3.1" + "@parcel/babel-preset-env": "2.3.1" } } diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index e27fad10542..1be2f650961 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -2,7 +2,7 @@ "name": "@parcel/create-react-app", "version": "2.3.1", "bin": { - "parcel-create-react-app": "lib/bin.js" + "parcel-create-react-app": "src/bin.js" }, "main": "src/bin.js", "repository": { @@ -31,6 +31,6 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "^2.3.1" + "@parcel/babel-register": "2.3.1" } } diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index 07382442576..b9ff37e6c52 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -19,8 +19,8 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/diagnostic": "2.3.1", + "@parcel/utils": "2.3.1", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index 0332cd4ad9b..e976a47d38d 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -20,8 +20,8 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/plugin": "^2.3.1", - "@parcel/utils": "^2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/utils": "2.3.1", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/validators/typescript/package.json b/packages/validators/typescript/package.json index daee6b54637..1c14458e29d 100644 --- a/packages/validators/typescript/package.json +++ b/packages/validators/typescript/package.json @@ -20,11 +20,11 @@ "parcel": "^2.3.1" }, "dependencies": { - "@parcel/diagnostic": "^2.3.1", - "@parcel/plugin": "^2.3.1", - "@parcel/ts-utils": "^2.3.1", - "@parcel/types": "^2.3.1", - "@parcel/utils": "^2.3.1" + "@parcel/diagnostic": "2.3.1", + "@parcel/plugin": "2.3.1", + "@parcel/ts-utils": "2.3.1", + "@parcel/types": "2.3.1", + "@parcel/utils": "2.3.1" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/scripts/update-config-dependencies.js b/scripts/update-config-dependencies.js index 290d90949bf..3cb60149a63 100644 --- a/scripts/update-config-dependencies.js +++ b/scripts/update-config-dependencies.js @@ -22,8 +22,7 @@ for (let config of configs) { throw new Error(`Unknown parcel dependency ${dep}`); } - pkg.parcelDependencies[dep] = - (semver.parse(version).prerelease.length === 0 ? '^' : '') + version; + pkg.parcelDependencies[dep] = version; } fs.writeFileSync(configPkgPath, JSON.stringify(pkg, null, 2) + '\n'); From 5530a6eff8b619873353baeb0457ae4ec591e9fa Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 10 Feb 2022 11:45:52 -0500 Subject: [PATCH 0203/1076] Fix lint --- scripts/update-config-dependencies.js | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/update-config-dependencies.js b/scripts/update-config-dependencies.js index 3cb60149a63..f71faa192fc 100644 --- a/scripts/update-config-dependencies.js +++ b/scripts/update-config-dependencies.js @@ -1,7 +1,6 @@ const fs = require('fs'); const path = require('path'); const exec = require('child_process').execSync; -const semver = require('semver'); let packages = JSON.parse( exec( From 6d250d77de4544770f3552b31db3ab179e0b11b5 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Fri, 18 Feb 2022 10:47:24 -0500 Subject: [PATCH 0204/1076] Fix autoinstalling node builtins (#7735) Fixes #7697 --- packages/utils/node-resolver-core/src/NodeResolver.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/utils/node-resolver-core/src/NodeResolver.js b/packages/utils/node-resolver-core/src/NodeResolver.js index 50bb569ca59..0f400fd2fda 100644 --- a/packages/utils/node-resolver-core/src/NodeResolver.js +++ b/packages/utils/node-resolver-core/src/NodeResolver.js @@ -313,7 +313,7 @@ export default class NodeResolver { 'https://parceljs.org/features/node-emulation/#polyfilling-%26-excluding-builtin-node-modules', }); - await packageManager.resolve(packageName, this.projectRoot + '/index', { + await packageManager.resolve(builtin, this.projectRoot + '/index', { saveDev: true, shouldAutoInstall: true, }); From 47379bf8fabeb2cfe03ade8802d942388b153e5b Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Fri, 18 Feb 2022 10:51:23 -0500 Subject: [PATCH 0205/1076] v2.3.2 --- packages/bundlers/default/package.json | 12 +- packages/bundlers/experimental/package.json | 14 +-- packages/compressors/brotli/package.json | 6 +- packages/compressors/gzip/package.json | 6 +- packages/compressors/raw/package.json | 6 +- packages/configs/default/package.json | 110 +++++++++--------- packages/configs/webextension/package.json | 10 +- packages/core/cache/package.json | 10 +- packages/core/codeframe/package.json | 2 +- packages/core/core/package.json | 26 ++--- packages/core/diagnostic/package.json | 2 +- packages/core/fs/package.json | 14 +-- packages/core/graph/package.json | 4 +- packages/core/integration-tests/package.json | 4 +- packages/core/is-v2-ready-yet/package.json | 4 +- packages/core/logger/package.json | 6 +- packages/core/markdown-ansi/package.json | 2 +- packages/core/package-manager/package.json | 16 +-- packages/core/parcel/package.json | 24 ++-- packages/core/plugin/package.json | 4 +- packages/core/register/package.json | 10 +- packages/core/test-utils/package.json | 12 +- packages/core/types/package.json | 12 +- packages/core/utils/package.json | 12 +- packages/core/workers/package.json | 12 +- packages/dev/babel-preset/package.json | 2 +- packages/dev/babel-register/package.json | 4 +- .../dev/eslint-config-browser/package.json | 4 +- packages/dev/eslint-config/package.json | 4 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 2 +- packages/examples/eslint-example/package.json | 8 +- packages/examples/html/package.json | 6 +- .../examples/internalize-example/package.json | 2 +- packages/examples/kitchen-sink/package.json | 12 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 6 +- packages/examples/simple/package.json | 6 +- packages/examples/three/package.json | 6 +- packages/examples/ts-example/package.json | 6 +- .../ts-typecheck-example/package.json | 8 +- packages/namers/default/package.json | 8 +- packages/optimizers/blob-url/package.json | 8 +- packages/optimizers/css/package.json | 8 +- packages/optimizers/cssnano/package.json | 6 +- packages/optimizers/data-url/package.json | 8 +- packages/optimizers/esbuild/package.json | 10 +- packages/optimizers/htmlnano/package.json | 6 +- packages/optimizers/image/package.json | 12 +- packages/optimizers/svgo/package.json | 10 +- packages/optimizers/swc/package.json | 8 +- packages/optimizers/terser/package.json | 10 +- packages/packagers/css/package.json | 8 +- packages/packagers/html/package.json | 10 +- packages/packagers/js/package.json | 12 +- packages/packagers/raw-url/package.json | 8 +- packages/packagers/raw/package.json | 6 +- packages/packagers/svg/package.json | 10 +- packages/packagers/ts/package.json | 6 +- packages/packagers/xml/package.json | 10 +- packages/reporters/build-metrics/package.json | 8 +- .../reporters/bundle-analyzer/package.json | 10 +- packages/reporters/bundle-buddy/package.json | 6 +- packages/reporters/cli/package.json | 10 +- packages/reporters/dev-server/package.json | 12 +- packages/reporters/json/package.json | 10 +- .../sourcemap-visualiser/package.json | 10 +- packages/resolvers/default/package.json | 8 +- packages/resolvers/glob/package.json | 10 +- packages/runtimes/hmr/package.json | 8 +- packages/runtimes/js/package.json | 8 +- packages/runtimes/react-refresh/package.json | 8 +- packages/runtimes/service-worker/package.json | 8 +- packages/transformers/babel/package.json | 12 +- .../transformers/coffeescript/package.json | 8 +- .../css-experimental/package.json | 8 +- packages/transformers/css/package.json | 10 +- packages/transformers/elm/package.json | 8 +- packages/transformers/glsl/package.json | 6 +- packages/transformers/graphql/package.json | 6 +- packages/transformers/html/package.json | 10 +- packages/transformers/image/package.json | 8 +- .../transformers/inline-string/package.json | 6 +- packages/transformers/inline/package.json | 6 +- packages/transformers/js/package.json | 12 +- packages/transformers/json/package.json | 6 +- packages/transformers/jsonld/package.json | 8 +- packages/transformers/less/package.json | 6 +- packages/transformers/mdx/package.json | 6 +- packages/transformers/postcss/package.json | 10 +- packages/transformers/posthtml/package.json | 8 +- packages/transformers/pug/package.json | 6 +- packages/transformers/raw/package.json | 6 +- .../react-refresh-wrap/package.json | 8 +- packages/transformers/sass/package.json | 6 +- packages/transformers/stylus/package.json | 8 +- packages/transformers/sugarss/package.json | 6 +- packages/transformers/svg-react/package.json | 6 +- packages/transformers/svg/package.json | 10 +- packages/transformers/toml/package.json | 6 +- .../transformers/typescript-tsc/package.json | 8 +- .../typescript-types/package.json | 10 +- packages/transformers/vue/package.json | 10 +- .../transformers/webextension/package.json | 10 +- .../transformers/webmanifest/package.json | 10 +- packages/transformers/worklet/package.json | 6 +- packages/transformers/xml/package.json | 6 +- packages/transformers/yaml/package.json | 6 +- .../package.json | 4 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/create-react-app/package.json | 4 +- packages/utils/events/package.json | 2 +- packages/utils/fs-search/package.json | 2 +- .../utils/fs-write-stream-atomic/package.json | 2 +- packages/utils/hash/package.json | 2 +- .../utils/node-resolver-core/package.json | 6 +- packages/utils/service-worker/package.json | 4 +- packages/utils/ts-utils/package.json | 2 +- packages/validators/eslint/package.json | 8 +- packages/validators/typescript/package.json | 14 +-- 120 files changed, 513 insertions(+), 513 deletions(-) diff --git a/packages/bundlers/default/package.json b/packages/bundlers/default/package.json index 01f7058be02..c556d0061b2 100644 --- a/packages/bundlers/default/package.json +++ b/packages/bundlers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-default", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/DefaultBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/hash": "2.3.1", - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" } } diff --git a/packages/bundlers/experimental/package.json b/packages/bundlers/experimental/package.json index 6eda55548e6..0edad2dbef0 100644 --- a/packages/bundlers/experimental/package.json +++ b/packages/bundlers/experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-experimental", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/ExperimentalBundler.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/graph": "2.3.1", - "@parcel/hash": "2.3.1", - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/graph": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" } } diff --git a/packages/compressors/brotli/package.json b/packages/compressors/brotli/package.json index c2535e0d889..aa11b4c7e96 100644 --- a/packages/compressors/brotli/package.json +++ b/packages/compressors/brotli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-brotli", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BrotliCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/compressors/gzip/package.json b/packages/compressors/gzip/package.json index afcbcd6b854..7abd22b86d3 100644 --- a/packages/compressors/gzip/package.json +++ b/packages/compressors/gzip/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-gzip", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/GzipCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/compressors/raw/package.json b/packages/compressors/raw/package.json index ae341a63918..e2e40e90f25 100644 --- a/packages/compressors/raw/package.json +++ b/packages/compressors/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-raw", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawCompressor.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index 63cec8197b1..8a8f47a369f 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-default", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -18,63 +18,63 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "2.3.1", - "@parcel/compressor-raw": "2.3.1", - "@parcel/namer-default": "2.3.1", - "@parcel/optimizer-cssnano": "2.3.1", - "@parcel/optimizer-htmlnano": "2.3.1", - "@parcel/optimizer-image": "2.3.1", - "@parcel/optimizer-svgo": "2.3.1", - "@parcel/optimizer-terser": "2.3.1", - "@parcel/packager-css": "2.3.1", - "@parcel/packager-html": "2.3.1", - "@parcel/packager-js": "2.3.1", - "@parcel/packager-raw": "2.3.1", - "@parcel/packager-svg": "2.3.1", - "@parcel/reporter-dev-server": "2.3.1", - "@parcel/resolver-default": "2.3.1", - "@parcel/runtime-browser-hmr": "2.3.1", - "@parcel/runtime-js": "2.3.1", - "@parcel/runtime-react-refresh": "2.3.1", - "@parcel/runtime-service-worker": "2.3.1", - "@parcel/transformer-babel": "2.3.1", - "@parcel/transformer-css": "2.3.1", - "@parcel/transformer-html": "2.3.1", - "@parcel/transformer-image": "2.3.1", - "@parcel/transformer-js": "2.3.1", - "@parcel/transformer-json": "2.3.1", - "@parcel/transformer-postcss": "2.3.1", - "@parcel/transformer-posthtml": "2.3.1", - "@parcel/transformer-raw": "2.3.1", - "@parcel/transformer-react-refresh-wrap": "2.3.1", - "@parcel/transformer-svg": "2.3.1" + "@parcel/bundler-default": "2.3.2", + "@parcel/compressor-raw": "2.3.2", + "@parcel/namer-default": "2.3.2", + "@parcel/optimizer-cssnano": "2.3.2", + "@parcel/optimizer-htmlnano": "2.3.2", + "@parcel/optimizer-image": "2.3.2", + "@parcel/optimizer-svgo": "2.3.2", + "@parcel/optimizer-terser": "2.3.2", + "@parcel/packager-css": "2.3.2", + "@parcel/packager-html": "2.3.2", + "@parcel/packager-js": "2.3.2", + "@parcel/packager-raw": "2.3.2", + "@parcel/packager-svg": "2.3.2", + "@parcel/reporter-dev-server": "2.3.2", + "@parcel/resolver-default": "2.3.2", + "@parcel/runtime-browser-hmr": "2.3.2", + "@parcel/runtime-js": "2.3.2", + "@parcel/runtime-react-refresh": "2.3.2", + "@parcel/runtime-service-worker": "2.3.2", + "@parcel/transformer-babel": "2.3.2", + "@parcel/transformer-css": "2.3.2", + "@parcel/transformer-html": "2.3.2", + "@parcel/transformer-image": "2.3.2", + "@parcel/transformer-js": "2.3.2", + "@parcel/transformer-json": "2.3.2", + "@parcel/transformer-postcss": "2.3.2", + "@parcel/transformer-posthtml": "2.3.2", + "@parcel/transformer-raw": "2.3.2", + "@parcel/transformer-react-refresh-wrap": "2.3.2", + "@parcel/transformer-svg": "2.3.2" }, "parcelDependencies": { - "@parcel/optimizer-data-url": "2.3.1", - "@parcel/packager-raw-url": "2.3.1", - "@parcel/packager-ts": "2.3.1", - "@parcel/packager-xml": "2.3.1", - "@parcel/transformer-coffeescript": "2.3.1", - "@parcel/transformer-elm": "2.3.1", - "@parcel/transformer-glsl": "2.3.1", - "@parcel/transformer-graphql": "2.3.1", - "@parcel/transformer-inline-string": "2.3.1", - "@parcel/transformer-jsonld": "2.3.1", - "@parcel/transformer-less": "2.3.1", - "@parcel/transformer-mdx": "2.3.1", - "@parcel/transformer-pug": "2.3.1", - "@parcel/transformer-sass": "2.3.1", - "@parcel/transformer-stylus": "2.3.1", - "@parcel/transformer-sugarss": "2.3.1", - "@parcel/transformer-toml": "2.3.1", - "@parcel/transformer-typescript-types": "2.3.1", - "@parcel/transformer-vue": "2.3.1", - "@parcel/transformer-webmanifest": "2.3.1", - "@parcel/transformer-worklet": "2.3.1", - "@parcel/transformer-xml": "2.3.1", - "@parcel/transformer-yaml": "2.3.1" + "@parcel/optimizer-data-url": "2.3.2", + "@parcel/packager-raw-url": "2.3.2", + "@parcel/packager-ts": "2.3.2", + "@parcel/packager-xml": "2.3.2", + "@parcel/transformer-coffeescript": "2.3.2", + "@parcel/transformer-elm": "2.3.2", + "@parcel/transformer-glsl": "2.3.2", + "@parcel/transformer-graphql": "2.3.2", + "@parcel/transformer-inline-string": "2.3.2", + "@parcel/transformer-jsonld": "2.3.2", + "@parcel/transformer-less": "2.3.2", + "@parcel/transformer-mdx": "2.3.2", + "@parcel/transformer-pug": "2.3.2", + "@parcel/transformer-sass": "2.3.2", + "@parcel/transformer-stylus": "2.3.2", + "@parcel/transformer-sugarss": "2.3.2", + "@parcel/transformer-toml": "2.3.2", + "@parcel/transformer-typescript-types": "2.3.2", + "@parcel/transformer-vue": "2.3.2", + "@parcel/transformer-webmanifest": "2.3.2", + "@parcel/transformer-worklet": "2.3.2", + "@parcel/transformer-xml": "2.3.2", + "@parcel/transformer-yaml": "2.3.2" }, "peerDependencies": { - "@parcel/core": "^2.3.1" + "@parcel/core": "^2.3.2" } } diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index 5f510b58ac4..8d9174a4b5a 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-webextension", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -15,9 +15,9 @@ }, "main": "index.json", "dependencies": { - "@parcel/config-default": "2.3.1", - "@parcel/packager-raw-url": "2.3.1", - "@parcel/transformer-raw": "2.3.1", - "@parcel/transformer-webextension": "2.3.1" + "@parcel/config-default": "2.3.2", + "@parcel/packager-raw-url": "2.3.2", + "@parcel/transformer-raw": "2.3.2", + "@parcel/transformer-webextension": "2.3.2" } } diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index ba03cfdbf07..c33fb09da6e 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/cache", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -24,13 +24,13 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs": "2.3.1", - "@parcel/logger": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/fs": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/utils": "2.3.2", "lmdb": "^2.0.2" }, "peerDependencies": { - "@parcel/core": "^2.3.1" + "@parcel/core": "^2.3.2" }, "devDependencies": { "idb": "^5.0.8" diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index c10606e24dc..568a2343c89 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/codeframe", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { diff --git a/packages/core/core/package.json b/packages/core/core/package.json index cab2e09b43e..00d7a1fc263 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/core", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -24,19 +24,19 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/cache": "2.3.1", - "@parcel/diagnostic": "2.3.1", - "@parcel/events": "2.3.1", - "@parcel/fs": "2.3.1", - "@parcel/graph": "2.3.1", - "@parcel/hash": "2.3.1", - "@parcel/logger": "2.3.1", - "@parcel/package-manager": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/cache": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/events": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/graph": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/package-manager": "2.3.2", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1", - "@parcel/workers": "2.3.1", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index afe10cbf5e2..fd4babbee4a 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/diagnostic", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index 6b92e86e88e..fc6dd93454a 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -48,21 +48,21 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs-search": "2.3.1", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/fs-search": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "2.3.1" + "@parcel/workers": "2.3.2" }, "devDependencies": { - "@parcel/fs-write-stream-atomic": "2.3.1", + "@parcel/fs-write-stream-atomic": "2.3.2", "graceful-fs": "^4.2.4", "ncp": "^2.0.0", "nullthrows": "^1.1.1", "utility-types": "^3.10.0" }, "peerDependencies": { - "@parcel/core": "^2.3.1" + "@parcel/core": "^2.3.2" }, "browser": { "@parcel/fs": "./lib/browser.js", diff --git a/packages/core/graph/package.json b/packages/core/graph/package.json index e00fea5d6d2..4218ce9c205 100644 --- a/packages/core/graph/package.json +++ b/packages/core/graph/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/graph", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" } } diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index d9e4fa98fdd..e62fa6fbc0a 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/integration-tests", - "version": "2.3.1", + "version": "2.3.2", "private": true, "license": "MIT", "repository": { @@ -42,7 +42,7 @@ "ncp": "^2.0.0", "nib": "^1.1.2", "node-elm-compiler": "^5.0.5", - "parcel": "2.3.1", + "parcel": "2.3.2", "postcss": "^8.4.5", "postcss-custom-properties": "^12.1.2", "postcss-import": "^14.0.2", diff --git a/packages/core/is-v2-ready-yet/package.json b/packages/core/is-v2-ready-yet/package.json index c8b205c9872..e12bf0f3ceb 100644 --- a/packages/core/is-v2-ready-yet/package.json +++ b/packages/core/is-v2-ready-yet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/is-v2-ready-yet", - "version": "2.3.1", + "version": "2.3.2", "private": true, "license": "MIT", "repository": { @@ -13,7 +13,7 @@ "build-app": "yarn parcel build index.html" }, "dependencies": { - "@parcel/integration-tests": "2.3.1", + "@parcel/integration-tests": "2.3.2", "react": "^17.0.2", "react-dom": "^17.0.2", "victory": "^31.0.1" diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 7e6d9fb0089..7e5f96c9eb9 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/logger", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/events": "2.3.1" + "@parcel/diagnostic": "2.3.2", + "@parcel/events": "2.3.2" } } diff --git a/packages/core/markdown-ansi/package.json b/packages/core/markdown-ansi/package.json index dd489e4cd54..2c798ed939a 100644 --- a/packages/core/markdown-ansi/package.json +++ b/packages/core/markdown-ansi/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/markdown-ansi", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "publishConfig": { "access": "public" diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index c8196ad370a..25fa20f83c0 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/package-manager", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -40,12 +40,12 @@ } }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/fs": "2.3.1", - "@parcel/logger": "2.3.1", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1", - "@parcel/workers": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", "semver": "^5.7.1" }, "devDependencies": { @@ -55,7 +55,7 @@ "split2": "^3.1.1" }, "peerDependencies": { - "@parcel/core": "^2.3.1" + "@parcel/core": "^2.3.2" }, "browser": { "./src/Npm.js": false, diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index 486c8d2e206..c5a117863c9 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -1,6 +1,6 @@ { "name": "parcel", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,22 +21,22 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "2.3.1", - "@parcel/core": "2.3.1", - "@parcel/diagnostic": "2.3.1", - "@parcel/events": "2.3.1", - "@parcel/fs": "2.3.1", - "@parcel/logger": "2.3.1", - "@parcel/package-manager": "2.3.1", - "@parcel/reporter-cli": "2.3.1", - "@parcel/reporter-dev-server": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/config-default": "2.3.2", + "@parcel/core": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/events": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/package-manager": "2.3.2", + "@parcel/reporter-cli": "2.3.2", + "@parcel/reporter-dev-server": "2.3.2", + "@parcel/utils": "2.3.2", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "2.3.1" + "@parcel/babel-register": "2.3.2" } } diff --git a/packages/core/plugin/package.json b/packages/core/plugin/package.json index a5bc11e58f9..e91362c3d1c 100644 --- a/packages/core/plugin/package.json +++ b/packages/core/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/plugin", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ "check-ts": "tsc --noEmit src/PluginAPI.d.ts" }, "dependencies": { - "@parcel/types": "2.3.1" + "@parcel/types": "2.3.2" } } diff --git a/packages/core/register/package.json b/packages/core/register/package.json index ed7d54c03f6..6b6b2822f40 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/register", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -23,10 +23,10 @@ "clean": "rimraf .parcel-cache" }, "dependencies": { - "@parcel/config-default": "2.3.1", - "@parcel/core": "2.3.1", - "@parcel/fs": "2.3.1", - "@parcel/package-manager": "2.3.1", + "@parcel/config-default": "2.3.2", + "@parcel/core": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/package-manager": "2.3.2", "deasync": "^0.1.14", "pirates": "^4.0.0" } diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index 8445ea209b0..ad0555245f0 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/test-utils", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -13,11 +13,11 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/config-default": "2.3.1", - "@parcel/core": "2.3.1", - "@parcel/fs": "2.3.1", - "@parcel/package-manager": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/config-default": "2.3.2", + "@parcel/core": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/package-manager": "2.3.2", + "@parcel/utils": "2.3.2", "chalk": "^4.1.0", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/types/package.json b/packages/core/types/package.json index 27bcce7da89..29c236b4ccd 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/types", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "main": "src/index.js", "types": "lib/index.d.ts", @@ -16,12 +16,12 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/cache": "2.3.1", - "@parcel/diagnostic": "2.3.1", - "@parcel/fs": "2.3.1", - "@parcel/package-manager": "2.3.1", + "@parcel/cache": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/package-manager": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "2.3.1", + "@parcel/workers": "2.3.2", "utility-types": "^3.10.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 9c64c918e73..aa137445b7b 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/utils", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -33,11 +33,11 @@ } }, "dependencies": { - "@parcel/codeframe": "2.3.1", - "@parcel/diagnostic": "2.3.1", - "@parcel/hash": "2.3.1", - "@parcel/logger": "2.3.1", - "@parcel/markdown-ansi": "2.3.1", + "@parcel/codeframe": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/markdown-ansi": "2.3.2", "@parcel/source-map": "^2.0.0", "chalk": "^4.1.0" }, diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index af304a89941..eaa5e8e0e19 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/workers", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,15 +21,15 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/logger": "2.3.1", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, "peerDependencies": { - "@parcel/core": "^2.3.1" + "@parcel/core": "^2.3.2" }, "browser": { "./src/cpuCount.js": false, diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index 6c59f575f6f..645c4d683d8 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset", - "version": "2.3.1", + "version": "2.3.2", "private": true, "license": "MIT", "repository": { diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index 8ce2b4dc401..e5be41f25f2 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-register", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -10,7 +10,7 @@ }, "dependencies": { "@babel/register": "^7.4.4", - "@parcel/babel-preset": "2.3.1", + "@parcel/babel-preset": "2.3.2", "resolve": "^1.12.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index e1d2a65f6bd..d62c693be00 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -1,8 +1,8 @@ { "name": "@parcel/eslint-config-browser", "private": true, - "version": "2.3.1", + "version": "2.3.2", "dependencies": { - "@parcel/eslint-config": "2.3.1" + "@parcel/eslint-config": "2.3.2" } } diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index 084d91aa1a7..3a1d150268c 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -1,10 +1,10 @@ { "name": "@parcel/eslint-config", "private": true, - "version": "2.3.1", + "version": "2.3.2", "dependencies": { "@babel/eslint-parser": "^7.12.1", - "@parcel/eslint-plugin": "2.3.1", + "@parcel/eslint-plugin": "2.3.2", "eslint-config-prettier": "^7.2.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index e80807695d2..69833d1119d 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/eslint-plugin", "private": true, - "version": "2.3.1", + "version": "2.3.2", "main": "index.js", "scripts": {}, "dependencies": { diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index d6bd66a79af..b05f281e7a4 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -1,6 +1,6 @@ { "name": "fuzzer", - "version": "2.3.1", + "version": "2.3.2", "private": true, "scripts": { "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules -r @parcel/babel-register index.js" diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index 56ff2a74202..5cf1f1ee1f1 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/eslint-example", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "2.3.1", - "@parcel/core": "2.3.1", - "@parcel/validator-eslint": "2.3.1" + "@parcel/babel-register": "2.3.2", + "@parcel/core": "2.3.2", + "@parcel/validator-eslint": "2.3.2" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index 9e7c49d571e..9c36d7767b3 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/html-example", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true, "scripts": { @@ -12,8 +12,8 @@ "not firefox < 67" ], "devDependencies": { - "@parcel/babel-register": "2.3.1", - "parcel": "2.3.1" + "@parcel/babel-register": "2.3.2", + "parcel": "2.3.2" }, "dependencies": { "lodash": "^4.17.11", diff --git a/packages/examples/internalize-example/package.json b/packages/examples/internalize-example/package.json index e672056b128..80bb3e53e94 100644 --- a/packages/examples/internalize-example/package.json +++ b/packages/examples/internalize-example/package.json @@ -1,6 +1,6 @@ { "name": "internalize-example", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 6f734f97abd..b4a1c31528c 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/kitchen-sink-example", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true, "scripts": { @@ -8,11 +8,11 @@ "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { - "@parcel/babel-register": "2.3.1", - "@parcel/config-default": "2.3.1", - "@parcel/optimizer-esbuild": "2.3.1", - "@parcel/reporter-sourcemap-visualiser": "2.3.1", - "parcel": "2.3.1" + "@parcel/babel-register": "2.3.2", + "@parcel/config-default": "2.3.2", + "@parcel/optimizer-esbuild": "2.3.2", + "@parcel/reporter-sourcemap-visualiser": "2.3.2", + "parcel": "2.3.2" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 8205b370fa1..733e8ba84e2 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -1,13 +1,13 @@ { "name": "@parcel/react-hmr-example", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true, "scripts": { "demo": "parcel serve src/index.html --no-cache --https" }, "devDependencies": { - "parcel": "2.3.1" + "parcel": "2.3.2" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 013bbee5548..0924d7490c8 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/react-refresh-example", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true, "scripts": { "start": "parcel src/index.html" }, "devDependencies": { - "@parcel/babel-register": "2.3.1", - "@parcel/core": "2.3.1" + "@parcel/babel-register": "2.3.2", + "@parcel/core": "2.3.2" }, "dependencies": { "react": "^17.0.2", diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index 75bbed63fa7..bb95f475f2b 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/simple-example", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true, "scripts": { @@ -8,8 +8,8 @@ "clean-demo": "rm -rf .parcel-cache dist && yarn demo" }, "devDependencies": { - "@parcel/babel-register": "2.3.1", - "@parcel/core": "2.3.1" + "@parcel/babel-register": "2.3.2", + "@parcel/core": "2.3.2" }, "browser": "dist/legacy/index.js", "browserModern": "dist/modern/index.js", diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index 8bc39a881a7..93a4605376a 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/three-js-stresstest", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true, "scripts": { @@ -27,7 +27,7 @@ } }, "devDependencies": { - "@parcel/config-default": "2.3.1", - "parcel": "2.3.1" + "@parcel/config-default": "2.3.2", + "parcel": "2.3.2" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index d3d6dd439cd..0f6c88af664 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -1,14 +1,14 @@ { "name": "@parcel/ts-example", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true, "scripts": { "demo": "parcel build src/index.ts" }, "devDependencies": { - "@parcel/babel-register": "2.3.1", - "@parcel/core": "2.3.1" + "@parcel/babel-register": "2.3.2", + "@parcel/core": "2.3.2" }, "main": "dist/main.js", "module": "dist/module.js", diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index 3cb702bd277..3f80c973eee 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-typecheck-example", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "private": true, "scripts": { @@ -17,8 +17,8 @@ } }, "devDependencies": { - "@parcel/babel-register": "2.3.1", - "@parcel/core": "2.3.1", - "@parcel/validator-typescript": "2.3.1" + "@parcel/babel-register": "2.3.2", + "@parcel/core": "2.3.2", + "@parcel/validator-typescript": "2.3.2" } } diff --git a/packages/namers/default/package.json b/packages/namers/default/package.json index eb9e9cb624b..7d57d67c057 100644 --- a/packages/namers/default/package.json +++ b/packages/namers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/namer-default", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultNamer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/blob-url/package.json b/packages/optimizers/blob-url/package.json index a924dff37d2..7314e26df23 100644 --- a/packages/optimizers/blob-url/package.json +++ b/packages/optimizers/blob-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-blob-url", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BlobURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1" + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" } } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 7d99cff9ad0..183963682a3 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-css", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { "@parcel/css": "^1.0.3", - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index 95a916037dd..87c8c5a7228 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-cssnano", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/CSSNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.15", "postcss": "^8.4.5" diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index bb415a170c6..22a1f910a5b 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-data-url", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DataURLOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index 5c423207aa2..4466e405426 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-esbuild", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/ESBuildOptimizer.js", "engines": { "node": ">= 10.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "esbuild": "^0.13.0", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index abc5dcee794..4c129a256db 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-htmlnano", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HTMLNanoOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "htmlnano": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index 9bbe6afc6f8..f6db4fcef57 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-image", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "main": "lib/ImageOptimizer.js", "source": "src/ImageOptimizer.js", @@ -17,7 +17,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "files": [ "lib", @@ -32,10 +32,10 @@ "build-release": "napi build --platform --release" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", - "@parcel/workers": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", "detect-libc": "^1.0.3" }, "devDependencies": { diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index c68136ac742..22fbce56530 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-svgo", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGOOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "svgo": "^2.4.0" } } diff --git a/packages/optimizers/swc/package.json b/packages/optimizers/swc/package.json index ed5670d3928..7789125524b 100644 --- a/packages/optimizers/swc/package.json +++ b/packages/optimizers/swc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-swc", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SwcOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "@swc/core": "^1.2.106", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index 318bdfb7074..6c931145b67 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-terser", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TerserOptimizer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1", "terser": "^5.2.0" } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index bd0d8e1612e..cfdfdb9606c 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-css", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CSSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index e5538aaa112..bfebdfcc1a2 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-html", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index b143166e87c..f2a55543626 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-js", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/index.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/hash": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "globals": "^13.2.0", "nullthrows": "^1.1.1" } diff --git a/packages/packagers/raw-url/package.json b/packages/packagers/raw-url/package.json index eb9d63dd34e..8b428f5b7f7 100644 --- a/packages/packagers/raw-url/package.json +++ b/packages/packagers/raw-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw-url", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/RawUrlPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1" + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" } } diff --git a/packages/packagers/raw/package.json b/packages/packagers/raw/package.json index e5e7c029cae..f5b7d2d1ec5 100644 --- a/packages/packagers/raw/package.json +++ b/packages/packagers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/packagers/svg/package.json b/packages/packagers/svg/package.json index 8318a40da3c..7103ade1e58 100644 --- a/packages/packagers/svg/package.json +++ b/packages/packagers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-svg", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", "posthtml": "^0.16.4" } } diff --git a/packages/packagers/ts/package.json b/packages/packagers/ts/package.json index 7036e368a32..3c8870c6e4e 100644 --- a/packages/packagers/ts/package.json +++ b/packages/packagers/ts/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-ts", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/TSPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index 7fbba6145de..42325aef2af 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-xml", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/XMLPackager.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/reporters/build-metrics/package.json b/packages/reporters/build-metrics/package.json index 4f0e7914532..10352ff2c1e 100644 --- a/packages/reporters/build-metrics/package.json +++ b/packages/reporters/build-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-build-metrics", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BuildMetricsReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1" + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" } } diff --git a/packages/reporters/bundle-analyzer/package.json b/packages/reporters/bundle-analyzer/package.json index fc418f1d2a4..db0da1f365a 100644 --- a/packages/reporters/bundle-analyzer/package.json +++ b/packages/reporters/bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-analyzer", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/BundleAnalyzerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "2.3.1" + "@parcel/types": "2.3.2" } } diff --git a/packages/reporters/bundle-buddy/package.json b/packages/reporters/bundle-buddy/package.json index 7d5cbabbf45..1a7eaaf33d7 100644 --- a/packages/reporters/bundle-buddy/package.json +++ b/packages/reporters/bundle-buddy/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-buddy", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BundleBuddyReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index 911d197bd8d..128af2d4e93 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-cli", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "source": "src/CLIReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "targets": { "main": { @@ -30,9 +30,9 @@ } }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 37a01c7ca67..f99fce86af9 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-dev-server", - "version": "2.3.1", + "version": "2.3.2", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -18,7 +18,7 @@ "source": "src/ServerReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "targets": { "main": { @@ -29,12 +29,12 @@ } }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1" + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" }, "devDependencies": { - "@parcel/babel-preset": "2.3.1", - "@parcel/types": "2.3.1", + "@parcel/babel-preset": "2.3.2", + "@parcel/types": "2.3.2", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^2.0.1", diff --git a/packages/reporters/json/package.json b/packages/reporters/json/package.json index 9534564bd1e..6f845a943bf 100644 --- a/packages/reporters/json/package.json +++ b/packages/reporters/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-json", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/JSONReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" } } diff --git a/packages/reporters/sourcemap-visualiser/package.json b/packages/reporters/sourcemap-visualiser/package.json index 955c879c5df..3421878c90a 100644 --- a/packages/reporters/sourcemap-visualiser/package.json +++ b/packages/reporters/sourcemap-visualiser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-sourcemap-visualiser", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/SourceMapVisualiser.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "2.3.1" + "@parcel/types": "2.3.2" } } diff --git a/packages/resolvers/default/package.json b/packages/resolvers/default/package.json index 725cb02a4dd..e69cba6dda1 100644 --- a/packages/resolvers/default/package.json +++ b/packages/resolvers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-default", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/node-resolver-core": "2.3.1", - "@parcel/plugin": "2.3.1" + "@parcel/node-resolver-core": "2.3.2", + "@parcel/plugin": "2.3.2" }, "devDependencies": { "@babel/core": "^7.12.2" diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index d081e1d5391..ae5cf930db1 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-glob", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/GlobResolver.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/hmr/package.json b/packages/runtimes/hmr/package.json index 431ac18ccd5..282d597225f 100644 --- a/packages/runtimes/hmr/package.json +++ b/packages/runtimes/hmr/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-browser-hmr", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HMRRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1" + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" } } diff --git a/packages/runtimes/js/package.json b/packages/runtimes/js/package.json index caf87210954..32fca252086 100644 --- a/packages/runtimes/js/package.json +++ b/packages/runtimes/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-js", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/JSRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/react-refresh/package.json b/packages/runtimes/react-refresh/package.json index 306e03a5d92..adb331118c5 100644 --- a/packages/runtimes/react-refresh/package.json +++ b/packages/runtimes/react-refresh/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-react-refresh", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "react-refresh": "^0.9.0" } } diff --git a/packages/runtimes/service-worker/package.json b/packages/runtimes/service-worker/package.json index b2462914144..bfb5fb895b8 100644 --- a/packages/runtimes/service-worker/package.json +++ b/packages/runtimes/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-service-worker", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "./src/ServiceWorkerRuntime.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index f808efe68c6..3effdf38a58 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-babel", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/BabelTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "browserslist": "^4.6.6", "json5": "^2.2.0", "nullthrows": "^1.1.1", @@ -33,6 +33,6 @@ "@babel/core": "^7.12.0", "@babel/preset-env": "^7.0.0", "@babel/types": "^7.12.0", - "@parcel/types": "2.3.1" + "@parcel/types": "2.3.2" } } diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 888570d61dc..6f62f42899b 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-coffeescript", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CoffeeScriptTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", "semver": "^5.7.1" diff --git a/packages/transformers/css-experimental/package.json b/packages/transformers/css-experimental/package.json index 4e27d3df3c0..13594a55d33 100644 --- a/packages/transformers/css-experimental/package.json +++ b/packages/transformers/css-experimental/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css-experimental", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { "@parcel/css": "^1.0.3", - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "browserslist": "^4.6.6", "nullthrows": "^1.1.1" } diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 647a6e1ba91..f5c0e1e7e37 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/hash": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1", "postcss": "^8.4.5", "postcss-value-parser": "^4.2.0", diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index ad51559fb5f..0af88ec0710 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-elm", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ElmTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", "command-exists": "^1.2.8", "cross-spawn": "^7.0.3", "elm-hot": "^1.1.5", diff --git a/packages/transformers/glsl/package.json b/packages/transformers/glsl/package.json index efa0350281a..6eb96113137 100644 --- a/packages/transformers/glsl/package.json +++ b/packages/transformers/glsl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-glsl", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GLSLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "glslify-bundle": "^5.1.1", "glslify-deps": "^1.3.2" } diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index f550d8b18f0..fdeb6590d37 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-graphql", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GraphQLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "graphql": "^15.0.0", "graphql-import-macro": "^1.0.0" } diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index 61cce4e3fcd..aca9bdeca91 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-html", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/hash": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index b2dcfd05380..273db9fd101 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-image", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -13,11 +13,11 @@ "source": "src/ImageTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/workers": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/workers": "2.3.2", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/inline-string/package.json b/packages/transformers/inline-string/package.json index ba40a61cf6f..5036f550384 100644 --- a/packages/transformers/inline-string/package.json +++ b/packages/transformers/inline-string/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline-string", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineStringTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/transformers/inline/package.json b/packages/transformers/inline/package.json index c71488f8eeb..271905e9bc3 100644 --- a/packages/transformers/inline/package.json +++ b/packages/transformers/inline/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index e856e752793..8e97b9e1358 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-js", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -19,7 +19,7 @@ "name": "parcel-swc" }, "engines": { - "parcel": "^2.3.1", + "parcel": "^2.3.2", "node": ">= 12.0.0" }, "files": [ @@ -30,11 +30,11 @@ "*.node" ], "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", - "@parcel/workers": "2.3.1", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index 0e8d08578d5..0648e49685e 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-json", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/JSONTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "json5": "^2.2.0" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index 3f5536b6b7f..c463a5a6036 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-jsonld", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/JSONLDTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "scripts": { "test": "yarn workspace @parcel/integration-tests test -g jsonld" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/types": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", "json5": "^2.2.0" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index 822aae8f938..289f0a6117c 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-less", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/LessTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", "less": "^4.1.1" } diff --git a/packages/transformers/mdx/package.json b/packages/transformers/mdx/package.json index bb7ba8aeaea..a9785f09d40 100644 --- a/packages/transformers/mdx/package.json +++ b/packages/transformers/mdx/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-mdx", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/MDXTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { "@mdx-js/mdx": "^1.6.22", - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" }, "peerDependencies": { "@mdx-js/react": "^1.6.22" diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index 1d989add0ab..5cd590aaae8 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-postcss", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/PostCSSTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/hash": "2.3.1", - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "clone": "^2.1.1", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", diff --git a/packages/transformers/posthtml/package.json b/packages/transformers/posthtml/package.json index 829d4969392..060f2d27a55 100644 --- a/packages/transformers/posthtml/package.json +++ b/packages/transformers/posthtml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-posthtml", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/PostHTMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index 27f7cc1ff4e..011f0c49bad 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-pug", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/PugTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "pug": "^3.0.2" } } diff --git a/packages/transformers/raw/package.json b/packages/transformers/raw/package.json index 95b6ec427f9..f16ffdb1111 100644 --- a/packages/transformers/raw/package.json +++ b/packages/transformers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-raw", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index 1f5fd0583ed..5c7070f982d 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-react-refresh-wrap", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ReactRefreshWrapTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "react-refresh": "^0.9.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index 9a73d33ea76..883cd6ec0aa 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sass", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SassTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index 769cc29da02..cbb23591b97 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-stylus", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/StylusTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "stylus": "^0.55.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index 8cc3fa7d19b..3bbff54219d 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sugarss", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SugarssTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "postcss": "^8.4.5", "sugarss": "^3.0.3" } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index 8aa36cf4429..fce63ce887b 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg-react", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SvgReactTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@svgr/core": "^6.2.0", "@svgr/plugin-jsx": "^6.2.0", "@svgr/plugin-svgo": "^6.2.0", diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index b7c5f6c571b..cc8f98abd23 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/hash": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index 06eee6b0008..685a50dfc26 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-toml", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/TOMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { "@iarna/toml": "^2.2.3", - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/transformers/typescript-tsc/package.json b/packages/transformers/typescript-tsc/package.json index fef0ccdd0f3..c0f9d683a11 100644 --- a/packages/transformers/typescript-tsc/package.json +++ b/packages/transformers/typescript-tsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-tsc", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/TSCTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "2.3.1" + "@parcel/ts-utils": "2.3.2" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index 4b5ea0193f1..d55dbe2cbe5 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-types", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TSTypesTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/ts-utils": "2.3.1", + "@parcel/ts-utils": "2.3.2", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index 93a78d5f3d3..0840d2cee60 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-vue", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/VueTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.1", + "@parcel/utils": "2.3.2", "@vue/compiler-sfc": "^3.2.27", "consolidate": "^0.16.0", "nullthrows": "^1.1.1", diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index 240384d7fe6..0ef9eb5ff07 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webextension", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebExtensionTransformer.js", "source": "src/WebExtensionTransformer.js", "engines": { - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "content-security-policy-parser": "^0.3.0", "json-source-map": "^0.6.1" } diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index 1bd3c38ca93..7e1e121b694 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webmanifest", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebManifestTransformer.js", "source": "src/WebManifestTransformer.js", "engines": { - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "json-source-map": "^0.6.1" } } diff --git a/packages/transformers/worklet/package.json b/packages/transformers/worklet/package.json index 316b906cac0..d080108abd1 100644 --- a/packages/transformers/worklet/package.json +++ b/packages/transformers/worklet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-worklet", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/WorkletTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1" + "@parcel/plugin": "2.3.2" } } diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index 62a37cd3045..99b4a29cfa3 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-xml", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/XMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "@xmldom/xmldom": "^0.7.5" } } diff --git a/packages/transformers/yaml/package.json b/packages/transformers/yaml/package.json index f80aed3f105..f56a8bc99cc 100644 --- a/packages/transformers/yaml/package.json +++ b/packages/transformers/yaml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-yaml", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/YAMLTransformer.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", + "@parcel/plugin": "2.3.2", "js-yaml": "^3.10.0" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index 670b121e324..1ef71cf796e 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-plugin-transform-runtime", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ }, "devDependencies": { "@babel/core": "^7.12.0", - "@parcel/babel-preset-env": "2.3.1" + "@parcel/babel-preset-env": "2.3.2" } } diff --git a/packages/utils/babel-preset-env/package.json b/packages/utils/babel-preset-env/package.json index c7eb06340c8..0776ef661c6 100644 --- a/packages/utils/babel-preset-env/package.json +++ b/packages/utils/babel-preset-env/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset-env", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 1be2f650961..8232d16ae66 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/create-react-app", - "version": "2.3.1", + "version": "2.3.2", "bin": { "parcel-create-react-app": "src/bin.js" }, @@ -31,6 +31,6 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { - "@parcel/babel-register": "2.3.1" + "@parcel/babel-register": "2.3.2" } } diff --git a/packages/utils/events/package.json b/packages/utils/events/package.json index 46044983835..86f2d263f41 100644 --- a/packages/utils/events/package.json +++ b/packages/utils/events/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/events", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-search/package.json b/packages/utils/fs-search/package.json index 12a0478d863..3e3410cfd45 100644 --- a/packages/utils/fs-search/package.json +++ b/packages/utils/fs-search/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-search", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/fs-write-stream-atomic/package.json b/packages/utils/fs-write-stream-atomic/package.json index 0ecdfb6af22..6b2dc74dcd5 100644 --- a/packages/utils/fs-write-stream-atomic/package.json +++ b/packages/utils/fs-write-stream-atomic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs-write-stream-atomic", - "version": "2.3.1", + "version": "2.3.2", "description": "Like `fs.createWriteStream(...)`, but atomic.", "main": "index.js", "repository": { diff --git a/packages/utils/hash/package.json b/packages/utils/hash/package.json index 9033ef56628..5090c6665b8 100644 --- a/packages/utils/hash/package.json +++ b/packages/utils/hash/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/hash", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "main": "index.js", "browser": "browser.js", diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index b9ff37e6c52..b825d5deb9e 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-resolver-core", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -19,8 +19,8 @@ "node": ">= 12.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/diagnostic": "2.3.2", + "@parcel/utils": "2.3.2", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/utils/service-worker/package.json b/packages/utils/service-worker/package.json index 9d09d3f4f75..a76d34f62e0 100644 --- a/packages/utils/service-worker/package.json +++ b/packages/utils/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/service-worker", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -18,6 +18,6 @@ "sideEffects": false, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" } } diff --git a/packages/utils/ts-utils/package.json b/packages/utils/ts-utils/package.json index 7e258f7f36d..39195c8e1e0 100644 --- a/packages/utils/ts-utils/package.json +++ b/packages/utils/ts-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-utils", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index e976a47d38d..a952fe0b697 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-eslint", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/EslintValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/plugin": "2.3.1", - "@parcel/utils": "2.3.1", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", "chalk": "^4.1.0" }, "devDependencies": { diff --git a/packages/validators/typescript/package.json b/packages/validators/typescript/package.json index 1c14458e29d..8513f41f277 100644 --- a/packages/validators/typescript/package.json +++ b/packages/validators/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-typescript", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/TypeScriptValidator.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.1" + "parcel": "^2.3.2" }, "dependencies": { - "@parcel/diagnostic": "2.3.1", - "@parcel/plugin": "2.3.1", - "@parcel/ts-utils": "2.3.1", - "@parcel/types": "2.3.1", - "@parcel/utils": "2.3.1" + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/ts-utils": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2" }, "devDependencies": { "typescript": ">=3.0.0" From 1094a12c4517d147d5bd7b4039df09b616bd289b Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Tue, 22 Feb 2022 09:37:31 -0800 Subject: [PATCH 0206/1076] Move tests to GitHub actions (#7678) --- .github/workflows/ci.yml | 102 ++++++++++++++++++ .github/workflows/main.yml | 13 --- azure-pipelines-template.yml | 89 --------------- azure-pipelines.yml | 15 --- packages/core/integration-tests/test/babel.js | 5 + rust-toolchain | 1 + 6 files changed, 108 insertions(+), 117 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/main.yml delete mode 100644 azure-pipelines-template.yml delete mode 100644 azure-pipelines.yml create mode 100644 rust-toolchain diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000000..32fb41d5787 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,102 @@ +on: pull_request + +name: Continuous Integration + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + cache: yarn + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + # use `--frozen-lockfile` to fail immediately if the committed yarn.lock needs updates + # https://yarnpkg.com/lang/en/docs/cli/install/#toc-yarn-install-frozen-lockfile + - run: yarn --frozen-lockfile + - run: yarn lint + + flow: + name: Flow + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + cache: yarn + - run: yarn --frozen-lockfile + - run: yarn flow check + + benchmarks: + name: Benchmarks + runs-on: ubuntu-latest + steps: + - name: PR Benchmarks + uses: parcel-bundler/parcel-benchmark-action@master + env: + PARCEL_BENCHMARK_APIKEY: ${{ secrets.PARCEL_BENCHMARK_APIKEY }} + + unit_tests: + name: Unit tests (${{matrix.os}}, Node ${{matrix.node}}) + strategy: + matrix: + node: [12, 14] + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{matrix.os}} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + cache: yarn + node-version: ${{matrix.node}} + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - name: Bump max inotify watches (Linux only) + run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p; + if: ${{matrix.os == 'ubuntu-latest'}} + - run: yarn --frozen-lockfile + - run: yarn build-native-release + - run: yarn test:unit + + integration_tests: + name: Integration tests (${{matrix.os}}, Node ${{matrix.node}}) + strategy: + matrix: + node: [12, 14] + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{matrix.os}} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + cache: yarn + node-version: ${{matrix.node}} + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - name: Bump max inotify watches (Linux only) + run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p; + if: ${{matrix.os == 'ubuntu-latest'}} + - run: yarn --frozen-lockfile + - run: yarn build-native-release + - run: yarn test:integration-ci + # Similar to + # https://github.com/marketplace/actions/publish-unit-test-results#use-with-matrix-strategy + - name: Upload JUnit results + if: always() + uses: actions/upload-artifact@v2 + with: + name: Integration tests (${{matrix.os}}, node ${{matrix.node}}) + path: '**/junit-*.xml' + + test_report: + name: Test report + runs-on: ubuntu-latest + needs: [unit_tests, integration_tests] + if: always() + steps: + - name: Create test report + uses: mikepenz/action-junit-report@v2 + with: + report_paths: artifacts/**/*.xml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 4631aee6810..00000000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,13 +0,0 @@ -on: pull_request - -name: Generate benchmarks - -jobs: - prBenchmarks: - name: PR Benchmarks - runs-on: ubuntu-latest - steps: - - name: PR Benchmarks - uses: parcel-bundler/parcel-benchmark-action@master - env: - PARCEL_BENCHMARK_APIKEY: ${{ secrets.PARCEL_BENCHMARK_APIKEY }} diff --git a/azure-pipelines-template.yml b/azure-pipelines-template.yml deleted file mode 100644 index 56d9b2116bd..00000000000 --- a/azure-pipelines-template.yml +++ /dev/null @@ -1,89 +0,0 @@ -jobs: - - job: ${{ parameters.name }} - pool: - vmImage: ${{ parameters.vmImage }} - strategy: - matrix: - node_12_x: - node_version: 12.x - node_14_x: - node_version: 14.x - maxParallel: 3 - variables: - # From https://docs.microsoft.com/en-us/azure/devops/pipelines/release/caching?view=azure-devops - CARGO_HOME: $(Pipeline.Workspace)/.cargo - YARN_CACHE_FOLDER: $(Pipeline.Workspace)/.yarn - steps: - - task: NodeTool@0 - inputs: - versionSpec: $(node_version) - displayName: 'Install Node.js' - - # Install Rust - - ${{ if ne(parameters.name, 'Windows') }}: - - script: | - curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable - export PATH="$HOME/.cargo/bin:$PATH" - echo "##vso[task.setvariable variable=PATH]$PATH" - rustc -Vv - cargo -V - displayName: Install Rust - - ${{ if eq(parameters.name, 'Windows') }}: - - script: | - curl -sSf -o rustup-init.exe https://win.rustup.rs - rustup-init.exe -y --default-toolchain stable --default-host x86_64-pc-windows-msvc - set PATH=%PATH%;%USERPROFILE%\.cargo\bin - echo "##vso[task.setvariable variable=PATH]%PATH%;%USERPROFILE%\.cargo\bin" - rustc -Vv - cargo -V - displayName: Install Rust - - - ${{ if eq(parameters.name, 'Linux') }}: - - script: | - echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p; - displayName: Bump max inotify watches - - # From https://docs.microsoft.com/en-us/azure/devops/pipelines/release/caching?view=azure-devops - - task: Cache@2 - inputs: - key: 'cargo | "$(Agent.OS)" | Cargo.lock' - restoreKeys: | - cargo | "$(Agent.OS)" - cargo - path: $(CARGO_HOME) - displayName: Cache Cargo directory - # Like yarn --frozen-lockfile, fails immediately if lockfile needs updates - - script: cargo fetch --locked - displayName: 'Fetch cargo dependencies' - - script: cargo test --all - displayName: 'Run Rust tests' - - # From https://docs.microsoft.com/en-us/azure/devops/pipelines/release/caching?view=azure-devops - - task: Cache@2 - inputs: - key: 'yarn | "$(Agent.OS)" | yarn.lock' - restoreKeys: | - yarn | "$(Agent.OS)" - yarn - path: $(YARN_CACHE_FOLDER) - displayName: Cache yarn directory - # use `--frozen-lockfile` to fail immediately if the committed yarn.lock needs updates - # https://yarnpkg.com/lang/en/docs/cli/install/#toc-yarn-install-frozen-lockfile - - script: yarn --frozen-lockfile - displayName: 'Install dependencies' - - script: yarn build-native-release - displayName: 'Build native packages' - - script: yarn test:unit - displayName: 'Run unit tests' - - script: yarn test:integration-ci - displayName: 'Run integration tests' - - script: yarn flow check - displayName: 'Type check with Flow' - - script: yarn lint - displayName: 'Lint' - - task: PublishTestResults@2 - displayName: 'Publish Test Results' - condition: succeededOrFailed() - inputs: - testResultsFiles: '**/junit-*.xml' - testRunTitle: TestRun ${{ parameters.name }} $(node_version) diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 62a389d3a9e..00000000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,15 +0,0 @@ -jobs: -- template: azure-pipelines-template.yml - parameters: - name: macOS - vmImage: macOS-latest - -- template: azure-pipelines-template.yml - parameters: - name: Linux - vmImage: ubuntu-latest - -- template: azure-pipelines-template.yml - parameters: - name: Windows - vmImage: windows-latest diff --git a/packages/core/integration-tests/test/babel.js b/packages/core/integration-tests/test/babel.js index 2f064fa8d90..cb664a1b979 100644 --- a/packages/core/integration-tests/test/babel.js +++ b/packages/core/integration-tests/test/babel.js @@ -376,6 +376,11 @@ describe('babel', function () { }); it('should rebuild when .babelrc changes', async function () { + if (process.platform !== 'linux') { + // This test is flaky outside of Linux. Skip it for now. + return; + } + let inputDir = tempy.directory(); let differentPath = path.join(inputDir, 'differentConfig'); let configPath = path.join(inputDir, '.babelrc'); diff --git a/rust-toolchain b/rust-toolchain new file mode 100644 index 00000000000..2bf5ad0447d --- /dev/null +++ b/rust-toolchain @@ -0,0 +1 @@ +stable From 18b038d57043965afb31077db1f46dadb11a6a78 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Tue, 22 Feb 2022 16:39:05 -0800 Subject: [PATCH 0207/1076] Upgrade Flow to 0.171.0 (#7667) * Update mocha typings from flow-typed * Remove duplicate properties * Update flow to 0.171.0 --- .flowconfig | 2 +- flow-typed/npm/mocha_v8.x.x.js | 6 +++--- package.json | 2 +- packages/core/core/src/requests/AssetGraphRequest.js | 3 +-- packages/core/workers/src/child.js | 3 +-- yarn.lock | 8 ++++---- 6 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.flowconfig b/.flowconfig index cdc1d1cf0cd..ce0fd3823b0 100644 --- a/.flowconfig +++ b/.flowconfig @@ -36,4 +36,4 @@ untyped-import untyped-type-import [version] -0.164.0 +0.171.0 diff --git a/flow-typed/npm/mocha_v8.x.x.js b/flow-typed/npm/mocha_v8.x.x.js index 7affb5c0c2f..be4a819c81e 100644 --- a/flow-typed/npm/mocha_v8.x.x.js +++ b/flow-typed/npm/mocha_v8.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 195cec6dc98ab7533f0eb927ee493f99 -// flow-typed version: 1a6d5d1968/mocha_v8.x.x/flow_>=v0.104.x +// flow-typed signature: a9c051e037cdcce97b16e692321e6856 +// flow-typed version: b074eb3e38/mocha_v8.x.x/flow_>=v0.104.x declare interface $npm$mocha$SetupOptions { slow?: number; @@ -206,7 +206,7 @@ type AfterEach = declare var setup: Setup; declare var teardown: Teardown; declare var suiteSetup: SuiteSetup; -declare var suiteTeardown; +declare var suiteTeardown: SuiteTeardown; declare var before: Before declare var after: After; declare var beforeEach: BeforeEach; diff --git a/package.json b/package.json index 99cd3c30bd1..c75f576aca0 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@types/node": "^15.12.4", "cross-env": "^7.0.0", "eslint": "^7.20.0", - "flow-bin": "0.164.0", + "flow-bin": "0.171.0", "glob": "^7.1.6", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", diff --git a/packages/core/core/src/requests/AssetGraphRequest.js b/packages/core/core/src/requests/AssetGraphRequest.js index 6175576c294..599e9a67352 100644 --- a/packages/core/core/src/requests/AssetGraphRequest.js +++ b/packages/core/core/src/requests/AssetGraphRequest.js @@ -97,14 +97,13 @@ const typesWithRequests = new Set([ export class AssetGraphBuilder { assetGraph: AssetGraph; - assetRequests: Array; + assetRequests: Array = []; queue: PromiseQueue; changedAssets: Map = new Map(); optionsRef: SharedReference; options: ParcelOptions; api: RunAPI; name: string; - assetRequests: Array = []; cacheKey: string; shouldBuildLazily: boolean; requestedAssetIds: Set; diff --git a/packages/core/workers/src/child.js b/packages/core/workers/src/child.js index 71fad5a1488..73da6006396 100644 --- a/packages/core/workers/src/child.js +++ b/packages/core/workers/src/child.js @@ -10,7 +10,7 @@ import type { ChildImpl, } from './types'; import type {Async, IDisposable} from '@parcel/types'; -import type {SharedReference, WorkerApi} from './WorkerFarm'; +import type {SharedReference} from './WorkerFarm'; import invariant from 'assert'; import nullthrows from 'nullthrows'; @@ -39,7 +39,6 @@ export class Child { loggerDisposable: IDisposable; child: ChildImpl; profiler: ?Profiler; - workerApi: WorkerApi; handles: Map = new Map(); sharedReferences: Map = new Map(); sharedReferencesByValue: Map = new Map(); diff --git a/yarn.lock b/yarn.lock index 4af401b3ebe..4455551d38b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6126,10 +6126,10 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== -flow-bin@0.164.0: - version "0.164.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.164.0.tgz#dc2a1f1cd59670e7d95320232a673c6e31b11ff3" - integrity sha512-cSAA0LLa1SlQ1YmNCYpJ19ES39WYrqjfxX8Oqhbvn6+DET8Cs+EnVkJWHVSkfK8zUupbxvSt7pDoFXePYbcJRA== +flow-bin@0.171.0: + version "0.171.0" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.171.0.tgz#43902cf3ab10704a9c8a96bd16f789d92490ba1c" + integrity sha512-2HEiXAyE60ztGs+loFk6XSskL69THL6tSjzopUcbwgfrdbuZ5Jhv23qh1jUKP5AZJh0NNwxaFZ6To2p6xR+GEA== flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.1.1" From 9775b9fab1b29d26c655de2aa84d3edc486ca578 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Tue, 1 Mar 2022 02:59:48 +0100 Subject: [PATCH 0208/1076] Fix Windows CI (#7774) --- packages/core/register/package.json | 2 +- yarn.lock | 13 ------------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/packages/core/register/package.json b/packages/core/register/package.json index 6b6b2822f40..ab688d3c613 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -1,6 +1,7 @@ { "name": "@parcel/register", "version": "2.3.2", + "private": true, "license": "MIT", "publishConfig": { "access": "public" @@ -27,7 +28,6 @@ "@parcel/core": "2.3.2", "@parcel/fs": "2.3.2", "@parcel/package-manager": "2.3.2", - "deasync": "^0.1.14", "pirates": "^4.0.0" } } diff --git a/yarn.lock b/yarn.lock index 4455551d38b..d920e2599cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4679,14 +4679,6 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -deasync@^0.1.14: - version "0.1.19" - resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.19.tgz#e7ea89fcc9ad483367e8a48fe78f508ca86286e8" - integrity sha512-oh3MRktfnPlLysCPpBpKZZzb4cUC/p0aA3SyRGp15lN30juJBTo/CiD0d4fR+f1kBtUQoJj1NE9RPNWQ7BQ9Mg== - dependencies: - bindings "^1.5.0" - node-addon-api "^1.7.1" - debug@*, debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" @@ -9128,11 +9120,6 @@ node-abi@^2.21.0: dependencies: semver "^5.4.1" -node-addon-api@^1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.1.tgz#cf813cd69bb8d9100f6bdca6755fc268f54ac492" - integrity sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ== - node-addon-api@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" From c670715ec6f68df21745c4836048215a4d3f0a66 Mon Sep 17 00:00:00 2001 From: Eric Eldredge Date: Tue, 1 Mar 2022 11:21:20 -0500 Subject: [PATCH 0209/1076] Pin lmdb@2.2.3 (#7763) --- packages/core/cache/package.json | 2 +- packages/core/core/package.json | 2 +- yarn.lock | 38 ++++++++++++++++---------------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index c33fb09da6e..9d90b365790 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -27,7 +27,7 @@ "@parcel/fs": "2.3.2", "@parcel/logger": "2.3.2", "@parcel/utils": "2.3.2", - "lmdb": "^2.0.2" + "lmdb": "2.2.3" }, "peerDependencies": { "@parcel/core": "^2.3.2" diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 00d7a1fc263..a557477e13d 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -45,7 +45,7 @@ "dotenv-expand": "^5.1.0", "json-source-map": "^0.6.1", "json5": "^2.2.0", - "msgpackr": "^1.5.1", + "msgpackr": "^1.5.4", "nullthrows": "^1.1.1", "semver": "^5.7.1" }, diff --git a/yarn.lock b/yarn.lock index d920e2599cd..66a27000726 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8254,16 +8254,16 @@ listr2@^2.1.0: rxjs "^6.5.5" through "^2.3.8" -lmdb@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.0.2.tgz#bdd78a686a4423cf2aaea38fb2acebbd1aca9f02" - integrity sha512-B0f4UePBHHsqVRrYJgNnlzDuhjjaCvyqugV3ZY7YO+9kLcoK/Fqm5yi4icTVIr+ijeVleN69puyx/2KSKVvtQw== +lmdb@2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.2.3.tgz#713ffa515c31e042808abf364b4aa0feaeaf6360" + integrity sha512-+OiHQpw22mBBxocb/9vcVNETqf0k5vgHA2r+KX7eCf8j5tSV50ZIv388iY1mnnrERIUhs2sjKQbZhPg7z4HyPQ== dependencies: - msgpackr "^1.5.0" + msgpackr "^1.5.4" nan "^2.14.2" node-gyp-build "^4.2.3" - ordered-binary "^1.1.0" - weak-lru-cache "^1.1.0" + ordered-binary "^1.2.4" + weak-lru-cache "^1.2.2" load-json-file@^1.0.0: version "1.1.0" @@ -8978,10 +8978,10 @@ msgpackr-extract@^1.0.14: nan "^2.14.2" node-gyp-build "^4.2.3" -msgpackr@^1.5.0, msgpackr@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.5.1.tgz#2a8e39d25458406034b8cb50dc7d6a7abd3dfff2" - integrity sha512-I1CXFG8BYYSeIhtDlHpUVMsdDiyvP9JAh1d9QoBnkPx3ETPeH/1lR14hweM9GETs09wCWlaOyhtXxIc9boxAAA== +msgpackr@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.5.4.tgz#2b6ea6cb7d79c0ad98fc76c68163c48eda50cf0d" + integrity sha512-Z7w5Jg+2Q9z9gJxeM68d7tSuWZZGnFIRhZnyqcZCa/1dKkhOCNvR1TUV3zzJ3+vj78vlwKRzUgVDlW4jiSOeDA== optionalDependencies: msgpackr-extract "^1.0.14" @@ -9566,10 +9566,10 @@ ora@^5.2.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ordered-binary@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.1.3.tgz#11dbc0a4cb7f8248183b9845e031b443be82571e" - integrity sha512-tDTls+KllrZKJrqRXUYJtIcWIyoQycP7cVN7kzNNnhHKF2bMKHflcAQK+pF2Eb1iVaQodHxqZQr0yv4HWLGBhQ== +ordered-binary@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.2.4.tgz#51d3a03af078a0bdba6c7bc8f4fedd1f5d45d83e" + integrity sha512-A/csN0d3n+igxBPfUrjbV5GC69LWj2pjZzAAeeHXLukQ4+fytfP4T1Lg0ju7MSPSwq7KtHkGaiwO8URZN5IpLg== ordered-read-streams@^1.0.0: version "1.0.1" @@ -13574,10 +13574,10 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -weak-lru-cache@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.1.3.tgz#8a691884501b611d2b5aeac1ee5a011b2a97d9a8" - integrity sha512-5LDIv+sr6uzT94Hhcq7Qv7gt3jxol4iMWUqOgJSLYbB5oO7bTSMqIBtKsytm8N2BufYOdJw86/qu+SDfbo/wKQ== +weak-lru-cache@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz#fdbb6741f36bae9540d12f480ce8254060dccd19" + integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== web-namespaces@^1.0.0: version "1.1.3" From c9264c4c5429b03d48b2f7699f511266db324c54 Mon Sep 17 00:00:00 2001 From: Chase Walden Date: Tue, 1 Mar 2022 16:27:23 +0000 Subject: [PATCH 0210/1076] Prevent `term-size` from being bundled (#7750) --- packages/reporters/cli/package.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index 128af2d4e93..0b08d993e6f 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -25,7 +25,8 @@ "@parcel/plugin": false, "@parcel/types": false, "@parcel/utils": false, - "chalk": false + "chalk": false, + "term-size": false } } }, @@ -33,7 +34,8 @@ "@parcel/plugin": "2.3.2", "@parcel/types": "2.3.2", "@parcel/utils": "2.3.2", - "chalk": "^4.1.0" + "chalk": "^4.1.0", + "term-size": "^2.2.1" }, "devDependencies": { "filesize": "^6.1.0", @@ -41,7 +43,6 @@ "ora": "^5.2.0", "string-width": "^4.2.0", "strip-ansi": "^6.0.0", - "term-size": "^2.2.1", "wrap-ansi": "^7.0.0" } } From 493fda27ecabc02fb9e8570826570e4be7a08f33 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Tue, 8 Mar 2022 15:28:31 -0800 Subject: [PATCH 0211/1076] Upgrade flow to 0.173.0 (#7809) --- .flowconfig | 2 +- package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.flowconfig b/.flowconfig index ce0fd3823b0..61557139c3d 100644 --- a/.flowconfig +++ b/.flowconfig @@ -36,4 +36,4 @@ untyped-import untyped-type-import [version] -0.171.0 +0.173.0 diff --git a/package.json b/package.json index c75f576aca0..83eec65c1eb 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@types/node": "^15.12.4", "cross-env": "^7.0.0", "eslint": "^7.20.0", - "flow-bin": "0.171.0", + "flow-bin": "0.173.0", "glob": "^7.1.6", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", diff --git a/yarn.lock b/yarn.lock index 66a27000726..fab727d83a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6118,10 +6118,10 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== -flow-bin@0.171.0: - version "0.171.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.171.0.tgz#43902cf3ab10704a9c8a96bd16f789d92490ba1c" - integrity sha512-2HEiXAyE60ztGs+loFk6XSskL69THL6tSjzopUcbwgfrdbuZ5Jhv23qh1jUKP5AZJh0NNwxaFZ6To2p6xR+GEA== +flow-bin@0.173.0: + version "0.173.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/flow-bin/-/flow-bin-0.173.0.tgz#4eb4b0143ffcef3ef3ee64638554a8dff6b89735" + integrity sha512-CIvShSnB4I7SsfkE9S7ECpUCkBNqDQGDWr+0uzulKGYEBnCYwFzITE1T84weLmINQwO1dR6ntsH0LlWLoGCquQ== flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.1.1" From 498f07719a7e782f3612a3440648a31c6168f9ec Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Wed, 9 Mar 2022 05:23:03 +0100 Subject: [PATCH 0212/1076] Bump lmdb (#7797) --- packages/core/cache/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 9d90b365790..70181e28d46 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -27,7 +27,7 @@ "@parcel/fs": "2.3.2", "@parcel/logger": "2.3.2", "@parcel/utils": "2.3.2", - "lmdb": "2.2.3" + "lmdb": "2.2.4" }, "peerDependencies": { "@parcel/core": "^2.3.2" diff --git a/yarn.lock b/yarn.lock index fab727d83a9..3d6a543153d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8254,10 +8254,10 @@ listr2@^2.1.0: rxjs "^6.5.5" through "^2.3.8" -lmdb@2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.2.3.tgz#713ffa515c31e042808abf364b4aa0feaeaf6360" - integrity sha512-+OiHQpw22mBBxocb/9vcVNETqf0k5vgHA2r+KX7eCf8j5tSV50ZIv388iY1mnnrERIUhs2sjKQbZhPg7z4HyPQ== +lmdb@2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.2.4.tgz#6494d5a1d1db152e0be759edcfa06893e4cbdb53" + integrity sha512-gto+BB2uEob8qRiTlOq+R3uX0YNHsX9mjxj9Sbdue/LIKqu6IlZjrsjKeGyOMquc/474GEqFyX2pdytpydp0rQ== dependencies: msgpackr "^1.5.4" nan "^2.14.2" From 083e530c089a1062ea4a51f45fc0c4e2e6db28ed Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Wed, 9 Mar 2022 05:23:24 +0100 Subject: [PATCH 0213/1076] Replace typeof before DCE (#7788) --- .../test/integration/falsy-dep/index.js | 18 +++++++ packages/transformers/js/core/src/hoist.rs | 25 --------- packages/transformers/js/core/src/lib.rs | 6 +++ .../js/core/src/typeof_replacer.rs | 52 +++++++++++++++++++ 4 files changed, 76 insertions(+), 25 deletions(-) create mode 100644 packages/transformers/js/core/src/typeof_replacer.rs diff --git a/packages/core/integration-tests/test/integration/falsy-dep/index.js b/packages/core/integration-tests/test/integration/falsy-dep/index.js index d42ce74b972..9043f103482 100644 --- a/packages/core/integration-tests/test/integration/falsy-dep/index.js +++ b/packages/core/integration-tests/test/integration/falsy-dep/index.js @@ -24,4 +24,22 @@ if (process.env.NODE_ENV !== 'test') { require('./true-alternate'); } +if (typeof require === "function") { + require('./true-consequent'); +} else { + require('./false-alternate'); +} + +if (typeof exports === "object") { + require('./true-consequent'); +} else { + require('./false-alternate'); +} + +if (typeof module === "object") { + require('./true-consequent'); +} else { + require('./false-alternate'); +} + module.exports = 2; diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index 3d3eb58f331..02e17bce0b1 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -693,31 +693,6 @@ impl<'a> Fold for Hoist<'a> { } } } - Expr::Unary(ref unary) => { - // typeof require -> "function" - // typeof module -> "object" - if unary.op == UnaryOp::TypeOf { - if let Expr::Ident(ident) = &*unary.arg { - if ident.sym == js_word!("require") && !self.collect.decls.contains(&id!(ident)) { - return Expr::Lit(Lit::Str(Str { - kind: StrKind::Synthesized, - has_escape: false, - span: unary.span, - value: js_word!("function"), - })); - } - - if ident.sym == js_word!("module") && !self.collect.decls.contains(&id!(ident)) { - return Expr::Lit(Lit::Str(Str { - kind: StrKind::Synthesized, - has_escape: false, - span: unary.span, - value: js_word!("object"), - })); - } - } - } - } _ => {} } diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index 58ba9bd4cea..3e9c161f629 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -18,6 +18,7 @@ mod fs; mod global_replacer; mod hoist; mod modules; +mod typeof_replacer; mod utils; use std::collections::{HashMap, HashSet}; @@ -49,6 +50,7 @@ use fs::inline_fs; use global_replacer::GlobalReplacer; use hoist::{hoist, CollectResult, HoistResult}; use modules::esm2cjs; +use typeof_replacer::*; use utils::{CodeHighlight, Diagnostic, DiagnosticSeverity, SourceLocation, SourceType}; use crate::hoist::Collect; @@ -321,6 +323,10 @@ pub fn transform(config: Config) -> Result { let mut diagnostics = vec![]; let module = { let mut passes = chain!( + Optional::new( + TypeofReplacer { decls: &decls }, + config.source_type != SourceType::Script + ), // Inline process.env and process.browser Optional::new( EnvReplacer { diff --git a/packages/transformers/js/core/src/typeof_replacer.rs b/packages/transformers/js/core/src/typeof_replacer.rs new file mode 100644 index 00000000000..f76c1fa8bf7 --- /dev/null +++ b/packages/transformers/js/core/src/typeof_replacer.rs @@ -0,0 +1,52 @@ +use std::collections::HashSet; + +use swc_atoms::JsWord; +use swc_ecmascript::ast::{Expr, Lit, Str, StrKind, UnaryOp}; +use swc_ecmascript::visit::{Fold, FoldWith}; + +use crate::id; +use crate::utils::IdentId; + +pub struct TypeofReplacer<'a> { + pub decls: &'a HashSet, +} + +impl<'a> Fold for TypeofReplacer<'a> { + fn fold_expr(&mut self, node: Expr) -> Expr { + if let Expr::Unary(ref unary) = node { + // typeof require -> "function" + // typeof module -> "object" + if unary.op == UnaryOp::TypeOf { + if let Expr::Ident(ident) = &*unary.arg { + if ident.sym == js_word!("require") && !self.decls.contains(&id!(ident)) { + return Expr::Lit(Lit::Str(Str { + kind: StrKind::Synthesized, + has_escape: false, + span: unary.span, + value: js_word!("function"), + })); + } + let exports: JsWord = "exports".into(); + if ident.sym == exports && !self.decls.contains(&id!(ident)) { + return Expr::Lit(Lit::Str(Str { + kind: StrKind::Synthesized, + has_escape: false, + span: unary.span, + value: js_word!("object"), + })); + } + + if ident.sym == js_word!("module") && !self.decls.contains(&id!(ident)) { + return Expr::Lit(Lit::Str(Str { + kind: StrKind::Synthesized, + has_escape: false, + span: unary.span, + value: js_word!("object"), + })); + } + } + } + } + node.fold_children_with(self) + } +} From 8442c623c084e3a1b2e545ba19bf6f532bc71fdb Mon Sep 17 00:00:00 2001 From: Kid <44045911+kidonng@users.noreply.github.com> Date: Fri, 11 Mar 2022 12:41:31 +0800 Subject: [PATCH 0214/1076] Improve emoji support detection (#7775) Co-authored-by: Agnieszka Gawrys --- packages/reporters/cli/src/emoji.js | 20 ++++++++++++++++++-- packages/utils/create-react-app/src/emoji.js | 20 ++++++++++++++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/packages/reporters/cli/src/emoji.js b/packages/reporters/cli/src/emoji.js index aa3a16190ba..6b05521ce52 100644 --- a/packages/reporters/cli/src/emoji.js +++ b/packages/reporters/cli/src/emoji.js @@ -1,7 +1,23 @@ // @flow strict-local -const supportsEmoji = - process.platform !== 'win32' || process.env.TERM === 'xterm-256color'; +// From https://github.com/sindresorhus/is-unicode-supported/blob/8f123916d5c25a87c4f966dcc248b7ca5df2b4ca/index.js +// This package is ESM-only so it has to be vendored +function isUnicodeSupported() { + if (process.platform !== 'win32') { + return process.env.TERM !== 'linux'; // Linux console (kernel) + } + + return ( + Boolean(process.env.CI) || + Boolean(process.env.WT_SESSION) || // Windows Terminal + process.env.ConEmuTask === '{cmd::Cmder}' || // ConEmu and cmder + process.env.TERM_PROGRAM === 'vscode' || + process.env.TERM === 'xterm-256color' || + process.env.TERM === 'alacritty' + ); +} + +const supportsEmoji = isUnicodeSupported(); // Fallback symbols for Windows from https://en.wikipedia.org/wiki/Code_page_437 export const progress: string = supportsEmoji ? '⏳' : '∞'; diff --git a/packages/utils/create-react-app/src/emoji.js b/packages/utils/create-react-app/src/emoji.js index d40d6dd0dfd..a9e581d68ab 100644 --- a/packages/utils/create-react-app/src/emoji.js +++ b/packages/utils/create-react-app/src/emoji.js @@ -1,7 +1,23 @@ // @flow strict-local -const supportsEmoji = - process.platform !== 'win32' || process.env.TERM === 'xterm-256color'; +// From https://github.com/sindresorhus/is-unicode-supported/blob/8f123916d5c25a87c4f966dcc248b7ca5df2b4ca/index.js +// This package is ESM-only so it has to be vendored +function isUnicodeSupported() { + if (process.platform !== 'win32') { + return process.env.TERM !== 'linux'; // Linux console (kernel) + } + + return ( + Boolean(process.env.CI) || + Boolean(process.env.WT_SESSION) || // Windows Terminal + process.env.ConEmuTask === '{cmd::Cmder}' || // ConEmu and cmder + process.env.TERM_PROGRAM === 'vscode' || + process.env.TERM === 'xterm-256color' || + process.env.TERM === 'alacritty' + ); +} + +const supportsEmoji = isUnicodeSupported(); // Fallback symbols for Windows from https://en.wikipedia.org/wiki/Code_page_437 export const progress: string = supportsEmoji ? '⏳' : '∞'; From ef16fad82001dd112c4dd46d79dce47968bb10b8 Mon Sep 17 00:00:00 2001 From: solstice23 Date: Fri, 11 Mar 2022 12:48:12 +0800 Subject: [PATCH 0215/1076] Human readable file size in bundle analyzer report (#7766) --- packages/reporters/bundle-analyzer/client/index.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/reporters/bundle-analyzer/client/index.js b/packages/reporters/bundle-analyzer/client/index.js index 59d87017ce4..f31ea232525 100644 --- a/packages/reporters/bundle-analyzer/client/index.js +++ b/packages/reporters/bundle-analyzer/client/index.js @@ -53,7 +53,7 @@ let foamtree = new CarrotSearchFoamTree({
Size
-
${e.group.weight} bytes
+
${formatSize(e.group.weight)}
@@ -100,3 +100,12 @@ function debounce(fn, delay) { function translate3d(x, y, z) { return `translate3d(${x}px, ${y}px, ${z}px)`; } + +const UNITS = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; +function formatSize(x) { + let l = 0, n = parseInt(x, 10) || 0; + while(n >= 1000 && ++l){ + n /= 1000; + } + return(`${n.toFixed(l > 0 ? 2 : 0)} ${UNITS[l]}`); +} From e294eafd9a49c056fb4b223c5ace5c0653428ede Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Sat, 12 Mar 2022 20:27:22 +0100 Subject: [PATCH 0216/1076] Bump swc (#7777) --- Cargo.lock | 699 ++++++++++++------ .../core/integration-tests/test/javascript.js | 3 +- packages/transformers/js/core/Cargo.toml | 4 +- .../js/core/src/dependency_collector.rs | 374 +++++----- .../transformers/js/core/src/env_replacer.rs | 32 +- packages/transformers/js/core/src/fs.rs | 57 +- .../js/core/src/global_replacer.rs | 26 +- packages/transformers/js/core/src/hoist.rs | 475 ++++++------ packages/transformers/js/core/src/lib.rs | 7 +- packages/transformers/js/core/src/modules.rs | 64 +- packages/transformers/js/core/src/utils.rs | 80 +- packages/transformers/js/package.json | 2 +- yarn.lock | 8 +- 13 files changed, 987 insertions(+), 844 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 15b049bdb7e..52fd9b59c82 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -30,7 +30,7 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.3", + "getrandom 0.2.5", "once_cell", "serde", "version_check", @@ -56,9 +56,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.52" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84450d0b4a8bd1ba4144ce8ce718fbc5d071358b1e5384bace6536b3d1f2d5b3" +checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" [[package]] name = "arrayvec" @@ -66,11 +66,17 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "ast_node" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96d5444b02f3080edac8a144f6baf29b2fb6ff589ad4311559731a7c7529381" +checksum = "bc4c00309ed1c8104732df4a5fa9acc3b796b6f8531dfbd5ce0078c86f997244" dependencies = [ "darling", "pmutil", @@ -93,9 +99,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" @@ -109,6 +115,15 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "better_scoped_tls" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73e8ecdec39e98aa3b19e8cd0b8ed8f77ccb86a6b0b2dc7cd86d105438a2123" +dependencies = [ + "scoped-tls", +] + [[package]] name = "bit-vec" version = "0.6.3" @@ -130,11 +145,20 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array", +] + [[package]] name = "browserslist-rs" -version = "0.6.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31071741816efb54c473a6480724b2d31ed44eb460382d37f60cf4655fbe80a6" +checksum = "a0f43be8e0fc9203f6ed7731d2a9a6bf5924cb78907e67e1fe9133617be402be" dependencies = [ "ahash", "anyhow", @@ -162,15 +186,15 @@ checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" [[package]] name = "bumpalo" -version = "3.8.0" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" +checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" [[package]] name = "bytemuck" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439989e6b8c38d1b6570a384ef1e49c8848128f5a97f3914baef02920842712f" +checksum = "0e851ca7c24871e7336801608a4797d7376545b6928a10d32d75685687141ead" [[package]] name = "byteorder" @@ -180,9 +204,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cc" -version = "1.0.72" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" dependencies = [ "jobserver", ] @@ -297,18 +321,18 @@ checksum = "ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403" [[package]] name = "crc32fast" -version = "1.3.0" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "crossbeam-channel" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" +checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa" dependencies = [ "cfg-if 1.0.0", "crossbeam-utils", @@ -327,9 +351,9 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" +checksum = "c00d6d2ea26e8b151d99093005cb442fb9a37aeaca582a03ec70946f49ab5ed9" dependencies = [ "cfg-if 1.0.0", "crossbeam-utils", @@ -340,14 +364,24 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.5" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6" dependencies = [ "cfg-if 1.0.0", "lazy_static", ] +[[package]] +name = "crypto-common" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +dependencies = [ + "generic-array", + "typenum", +] + [[package]] name = "darling" version = "0.10.2" @@ -393,6 +427,17 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "dashmap" +version = "5.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0834a35a3fce649144119e18da2a4d8ed12ef3862f47183fd46f625d072d96c" +dependencies = [ + "cfg-if 1.0.0", + "num_cpus", + "parking_lot 0.12.0", +] + [[package]] name = "data-encoding" version = "2.3.2" @@ -427,6 +472,16 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", +] + [[package]] name = "dunce" version = "1.0.2" @@ -459,7 +514,7 @@ checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.10", + "redox_syscall 0.2.11", "winapi", ] @@ -499,9 +554,9 @@ checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" [[package]] name = "generic-array" -version = "0.14.4" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" dependencies = [ "typenum", "version_check", @@ -520,9 +575,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77" dependencies = [ "cfg-if 1.0.0", "libc", @@ -590,9 +645,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" dependencies = [ "autocfg", "hashbrown", @@ -601,9 +656,9 @@ dependencies = [ [[package]] name = "indoc" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a75aeaaef0ce18b58056d306c27b07436fbb34b8816c53094b76dd81803136" +checksum = "e7906a9fababaeacb774f72410e497a1d18de916322e33797bb2cd29baa23c9e" dependencies = [ "unindent", ] @@ -619,9 +674,9 @@ dependencies = [ [[package]] name = "is-macro" -version = "0.1.9" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a322dd16d960e322c3d92f541b4c1a4f0a2e81e1fdeee430d8cecc8b72e8015f" +checksum = "94b2c46692aee0d1b3aad44e781ac0f0e7db42ef27adaa0a877b627040019813" dependencies = [ "Inflector", "pmutil", @@ -692,65 +747,115 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "lexical" -version = "5.2.2" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f404a90a744e32e8be729034fc33b90cf2a56418fbf594d69aa3c0214ad414e5" +checksum = "ccd3e434c16f0164124ade12dcdee324fcc3dafb1cad0c7f1d8c2451a1aa6886" dependencies = [ - "cfg-if 1.0.0", "lexical-core", ] [[package]] name = "lexical-core" -version = "0.7.6" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" +checksum = "92912c4af2e7d9075be3e5e3122c4d7263855fa6cce34fbece4dd08e5884624d" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f518eed87c3be6debe6d26b855c97358d8a11bf05acec137e5f53080f5ad2dd8" +dependencies = [ + "lexical-parse-integer", + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-parse-integer" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afc852ec67c6538bbb2b9911116a385b24510e879a69ab516e6a151b15a79168" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-util" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c72a9d52c5c4e62fa2cdc2cb6c694a39ae1382d9c2a17a466f18e272a0930eb1" dependencies = [ - "arrayvec", - "bitflags", - "cfg-if 1.0.0", - "ryu", + "static_assertions", +] + +[[package]] +name = "lexical-write-float" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26f6202bff3d35ede41a6200227837468bb92e4ecdd437328b1055ed218fb855" +dependencies = [ + "lexical-util", + "lexical-write-integer", + "static_assertions", +] + +[[package]] +name = "lexical-write-integer" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "094060bd2a7c2ff3a16d5304a6ae82727cb3cc9d1c70f813cc73f744c319337e" +dependencies = [ + "lexical-util", "static_assertions", ] [[package]] name = "libc" -version = "0.2.112" +version = "0.2.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125" +checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" [[package]] name = "libdeflate-sys" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ce0b849741cecad96125e51124570c46741f50db12007224295b63e221f0034" +checksum = "4cceaf6e335d658ec0602685bfe50d0f35248d6d8848b194058bfda37a9eb728" dependencies = [ "cc", ] [[package]] name = "libdeflater" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b32b70f071880dd130e410be35f8017892837913374a311e277219d3ead3ab18" +checksum = "15f0c115fd181333eb7a82cf42e2ce2d9fac0ad06babd3ab79a9ec5bd66352fe" dependencies = [ "libdeflate-sys", ] [[package]] name = "libmimalloc-sys" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9636c194f9db483f4d0adf2f99a65011a99f904bd222bbd67fb4df4f37863c30" +checksum = "7705fc40f6ed493f73584abbb324e74f96b358ff60dfe5659a0f8fc12c590a69" dependencies = [ "cc", ] [[package]] name = "lock_api" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" dependencies = [ "scopeguard", ] @@ -787,9 +892,9 @@ dependencies = [ [[package]] name = "mimalloc" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5f78c1d9892fb5677a8b2f543f967ab891ac0f71feecd961435b74f877283a" +checksum = "b0dfa131390c2f6bdb3242f65ff271fcdaca5ff7b6c08f28398be7f2280e3926" dependencies = [ "libmimalloc-sys", ] @@ -867,9 +972,9 @@ checksum = "67cf20e0081fea04e044aa4adf74cfea8ddc0324eec2894b1c700f4cafc72a56" [[package]] name = "nasm-rs" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06380d23b58dcdaf892fa36c3950cad3110e7d76851275d5f85c22eb9cdd614" +checksum = "ce095842aee9aa3ecbda7a5d2a4df680375fd128a8596b6b56f8e497e231f483" dependencies = [ "rayon", ] @@ -902,9 +1007,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.2.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ "autocfg", "num-integer", @@ -965,9 +1070,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" +checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" [[package]] name = "opaque-debug" @@ -977,22 +1082,13 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "ordered-float" -version = "2.8.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97c9d06878b3a851e8026ef94bf7fef9ba93062cd412601da4d9cf369b1cc62d" +checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" dependencies = [ "num-traits", ] -[[package]] -name = "owning_ref" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" -dependencies = [ - "stable_deref_trait", -] - [[package]] name = "oxipng" version = "5.0.1" @@ -1063,7 +1159,7 @@ dependencies = [ "pathdiff", "serde", "serde_bytes", - "sha-1", + "sha-1 0.9.8", "swc_atoms", "swc_common", "swc_ecmascript", @@ -1087,7 +1183,7 @@ version = "0.1.0" dependencies = [ "js-sys", "parcel-js-swc-core", - "parking_lot_core", + "parking_lot_core 0.8.0", "serde", "serde-wasm-bindgen", "wasm-bindgen", @@ -1101,7 +1197,17 @@ checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" dependencies = [ "instant", "lock_api", - "parking_lot_core", + "parking_lot_core 0.8.0", +] + +[[package]] +name = "parking_lot" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.1", ] [[package]] @@ -1119,6 +1225,19 @@ dependencies = [ "winapi", ] +[[package]] +name = "parking_lot_core" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall 0.2.11", + "smallvec", + "windows-sys", +] + [[package]] name = "path-clean" version = "0.1.0" @@ -1145,12 +1264,12 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" [[package]] name = "phf" -version = "0.8.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" dependencies = [ "phf_macros", - "phf_shared", + "phf_shared 0.10.0", "proc-macro-hack", ] @@ -1160,18 +1279,28 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" dependencies = [ - "phf_shared", - "rand", + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", ] [[package]] name = "phf_macros" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" dependencies = [ - "phf_generator", - "phf_shared", + "phf_generator 0.10.0", + "phf_shared 0.10.0", "proc-macro-hack", "proc-macro2", "quote", @@ -1187,11 +1316,20 @@ dependencies = [ "siphasher", ] +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project-lite" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" +checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" [[package]] name = "pmutil" @@ -1218,9 +1356,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "precomputed-hash" @@ -1228,6 +1366,23 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "preset_env_base" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e44b8d534a4ecea4519138ff80780a499691c4e948bc063651487e069966a703" +dependencies = [ + "ahash", + "anyhow", + "browserslist-rs", + "dashmap 4.0.2", + "from_variant", + "once_cell", + "semver 1.0.6", + "serde", + "st-map", +] + [[package]] name = "proc-macro-hack" version = "0.5.19" @@ -1245,9 +1400,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d" +checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" dependencies = [ "proc-macro2", ] @@ -1260,12 +1415,23 @@ checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ "getrandom 0.1.16", "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.2.2", + "rand_core 0.5.1", "rand_hc", "rand_pcg", ] +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -1273,7 +1439,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.3", ] [[package]] @@ -1285,13 +1461,22 @@ dependencies = [ "getrandom 0.1.16", ] +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom 0.2.5", +] + [[package]] name = "rand_hc" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" dependencies = [ - "rand_core", + "rand_core 0.5.1", ] [[package]] @@ -1300,7 +1485,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" dependencies = [ - "rand_core", + "rand_core 0.5.1", ] [[package]] @@ -1336,18 +1521,18 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c" dependencies = [ "bitflags", ] [[package]] name = "regex" -version = "1.5.4" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" dependencies = [ "aho-corasick", "memchr", @@ -1360,17 +1545,11 @@ version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" -[[package]] -name = "retain_mut" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11000e6ba5020e53e7cc26f73b91ae7d5496b4977851479edb66b694c0675c21" - [[package]] name = "rgb" -version = "0.8.31" +version = "0.8.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a374af9a0e5fdcdd98c1c7b64f05004f9ea2555b6c75f211daa81268a3c50f1" +checksum = "e74fdc210d8f24a7dbfedc13b04ba5764f5232754ccebfdf5fff1bad791ccbc6" dependencies = [ "bytemuck", ] @@ -1396,7 +1575,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.4", + "semver 1.0.6", ] [[package]] @@ -1405,15 +1584,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - [[package]] name = "scoped-tls" version = "1.0.0" @@ -1433,14 +1603,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ "semver-parser", - "serde", ] [[package]] name = "semver" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" +checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d" +dependencies = [ + "serde", +] [[package]] name = "semver-parser" @@ -1450,9 +1622,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.132" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9875c23cf305cd1fd7eb77234cbb705f21ea6a72c637a5c6db5fe4b8e7f008" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" dependencies = [ "serde_derive", ] @@ -1480,9 +1652,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.132" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc0db5cb2556c0e558887d9bbdcf6ac4471e83ff66cf696e5419024d1606276" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ "proc-macro2", "quote", @@ -1491,9 +1663,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.73" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcbd0344bc6533bc7ec56df11d42fb70f1b912351c0825ccb7211b59d8af7cf5" +checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" dependencies = [ "itoa", "ryu", @@ -1506,24 +1678,35 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if 1.0.0", "cpufeatures", - "digest", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha-1" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.3", +] + [[package]] name = "siphasher" -version = "0.3.7" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" [[package]] name = "smallvec" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" +checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" [[package]] name = "sourcemap" @@ -1547,16 +1730,10 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3caeb13a58f859600a7b75fffe66322e1fca0122ca02cfc7262344a7e30502d1" dependencies = [ - "arrayvec", + "arrayvec 0.5.2", "static-map-macro", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "static-map-macro" version = "0.2.1" @@ -1590,14 +1767,14 @@ dependencies = [ [[package]] name = "string_cache" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923f0f39b6267d37d23ce71ae7235602134b250ace715dd2c90421998ddac0c6" +checksum = "33994d0838dc2d152d17a62adf608a869b5e846b65b389af7f3dbc1de45c5b26" dependencies = [ "lazy_static", "new_debug_unreachable", - "parking_lot", - "phf_shared", + "parking_lot 0.11.1", + "phf_shared 0.10.0", "precomputed-hash", "serde", ] @@ -1608,8 +1785,8 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97" dependencies = [ - "phf_generator", - "phf_shared", + "phf_generator 0.8.0", + "phf_shared 0.8.0", "proc-macro2", "quote", ] @@ -1649,25 +1826,40 @@ dependencies = [ "string_cache_codegen", ] +[[package]] +name = "swc_cached" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84fed4a980e12c737171a7b17c5e0a2f4272899266fa0632ea4e31264ebdfdb5" +dependencies = [ + "ahash", + "anyhow", + "dashmap 5.1.0", + "once_cell", + "regex", + "serde", + "swc_atoms", +] + [[package]] name = "swc_common" -version = "0.15.1" +version = "0.17.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf33ac965b9ce43b653baa35a5de6ecfd96b9bbab9547a5fb4ce33c46a36fe75" +checksum = "af06472bfc423fb7b75c483eccfb9b6790db9de0fb2d6ff1ef8369a2551a3707" dependencies = [ "ahash", "ast_node", "atty", - "cfg-if 0.1.10", + "better_scoped_tls", + "cfg-if 1.0.0", "debug_unreachable", "either", "from_variant", "num-bigint", "once_cell", - "owning_ref", "rustc-hash", - "scoped-tls", "serde", + "siphasher", "sourcemap", "string_cache", "swc_eq_ignore_macros", @@ -1680,9 +1872,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.60.3" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ab2356281c38cf629f3cdb165c4d34e17b2757b020dab914bae477ee0fb373" +checksum = "e35d736b61d3dceb5a4e18a86d69bfc352aa7136fd3c5a6c2f3353231cd9d839" dependencies = [ "is-macro", "num-bigint", @@ -1690,14 +1882,14 @@ dependencies = [ "string_enum", "swc_atoms", "swc_common", - "unicode-xid", + "unicode-id", ] [[package]] name = "swc_ecma_codegen" -version = "0.84.1" +version = "0.95.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "383ac26d122a9f97a1773ffa6f44366e8ab08ccc14e5698111c698ca17acfa65" +checksum = "8fa4a2b82e2bab5bea6472e23b14bd96c462ae9e1e29d9af2ea8ea6d58dcc406" dependencies = [ "bitflags", "memchr", @@ -1708,7 +1900,6 @@ dependencies = [ "swc_common", "swc_ecma_ast", "swc_ecma_codegen_macros", - "swc_ecma_parser", "tracing", ] @@ -1727,28 +1918,27 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.25.4" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645b674e9f537053026670985486004a47c3c168a71de8de0c0d57c2f2cb61f8" +checksum = "f9ab69df5d4de425833e02de111f14b5544b39ad9c9b82c97e4835fc55c8f1b6" dependencies = [ "ahash", "anyhow", - "dashmap", + "dashmap 4.0.2", "normpath", "once_cell", "path-clean", "serde", "serde_json", - "swc_atoms", "swc_common", "tracing", ] [[package]] name = "swc_ecma_parser" -version = "0.82.6" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b0455e02c59d53891422593b2e0aaf06548873a1c319ddcf3e9a741d34ce41d" +checksum = "6bcc4ebfd0c5f7c9e5fd03b3dff680d61e997e51147e6f4738ee3274be5ad382" dependencies = [ "either", "enum_kind", @@ -1761,22 +1951,22 @@ dependencies = [ "swc_ecma_ast", "tracing", "typed-arena 2.0.1", - "unicode-xid", + "unicode-id", ] [[package]] name = "swc_ecma_preset_env" -version = "0.76.2" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4ce83d144d995a8362cea85fe7c6adaa728fbe4a8bad05d05f8d3d2b27e37b" +checksum = "4c76924d65625afb0536c433d59a6f63fee0388e0ab7f121bda9ec92a84b4678" dependencies = [ "ahash", "anyhow", - "browserslist-rs", - "dashmap", + "dashmap 5.1.0", "indexmap", "once_cell", - "semver 0.9.0", + "preset_env_base", + "semver 1.0.6", "serde", "serde_json", "st-map", @@ -1787,19 +1977,17 @@ dependencies = [ "swc_ecma_transforms", "swc_ecma_utils", "swc_ecma_visit", - "walkdir", ] [[package]] name = "swc_ecma_transforms" -version = "0.103.8" +version = "0.131.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e5d7bbc83aca7b172f18fe1ad713a58490f7420bd4831481e18a3d86e0199f" +checksum = "484ab8024a62c8f35a408898d0b8aa664e03a992c2f262cda6173274f48d955e" dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_parser", "swc_ecma_transforms_base", "swc_ecma_transforms_compat", "swc_ecma_transforms_module", @@ -1809,18 +1997,18 @@ dependencies = [ "swc_ecma_transforms_typescript", "swc_ecma_utils", "swc_ecma_visit", - "unicode-xid", ] [[package]] name = "swc_ecma_transforms_base" -version = "0.49.2" +version = "0.67.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f401256219e566fc92f637182d20eb04de8cd1bb650dd72d3e0e81851a5367b" +checksum = "6786157670709b3c9e2a81aee7aef8042b582b4b599f233025b28ca5353a29d9" dependencies = [ + "better_scoped_tls", "once_cell", "phf", - "scoped-tls", + "serde", "smallvec", "swc_atoms", "swc_common", @@ -1833,9 +2021,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.36.1" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd400da7c4b061a95c38f98d7a72f12c7cf7d49fee33e5bb5ca577e19a344b52" +checksum = "6dd06b4fa72cd85640fcab59c210c34c8e63f6ea5e547c856febcf18000c0bda" dependencies = [ "swc_atoms", "swc_common", @@ -1847,12 +2035,12 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.59.10" +version = "0.80.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d76ac375527f495b5b095e7e32d43e47b57113abe72b75306dcd58b4d15fbde" +checksum = "f622788e39755b4a0b9902e37314fbc59f163d5e9e24c121a95c8352fb00e1e0" dependencies = [ "ahash", - "arrayvec", + "arrayvec 0.7.2", "indexmap", "is-macro", "num-bigint", @@ -1867,6 +2055,7 @@ dependencies = [ "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", + "swc_trace_macro", "tracing", ] @@ -1885,9 +2074,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.65.0" +version = "0.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "701c941a6ba8d4e396a3e63031a9d4ee4807dc91b29c30069e88c0276a44a01e" +checksum = "3b050435473be3392bdc665682cf3637c006ea5fe57f6f58cf3be08ae597fab9" dependencies = [ "Inflector", "ahash", @@ -1896,6 +2085,7 @@ dependencies = [ "pathdiff", "serde", "swc_atoms", + "swc_cached", "swc_common", "swc_ecma_ast", "swc_ecma_loader", @@ -1903,19 +2093,19 @@ dependencies = [ "swc_ecma_transforms_base", "swc_ecma_utils", "swc_ecma_visit", + "tracing", ] [[package]] name = "swc_ecma_transforms_optimization" -version = "0.73.1" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37dddf3630b5c60aa4d05e3486099eec7195d96ec17895fa58753d383935b09c" +checksum = "a0638979a3445e49125ab28a30dc734c272e66406db5583d9095f459543056ac" dependencies = [ "ahash", - "dashmap", + "dashmap 5.1.0", "indexmap", "once_cell", - "retain_mut", "serde_json", "swc_atoms", "swc_common", @@ -1930,9 +2120,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.65.2" +version = "0.88.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1493c6460a5009cff53e5adaac7e2090bde73be9dccb92b01fe132c190824b2" +checksum = "7bf987316b088789266b108b9ad87f8479402a76233565ef31807103766bc079" dependencies = [ "either", "serde", @@ -1940,7 +2130,6 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_parser", "swc_ecma_transforms_base", "swc_ecma_transforms_classes", "swc_ecma_transforms_macros", @@ -1950,18 +2139,18 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.67.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12a9c3ed9ff2c30faba6851d9287a2b21a9efdc0f4aba234980f8c57028bf2ea" +checksum = "dd2d009bb8be4149a1b3bb8ea2e4c59c5a26ed5b5ae797563026887480ed9141" dependencies = [ "ahash", "base64 0.13.0", - "dashmap", + "dashmap 5.1.0", "indexmap", "once_cell", "regex", "serde", - "sha-1", + "sha-1 0.10.0", "string_enum", "swc_atoms", "swc_common", @@ -1975,15 +2164,14 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.69.1" +version = "0.96.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00d48c902c53d5118ecfa5eb8346d78a9d51f062da425bf03bfc101205b390f6" +checksum = "ed2e388f0b424de694aac45aaad513e7ccb03aeb87ed42781ce353e1346b3d86" dependencies = [ "serde", "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_parser", "swc_ecma_transforms_base", "swc_ecma_transforms_react", "swc_ecma_utils", @@ -1992,24 +2180,24 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.56.2" +version = "0.72.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a3cb85935a25f5a78bdcf8252a0423eeb3aa3d027c16d2ae425454e0ab2a4c2" +checksum = "43689c9f051b48c4ea9eb86b236b27277594a9c4311d3ee88d7007f5d65b1ff5" dependencies = [ + "indexmap", "once_cell", "swc_atoms", "swc_common", "swc_ecma_ast", "swc_ecma_visit", "tracing", - "unicode-xid", ] [[package]] name = "swc_ecma_visit" -version = "0.46.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c03856f785763e50019ebd70281e9490c5b019f93cfc1dda180d49e30fcb4c" +checksum = "9b70316301b54ead435ae2660824ba3049de1854710b73395e1b8e615dc0bca6" dependencies = [ "num-bigint", "swc_atoms", @@ -2021,9 +2209,9 @@ dependencies = [ [[package]] name = "swc_ecmascript" -version = "0.99.9" +version = "0.132.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643f0c9a2b6acfa0fff19ba80a6bff86240417bd9b1a168af97c3591eea99555" +checksum = "7fa1f0e2b8bcb94f30b276c633743e6d2cf06e5ceb0561fe1bb55d47d020921e" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -2058,6 +2246,17 @@ dependencies = [ "syn", ] +[[package]] +name = "swc_trace_macro" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d1a05fdb40442d687cb2eff4e5c374886a66ced1436ad87515de7d72b3ec10b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "swc_visit" version = "0.3.0" @@ -2070,9 +2269,9 @@ dependencies = [ [[package]] name = "swc_visit_macros" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e505bbf8e11898fa05a65aa5e773c827ec743fc15aa3c064c9e06164ed0b6630" +checksum = "c3b9b72892df873972549838bf84d6c56234c7502148a7e23b5a3da6e0fedfb8" dependencies = [ "Inflector", "pmutil", @@ -2095,9 +2294,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" dependencies = [ "winapi-util", ] @@ -2167,9 +2366,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tracing" -version = "0.1.29" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" +checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f" dependencies = [ "cfg-if 1.0.0", "pin-project-lite", @@ -2179,9 +2378,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.18" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e" +checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" dependencies = [ "proc-macro2", "quote", @@ -2190,9 +2389,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" +checksum = "aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c" dependencies = [ "lazy_static", ] @@ -2221,6 +2420,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +[[package]] +name = "unicode-id" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4285d92be83dfbc8950a2601178b89ed36f979ebf51bfcf7b272b17001184e6c" + [[package]] name = "unicode-normalization" version = "0.1.19" @@ -2244,9 +2449,9 @@ checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "unindent" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f14ee04d9415b52b3aeab06258a3f07093182b88ba0f9b8d203f211a7a7d41c7" +checksum = "514672a55d7380da379785a4d70ca8386c8883ff7eaae877be4d2081cebe73d8" [[package]] name = "unreachable" @@ -2277,9 +2482,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "void" @@ -2287,17 +2492,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -[[package]] -name = "walkdir" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" -dependencies = [ - "same-file", - "winapi", - "winapi-util", -] - [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -2406,11 +2600,54 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" + +[[package]] +name = "windows_i686_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" + +[[package]] +name = "windows_i686_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" + [[package]] name = "xxhash-rust" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575e15bedf6e57b5c2d763ffc6c3c760143466cbd09d762d539680ab5992ded" +checksum = "886f21441c6731b9e06a9fdacbc5e29319c17a4069c2a511d80349874864702d" [[package]] name = "zopfli" diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index dda211e5016..f58347ca760 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -23,6 +23,7 @@ import {makeDeferredWithPromise, normalizePath} from '@parcel/utils'; import vm from 'vm'; import Logger from '@parcel/logger'; import nullthrows from 'nullthrows'; +import {md} from '@parcel/diagnostic'; describe('javascript', function () { beforeEach(async () => { @@ -5308,7 +5309,7 @@ describe('javascript', function () { name: 'BuildError', diagnostics: [ { - message: `Failed to resolve '@swc/helpers' from '${normalizePath( + message: md`Failed to resolve '@swc/helpers' from '${normalizePath( require.resolve('@parcel/transformer-js/src/JSTransformer.js'), )}'`, origin: '@parcel/core', diff --git a/packages/transformers/js/core/Cargo.toml b/packages/transformers/js/core/Cargo.toml index ea54f194fe4..250ed2ecf78 100644 --- a/packages/transformers/js/core/Cargo.toml +++ b/packages/transformers/js/core/Cargo.toml @@ -8,8 +8,8 @@ edition = "2018" crate-type = ["rlib"] [dependencies] -swc_ecmascript = { version = "0.99.9", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils", "preset_env"] } -swc_common = { version = "0.15.1", features = ["tty-emitter", "sourcemap"] } +swc_ecmascript = { version = "0.132.0", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils", "preset_env"] } +swc_common = { version = "0.17.15", features = ["tty-emitter", "sourcemap"] } swc_atoms = "0.2.9" indoc = "1.0.3" serde = "1.0.123" diff --git a/packages/transformers/js/core/src/dependency_collector.rs b/packages/transformers/js/core/src/dependency_collector.rs index 0113d96838d..1da4b632c90 100644 --- a/packages/transformers/js/core/src/dependency_collector.rs +++ b/packages/transformers/js/core/src/dependency_collector.rs @@ -6,7 +6,7 @@ use std::path::Path; use serde::{Deserialize, Serialize}; use swc_atoms::JsWord; use swc_common::{Mark, SourceMap, Span, SyntaxContext, DUMMY_SP}; -use swc_ecmascript::ast; +use swc_ecmascript::ast::{self, Callee, MemberProp}; use swc_ecmascript::utils::ident::IdentLike; use swc_ecmascript::visit::{Fold, FoldWith}; @@ -185,7 +185,7 @@ impl<'a> DependencyCollector<'a> { // For scripts, we replace with __parcel__require__, which is later replaced // by a real parcelRequire of the resolved asset in the packager. if self.config.source_type == SourceType::Script { - res.callee = ast::ExprOrSuper::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( + res.callee = ast::Callee::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( "__parcel__require__".into(), DUMMY_SP, )))); @@ -326,166 +326,164 @@ impl<'a> Fold for DependencyCollector<'a> { } fn fold_call_expr(&mut self, node: ast::CallExpr) -> ast::CallExpr { - use ast::{Expr::*, ExprOrSuper::*, Ident}; + use ast::{Expr::*, Ident}; - let call_expr = match node.callee.clone() { - Super(_) => return node, - Expr(boxed) => boxed, - }; - - let kind = match &*call_expr { - Ident(ident) => { - // Bail if defined in scope - if self.decls.contains(&ident.to_id()) { - return node.fold_children_with(self); - } - - match ident.sym.to_string().as_str() { - "import" => DependencyKind::DynamicImport, - "require" => { - if self.in_promise { - DependencyKind::DynamicImport - } else { - DependencyKind::Require + let kind = match &node.callee { + Callee::Import(_) => DependencyKind::DynamicImport, + Callee::Expr(expr) => { + match &**expr { + Ident(ident) => { + // Bail if defined in scope + if self.decls.contains(&ident.to_id()) { + return node.fold_children_with(self); } - } - "importScripts" => { - if self.config.is_worker { - let (msg, span) = if self.config.source_type == SourceType::Script { - // Ignore if argument is not a string literal. - let span = if let Some(ast::ExprOrSpread { expr, .. }) = node.args.get(0) { - match &**expr { - Lit(ast::Lit::Str(ast::Str { value, span, .. })) => { - // Ignore absolute URLs. - if value.starts_with("http:") - || value.starts_with("https:") - || value.starts_with("//") - { - return node.fold_children_with(self); + + match ident.sym.to_string().as_str() { + "require" => { + if self.in_promise { + DependencyKind::DynamicImport + } else { + DependencyKind::Require + } + } + "importScripts" => { + if self.config.is_worker { + let (msg, span) = if self.config.source_type == SourceType::Script { + // Ignore if argument is not a string literal. + let span = if let Some(ast::ExprOrSpread { expr, .. }) = node.args.get(0) { + match &**expr { + Lit(ast::Lit::Str(ast::Str { value, span, .. })) => { + // Ignore absolute URLs. + if value.starts_with("http:") + || value.starts_with("https:") + || value.starts_with("//") + { + return node.fold_children_with(self); + } + span + } + _ => { + return node.fold_children_with(self); + } } - span - } - _ => { + } else { return node.fold_children_with(self); - } - } - } else { - return node.fold_children_with(self); - }; - - ( - "Argument to importScripts() must be a fully qualified URL.", - *span, - ) - } else { - ( - "importScripts() is not supported in module workers.", - node.span, - ) - }; - self.diagnostics.push(Diagnostic { - message: msg.to_string(), - code_highlights: Some(vec![CodeHighlight { - message: None, - loc: SourceLocation::from(self.source_map, span), - }]), - hints: Some(vec![String::from( - "Use a static `import`, or dynamic `import()` instead.", - )]), - show_environment: self.config.source_type == SourceType::Script, - severity: DiagnosticSeverity::Error, - documentation_url: Some(String::from( - "https://parceljs.org/languages/javascript/#classic-script-workers", - )), - }); - } + }; + + ( + "Argument to importScripts() must be a fully qualified URL.", + *span, + ) + } else { + ( + "importScripts() is not supported in module workers.", + node.span, + ) + }; + self.diagnostics.push(Diagnostic { + message: msg.to_string(), + code_highlights: Some(vec![CodeHighlight { + message: None, + loc: SourceLocation::from(self.source_map, span), + }]), + hints: Some(vec![String::from( + "Use a static `import`, or dynamic `import()` instead.", + )]), + show_environment: self.config.source_type == SourceType::Script, + severity: DiagnosticSeverity::Error, + documentation_url: Some(String::from( + "https://parceljs.org/languages/javascript/#classic-script-workers", + )), + }); + } - return node.fold_children_with(self); - } - "__parcel__require__" => { - let mut call = node.fold_children_with(self); - call.callee = ast::ExprOrSuper::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( - "require".into(), - DUMMY_SP.apply_mark(self.ignore_mark), - )))); - return call; - } - "__parcel__import__" => { - let mut call = node.fold_children_with(self); - call.callee = ast::ExprOrSuper::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( - "import".into(), - DUMMY_SP.apply_mark(self.ignore_mark), - )))); - return call; - } - "__parcel__importScripts__" => { - let mut call = node.fold_children_with(self); - call.callee = ast::ExprOrSuper::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( - "importScripts".into(), - DUMMY_SP.apply_mark(self.ignore_mark), - )))); - return call; - } - _ => return node.fold_children_with(self), - } - } - Member(member) => { - if match_member_expr(member, vec!["module", "require"], self.decls) { - DependencyKind::Require - } else if self.config.is_browser - && match_member_expr( - member, - vec!["navigator", "serviceWorker", "register"], - self.decls, - ) - { - DependencyKind::ServiceWorker - } else if self.config.is_browser - && match_member_expr(member, vec!["CSS", "paintWorklet", "addModule"], self.decls) - { - DependencyKind::Worklet - } else { - let was_in_promise = self.in_promise; - - // Match compiled dynamic imports (Parcel) - // Promise.resolve(require('foo')) - if match_member_expr(member, vec!["Promise", "resolve"], self.decls) { - if let Some(expr) = node.args.get(0) { - if match_require(&*expr.expr, self.decls, Mark::fresh(Mark::root())).is_some() { - self.in_promise = true; - let node = node.fold_children_with(self); - self.in_promise = was_in_promise; - return node; + return node.fold_children_with(self); + } + "__parcel__require__" => { + let mut call = node.fold_children_with(self); + call.callee = ast::Callee::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( + "require".into(), + DUMMY_SP.apply_mark(self.ignore_mark), + )))); + return call; + } + "__parcel__import__" => { + let mut call = node.fold_children_with(self); + call.callee = ast::Callee::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( + "import".into(), + DUMMY_SP.apply_mark(self.ignore_mark), + )))); + return call; + } + "__parcel__importScripts__" => { + let mut call = node.fold_children_with(self); + call.callee = ast::Callee::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( + "importScripts".into(), + DUMMY_SP.apply_mark(self.ignore_mark), + )))); + return call; } + _ => return node.fold_children_with(self), } } + Member(member) => { + if match_member_expr(member, vec!["module", "require"], self.decls) { + DependencyKind::Require + } else if self.config.is_browser + && match_member_expr( + member, + vec!["navigator", "serviceWorker", "register"], + self.decls, + ) + { + DependencyKind::ServiceWorker + } else if self.config.is_browser + && match_member_expr(member, vec!["CSS", "paintWorklet", "addModule"], self.decls) + { + DependencyKind::Worklet + } else { + let was_in_promise = self.in_promise; + + // Match compiled dynamic imports (Parcel) + // Promise.resolve(require('foo')) + if match_member_expr(member, vec!["Promise", "resolve"], self.decls) { + if let Some(expr) = node.args.get(0) { + if match_require(&*expr.expr, self.decls, Mark::fresh(Mark::root())).is_some() { + self.in_promise = true; + let node = node.fold_children_with(self); + self.in_promise = was_in_promise; + return node; + } + } + } - // Match compiled dynamic imports (TypeScript) - // Promise.resolve().then(() => require('foo')) - // Promise.resolve().then(() => { return require('foo') }) - // Promise.resolve().then(function () { return require('foo') }) - if let Expr(ref expr) = member.obj { - if let Call(call) = &**expr { - if let Expr(e) = &call.callee { - if let Member(m) = &**e { - if match_member_expr(m, vec!["Promise", "resolve"], self.decls) { - if let Ident(id) = &*member.prop { - if id.sym.to_string().as_str() == "then" { - if let Some(arg) = node.args.get(0) { - match &*arg.expr { - Fn(_) | Arrow(_) => { - self.in_promise = true; - let node = swc_ecmascript::visit::fold_call_expr(self, node.clone()); - self.in_promise = was_in_promise; - - // Transform Promise.resolve().then(() => __importStar(require('foo'))) - // => Promise.resolve().then(() => require('foo')).then(res => __importStar(res)) - if let Some(require_node) = self.require_node.clone() { - self.require_node = None; - return build_promise_chain(node, require_node); + // Match compiled dynamic imports (TypeScript) + // Promise.resolve().then(() => require('foo')) + // Promise.resolve().then(() => { return require('foo') }) + // Promise.resolve().then(function () { return require('foo') }) + if let Call(call) = &*member.obj { + if let Callee::Expr(e) = &call.callee { + if let Member(m) = &**e { + if match_member_expr(m, vec!["Promise", "resolve"], self.decls) { + if let MemberProp::Ident(id) = &member.prop { + if id.sym.to_string().as_str() == "then" { + if let Some(arg) = node.args.get(0) { + match &*arg.expr { + Fn(_) | Arrow(_) => { + self.in_promise = true; + let node = + swc_ecmascript::visit::fold_call_expr(self, node.clone()); + self.in_promise = was_in_promise; + + // Transform Promise.resolve().then(() => __importStar(require('foo'))) + // => Promise.resolve().then(() => require('foo')).then(res => __importStar(res)) + if let Some(require_node) = self.require_node.clone() { + self.require_node = None; + return build_promise_chain(node, require_node); + } } + _ => {} } - _ => {} } } } @@ -493,10 +491,11 @@ impl<'a> Fold for DependencyCollector<'a> { } } } + + return node.fold_children_with(self); } } - - return node.fold_children_with(self); + _ => return node.fold_children_with(self), } } _ => return node.fold_children_with(self), @@ -637,7 +636,7 @@ impl<'a> Fold for DependencyCollector<'a> { SourceType::Module => "require", SourceType::Script => "__parcel__require__", }; - call.callee = ast::ExprOrSuper::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( + call.callee = ast::Callee::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( name.into(), DUMMY_SP, )))); @@ -824,10 +823,7 @@ impl<'a> Fold for DependencyCollector<'a> { // Free `require` -> undefined sym == &js_word!("require") && !self.decls.contains(&(sym.clone(), span.ctxt())) } - Expr::Member(MemberExpr { - obj: ExprOrSuper::Expr(expr), - .. - }) => { + Expr::Member(MemberExpr { obj: expr, .. }) => { // e.g. `require.extensions` -> undefined if let Expr::Ident(Ident { sym, span, .. }) = &**expr { sym == &js_word!("require") && !self.decls.contains(&(sym.clone(), span.ctxt())) @@ -884,7 +880,7 @@ impl<'a> DependencyCollector<'a> { }; if let Some(ast::Expr::Call(call)) = expr { - if let ast::ExprOrSuper::Expr(callee) = &call.callee { + if let ast::Callee::Expr(callee) = &call.callee { if let ast::Expr::Ident(id) = &**callee { if id.to_id() == resolve_id { if let Some(arg) = call.args.get(0) { @@ -969,10 +965,9 @@ fn build_promise_chain(node: ast::CallExpr, require_node: ast::CallExpr) -> ast: }; return ast::CallExpr { - callee: ast::ExprOrSuper::Expr(Box::new(ast::Expr::Member(ast::MemberExpr { + callee: ast::Callee::Expr(Box::new(ast::Expr::Member(ast::MemberExpr { span: DUMMY_SP, - computed: false, - obj: ast::ExprOrSuper::Expr(Box::new(ast::Expr::Call(ast::CallExpr { + obj: (Box::new(ast::Expr::Call(ast::CallExpr { callee: node.callee, args: vec![ast::ExprOrSpread { expr: Box::new(ast::Expr::Fn(ast::FnExpr { @@ -999,7 +994,7 @@ fn build_promise_chain(node: ast::CallExpr, require_node: ast::CallExpr) -> ast: span: DUMMY_SP, type_args: None, }))), - prop: Box::new(ast::Expr::Ident(ast::Ident::new("then".into(), DUMMY_SP))), + prop: MemberProp::Ident(ast::Ident::new("then".into(), DUMMY_SP)), }))), args: vec![ast::ExprOrSpread { expr: Box::new(f), @@ -1020,12 +1015,11 @@ fn create_url_constructor(url: ast::Expr, use_import_meta: bool) -> ast::Expr { let expr = if use_import_meta { Expr::Member(MemberExpr { span: DUMMY_SP, - obj: ExprOrSuper::Expr(Box::new(Expr::MetaProp(MetaPropExpr { - meta: Ident::new(js_word!("import"), DUMMY_SP), - prop: Ident::new(js_word!("meta"), DUMMY_SP), - }))), - prop: Box::new(Expr::Ident(Ident::new(js_word!("url"), DUMMY_SP))), - computed: false, + obj: Box::new(Expr::MetaProp(MetaPropExpr { + kind: MetaPropKind::ImportMeta, + span: DUMMY_SP, + })), + prop: MemberProp::Ident(Ident::new(js_word!("url"), DUMMY_SP)), }) } else { // CJS output: "file:" + __filename @@ -1162,16 +1156,11 @@ impl<'a> DependencyCollector<'a> { match expr { Expr::Member(member) => { - match &member.obj { - ExprOrSuper::Expr(expr) if self.is_import_meta(&**expr) => {} - _ => return false, + if !self.is_import_meta(&member.obj) { + return false; } - let name = if !member.computed { - match_str_or_ident(&*member.prop) - } else { - match_str(&*member.prop) - }; + let name = match_property_name(member); if let Some((name, _)) = name { name == js_word!("url") @@ -1203,15 +1192,8 @@ impl<'a> DependencyCollector<'a> { match &expr { ast::Expr::MetaProp(MetaPropExpr { - meta: Ident { - sym: js_word!("import"), - .. - }, - prop: Ident { - sym: js_word!("meta"), - span, - .. - }, + kind: MetaPropKind::ImportMeta, + span, }) => { if self.config.source_type == SourceType::Script { self.diagnostics.push(Diagnostic { @@ -1279,25 +1261,17 @@ impl<'a> DependencyCollector<'a> { decls: vec![VarDeclarator { name: Pat::Ident(BindingIdent::from(ident.clone())), init: Some(Box::new(Expr::Call(CallExpr { - callee: ExprOrSuper::Expr(Box::new(Expr::Member(MemberExpr { - obj: ExprOrSuper::Expr(Box::new(Expr::Ident(Ident::new( - js_word!("Object"), - DUMMY_SP, - )))), - prop: Box::new(Expr::Ident(Ident::new("assign".into(), DUMMY_SP))), - computed: false, + callee: Callee::Expr(Box::new(Expr::Member(MemberExpr { + obj: Box::new(Expr::Ident(Ident::new(js_word!("Object"), DUMMY_SP))), + prop: MemberProp::Ident(Ident::new("assign".into(), DUMMY_SP)), span: DUMMY_SP, }))), args: vec![ ExprOrSpread { expr: Box::new(Expr::Call(CallExpr { - callee: ExprOrSuper::Expr(Box::new(Expr::Member(MemberExpr { - obj: ExprOrSuper::Expr(Box::new(Expr::Ident(Ident::new( - js_word!("Object"), - DUMMY_SP, - )))), - prop: Box::new(Expr::Ident(Ident::new("create".into(), DUMMY_SP))), - computed: false, + callee: Callee::Expr(Box::new(Expr::Member(MemberExpr { + obj: (Box::new(Expr::Ident(Ident::new(js_word!("Object"), DUMMY_SP)))), + prop: MemberProp::Ident(Ident::new("create".into(), DUMMY_SP)), span: DUMMY_SP, }))), args: vec![ExprOrSpread { diff --git a/packages/transformers/js/core/src/env_replacer.rs b/packages/transformers/js/core/src/env_replacer.rs index b72db0ae312..46b52f4c093 100644 --- a/packages/transformers/js/core/src/env_replacer.rs +++ b/packages/transformers/js/core/src/env_replacer.rs @@ -53,25 +53,11 @@ impl<'a> Fold for EnvReplacer<'a> { return node.fold_children_with(self); } - if let MemberExpr { - obj: ExprOrSuper::Expr(ref expr), - ref prop, - computed, - .. - } = member - { - if let Expr::Member(member) = &**expr { - if match_member_expr(member, vec!["process", "env"], self.decls) { - if let Expr::Lit(Lit::Str(Str { value: ref sym, .. })) = &**prop { - if let Some(replacement) = self.replace(sym, true) { - return replacement; - } - } else if let Expr::Ident(Ident { ref sym, .. }) = &**prop { - if !computed { - if let Some(replacement) = self.replace(sym, true) { - return replacement; - } - } + if let Expr::Member(obj) = &*member.obj { + if match_member_expr(obj, vec!["process", "env"], self.decls) { + if let Some((sym, _)) = match_property_name(member) { + if let Some(replacement) = self.replace(&sym, true) { + return replacement; } } } @@ -128,11 +114,7 @@ impl<'a> Fold for EnvReplacer<'a> { PatOrExpr::Expr(expr) => Some(&**expr), }; - if let Some(Expr::Member(MemberExpr { - obj: ExprOrSuper::Expr(ref obj), - .. - })) = expr - { + if let Some(Expr::Member(MemberExpr { obj, .. })) = &expr { if let Expr::Member(member) = &**obj { if match_member_expr(member, vec!["process", "env"], self.decls) { self.emit_mutating_error(assign.span); @@ -148,7 +130,7 @@ impl<'a> Fold for EnvReplacer<'a> { Expr::Unary(UnaryExpr { op: UnaryOp::Delete, arg, span, .. }) | // e.g. process.env.UPDATE++ Expr::Update(UpdateExpr { arg, span, .. }) => { - if let Expr::Member(MemberExpr { obj: ExprOrSuper::Expr(ref obj), .. }) = &**arg { + if let Expr::Member(MemberExpr { ref obj, .. }) = &**arg { if let Expr::Member(member) = &**obj { if match_member_expr(member, vec!["process", "env"], self.decls) { self.emit_mutating_error(*span); diff --git a/packages/transformers/js/core/src/fs.rs b/packages/transformers/js/core/src/fs.rs index 2bdca62c70e..291e156ebfd 100644 --- a/packages/transformers/js/core/src/fs.rs +++ b/packages/transformers/js/core/src/fs.rs @@ -1,21 +1,15 @@ use crate::dependency_collector::{DependencyDescriptor, DependencyKind}; use crate::hoist::{Collect, Import}; -use crate::utils::SourceLocation; +use crate::id; +use crate::utils::{IdentId, SourceLocation}; use data_encoding::{BASE64, HEXLOWER}; use std::collections::HashSet; use std::path::{Path, PathBuf}; use swc_atoms::JsWord; -use swc_common::{Mark, Span, SyntaxContext, DUMMY_SP}; +use swc_common::{Mark, Span, DUMMY_SP}; use swc_ecmascript::ast::*; use swc_ecmascript::visit::{Fold, FoldWith, VisitWith}; -type IdentId = (JsWord, SyntaxContext); -macro_rules! id { - ($ident: expr) => { - ($ident.sym.clone(), $ident.span.ctxt) - }; -} - pub fn inline_fs<'a>( filename: &str, source_map: swc_common::sync::Lrc, @@ -55,7 +49,7 @@ impl<'a> Fold for InlineFS<'a> { fn fold_expr(&mut self, node: Expr) -> Expr { if let Expr::Call(call) = &node { - if let ExprOrSuper::Expr(expr) = &call.callee { + if let Callee::Expr(expr) = &call.callee { if let Some((source, specifier)) = self.match_module_reference(expr) { if &source == "fs" && &specifier == "readFileSync" { if let Some(arg) = call.args.get(0) { @@ -84,31 +78,29 @@ impl<'a> InlineFS<'a> { } } Expr::Member(member) => { - let prop = match &*member.prop { - Expr::Ident(ident) => { - if !member.computed { - ident.sym.clone() + let prop = match &member.prop { + MemberProp::Ident(ident) => ident.sym.clone(), + MemberProp::Computed(ComputedPropName { expr, .. }) => { + if let Expr::Lit(Lit::Str(str_)) = &**expr { + str_.value.clone() } else { return None; } } - Expr::Lit(Lit::Str(str_)) => str_.value.clone(), _ => return None, }; - if let ExprOrSuper::Expr(expr) = &member.obj { - if let Some(source) = self.collect.match_require(expr) { - return Some((source, prop)); - } + if let Some(source) = self.collect.match_require(&*member.obj) { + return Some((source, prop)); + } - if let Expr::Ident(ident) = &**expr { - if let Some(Import { - source, specifier, .. - }) = self.collect.imports.get(&id!(ident)) - { - if specifier == "default" || specifier == "*" { - return Some((source.clone(), prop)); - } + if let Expr::Ident(ident) = &*member.obj { + if let Some(Import { + source, specifier, .. + }) = self.collect.imports.get(&id!(ident)) + { + if specifier == "default" || specifier == "*" { + return Some((source.clone(), prop)); } } } @@ -196,13 +188,12 @@ impl<'a> InlineFS<'a> { // If buffer, wrap in Buffer.from(base64String, 'base64') if encoding == "buffer" { Some(Expr::Call(CallExpr { - callee: ExprOrSuper::Expr(Box::new(Expr::Member(MemberExpr { - obj: ExprOrSuper::Expr(Box::new(Expr::Ident(Ident::new( + callee: Callee::Expr(Box::new(Expr::Member(MemberExpr { + obj: Box::new(Expr::Ident(Ident::new( "Buffer".into(), DUMMY_SP.apply_mark(self.global_mark), - )))), - prop: Box::new(Expr::Ident(Ident::new("from".into(), DUMMY_SP))), - computed: false, + ))), + prop: MemberProp::Ident(Ident::new("from".into(), DUMMY_SP)), span: DUMMY_SP, }))), args: vec![ @@ -286,7 +277,7 @@ impl<'a> Fold for Evaluator<'a> { }, Expr::Call(call) => { let callee = match &call.callee { - ExprOrSuper::Expr(expr) => &*expr, + Callee::Expr(expr) => &*expr, _ => return node, }; diff --git a/packages/transformers/js/core/src/global_replacer.rs b/packages/transformers/js/core/src/global_replacer.rs index 9332dd3e839..512d5eeaa2f 100644 --- a/packages/transformers/js/core/src/global_replacer.rs +++ b/packages/transformers/js/core/src/global_replacer.rs @@ -4,7 +4,7 @@ use std::path::Path; use swc_atoms::JsWord; use swc_common::{SourceMap, SyntaxContext, DUMMY_SP}; -use swc_ecmascript::ast; +use swc_ecmascript::ast::{self, ComputedPropName}; use swc_ecmascript::utils::ident::IdentLike; use swc_ecmascript::visit::{Fold, FoldWith}; @@ -24,12 +24,12 @@ pub struct GlobalReplacer<'a> { impl<'a> Fold for GlobalReplacer<'a> { fn fold_expr(&mut self, node: ast::Expr) -> ast::Expr { - use ast::{Expr::*, Ident, MemberExpr}; + use ast::{Expr::*, Ident, MemberExpr, MemberProp}; // Do not traverse into the `prop` side of member expressions unless computed. let node = match node { Member(expr) => { - if expr.computed { + if let MemberProp::Computed(_) = expr.prop { Member(MemberExpr { obj: expr.obj.fold_with(self), prop: expr.prop.fold_with(self), @@ -87,9 +87,8 @@ impl<'a> Fold for GlobalReplacer<'a> { id.sym.clone(), self.global_mark, Member(MemberExpr { - obj: ast::ExprOrSuper::Expr(Box::new(Call(create_require(specifier.clone())))), - prop: Box::new(Ident(ast::Ident::new("Buffer".into(), DUMMY_SP))), - computed: false, + obj: Box::new(Call(create_require(specifier.clone()))), + prop: MemberProp::Ident(ast::Ident::new("Buffer".into(), DUMMY_SP)), span: DUMMY_SP, }), ), @@ -169,15 +168,14 @@ impl<'a> Fold for GlobalReplacer<'a> { id.sym.clone(), self.global_mark, ast::Expr::Member(ast::MemberExpr { - obj: ast::ExprOrSuper::Expr(Box::new(Ident(Ident::new( - js_word!("arguments"), - DUMMY_SP, - )))), - prop: Box::new(Lit(ast::Lit::Num(ast::Number { - value: 3.0, + obj: Box::new(Ident(Ident::new(js_word!("arguments"), DUMMY_SP))), + prop: MemberProp::Computed(ComputedPropName { span: DUMMY_SP, - }))), - computed: true, + expr: Box::new(Lit(ast::Lit::Num(ast::Number { + value: 3.0, + span: DUMMY_SP, + }))), + }), span: DUMMY_SP, }), ), diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index 02e17bce0b1..f4c71995c17 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -1,4 +1,4 @@ -use crate::utils::match_property_name; +use crate::utils::{match_export_name, match_export_name_ident, match_property_name}; use serde::{Deserialize, Serialize}; use std::collections::hash_map::DefaultHasher; use std::collections::{HashMap, HashSet}; @@ -206,13 +206,13 @@ impl<'a> Fold for Hoist<'a> { match specifier { ExportSpecifier::Named(named) => { let exported = match named.exported { - Some(exported) => exported.sym, - None => named.orig.sym.clone(), + Some(exported) => match_export_name(&exported).0, + None => match_export_name(&named.orig).0.clone(), }; self.re_exports.push(ImportedSymbol { source: src.value.clone(), local: exported, - imported: named.orig.sym, + imported: match_export_name(&named.orig).0, loc: SourceLocation::from(&self.collect.source_map, named.span), }); } @@ -227,7 +227,7 @@ impl<'a> Fold for Hoist<'a> { ExportSpecifier::Namespace(namespace) => { self.re_exports.push(ImportedSymbol { source: src.value.clone(), - local: namespace.name.sym, + local: match_export_name(&namespace.name).0, imported: "*".into(), loc: SourceLocation::from(&self.collect.source_map, namespace.span), }); @@ -237,10 +237,10 @@ impl<'a> Fold for Hoist<'a> { } else { for specifier in export.specifiers { if let ExportSpecifier::Named(named) = specifier { - let id = id!(named.orig); + let id = id!(match_export_name_ident(&named.orig)); let exported = match named.exported { - Some(exported) => exported.sym, - None => named.orig.sym, + Some(exported) => match_export_name(&exported).0, + None => match_export_name(&named.orig).0, }; if let Some(Import { source, specifier, .. @@ -406,46 +406,44 @@ impl<'a> Fold for Hoist<'a> { } if let Expr::Member(member) = &**init { - if let ExprOrSuper::Expr(expr) = &member.obj { - // Match var x = require('foo').bar; - if let Some(source) = - match_require(&*expr, &self.collect.decls, self.collect.ignore_mark) - { - if !self.collect.non_static_requires.contains(&source) { - // If this is not the first declarator in the variable declaration, we need to - // split the declaration into multiple to preserve side effect ordering. - // var x = sideEffect(), y = require('foo').bar, z = 2; - // -> var x = sideEffect(); import 'foo'; var y = $id$import$foo$bar, z = 2; - if !decls.is_empty() { - let var = VarDecl { - span: var.span, - kind: var.kind, - declare: var.declare, - decls: std::mem::take(&mut decls), - }; - self - .module_items - .push(ModuleItem::Stmt(Stmt::Decl(Decl::Var(var)))); - } - + // Match var x = require('foo').bar; + if let Some(source) = + match_require(&*member.obj, &self.collect.decls, self.collect.ignore_mark) + { + if !self.collect.non_static_requires.contains(&source) { + // If this is not the first declarator in the variable declaration, we need to + // split the declaration into multiple to preserve side effect ordering. + // var x = sideEffect(), y = require('foo').bar, z = 2; + // -> var x = sideEffect(); import 'foo'; var y = $id$import$foo$bar, z = 2; + if !decls.is_empty() { + let var = VarDecl { + span: var.span, + kind: var.kind, + declare: var.declare, + decls: std::mem::take(&mut decls), + }; self .module_items - .push(ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl { - specifiers: vec![], - asserts: None, - span: DUMMY_SP, - src: Str { - value: format!("{}:{}", self.module_id, source).into(), - span: DUMMY_SP, - kind: StrKind::Synthesized, - has_escape: false, - }, - type_only: false, - }))); - - self.handle_non_const_require(v, &source); - continue; + .push(ModuleItem::Stmt(Stmt::Decl(Decl::Var(var)))); } + + self + .module_items + .push(ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl { + specifiers: vec![], + asserts: None, + span: DUMMY_SP, + src: Str { + value: format!("{}:{}", self.module_id, source).into(), + span: DUMMY_SP, + kind: StrKind::Synthesized, + has_escape: false, + }, + type_only: false, + }))); + + self.handle_non_const_require(v, &source); + continue; } } } @@ -541,110 +539,101 @@ impl<'a> Fold for Hoist<'a> { } } - let key = match &*member.prop { - Expr::Ident(ident) => { - if !member.computed { - ident.sym.clone() - } else { - return Expr::Member(member.fold_children_with(self)); - } - } - Expr::Lit(Lit::Str(str_)) => str_.value.clone(), + let key = match match_property_name(&member) { + Some(v) => v.0, _ => return Expr::Member(member.fold_children_with(self)), }; - if let ExprOrSuper::Expr(ref expr) = member.obj { - match &**expr { - Expr::Ident(ident) => { - // import * as y from 'x'; OR const y = require('x'); OR const y = await import('x'); - // y.foo -> $id$import$d141bba7fdc215a3$y - if let Some(Import { - source, - specifier, - kind, - .. - }) = self.collect.imports.get(&id!(ident)) + match &*member.obj { + Expr::Ident(ident) => { + // import * as y from 'x'; OR const y = require('x'); OR const y = await import('x'); + // y.foo -> $id$import$d141bba7fdc215a3$y + if let Some(Import { + source, + specifier, + kind, + .. + }) = self.collect.imports.get(&id!(ident)) + { + // If there are any non-static accesses of the namespace, don't perform any replacement. + // This will be handled in the Ident visitor below, which replaces y -> $id$import$d141bba7fdc215a3. + if specifier == "*" + && !self.collect.non_static_access.contains_key(&id!(ident)) + && !self.collect.non_const_bindings.contains_key(&id!(ident)) + && !self.collect.non_static_requires.contains(source) { - // If there are any non-static accesses of the namespace, don't perform any replacement. - // This will be handled in the Ident visitor below, which replaces y -> $id$import$d141bba7fdc215a3. - if specifier == "*" - && !self.collect.non_static_access.contains_key(&id!(ident)) - && !self.collect.non_const_bindings.contains_key(&id!(ident)) - && !self.collect.non_static_requires.contains(source) - { - if *kind == ImportKind::DynamicImport { - let name: JsWord = format!( - "${}$importAsync${:x}${:x}", - self.module_id, - hash!(source), - hash!(key) - ) - .into(); - self.imported_symbols.push(ImportedSymbol { - source: source.clone(), - local: name, - imported: key.clone(), - loc: SourceLocation::from(&self.collect.source_map, member.span), - }); - } else { - return Expr::Ident(self.get_import_ident( - member.span, - source, - &key, - SourceLocation::from(&self.collect.source_map, member.span), - )); - } + if *kind == ImportKind::DynamicImport { + let name: JsWord = format!( + "${}$importAsync${:x}${:x}", + self.module_id, + hash!(source), + hash!(key) + ) + .into(); + self.imported_symbols.push(ImportedSymbol { + source: source.clone(), + local: name, + imported: key.clone(), + loc: SourceLocation::from(&self.collect.source_map, member.span), + }); + } else { + return Expr::Ident(self.get_import_ident( + member.span, + source, + &key, + SourceLocation::from(&self.collect.source_map, member.span), + )); } } + } - // exports.foo -> $id$export$foo - let exports: JsWord = "exports".into(); - if ident.sym == exports - && !self.collect.decls.contains(&id!(ident)) - && self.collect.static_cjs_exports - && !self.collect.should_wrap - { - self.self_references.insert(key.clone()); - return Expr::Ident(self.get_export_ident(member.span, &key)); - } + // exports.foo -> $id$export$foo + let exports: JsWord = "exports".into(); + if ident.sym == exports + && !self.collect.decls.contains(&id!(ident)) + && self.collect.static_cjs_exports + && !self.collect.should_wrap + { + self.self_references.insert(key.clone()); + return Expr::Ident(self.get_export_ident(member.span, &key)); } - Expr::Call(_call) => { - // require('foo').bar -> $id$import$foo$bar - if let Some(source) = - match_require(expr, &self.collect.decls, self.collect.ignore_mark) - { - self.add_require(&source); - return Expr::Ident(self.get_import_ident( - member.span, - &source, - &key, - SourceLocation::from(&self.collect.source_map, member.span), - )); - } + } + Expr::Call(_call) => { + // require('foo').bar -> $id$import$foo$bar + if let Some(source) = + match_require(&member.obj, &self.collect.decls, self.collect.ignore_mark) + { + self.add_require(&source); + return Expr::Ident(self.get_import_ident( + member.span, + &source, + &key, + SourceLocation::from(&self.collect.source_map, member.span), + )); } - Expr::Member(mem) => { - // module.exports.foo -> $id$export$foo - if self.collect.static_cjs_exports - && !self.collect.should_wrap - && match_member_expr(mem, vec!["module", "exports"], &self.collect.decls) - { - self.self_references.insert(key.clone()); - return Expr::Ident(self.get_export_ident(member.span, &key)); - } + } + Expr::Member(mem) => { + // module.exports.foo -> $id$export$foo + if self.collect.static_cjs_exports + && !self.collect.should_wrap + && match_member_expr(mem, vec!["module", "exports"], &self.collect.decls) + { + self.self_references.insert(key.clone()); + return Expr::Ident(self.get_export_ident(member.span, &key)); } - Expr::This(_) => { - // this.foo -> $id$export$foo - if self.collect.static_cjs_exports - && !self.collect.should_wrap - && !self.in_function_scope - && !self.collect.is_esm - { - self.self_references.insert(key.clone()); - return Expr::Ident(self.get_export_ident(member.span, &key)); - } + } + Expr::This(_) => { + // this.foo -> $id$export$foo + if self.collect.static_cjs_exports + && !self.collect.should_wrap + && !self.in_function_scope + && !self.collect.is_esm + { + self.self_references.insert(key.clone()); + return Expr::Ident(self.get_export_ident(member.span, &key)); } - _ => {} } + _ => {} } // Don't visit member.prop so we avoid the ident visitor. @@ -652,7 +641,6 @@ impl<'a> Fold for Hoist<'a> { span: member.span, obj: member.obj.fold_with(self), prop: member.prop, - computed: member.computed, }); } Expr::Call(ref call) => { @@ -845,17 +833,14 @@ impl<'a> Fold for Hoist<'a> { }; } - let is_cjs_exports = match &member.obj { - ExprOrSuper::Expr(expr) => match &**expr { - Expr::Member(member) => { - match_member_expr(member, vec!["module", "exports"], &self.collect.decls) - } - Expr::Ident(ident) => { - let exports: JsWord = "exports".into(); - ident.sym == exports && !self.collect.decls.contains(&id!(ident)) - } - _ => false, - }, + let is_cjs_exports = match &*member.obj { + Expr::Member(member) => { + match_member_expr(member, vec!["module", "exports"], &self.collect.decls) + } + Expr::Ident(ident) => { + let exports: JsWord = "exports".into(); + ident.sym == exports && !self.collect.decls.contains(&id!(ident)) + } _ => false, }; @@ -898,9 +883,8 @@ impl<'a> Fold for Hoist<'a> { } else { PatOrExpr::Pat(Box::new(Pat::Expr(Box::new(Expr::Member(MemberExpr { span: member.span, - obj: ExprOrSuper::Expr(Box::new(Expr::Ident(ident.id))), + obj: Box::new(Expr::Ident(ident.id)), prop: member.prop.clone().fold_with(self), - computed: member.computed, }))))) }, right: node.right.fold_with(self), @@ -1337,7 +1321,7 @@ impl Visit for Collect { match specifier { ImportSpecifier::Named(named) => { let imported = match &named.imported { - Some(imported) => imported.sym.clone(), + Some(imported) => match_export_name(imported).0.clone(), None => named.local.sym.clone(), }; self.imports.insert( @@ -1382,22 +1366,22 @@ impl Visit for Collect { match specifier { ExportSpecifier::Named(named) => { let exported = match &named.exported { - Some(exported) => exported.clone(), - None => named.orig.clone(), + Some(exported) => match_export_name(exported), + None => match_export_name(&named.orig), }; self.exports.insert( - exported.sym.clone(), + exported.0.clone(), Export { - specifier: named.orig.sym.clone(), - loc: SourceLocation::from(&self.source_map, exported.span), + specifier: match_export_name_ident(&named.orig).sym.clone(), + loc: SourceLocation::from(&self.source_map, exported.1), source, }, ); if node.src.is_none() { self .exports_locals - .entry(named.orig.sym.clone()) - .or_insert_with(|| exported.sym.clone()); + .entry(match_export_name_ident(&named.orig).sym.clone()) + .or_insert_with(|| exported.0.clone()); } } ExportSpecifier::Default(default) => { @@ -1418,7 +1402,7 @@ impl Visit for Collect { } ExportSpecifier::Namespace(namespace) => { self.exports.insert( - namespace.name.sym.clone(), + match_export_name(&namespace.name).0, Export { specifier: "*".into(), loc: SourceLocation::from(&self.source_map, namespace.span), @@ -1654,45 +1638,43 @@ impl Visit for Collect { }; } - if let ExprOrSuper::Expr(expr) = &node.obj { - match &**expr { - Expr::Member(member) => { - if match_member_expr(member, vec!["module", "exports"], &self.decls) { - handle_export!(); - } - return; + match &*node.obj { + Expr::Member(member) => { + if match_member_expr(member, vec!["module", "exports"], &self.decls) { + handle_export!(); + } + return; + } + Expr::Ident(ident) => { + let exports: JsWord = "exports".into(); + if ident.sym == exports && !self.decls.contains(&id!(ident)) { + handle_export!(); } - Expr::Ident(ident) => { - let exports: JsWord = "exports".into(); - if ident.sym == exports && !self.decls.contains(&id!(ident)) { - handle_export!(); - } - if ident.sym == js_word!("module") && !self.decls.contains(&id!(ident)) { - self.has_cjs_exports = true; - self.static_cjs_exports = false; - self.should_wrap = true; - self.add_bailout(node.span, BailoutReason::FreeModule); - } + if ident.sym == js_word!("module") && !self.decls.contains(&id!(ident)) { + self.has_cjs_exports = true; + self.static_cjs_exports = false; + self.should_wrap = true; + self.add_bailout(node.span, BailoutReason::FreeModule); + } - // `import` isn't really an identifier... - if match_property_name(node).is_none() && ident.sym != js_word!("import") { - self - .non_static_access - .entry(id!(ident)) - .or_default() - .push(node.span); - } - return; + // `import` isn't really an identifier... + if match_property_name(node).is_none() && ident.sym != js_word!("import") { + self + .non_static_access + .entry(id!(ident)) + .or_default() + .push(node.span); } - Expr::This(_this) => { - if self.in_module_this { - handle_export!(); - } - return; + return; + } + Expr::This(_this) => { + if self.in_module_this { + handle_export!(); } - _ => {} + return; } + _ => {} } node.visit_children_with(self); @@ -1822,43 +1804,32 @@ impl Visit for Collect { match &**init { Expr::Member(member) => { - if let ExprOrSuper::Expr(expr) = &member.obj { - if let Some(source) = self.match_require(&*expr) { - // Convert member expression on require to a destructuring assignment. - // const yx = require('y').x; -> const {x: yx} = require('x'); - let key = match &*member.prop { - Expr::Ident(ident) => { - if !member.computed { - PropName::Ident(ident.clone()) - } else { - PropName::Computed(ComputedPropName { - span: DUMMY_SP, - expr: Box::new(*expr.clone()), - }) - } - } - Expr::Lit(Lit::Str(str_)) => PropName::Str(str_.clone()), - _ => PropName::Computed(ComputedPropName { - span: DUMMY_SP, - expr: Box::new(*expr.clone()), - }), - }; + if let Some(source) = self.match_require(&*member.obj) { + // Convert member expression on require to a destructuring assignment. + // const yx = require('y').x; -> const {x: yx} = require('x'); + let key = match &member.prop { + MemberProp::Computed(_) => PropName::Computed(ComputedPropName { + span: DUMMY_SP, + expr: Box::new(*member.obj.clone()), + }), + MemberProp::Ident(ident) => PropName::Ident(ident.clone()), + _ => unreachable!(), + }; - self.add_pat_imports( - &Pat::Object(ObjectPat { - optional: false, - span: DUMMY_SP, - type_ann: None, - props: vec![ObjectPatProp::KeyValue(KeyValuePatProp { - key, - value: Box::new(node.name.clone()), - })], - }), - &source, - ImportKind::Require, - ); - return; - } + self.add_pat_imports( + &Pat::Object(ObjectPat { + optional: false, + span: DUMMY_SP, + type_ann: None, + props: vec![ObjectPatProp::KeyValue(KeyValuePatProp { + key, + value: Box::new(node.name.clone()), + })], + }), + &source, + ImportKind::Require, + ); + return; } } Expr::Await(await_exp) => { @@ -1882,7 +1853,7 @@ impl Visit for Collect { } fn visit_call_expr(&mut self, node: &CallExpr) { - if let ExprOrSuper::Expr(expr) = &node.callee { + if let Callee::Expr(expr) = &node.callee { match &**expr { Expr::Ident(ident) => { if ident.sym == js_word!("eval") && !self.decls.contains(&id!(ident)) { @@ -1892,34 +1863,26 @@ impl Visit for Collect { } Expr::Member(member) => { // import('foo').then(foo => ...); - if let ExprOrSuper::Expr(obj) = &member.obj { - if let Some(source) = match_import(&*obj, self.ignore_mark) { - let then: JsWord = "then".into(); - let is_then = match &*member.prop { - Expr::Ident(ident) => !member.computed && ident.sym == then, - Expr::Lit(Lit::Str(str)) => str.value == then, - _ => false, - }; - - if is_then { - if let Some(ExprOrSpread { expr, .. }) = node.args.get(0) { - let param = match &**expr { - Expr::Fn(func) => func.function.params.get(0).map(|param| ¶m.pat), - Expr::Arrow(arrow) => arrow.params.get(0), - _ => None, - }; - - if let Some(param) = param { - self.add_pat_imports(param, &source, ImportKind::DynamicImport); - } else { - self.non_static_requires.insert(source.clone()); - self.wrapped_requires.insert(source); - self.add_bailout(node.span, BailoutReason::NonStaticDynamicImport); - } + if let Some(source) = match_import(&*member.obj, self.ignore_mark) { + let then: JsWord = "then".into(); + if match_property_name(member).map_or(false, |f| f.0 == then) { + if let Some(ExprOrSpread { expr, .. }) = node.args.get(0) { + let param = match &**expr { + Expr::Fn(func) => func.function.params.get(0).map(|param| ¶m.pat), + Expr::Arrow(arrow) => arrow.params.get(0), + _ => None, + }; - expr.visit_with(self); - return; + if let Some(param) = param { + self.add_pat_imports(param, &source, ImportKind::DynamicImport); + } else { + self.non_static_requires.insert(source.clone()); + self.wrapped_requires.insert(source); + self.add_bailout(node.span, BailoutReason::NonStaticDynamicImport); } + + expr.visit_with(self); + return; } } } diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index 3e9c161f629..4dcb6924e18 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -379,7 +379,12 @@ pub fn transform(config: Config) -> Result { ), // Transpile new syntax to older syntax if needed Optional::new( - preset_env(global_mark, Some(&comments), preset_env_config), + preset_env( + global_mark, + Some(&comments), + preset_env_config, + Default::default() + ), config.targets.is_some() ), // Inject SWC helpers if needed. diff --git a/packages/transformers/js/core/src/modules.rs b/packages/transformers/js/core/src/modules.rs index 7ef2ce3f43b..1a9567715fb 100644 --- a/packages/transformers/js/core/src/modules.rs +++ b/packages/transformers/js/core/src/modules.rs @@ -1,3 +1,5 @@ +use crate::id; +use crate::utils::{match_export_name, match_export_name_ident, IdentId}; use inflector::Inflector; use std::collections::{HashMap, HashSet}; use swc_atoms::JsWord; @@ -8,13 +10,6 @@ use swc_ecmascript::visit::{Fold, FoldWith}; use crate::fold_member_expr_skip_prop; -type IdentId = (JsWord, SyntaxContext); -macro_rules! id { - ($ident: expr) => { - ($ident.sym.clone(), $ident.span.ctxt) - }; -} - pub fn esm2cjs(node: Module, versions: Option) -> (Module, bool) { let mut fold = ESMFold { imports: HashMap::new(), @@ -138,10 +133,9 @@ impl ESMFold { self.needs_helpers = true; let ident = Ident::new("parcelHelpers".into(), DUMMY_SP.apply_mark(self.mark)); Expr::Call(CallExpr { - callee: ExprOrSuper::Expr(Box::new(Expr::Member(MemberExpr { - obj: ExprOrSuper::Expr(Box::new(Expr::Ident(ident))), - prop: Box::new(Expr::Ident(Ident::new(name, DUMMY_SP))), - computed: false, + callee: Callee::Expr(Box::new(Expr::Member(MemberExpr { + obj: Box::new(Expr::Ident(ident)), + prop: MemberProp::Ident(Ident::new(name, DUMMY_SP)), span: DUMMY_SP, }))), args: args @@ -218,12 +212,8 @@ impl ESMFold { expr: Box::new(Expr::Assign(AssignExpr { op: AssignOp::Assign, left: PatOrExpr::Expr(Box::new(Expr::Member(MemberExpr { - obj: ExprOrSuper::Expr(Box::new(Expr::Ident(Ident::new( - "exports".into(), - DUMMY_SP, - )))), - prop: Box::new(Expr::Ident(Ident::new(name, DUMMY_SP))), - computed: false, + obj: Box::new(Expr::Ident(Ident::new("exports".into(), DUMMY_SP))), + prop: MemberProp::Ident(Ident::new(name, DUMMY_SP)), span: DUMMY_SP, }))), right: Box::new(right), @@ -246,9 +236,8 @@ impl ESMFold { }; Expr::Member(MemberExpr { - obj: ExprOrSuper::Expr(Box::new(Expr::Ident(obj))), - prop: Box::new(Expr::Ident(Ident::new(imported.clone(), DUMMY_SP))), - computed: false, + obj: Box::new(Expr::Ident(obj)), + prop: MemberProp::Ident(Ident::new(imported.clone(), DUMMY_SP)), span, }) } @@ -281,7 +270,7 @@ impl Fold for ESMFold { match specifier { ImportSpecifier::Named(named) => { let imported = match &named.imported { - Some(imported) => imported.sym.clone(), + Some(imported) => match_export_name(imported).0.clone(), None => named.local.sym.clone(), }; self.imports.insert( @@ -340,13 +329,16 @@ impl Fold for ESMFold { None => named.orig.clone(), }; - if named.orig.sym == js_word!("default") { + if match_export_name(&named.orig).0 == js_word!("default") { self.create_interop_default(src.value.clone()); } - let specifier = - self.create_import_access(&src.value, &named.orig.sym, DUMMY_SP); - self.create_export(exported.sym, specifier, export.span); + let specifier = self.create_import_access( + &src.value, + &match_export_name(&named.orig).0, + DUMMY_SP, + ); + self.create_export(match_export_name(&exported).0, specifier, export.span); } ExportSpecifier::Default(default) => { self.create_interop_default(src.value.clone()); @@ -357,7 +349,7 @@ impl Fold for ESMFold { ExportSpecifier::Namespace(namespace) => { let local = self.get_require_name(&src.value, DUMMY_SP); self.create_export( - namespace.name.sym.clone(), + match_export_name(&namespace.name).0, Expr::Ident(local), export.span, ) @@ -371,17 +363,21 @@ impl Fold for ESMFold { Some(exported) => exported.clone(), None => named.orig.clone(), }; + let orig = match_export_name_ident(&named.orig); // Handle import {foo} from 'bar'; export {foo}; - let value = if let Some((source, imported)) = - self.imports.get(&id!(named.orig)).cloned() - { - self.create_import_access(&source, &imported, named.orig.span) - } else { - Expr::Ident(named.orig.clone()) - }; + let value = + if let Some((source, imported)) = self.imports.get(&id!(orig)).cloned() { + self.create_import_access( + &source, + &imported, + match_export_name(&named.orig).1, + ) + } else { + Expr::Ident(orig.clone()) + }; - self.create_export(exported.sym, value, export.span); + self.create_export(match_export_name(&exported).0, value, export.span); } } } diff --git a/packages/transformers/js/core/src/utils.rs b/packages/transformers/js/core/src/utils.rs index 0e8924ead1b..0effc0463b7 100644 --- a/packages/transformers/js/core/src/utils.rs +++ b/packages/transformers/js/core/src/utils.rs @@ -11,21 +11,21 @@ pub fn match_member_expr( idents: Vec<&str>, decls: &HashSet<(JsWord, SyntaxContext)>, ) -> bool { - use ast::{Expr::*, ExprOrSuper::*, Ident, Lit, Str}; + use ast::{Expr, Ident, Lit, MemberProp, Str}; let mut member = expr; let mut idents = idents; while idents.len() > 1 { let expected = idents.pop().unwrap(); - let prop = match &*member.prop { - Lit(Lit::Str(Str { value: ref sym, .. })) => sym, - Ident(Ident { ref sym, .. }) => { - if member.computed { + let prop = match &member.prop { + MemberProp::Computed(comp) => { + if let Expr::Lit(Lit::Str(Str { value: ref sym, .. })) = *comp.expr { + sym + } else { return false; } - - sym } + MemberProp::Ident(Ident { ref sym, .. }) => sym, _ => return false, }; @@ -33,16 +33,13 @@ pub fn match_member_expr( return false; } - match &member.obj { - Expr(expr) => match &**expr { - Member(m) => member = m, - Ident(Ident { ref sym, span, .. }) => { - return idents.len() == 1 - && sym == idents.pop().unwrap() - && !decls.contains(&(sym.clone(), span.ctxt())); - } - _ => return false, - }, + match &*member.obj { + Expr::Member(m) => member = m, + Expr::Ident(Ident { ref sym, span, .. }) => { + return idents.len() == 1 + && sym == idents.pop().unwrap() + && !decls.contains(&(sym.clone(), span.ctxt())); + } _ => return false, } } @@ -57,7 +54,7 @@ pub fn create_require(specifier: swc_atoms::JsWord) -> ast::CallExpr { } ast::CallExpr { - callee: ast::ExprOrSuper::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( + callee: ast::Callee::Expr(Box::new(ast::Expr::Ident(ast::Ident::new( "require".into(), DUMMY_SP, )))), @@ -104,21 +101,26 @@ pub fn match_str(node: &ast::Expr) -> Option<(JsWord, Span)> { } } -pub fn match_str_or_ident(node: &ast::Expr) -> Option<(JsWord, Span)> { - use ast::*; - - if let Expr::Ident(id) = node { - return Some((id.sym.clone(), id.span)); +pub fn match_property_name(node: &ast::MemberExpr) -> Option<(JsWord, Span)> { + match &node.prop { + ast::MemberProp::Computed(s) => match_str(&*s.expr), + ast::MemberProp::Ident(id) => Some((id.sym.clone(), id.span)), + ast::MemberProp::PrivateName(_) => None, } +} - match_str(node) +pub fn match_export_name(name: &ast::ModuleExportName) -> (JsWord, Span) { + match name { + ast::ModuleExportName::Ident(id) => (id.sym.clone(), id.span), + ast::ModuleExportName::Str(s) => (s.value.clone(), s.span), + } } -pub fn match_property_name(node: &ast::MemberExpr) -> Option<(JsWord, Span)> { - if node.computed { - match_str(&*node.prop) - } else { - match_str_or_ident(&*node.prop) +/// Properties like `ExportNamedSpecifier::orig` have to be an Ident if `src` is `None` +pub fn match_export_name_ident(name: &ast::ModuleExportName) -> &ast::Ident { + match name { + ast::ModuleExportName::Ident(id) => id, + ast::ModuleExportName::Str(_) => unreachable!(), } } @@ -131,7 +133,7 @@ pub fn match_require( match node { Expr::Call(call) => match &call.callee { - ExprOrSuper::Expr(expr) => match &**expr { + Callee::Expr(expr) => match &**expr { Expr::Ident(ident) => { if ident.sym == js_word!("require") && !decls.contains(&(ident.sym.clone(), ident.span.ctxt)) @@ -166,18 +168,12 @@ pub fn match_import(node: &ast::Expr, ignore_mark: Mark) -> Option { match node { Expr::Call(call) => match &call.callee { - ExprOrSuper::Expr(expr) => match &**expr { - Expr::Ident(ident) => { - if ident.sym == js_word!("import") && !is_marked(ident.span, ignore_mark) { - if let Some(arg) = call.args.get(0) { - return match_str(&*arg.expr).map(|(name, _)| name); - } - } - - None + Callee::Import(ident) if !is_marked(ident.span, ignore_mark) => { + if let Some(arg) = call.args.get(0) { + return match_str(&*arg.expr).map(|(name, _)| name); } - _ => None, - }, + None + } _ => None, }, _ => None, @@ -345,7 +341,7 @@ macro_rules! fold_member_expr_skip_prop { ) -> swc_ecmascript::ast::MemberExpr { node.obj = node.obj.fold_with(self); - if node.computed { + if let swc_ecmascript::ast::MemberProp::Computed(_) = node.prop { node.prop = node.prop.fold_with(self); } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 8e97b9e1358..eb99407c56f 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -35,7 +35,7 @@ "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.3.2", "@parcel/workers": "2.3.2", - "@swc/helpers": "^0.2.11", + "@swc/helpers": "^0.3.6", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", "nullthrows": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 3d6a543153d..2d3d0ed168f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2412,10 +2412,10 @@ "@swc/core-win32-ia32-msvc" "^1.2.106" "@swc/core-win32-x64-msvc" "^1.2.106" -"@swc/helpers@^0.2.11": - version "0.2.11" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.2.11.tgz#34c842dcd8182810b4ab72d0d1fc34b553909e2e" - integrity sha512-0FFPZrCwRDLsbJDKzs1Oo+TAqfAyxnZWZoTF6rUrfWQCYpwuKFj7tAEt/wa830fqCPE5Uk6qIo9KMkPe7Qgukg== +"@swc/helpers@^0.3.6": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.3.6.tgz#b41e77dbf14e9cb138988484563ad9680ae5dc3d" + integrity sha512-xVl7Sddrl9/eMjEMqkH9lT8fLOGCuWHH9VmR2IBKQ8xTcjA6UQw4O3/4oS3xnyZHLtL9vC3P+C0kLneHpiqeEg== "@tootallnate/once@2": version "2.0.0" From 3e893b6aa3ee56389ae393c7af83fb54538168ab Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Fri, 18 Mar 2022 03:39:33 +0100 Subject: [PATCH 0217/1076] Bump swc and prevent pure comment removal (#7833) --- Cargo.lock | 115 ++++++++++++----------- packages/transformers/js/core/Cargo.toml | 4 +- packages/transformers/js/core/src/lib.rs | 2 + 3 files changed, 62 insertions(+), 59 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 52fd9b59c82..67391037b49 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -330,9 +330,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa" +checksum = "fdbfe11fe19ff083c48923cf179540e8cd0535903dc35e178a1fdeeb59aef51f" dependencies = [ "cfg-if 1.0.0", "crossbeam-utils", @@ -351,10 +351,11 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00d6d2ea26e8b151d99093005cb442fb9a37aeaca582a03ec70946f49ab5ed9" +checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" dependencies = [ + "autocfg", "cfg-if 1.0.0", "crossbeam-utils", "lazy_static", @@ -364,9 +365,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6" +checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" dependencies = [ "cfg-if 1.0.0", "lazy_static", @@ -429,9 +430,9 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.1.0" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0834a35a3fce649144119e18da2a4d8ed12ef3862f47183fd46f625d072d96c" +checksum = "4c8858831f7781322e539ea39e72449c46b059638250c14344fec8d0aa6e539c" dependencies = [ "cfg-if 1.0.0", "num_cpus", @@ -799,9 +800,9 @@ dependencies = [ [[package]] name = "lexical-write-float" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26f6202bff3d35ede41a6200227837468bb92e4ecdd437328b1055ed218fb855" +checksum = "8a89ec1d062e481210c309b672f73a0567b7855f21e7d2fae636df44d12e97f9" dependencies = [ "lexical-util", "lexical-write-integer", @@ -820,9 +821,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.119" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" +checksum = "ad5c14e80759d0939d013e6ca49930e59fc53dd8e5009132f76240c179380c09" [[package]] name = "libdeflate-sys" @@ -987,13 +988,12 @@ checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" [[package]] name = "nom" -version = "7.1.0" +version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109" +checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" dependencies = [ "memchr", "minimal-lexical", - "version_check", ] [[package]] @@ -1834,7 +1834,7 @@ checksum = "84fed4a980e12c737171a7b17c5e0a2f4272899266fa0632ea4e31264ebdfdb5" dependencies = [ "ahash", "anyhow", - "dashmap 5.1.0", + "dashmap 5.2.0", "once_cell", "regex", "serde", @@ -1843,9 +1843,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.17.15" +version = "0.17.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af06472bfc423fb7b75c483eccfb9b6790db9de0fb2d6ff1ef8369a2551a3707" +checksum = "7935aededdf361eb17ba3ddde021ad0df4774c5b5d902e7b0f6faae7c76d748a" dependencies = [ "ahash", "ast_node", @@ -1872,9 +1872,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.70.0" +version = "0.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35d736b61d3dceb5a4e18a86d69bfc352aa7136fd3c5a6c2f3353231cd9d839" +checksum = "8ae7b943caae6d3fbae0534ce2df9866efa3d0415199ce7d20c6ef7e4e0b233d" dependencies = [ "is-macro", "num-bigint", @@ -1887,14 +1887,15 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.95.0" +version = "0.98.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fa4a2b82e2bab5bea6472e23b14bd96c462ae9e1e29d9af2ea8ea6d58dcc406" +checksum = "ef9691af1a41fbde638594f2b8593560670adab5c2cc0fd3587481040312797d" dependencies = [ "bitflags", "memchr", "num-bigint", "once_cell", + "rustc-hash", "sourcemap", "swc_atoms", "swc_common", @@ -1905,9 +1906,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen_macros" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbf826c739281cdb3b3c23883fd1a7586ea1c15b1287530e7123a7fad8f0e25" +checksum = "59949619b2ef45eedb6c399d05f2c3c7bc678b5074b3103bb670f9e05bb99042" dependencies = [ "pmutil", "proc-macro2", @@ -1936,9 +1937,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.93.0" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bcc4ebfd0c5f7c9e5fd03b3dff680d61e997e51147e6f4738ee3274be5ad382" +checksum = "6bbca18d756dddd0a87e101dd07157cd466a22787e9b5447ab85da2faa352bd8" dependencies = [ "either", "enum_kind", @@ -1956,13 +1957,13 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.106.2" +version = "0.110.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c76924d65625afb0536c433d59a6f63fee0388e0ab7f121bda9ec92a84b4678" +checksum = "13d8929f9552fd9c324a8b22765dfa50b789f0e0069757f3480ececfb11b5136" dependencies = [ "ahash", "anyhow", - "dashmap 5.1.0", + "dashmap 5.2.0", "indexmap", "once_cell", "preset_env_base", @@ -1981,9 +1982,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.131.0" +version = "0.135.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "484ab8024a62c8f35a408898d0b8aa664e03a992c2f262cda6173274f48d955e" +checksum = "7e19aa898a63dbee9ae4abb505716bc146c55d6ad9e627d617b16bfc827dd36f" dependencies = [ "swc_atoms", "swc_common", @@ -2001,9 +2002,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.67.0" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6786157670709b3c9e2a81aee7aef8042b582b4b599f233025b28ca5353a29d9" +checksum = "0e0e50e1414e15cc7b909fb8c79c8b2d9988b83aabe8114fa09a730123c2558c" dependencies = [ "better_scoped_tls", "once_cell", @@ -2021,9 +2022,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.55.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd06b4fa72cd85640fcab59c210c34c8e63f6ea5e547c856febcf18000c0bda" +checksum = "3c16df5d4468e8f54b89eccf0876337c4c672b6434092ec83e71e7c678d1fdd3" dependencies = [ "swc_atoms", "swc_common", @@ -2035,9 +2036,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.80.0" +version = "0.83.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f622788e39755b4a0b9902e37314fbc59f163d5e9e24c121a95c8352fb00e1e0" +checksum = "12cb92c67a689037b6320bb2e0a421b5c74bfd297f59cfd7c71c0128ff23de02" dependencies = [ "ahash", "arrayvec 0.7.2", @@ -2074,9 +2075,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.91.0" +version = "0.95.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b050435473be3392bdc665682cf3637c006ea5fe57f6f58cf3be08ae597fab9" +checksum = "a40c273cd4344955105824da8de90e0dfb4e41f4059c3a9accc0292b6b2590b6" dependencies = [ "Inflector", "ahash", @@ -2098,12 +2099,12 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.101.0" +version = "0.105.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0638979a3445e49125ab28a30dc734c272e66406db5583d9095f459543056ac" +checksum = "1b4c4832545ccd8a62050629f0bea25a8968af107149d01bf60e5b87c9305136" dependencies = [ "ahash", - "dashmap 5.1.0", + "dashmap 5.2.0", "indexmap", "once_cell", "serde_json", @@ -2120,9 +2121,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.88.0" +version = "0.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bf987316b088789266b108b9ad87f8479402a76233565ef31807103766bc079" +checksum = "2d5ff5321ecdd0a3e620878e02452a6475b9ffdcaf75a2cf9636c2d31bb85fe0" dependencies = [ "either", "serde", @@ -2139,13 +2140,13 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.93.0" +version = "0.97.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2d009bb8be4149a1b3bb8ea2e4c59c5a26ed5b5ae797563026887480ed9141" +checksum = "3fbf0ee845da10a4018e7c5c5258de5a0b4289fd5e0b4f2d640858fd29c2afe9" dependencies = [ "ahash", "base64 0.13.0", - "dashmap 5.1.0", + "dashmap 5.2.0", "indexmap", "once_cell", "regex", @@ -2164,9 +2165,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.96.0" +version = "0.100.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2e388f0b424de694aac45aaad513e7ccb03aeb87ed42781ce353e1346b3d86" +checksum = "5c553fe85a8bcb0fcc6c8929770d556d567991f8061f7a47dc6e962b6b87dbf9" dependencies = [ "serde", "swc_atoms", @@ -2180,9 +2181,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.72.0" +version = "0.74.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43689c9f051b48c4ea9eb86b236b27277594a9c4311d3ee88d7007f5d65b1ff5" +checksum = "daa3ba57f53fc15882d2ea288f9a4b6c3a6e97c015d7b9603035be424bc19007" dependencies = [ "indexmap", "once_cell", @@ -2195,9 +2196,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b70316301b54ead435ae2660824ba3049de1854710b73395e1b8e615dc0bca6" +checksum = "7588bf6b02705a25356a130acdfec125b6a1dcd5390a5718082ae4f2ede85ee3" dependencies = [ "num-bigint", "swc_atoms", @@ -2209,9 +2210,9 @@ dependencies = [ [[package]] name = "swc_ecmascript" -version = "0.132.1" +version = "0.136.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa1f0e2b8bcb94f30b276c633743e6d2cf06e5ceb0561fe1bb55d47d020921e" +checksum = "5eb75ac51d44c811e4527ce30873a8ef1bd8f2435e33ec6a5dc62936dbfdc451" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -2645,9 +2646,9 @@ checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" [[package]] name = "xxhash-rust" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "886f21441c6731b9e06a9fdacbc5e29319c17a4069c2a511d80349874864702d" +checksum = "83a16b7b403377d61184bb601d8349a4ff2c4cec08a305d004f710b7eaafef24" [[package]] name = "zopfli" diff --git a/packages/transformers/js/core/Cargo.toml b/packages/transformers/js/core/Cargo.toml index 250ed2ecf78..ecfac518dff 100644 --- a/packages/transformers/js/core/Cargo.toml +++ b/packages/transformers/js/core/Cargo.toml @@ -8,8 +8,8 @@ edition = "2018" crate-type = ["rlib"] [dependencies] -swc_ecmascript = { version = "0.132.0", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils", "preset_env"] } -swc_common = { version = "0.17.15", features = ["tty-emitter", "sourcemap"] } +swc_ecmascript = { version = "0.136.0", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils", "preset_env"] } +swc_common = { version = "0.17.17", features = ["tty-emitter", "sourcemap"] } swc_atoms = "0.2.9" indoc = "1.0.3" serde = "1.0.123" diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index 4dcb6924e18..9fd7ba2222e 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -35,6 +35,7 @@ use swc_ecmascript::codegen::text_writer::JsWriter; use swc_ecmascript::parser::lexer::Lexer; use swc_ecmascript::parser::{EsConfig, PResult, Parser, StringInput, Syntax, TsConfig}; use swc_ecmascript::preset_env::{preset_env, Mode::Entry, Targets, Version, Versions}; +use swc_ecmascript::transforms::fixer::paren_remover; use swc_ecmascript::transforms::resolver::resolver_with_mark; use swc_ecmascript::transforms::{ compat::reserved_words::reserved_words, fixer, helpers, hygiene, @@ -340,6 +341,7 @@ pub fn transform(config: Config) -> Result { }, config.source_type != SourceType::Script ), + paren_remover(Some(&comments)), // Simplify expressions and remove dead branches so that we // don't include dependencies inside conditionals that are always false. expr_simplifier(Default::default()), From fe51929197281ce62b537617be7bfde69f7e1a6c Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Fri, 18 Mar 2022 03:40:06 +0100 Subject: [PATCH 0218/1076] Enable parsing static initialization blocks (#7839) --- packages/transformers/js/core/src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index 9fd7ba2222e..1ec1f8c50d3 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -510,6 +510,7 @@ fn parse( Syntax::Es(EsConfig { jsx: config.is_jsx, export_default_from: true, + static_blocks: true, decorators: config.decorators, ..Default::default() }) From 7b168519ae02866d3d351a55c3504d9ca5f727df Mon Sep 17 00:00:00 2001 From: Shinobu Hayashi Date: Thu, 17 Mar 2022 19:40:29 -0700 Subject: [PATCH 0219/1076] Feature: pick PORT number also from .env file (#7819) --- packages/core/core/src/resolveOptions.js | 57 +++++++++++++++++++----- 1 file changed, 47 insertions(+), 10 deletions(-) diff --git a/packages/core/core/src/resolveOptions.js b/packages/core/core/src/resolveOptions.js index 1ce2e208571..42c52979296 100644 --- a/packages/core/core/src/resolveOptions.js +++ b/packages/core/core/src/resolveOptions.js @@ -4,6 +4,7 @@ import type { FilePath, InitialParcelOptions, DependencySpecifier, + InitialServerOptions, } from '@parcel/types'; import type {FileSystem} from '@parcel/fs'; import type {ParcelOptions} from './types'; @@ -95,6 +96,19 @@ export default async function resolveOptions( throw new Error('Lazy bundling does not work with content hashing'); } + let env = { + ...(await loadDotEnv( + initialOptions.env ?? {}, + inputFS, + path.join(projectRoot, 'index'), + projectRoot, + )), + ...process.env, + ...initialOptions.env, + }; + + let port = determinePort(initialOptions.serveOptions, env.PORT); + return { config: getRelativeConfigSpecifier( inputFS, @@ -107,16 +121,7 @@ export default async function resolveOptions( initialOptions.defaultConfig, ), shouldPatchConsole: initialOptions.shouldPatchConsole ?? false, - env: { - ...(await loadDotEnv( - initialOptions.env ?? {}, - inputFS, - path.join(projectRoot, 'index'), - projectRoot, - )), - ...process.env, - ...initialOptions.env, - }, + env, mode, shouldAutoInstall: initialOptions.shouldAutoInstall ?? false, hmrOptions: initialOptions.hmrOptions ?? null, @@ -126,6 +131,7 @@ export default async function resolveOptions( ? { ...initialOptions.serveOptions, distDir: distDir ?? path.join(outputCwd, 'dist'), + port, } : false, shouldDisableCache: initialOptions.shouldDisableCache ?? false, @@ -178,3 +184,34 @@ function getRelativeConfigSpecifier( return specifier; } } + +function determinePort( + initialServerOptions: InitialServerOptions | false | void, + portInEnv: string | void, + defaultPort: number = 1234, +): number { + function parsePort(port: string): number | void { + let parsedPort = Number(port); + + // return undefined if port number defined in .env is not valid integer + if (!Number.isInteger(parsedPort)) { + return undefined; + } + return parsedPort; + } + + if (!initialServerOptions) { + return typeof portInEnv !== 'undefined' + ? parsePort(portInEnv) ?? defaultPort + : defaultPort; + } + + // if initialServerOptions.port is equal to defaultPort, then this means that port number is provided via PORT=~~~~ on cli. In this case, we should ignore port number defined in .env. + if (initialServerOptions.port !== defaultPort) { + return initialServerOptions.port; + } + + return typeof portInEnv !== 'undefined' + ? parsePort(portInEnv) ?? defaultPort + : defaultPort; +} From 96c847b21361bcd2f7c8712752e5376e1f80b27e Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Fri, 18 Mar 2022 12:44:03 -0400 Subject: [PATCH 0220/1076] Move to @parcel/css by default (#7821) --- packages/configs/default/index.json | 2 +- packages/configs/default/package.json | 2 +- .../integration-tests/test/css-modules.js | 892 +++++++++--------- packages/core/integration-tests/test/css.js | 787 +++++++-------- packages/core/test-utils/src/.parcelrc-css | 10 - packages/optimizers/css/package.json | 3 +- packages/optimizers/css/src/CSSOptimizer.js | 46 + .../css-experimental/package.json | 30 - .../css-experimental/src/CSSTransformer.js | 232 ----- packages/transformers/css/package.json | 11 +- .../transformers/css/src/CSSTransformer.js | 520 ++++------ packages/transformers/postcss/package.json | 4 +- .../postcss/src/PostCSSTransformer.js | 76 +- .../transformers/postcss/src/loadConfig.js | 72 +- yarn.lock | 96 +- 15 files changed, 1225 insertions(+), 1558 deletions(-) delete mode 100644 packages/core/test-utils/src/.parcelrc-css delete mode 100644 packages/transformers/css-experimental/package.json delete mode 100644 packages/transformers/css-experimental/src/CSSTransformer.js diff --git a/packages/configs/default/index.json b/packages/configs/default/index.json index bda82bd3089..e6d9a21e2a9 100644 --- a/packages/configs/default/index.json +++ b/packages/configs/default/index.json @@ -53,7 +53,7 @@ ], "optimizers": { "data-url:*": ["...", "@parcel/optimizer-data-url"], - "*.css": ["@parcel/optimizer-cssnano"], + "*.css": ["@parcel/optimizer-css"], "*.{html,xhtml}": ["@parcel/optimizer-htmlnano"], "*.{js,mjs,cjs}": ["@parcel/optimizer-terser"], "*.svg": ["@parcel/optimizer-svgo"], diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index 8a8f47a369f..f6f94cad732 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -21,7 +21,7 @@ "@parcel/bundler-default": "2.3.2", "@parcel/compressor-raw": "2.3.2", "@parcel/namer-default": "2.3.2", - "@parcel/optimizer-cssnano": "2.3.2", + "@parcel/optimizer-css": "2.3.2", "@parcel/optimizer-htmlnano": "2.3.2", "@parcel/optimizer-image": "2.3.2", "@parcel/optimizer-svgo": "2.3.2", diff --git a/packages/core/integration-tests/test/css-modules.js b/packages/core/integration-tests/test/css-modules.js index de7a660b36d..f591e517873 100644 --- a/packages/core/integration-tests/test/css-modules.js +++ b/packages/core/integration-tests/test/css-modules.js @@ -1,7 +1,7 @@ import assert from 'assert'; import path from 'path'; import { - bundle as originalBundle, + bundle, run, assertBundles, distDir, @@ -10,486 +10,442 @@ import { import postcss from 'postcss'; describe('css modules', () => { - for (let name of ['old', 'new']) { - describe(name, () => { - let bundle = (entries, opts = {}) => { - if (name === 'new') { - // $FlowFixMe - opts.defaultConfig = - path.dirname(require.resolve('@parcel/test-utils')) + - '/.parcelrc-css'; - } - return originalBundle(entries, opts); - }; - - it('should support transforming css modules (require)', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-modules-cjs/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'foo.module.css'], - }, - { - name: 'index.css', - assets: ['index.css', 'foo.module.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - assert(/foo_[0-9a-zA-Z]/.test(value)); - - let cssClass = value.match(/(foo_[0-9a-zA-Z])/)[1]; - - let css = await outputFS.readFile( - path.join(distDir, 'index.css'), - 'utf8', - ); - assert(css.includes(`.${cssClass}`)); - }); - - it('should support transforming css modules (import default)', async () => { - let b = await bundle( - path.join( - __dirname, - '/integration/postcss-modules-import-default/index.js', - ), - {mode: 'production'}, - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'style.module.css'], - }, - { - name: 'index.css', - assets: ['style.module.css'], - }, - ]); - - let output = await run(b); - assert(/b-2_[0-9a-zA-Z]/.test(output)); - - let css = await outputFS.readFile( - b.getBundles().find(b => b.type === 'css').filePath, - 'utf8', - ); - let includedRules = new Set(); - postcss.parse(css).walkRules(rule => { - includedRules.add(rule.selector); - }); - assert(includedRules.has('.page')); - assert(includedRules.has(`.${output}`)); - }); - - it('should tree shake unused css modules classes with a namespace import', async () => { - let b = await bundle( - path.join( - __dirname, - '/integration/postcss-modules-import-namespace/index.js', - ), - {mode: 'production'}, - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'style.module.css'], - }, - { - name: 'index.css', - assets: ['global.css', 'style.module.css'], - }, - ]); - - let js = await outputFS.readFile( - b.getBundles().find(b => b.type === 'js').filePath, - 'utf8', - ); - assert(!js.includes('unused')); - - let output = await run(b); - assert(/b-2_[0-9a-zA-Z]/.test(output)); - - let css = await outputFS.readFile( - b.getBundles().find(b => b.type === 'css').filePath, - 'utf8', - ); - let includedRules = new Set(); - postcss.parse(css).walkRules(rule => { - includedRules.add(rule.selector); - }); - assert.deepStrictEqual( - includedRules, - new Set(['body', `.${output}`, '.page']), - ); - }); - - it('should produce correct css without symbol propagation for css modules classes with a namespace import', async () => { - let b = await bundle( + it('should support transforming css modules (require)', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-modules-cjs/index.js'), + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'foo.module.css'], + }, + { + name: 'index.css', + assets: ['index.css', 'foo.module.css'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + assert(/foo_[0-9a-zA-Z]/.test(value)); + + let cssClass = value.match(/(foo_[0-9a-zA-Z])/)[1]; + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + assert(css.includes(`.${cssClass}`)); + }); + + it('should support transforming css modules (import default)', async () => { + let b = await bundle( + path.join( + __dirname, + '/integration/postcss-modules-import-default/index.js', + ), + {mode: 'production'}, + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'style.module.css'], + }, + { + name: 'index.css', + assets: ['style.module.css'], + }, + ]); + + let output = await run(b); + assert(/b-2_[0-9a-zA-Z]/.test(output)); + + let css = await outputFS.readFile( + b.getBundles().find(b => b.type === 'css').filePath, + 'utf8', + ); + let includedRules = new Set(); + postcss.parse(css).walkRules(rule => { + includedRules.add(rule.selector); + }); + assert(includedRules.has('.page')); + assert(includedRules.has(`.${output}`)); + }); + + it('should tree shake unused css modules classes with a namespace import', async () => { + let b = await bundle( + path.join( + __dirname, + '/integration/postcss-modules-import-namespace/index.js', + ), + {mode: 'production'}, + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'style.module.css'], + }, + { + name: 'index.css', + assets: ['global.css', 'style.module.css'], + }, + ]); + + let js = await outputFS.readFile( + b.getBundles().find(b => b.type === 'js').filePath, + 'utf8', + ); + assert(!js.includes('unused')); + + let output = await run(b); + assert(/b-2_[0-9a-zA-Z]/.test(output)); + + let css = await outputFS.readFile( + b.getBundles().find(b => b.type === 'css').filePath, + 'utf8', + ); + let includedRules = new Set(); + postcss.parse(css).walkRules(rule => { + includedRules.add(rule.selector); + }); + assert.deepStrictEqual( + includedRules, + new Set(['body', `.${output}`, '.page']), + ); + }); + + it('should produce correct css without symbol propagation for css modules classes with a namespace import', async () => { + let b = await bundle( + path.join( + __dirname, + '/integration/postcss-modules-import-namespace/index.js', + ), + { + mode: 'production', + defaultTargetOptions: { + shouldScopeHoist: false, + }, + }, + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'style.module.css'], + }, + { + name: 'index.css', + assets: ['global.css', 'style.module.css'], + }, + ]); + + let {output} = await run(b, null, {require: false}); + assert(/b-2_[0-9a-zA-Z]/.test(output)); + + let css = await outputFS.readFile( + b.getBundles().find(b => b.type === 'css').filePath, + 'utf8', + ); + let includedRules = new Set(); + postcss.parse(css).walkRules(rule => { + includedRules.add(rule.selector); + }); + assert(includedRules.has('body')); + assert(includedRules.has(`.${output}`)); + assert(includedRules.has('.page')); + }); + + it('should support importing css modules with a non-static namespace import', async () => { + let b = await bundle( + path.join( + __dirname, + '/integration/postcss-modules-import-namespace-whole/index.js', + ), + {mode: 'production'}, + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'style.module.css'], + }, + { + name: 'index.css', + assets: ['global.css', 'style.module.css'], + }, + ]); + + let js = await outputFS.readFile( + b.getBundles().find(b => b.type === 'js').filePath, + 'utf8', + ); + assert(js.includes('unused')); + + let output = await run(b); + assert(/b-2_[0-9a-zA-Z]/.test(output['b-2'])); + assert(/unused_[0-9a-zA-Z]/.test(output['unused'])); + + let css = await outputFS.readFile( + b.getBundles().find(b => b.type === 'css').filePath, + 'utf8', + ); + let includedRules = new Set(); + postcss.parse(css).walkRules(rule => { + includedRules.add(rule.selector); + }); + assert.deepStrictEqual( + includedRules, + new Set(['body', `.${output['b-2']}`, `.${output['unused']}`, '.page']), + ); + }); + + it('should support css modules composes imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index.js'), + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: [ + 'index.js', + 'composes-1.module.css', + 'composes-2.module.css', + 'mixins.module.css', + ], + }, + { + name: 'index.css', + assets: [ + 'composes-1.module.css', + 'composes-2.module.css', + 'mixins.module.css', + ], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes1Classes = value.composes1.split(' '); + const composes2Classes = value.composes2.split(' '); + assert(composes1Classes[0].startsWith('composes1_')); + assert(composes1Classes[1].startsWith('test_')); + assert(composes2Classes[0].startsWith('composes2_')); + assert(composes2Classes[1].startsWith('test_')); + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + let cssClass1 = value.composes1.match(/(composes1_[0-9a-zA-Z]+)/)[1]; + assert(css.includes(`.${cssClass1}`)); + let cssClass2 = value.composes2.match(/(composes2_[0-9a-zA-Z]+)/)[1]; + assert(css.includes(`.${cssClass2}`)); + }); + + it('should not include css twice for composes imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index.js'), + ); + + await run(b); + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + assert.equal( + css.indexOf('height: 100px;'), + css.lastIndexOf('height: 100px;'), + ); + }); + + it('should support composes imports for sass', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index2.js'), + ); + + assertBundles(b, [ + { + name: 'index2.js', + assets: ['index2.js', 'composes-3.module.css', 'mixins.module.scss'], + }, + { + name: 'index2.css', + assets: ['composes-3.module.css', 'mixins.module.scss'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes3Classes = value.composes3.split(' '); + assert(composes3Classes[0].startsWith('composes3_')); + assert(composes3Classes[1].startsWith('test_')); + + let css = await outputFS.readFile(path.join(distDir, 'index2.css'), 'utf8'); + assert(css.includes('height: 200px;')); + }); + + it('should support composes imports with custom path names', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index3.js'), + ); + + assertBundles(b, [ + { + name: 'index3.js', + assets: ['index3.js', 'composes-4.module.css', 'mixins.module.css'], + }, + { + name: 'index3.css', + assets: ['composes-4.module.css', 'mixins.module.css'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes4Classes = value.composes4.split(' '); + assert(composes4Classes[0].startsWith('composes4_')); + assert(composes4Classes[1].startsWith('test_')); + + let css = await outputFS.readFile(path.join(distDir, 'index3.css'), 'utf8'); + assert(css.includes('height: 100px;')); + }); + + it('should support deep nested composes imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index4.js'), + ); + + assertBundles(b, [ + { + name: 'index4.js', + assets: [ + 'index4.js', + 'composes-5.module.css', + 'mixins-intermediate.module.css', + 'mixins.module.css', + ], + }, + { + name: 'index4.css', + assets: [ + 'composes-5.module.css', + 'mixins-intermediate.module.css', + 'mixins.module.css', + ], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes5Classes = value.composes5.split(' '); + assert(composes5Classes[0].startsWith('composes5_')); + assert(composes5Classes[1].startsWith('intermediate_')); + assert(composes5Classes[2].startsWith('test_')); + + let css = await outputFS.readFile(path.join(distDir, 'index4.css'), 'utf8'); + assert(css.includes('height: 100px;')); + assert(css.includes('height: 300px;')); + assert(css.indexOf('.test_') < css.indexOf('.intermediate_')); + }); + + it('should support composes imports for multiple selectors', async () => { + let b = await bundle( + path.join(__dirname, '/integration/postcss-composes/index5.js'), + ); + + assertBundles(b, [ + { + name: 'index5.js', + assets: ['index5.js', 'composes-6.module.css', 'mixins.module.css'], + }, + { + name: 'index5.css', + assets: ['composes-6.module.css', 'mixins.module.css'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + + let value = output(); + const composes6Classes = value.composes6.split(' '); + assert(composes6Classes[0].startsWith('composes6_')); + assert(composes6Classes[1].startsWith('test_')); + assert(composes6Classes[2].startsWith('test-2_')); + }); + + it('should throw an error when importing a missing class', async function () { + await assert.rejects( + () => + bundle( path.join( __dirname, - '/integration/postcss-modules-import-namespace/index.js', + '/integration/no-export-error-with-correct-filetype/src/App.jsx', ), { - mode: 'production', + shouldDisableCache: true, defaultTargetOptions: { - shouldScopeHoist: false, + shouldScopeHoist: true, }, }, - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'style.module.css'], - }, - { - name: 'index.css', - assets: ['global.css', 'style.module.css'], - }, - ]); - - let {output} = await run(b, null, {require: false}); - assert(/b-2_[0-9a-zA-Z]/.test(output)); - - let css = await outputFS.readFile( - b.getBundles().find(b => b.type === 'css').filePath, - 'utf8', - ); - let includedRules = new Set(); - postcss.parse(css).walkRules(rule => { - includedRules.add(rule.selector); - }); - assert(includedRules.has('body')); - assert(includedRules.has(`.${output}`)); - assert(includedRules.has('.page')); - }); - - it('should support importing css modules with a non-static namespace import', async () => { - let b = await bundle( - path.join( - __dirname, - '/integration/postcss-modules-import-namespace-whole/index.js', - ), - {mode: 'production'}, - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'style.module.css'], - }, - { - name: 'index.css', - assets: ['global.css', 'style.module.css'], - }, - ]); - - let js = await outputFS.readFile( - b.getBundles().find(b => b.type === 'js').filePath, - 'utf8', - ); - assert(js.includes('unused')); - - let output = await run(b); - assert(/b-2_[0-9a-zA-Z]/.test(output['b-2'])); - assert(/unused_[0-9a-zA-Z]/.test(output['unused'])); - - let css = await outputFS.readFile( - b.getBundles().find(b => b.type === 'css').filePath, - 'utf8', - ); - let includedRules = new Set(); - postcss.parse(css).walkRules(rule => { - includedRules.add(rule.selector); - }); - assert.deepStrictEqual( - includedRules, - new Set([ - 'body', - `.${output['b-2']}`, - `.${output['unused']}`, - '.page', - ]), - ); - }); - - it('should support css modules composes imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: [ - 'index.js', - 'composes-1.module.css', - 'composes-2.module.css', - 'mixins.module.css', - ], - }, - { - name: 'index.css', - assets: [ - 'composes-1.module.css', - 'composes-2.module.css', - 'mixins.module.css', - ], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes1Classes = value.composes1.split(' '); - const composes2Classes = value.composes2.split(' '); - assert(composes1Classes[0].startsWith('composes1_')); - assert(composes1Classes[1].startsWith('test_')); - assert(composes2Classes[0].startsWith('composes2_')); - assert(composes2Classes[1].startsWith('test_')); - - let css = await outputFS.readFile( - path.join(distDir, 'index.css'), - 'utf8', - ); - let cssClass1 = value.composes1.match(/(composes1_[0-9a-zA-Z]+)/)[1]; - assert(css.includes(`.${cssClass1}`)); - let cssClass2 = value.composes2.match(/(composes2_[0-9a-zA-Z]+)/)[1]; - assert(css.includes(`.${cssClass2}`)); - }); - - it('should not include css twice for composes imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index.js'), - ); - - await run(b); - - let css = await outputFS.readFile( - path.join(distDir, 'index.css'), - 'utf8', - ); - assert.equal( - css.indexOf('height: 100px;'), - css.lastIndexOf('height: 100px;'), - ); - }); - - it('should support composes imports for sass', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index2.js'), - ); - - assertBundles(b, [ - { - name: 'index2.js', - assets: [ - 'index2.js', - 'composes-3.module.css', - 'mixins.module.scss', - ], - }, - { - name: 'index2.css', - assets: ['composes-3.module.css', 'mixins.module.scss'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes3Classes = value.composes3.split(' '); - assert(composes3Classes[0].startsWith('composes3_')); - assert(composes3Classes[1].startsWith('test_')); - - let css = await outputFS.readFile( - path.join(distDir, 'index2.css'), - 'utf8', - ); - assert(css.includes('height: 200px;')); - }); - - it('should support composes imports with custom path names', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index3.js'), - ); - - assertBundles(b, [ - { - name: 'index3.js', - assets: ['index3.js', 'composes-4.module.css', 'mixins.module.css'], - }, + ), + { + name: 'BuildError', + diagnostics: [ { - name: 'index3.css', - assets: ['composes-4.module.css', 'mixins.module.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes4Classes = value.composes4.split(' '); - assert(composes4Classes[0].startsWith('composes4_')); - assert(composes4Classes[1].startsWith('test_')); - - let css = await outputFS.readFile( - path.join(distDir, 'index3.css'), - 'utf8', - ); - assert(css.includes('height: 100px;')); - }); - - it('should support deep nested composes imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index4.js'), - ); - - assertBundles(b, [ - { - name: 'index4.js', - assets: [ - 'index4.js', - 'composes-5.module.css', - 'mixins-intermediate.module.css', - 'mixins.module.css', - ], - }, - { - name: 'index4.css', - assets: [ - 'composes-5.module.css', - 'mixins-intermediate.module.css', - 'mixins.module.css', - ], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes5Classes = value.composes5.split(' '); - assert(composes5Classes[0].startsWith('composes5_')); - assert(composes5Classes[1].startsWith('intermediate_')); - assert(composes5Classes[2].startsWith('test_')); - - let css = await outputFS.readFile( - path.join(distDir, 'index4.css'), - 'utf8', - ); - assert(css.includes('height: 100px;')); - assert(css.includes('height: 300px;')); - assert(css.indexOf('.test_') < css.indexOf('.intermediate_')); - }); - - it('should support composes imports for multiple selectors', async () => { - let b = await bundle( - path.join(__dirname, '/integration/postcss-composes/index5.js'), - ); - - assertBundles(b, [ - { - name: 'index5.js', - assets: ['index5.js', 'composes-6.module.css', 'mixins.module.css'], - }, - { - name: 'index5.css', - assets: ['composes-6.module.css', 'mixins.module.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - - let value = output(); - const composes6Classes = value.composes6.split(' '); - assert(composes6Classes[0].startsWith('composes6_')); - assert(composes6Classes[1].startsWith('test_')); - assert(composes6Classes[2].startsWith('test-2_')); - }); - - it('should throw an error when importing a missing class', async function () { - await assert.rejects( - () => - bundle( - path.join( - __dirname, - '/integration/no-export-error-with-correct-filetype/src/App.jsx', - ), + codeFrames: [ { - shouldDisableCache: true, - defaultTargetOptions: { - shouldScopeHoist: true, - }, - }, - ), - { - name: 'BuildError', - diagnostics: [ - { - codeFrames: [ + filePath: path.join( + __dirname, + '/integration/no-export-error-with-correct-filetype/src/App.jsx', + ), + language: 'js', + codeHighlights: [ { - filePath: path.join( - __dirname, - '/integration/no-export-error-with-correct-filetype/src/App.jsx', - ), - language: 'js', - codeHighlights: [ - { - end: { - column: 45, - line: 7, - }, - start: { - column: 28, - line: 7, - }, - }, - ], + end: { + column: 45, + line: 7, + }, + start: { + column: 28, + line: 7, + }, }, ], - message: - "integration/no-export-error-with-correct-filetype/src/app.module.css does not export 'notExisting'", - origin: '@parcel/core', }, ], + message: + "integration/no-export-error-with-correct-filetype/src/app.module.css does not export 'notExisting'", + origin: '@parcel/core', }, - ); - }); - - it('should fall back to postcss for legacy css modules', async function () { - let b = await bundle( - path.join(__dirname, '/integration/css-modules-legacy/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'index.module.css'], - }, - { - name: 'index.css', - assets: ['index.module.css'], - }, - ]); - - let css = await outputFS.readFile( - path.join(distDir, 'index.css'), - 'utf8', - ); - assert(css.includes('color: red')); - }); - }); - } + ], + }, + ); + }); + + it('should fall back to postcss for legacy css modules', async function () { + let b = await bundle( + path.join(__dirname, '/integration/css-modules-legacy/index.js'), + ); + + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'index.module.css'], + }, + { + name: 'index.css', + assets: ['index.module.css'], + }, + ]); + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + assert(css.includes('color: red')); + }); }); diff --git a/packages/core/integration-tests/test/css.js b/packages/core/integration-tests/test/css.js index 45e575a0874..dcb3adab669 100644 --- a/packages/core/integration-tests/test/css.js +++ b/packages/core/integration-tests/test/css.js @@ -2,7 +2,7 @@ import assert from 'assert'; import path from 'path'; import { - bundle as originalBundle, + bundle, run, assertBundles, distDir, @@ -16,467 +16,410 @@ describe('css', () => { await removeDistDirectory(); }); - for (let name of ['old', 'new']) { - describe(name, () => { - let bundle = (entries, opts = {}) => { - if (name === 'new') { - // $FlowFixMe - opts.defaultConfig = - path.dirname(require.resolve('@parcel/test-utils')) + - '/.parcelrc-css'; - } - return originalBundle(entries, opts); - }; - - it('should produce two bundles when importing a CSS file', async () => { - let b = await bundle(path.join(__dirname, '/integration/css/index.js')); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js', 'local.js'], - }, - { - name: 'index.css', - assets: ['index.css', 'local.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 3); - }); - - it('should bundle css dependencies in the correct, postorder traversal order', async () => { - let b = await bundle( - path.join(__dirname, '/integration/css-order/a.css'), - ); - - // Given a tree of css with imports: - // A - // / \ - // B E - // / \ - // C D - // - // (A imports B (which imports C and D) and E) - // - // ...styles should be applied in the order C, D, B, E, A - - assertBundles(b, [ - { - name: 'a.css', - assets: ['a.css', 'b.css', 'c.css', 'd.css', 'e.css'], - }, - ]); - - let css = await outputFS.readFile(path.join(distDir, 'a.css'), 'utf8'); - assert.ok( - css.indexOf('.c {') < css.indexOf('.d {') && - css.indexOf('.d {') < css.indexOf('.b {') && - css.indexOf('.b {') < css.indexOf('.e {') && - css.indexOf('.e {') < css.indexOf('.a {'), - ); - }); - - it('should support loading a CSS bundle along side dynamic imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/dynamic-css/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: [ - 'bundle-url.js', - 'cacheLoader.js', - 'css-loader.js', - 'index.js', - 'js-loader.js', - ], - }, - {name: /local\.[0-9a-f]{8}\.js/, assets: ['local.js']}, - {name: /local\.[0-9a-f]{8}\.css/, assets: ['local.css']}, - {name: 'index.css', assets: ['index.css']}, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(await output(), 3); - }); - - it('should support importing CSS from a CSS file', async function () { - let b = await bundle( - path.join(__dirname, '/integration/css-import/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js'], - }, - { - name: 'index.css', - assets: ['index.css', 'other.css', 'local.css'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 2); - - let css = await outputFS.readFile( - path.join(distDir, '/index.css'), - 'utf8', - ); - assert(css.includes('.local')); - assert(css.includes('.other')); - assert(/@media print {\s*.other/.test(css)); - assert(css.includes('.index')); - }); - - it('should support linking to assets with url() from CSS', async function () { - let b = await bundle( - path.join(__dirname, '/integration/css-url/index.js'), - ); - - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js'], - }, - { - name: 'index.css', - assets: ['index.css'], - }, - { - type: 'woff2', - assets: ['test.woff2'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 2); - - let css = await outputFS.readFile( - path.join(distDir, 'index.css'), - 'utf8', - ); - assert(/url\("test\.[0-9a-f]+\.woff2"\)/.test(css)); - assert(css.includes('url("http://google.com")')); - assert(css.includes('.index')); - assert(css.includes('url("data:image/gif;base64,quotes")')); - assert(css.includes('.quotes')); - assert(css.includes('url("data:image/gif;base64,no-quote")')); - assert(css.includes('.no-quote')); - - assert( - await outputFS.exists( - path.join( - distDir, - css.match(/url\("(test\.[0-9a-f]+\.woff2)"\)/)[1], - ), - ), - ); - }); - - it('should support linking to assets with url() from CSS in production', async function () { - let b = await bundle( - path.join(__dirname, '/integration/css-url/index.js'), - { - defaultTargetOptions: { - shouldOptimize: true, - }, - }, - ); + it('should produce two bundles when importing a CSS file', async () => { + let b = await bundle(path.join(__dirname, '/integration/css/index.js')); - assertBundles(b, [ - { - name: 'index.js', - assets: ['index.js'], - }, - { - name: 'index.css', - assets: ['index.css'], - }, - { - type: 'woff2', - assets: ['test.woff2'], - }, - ]); - - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 2); - - let css = await outputFS.readFile( - path.join(distDir, 'index.css'), - 'utf8', - ); - assert( - /url\(test\.[0-9a-f]+\.woff2\)/.test(css), - 'woff ext found in css', - ); - assert(css.includes('url(http://google.com)'), 'url() found'); - assert(css.includes('.index'), '.index found'); - assert(/url\("?data:image\/gif;base64,quotes"?\)/.test(css)); - assert(css.includes('.quotes')); - assert(/url\("?data:image\/gif;base64,no-quote"?\)/.test(css)); - assert(css.includes('.no-quote')); - - assert( - await outputFS.exists( - path.join(distDir, css.match(/url\((test\.[0-9a-f]+\.woff2)\)/)[1]), - ), - ); - }); - - it('should support linking to assets in parent folders with url() from CSS', async function () { - let b = await bundle( - [ - path.join( - __dirname, - '/integration/css-url-relative/src/a/style1.css', - ), - path.join( - __dirname, - '/integration/css-url-relative/src/b/style2.css', - ), - ], - { - defaultTargetOptions: { - shouldOptimize: true, - sourceMaps: false, - }, - }, - ); + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js', 'local.js'], + }, + { + name: 'index.css', + assets: ['index.css', 'local.css'], + }, + ]); - assertBundles(b, [ - { - type: 'css', - assets: ['style1.css'], - }, - { - type: 'css', - assets: ['style2.css'], - }, - { - type: 'png', - assets: ['foo.png'], - }, - ]); + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 3); + }); - let cssPath = path.join(distDir, 'a', 'style1.css'); - let css = await outputFS.readFile(cssPath, 'utf8'); + it('should bundle css dependencies in the correct, postorder traversal order', async () => { + let b = await bundle(path.join(__dirname, '/integration/css-order/a.css')); + + // Given a tree of css with imports: + // A + // / \ + // B E + // / \ + // C D + // + // (A imports B (which imports C and D) and E) + // + // ...styles should be applied in the order C, D, B, E, A + + assertBundles(b, [ + { + name: 'a.css', + assets: ['a.css', 'b.css', 'c.css', 'd.css', 'e.css'], + }, + ]); + + let css = await outputFS.readFile(path.join(distDir, 'a.css'), 'utf8'); + assert.ok( + css.indexOf('.c {') < css.indexOf('.d {') && + css.indexOf('.d {') < css.indexOf('.b {') && + css.indexOf('.b {') < css.indexOf('.e {') && + css.indexOf('.e {') < css.indexOf('.a {'), + ); + }); - assert(css.includes('background-image'), 'includes `background-image`'); - assert(/url\([^)]*\)/.test(css), 'includes url()'); + it('should support loading a CSS bundle along side dynamic imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/dynamic-css/index.js'), + ); - assert( - await outputFS.exists( - path.resolve(path.dirname(cssPath), css.match(/url\(([^)]*)\)/)[1]), - ), - 'path specified in url() exists', - ); - }); + assertBundles(b, [ + { + name: 'index.js', + assets: [ + 'bundle-url.js', + 'cacheLoader.js', + 'css-loader.js', + 'index.js', + 'js-loader.js', + ], + }, + {name: /local\.[0-9a-f]{8}\.js/, assets: ['local.js']}, + {name: /local\.[0-9a-f]{8}\.css/, assets: ['local.css']}, + {name: 'index.css', assets: ['index.css']}, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(await output(), 3); + }); - it('should ignore url() with IE behavior specifiers', async function () { - let b = await bundle( - path.join(__dirname, '/integration/css-url-behavior/index.css'), - ); + it('should support importing CSS from a CSS file', async function () { + let b = await bundle( + path.join(__dirname, '/integration/css-import/index.js'), + ); - assertBundles(b, [ - { - name: 'index.css', - assets: ['index.css'], - }, - ]); + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js'], + }, + { + name: 'index.css', + assets: ['index.css', 'other.css', 'local.css'], + }, + ]); - let css = await outputFS.readFile( - path.join(distDir, 'index.css'), - 'utf8', - ); + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 2); - assert(css.includes('url(#default#VML)')); - }); + let css = await outputFS.readFile(path.join(distDir, '/index.css'), 'utf8'); + assert(css.includes('.local')); + assert(css.includes('.other')); + assert(/@media print {\s*.other/.test(css)); + assert(css.includes('.index')); + }); - it('should minify CSS when minify is set', async function () { - let b = await bundle( - path.join(__dirname, '/integration/cssnano/index.js'), - { - defaultTargetOptions: { - shouldOptimize: true, - sourceMaps: false, - }, - }, - ); + it('should support linking to assets with url() from CSS', async function () { + let b = await bundle(path.join(__dirname, '/integration/css-url/index.js')); - let output = await run(b); - assert.equal(typeof output, 'function'); - assert.equal(output(), 3); + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js'], + }, + { + name: 'index.css', + assets: ['index.css'], + }, + { + type: 'woff2', + assets: ['test.woff2'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 2); + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + assert(/url\("test\.[0-9a-f]+\.woff2"\)/.test(css)); + assert(css.includes('url("http://google.com")')); + assert(css.includes('.index')); + assert(css.includes('url("data:image/gif;base64,quotes")')); + assert(css.includes('.quotes')); + assert(css.includes('url("data:image/gif;base64,no-quote")')); + assert(css.includes('.no-quote')); + + assert( + await outputFS.exists( + path.join(distDir, css.match(/url\("(test\.[0-9a-f]+\.woff2)"\)/)[1]), + ), + ); + }); - let css = await outputFS.readFile( - path.join(distDir, 'index.css'), - 'utf8', - ); - assert(css.includes('.local')); - assert(css.includes('.index')); + it('should support linking to assets with url() from CSS in production', async function () { + let b = await bundle( + path.join(__dirname, '/integration/css-url/index.js'), + { + defaultTargetOptions: { + shouldOptimize: true, + }, + }, + ); - assert.equal(css.split('\n').length, 1); - }); + assertBundles(b, [ + { + name: 'index.js', + assets: ['index.js'], + }, + { + name: 'index.css', + assets: ['index.css'], + }, + { + type: 'woff2', + assets: ['test.woff2'], + }, + ]); + + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 2); + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + assert(/url\(test\.[0-9a-f]+\.woff2\)/.test(css), 'woff ext found in css'); + assert(css.includes('url(http://google.com)'), 'url() found'); + assert(css.includes('.index'), '.index found'); + assert(/url\("?data:image\/gif;base64,quotes"?\)/.test(css)); + assert(css.includes('.quotes')); + assert(/url\("?data:image\/gif;base64,no-quote"?\)/.test(css)); + assert(css.includes('.no-quote')); + + assert( + await outputFS.exists( + path.join(distDir, css.match(/url\((test\.[0-9a-f]+\.woff2)\)/)[1]), + ), + ); + }); - it('should produce a sourcemap when sourceMaps are used', async function () { - await bundle(path.join(__dirname, '/integration/cssnano/index.js'), { - defaultTargetOptions: { - shouldOptimize: true, - }, - }); - - let css = await outputFS.readFile( - path.join(distDir, 'index.css'), - 'utf8', - ); - assert(css.includes('.local')); - assert(css.includes('.index')); - - let lines = css.trim().split('\n'); - assert.equal(lines.length, 2); - assert.equal(lines[1], '/*# sourceMappingURL=index.css.map */'); - - let map = JSON.parse( - await outputFS.readFile(path.join(distDir, 'index.css.map'), 'utf8'), - ); - assert.equal(map.file, 'index.css.map'); - assert(map.sources.includes('integration/cssnano/local.css')); - assert(map.sources.includes('integration/cssnano/index.css')); - }); - - it('should inline data-urls for text-encoded files', async () => { - await bundle(path.join(__dirname, '/integration/data-url/text.css'), { - defaultTargetOptions: { - sourceMaps: false, - }, - }); - let css = await outputFS.readFile( - path.join(distDir, 'text.css'), - 'utf8', - ); - assert.equal( - css.trim(), - `.svg-img { + it('should support linking to assets in parent folders with url() from CSS', async function () { + let b = await bundle( + [ + path.join(__dirname, '/integration/css-url-relative/src/a/style1.css'), + path.join(__dirname, '/integration/css-url-relative/src/b/style2.css'), + ], + { + defaultTargetOptions: { + shouldOptimize: true, + sourceMaps: false, + }, + }, + ); + + assertBundles(b, [ + { + type: 'css', + assets: ['style1.css'], + }, + { + type: 'css', + assets: ['style2.css'], + }, + { + type: 'png', + assets: ['foo.png'], + }, + ]); + + let cssPath = path.join(distDir, 'a', 'style1.css'); + let css = await outputFS.readFile(cssPath, 'utf8'); + + assert(css.includes('background-image'), 'includes `background-image`'); + assert(/url\([^)]*\)/.test(css), 'includes url()'); + + assert( + await outputFS.exists( + path.resolve(path.dirname(cssPath), css.match(/url\(([^)]*)\)/)[1]), + ), + 'path specified in url() exists', + ); + }); + + it('should ignore url() with IE behavior specifiers', async function () { + let b = await bundle( + path.join(__dirname, '/integration/css-url-behavior/index.css'), + ); + + assertBundles(b, [ + { + name: 'index.css', + assets: ['index.css'], + }, + ]); + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + + assert(css.includes('url(#default#VML)')); + }); + + it('should minify CSS when minify is set', async function () { + let b = await bundle( + path.join(__dirname, '/integration/cssnano/index.js'), + { + defaultTargetOptions: { + shouldOptimize: true, + sourceMaps: false, + }, + }, + ); + + let output = await run(b); + assert.equal(typeof output, 'function'); + assert.equal(output(), 3); + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + assert(css.includes('.local')); + assert(css.includes('.index')); + + assert.equal(css.split('\n').length, 1); + }); + + it('should produce a sourcemap when sourceMaps are used', async function () { + await bundle(path.join(__dirname, '/integration/cssnano/index.js'), { + defaultTargetOptions: { + shouldOptimize: true, + }, + }); + + let css = await outputFS.readFile(path.join(distDir, 'index.css'), 'utf8'); + assert(css.includes('.local')); + assert(css.includes('.index')); + + let lines = css.trim().split('\n'); + assert.equal(lines.length, 2); + assert.equal(lines[1], '/*# sourceMappingURL=index.css.map */'); + + let map = JSON.parse( + await outputFS.readFile(path.join(distDir, 'index.css.map'), 'utf8'), + ); + assert.equal(map.file, 'index.css.map'); + assert(map.sources.includes('integration/cssnano/local.css')); + assert(map.sources.includes('integration/cssnano/index.css')); + }); + + it('should inline data-urls for text-encoded files', async () => { + await bundle(path.join(__dirname, '/integration/data-url/text.css'), { + defaultTargetOptions: { + sourceMaps: false, + }, + }); + let css = await outputFS.readFile(path.join(distDir, 'text.css'), 'utf8'); + assert.equal( + css.trim(), + `.svg-img { background-image: url("data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%3E%3C%2FfeGaussianBlur%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%27%23blur-_.%21~%2a%27%29%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A"); }`, - ); - }); - - it('should inline data-urls for binary files', async () => { - await bundle(path.join(__dirname, '/integration/data-url/binary.css')); - let css = await outputFS.readFile( - path.join(distDir, 'binary.css'), - 'utf8', - ); - assert( - css.startsWith(`.webp-img { + ); + }); + + it('should inline data-urls for binary files', async () => { + await bundle(path.join(__dirname, '/integration/data-url/binary.css')); + let css = await outputFS.readFile(path.join(distDir, 'binary.css'), 'utf8'); + assert( + css.startsWith(`.webp-img { background-image: url("data:image/webp;base64,UklGR`), - ); - }); - - it('should remap locations in diagnostics using the input source map', async () => { - let fixture = path.join( - __dirname, - 'integration/diagnostic-sourcemap/index.scss', - ); - let code = await inputFS.readFileSync(fixture, 'utf8'); - // $FlowFixMe - await assert.rejects( - () => - bundle(fixture, { - defaultTargetOptions: { - shouldOptimize: true, - }, - }), + ); + }); + + it('should remap locations in diagnostics using the input source map', async () => { + let fixture = path.join( + __dirname, + 'integration/diagnostic-sourcemap/index.scss', + ); + let code = await inputFS.readFileSync(fixture, 'utf8'); + // $FlowFixMe + await assert.rejects( + () => + bundle(fixture, { + defaultTargetOptions: { + shouldOptimize: true, + }, + }), + { + name: 'BuildError', + diagnostics: [ { - name: 'BuildError', - diagnostics: [ + message: "Failed to resolve 'x.png' from './index.scss'", + origin: '@parcel/core', + codeFrames: [ { - message: "Failed to resolve 'x.png' from './index.scss'", - origin: '@parcel/core', - codeFrames: [ + filePath: fixture, + code, + codeHighlights: [ { - filePath: fixture, - code, - codeHighlights: [ - { - start: { - line: 5, - column: 3, - }, - end: { - line: 5, - column: 3, - }, - }, - ], + start: { + line: 5, + column: 3, + }, + end: { + line: 5, + column: 3, + }, }, ], }, - { - message: "Cannot load file './x.png' in './'.", - origin: '@parcel/resolver-default', - hints: [], - }, ], }, - ); - }); - - it('should support importing CSS from node_modules with the npm: scheme', async () => { - let b = await bundle( - path.join(__dirname, '/integration/css-node-modules/index.css'), - ); - - assertBundles(b, [ { - name: 'index.css', - assets: ['index.css', 'foo.css'], + message: "Cannot load file './x.png' in './'.", + origin: '@parcel/resolver-default', + hints: [], }, - ]); - }); + ], + }, + ); + }); - it('should support external CSS imports', async () => { - let b = await bundle( - path.join(__dirname, '/integration/css-external/a.css'), - ); + it('should support importing CSS from node_modules with the npm: scheme', async () => { + let b = await bundle( + path.join(__dirname, '/integration/css-node-modules/index.css'), + ); - assertBundles(b, [ - { - name: 'a.css', - assets: ['a.css', 'b.css'], - }, - ]); + assertBundles(b, [ + { + name: 'index.css', + assets: ['index.css', 'foo.css'], + }, + ]); + }); + + it('should support external CSS imports', async () => { + let b = await bundle( + path.join(__dirname, '/integration/css-external/a.css'), + ); + + assertBundles(b, [ + { + name: 'a.css', + assets: ['a.css', 'b.css'], + }, + ]); - let res = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); - assert( - new RegExp(`@import "http://example.com/external.css"; + let res = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert( + new RegExp(`@import "http://example.com/external.css"; .b { color: red; }\n? .a { color: green; }`).test(res), - ); - }); - }); - } + ); + }); it('should support css nesting with @parcel/css', async function () { - let b = await originalBundle( + let b = await bundle( path.join(__dirname, '/integration/css-nesting/a.css'), { - defaultConfig: - path.dirname(require.resolve('@parcel/test-utils')) + - '/.parcelrc-css', defaultTargetOptions: { engines: {}, }, diff --git a/packages/core/test-utils/src/.parcelrc-css b/packages/core/test-utils/src/.parcelrc-css deleted file mode 100644 index 1d8a4120038..00000000000 --- a/packages/core/test-utils/src/.parcelrc-css +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@parcel/config-default", - "transformers": { - "*.css": ["@parcel/transformer-postcss", "@parcel/transformer-css-experimental"] - }, - "optimizers": { - "*.css": ["@parcel/optimizer-css"] - }, - "reporters": [] -} diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 183963682a3..873bf247fd1 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -20,7 +20,8 @@ "parcel": "^2.3.2" }, "dependencies": { - "@parcel/css": "^1.0.3", + "@parcel/css": "^1.6.0", + "@parcel/diagnostic": "2.3.2", "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.3.2", diff --git a/packages/optimizers/css/src/CSSOptimizer.js b/packages/optimizers/css/src/CSSOptimizer.js index d6b415eb2c6..7e4507a609a 100644 --- a/packages/optimizers/css/src/CSSOptimizer.js +++ b/packages/optimizers/css/src/CSSOptimizer.js @@ -10,8 +10,54 @@ import { import {blobToBuffer} from '@parcel/utils'; import browserslist from 'browserslist'; import nullthrows from 'nullthrows'; +import path from 'path'; +import {md, generateJSONCodeHighlights} from '@parcel/diagnostic'; export default (new Optimizer({ + async loadConfig({config, logger, options}) { + const configFile = await config.getConfig( + ['.cssnanorc', 'cssnano.config.json', 'cssnano.config.js'], + { + packageKey: 'cssnano', + }, + ); + if (configFile) { + let filename = path.basename(configFile.filePath); + let codeHighlights; + let message; + if (filename === 'package.json') { + message = md` +Parcel\'s default CSS minifer changed from cssnano to @parcel/css, but a "cssnano" key was found in **package.json**. Either remove this configuration, or configure Parcel to use @parcel/optimizer-cssnano instead. + `; + let contents = await options.inputFS.readFile( + configFile.filePath, + 'utf8', + ); + codeHighlights = generateJSONCodeHighlights(contents, [ + {key: '/cssnano', type: 'key'}, + ]); + } else { + message = md`Parcel\'s default CSS minifer changed from cssnano to @parcel/css, but a __${filename}__ config file was found. Either remove this config file, or configure Parcel to use @parcel/optimizer-cssnano instead.`; + codeHighlights = [ + { + start: {line: 1, column: 1}, + end: {line: 1, column: 1}, + }, + ]; + } + + logger.warn({ + message, + documentationURL: 'https://parceljs.org/languages/css/#minification', + codeFrames: [ + { + filePath: configFile.filePath, + codeHighlights, + }, + ], + }); + } + }, async optimize({ bundle, bundleGraph, diff --git a/packages/transformers/css-experimental/package.json b/packages/transformers/css-experimental/package.json deleted file mode 100644 index 13594a55d33..00000000000 --- a/packages/transformers/css-experimental/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "@parcel/transformer-css-experimental", - "version": "2.3.2", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "repository": { - "type": "git", - "url": "https://github.com/parcel-bundler/parcel.git" - }, - "main": "lib/CSSTransformer.js", - "source": "src/CSSTransformer.js", - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.3.2" - }, - "dependencies": { - "@parcel/css": "^1.0.3", - "@parcel/plugin": "2.3.2", - "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", - "browserslist": "^4.6.6", - "nullthrows": "^1.1.1" - } -} diff --git a/packages/transformers/css-experimental/src/CSSTransformer.js b/packages/transformers/css-experimental/src/CSSTransformer.js deleted file mode 100644 index 58f1638f331..00000000000 --- a/packages/transformers/css-experimental/src/CSSTransformer.js +++ /dev/null @@ -1,232 +0,0 @@ -// @flow strict-local - -import path from 'path'; -import SourceMap from '@parcel/source-map'; -import {Transformer} from '@parcel/plugin'; -import { - transform, - transformStyleAttribute, - browserslistToTargets, -} from '@parcel/css'; -import {remapSourceLocation} from '@parcel/utils'; -import browserslist from 'browserslist'; -import nullthrows from 'nullthrows'; - -export default (new Transformer({ - async loadConfig({config, options}) { - let conf = await config.getConfigFrom(options.projectRoot + '/index', [], { - packageKey: '@parcel/transformer-css', - }); - return conf?.contents; - }, - async transform({asset, config, options}) { - let [code, originalMap] = await Promise.all([ - asset.getBuffer(), - asset.getMap(), - ]); - - let targets = getTargets(asset.env.engines.browsers); - let res; - if (asset.meta.type === 'attr') { - res = transformStyleAttribute({ - code, - analyzeDependencies: true, - targets, - }); - } else { - res = transform({ - filename: path.relative(options.projectRoot, asset.filePath), - code, - cssModules: - config?.cssModules ?? - (asset.meta.cssModulesCompiled !== true && - /\.module\./.test(asset.filePath)), - analyzeDependencies: asset.meta.hasDependencies !== false, - sourceMap: !!asset.env.sourceMap, - drafts: config?.drafts, - pseudoClasses: config?.pseudoClasses, - targets, - }); - } - - asset.setBuffer(res.code); - - if (res.map != null) { - let vlqMap = JSON.parse(res.map.toString()); - let map = new SourceMap(options.projectRoot); - map.addVLQMap(vlqMap); - - if (originalMap) { - map.extends(originalMap); - } - - asset.setMap(map); - } - - if (res.dependencies) { - for (let dep of res.dependencies) { - let loc = dep.loc; - if (originalMap) { - loc = remapSourceLocation(loc, originalMap); - } - - if (dep.type === 'import') { - asset.addDependency({ - specifier: dep.url, - specifierType: 'url', - loc, - meta: { - // For the glob resolver to distinguish between `@import` and other URL dependencies. - isCSSImport: true, - media: dep.media, - }, - symbols: new Map([['*', {local: '*', isWeak: true, loc}]]), - }); - } else if (dep.type === 'url') { - asset.addURLDependency(dep.url, { - loc, - meta: { - placeholder: dep.placeholder, - }, - }); - } - } - } - - let assets = [asset]; - - if (res.exports != null) { - let exports = res.exports; - asset.symbols.ensure(); - asset.symbols.set('default', 'default'); - - let dependencies = new Map(); - let selfReferences = new Set(); - let locals = new Map(); - let c = 0; - let depjs = ''; - let js = ''; - - let jsDeps = []; - for (let dep of asset.getDependencies()) { - if (dep.priority === 'sync') { - // TODO: Figure out how to treeshake this - let d = `dep_$${c++}`; - depjs += `import * as ${d} from ${JSON.stringify(dep.specifier)};\n`; - depjs += `for (let key in ${d}) { if (key in module.exports) module.exports[key] += ' ' + ${d}[key]; else module.exports[key] = ${d}[key]; }\n`; - } - } - - for (let key in exports) { - locals.set(exports[key].name, key); - } - - let seen = new Set(); - let add = key => { - if (seen.has(key)) { - return; - } - seen.add(key); - - let e = exports[key]; - let s = `module.exports[${JSON.stringify(key)}] = \`${e.name}`; - - if (e.isReferenced) { - selfReferences.add(e.name); - } - - for (let ref of e.composes) { - s += ' '; - if (ref.type === 'local') { - add(nullthrows(locals.get(ref.name))); - s += - '${' + - `module.exports[${JSON.stringify( - nullthrows(locals.get(ref.name)), - )}]` + - '}'; - } else if (ref.type === 'global') { - s += ref.name; - } else if (ref.type === 'dependency') { - let d = dependencies.get(ref.specifier); - if (d == null) { - d = `dep_${c++}`; - depjs += `import * as ${d} from ${JSON.stringify( - ref.specifier, - )};\n`; - dependencies.set(ref.specifier, d); - - asset.addDependency({ - specifier: ref.specifier, - specifierType: 'url', - }); - } - s += '${' + `${d}[${JSON.stringify(ref.name)}]` + '}'; - } - } - - s += '`;\n'; - js += s; - }; - - for (let key in exports) { - asset.symbols.set(key, exports[key].name); - add(key); - } - - assets.push({ - type: 'js', - content: depjs + js, - dependencies: jsDeps, - env: asset.env, - }); - - if (selfReferences.size > 0) { - asset.addDependency({ - specifier: `./${path.basename(asset.filePath)}`, - specifierType: 'url', - symbols: new Map( - [...locals] - .filter(([local]) => selfReferences.has(local)) - .map(([local, exported]) => [ - exported, - {local, isWeak: false, loc: null}, - ]), - ), - }); - } - } - - // Normalize the asset's environment so that properties that only affect JS don't cause CSS to be duplicated. - // For example, with ESModule and CommonJS targets, only a single shared CSS bundle should be produced. - asset.setEnvironment({ - context: 'browser', - engines: { - browsers: asset.env.engines.browsers, - }, - shouldOptimize: asset.env.shouldOptimize, - shouldScopeHoist: asset.env.shouldScopeHoist, - sourceMap: asset.env.sourceMap, - }); - - return assets; - }, -}): Transformer); - -let cache = new Map(); - -function getTargets(browsers) { - if (browsers == null) { - return undefined; - } - - let cached = cache.get(browsers); - if (cached != null) { - return cached; - } - - let targets = browserslistToTargets(browserslist(browsers)); - - cache.set(browsers, targets); - return targets; -} diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index f5c0e1e7e37..43ac3330841 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -20,16 +20,11 @@ "parcel": "^2.3.2" }, "dependencies": { - "@parcel/hash": "2.3.2", + "@parcel/css": "^1.6.0", "@parcel/plugin": "2.3.2", "@parcel/source-map": "^2.0.0", "@parcel/utils": "2.3.2", - "nullthrows": "^1.1.1", - "postcss": "^8.4.5", - "postcss-value-parser": "^4.2.0", - "semver": "^5.7.1" - }, - "devDependencies": { - "postcss-modules": "^4.3.0" + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" } } diff --git a/packages/transformers/css/src/CSSTransformer.js b/packages/transformers/css/src/CSSTransformer.js index 8aff146b660..58f1638f331 100644 --- a/packages/transformers/css/src/CSSTransformer.js +++ b/packages/transformers/css/src/CSSTransformer.js @@ -1,376 +1,232 @@ -// @flow +// @flow strict-local -import type {Root} from 'postcss'; -import type {FilePath, MutableAsset, PluginOptions} from '@parcel/types'; - -import {hashString} from '@parcel/hash'; +import path from 'path'; import SourceMap from '@parcel/source-map'; import {Transformer} from '@parcel/plugin'; -import {createDependencyLocation, remapSourceLocation} from '@parcel/utils'; -import postcss from 'postcss'; +import { + transform, + transformStyleAttribute, + browserslistToTargets, +} from '@parcel/css'; +import {remapSourceLocation} from '@parcel/utils'; +import browserslist from 'browserslist'; import nullthrows from 'nullthrows'; -import valueParser from 'postcss-value-parser'; -import semver from 'semver'; -import path from 'path'; - -const URL_RE = /url\s*\(/; -const IMPORT_RE = /@import/; -const COMPOSES_RE = /composes:.+from\s*("|').*("|')\s*;?/; -const FROM_IMPORT_RE = /.+from\s*(?:"|')(.*)(?:"|')\s*;?/; -const MODULE_BY_NAME_RE = /\.module\./; - -function canHaveDependencies(filePath: FilePath, code: string) { - return !/\.css$/.test(filePath) || IMPORT_RE.test(code) || URL_RE.test(code); -} export default (new Transformer({ - canReuseAST({ast}) { - return ast.type === 'postcss' && semver.satisfies(ast.version, '^8.2.1'); + async loadConfig({config, options}) { + let conf = await config.getConfigFrom(options.projectRoot + '/index', [], { + packageKey: '@parcel/transformer-css', + }); + return conf?.contents; }, - - async parse({asset}) { - // This is set by other transformers (e.g. Stylus) to indicate that it has already processed - // all dependencies, and that the CSS transformer can skip this asset completely. This is - // required because when stylus processes e.g. url() it replaces them with a dependency id - // to be filled in later. When the CSS transformer runs, it would pick that up and try to - // resolve a dependency for the id which obviously doesn't exist. Also, it's faster to do - // it this way since the resulting CSS doesn't need to be re-parsed. - let isCSSModule = - asset.meta.cssModulesCompiled !== true && - MODULE_BY_NAME_RE.test(asset.filePath); - if (asset.meta.hasDependencies === false && !isCSSModule) { - return null; + async transform({asset, config, options}) { + let [code, originalMap] = await Promise.all([ + asset.getBuffer(), + asset.getMap(), + ]); + + let targets = getTargets(asset.env.engines.browsers); + let res; + if (asset.meta.type === 'attr') { + res = transformStyleAttribute({ + code, + analyzeDependencies: true, + targets, + }); + } else { + res = transform({ + filename: path.relative(options.projectRoot, asset.filePath), + code, + cssModules: + config?.cssModules ?? + (asset.meta.cssModulesCompiled !== true && + /\.module\./.test(asset.filePath)), + analyzeDependencies: asset.meta.hasDependencies !== false, + sourceMap: !!asset.env.sourceMap, + drafts: config?.drafts, + pseudoClasses: config?.pseudoClasses, + targets, + }); } - let code = await asset.getCode(); - if ( - code != null && - !canHaveDependencies(asset.filePath, code) && - !isCSSModule - ) { - return null; - } + asset.setBuffer(res.code); - return { - type: 'postcss', - version: '8.2.1', - program: postcss - .parse(code, { - from: asset.filePath, - }) - .toJSON(), - }; - }, + if (res.map != null) { + let vlqMap = JSON.parse(res.map.toString()); + let map = new SourceMap(options.projectRoot); + map.addVLQMap(vlqMap); - async transform({asset, resolve, options}) { - // Normalize the asset's environment so that properties that only affect JS don't cause CSS to be duplicated. - // For example, with ESModule and CommonJS targets, only a single shared CSS bundle should be produced. - let env = asset.env; - asset.setEnvironment({ - context: 'browser', - engines: { - browsers: asset.env.engines.browsers, - }, - shouldOptimize: asset.env.shouldOptimize, - sourceMap: asset.env.sourceMap, - }); - - let isCSSModule = - asset.meta.cssModulesCompiled !== true && - MODULE_BY_NAME_RE.test(asset.filePath); + if (originalMap) { + map.extends(originalMap); + } - // Check for `hasDependencies` being false here as well, as it's possible - // another transformer (such as PostCSSTransformer) has already parsed an - // ast and CSSTransformer's parse was never called. - let ast = await asset.getAST(); - if (!ast || (asset.meta.hasDependencies === false && !isCSSModule)) { - return [asset]; + asset.setMap(map); } - let program: Root = postcss.fromJSON(ast.program); - let assets = [asset]; - if (isCSSModule) { - assets = await compileCSSModules(asset, env, program, resolve, options); - } + if (res.dependencies) { + for (let dep of res.dependencies) { + let loc = dep.loc; + if (originalMap) { + loc = remapSourceLocation(loc, originalMap); + } - if (asset.meta.hasDependencies === false) { - return assets; + if (dep.type === 'import') { + asset.addDependency({ + specifier: dep.url, + specifierType: 'url', + loc, + meta: { + // For the glob resolver to distinguish between `@import` and other URL dependencies. + isCSSImport: true, + media: dep.media, + }, + symbols: new Map([['*', {local: '*', isWeak: true, loc}]]), + }); + } else if (dep.type === 'url') { + asset.addURLDependency(dep.url, { + loc, + meta: { + placeholder: dep.placeholder, + }, + }); + } + } } - let originalSourceMap = await asset.getMap(); - let createLoc = (start, specifier, lineOffset, colOffset, o) => { - let loc = createDependencyLocation( - start, - specifier, - lineOffset, - colOffset, - o, - ); - if (originalSourceMap) { - loc = remapSourceLocation(loc, originalSourceMap); - } - return loc; - }; + let assets = [asset]; - let isDirty = false; - program.walkAtRules('import', rule => { - let params = valueParser(rule.params); - let [name, ...media] = params.nodes; - let specifier; - if ( - name.type === 'function' && - name.value === 'url' && - name.nodes.length - ) { - name = name.nodes[0]; + if (res.exports != null) { + let exports = res.exports; + asset.symbols.ensure(); + asset.symbols.set('default', 'default'); + + let dependencies = new Map(); + let selfReferences = new Set(); + let locals = new Map(); + let c = 0; + let depjs = ''; + let js = ''; + + let jsDeps = []; + for (let dep of asset.getDependencies()) { + if (dep.priority === 'sync') { + // TODO: Figure out how to treeshake this + let d = `dep_$${c++}`; + depjs += `import * as ${d} from ${JSON.stringify(dep.specifier)};\n`; + depjs += `for (let key in ${d}) { if (key in module.exports) module.exports[key] += ' ' + ${d}[key]; else module.exports[key] = ${d}[key]; }\n`; + } } - specifier = name.value; - - if (!specifier) { - throw new Error('Could not find import name for ' + String(rule)); + for (let key in exports) { + locals.set(exports[key].name, key); } - // If this came from an inline diff --git a/packages/core/integration-tests/test/integration/css-modules-style/package.json b/packages/core/integration-tests/test/integration/css-modules-style/package.json new file mode 100644 index 00000000000..b75c1c25148 --- /dev/null +++ b/packages/core/integration-tests/test/integration/css-modules-style/package.json @@ -0,0 +1,6 @@ +{ + "private": true, + "@parcel/transformer-css": { + "cssModules": true + } +} diff --git a/packages/core/integration-tests/test/integration/css-modules-style/yarn.lock b/packages/core/integration-tests/test/integration/css-modules-style/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/transformers/css/src/CSSTransformer.js b/packages/transformers/css/src/CSSTransformer.js index a8c06ea578b..1917bf2b298 100644 --- a/packages/transformers/css/src/CSSTransformer.js +++ b/packages/transformers/css/src/CSSTransformer.js @@ -53,9 +53,10 @@ export default (new Transformer({ filename: path.relative(options.projectRoot, asset.filePath), code, cssModules: - config?.cssModules ?? - (asset.meta.cssModulesCompiled == null && - /\.module\./.test(asset.filePath)), + asset.meta.type !== 'tag' && + (config?.cssModules ?? + (asset.meta.cssModulesCompiled == null && + /\.module\./.test(asset.filePath))), analyzeDependencies: asset.meta.hasDependencies !== false, sourceMap: !!asset.env.sourceMap, drafts: config?.drafts, From fdeb5081b0b2c73690a6989a4c0431620821bc64 Mon Sep 17 00:00:00 2001 From: Shinobu Hayashi Date: Mon, 11 Apr 2022 21:17:17 +0900 Subject: [PATCH 0245/1076] Fix: join srcset in source with ", " (#7918) --- packages/core/integration-tests/test/html.js | 6 ++++++ packages/transformers/html/src/dependencies.js | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index fd42fc4006d..a215957a03c 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -834,6 +834,12 @@ describe('html', function () { assets: ['300x300.png'], }, ]); + + const html = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + + const source = html.match(/ Date: Mon, 11 Apr 2022 15:48:25 +0200 Subject: [PATCH 0246/1076] Bump swc (#7931) --- Cargo.lock | 116 +++++++++--------- packages/transformers/js/core/Cargo.toml | 4 +- .../js/core/src/dependency_collector.rs | 18 +-- packages/transformers/js/core/src/fs.rs | 38 ++---- .../js/core/src/global_replacer.rs | 17 +-- packages/transformers/js/core/src/hoist.rs | 18 +-- packages/transformers/js/core/src/modules.rs | 6 +- packages/transformers/js/core/src/utils.rs | 6 +- 8 files changed, 79 insertions(+), 144 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f34e7021bf5..3e52215c400 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -716,9 +716,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.49" +version = "0.3.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc15e39392125075f60c95ba416f5381ff6c3a948ff02ab12464715adf56c821" +checksum = "671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397" dependencies = [ "wasm-bindgen", ] @@ -804,9 +804,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.121" +version = "0.2.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f" +checksum = "ec647867e2bf0772e28c8bcde4f0d19a9216916e890543b5a03ed8ef27b8f259" [[package]] name = "libdeflate-sys" @@ -1345,9 +1345,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" dependencies = [ "unicode-xid", ] @@ -1746,9 +1746,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.17.19" +version = "0.17.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00edee63ed3957d0842ac91f04010b04a5c240c752924fa53e6ebe72888b523a" +checksum = "daac2e6fea713c68d37b29ea5fd6342213ca2915a868f38a3fd4aa6750a9b9f8" dependencies = [ "ahash", "ast_node", @@ -1775,9 +1775,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.74.0" +version = "0.75.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7136acc7570e40253bbc91b55d7bc7e7eac6fda323994e972e8fcc74ae180b02" +checksum = "72961898fbe56591997e667a1ec6a268383582810351c279a15ec710b6177d33" dependencies = [ "is-macro", "num-bigint", @@ -1790,9 +1790,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.102.0" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5ae900c3be1f9ed683585b766cb47981ecf1c7ecdd040eb10e15ced4b9160e7" +checksum = "99ca430d8ea2c8791d1341c4035431c90b87330e39479b4a6dabb4fded124e30" dependencies = [ "bitflags", "memchr", @@ -1840,9 +1840,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.99.0" +version = "0.100.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22675d02854553f2ebd5289aeefd73dc6374fe2ab0a36d08560b571949eb2d4" +checksum = "890d967031e3e7330cd7892f27d826b7b4f37c7caa19db85c78a0862e1fe3974" dependencies = [ "either", "enum_kind", @@ -1860,9 +1860,9 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.116.1" +version = "0.117.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d1cc2c05edab411661c09093b20499324c1e2798b3a816579e1c4ddc8cab796" +checksum = "77a37c95c8e7e47a1fd6bf09ff2744fe55570235e8aba2c9373200213ec2ce25" dependencies = [ "ahash", "anyhow", @@ -1885,9 +1885,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.141.0" +version = "0.142.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "359c9c4f418842e61f366bdf3dd9b10fb5a13c471e950f154a39e0e1e48c2428" +checksum = "f20e5e2d8ab843fa0454e049f73f6d99c444a8c0e2320f77028361ab75e2d18e" dependencies = [ "swc_atoms", "swc_common", @@ -1905,9 +1905,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.74.0" +version = "0.75.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee03e47c0e67bcb054772e0d9e0c53162cd136382aa4e8acb19397dc7b20a2c" +checksum = "404c6ea7ca61ceb2ce1f4ed448d1436a38c31b8c572850f04541c0229c966bbf" dependencies = [ "better_scoped_tls", "once_cell", @@ -1925,9 +1925,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.62.0" +version = "0.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a9f6155ce9ee0e49f24096dfc09f8785fc27ae56855596edb8b90e21e688b5" +checksum = "503f2f6bd0f9e6363a93406753bf64675163423774256a267c85a5d9b5b44b08" dependencies = [ "swc_atoms", "swc_common", @@ -1939,9 +1939,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.88.0" +version = "0.89.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "559f132f286efa7e5dd911676b41f7689278e06eb00a23ff4603d51bb2f1fa47" +checksum = "1d234c84cee8aeeda2ec60087f65acd420e2475bb334a64bbf988b538c21b31d" dependencies = [ "ahash", "arrayvec", @@ -1978,9 +1978,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.101.0" +version = "0.102.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01da317c4666470fdd9f195a11a8fb90ef8442d16fa06b4542fd399a751593cf" +checksum = "6c340a0228a9a49240d97a4a4e99a0a61e6613b29b427cc09a60f6ad4dcbf728" dependencies = [ "Inflector", "ahash", @@ -2002,9 +2002,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.111.0" +version = "0.112.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e073b79641f526fb81348cc78672a156df8046a1111a107ae1c6f311d56828f" +checksum = "af43d7d92e0bb8ba60d64ce8a7edcab7738f7e858b8e42814fca5c133ba17c19" dependencies = [ "ahash", "dashmap 5.2.0", @@ -2024,9 +2024,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.96.0" +version = "0.97.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f774f86e13c0ab7932087309eda60fc318710afa10c1148e5c286c4666a8097" +checksum = "93d08411e517736b0167f3c9784fe9b98cc09308ae12e6072abd2bb2c2236da2" dependencies = [ "either", "serde", @@ -2043,9 +2043,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.103.0" +version = "0.104.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75d2bfd9111a6dd56a3a1ba3645b94d7edbbbe72a9c51751a1e684b63760bd62" +checksum = "43cda44270dfcc95d61582981baddaf53d96c5233ea7384e81cd6e462816c58e" dependencies = [ "ahash", "base64 0.13.0", @@ -2068,9 +2068,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.106.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3de090e285f3bb6c7930503a587d7df5b61ccfed5bc8984532b73d7edb1081" +checksum = "a09397169ed7ce0751a82cb71655f3a4a1fb00d8863aabd5cca9b46eff3dd5f2" dependencies = [ "serde", "swc_atoms", @@ -2084,9 +2084,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.78.0" +version = "0.79.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5a45ecbffa3812a92f2c75026cb01ae7411e88f5c33589ebeb4780022c43f6" +checksum = "44ee8d60b9977f58214af7102dc30855a6754e742afe6d6e26e5bf13883c7b91" dependencies = [ "indexmap", "once_cell", @@ -2099,9 +2099,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.60.0" +version = "0.61.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465295d6ed9fe4722a38a96d67e470b9be0417fa6ddf96d1cbaaec9c1be83eae" +checksum = "b5ea00a52ba2b971955c62275696d5c59f3cf0cd06db74a66dec378ec9843c78" dependencies = [ "num-bigint", "swc_atoms", @@ -2113,9 +2113,9 @@ dependencies = [ [[package]] name = "swc_ecmascript" -version = "0.142.0" +version = "0.143.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e81b45ed484fa78195aae0986411f17251ed8987252f70d4a2d12e5eb3ff862d" +checksum = "ebda93aa6422956c184a9eb5fdb0f0f0ff433169fa15e55ef445e5ad0b5e0abe" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -2140,9 +2140,9 @@ dependencies = [ [[package]] name = "swc_macros_common" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08ed2e930f5a1a4071fe62c90fd3a296f6030e5d94bfe13993244423caf59a78" +checksum = "033f8b6e2fc4991a8e422a20b4f52741affcac2267c29357c931508a1a500797" dependencies = [ "pmutil", "proc-macro2", @@ -2187,9 +2187,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.65" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1d708c221c5a612956ef9f75b37e454e88d1f7b899fbd3a18d4252012d663" +checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" dependencies = [ "proc-macro2", "quote", @@ -2270,9 +2270,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tracing" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f" +checksum = "80b9fa4360528139bc96100c160b7ae879f5567f49f1782b0b02035b0358ebf3" dependencies = [ "cfg-if 1.0.0", "pin-project-lite", @@ -2326,9 +2326,9 @@ checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" [[package]] name = "unicode-id" -version = "0.3.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4285d92be83dfbc8950a2601178b89ed36f979ebf51bfcf7b272b17001184e6c" +checksum = "69fe8d9274f490a36442acb4edfd0c4e473fdfc6a8b5cd32f28a0235761aedbe" [[package]] name = "unicode-normalization" @@ -2404,9 +2404,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-bindgen" -version = "0.2.72" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fe8f61dba8e5d645a4d8132dc7a0a66861ed5e1045d2c0ed940fab33bac0fbe" +checksum = "27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad" dependencies = [ "cfg-if 1.0.0", "serde", @@ -2416,9 +2416,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.72" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046ceba58ff062da072c7cb4ba5b22a37f00a302483f7e2a6cdc18fedbdc1fd3" +checksum = "53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4" dependencies = [ "bumpalo", "lazy_static", @@ -2431,9 +2431,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.72" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9aa01d36cda046f797c57959ff5f3c615c9cc63997a8d545831ec7976819b" +checksum = "17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2441,9 +2441,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.72" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96eb45c1b2ee33545a813a92dbb53856418bf7eb54ab34f7f7ff1448a5b3735d" +checksum = "99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b" dependencies = [ "proc-macro2", "quote", @@ -2454,9 +2454,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.72" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7148f4696fb4960a346eaa60bbfb42a1ac4ebba21f750f75fc1375b098d5ffa" +checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744" [[package]] name = "wild" diff --git a/packages/transformers/js/core/Cargo.toml b/packages/transformers/js/core/Cargo.toml index 5232256fd78..8e76f2ea6b0 100644 --- a/packages/transformers/js/core/Cargo.toml +++ b/packages/transformers/js/core/Cargo.toml @@ -8,8 +8,8 @@ edition = "2018" crate-type = ["rlib"] [dependencies] -swc_ecmascript = { version = "0.142.0", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils", "preset_env"] } -swc_common = { version = "0.17.19", features = ["tty-emitter", "sourcemap"] } +swc_ecmascript = { version = "0.143.0", features = ["parser", "transforms", "module", "optimization", "react", "typescript", "utils", "visit", "codegen", "utils", "preset_env"] } +swc_common = { version = "0.17.21", features = ["tty-emitter", "sourcemap"] } swc_atoms = "0.2.11" indoc = "1.0.3" serde = "1.0.123" diff --git a/packages/transformers/js/core/src/dependency_collector.rs b/packages/transformers/js/core/src/dependency_collector.rs index 8f2ae1e3990..f28bcf923c3 100644 --- a/packages/transformers/js/core/src/dependency_collector.rs +++ b/packages/transformers/js/core/src/dependency_collector.rs @@ -169,11 +169,7 @@ impl<'a> DependencyCollector<'a> { }); create_url_constructor( - ast::Expr::Lit(ast::Lit::Str(ast::Str { - span, - value: placeholder.into(), - raw: None, - })), + ast::Expr::Lit(ast::Lit::Str(placeholder.into())), self.config.is_esm_output, ) } @@ -1023,11 +1019,7 @@ fn create_url_constructor(url: ast::Expr, use_import_meta: bool) -> ast::Expr { // CJS output: "file:" + __filename Expr::Bin(BinExpr { span: DUMMY_SP, - left: Box::new(Expr::Lit(Lit::Str(Str { - value: "file:".into(), - span: DUMMY_SP, - raw: None, - }))), + left: Box::new(Expr::Lit(Lit::Str("file:".into()))), op: BinaryOp::Add, right: Box::new(Expr::Ident(Ident::new("__filename".into(), DUMMY_SP))), }) @@ -1227,11 +1219,7 @@ impl<'a> DependencyCollector<'a> { String::from("unknown.js") }; - Expr::Lit(Lit::Str(Str { - value: format!("file:///{}", filename).into(), - span: DUMMY_SP, - raw: None, - })) + Expr::Lit(Lit::Str(format!("file:///{}", filename).into())) } fn get_import_meta(&mut self) -> ast::Expr { diff --git a/packages/transformers/js/core/src/fs.rs b/packages/transformers/js/core/src/fs.rs index ce489a1a1e0..1c8816ba91d 100644 --- a/packages/transformers/js/core/src/fs.rs +++ b/packages/transformers/js/core/src/fs.rs @@ -166,11 +166,7 @@ impl<'a> InlineFS<'a> { _ => return None, }; - let contents = Expr::Lit(Lit::Str(Str { - value: contents.into(), - span: DUMMY_SP, - raw: None, - })); + let contents = Expr::Lit(Lit::Str(contents.into())); // Add a file dependency so the cache is invalidated when this file changes. self.deps.push(DependencyDescriptor { @@ -201,11 +197,7 @@ impl<'a> InlineFS<'a> { spread: None, }, ExprOrSpread { - expr: Box::new(Expr::Lit(Lit::Str(Str { - value: "base64".into(), - span: DUMMY_SP, - raw: None, - }))), + expr: Box::new(Expr::Lit(Lit::Str("base64".into()))), spread: None, }, ], @@ -231,8 +223,8 @@ impl<'a> Fold for Evaluator<'a> { match &node { Expr::Ident(ident) => match ident.sym.to_string().as_str() { - "__dirname" => Expr::Lit(Lit::Str(Str { - value: self + "__dirname" => Expr::Lit(Lit::Str( + self .inline .filename .parent() @@ -240,14 +232,8 @@ impl<'a> Fold for Evaluator<'a> { .to_str() .unwrap() .into(), - span: DUMMY_SP, - raw: None, - })), - "__filename" => Expr::Lit(Lit::Str(Str { - value: self.inline.filename.to_str().unwrap().into(), - span: DUMMY_SP, - raw: None, - })), + )), + "__filename" => Expr::Lit(Lit::Str(self.inline.filename.to_str().unwrap().into())), _ => node, }, Expr::Bin(bin) => match bin.op { @@ -262,11 +248,7 @@ impl<'a> Fold for Evaluator<'a> { _ => return node, }; - Expr::Lit(Lit::Str(Str { - value: format!("{}{}", left, right).into(), - span: DUMMY_SP, - raw: None, - })) + Expr::Lit(Lit::Str(format!("{}{}", left, right).into())) } _ => node, }, @@ -300,11 +282,7 @@ impl<'a> Fold for Evaluator<'a> { } } - return Expr::Lit(Lit::Str(Str { - value: path.to_str().unwrap().into(), - span: DUMMY_SP, - raw: None, - })); + return Expr::Lit(Lit::Str(path.to_str().unwrap().into())); } _ => return node, } diff --git a/packages/transformers/js/core/src/global_replacer.rs b/packages/transformers/js/core/src/global_replacer.rs index cc4e728f28c..92a072193aa 100644 --- a/packages/transformers/js/core/src/global_replacer.rs +++ b/packages/transformers/js/core/src/global_replacer.rs @@ -122,11 +122,7 @@ impl<'a> Fold for GlobalReplacer<'a> { create_decl_stmt( id.sym.clone(), self.global_mark, - ast::Expr::Lit(ast::Lit::Str(ast::Str { - span: DUMMY_SP, - value: swc_atoms::JsWord::from(filename), - raw: None, - })), + ast::Expr::Lit(ast::Lit::Str(swc_atoms::JsWord::from(filename).into())), ), ); @@ -148,11 +144,7 @@ impl<'a> Fold for GlobalReplacer<'a> { create_decl_stmt( id.sym.clone(), self.global_mark, - ast::Expr::Lit(ast::Lit::Str(ast::Str { - span: DUMMY_SP, - value: swc_atoms::JsWord::from(dirname), - raw: None, - })), + ast::Expr::Lit(ast::Lit::Str(swc_atoms::JsWord::from(dirname).into())), ), ); @@ -169,10 +161,7 @@ impl<'a> Fold for GlobalReplacer<'a> { obj: Box::new(Ident(Ident::new(js_word!("arguments"), DUMMY_SP))), prop: MemberProp::Computed(ComputedPropName { span: DUMMY_SP, - expr: Box::new(Lit(ast::Lit::Num(ast::Number { - value: 3.0, - span: DUMMY_SP, - }))), + expr: Box::new(Lit(ast::Lit::Num(3.into()))), }), span: DUMMY_SP, }), diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index 480a3a0140e..59f7f10101c 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -142,11 +142,7 @@ impl<'a> Fold for Hoist<'a> { specifiers: vec![], asserts: None, span: DUMMY_SP, - src: Str { - value: format!("{}:{}", self.module_id, import.src.value).into(), - span: DUMMY_SP, - raw: None, - }, + src: format!("{}:{}", self.module_id, import.src.value).into(), type_only: false, }))); @@ -281,11 +277,7 @@ impl<'a> Fold for Hoist<'a> { specifiers: vec![], asserts: None, span: DUMMY_SP, - src: Str { - value: format!("{}:{}", self.module_id, export.src.value).into(), - span: DUMMY_SP, - raw: None, - }, + src: format!("{}:{}", self.module_id, export.src.value).into(), type_only: false, }))); self.re_exports.push(ImportedSymbol { @@ -943,11 +935,7 @@ impl<'a> Hoist<'a> { specifiers: vec![], asserts: None, span: DUMMY_SP, - src: Str { - value: format!("{}:{}", self.module_id, source).into(), - span: DUMMY_SP, - raw: None, - }, + src: format!("{}:{}", self.module_id, source).into(), type_only: false, }))); } diff --git a/packages/transformers/js/core/src/modules.rs b/packages/transformers/js/core/src/modules.rs index 792583298e6..ff8fd8df7e2 100644 --- a/packages/transformers/js/core/src/modules.rs +++ b/packages/transformers/js/core/src/modules.rs @@ -162,11 +162,7 @@ impl ESMFold { js_word!("export"), vec![ Expr::Ident(Ident::new("exports".into(), DUMMY_SP)), - Expr::Lit(Lit::Str(Str { - value: exported, - span: DUMMY_SP, - raw: None, - })), + Expr::Lit(Lit::Str(exported.into())), if matches!(self.versions, Some(versions) if Feature::ArrowFunctions.should_enable(versions, true, false)) { Expr::Fn(FnExpr { ident: None, diff --git a/packages/transformers/js/core/src/utils.rs b/packages/transformers/js/core/src/utils.rs index 18ad5f117b1..6dec6e238c2 100644 --- a/packages/transformers/js/core/src/utils.rs +++ b/packages/transformers/js/core/src/utils.rs @@ -59,11 +59,7 @@ pub fn create_require(specifier: swc_atoms::JsWord) -> ast::CallExpr { DUMMY_SP, )))), args: vec![ast::ExprOrSpread { - expr: Box::new(ast::Expr::Lit(ast::Lit::Str(ast::Str { - span: DUMMY_SP, - value: normalized_specifier, - raw: None, - }))), + expr: Box::new(ast::Expr::Lit(ast::Lit::Str(normalized_specifier.into()))), spread: None, }], span: DUMMY_SP, From be0929a0425cb24357755fa90de2b6c7ecd5f15f Mon Sep 17 00:00:00 2001 From: Lennart Date: Mon, 11 Apr 2022 16:32:59 +0200 Subject: [PATCH 0247/1076] feat(@parcel/transformer-js): Rewrite `__dirname`/`__filename` to be relative to `asset.filePath` (#7727) Co-authored-by: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> --- packages/core/integration-tests/test/fs.js | 5 +- .../data}/test.txt | 0 .../env-node-replacements/index.js | 24 ++ .../env-node-replacements/other/function.js | 6 + .../env-node-replacements/package.json | 6 + .../env-node-replacements/sub/index.js | 6 + .../env-node-replacements/yarn.lock | 0 .../core/integration-tests/test/javascript.js | 135 +++++++++++ packages/packagers/js/src/DevPackager.js | 21 +- .../packagers/js/src/ScopeHoistingPackager.js | 16 +- packages/transformers/js/core/src/lib.rs | 26 +++ .../transformers/js/core/src/node_replacer.rs | 218 ++++++++++++++++++ packages/transformers/js/src/JSTransformer.js | 6 + 13 files changed, 466 insertions(+), 3 deletions(-) rename packages/core/integration-tests/test/integration/{fs-node => env-node-replacements/data}/test.txt (100%) create mode 100644 packages/core/integration-tests/test/integration/env-node-replacements/index.js create mode 100644 packages/core/integration-tests/test/integration/env-node-replacements/other/function.js create mode 100644 packages/core/integration-tests/test/integration/env-node-replacements/package.json create mode 100644 packages/core/integration-tests/test/integration/env-node-replacements/sub/index.js create mode 100644 packages/core/integration-tests/test/integration/env-node-replacements/yarn.lock create mode 100644 packages/transformers/js/core/src/node_replacer.rs diff --git a/packages/core/integration-tests/test/fs.js b/packages/core/integration-tests/test/fs.js index 60db4896aff..d25c3dd44bb 100644 --- a/packages/core/integration-tests/test/fs.js +++ b/packages/core/integration-tests/test/fs.js @@ -201,7 +201,10 @@ describe('fs', function () { assert(contents.includes("require('fs')")); assert(contents.includes('readFileSync')); - await outputFS.writeFile(path.join(distDir, 'test.txt'), 'hey'); + await outputFS.writeFile( + path.join(__dirname, '/integration/fs-node/', 'test.txt'), + 'hey', + ); let output = await run(b); assert.equal(output, 'hey'); }); diff --git a/packages/core/integration-tests/test/integration/fs-node/test.txt b/packages/core/integration-tests/test/integration/env-node-replacements/data/test.txt similarity index 100% rename from packages/core/integration-tests/test/integration/fs-node/test.txt rename to packages/core/integration-tests/test/integration/env-node-replacements/data/test.txt diff --git a/packages/core/integration-tests/test/integration/env-node-replacements/index.js b/packages/core/integration-tests/test/integration/env-node-replacements/index.js new file mode 100644 index 00000000000..6f2fe9a880c --- /dev/null +++ b/packages/core/integration-tests/test/integration/env-node-replacements/index.js @@ -0,0 +1,24 @@ +const fs = require('fs'); +const path = require('path'); +const otherFunction = require('./other/function') +const subFunction = require('./sub/index') + +module.exports = function () { + const data = fs.readFileSync(path.join(__dirname, 'data', 'test.txt'), 'utf8') + const firstDirnameTest = path.join(__dirname, 'data') + const secondDirnameTest = path.join(__dirname, 'other-data') + const firstFilenameTest = __filename + const secondFilenameTest = `${__filename}?query-string=test` + const other = otherFunction() + const sub = subFunction() + + return { + data, + firstDirnameTest, + secondDirnameTest, + firstFilenameTest, + secondFilenameTest, + other, + sub, + } +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/env-node-replacements/other/function.js b/packages/core/integration-tests/test/integration/env-node-replacements/other/function.js new file mode 100644 index 00000000000..6476512dcf2 --- /dev/null +++ b/packages/core/integration-tests/test/integration/env-node-replacements/other/function.js @@ -0,0 +1,6 @@ +const fs = require('fs'); +const path = require('path'); + +module.exports = function () { + return fs.readFileSync(path.join(__dirname, '..', 'data', 'test.txt'), 'utf8') +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/env-node-replacements/package.json b/packages/core/integration-tests/test/integration/env-node-replacements/package.json new file mode 100644 index 00000000000..702c30d4c57 --- /dev/null +++ b/packages/core/integration-tests/test/integration/env-node-replacements/package.json @@ -0,0 +1,6 @@ +{ + "name": "env-node-replacements", + "engines": { + "node": ">=14" + } +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/env-node-replacements/sub/index.js b/packages/core/integration-tests/test/integration/env-node-replacements/sub/index.js new file mode 100644 index 00000000000..0750cd3e074 --- /dev/null +++ b/packages/core/integration-tests/test/integration/env-node-replacements/sub/index.js @@ -0,0 +1,6 @@ +module.exports = function () { + return { + dirname: __dirname, + filename: __filename + } +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/env-node-replacements/yarn.lock b/packages/core/integration-tests/test/integration/env-node-replacements/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index 39867be8942..5d0624d77ac 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -2678,6 +2678,141 @@ describe('javascript', function () { }); }); + it('should replace __dirname and __filename with path relative to asset.filePath', async function () { + let b = await bundle( + path.join(__dirname, '/integration/env-node-replacements/index.js'), + ); + + let dist = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert( + dist.includes( + 'require("path").resolve(__dirname, "../test/integration/env-node-replacements")', + ), + ); + assert( + dist.includes( + 'require("path").resolve(__dirname, "../test/integration/env-node-replacements/other")', + ), + ); + assert( + dist.includes( + 'require("path").resolve(__dirname, "../test/integration/env-node-replacements", "index.js")', + ), + ); + assert( + dist.includes( + 'require("path").resolve(__dirname, "../test/integration/env-node-replacements/sub")', + ), + ); + assert( + dist.includes( + 'require("path").resolve(__dirname, "../test/integration/env-node-replacements/sub", "index.js")', + ), + ); + let f = await run(b); + let output = f(); + assert.equal(output.data, 'hello'); + assert.equal(output.other, 'hello'); + assert.equal( + output.firstDirnameTest, + path.join(__dirname, '/integration/env-node-replacements/data'), + ); + assert.equal( + output.secondDirnameTest, + path.join(__dirname, '/integration/env-node-replacements/other-data'), + ); + assert.equal( + output.firstFilenameTest, + path.join(__dirname, '/integration/env-node-replacements/index.js'), + ); + assert.equal( + output.secondFilenameTest, + path.join( + __dirname, + '/integration/env-node-replacements/index.js?query-string=test', + ), + ); + assert.equal( + output.sub.dirname, + path.join(__dirname, '/integration/env-node-replacements/sub'), + ); + assert.equal( + output.sub.filename, + path.join(__dirname, '/integration/env-node-replacements/sub/index.js'), + ); + }); + + it('should replace __dirname and __filename with path relative to asset.filePath with scope hoisting', async function () { + let b = await bundle( + path.join(__dirname, '/integration/env-node-replacements/index.js'), + { + mode: 'production', + defaultTargetOptions: { + shouldScopeHoist: true, + shouldOptimize: false, + }, + }, + ); + + let dist = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert( + dist.includes( + 'path.resolve(__dirname, "../test/integration/env-node-replacements")', + ), + ); + assert( + dist.includes( + 'path.resolve(__dirname, "../test/integration/env-node-replacements/other")', + ), + ); + assert( + dist.includes( + 'path.resolve(__dirname, "../test/integration/env-node-replacements", "index.js")', + ), + ); + assert( + dist.includes( + 'path.resolve(__dirname, "../test/integration/env-node-replacements/sub")', + ), + ); + assert( + dist.includes( + 'path.resolve(__dirname, "../test/integration/env-node-replacements/sub", "index.js")', + ), + ); + let f = await run(b); + let output = f(); + assert.equal(output.data, 'hello'); + assert.equal(output.other, 'hello'); + assert.equal( + output.firstDirnameTest, + path.join(__dirname, '/integration/env-node-replacements/data'), + ); + assert.equal( + output.secondDirnameTest, + path.join(__dirname, '/integration/env-node-replacements/other-data'), + ); + assert.equal( + output.firstFilenameTest, + path.join(__dirname, '/integration/env-node-replacements/index.js'), + ); + assert.equal( + output.secondFilenameTest, + path.join( + __dirname, + '/integration/env-node-replacements/index.js?query-string=test', + ), + ); + assert.equal( + output.sub.dirname, + path.join(__dirname, '/integration/env-node-replacements/sub'), + ); + assert.equal( + output.sub.filename, + path.join(__dirname, '/integration/env-node-replacements/sub/index.js'), + ); + }); + it('should work when multiple files use globals with scope hoisting', async function () { let b = await bundle( path.join(__dirname, '/integration/globals/multiple.js'), diff --git a/packages/packagers/js/src/DevPackager.js b/packages/packagers/js/src/DevPackager.js index 1d5857220ba..2ac24081b03 100644 --- a/packages/packagers/js/src/DevPackager.js +++ b/packages/packagers/js/src/DevPackager.js @@ -1,7 +1,12 @@ // @flow strict-local import type {BundleGraph, PluginOptions, NamedBundle} from '@parcel/types'; -import {PromiseQueue, relativeBundlePath, countLines} from '@parcel/utils'; +import { + PromiseQueue, + relativeBundlePath, + countLines, + normalizeSeparators, +} from '@parcel/utils'; import SourceMap from '@parcel/source-map'; import invariant from 'assert'; import path from 'path'; @@ -116,6 +121,20 @@ export class DevPackager { wrapped += JSON.stringify(deps); wrapped += ']'; + if ( + this.bundle.env.isNode() && + asset.meta.has_node_replacements === true + ) { + const relPath = normalizeSeparators( + path.relative( + this.bundle.target.distDir, + path.dirname(asset.filePath), + ), + ); + wrapped = wrapped.replace('$parcel$dirnameReplace', relPath); + wrapped = wrapped.replace('$parcel$filenameReplace', relPath); + } + if (this.bundle.env.sourceMap) { if (mapBuffer) { map.addBuffer(mapBuffer, lineOffset); diff --git a/packages/packagers/js/src/ScopeHoistingPackager.js b/packages/packagers/js/src/ScopeHoistingPackager.js index 87ed3952bd1..0de4917c81e 100644 --- a/packages/packagers/js/src/ScopeHoistingPackager.js +++ b/packages/packagers/js/src/ScopeHoistingPackager.js @@ -8,12 +8,18 @@ import type { NamedBundle, } from '@parcel/types'; -import {PromiseQueue, relativeBundlePath, countLines} from '@parcel/utils'; +import { + PromiseQueue, + relativeBundlePath, + countLines, + normalizeSeparators, +} from '@parcel/utils'; import SourceMap from '@parcel/source-map'; import nullthrows from 'nullthrows'; import invariant from 'assert'; import ThrowableDiagnostic from '@parcel/diagnostic'; import globals from 'globals'; +import path from 'path'; import {ESMOutputFormat} from './ESMOutputFormat'; import {CJSOutputFormat} from './CJSOutputFormat'; @@ -405,6 +411,14 @@ export class ScopeHoistingPackager { this.usedHelpers.add('$parcel$global'); } + if (this.bundle.env.isNode() && asset.meta.has_node_replacements) { + const relPath = normalizeSeparators( + path.relative(this.bundle.target.distDir, path.dirname(asset.filePath)), + ); + code = code.replace('$parcel$dirnameReplace', relPath); + code = code.replace('$parcel$filenameReplace', relPath); + } + let [depMap, replacements] = this.buildReplacements(asset, deps); let [prepend, prependLines, append] = this.buildAssetPrelude(asset, deps); if (prependLines > 0) { diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index 1ec1f8c50d3..72eca854405 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -18,6 +18,7 @@ mod fs; mod global_replacer; mod hoist; mod modules; +mod node_replacer; mod typeof_replacer; mod utils; @@ -51,6 +52,7 @@ use fs::inline_fs; use global_replacer::GlobalReplacer; use hoist::{hoist, CollectResult, HoistResult}; use modules::esm2cjs; +use node_replacer::NodeReplacer; use typeof_replacer::*; use utils::{CodeHighlight, Diagnostic, DiagnosticSeverity, SourceLocation, SourceType}; @@ -69,6 +71,7 @@ pub struct Config { env: HashMap, inline_fs: bool, insert_node_globals: bool, + node_replacer: bool, is_browser: bool, is_worker: bool, is_type_script: bool, @@ -102,6 +105,7 @@ pub struct TransformResult { diagnostics: Option>, needs_esm_helpers: bool, used_env: HashSet, + has_node_replacements: bool, } fn targets_to_versions(targets: &Option>) -> Option { @@ -396,6 +400,28 @@ pub fn transform(config: Config) -> Result { module.fold_with(&mut passes) }; + let mut has_node_replacements = false; + + let module = module.fold_with( + // Replace __dirname and __filename with placeholders in Node env + &mut Optional::new( + NodeReplacer { + source_map: &source_map, + items: &mut global_deps, + globals: HashMap::new(), + project_root: Path::new(&config.project_root), + filename: Path::new(&config.filename), + decls: &mut decls, + global_mark, + scope_hoist: config.scope_hoist, + has_node_replacements: &mut has_node_replacements, + }, + config.node_replacer, + ), + ); + + result.has_node_replacements = has_node_replacements; + let module = module.fold_with( // Collect dependencies &mut dependency_collector( diff --git a/packages/transformers/js/core/src/node_replacer.rs b/packages/transformers/js/core/src/node_replacer.rs new file mode 100644 index 00000000000..313417cd8b5 --- /dev/null +++ b/packages/transformers/js/core/src/node_replacer.rs @@ -0,0 +1,218 @@ +use std::collections::{HashMap, HashSet}; +use std::ffi::OsStr; +use std::path::Path; + +use swc_atoms::JsWord; +use swc_common::{SourceMap, SyntaxContext, DUMMY_SP}; +use swc_ecmascript::ast::{self}; +use swc_ecmascript::utils::ident::IdentLike; +use swc_ecmascript::visit::{Fold, FoldWith}; + +use crate::dependency_collector::{DependencyDescriptor, DependencyKind}; +use crate::utils::{create_require, SourceLocation, SourceType}; + +pub struct NodeReplacer<'a> { + pub source_map: &'a SourceMap, + pub items: &'a mut Vec, + pub globals: HashMap, + pub project_root: &'a Path, + pub filename: &'a Path, + pub decls: &'a mut HashSet<(JsWord, SyntaxContext)>, + pub global_mark: swc_common::Mark, + pub scope_hoist: bool, + pub has_node_replacements: &'a mut bool, +} + +impl<'a> Fold for NodeReplacer<'a> { + fn fold_expr(&mut self, node: ast::Expr) -> ast::Expr { + use ast::{Expr::*, MemberExpr, MemberProp}; + + // Do not traverse into the `prop` side of member expressions unless computed. + let node = match node { + Member(expr) => { + if let MemberProp::Computed(_) = expr.prop { + Member(MemberExpr { + obj: expr.obj.fold_with(self), + prop: expr.prop.fold_with(self), + ..expr + }) + } else { + Member(MemberExpr { + obj: expr.obj.fold_with(self), + ..expr + }) + } + } + _ => node.fold_children_with(self), + }; + + if let Ident(ref id) = node { + // Only handle global variables + if self.globals.contains_key(&id.sym) + || self.decls.contains(&(id.sym.clone(), id.span.ctxt())) + { + return node; + } + + match id.sym.to_string().as_str() { + "__filename" => { + let specifier = swc_atoms::JsWord::from("path"); + let replace_me_value = swc_atoms::JsWord::from("$parcel$filenameReplace"); + + let filename = if let Some(name) = self.filename.file_name() { + name + } else { + OsStr::new("unknown.js") + }; + + let inserted_expr = ast::Expr::Call(ast::CallExpr { + span: DUMMY_SP, + type_args: None, + args: vec![ + ast::ExprOrSpread { + spread: None, + expr: Box::new(ast::Expr::Ident(ast::Ident { + optional: false, + span: DUMMY_SP, + // This also uses __dirname as later in the path.join call the hierarchy is then correct + // Otherwise path.join(__filename, '..') would be one level to shallow (due to the /filename.js at the end) + sym: swc_atoms::JsWord::from("__dirname"), + })), + }, + ast::ExprOrSpread { + spread: None, + expr: Box::new(ast::Expr::Lit(ast::Lit::Str(ast::Str { + span: DUMMY_SP, + value: replace_me_value, + raw: None, + }))), + }, + ast::ExprOrSpread { + spread: None, + expr: Box::new(ast::Expr::Lit(ast::Lit::Str(ast::Str { + span: DUMMY_SP, + value: swc_atoms::JsWord::from(filename.to_string_lossy()), + raw: None, + }))), + }, + ], + callee: ast::Callee::Expr(Box::new(ast::Expr::Member(ast::MemberExpr { + span: DUMMY_SP, + obj: (Box::new(Call(create_require(specifier.clone())))), + prop: MemberProp::Ident(ast::Ident::new("resolve".into(), DUMMY_SP)), + }))), + }); + + self.globals.insert( + id.sym.clone(), + create_decl_stmt(id.sym.clone(), self.global_mark, inserted_expr), + ); + + self.decls.insert(id.to_id()); + + self.items.push(DependencyDescriptor { + kind: DependencyKind::Require, + loc: SourceLocation::from(self.source_map, id.span), + specifier, + attributes: None, + is_optional: false, + is_helper: false, + source_type: Some(SourceType::Module), + placeholder: None, + }); + + *self.has_node_replacements = true; + } + "__dirname" => { + let specifier = swc_atoms::JsWord::from("path"); + let replace_me_value = swc_atoms::JsWord::from("$parcel$dirnameReplace"); + + let inserted_expr = ast::Expr::Call(ast::CallExpr { + span: DUMMY_SP, + type_args: None, + args: vec![ + ast::ExprOrSpread { + spread: None, + expr: Box::new(ast::Expr::Ident(ast::Ident { + optional: false, + span: DUMMY_SP, + sym: swc_atoms::JsWord::from("__dirname"), + })), + }, + ast::ExprOrSpread { + spread: None, + expr: Box::new(ast::Expr::Lit(ast::Lit::Str(ast::Str { + span: DUMMY_SP, + value: replace_me_value, + raw: None, + }))), + }, + ], + callee: ast::Callee::Expr(Box::new(ast::Expr::Member(ast::MemberExpr { + span: DUMMY_SP, + obj: (Box::new(Call(create_require(specifier.clone())))), + prop: MemberProp::Ident(ast::Ident::new("resolve".into(), DUMMY_SP)), + }))), + }); + + self.globals.insert( + id.sym.clone(), + create_decl_stmt(id.sym.clone(), self.global_mark, inserted_expr), + ); + + self.decls.insert(id.to_id()); + + self.items.push(DependencyDescriptor { + kind: DependencyKind::Require, + loc: SourceLocation::from(self.source_map, id.span), + specifier, + attributes: None, + is_optional: false, + is_helper: false, + source_type: Some(SourceType::Module), + placeholder: None, + }); + + *self.has_node_replacements = true; + } + _ => {} + } + } + + node + } + + fn fold_module(&mut self, node: ast::Module) -> ast::Module { + // Insert globals at the top of the program + let mut node = swc_ecmascript::visit::fold_module(self, node); + node.body.splice( + 0..0, + self + .globals + .values() + .map(|stmt| ast::ModuleItem::Stmt(stmt.clone())), + ); + node + } +} + +fn create_decl_stmt( + name: swc_atoms::JsWord, + global_mark: swc_common::Mark, + init: ast::Expr, +) -> ast::Stmt { + ast::Stmt::Decl(ast::Decl::Var(ast::VarDecl { + kind: ast::VarDeclKind::Var, + declare: false, + span: DUMMY_SP, + decls: vec![ast::VarDeclarator { + name: ast::Pat::Ident(ast::BindingIdent::from(ast::Ident::new( + name, + DUMMY_SP.apply_mark(global_mark), + ))), + span: DUMMY_SP, + definite: false, + init: Some(Box::new(init)), + }], + })) +} diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index dd38cb798bc..fdd954d0405 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -384,6 +384,7 @@ export default (new Transformer({ needs_esm_helpers, diagnostics, used_env, + has_node_replacements, } = transform({ filename: asset.filePath, code, @@ -392,6 +393,7 @@ export default (new Transformer({ replace_env: !asset.env.isNode(), inline_fs: Boolean(config?.inlineFS) && !asset.env.isNode(), insert_node_globals: !asset.env.isNode(), + node_replacer: asset.env.isNode(), is_browser: asset.env.isBrowser(), is_worker: asset.env.isWorker(), env, @@ -521,6 +523,10 @@ export default (new Transformer({ asset.meta.interpreter = shebang; } + if (has_node_replacements) { + asset.meta.has_node_replacements = has_node_replacements; + } + for (let env of used_env) { asset.invalidateOnEnvChange(env); } From af7badad72da328c4a65ceae20c241745e73141b Mon Sep 17 00:00:00 2001 From: 101arrowz Date: Mon, 11 Apr 2022 07:58:04 -0700 Subject: [PATCH 0248/1076] Add support for Web Extension manifest v3 (#7050) --- packages/configs/webextension/index.json | 3 +- packages/configs/webextension/package.json | 3 +- .../integration/webextension-mv3/.parcelrc | 3 + .../webextension-mv3/background.js | 0 .../webextension-mv3/content-script.js | 1 + .../integration/webextension-mv3/injected.css | 3 + .../webextension-mv3/manifest.json | 20 + .../webextension-mv3/other-content-script.js | 1 + .../integration/webextension-mv3/popup.css | 19 + .../integration/webextension-mv3/popup.html | 21 + .../integration/webextension-mv3/popup.js | 33 + .../integration/webextension-mv3/yarn.lock | 0 .../webextension/_locales/.unwanted-file | 1 + .../integration-tests/test/webextension.js | 57 +- packages/core/types/index.js | 10 +- packages/packagers/webextension/package.json | 27 + .../webextension/src/WebExtensionPackager.js | 76 ++ .../runtimes/hmr/src/loaders/hmr-runtime.js | 24 +- .../runtimes/js/src/helpers/bundle-url.js | 13 +- packages/runtimes/webextension/package.json | 27 + .../webextension/src/WebExtensionRuntime.js | 50 ++ .../webextension/src}/autoreload-bg.js | 4 +- packages/transformers/js/native.js | 2 +- .../src/WebExtensionTransformer.js | 207 ++++-- .../webextension/src/runtime/autoreload.js | 15 +- .../webextension/src/runtime/default-bg.js | 0 .../transformers/webextension/src/schema.js | 682 ++++++++++-------- .../utils/fs-write-stream-atomic/index.js | 18 +- packages/utils/hash/browser.js | 10 +- 29 files changed, 943 insertions(+), 387 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/.parcelrc create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/background.js create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/content-script.js create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/injected.css create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/manifest.json create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/other-content-script.js create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/popup.css create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/popup.html create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/popup.js create mode 100644 packages/core/integration-tests/test/integration/webextension-mv3/yarn.lock create mode 100644 packages/core/integration-tests/test/integration/webextension/_locales/.unwanted-file create mode 100644 packages/packagers/webextension/package.json create mode 100644 packages/packagers/webextension/src/WebExtensionPackager.js create mode 100644 packages/runtimes/webextension/package.json create mode 100644 packages/runtimes/webextension/src/WebExtensionRuntime.js rename packages/{transformers/webextension/src/runtime => runtimes/webextension/src}/autoreload-bg.js (57%) create mode 100644 packages/transformers/webextension/src/runtime/default-bg.js diff --git a/packages/configs/webextension/index.json b/packages/configs/webextension/index.json index 519213b14bf..575503f5b43 100644 --- a/packages/configs/webextension/index.json +++ b/packages/configs/webextension/index.json @@ -4,7 +4,8 @@ "manifest.json": ["@parcel/transformer-webextension"], "raw:*": ["@parcel/transformer-raw"] }, + "runtimes": ["...", "@parcel/runtime-webextension"], "packagers": { - "manifest.json": "@parcel/packager-raw-url" + "manifest.json": "@parcel/packager-webextension" } } diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index dc615326c73..c1bc300e9ce 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -16,7 +16,8 @@ "main": "index.json", "dependencies": { "@parcel/config-default": "2.4.1", - "@parcel/packager-raw-url": "2.4.1", + "@parcel/packager-webextension": "2.4.1", + "@parcel/runtime-webextension": "2.4.1", "@parcel/transformer-raw": "2.4.1", "@parcel/transformer-webextension": "2.4.1" } diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/.parcelrc b/packages/core/integration-tests/test/integration/webextension-mv3/.parcelrc new file mode 100644 index 00000000000..97cb809a801 --- /dev/null +++ b/packages/core/integration-tests/test/integration/webextension-mv3/.parcelrc @@ -0,0 +1,3 @@ +{ + "extends": ["@parcel/config-webextension"] +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/background.js b/packages/core/integration-tests/test/integration/webextension-mv3/background.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/content-script.js b/packages/core/integration-tests/test/integration/webextension-mv3/content-script.js new file mode 100644 index 00000000000..e8d575a83df --- /dev/null +++ b/packages/core/integration-tests/test/integration/webextension-mv3/content-script.js @@ -0,0 +1 @@ +alert('File test alert'); diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/injected.css b/packages/core/integration-tests/test/integration/webextension-mv3/injected.css new file mode 100644 index 00000000000..6c4ada47d0e --- /dev/null +++ b/packages/core/integration-tests/test/integration/webextension-mv3/injected.css @@ -0,0 +1,3 @@ +h1 { + font-family: "Comic Sans MS"; +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/manifest.json b/packages/core/integration-tests/test/integration/webextension-mv3/manifest.json new file mode 100644 index 00000000000..f489dd4c543 --- /dev/null +++ b/packages/core/integration-tests/test/integration/webextension-mv3/manifest.json @@ -0,0 +1,20 @@ +{ + "name": "MV3 Migration - content script example", + "description": "Source: https://github.com/GoogleChrome/chrome-extensions-samples", + "version": "0.1", + "manifest_version": 3, + "background": { + "service_worker": "background.js" + }, + "permissions": [ + "scripting", + "activeTab" + ], + "content_scripts": [{ + "matches": ["https://*.google.com/*"], + "js": ["other-content-script.js"] + }], + "action": { + "default_popup": "popup.html" + } +} diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/other-content-script.js b/packages/core/integration-tests/test/integration/webextension-mv3/other-content-script.js new file mode 100644 index 00000000000..7710d4f4dea --- /dev/null +++ b/packages/core/integration-tests/test/integration/webextension-mv3/other-content-script.js @@ -0,0 +1 @@ +import './injected.css'; \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/popup.css b/packages/core/integration-tests/test/integration/webextension-mv3/popup.css new file mode 100644 index 00000000000..0467a05f3b1 --- /dev/null +++ b/packages/core/integration-tests/test/integration/webextension-mv3/popup.css @@ -0,0 +1,19 @@ +* { + box-sizing: border-box; +} +html, +body, +main { + height: 100%; + margin: 0; + padding: 0; +} +body { + min-width: 20em; + min-height: 10em; +} +main { + padding: 1em .5em; + display: grid; + place-items: center; +} diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/popup.html b/packages/core/integration-tests/test/integration/webextension-mv3/popup.html new file mode 100644 index 00000000000..80ca1589076 --- /dev/null +++ b/packages/core/integration-tests/test/integration/webextension-mv3/popup.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + + +
+
+ +
+
+ +
+
+ + diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/popup.js b/packages/core/integration-tests/test/integration/webextension-mv3/popup.js new file mode 100644 index 00000000000..16ea1de0b98 --- /dev/null +++ b/packages/core/integration-tests/test/integration/webextension-mv3/popup.js @@ -0,0 +1,33 @@ +import contentScript from 'url:./content-script.js'; +let injectFile = document.getElementById('inject-file'); +let injectFunction = document.getElementById('inject-function'); + +async function getCurrentTab() { + let queryOptions = { active: true, currentWindow: true }; + let [tab] = await chrome.tabs.query(queryOptions); + return tab; +} + +injectFile.addEventListener('click', async () => { + let tab = await getCurrentTab(); + + chrome.scripting.executeScript({ + target: {tabId: tab.id}, + files: [contentScript] + }); +}); + +function showAlert(givenName) { + alert(`Hello, ${givenName}`); +} + +injectFunction.addEventListener('click', async () => { + let tab = await getCurrentTab(); + + let name = 'World'; + chrome.scripting.executeScript({ + target: {tabId: tab.id}, + func: showAlert, + args: [name] + }); +}); diff --git a/packages/core/integration-tests/test/integration/webextension-mv3/yarn.lock b/packages/core/integration-tests/test/integration/webextension-mv3/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/webextension/_locales/.unwanted-file b/packages/core/integration-tests/test/integration/webextension/_locales/.unwanted-file new file mode 100644 index 00000000000..3455564d4c6 --- /dev/null +++ b/packages/core/integration-tests/test/integration/webextension/_locales/.unwanted-file @@ -0,0 +1 @@ +This is to cover files like .DS_Store \ No newline at end of file diff --git a/packages/core/integration-tests/test/webextension.js b/packages/core/integration-tests/test/webextension.js index f5299bb246e..33c52e84eac 100644 --- a/packages/core/integration-tests/test/webextension.js +++ b/packages/core/integration-tests/test/webextension.js @@ -1,6 +1,6 @@ import assert from 'assert'; import path from 'path'; -import {bundle, assertBundles, outputFS} from '@parcel/test-utils'; +import {bundle, assertBundles, outputFS, distDir} from '@parcel/test-utils'; describe('webextension', function () { it('should resolve a full webextension bundle', async function () { @@ -25,7 +25,6 @@ describe('webextension', function () { assets: ['manifest.json'], }, { - name: 'background.js', assets: ['background.ts'], }, {assets: ['a.txt']}, @@ -37,6 +36,24 @@ describe('webextension', function () { {assets: ['content.js']}, {assets: ['content.css']}, ]); + assert( + await outputFS.exists( + path.join(distDir, '_locales', 'en_US', 'messages.json'), + ), + ); + const manifest = JSON.parse( + await outputFS.readFile( + b.getBundles().find(b => b.name == 'manifest.json').filePath, + 'utf8', + ), + ); + const scripts = manifest.background.scripts; + assert.equal(scripts.length, 1); + assert( + ( + await outputFS.readFile(path.join(distDir, scripts[0]), 'utf-8') + ).includes('Hello Parcel!'), + ); }); it('should resolve the web_accessible_resources globs', async function () { @@ -52,15 +69,12 @@ describe('webextension', function () { assets: ['manifest.json'], }, { - name: 'index.js', assets: ['index.ts', 'esmodule-helpers.js'], }, { - name: 'other.js', assets: ['other.ts', 'esmodule-helpers.js'], }, { - name: 'index-jsx.js', assets: [ 'esmodule-helpers.js', 'index-jsx.jsx', @@ -78,12 +92,35 @@ describe('webextension', function () { ), ); const war = manifest.web_accessible_resources; - assert.deepEqual(war, [ - '/injected/index.js', - '/injected/nested/other.js', - '/injected/index-jsx.js', - '/injected/single.js', + assert.equal(war.length, 4); + }); + it('should support web extension manifest v3', async function () { + let b = await bundle( + path.join(__dirname, '/integration/webextension-mv3/manifest.json'), + ); + assertBundles(b, [ + { + name: 'manifest.json', + assets: ['manifest.json'], + }, + {assets: ['background.js']}, + {assets: ['popup.html']}, + {assets: ['popup.css']}, + {assets: ['popup.js', 'esmodule-helpers.js', 'bundle-url.js']}, + {assets: ['content-script.js']}, + {assets: ['other-content-script.js']}, + {assets: ['injected.css']}, ]); + const manifest = JSON.parse( + await outputFS.readFile(path.join(distDir, 'manifest.json'), 'utf-8'), + ); + const css = manifest.content_scripts[0].css; + assert.equal(css.length, 1); + assert( + (await outputFS.readFile(path.join(distDir, css[0]), 'utf-8')).includes( + 'Comic Sans MS', + ), + ); }); // TODO: Test error-checking }); diff --git a/packages/core/types/index.js b/packages/core/types/index.js index c79df875b66..49b6d225741 100644 --- a/packages/core/types/index.js +++ b/packages/core/types/index.js @@ -186,7 +186,7 @@ export type EnvironmentOptions = {| */ export type VersionMap = { [string]: string, - ... + ..., }; export type EnvironmentFeature = @@ -398,7 +398,9 @@ export interface AssetSymbols // eslint-disable-next-line no-undef * This is the default state. */ +isCleared: boolean; - get(exportSymbol: Symbol): ?{| + get( + exportSymbol: Symbol, + ): ?{| local: Symbol, loc: ?SourceLocation, meta?: ?Meta, @@ -441,7 +443,9 @@ export interface MutableDependencySymbols // eslint-disable-next-line no-undef * This is the default state. */ +isCleared: boolean; - get(exportSymbol: Symbol): ?{| + get( + exportSymbol: Symbol, + ): ?{| local: Symbol, loc: ?SourceLocation, isWeak: boolean, diff --git a/packages/packagers/webextension/package.json b/packages/packagers/webextension/package.json new file mode 100644 index 00000000000..db715485944 --- /dev/null +++ b/packages/packagers/webextension/package.json @@ -0,0 +1,27 @@ +{ + "name": "@parcel/packager-webextension", + "version": "2.4.1", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "main": "lib/WebExtensionPackager.js", + "source": "src/WebExtensionPackager.js", + "engines": { + "node": ">=12.0.0", + "parcel": "^2.4.0" + }, + "dependencies": { + "@parcel/plugin": "2.4.1", + "@parcel/utils": "2.4.1", + "nullthrows": "^1.1.1" + } +} diff --git a/packages/packagers/webextension/src/WebExtensionPackager.js b/packages/packagers/webextension/src/WebExtensionPackager.js new file mode 100644 index 00000000000..ffa13bb7736 --- /dev/null +++ b/packages/packagers/webextension/src/WebExtensionPackager.js @@ -0,0 +1,76 @@ +// @flow strict-local + +import assert from 'assert'; +import nullthrows from 'nullthrows'; +import {Packager} from '@parcel/plugin'; +import {replaceURLReferences, relativeBundlePath} from '@parcel/utils'; + +export default (new Packager({ + async package({bundle, bundleGraph}) { + let assets = []; + bundle.traverseAssets(asset => { + assets.push(asset); + }); + + assert.equal( + assets.length, + 1, + 'Web extension manifest bundles must only contain one asset', + ); + const asset = assets[0]; + assert(asset.meta.webextEntry === true); + + const relPath = b => + relativeBundlePath(bundle, b, {leadingDotSlash: false}); + + const manifest = JSON.parse(await asset.getCode()); + const deps = asset.getDependencies(); + const war = []; + for (const contentScript of manifest.content_scripts || []) { + const jsBundles = deps + .filter(d => contentScript.js?.includes(d.id)) + .map(d => nullthrows(bundleGraph.getReferencedBundle(d, bundle))); + + contentScript.css = [ + ...new Set( + (contentScript.css || []).concat( + jsBundles + .flatMap(b => bundleGraph.getReferencedBundles(b)) + .filter(b => b.type == 'css') + .map(relPath), + ), + ), + ]; + + war.push({ + matches: contentScript.matches, + extension_ids: [], + resources: jsBundles + .flatMap(b => { + const children = []; + const siblings = bundleGraph.getReferencedBundles(b); + bundleGraph.traverseBundles(child => { + if (b !== child && !siblings.includes(child)) { + children.push(child); + } + }, b); + return children; + }) + .map(relPath), + }); + } + manifest.web_accessible_resources = ( + manifest.web_accessible_resources || [] + ).concat( + manifest.manifest_version == 2 + ? [...new Set(war.flatMap(entry => entry.resources))] + : war, + ); + let {contents} = replaceURLReferences({ + bundle, + bundleGraph, + contents: JSON.stringify(manifest), + }); + return {contents}; + }, +}): Packager); diff --git a/packages/runtimes/hmr/src/loaders/hmr-runtime.js b/packages/runtimes/hmr/src/loaders/hmr-runtime.js index a3d6fc0c04f..c51d5df8bf5 100644 --- a/packages/runtimes/hmr/src/loaders/hmr-runtime.js +++ b/packages/runtimes/hmr/src/loaders/hmr-runtime.js @@ -1,5 +1,5 @@ // @flow -/* global HMR_HOST, HMR_PORT, HMR_ENV_HASH, HMR_SECURE */ +/* global HMR_HOST, HMR_PORT, HMR_ENV_HASH, HMR_SECURE, chrome, browser */ /*:: import type { @@ -28,11 +28,18 @@ interface ParcelModule { _disposeCallbacks: Array<(mixed) => void>, |}; } +interface ExtensionContext { + runtime: {| + reload(): void, + |}; +} declare var module: {bundle: ParcelRequire, ...}; declare var HMR_HOST: string; declare var HMR_PORT: string; declare var HMR_ENV_HASH: string; declare var HMR_SECURE: boolean; +declare var chrome: ExtensionContext; +declare var browser: ExtensionContext; */ var OVERLAY_ID = '__parcel__error__overlay__'; @@ -123,8 +130,19 @@ if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') { hmrAcceptRun(assetsToAccept[i][0], id); } } + } else if ('reload' in location) { + location.reload(); } else { - window.location.reload(); + // Web extension context + var ext = + typeof chrome === 'undefined' + ? typeof browser === 'undefined' + ? null + : browser + : chrome; + if (ext && ext.runtime && ext.runtime.reload) { + ext.runtime.reload(); + } } } @@ -270,7 +288,7 @@ function reloadCSS() { : href.indexOf(hostname + ':' + getPort()); var absolute = /^https?:\/\//i.test(href) && - href.indexOf(window.location.origin) !== 0 && + href.indexOf(location.origin) !== 0 && !servedFromHMRServer; if (!absolute) { updateLink(links[i]); diff --git a/packages/runtimes/js/src/helpers/bundle-url.js b/packages/runtimes/js/src/helpers/bundle-url.js index 1a771420028..b86ad1ad0a2 100644 --- a/packages/runtimes/js/src/helpers/bundle-url.js +++ b/packages/runtimes/js/src/helpers/bundle-url.js @@ -13,7 +13,9 @@ function getBundleURL() { try { throw new Error(); } catch (err) { - var matches = ('' + err.stack).match(/(https?|file|ftp):\/\/[^)\n]+/g); + var matches = ('' + err.stack).match( + /(https?|file|ftp|(chrome|moz)-extension):\/\/[^)\n]+/g, + ); if (matches) { // The first two stack frames will be this function and getBundleURLCached. // Use the 3rd one, which will be a runtime in the original bundle. @@ -26,13 +28,18 @@ function getBundleURL() { function getBaseURL(url) { return ( - ('' + url).replace(/^((?:https?|file|ftp):\/\/.+)\/[^/]+$/, '$1') + '/' + ('' + url).replace( + /^((?:https?|file|ftp|(chrome|moz)-extension):\/\/.+)\/[^/]+$/, + '$1', + ) + '/' ); } // TODO: Replace uses with `new URL(url).origin` when ie11 is no longer supported. function getOrigin(url) { - let matches = ('' + url).match(/(https?|file|ftp):\/\/[^/]+/); + let matches = ('' + url).match( + /(https?|file|ftp|(chrome|moz)-extension):\/\/[^/]+/, + ); if (!matches) { throw new Error('Origin not found'); } diff --git a/packages/runtimes/webextension/package.json b/packages/runtimes/webextension/package.json new file mode 100644 index 00000000000..a8a7f6cb5db --- /dev/null +++ b/packages/runtimes/webextension/package.json @@ -0,0 +1,27 @@ +{ + "name": "@parcel/runtime-webextension", + "version": "2.4.1", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "main": "lib/WebExtensionRuntime.js", + "source": "src/WebExtensionRuntime.js", + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.4.0" + }, + "dependencies": { + "@parcel/plugin": "2.4.1", + "@parcel/utils": "2.4.1", + "nullthrows": "^1.1.1" + } +} diff --git a/packages/runtimes/webextension/src/WebExtensionRuntime.js b/packages/runtimes/webextension/src/WebExtensionRuntime.js new file mode 100644 index 00000000000..dd79185af0e --- /dev/null +++ b/packages/runtimes/webextension/src/WebExtensionRuntime.js @@ -0,0 +1,50 @@ +// @flow strict-local + +import {Runtime} from '@parcel/plugin'; +import nullthrows from 'nullthrows'; +import fs from 'fs'; +import path from 'path'; + +const AUTORELOAD_BG = fs.readFileSync( + path.join(__dirname, 'autoreload-bg.js'), + 'utf8', +); + +export default (new Runtime({ + apply({bundle, bundleGraph, options}) { + if ( + bundle.type != 'js' || + !options.hmrOptions || + !bundle.env.isBrowser() || + bundle.env.isWorklet() + ) { + return; + } + const manifest = bundleGraph + .getBundles() + .find(b => b.getMainEntry()?.meta.webextEntry === true); + const entry = manifest?.getMainEntry(); + const insertDep = entry?.meta.webextBGInsert; + if (insertDep == null) return; + const insertBundle = bundleGraph.getReferencedBundle( + nullthrows(entry?.getDependencies().find(dep => dep.id === insertDep)), + nullthrows(manifest), + ); + let firstInsertableBundle; + bundleGraph.traverseBundles((b, _, actions) => { + if (b.type == 'js') { + firstInsertableBundle = b; + actions.stop(); + } + }, insertBundle); + + // Add autoreload + if (bundle === firstInsertableBundle) { + return { + filePath: __filename, + code: AUTORELOAD_BG, + isEntry: true, + }; + } + }, +}): Runtime); diff --git a/packages/transformers/webextension/src/runtime/autoreload-bg.js b/packages/runtimes/webextension/src/autoreload-bg.js similarity index 57% rename from packages/transformers/webextension/src/runtime/autoreload-bg.js rename to packages/runtimes/webextension/src/autoreload-bg.js index 4ff6e751e07..07f6b59622a 100644 --- a/packages/transformers/webextension/src/runtime/autoreload-bg.js +++ b/packages/runtimes/webextension/src/autoreload-bg.js @@ -1,5 +1,5 @@ -/* global window */ -var env = window.chrome || window.browser; +/* global chrome, browser */ +var env = typeof chrome == 'undefined' ? browser : chrome; env.runtime.onMessage.addListener(function (msg) { if (msg.__parcel_hmr_reload__) { env.runtime.reload(); diff --git a/packages/transformers/js/native.js b/packages/transformers/js/native.js index ce1d82238c9..ad423318745 100644 --- a/packages/transformers/js/native.js +++ b/packages/transformers/js/native.js @@ -18,7 +18,7 @@ if (process.env.PARCEL_BUILD_ENV === 'production') { } else if (process.env.PARCEL_SWC_WASM) { const {transform} = require('./wasm/dist-node/parcel_js_swc_wasm.js'); - module.exports.transform = function (config) { + module.exports.transform = function(config) { let result = transform(config); return { ...result, diff --git a/packages/transformers/webextension/src/WebExtensionTransformer.js b/packages/transformers/webextension/src/WebExtensionTransformer.js index c409b21450d..9c9a72eb248 100644 --- a/packages/transformers/webextension/src/WebExtensionTransformer.js +++ b/packages/transformers/webextension/src/WebExtensionTransformer.js @@ -11,7 +11,7 @@ import ThrowableDiagnostic, { md, } from '@parcel/diagnostic'; import {glob} from '@parcel/utils'; -import WebExtensionSchema from './schema'; +import {MV3Schema, MV2Schema, VersionSchema} from './schema'; const DEP_LOCS = [ ['icons'], @@ -19,6 +19,8 @@ const DEP_LOCS = [ ['browser_action', 'default_popup'], ['page_action', 'default_icon'], ['page_action', 'default_popup'], + ['action', 'default_icon'], + ['action', 'default_popup'], ['background', 'scripts'], ['chrome_url_overrides'], ['devtools_page'], @@ -37,15 +39,17 @@ async function collectDependencies( ptrs: {[key: string]: any, ...}, hot: boolean, ) { - // isEntry used whenever strictly necessary to preserve filename - // also for globs because it's wasteful to write out every file name const fs = asset.fs; const filePath = asset.filePath; + const assetDir = path.dirname(filePath); + const isMV2 = program.manifest_version == 2; if (program.default_locale) { - const locales = path.join(path.dirname(filePath), '_locales'); + const locales = path.join(assetDir, '_locales'); let err = !(await fs.exists(locales)) ? 'key' - : !(await fs.exists(path.join(locales, program.default_locale))) + : !(await fs.exists( + path.join(locales, program.default_locale, 'messages.json'), + )) ? 'value' : null; if (err) { @@ -60,10 +64,12 @@ async function collectDependencies( codeHighlights: [ { ...getJSONSourceLocation(ptrs['/default_locale'], err), - message: md`Localization directory${ - err == 'value' ? ' for ' + program.default_locale : '' + message: md`Localization ${ + err == 'value' + ? 'file for ' + program.default_locale + : 'directory' } does not exist: ${path.relative( - path.dirname(filePath), + assetDir, path.join(locales, program.default_locale), )}`, }, @@ -75,10 +81,12 @@ async function collectDependencies( }); } for (const locale of await fs.readdir(locales)) { - asset.addURLDependency(`_locales/${locale}/messages.json`, { - needsStableName: true, - pipeline: 'raw', - }); + if (await fs.exists(path.join(locales, locale, 'messages.json'))) { + asset.addURLDependency(`_locales/${locale}/messages.json`, { + needsStableName: true, + pipeline: 'raw', + }); + } } } let needRuntimeBG = false; @@ -89,7 +97,8 @@ async function collectDependencies( const assets = sc[k] || []; for (let j = 0; j < assets.length; ++j) { assets[j] = asset.addURLDependency(assets[j], { - needsStableName: true, + // This causes the packager to re-run when these assets update + priority: 'parallel', loc: { filePath, ...getJSONSourceLocation( @@ -152,16 +161,16 @@ async function collectDependencies( }); } } - if (program.browser_action?.theme_icons) { - for (let i = 0; i < program.browser_action.theme_icons.length; ++i) { - const themeIcon = program.browser_action.theme_icons[i]; + const browserActionName = isMV2 ? 'browser_action' : 'action'; + if (program[browserActionName]?.theme_icons) { + for (let i = 0; i < program[browserActionName].theme_icons.length; ++i) { + const themeIcon = program[browserActionName].theme_icons[i]; for (const k of ['light', 'dark']) { const loc = getJSONSourceLocation( - ptrs[`/browser_action/theme_icons/${i}/${k}`], + ptrs[`/${browserActionName}/theme_icons/${i}/${k}`], 'value', ); themeIcon[k] = asset.addURLDependency(themeIcon[k], { - needsStableName: true, loc: { ...loc, filePath, @@ -174,25 +183,33 @@ async function collectDependencies( let war = []; for (let i = 0; i < program.web_accessible_resources.length; ++i) { // TODO: this doesn't support Parcel resolution - const globFiles = ( - await glob( - path.join( - path.dirname(filePath), - program.web_accessible_resources[i], - ), - fs, - {}, - ) - ).map(fp => - asset.addURLDependency(path.relative(path.dirname(filePath), fp), { - needsStableName: true, - loc: { - filePath, - ...getJSONSourceLocation(ptrs[`/web_accessible_resources/${i}`]), - }, - }), - ); - war = war.concat(globFiles); + const currentEntry = program.web_accessible_resources[i]; + const files = isMV2 ? [currentEntry] : currentEntry.resources; + for (let j = 0; j < files.length; ++j) { + const globFiles = ( + await glob(path.join(assetDir, files[j]), fs, {}) + ).map(fp => + asset.addURLDependency(path.relative(assetDir, fp), { + needsStableName: true, + loc: { + filePath, + ...getJSONSourceLocation( + ptrs[ + `/web_accessible_resources/${i}${ + isMV2 ? '' : `/resources/${j}` + }` + ], + ), + }, + }), + ); + if (isMV2) { + war = war.concat(globFiles); + } else { + currentEntry.resources = globFiles; + war.push(currentEntry); + } + } } program.web_accessible_resources = war; } @@ -207,38 +224,97 @@ async function collectDependencies( const obj = parent[lastLoc]; if (typeof obj == 'string') parent[lastLoc] = asset.addURLDependency(obj, { - needsStableName: true, loc: { filePath, ...getJSONSourceLocation(ptrs[location], 'value'), }, - pipeline: path.extname(obj) == '.json' ? 'url' : undefined, + pipeline: path.extname(obj) == '.json' ? 'raw' : undefined, }); else { for (const k of Object.keys(obj)) { obj[k] = asset.addURLDependency(obj[k], { - needsStableName: true, loc: { filePath, ...getJSONSourceLocation(ptrs[location + '/' + k], 'value'), }, - pipeline: path.extname(obj[k]) == '.json' ? 'url' : undefined, + pipeline: path.extname(obj[k]) == '.json' ? 'raw' : undefined, }); } } } - if (needRuntimeBG) { - if (!program.background) { - program.background = {}; + if (isMV2) { + if (program.background?.page) { + program.background.page = asset.addURLDependency( + program.background.page, + { + loc: { + filePath, + ...getJSONSourceLocation(ptrs['/background/page'], 'value'), + }, + }, + ); + if (needRuntimeBG) { + asset.meta.webextBGInsert = program.background.page; + } } - if (!program.background.scripts) { - program.background.scripts = []; + if (hot) { + // To enable HMR, we must override the CSP to allow 'unsafe-eval' + program.content_security_policy = cspPatchHMR( + program.content_security_policy, + ); + + if (needRuntimeBG && !program.background?.page) { + if (!program.background) { + program.background = {}; + } + if (!program.background.scripts) { + program.background.scripts = []; + } + if (program.background.scripts.length == 0) { + program.background.scripts.push( + asset.addURLDependency('./runtime/default-bg.js', { + resolveFrom: __filename, + }), + ); + } + asset.meta.webextBGInsert = program.background.scripts[0]; + } + } + } else { + if (program.background?.service_worker) { + program.background.service_worker = asset.addURLDependency( + program.background.service_worker, + { + loc: { + filePath, + ...getJSONSourceLocation( + ptrs['/background/service_worker'], + 'value', + ), + }, + env: { + context: 'service-worker', + sourceType: + program.background.type == 'module' ? 'module' : 'script', + }, + }, + ); + } + if (needRuntimeBG) { + if (!program.background) { + program.background = {}; + } + if (!program.background.service_worker) { + program.background.service_worker = asset.addURLDependency( + './runtime/default-bg.js', + { + resolveFrom: __filename, + env: {context: 'service-worker'}, + }, + ); + } + asset.meta.webextBGInsert = program.background.service_worker; } - program.background.scripts.push( - asset.addURLDependency('./runtime/autoreload-bg.js', { - resolveFrom: __filename, - }), - ); } } @@ -266,11 +342,32 @@ function cspPatchHMR(policy: ?string) { export default (new Transformer({ async transform({asset, options}) { + // Set environment to browser, since web extensions are always used in + // browsers, and because it avoids delegating extra config to the user + asset.setEnvironment({ + context: 'browser', + engines: asset.env.engines, + shouldOptimize: asset.env.shouldOptimize, + sourceMap: { + ...asset.env.sourceMap, + inline: true, + inlineSources: true, + }, + }); const code = await asset.getCode(); const parsed = jsm.parse(code); const data: any = parsed.data; + + // Not using a unified schema dramatically improves error messages + let schema = VersionSchema; + if (data.manifest_version === 3) { + schema = MV3Schema; + } else if (data.manifest_version === 2) { + schema = MV2Schema; + } + validateSchema.diagnostic( - WebExtensionSchema, + schema, { data: data, source: code, @@ -285,12 +382,8 @@ export default (new Transformer({ parsed.pointers, Boolean(options.hmrOptions), ); - if (options.hmrOptions) { - // To enable HMR, we must override the CSP to allow 'unsafe-eval' - data.content_security_policy = cspPatchHMR(data.content_security_policy); - } - asset.meta.handled = true; asset.setCode(JSON.stringify(data, null, 2)); + asset.meta.webextEntry = true; return [asset]; }, }): Transformer); diff --git a/packages/transformers/webextension/src/runtime/autoreload.js b/packages/transformers/webextension/src/runtime/autoreload.js index 79f7577b42e..df9da7aa0b1 100644 --- a/packages/transformers/webextension/src/runtime/autoreload.js +++ b/packages/transformers/webextension/src/runtime/autoreload.js @@ -1,6 +1,11 @@ -/* global window */ -window.addEventListener('beforeunload', function () { - (window.chrome || window.browser).runtime.sendMessage({ - __parcel_hmr_reload__: true, - }); +/* global chrome, browser, addEventListener */ +var env = typeof chrome == 'undefined' ? browser : chrome; +addEventListener('beforeunload', function () { + try { + env.runtime.sendMessage({ + __parcel_hmr_reload__: true, + }); + } catch (err) { + // ignore throwing if extension context invalidated + } }); diff --git a/packages/transformers/webextension/src/runtime/default-bg.js b/packages/transformers/webextension/src/runtime/default-bg.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/transformers/webextension/src/schema.js b/packages/transformers/webextension/src/schema.js index 4d829bac840..8c06dc679c5 100644 --- a/packages/transformers/webextension/src/schema.js +++ b/packages/transformers/webextension/src/schema.js @@ -12,381 +12,483 @@ const validateVersion = (ver: string): ?string => { return; return 'Extension versions must be dot-separated integers between 0 and 65535'; }; + +const string: SchemaEntity = {type: 'string'}; +const boolean: SchemaEntity = {type: 'boolean'}; + const icons: SchemaEntity = { type: 'object', properties: {}, - additionalProperties: {type: 'string'}, + additionalProperties: string, }; const actionProps = { // FF only - browser_style: {type: 'boolean'}, + browser_style: boolean, // You can also have a raw string, but not in Edge, apparently... default_icon: { - oneOf: [icons, {type: 'string'}], + oneOf: [icons, string], }, - default_popup: {type: 'string'}, - default_title: {type: 'string'}, + default_popup: string, + default_title: string, }; const arrStr = { type: 'array', - items: { - type: 'string', - }, + items: string, }; -// This has *some* Chrome bias, but let's be real here... -// It's mainly intended to be highly cross-browser compatible -export default ({ +const browserAction = { type: 'object', properties: { - manifest_version: { - type: 'number', - enum: [2], - }, - name: {type: 'string'}, - version: { + ...actionProps, + // rest are FF only + default_area: { type: 'string', - __validate: validateVersion, + enum: ['navbar', 'menupanel', 'tabstrip', 'personaltoolbar'], }, - default_locale: {type: 'string'}, - description: {type: 'string'}, - icons, - browser_action: { - type: 'object', - properties: { - ...actionProps, - // rest are FF only - default_area: { - type: 'string', - enum: ['navbar', 'menupanel', 'tabstrip', 'personaltoolbar'], - }, - theme_icons: { - type: 'array', - items: { - type: 'object', - properties: { - light: {type: 'string'}, - dark: {type: 'string'}, - size: {type: 'number'}, - }, - required: ['light', 'dark', 'size'], - }, + theme_icons: { + type: 'array', + items: { + type: 'object', + properties: { + light: string, + dark: string, + size: {type: 'number'}, }, + additionalProperties: false, + required: ['light', 'dark', 'size'], }, }, - page_action: { - type: 'object', - properties: { - ...actionProps, - // rest are FF only - hide_matches: arrStr, - show_matches: arrStr, - pinned: {type: 'boolean'}, + }, + additionalProperties: false, +}; + +const warBase = { + type: 'object', + properties: { + resources: arrStr, + matches: arrStr, + extension_ids: arrStr, + use_dynamic_url: boolean, + }, + additionalProperties: false, +}; + +const commonProps = { + name: string, + version: { + type: 'string', + __validate: validateVersion, + }, + default_locale: string, + description: string, + icons, + author: string, + chrome_settings_overrides: { + type: 'object', + properties: { + homepage: string, + search_provider: { + type: 'object', + properties: { + name: string, + keyword: string, + favicon_url: string, + search_url: string, + encoding: string, + suggest_url: string, + image_url: string, + instant_url: string, + search_url_post_params: string, + suggest_url_post_params: string, + image_url_post_params: string, + instant_url_post_params: string, + alternate_urls: arrStr, + prepopulated_id: {type: 'number'}, + is_default: boolean, + }, + additionalProperties: false, + required: ['name', 'search_url'], }, + startup_pages: arrStr, }, - author: {type: 'string'}, - background: { - type: 'object', - properties: { - scripts: arrStr, - page: {type: 'string'}, - persistent: {type: 'boolean'}, - }, + additionalProperties: false, + }, + chrome_url_overrides: { + type: 'object', + properties: { + bookmarks: string, + history: string, + newtab: string, }, - chrome_settings_overrides: { + additionalProperties: false, + }, + commands: ({ + type: 'object', + properties: {}, + additionalProperties: { type: 'object', properties: { - homepage: {type: 'string'}, - search_provider: { + suggested_key: { type: 'object', properties: { - name: {type: 'string'}, - keyword: {type: 'string'}, - favicon_url: {type: 'string'}, - search_url: {type: 'string'}, - encoding: {type: 'string'}, - suggest_url: {type: 'string'}, - image_url: {type: 'string'}, - instant_url: {type: 'string'}, - search_url_post_params: {type: 'string'}, - suggest_url_post_params: {type: 'string'}, - image_url_post_params: {type: 'string'}, - instant_url_post_params: {type: 'string'}, - alternate_urls: arrStr, - prepopulated_id: {type: 'number'}, - is_default: {type: 'boolean'}, + default: string, + mac: string, + linux: string, + windows: string, + chromeos: string, + android: string, + ios: string, }, - required: ['name', 'search_url'], + additionalProperties: false, }, - startup_pages: arrStr, + description: string, }, + additionalProperties: false, }, - chrome_url_overrides: { + }: SchemaEntity), + content_scripts: { + type: 'array', + items: { type: 'object', properties: { - bookmarks: {type: 'string'}, - history: {type: 'string'}, - newtab: {type: 'string'}, + matches: arrStr, + css: arrStr, + js: arrStr, + match_about_blank: boolean, + exclude_matches: arrStr, + include_globs: arrStr, + exclude_globs: arrStr, + run_at: { + type: 'string', + enum: ['document_idle', 'document_start', 'document_end'], + }, + all_frames: boolean, }, + additionalProperties: false, + required: ['matches'], }, - commands: ({ + }, + devtools_page: string, + // looks to be FF only + dictionaries: ({ + type: 'object', + properties: {}, + additionalProperties: string, + }: SchemaEntity), + externally_connectable: { + type: 'object', + properties: { + ids: arrStr, + matches: arrStr, + accept_tls_channel_id: boolean, + }, + additionalProperties: false, + }, + // These next two are where it gets a bit Chrome-y + // (we don't include all because some have next to no actual use) + file_browser_handlers: { + type: 'array', + items: { type: 'object', - properties: {}, - additionalProperties: { - type: 'object', - properties: { - suggested_key: { - type: 'object', - properties: { - default: {type: 'string'}, - mac: {type: 'string'}, - linux: {type: 'string'}, - windows: {type: 'string'}, - chromeos: {type: 'string'}, - android: {type: 'string'}, - ios: {type: 'string'}, - }, - }, - description: {type: 'string'}, - }, + properties: { + id: string, + default_title: string, + file_filters: arrStr, }, - }: SchemaEntity), - content_scripts: { - type: 'array', - items: { - type: 'object', - properties: { - matches: arrStr, - css: arrStr, - js: arrStr, - match_about_blank: {type: 'boolean'}, - exclude_matches: arrStr, - include_globs: arrStr, - exclude_globs: arrStr, - run_at: { - type: 'string', - enum: ['document_idle', 'document_start', 'document_end'], - }, - all_frames: {type: 'boolean'}, - }, - required: ['matches'], + additionalProperties: false, + required: ['id', 'default_title', 'file_filters'], + }, + }, + file_system_provider_capabilities: { + type: 'object', + properties: { + configurable: boolean, + multiple_mounts: boolean, + watchable: boolean, + source: { + type: 'string', + enum: ['file', 'device', 'network'], }, }, - content_security_policy: {type: 'string'}, - devtools_page: {type: 'string'}, - // looks to be FF only - dictionaries: ({ - type: 'object', - properties: {}, - additionalProperties: {type: 'string'}, - }: SchemaEntity), - externally_connectable: { + additionalProperties: false, + required: ['source'], + }, + homepage_url: string, + incognito: { + type: 'string', + enum: ['spanning', 'split', 'not_allowed'], + }, + minimum_chrome_version: { + type: 'string', + __validate: validateVersion, + }, + // No NaCl modules because deprecated + offline_enabled: boolean, + omnibox: ({ + type: 'object', + properties: {}, + additionalProperties: string, + }: SchemaEntity), + optional_permissions: arrStr, + // options_page is deprecated + options_ui: { + type: 'object', + properties: { + browser_style: boolean, + open_in_tab: boolean, + page: string, + }, + additionalProperties: false, + required: ['page'], + }, + permissions: arrStr, + // FF only, but has some use + protocol_handlers: { + type: 'array', + items: { type: 'object', properties: { - ids: arrStr, - matches: arrStr, - accept_tls_channel_id: {type: 'boolean'}, + protocol: string, + name: string, + uriTemplate: string, }, + additionalProperties: false, + required: ['protocol', 'name', 'uriTemplate'], }, - // These next two are where it gets a bit Chrome-y - // (we don't include all because some have next to no actual use) - file_browser_handlers: { - type: 'array', - items: { + }, + // Chrome only + requirements: { + type: 'object', + properties: { + '3D': { type: 'object', properties: { - id: {type: 'string'}, - default_title: {type: 'string'}, - file_filters: arrStr, - }, - required: ['id', 'default_title', 'file_filters'], - }, - }, - file_system_provider_capabilities: { - type: 'object', - properties: { - configurable: {type: 'boolean'}, - multiple_mounts: {type: 'boolean'}, - watchable: {type: 'boolean'}, - source: { - type: 'string', - enum: ['file', 'device', 'network'], + features: arrStr, }, + additionalProperties: false, }, - required: ['source'], }, - homepage_url: {type: 'string'}, - incognito: { - type: 'string', - enum: ['spanning', 'split', 'not_allowed'], + }, + // sandbox is deprecated + short_name: string, + // FF only, but has some use + sidebar_action: { + type: 'object', + properties: { + browser_style: actionProps.browser_style, + default_icon: actionProps.default_icon, + default_panel: string, + default_title: string, + open_at_install: boolean, }, - minimum_chrome_version: { - type: 'string', - __validate: validateVersion, + additionalProperties: false, + required: ['default_panel'], + }, + storage: { + type: 'object', + properties: { + managed_schema: string, }, - // No NaCl modules because deprecated - offline_enabled: {type: 'boolean'}, - omnibox: ({ - type: 'object', - properties: {}, - additionalProperties: {type: 'string'}, - }: SchemaEntity), - optional_permissions: arrStr, - // options_page is deprecated - options_ui: { - type: 'object', - properties: { - browser_style: {type: 'boolean'}, - open_in_tab: {type: 'boolean'}, - page: {type: 'string'}, + additionalProperties: false, + }, + theme: { + type: 'object', + properties: { + images: { + type: 'object', + properties: { + theme_frame: string, + additional_backgrounds: arrStr, + }, + additionalProperties: false, }, - required: ['page'], - }, - permissions: arrStr, - // FF only, but has some use - protocol_handlers: { - type: 'array', - items: { + colors: { type: 'object', properties: { - protocol: {type: 'string'}, - name: {type: 'string'}, - uriTemplate: {type: 'string'}, + bookmark_text: string, + button_background_active: string, + button_background_hover: string, + icons: string, + icons_attention: string, + frame: string, + frame_inactive: string, + ntp_background: string, + ntp_text: string, + popup: string, + popup_border: string, + popup_highlight: string, + popup_highlight_text: string, + popup_text: string, + sidebar: string, + sidebar_border: string, + sidebar_highlight: string, + sidebar_highlight_text: string, + sidebar_text: string, + tab_background_separator: string, + tab_background_text: string, + tab_line: string, + tab_loading: string, + tab_selected: string, + tab_text: string, + toolbar: string, + toolbar_bottom_separator: string, + toolbar_field: string, + toolbar_field_border: string, + toolbar_field_border_focus: string, + toolbar_field_focus: string, + toolbar_field_highlight: string, + toolbar_field_highlight_text: string, + toolbar_field_separator: string, + toolbar_field_text: string, + toolbar_field_text_focus: string, + toolbar_text: string, + toolbar_top_separator: string, + toolbar_vertical_separator: string, }, - required: ['protocol', 'name', 'uriTemplate'], + additionalProperties: false, }, - }, - // Chrome only - requirements: { - type: 'object', properties: { - '3D': { + type: 'object', + properties: { + additional_backgrounds_alignment: arrStr, + additional_backgrounds_tiling: { + type: 'array', + items: { + type: 'string', + enum: ['no-repeat', 'repeat', 'repeat-x', 'repeat-y'], + }, + }, + }, + additionalProperties: false, + }, + }, + additionalProperties: false, + required: ['colors'], + }, + tts_engine: { + type: 'object', + properties: { + voices: { + type: 'array', + items: { type: 'object', properties: { - features: arrStr, + voice_name: string, + lang: string, + event_type: { + type: 'string', + enum: ['start', 'word', 'sentence', 'marker', 'end', 'error'], + }, }, + additionalProperties: false, + required: ['voice_name', 'event_type'], }, }, }, - // sandbox is deprecated - short_name: {type: 'string'}, - // FF only, but has some use - sidebar_action: { + additionalProperties: false, + }, + user_scripts: { + type: 'object', + properties: { + api_script: string, + }, + additionalProperties: false, + }, + version_name: string, +}; + +export const MV3Schema = ({ + type: 'object', + properties: { + ...commonProps, + manifest_version: { + type: 'number', + enum: [3], + }, + action: browserAction, + background: { type: 'object', properties: { - browser_style: actionProps.browser_style, - default_icon: actionProps.default_icon, - default_panel: {type: 'string'}, - default_title: {type: 'string'}, - open_at_install: {type: 'boolean'}, + service_worker: string, + type: { + type: 'string', + enum: ['classic', 'module'], + }, }, - required: ['default_panel'], + additionalProperties: false, + required: ['service_worker'], }, - storage: { + content_security_policy: { type: 'object', properties: { - managed_schema: {type: 'string'}, + extension_pages: string, + sandbox: string, }, + additionalProperties: false, }, - theme: { - type: 'object', - properties: { - images: { - type: 'object', - properties: { - theme_frame: {type: 'string'}, - additional_backgrounds: arrStr, + host_permissions: arrStr, + web_accessible_resources: { + type: 'array', + items: { + oneOf: [ + { + ...warBase, + required: ['resources', 'matches'], }, - }, - colors: { - type: 'object', - properties: { - bookmark_text: {type: 'string'}, - button_background_active: {type: 'string'}, - button_background_hover: {type: 'string'}, - icons: {type: 'string'}, - icons_attention: {type: 'string'}, - frame: {type: 'string'}, - frame_inactive: {type: 'string'}, - ntp_background: {type: 'string'}, - ntp_text: {type: 'string'}, - popup: {type: 'string'}, - popup_border: {type: 'string'}, - popup_highlight: {type: 'string'}, - popup_highlight_text: {type: 'string'}, - popup_text: {type: 'string'}, - sidebar: {type: 'string'}, - sidebar_border: {type: 'string'}, - sidebar_highlight: {type: 'string'}, - sidebar_highlight_text: {type: 'string'}, - sidebar_text: {type: 'string'}, - tab_background_separator: {type: 'string'}, - tab_background_text: {type: 'string'}, - tab_line: {type: 'string'}, - tab_loading: {type: 'string'}, - tab_selected: {type: 'string'}, - tab_text: {type: 'string'}, - toolbar: {type: 'string'}, - toolbar_bottom_separator: {type: 'string'}, - toolbar_field: {type: 'string'}, - toolbar_field_border: {type: 'string'}, - toolbar_field_border_focus: {type: 'string'}, - toolbar_field_focus: {type: 'string'}, - toolbar_field_highlight: {type: 'string'}, - toolbar_field_highlight_text: {type: 'string'}, - toolbar_field_separator: {type: 'string'}, - toolbar_field_text: {type: 'string'}, - toolbar_field_text_focus: {type: 'string'}, - toolbar_text: {type: 'string'}, - toolbar_top_separator: {type: 'string'}, - toolbar_vertical_separator: {type: 'string'}, + { + ...warBase, + required: ['resources', 'extension_ids'], }, - }, - properties: { - type: 'object', - properties: { - additional_backgrounds_alignment: arrStr, - additional_backgrounds_tiling: { - type: 'array', - items: { - type: 'string', - enum: ['no-repeat', 'repeat', 'repeat-x', 'repeat-y'], - }, - }, - }, - }, + ], }, - required: ['colors'], }, - tts_engine: { + }, + additionalProperties: false, +}: SchemaEntity); + +export const MV2Schema = ({ + type: 'object', + properties: { + ...commonProps, + manifest_version: { + type: 'number', + enum: [2], + }, + background: { type: 'object', properties: { - voices: { - type: 'array', - items: { - type: 'object', - properties: { - voice_name: {type: 'string'}, - lang: {type: 'string'}, - event_type: { - type: 'string', - enum: ['start', 'word', 'sentence', 'marker', 'end', 'error'], - }, - }, - required: ['voice_name', 'event_type'], - }, - }, + scripts: arrStr, + page: string, + persistent: boolean, }, + additionalProperties: false, }, - user_scripts: { + browser_action: browserAction, + page_action: { type: 'object', properties: { - api_script: {type: 'string'}, + ...actionProps, + // rest are FF only + hide_matches: arrStr, + show_matches: arrStr, + pinned: boolean, }, + additionalProperties: false, }, - version_name: {type: 'string'}, + content_security_policy: string, web_accessible_resources: arrStr, }, + additionalProperties: false, +}: SchemaEntity); + +export const VersionSchema = ({ + type: 'object', + properties: { + manifest_version: { + type: 'number', + enum: [2, 3], + }, + }, }: SchemaEntity); diff --git a/packages/utils/fs-write-stream-atomic/index.js b/packages/utils/fs-write-stream-atomic/index.js index 849ea300260..eec056fb25f 100644 --- a/packages/utils/fs-write-stream-atomic/index.js +++ b/packages/utils/fs-write-stream-atomic/index.js @@ -64,25 +64,25 @@ function WriteStreamAtomic(path, options) { // data has been written to our target stream. So we suppress // finish from being emitted here, and only emit it after our // target stream is closed and we've moved everything around. -WriteStreamAtomic.prototype.emit = function (event) { +WriteStreamAtomic.prototype.emit = function(event) { if (event === 'finish') return this.__atomicStream.end(); return Writable.prototype.emit.apply(this, arguments); }; -WriteStreamAtomic.prototype._write = function (buffer, encoding, cb) { +WriteStreamAtomic.prototype._write = function(buffer, encoding, cb) { var flushed = this.__atomicStream.write(buffer, encoding); if (flushed) return cb(); this.__atomicStream.once('drain', cb); }; function handleOpen(writeStream) { - return function (fd) { + return function(fd) { writeStream.emit('open', fd); }; } function handleClose(writeStream) { - return function () { + return function() { if (writeStream.__atomicClosed) return; writeStream.__atomicClosed = true; if (writeStream.__atomicChown) { @@ -127,13 +127,13 @@ function handleClose(writeStream) { var targetFileHash = crypto.createHash('sha512'); fs.createReadStream(writeStream.__atomicTmp) - .on('data', function (data, enc) { + .on('data', function(data, enc) { tmpFileHash.update(data, enc); }) .on('error', fileHashError) .on('end', fileHashComplete); fs.createReadStream(writeStream.__atomicTarget) - .on('data', function (data, enc) { + .on('data', function(data, enc) { targetFileHash.update(data, enc); }) .on('error', fileHashError) @@ -157,7 +157,7 @@ function handleClose(writeStream) { } function cleanup(err) { - fs.unlink(writeStream.__atomicTmp, function () { + fs.unlink(writeStream.__atomicTmp, function() { if (err) { writeStream.emit('error', err); writeStream.emit('close'); @@ -175,14 +175,14 @@ function handleClose(writeStream) { // Delay the close to provide the same temporal separation a physical // file operation would have– that is, the close event is emitted only // after the async close operation completes. - setImmediate(function () { + setImmediate(function() { writeStream.emit('close'); }); } } function handleError(writeStream) { - return function (er) { + return function(er) { cleanupSync(); writeStream.emit('error', er); writeStream.__atomicClosed = true; diff --git a/packages/utils/hash/browser.js b/packages/utils/hash/browser.js index 7f75a142370..d5f4dbc8d27 100644 --- a/packages/utils/hash/browser.js +++ b/packages/utils/hash/browser.js @@ -49,7 +49,13 @@ function concatUint8Arrays(arrays) { function toHex(arr) { let dataView = new DataView(arr.buffer); return ( - dataView.getUint32(0, true).toString(16).padStart(8, '0') + - dataView.getUint32(4, true).toString(16).padStart(8, '0') + dataView + .getUint32(0, true) + .toString(16) + .padStart(8, '0') + + dataView + .getUint32(4, true) + .toString(16) + .padStart(8, '0') ); } From 2b0b677e63b182f6d06c5e48b8d4626aea9b9e06 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Mon, 11 Apr 2022 15:50:57 -0700 Subject: [PATCH 0249/1076] ScopeHoistingPackager: Wrap assets when any ancestor is wrapped (#7883) * Add test for wrapping assets, even if the first ancestor is not * ScopeHoistingPackager: Handle different wrapped ancestries in wrapping dfs --- packages/core/core/src/BundleGraph.js | 9 ++++++-- packages/core/core/src/public/Bundle.js | 6 +++++- .../es6/multiple-ancestors-wrap/index.js | 4 ++++ .../shouldBeWrapped.js | 1 + .../es6/multiple-ancestors-wrap/wraps.js | 5 +++++ .../integration-tests/test/scope-hoisting.js | 21 +++++++++++++++++++ packages/core/types/index.js | 5 ++++- .../packagers/js/src/ScopeHoistingPackager.js | 20 +++++++++++++++--- 8 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/index.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/shouldBeWrapped.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/wraps.js diff --git a/packages/core/core/src/BundleGraph.js b/packages/core/core/src/BundleGraph.js index 537ecc0f78a..3f0de396c84 100644 --- a/packages/core/core/src/BundleGraph.js +++ b/packages/core/core/src/BundleGraph.js @@ -860,10 +860,12 @@ export default class BundleGraph { traverseAssets( bundle: Bundle, visit: GraphVisitor, + startAsset?: Asset, ): ?TContext { return this.traverseBundle( bundle, mapVisitor(node => (node.type === 'asset' ? node.value : null), visit), + startAsset, ); } @@ -1057,8 +1059,9 @@ export default class BundleGraph { traverseBundle( bundle: Bundle, visit: GraphVisitor, + startAsset?: Asset, ): ?TContext { - let entries = true; + let entries = !startAsset; let bundleNodeId = this._graph.getNodeIdByContentKey(bundle.id); // A modified DFS traversal which traverses entry assets in the same order @@ -1085,7 +1088,9 @@ export default class BundleGraph { actions.skipChildren(); }, visit), - startNodeId: bundleNodeId, + startNodeId: startAsset + ? this._graph.getNodeIdByContentKey(startAsset.id) + : bundleNodeId, getChildren: nodeId => { let children = this._graph .getNodeIdsConnectedFrom(nodeId) diff --git a/packages/core/core/src/public/Bundle.js b/packages/core/core/src/public/Bundle.js index 3581678d33d..fb95d1a5359 100644 --- a/packages/core/core/src/public/Bundle.js +++ b/packages/core/core/src/public/Bundle.js @@ -186,10 +186,14 @@ export class Bundle implements IBundle { ); } - traverseAssets(visit: GraphVisitor): ?TContext { + traverseAssets( + visit: GraphVisitor, + startAsset?: IAsset, + ): ?TContext { return this.#bundleGraph.traverseAssets( this.#bundle, mapVisitor(asset => assetFromValue(asset, this.#options), visit), + startAsset ? assetToAssetValue(startAsset) : undefined, ); } } diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/index.js new file mode 100644 index 00000000000..ebf8b39436c --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/index.js @@ -0,0 +1,4 @@ +import value from './shouldBeWrapped'; +import otherValue from './wraps'; + +output = [value, otherValue]; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/shouldBeWrapped.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/shouldBeWrapped.js new file mode 100644 index 00000000000..7a4e8a723a4 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/shouldBeWrapped.js @@ -0,0 +1 @@ +export default 42; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/wraps.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/wraps.js new file mode 100644 index 00000000000..96d9fbd4023 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/multiple-ancestors-wrap/wraps.js @@ -0,0 +1,5 @@ +import value from './shouldBeWrapped'; + +eval('void 0'); + +export default value + 1; diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index b1632bfc83e..39592f262c4 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -1003,6 +1003,27 @@ describe('scope hoisting', function () { assert.deepEqual(output, ['a', true]); }); + it('wraps an asset if any of its ancestors is wrapped, even if one is not', async function () { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/multiple-ancestors-wrap/index.js', + ), + ); + + let contents = await outputFS.readFile( + b.getBundles()[0].filePath, + 'utf8', + ); + assert.strictEqual( + contents.match(/parcelRequire.register\(/g).length, + 2 /* once for parent asset, once for child wrapped asset */, + ); + + let output = await run(b); + assert.deepEqual(output, [42, 43]); + }); + it('supports importing from a wrapped asset with multiple bailouts', async function () { let b = await bundle( path.join( diff --git a/packages/core/types/index.js b/packages/core/types/index.js index 49b6d225741..d4def0daf83 100644 --- a/packages/core/types/index.js +++ b/packages/core/types/index.js @@ -1247,7 +1247,10 @@ export interface Bundle { /** Returns whether the bundle includes the given dependency. */ hasDependency(Dependency): boolean; /** Traverses the assets in the bundle. */ - traverseAssets(visit: GraphVisitor): ?TContext; + traverseAssets( + visit: GraphVisitor, + startAsset?: Asset, + ): ?TContext; /** Traverses assets and dependencies in the bundle. */ traverse( visit: GraphVisitor, diff --git a/packages/packagers/js/src/ScopeHoistingPackager.js b/packages/packagers/js/src/ScopeHoistingPackager.js index 0de4917c81e..c87451a3c19 100644 --- a/packages/packagers/js/src/ScopeHoistingPackager.js +++ b/packages/packagers/js/src/ScopeHoistingPackager.js @@ -247,7 +247,7 @@ export class ScopeHoistingPackager { async loadAssets(): Promise> { let queue = new PromiseQueue({maxConcurrent: 32}); let wrapped = []; - this.bundle.traverseAssets((asset, shouldWrap) => { + this.bundle.traverseAssets(asset => { queue.add(async () => { let [code, map] = await Promise.all([ asset.getCode(), @@ -257,7 +257,6 @@ export class ScopeHoistingPackager { }); if ( - shouldWrap || asset.meta.shouldWrap || this.isAsyncBundle || this.bundle.env.sourceType === 'script' || @@ -268,10 +267,25 @@ export class ScopeHoistingPackager { ) { this.wrappedAssets.add(asset.id); wrapped.push(asset); - return true; } }); + for (let wrappedAssetRoot of [...wrapped]) { + this.bundle.traverseAssets((asset, _, actions) => { + if (asset === wrappedAssetRoot) { + return; + } + + if (this.wrappedAssets.has(asset.id)) { + actions.skipChildren(); + return; + } + + this.wrappedAssets.add(asset.id); + wrapped.push(asset); + }, wrappedAssetRoot); + } + this.assetOutputs = new Map(await queue.run()); return wrapped; } From 8daaed8a8c263635ef9e6c678fd92fef8c042c74 Mon Sep 17 00:00:00 2001 From: 101arrowz Date: Tue, 12 Apr 2022 03:08:58 -0700 Subject: [PATCH 0250/1076] Fix web extension schema (#7938) --- packages/transformers/webextension/src/schema.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/transformers/webextension/src/schema.js b/packages/transformers/webextension/src/schema.js index 8c06dc679c5..1a6252bca10 100644 --- a/packages/transformers/webextension/src/schema.js +++ b/packages/transformers/webextension/src/schema.js @@ -445,6 +445,7 @@ export const MV3Schema = ({ }, }, }, + required: ['manifest_version', 'name', 'version'], additionalProperties: false, }: SchemaEntity); @@ -480,6 +481,7 @@ export const MV2Schema = ({ content_security_policy: string, web_accessible_resources: arrStr, }, + required: ['manifest_version', 'name', 'version'], additionalProperties: false, }: SchemaEntity); @@ -491,4 +493,5 @@ export const VersionSchema = ({ enum: [2, 3], }, }, + required: ['manifest_version'], }: SchemaEntity); From 0e2ebd5e376bb1e8ca6dd9256742cb0df1da9d27 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Wed, 13 Apr 2022 03:52:39 +0200 Subject: [PATCH 0251/1076] getSymbolResolution: fallback to asset's symbol with non-static dependencies (#7944) --- packages/core/core/src/BundleGraph.js | 31 ++++++++++++++----- .../formats/esm-filename-import/index.js | 3 ++ .../formats/esm-filename-import/package.json | 8 +++++ .../formats/esm-filename-import/yarn.lock | 0 .../integration-tests/test/output-formats.js | 11 +++++++ 5 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/formats/esm-filename-import/index.js create mode 100644 packages/core/integration-tests/test/integration/formats/esm-filename-import/package.json create mode 100644 packages/core/integration-tests/test/integration/formats/esm-filename-import/yarn.lock diff --git a/packages/core/core/src/BundleGraph.js b/packages/core/core/src/BundleGraph.js index 3f0de396c84..4ee291557fd 100644 --- a/packages/core/core/src/BundleGraph.js +++ b/packages/core/core/src/BundleGraph.js @@ -1398,13 +1398,14 @@ export default class BundleGraph { } let found = false; + let nonStaticDependency = false; let skipped = false; let deps = this.getDependencies(asset).reverse(); let potentialResults = []; for (let dep of deps) { let depSymbols = dep.symbols; if (!depSymbols) { - found = true; + nonStaticDependency = true; continue; } // If this is a re-export, find the original module. @@ -1523,15 +1524,31 @@ export default class BundleGraph { // ..., but if it does exist, it has to be behind this one reexport. return potentialResults[0]; } else { - // ... and there is no single reexport, but `bailout` tells us if it might still be exported. + let result = identifier; + if (skipped) { + // ... and it was excluded (by symbol propagation) or deferred. + result = false; + } else { + // ... and there is no single reexport, but it might still be exported: + if (found) { + // Fallback to namespace access, because of a bundle boundary. + result = null; + } else if (result === undefined) { + // If not exported explicitly by the asset (= would have to be in * or a reexport-all) ... + if (nonStaticDependency || asset.symbols?.has('*')) { + // ... and if there are non-statically analyzable dependencies or it's a CJS asset, + // fallback to namespace access. + result = null; + } + // (It shouldn't be possible for the symbol to be in a reexport-all and to end up here). + // Otherwise return undefined to report that the symbol wasn't found. + } + } + return { asset, exportSymbol: symbol, - symbol: skipped - ? false - : found - ? null - : identifier ?? (asset.symbols?.has('*') ? null : undefined), + symbol: result, loc: asset.symbols?.get(symbol)?.loc, }; } diff --git a/packages/core/integration-tests/test/integration/formats/esm-filename-import/index.js b/packages/core/integration-tests/test/integration/formats/esm-filename-import/index.js new file mode 100644 index 00000000000..b58a6e7c90b --- /dev/null +++ b/packages/core/integration-tests/test/integration/formats/esm-filename-import/index.js @@ -0,0 +1,3 @@ +import path from "path"; + +export const foo = __filename; diff --git a/packages/core/integration-tests/test/integration/formats/esm-filename-import/package.json b/packages/core/integration-tests/test/integration/formats/esm-filename-import/package.json new file mode 100644 index 00000000000..b02e8668a8e --- /dev/null +++ b/packages/core/integration-tests/test/integration/formats/esm-filename-import/package.json @@ -0,0 +1,8 @@ +{ + "name": "esm-filename-import", + "private": true, + "main": "dist/index.js", + "engines": { + "node": ">=10" + } +} diff --git a/packages/core/integration-tests/test/integration/formats/esm-filename-import/yarn.lock b/packages/core/integration-tests/test/integration/formats/esm-filename-import/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/output-formats.js b/packages/core/integration-tests/test/output-formats.js index 834dc7a56f0..7b71ef26b90 100644 --- a/packages/core/integration-tests/test/output-formats.js +++ b/packages/core/integration-tests/test/output-formats.js @@ -1206,6 +1206,17 @@ describe('output formats', function () { assert.deepEqual({...ns}, {default: {default: 'default'}}); }); + it('should support rewriting filename and importing path', async function () { + let input = path.join( + __dirname, + '/integration/formats/esm-filename-import/index.js', + ); + let b = await bundle(input); + + let ns = await run(b); + assert.deepEqual(ns.foo, input); + }); + it('should rename shadowed imported specifiers to something unique', async function () { let b = await bundle( path.join(__dirname, '/integration/formats/esm-import-shadow/a.mjs'), From 1bca9dbb73cfbb39583e4b1f04e5fdf529762355 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Wed, 13 Apr 2022 22:45:04 +0200 Subject: [PATCH 0252/1076] Workaround to undo `__filename` rewriting in parcel/package-manager (#7948) --- gulpfile.js | 5 +---- packages/core/package-manager/src/installPackage.js | 8 +++++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index d369fe0b685..3b61057ad4d 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -29,10 +29,7 @@ const paths = { '!**/dev-prelude.js', ...IGNORED_PACKAGES, ], - packageOther: [ - 'packages/*/*/src/**/dev-prelude.js', - 'packages/*/dev-server/src/templates/**', - ], + packageOther: ['packages/*/*/src/**/dev-prelude.js'], packageJson: [ 'packages/core/parcel/package.json', 'packages/utils/create-react-app/package.json', diff --git a/packages/core/package-manager/src/installPackage.js b/packages/core/package-manager/src/installPackage.js index 0c85d8011f1..f23ba1c36f5 100644 --- a/packages/core/package-manager/src/installPackage.js +++ b/packages/core/package-manager/src/installPackage.js @@ -246,8 +246,14 @@ export function installPackage( ): Promise { if (WorkerFarm.isWorker()) { let workerApi = WorkerFarm.getWorkerApi(); + // TODO this should really be `__filename` but without the rewriting. + let bundlePath = + process.env.PARCEL_BUILD_ENV === 'production' && + !process.env.PARCEL_SELF_BUILD + ? path.join(__dirname, '..', 'lib/index.js') + : __filename; return workerApi.callMaster({ - location: __filename, + location: bundlePath, args: [fs, packageManager, modules, filePath, projectRoot, options], method: '_addToInstallQueue', }); From ddd640c51a5b7ae8ce406d973584af8f4e2a4993 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Fri, 15 Apr 2022 16:07:04 +0200 Subject: [PATCH 0253/1076] Fix some internal peer dependency warnings (#7939) --- package.json | 1 + packages/configs/webextension/package.json | 3 +++ packages/core/parcel/package.json | 1 + packages/core/utils/package.json | 1 - packages/dev/babel-register/package.json | 3 +++ packages/dev/eslint-config-browser/package.json | 4 ++++ packages/dev/eslint-config/package.json | 4 ++++ packages/dev/eslint-plugin/package.json | 1 + packages/dev/esm-fuzzer/package.json | 1 + packages/examples/eslint-example/package.json | 4 +++- packages/examples/html/package.json | 1 + packages/examples/kitchen-sink/package.json | 2 ++ packages/examples/react-refresh/package.json | 1 + packages/examples/simple/package.json | 1 + packages/examples/three/package.json | 2 ++ packages/examples/ts-example/package.json | 1 + packages/examples/ts-typecheck-example/package.json | 1 + packages/utils/create-react-app/package.json | 1 + yarn.lock | 4 ++-- 19 files changed, 33 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 00b6b9e25f5..8c7718d085f 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@babel/core": "^7.12.0", "@khanacademy/flow-to-ts": "^0.5.2", "@napi-rs/cli": "1.0.4", + "@parcel/babel-register": "2.4.1", "@types/node": "^15.12.4", "cross-env": "^7.0.0", "eslint": "^7.20.0", diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index c1bc300e9ce..63dcfd892e6 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -20,5 +20,8 @@ "@parcel/runtime-webextension": "2.4.1", "@parcel/transformer-raw": "2.4.1", "@parcel/transformer-webextension": "2.4.1" + }, + "peerDependencies": { + "@parcel/core": "^2.4.1" } } diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index 7904fb61378..4e3f26baf3e 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -37,6 +37,7 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { + "@babel/core": "^7.0.0", "@parcel/babel-register": "2.4.1" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 9030d3d1e73..51c956e4bae 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -42,7 +42,6 @@ "chalk": "^4.1.0" }, "devDependencies": { - "@babel/plugin-transform-flow-strip-types": "^7.2.0", "@iarna/toml": "^2.2.0", "ansi-html-community": "0.0.8", "clone": "^2.1.1", diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index e33827012c3..d4d93481d91 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -12,5 +12,8 @@ "@babel/register": "^7.4.4", "@parcel/babel-preset": "2.4.1", "resolve": "^1.12.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index 81ece51f124..13508feea8f 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -4,5 +4,9 @@ "version": "2.4.1", "dependencies": { "@parcel/eslint-config": "2.4.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "eslint": ">= 7.0.0" } } diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index 47448758a50..a62aa0740d4 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -11,5 +11,9 @@ "eslint-plugin-mocha": "^8.0.0", "eslint-plugin-monorepo": "^0.3.2", "eslint-plugin-react": "^7.22.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "eslint": ">= 7.0.0" } } diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index 2a6490199d4..6c24a45aa93 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -8,6 +8,7 @@ "read-pkg-up": "^5.0.0" }, "devDependencies": { + "@babel/core": "^7.0.0", "@babel/eslint-parser": "^7.12.1", "eslint": "^7.20.0" } diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index 0afd81e2b40..789372cdc5a 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -6,6 +6,7 @@ "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules -r @parcel/babel-register index.js" }, "dependencies": { + "@babel/core": "^7.0.0", "@babel/generator": "^7.9.0", "@babel/template": "^7.8.6", "@babel/types": "^7.9.0", diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index 963d6d8978d..3b6facb0af2 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -17,8 +17,10 @@ } }, "devDependencies": { + "@babel/core": "^7.0.0", "@parcel/babel-register": "2.4.1", "@parcel/core": "2.4.1", - "@parcel/validator-eslint": "2.4.1" + "@parcel/validator-eslint": "2.4.1", + "parcel": "2.4.1" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index 0a42f2daf0a..6d9d931fceb 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -12,6 +12,7 @@ "not firefox < 67" ], "devDependencies": { + "@babel/core": "^7.0.0", "@parcel/babel-register": "2.4.1", "parcel": "2.4.1" }, diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index cc967004eae..f4b05266a54 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -8,8 +8,10 @@ "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { + "@babel/core": "^7.0.0", "@parcel/babel-register": "2.4.1", "@parcel/config-default": "2.4.1", + "@parcel/core": "2.4.1", "@parcel/optimizer-esbuild": "2.4.1", "@parcel/reporter-sourcemap-visualiser": "2.4.1", "parcel": "2.4.1" diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index f8060a2dc05..e4851a79193 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -7,6 +7,7 @@ "start": "parcel src/index.html" }, "devDependencies": { + "@babel/core": "^7.0.0", "@parcel/babel-register": "2.4.1", "@parcel/core": "2.4.1" }, diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index ac6c6f81775..aac1351ae93 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -8,6 +8,7 @@ "clean-demo": "rm -rf .parcel-cache dist && yarn demo" }, "devDependencies": { + "@babel/core": "^7.0.0", "@parcel/babel-register": "2.4.1", "@parcel/core": "2.4.1" }, diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index beb5e99487d..fa45c403341 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -28,6 +28,8 @@ }, "devDependencies": { "@parcel/config-default": "2.4.1", + "@parcel/core": "2.4.1", + "@parcel/optimizer-esbuild": "2.4.1", "parcel": "2.4.1" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index bc222a4f7e2..f249bc8bae6 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -7,6 +7,7 @@ "demo": "parcel build src/index.ts --no-cache" }, "devDependencies": { + "@babel/core": "^7.0.0", "@parcel/babel-register": "2.4.1", "@parcel/core": "2.4.1" }, diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index 06e23418ae7..d1f9f996574 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -17,6 +17,7 @@ } }, "devDependencies": { + "@babel/core": "^7.0.0", "@parcel/babel-register": "2.4.1", "@parcel/core": "2.4.1", "@parcel/validator-typescript": "2.4.1" diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 7a9178884f0..2237d7ec7cb 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -31,6 +31,7 @@ "v8-compile-cache": "^2.0.0" }, "devDependencies": { + "@babel/core": "^7.0.0", "@parcel/babel-register": "2.4.1" } } diff --git a/yarn.lock b/yarn.lock index bafcf838a20..16ba0949488 100644 --- a/yarn.lock +++ b/yarn.lock @@ -43,7 +43,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.12.0", "@babel/core@^7.12.2", "@babel/core@^7.15.5": +"@babel/core@^7.0.0", "@babel/core@^7.12.0", "@babel/core@^7.12.2", "@babel/core@^7.15.5": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== @@ -639,7 +639,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-flow-strip-types@^7.13.0", "@babel/plugin-transform-flow-strip-types@^7.2.0": +"@babel/plugin-transform-flow-strip-types@^7.13.0": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz#58177a48c209971e8234e99906cb6bd1122addd3" integrity sha512-EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg== From 681f2b348dda36bce27914051f245604bb94f14e Mon Sep 17 00:00:00 2001 From: Shinobu Hayashi Date: Sat, 16 Apr 2022 01:29:50 +0900 Subject: [PATCH 0254/1076] Fix: load .env value also if entry target is specified with `source` value in package.json (#7537) Co-authored-by: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> --- packages/core/core/src/resolveOptions.js | 18 ++++++++++++++++-- .../env-file-with-package-source/.env | 2 ++ .../env-file-with-package-source/index.js | 1 + .../env-file-with-package-source/package.json | 4 ++++ .../env-file-with-package-source/yarn.lock | 0 .../core/integration-tests/test/javascript.js | 9 +++++++++ 6 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/env-file-with-package-source/.env create mode 100644 packages/core/integration-tests/test/integration/env-file-with-package-source/index.js create mode 100644 packages/core/integration-tests/test/integration/env-file-with-package-source/package.json create mode 100644 packages/core/integration-tests/test/integration/env-file-with-package-source/yarn.lock diff --git a/packages/core/core/src/resolveOptions.js b/packages/core/core/src/resolveOptions.js index 42c52979296..3eb9be354e5 100644 --- a/packages/core/core/src/resolveOptions.js +++ b/packages/core/core/src/resolveOptions.js @@ -14,7 +14,7 @@ import {hashString} from '@parcel/hash'; import {NodeFS} from '@parcel/fs'; import {LMDBCache, FSCache} from '@parcel/cache'; import {NodePackageManager} from '@parcel/package-manager'; -import {getRootDir, relativePath, resolveConfig} from '@parcel/utils'; +import {getRootDir, relativePath, resolveConfig, isGlob} from '@parcel/utils'; import loadDotEnv from './loadDotEnv'; import {toProjectPath} from './projectPath'; import {getResolveFrom} from './requests/ParcelConfigRequest'; @@ -50,7 +50,21 @@ export default async function resolveOptions( entries = [path.resolve(inputCwd, initialOptions.entries)]; } - let entryRoot = getRootDir(entries); + let shouldMakeEntryReferFolder = false; + if (entries.length === 1 && !isGlob(entries[0])) { + let [entry] = entries; + try { + shouldMakeEntryReferFolder = (await inputFS.stat(entry)).isDirectory(); + } catch { + // ignore failing stat call + } + } + + // getRootDir treats the input as files, so getRootDir(["/home/user/myproject"]) returns "/home/user". + // Instead we need to make the the entry refer to some file inside the specified folders if entries refers to the directory. + let entryRoot = getRootDir( + shouldMakeEntryReferFolder ? [path.join(entries[0], 'index')] : entries, + ); let projectRootFile = (await resolveConfig( inputFS, diff --git a/packages/core/integration-tests/test/integration/env-file-with-package-source/.env b/packages/core/integration-tests/test/integration/env-file-with-package-source/.env new file mode 100644 index 00000000000..3552f1442f9 --- /dev/null +++ b/packages/core/integration-tests/test/integration/env-file-with-package-source/.env @@ -0,0 +1,2 @@ +FOO=bar +BAR=test diff --git a/packages/core/integration-tests/test/integration/env-file-with-package-source/index.js b/packages/core/integration-tests/test/integration/env-file-with-package-source/index.js new file mode 100644 index 00000000000..e81b72112b6 --- /dev/null +++ b/packages/core/integration-tests/test/integration/env-file-with-package-source/index.js @@ -0,0 +1 @@ +module.exports = process.env.FOO + process.env.BAR; diff --git a/packages/core/integration-tests/test/integration/env-file-with-package-source/package.json b/packages/core/integration-tests/test/integration/env-file-with-package-source/package.json new file mode 100644 index 00000000000..2db67e93689 --- /dev/null +++ b/packages/core/integration-tests/test/integration/env-file-with-package-source/package.json @@ -0,0 +1,4 @@ +{ + "name": "env-file-with-package-source", + "source": "index.js" +} \ No newline at end of file diff --git a/packages/core/integration-tests/test/integration/env-file-with-package-source/yarn.lock b/packages/core/integration-tests/test/integration/env-file-with-package-source/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index 5d0624d77ac..3f85fdeb344 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -3113,6 +3113,15 @@ describe('javascript', function () { assert.equal(output, 'barbaz'); }); + it('should insert environment variables from a file even if entry file is specified with source value in package.json', async function () { + let b = await bundle( + path.join(__dirname, '/integration/env-file-with-package-source'), + ); + + let output = await run(b); + assert.equal(output, 'bartest'); + }); + it('should error on process.env mutations', async function () { let filePath = path.join(__dirname, '/integration/env-mutate/index.js'); await assert.rejects(bundle(filePath), { From 3e5b6c862efe926a3af1511eac77a0d7c78cfcec Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Sat, 16 Apr 2022 20:58:02 +0200 Subject: [PATCH 0255/1076] Correctly remove orphaned non-tree subgraphs (#7927) --- packages/core/graph/src/Graph.js | 16 +++++++++------ packages/core/graph/test/Graph.test.js | 27 +++++++++++++++++++------- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/packages/core/graph/src/Graph.js b/packages/core/graph/src/Graph.js index 58aec325b92..6a3b5b64466 100644 --- a/packages/core/graph/src/Graph.js +++ b/packages/core/graph/src/Graph.js @@ -137,7 +137,9 @@ export default class Graph { // Removes node and any edges coming from or to that node removeNode(nodeId: NodeId) { - this._assertHasNodeId(nodeId); + if (!this.hasNode(nodeId)) { + return; + } for (let {type, from} of this.adjacencyList.getInboundEdgesByType(nodeId)) { this.removeEdge( @@ -159,7 +161,9 @@ export default class Graph { } removeEdges(nodeId: NodeId, type: TEdgeType | NullEdgeType = 1) { - this._assertHasNodeId(nodeId); + if (!this.hasNode(nodeId)) { + return; + } for (let to of this.getNodeIdsConnectedFrom(nodeId, type)) { this.removeEdge(nodeId, to, type); @@ -174,9 +178,7 @@ export default class Graph { removeOrphans: boolean = true, ) { if (!this.adjacencyList.hasEdge(from, to, type)) { - throw new Error( - `Edge from ${fromNodeId(from)} to ${fromNodeId(to)} not found!`, - ); + return; } this.adjacencyList.removeEdge(from, to, type); @@ -186,7 +188,9 @@ export default class Graph { } isOrphanedNode(nodeId: NodeId): boolean { - this._assertHasNodeId(nodeId); + if (!this.hasNode(nodeId)) { + return false; + } if (this.rootNodeId == null) { // If the graph does not have a root, and there are inbound edges, diff --git a/packages/core/graph/test/Graph.test.js b/packages/core/graph/test/Graph.test.js index a25323b4ef1..c709fb2474a 100644 --- a/packages/core/graph/test/Graph.test.js +++ b/packages/core/graph/test/Graph.test.js @@ -20,13 +20,6 @@ describe('Graph', () => { assert.equal(graph.nodes.get(id), node); }); - it("errors when removeNode is called with a node that doesn't belong", () => { - let graph = new Graph(); - assert.throws(() => { - graph.removeNode(toNodeId(-1)); - }, /Does not have node/); - }); - it('errors when traversing a graph with no root', () => { let graph = new Graph(); @@ -317,4 +310,24 @@ describe('Graph', () => { assert.deepEqual(visited, [nodeA, nodeB, nodeD]); }); + + it('correctly removes non-tree subgraphs', () => { + let graph = new Graph(); + let nodeRoot = graph.addNode('root'); + let node1 = graph.addNode('1'); + let node2 = graph.addNode('2'); + let node3 = graph.addNode('3'); + + graph.addEdge(nodeRoot, node1); + graph.addEdge(node1, node2); + graph.addEdge(node1, node3); + graph.addEdge(node2, node3); + + graph.setRootNodeId(nodeRoot); + + graph.removeNode(node1); + + assert.strictEqual(graph.nodes.size, 1); + assert.deepStrictEqual(Array.from(graph.getAllEdges()), []); + }); }); From 6851d07fca6a0c97f669462914b5d5cdfbf84a04 Mon Sep 17 00:00:00 2001 From: 101arrowz Date: Sun, 17 Apr 2022 11:45:12 -0700 Subject: [PATCH 0256/1076] Webextension fixes (#7958) --- .../webextension/src/WebExtensionPackager.js | 36 ++++++++++--------- .../src/WebExtensionTransformer.js | 11 ++++++ .../transformers/webextension/src/schema.js | 8 +++++ 3 files changed, 39 insertions(+), 16 deletions(-) diff --git a/packages/packagers/webextension/src/WebExtensionPackager.js b/packages/packagers/webextension/src/WebExtensionPackager.js index ffa13bb7736..f75c2e7f6ae 100644 --- a/packages/packagers/webextension/src/WebExtensionPackager.js +++ b/packages/packagers/webextension/src/WebExtensionPackager.js @@ -42,22 +42,26 @@ export default (new Packager({ ), ]; - war.push({ - matches: contentScript.matches, - extension_ids: [], - resources: jsBundles - .flatMap(b => { - const children = []; - const siblings = bundleGraph.getReferencedBundles(b); - bundleGraph.traverseBundles(child => { - if (b !== child && !siblings.includes(child)) { - children.push(child); - } - }, b); - return children; - }) - .map(relPath), - }); + const resources = jsBundles + .flatMap(b => { + const children = []; + const siblings = bundleGraph.getReferencedBundles(b); + bundleGraph.traverseBundles(child => { + if (b !== child && !siblings.includes(child)) { + children.push(child); + } + }, b); + return children; + }) + .map(relPath); + + if (resources.length > 0) { + // In the future, maybe use "matches" as well + war.push({ + extension_ids: [], + resources, + }); + } } manifest.web_accessible_resources = ( manifest.web_accessible_resources || [] diff --git a/packages/transformers/webextension/src/WebExtensionTransformer.js b/packages/transformers/webextension/src/WebExtensionTransformer.js index 9c9a72eb248..d8b18e0f0a7 100644 --- a/packages/transformers/webextension/src/WebExtensionTransformer.js +++ b/packages/transformers/webextension/src/WebExtensionTransformer.js @@ -99,6 +99,7 @@ async function collectDependencies( assets[j] = asset.addURLDependency(assets[j], { // This causes the packager to re-run when these assets update priority: 'parallel', + bundleBehavior: 'isolated', loc: { filePath, ...getJSONSourceLocation( @@ -190,6 +191,8 @@ async function collectDependencies( await glob(path.join(assetDir, files[j]), fs, {}) ).map(fp => asset.addURLDependency(path.relative(assetDir, fp), { + priority: 'parallel', + bundleBehavior: 'isolated', needsStableName: true, loc: { filePath, @@ -224,6 +227,8 @@ async function collectDependencies( const obj = parent[lastLoc]; if (typeof obj == 'string') parent[lastLoc] = asset.addURLDependency(obj, { + priority: 'parallel', + bundleBehavior: 'isolated', loc: { filePath, ...getJSONSourceLocation(ptrs[location], 'value'), @@ -233,6 +238,8 @@ async function collectDependencies( else { for (const k of Object.keys(obj)) { obj[k] = asset.addURLDependency(obj[k], { + priority: 'parallel', + bundleBehavior: 'isolated', loc: { filePath, ...getJSONSourceLocation(ptrs[location + '/' + k], 'value'), @@ -247,6 +254,8 @@ async function collectDependencies( program.background.page = asset.addURLDependency( program.background.page, { + priority: 'parallel', + bundleBehavior: 'isolated', loc: { filePath, ...getJSONSourceLocation(ptrs['/background/page'], 'value'), @@ -285,6 +294,8 @@ async function collectDependencies( program.background.service_worker = asset.addURLDependency( program.background.service_worker, { + priority: 'parallel', + bundleBehavior: 'isolated', loc: { filePath, ...getJSONSourceLocation( diff --git a/packages/transformers/webextension/src/schema.js b/packages/transformers/webextension/src/schema.js index 1a6252bca10..1a26d3a351c 100644 --- a/packages/transformers/webextension/src/schema.js +++ b/packages/transformers/webextension/src/schema.js @@ -85,6 +85,14 @@ const commonProps = { description: string, icons, author: string, + browser_specific_settings: { + type: 'object', + properties: {}, + additionalProperties: { + type: 'object', + properties: {}, + }, + }, chrome_settings_overrides: { type: 'object', properties: { From 7d2568d1209859012d49a3d24f04842cbfa187ea Mon Sep 17 00:00:00 2001 From: 101arrowz Date: Tue, 19 Apr 2022 07:09:34 -0700 Subject: [PATCH 0257/1076] Fix `web_accessible_resources` and HMR (#7971) --- .../webextension/src/WebExtensionPackager.js | 35 +++++++---- .../webextension/src/WebExtensionRuntime.js | 63 +++++++++++-------- .../src/WebExtensionTransformer.js | 21 +++---- 3 files changed, 67 insertions(+), 52 deletions(-) diff --git a/packages/packagers/webextension/src/WebExtensionPackager.js b/packages/packagers/webextension/src/WebExtensionPackager.js index f75c2e7f6ae..4c5d5f0feee 100644 --- a/packages/packagers/webextension/src/WebExtensionPackager.js +++ b/packages/packagers/webextension/src/WebExtensionPackager.js @@ -11,14 +11,13 @@ export default (new Packager({ bundle.traverseAssets(asset => { assets.push(asset); }); + const manifestAssets = assets.filter(a => a.meta.webextEntry === true); - assert.equal( - assets.length, - 1, - 'Web extension manifest bundles must only contain one asset', + assert( + assets.length == 2 && manifestAssets.length == 1, + 'Web extension bundles must contain exactly one manifest asset and one runtime asset', ); - const asset = assets[0]; - assert(asset.meta.webextEntry === true); + const asset = manifestAssets[0]; const relPath = b => relativeBundlePath(bundle, b, {leadingDotSlash: false}); @@ -27,22 +26,25 @@ export default (new Packager({ const deps = asset.getDependencies(); const war = []; for (const contentScript of manifest.content_scripts || []) { - const jsBundles = deps - .filter(d => contentScript.js?.includes(d.id)) + const srcBundles = deps + .filter( + d => + contentScript.js?.includes(d.id) || + contentScript.css?.includes(d.id), + ) .map(d => nullthrows(bundleGraph.getReferencedBundle(d, bundle))); contentScript.css = [ ...new Set( (contentScript.css || []).concat( - jsBundles + srcBundles .flatMap(b => bundleGraph.getReferencedBundles(b)) .filter(b => b.type == 'css') .map(relPath), ), ), ]; - - const resources = jsBundles + const resources = srcBundles .flatMap(b => { const children = []; const siblings = bundleGraph.getReferencedBundles(b); @@ -56,9 +58,16 @@ export default (new Packager({ .map(relPath); if (resources.length > 0) { - // In the future, maybe use "matches" as well war.push({ - extension_ids: [], + matches: contentScript.matches.map(match => { + if (/^(((http|ws)s?)|ftp|\*):\/\//.test(match)) { + let pathIndex = match.indexOf('/', match.indexOf('://') + 3); + // Avoids creating additional errors in invalid match URLs + if (pathIndex == -1) pathIndex = match.length; + return match.slice(0, pathIndex) + '/*'; + } + return match; + }), resources, }); } diff --git a/packages/runtimes/webextension/src/WebExtensionRuntime.js b/packages/runtimes/webextension/src/WebExtensionRuntime.js index dd79185af0e..46efb9c6d53 100644 --- a/packages/runtimes/webextension/src/WebExtensionRuntime.js +++ b/packages/runtimes/webextension/src/WebExtensionRuntime.js @@ -12,39 +12,50 @@ const AUTORELOAD_BG = fs.readFileSync( export default (new Runtime({ apply({bundle, bundleGraph, options}) { - if ( - bundle.type != 'js' || - !options.hmrOptions || - !bundle.env.isBrowser() || - bundle.env.isWorklet() - ) { + if (!bundle.env.isBrowser() || bundle.env.isWorklet()) { return; } - const manifest = bundleGraph - .getBundles() - .find(b => b.getMainEntry()?.meta.webextEntry === true); - const entry = manifest?.getMainEntry(); - const insertDep = entry?.meta.webextBGInsert; - if (insertDep == null) return; - const insertBundle = bundleGraph.getReferencedBundle( - nullthrows(entry?.getDependencies().find(dep => dep.id === insertDep)), - nullthrows(manifest), - ); - let firstInsertableBundle; - bundleGraph.traverseBundles((b, _, actions) => { - if (b.type == 'js') { - firstInsertableBundle = b; - actions.stop(); - } - }, insertBundle); + if (bundle.name == 'manifest.json') { + const asset = bundle.getMainEntry(); + if (asset?.meta.webextEntry !== true) return; - // Add autoreload - if (bundle === firstInsertableBundle) { + // Hack to bust packager cache when any descendants update + const descendants = []; + bundleGraph.traverseBundles(b => { + descendants.push(b.id); + }, bundle); return { filePath: __filename, - code: AUTORELOAD_BG, + code: JSON.stringify(descendants), isEntry: true, }; + } else if (options.hmrOptions && bundle.type == 'js') { + const manifest = bundleGraph + .getBundles() + .find(b => b.getMainEntry()?.meta.webextEntry === true); + const entry = manifest?.getMainEntry(); + const insertDep = entry?.meta.webextBGInsert; + if (insertDep == null) return; + const insertBundle = bundleGraph.getReferencedBundle( + nullthrows(entry?.getDependencies().find(dep => dep.id === insertDep)), + nullthrows(manifest), + ); + let firstInsertableBundle; + bundleGraph.traverseBundles((b, _, actions) => { + if (b.type == 'js') { + firstInsertableBundle = b; + actions.stop(); + } + }, insertBundle); + + // Add autoreload + if (bundle === firstInsertableBundle) { + return { + filePath: __filename, + code: AUTORELOAD_BG, + isEntry: true, + }; + } } }, }): Runtime); diff --git a/packages/transformers/webextension/src/WebExtensionTransformer.js b/packages/transformers/webextension/src/WebExtensionTransformer.js index d8b18e0f0a7..0b76330174e 100644 --- a/packages/transformers/webextension/src/WebExtensionTransformer.js +++ b/packages/transformers/webextension/src/WebExtensionTransformer.js @@ -97,8 +97,6 @@ async function collectDependencies( const assets = sc[k] || []; for (let j = 0; j < assets.length; ++j) { assets[j] = asset.addURLDependency(assets[j], { - // This causes the packager to re-run when these assets update - priority: 'parallel', bundleBehavior: 'isolated', loc: { filePath, @@ -186,12 +184,12 @@ async function collectDependencies( // TODO: this doesn't support Parcel resolution const currentEntry = program.web_accessible_resources[i]; const files = isMV2 ? [currentEntry] : currentEntry.resources; + let currentFiles = []; for (let j = 0; j < files.length; ++j) { const globFiles = ( await glob(path.join(assetDir, files[j]), fs, {}) ).map(fp => asset.addURLDependency(path.relative(assetDir, fp), { - priority: 'parallel', bundleBehavior: 'isolated', needsStableName: true, loc: { @@ -206,12 +204,13 @@ async function collectDependencies( }, }), ); - if (isMV2) { - war = war.concat(globFiles); - } else { - currentEntry.resources = globFiles; - war.push(currentEntry); - } + currentFiles = currentFiles.concat(globFiles); + } + if (isMV2) { + war = war.concat(currentFiles); + } else { + currentEntry.resources = currentFiles; + war.push(currentEntry); } } program.web_accessible_resources = war; @@ -227,7 +226,6 @@ async function collectDependencies( const obj = parent[lastLoc]; if (typeof obj == 'string') parent[lastLoc] = asset.addURLDependency(obj, { - priority: 'parallel', bundleBehavior: 'isolated', loc: { filePath, @@ -238,7 +236,6 @@ async function collectDependencies( else { for (const k of Object.keys(obj)) { obj[k] = asset.addURLDependency(obj[k], { - priority: 'parallel', bundleBehavior: 'isolated', loc: { filePath, @@ -254,7 +251,6 @@ async function collectDependencies( program.background.page = asset.addURLDependency( program.background.page, { - priority: 'parallel', bundleBehavior: 'isolated', loc: { filePath, @@ -294,7 +290,6 @@ async function collectDependencies( program.background.service_worker = asset.addURLDependency( program.background.service_worker, { - priority: 'parallel', bundleBehavior: 'isolated', loc: { filePath, From a3899641d538e980be39194b5d23f4b11dd96537 Mon Sep 17 00:00:00 2001 From: 101arrowz Date: Tue, 19 Apr 2022 21:29:01 -0700 Subject: [PATCH 0258/1076] Add $schema support in web extension manifest (#7975) --- .../transformers/webextension/src/WebExtensionTransformer.js | 1 + packages/transformers/webextension/src/schema.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/transformers/webextension/src/WebExtensionTransformer.js b/packages/transformers/webextension/src/WebExtensionTransformer.js index 0b76330174e..9c15d24ada2 100644 --- a/packages/transformers/webextension/src/WebExtensionTransformer.js +++ b/packages/transformers/webextension/src/WebExtensionTransformer.js @@ -43,6 +43,7 @@ async function collectDependencies( const filePath = asset.filePath; const assetDir = path.dirname(filePath); const isMV2 = program.manifest_version == 2; + delete program.$schema; if (program.default_locale) { const locales = path.join(assetDir, '_locales'); let err = !(await fs.exists(locales)) diff --git a/packages/transformers/webextension/src/schema.js b/packages/transformers/webextension/src/schema.js index 1a26d3a351c..e72edc25185 100644 --- a/packages/transformers/webextension/src/schema.js +++ b/packages/transformers/webextension/src/schema.js @@ -76,6 +76,7 @@ const warBase = { }; const commonProps = { + $schema: string, name: string, version: { type: 'string', @@ -496,6 +497,7 @@ export const MV2Schema = ({ export const VersionSchema = ({ type: 'object', properties: { + $schema: string, manifest_version: { type: 'number', enum: [2, 3], From 7d92d81d106c1128d6a30907c35e18b0cff56cf1 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Wed, 20 Apr 2022 15:24:26 +0200 Subject: [PATCH 0259/1076] Generate codeframe positions for JSON5 (#7933) --- flow-libs/json-source-map.js.flow | 41 -------------- packages/core/core/package.json | 2 +- .../core/core/src/requests/EntryRequest.js | 4 +- .../core/core/src/requests/TargetRequest.js | 4 +- .../core/test/ParcelConfigRequest.test.js | 39 +++++++++++++ .../config-extends-not-found/.parcelrc-json5 | 3 + packages/core/diagnostic/package.json | 2 +- packages/core/diagnostic/src/diagnostic.js | 15 ++--- packages/core/integration-tests/test/babel.js | 56 +++++++++++++++++++ .../babel-warn-some-json5/.babelrc | 4 ++ .../babel-warn-some-json5/index.js | 0 .../babel-warn-some-json5/yarn.lock | 0 packages/core/utils/src/schema.js | 2 +- packages/transformers/babel/src/config.js | 7 +-- .../transformers/webextension/package.json | 4 +- .../src/WebExtensionTransformer.js | 4 +- .../transformers/webmanifest/package.json | 4 +- .../webmanifest/src/WebManifestTransformer.js | 4 +- yarn.lock | 36 ++++++++---- 19 files changed, 151 insertions(+), 80 deletions(-) delete mode 100644 flow-libs/json-source-map.js.flow create mode 100644 packages/core/core/test/fixtures/config-extends-not-found/.parcelrc-json5 create mode 100644 packages/core/integration-tests/test/integration/babel-warn-some-json5/.babelrc create mode 100644 packages/core/integration-tests/test/integration/babel-warn-some-json5/index.js create mode 100644 packages/core/integration-tests/test/integration/babel-warn-some-json5/yarn.lock diff --git a/flow-libs/json-source-map.js.flow b/flow-libs/json-source-map.js.flow deleted file mode 100644 index eda1c8a14b2..00000000000 --- a/flow-libs/json-source-map.js.flow +++ /dev/null @@ -1,41 +0,0 @@ -//@flow strict-local - -// Derived from the README and source of json-source-map located at -// https://github.com/epoberezkin/json-source-map and -// https://github.com/epoberezkin/json-source-map/blob/v0.6.1/index.js -// Which is licensed MIT - -declare module 'json-source-map' { - declare type Position = {| - line: number, - column: number, - pos: number, - |}; - - declare export type Mapping = {| - value: Position, - valueEnd: Position, - key?: Position, - keyEnd?: Position, - |}; - - declare export default {| - parse: ( - json: string, - _?: mixed, - opts?: {|bigint: boolean|}, - ) => {| - data: any, - pointers: {|[key: string]: Mapping|}, - |}, - - stringify: ( - data: any, - _?: mixed, - space?: string | number | {|space: number, es6: boolean|}, - ) => {| - json: string, - pointers: {|[key: string]: Mapping|}, - |}, - |}; -} diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 04748a7f420..a757f27d24e 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -24,6 +24,7 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", "@parcel/cache": "2.4.1", "@parcel/diagnostic": "2.4.1", "@parcel/events": "2.4.1", @@ -43,7 +44,6 @@ "clone": "^2.1.1", "dotenv": "^7.0.0", "dotenv-expand": "^5.1.0", - "json-source-map": "^0.6.1", "json5": "^2.2.0", "msgpackr": "^1.5.4", "nullthrows": "^1.1.1", diff --git a/packages/core/core/src/requests/EntryRequest.js b/packages/core/core/src/requests/EntryRequest.js index 2f4031e3315..a26f8abc8a8 100644 --- a/packages/core/core/src/requests/EntryRequest.js +++ b/packages/core/core/src/requests/EntryRequest.js @@ -17,7 +17,7 @@ import ThrowableDiagnostic, { getJSONSourceLocation, } from '@parcel/diagnostic'; import path from 'path'; -import jsonMap, {type Mapping} from 'json-source-map'; +import {parse, type Mapping} from '@mischnic/json-sourcemap'; import { type ProjectPath, fromProjectPath, @@ -345,7 +345,7 @@ export class EntryResolver { return { ...pkg, filePath: pkgFile, - map: jsonMap.parse(content.replace(/\t/g, ' ')), + map: parse(content, undefined, {tabWidth: 1}), }; } } diff --git a/packages/core/core/src/requests/TargetRequest.js b/packages/core/core/src/requests/TargetRequest.js index 7656169a806..f21d9bcdd95 100644 --- a/packages/core/core/src/requests/TargetRequest.js +++ b/packages/core/core/src/requests/TargetRequest.js @@ -34,7 +34,7 @@ import createParcelConfigRequest, { } from './ParcelConfigRequest'; // $FlowFixMe import browserslist from 'browserslist'; -import jsonMap from 'json-source-map'; +import {parse} from '@mischnic/json-sourcemap'; import invariant from 'assert'; import nullthrows from 'nullthrows'; import { @@ -395,7 +395,7 @@ export class TargetResolver { let _pkgFilePath = (pkgFilePath = pkgFile.filePath); // For Flow pkgDir = path.dirname(_pkgFilePath); pkgContents = await this.fs.readFile(_pkgFilePath, 'utf8'); - pkgMap = jsonMap.parse(pkgContents.replace(/\t/g, ' ')); + pkgMap = parse(pkgContents, undefined, {tabWidth: 1}); let pp = toProjectPath(this.options.projectRoot, _pkgFilePath); this.api.invalidateOnFileUpdate(pp); diff --git a/packages/core/core/test/ParcelConfigRequest.test.js b/packages/core/core/test/ParcelConfigRequest.test.js index 8784a3d0143..f9496685773 100644 --- a/packages/core/core/test/ParcelConfigRequest.test.js +++ b/packages/core/core/test/ParcelConfigRequest.test.js @@ -813,6 +813,45 @@ describe('ParcelConfigRequest', () => { ); }); + it('should emit a codeframe when an extended parcel config file is not found in JSON5', async () => { + let configFilePath = path.join( + __dirname, + 'fixtures', + 'config-extends-not-found', + '.parcelrc-json5', + ); + let code = await DEFAULT_OPTIONS.inputFS.readFile(configFilePath, 'utf8'); + + // $FlowFixMe[prop-missing] + await assert.rejects( + () => parseAndProcessConfig(configFilePath, code, DEFAULT_OPTIONS), + { + name: 'Error', + diagnostics: [ + { + message: 'Cannot find extended parcel config', + origin: '@parcel/core', + codeFrames: [ + { + filePath: configFilePath, + language: 'json5', + code, + codeHighlights: [ + { + message: + '"./.parclrc-node-modules" does not exist, did you mean "./.parcelrc-node-modules"?', + start: {line: 2, column: 12}, + end: {line: 2, column: 36}, + }, + ], + }, + ], + }, + ], + }, + ); + }); + it('should emit a codeframe when an extended parcel config node module is not found', async () => { let configFilePath = path.join( __dirname, diff --git a/packages/core/core/test/fixtures/config-extends-not-found/.parcelrc-json5 b/packages/core/core/test/fixtures/config-extends-not-found/.parcelrc-json5 new file mode 100644 index 00000000000..03464dc7fc8 --- /dev/null +++ b/packages/core/core/test/fixtures/config-extends-not-found/.parcelrc-json5 @@ -0,0 +1,3 @@ +{ + extends: "./.parclrc-node-modules" +} diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index 40036f545e7..963023c6d11 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -24,7 +24,7 @@ "check-ts": "tsc --noEmit lib/diagnostic.d.ts" }, "dependencies": { - "json-source-map": "^0.6.1", + "@mischnic/json-sourcemap": "^0.1.0", "nullthrows": "^1.1.1" } } diff --git a/packages/core/diagnostic/src/diagnostic.js b/packages/core/diagnostic/src/diagnostic.js index c59f9884871..8ab4c398147 100644 --- a/packages/core/diagnostic/src/diagnostic.js +++ b/packages/core/diagnostic/src/diagnostic.js @@ -2,7 +2,7 @@ import invariant from 'assert'; import nullthrows from 'nullthrows'; -import jsonMap, {type Mapping} from 'json-source-map'; +import {parse, type Mapping} from '@mischnic/json-sourcemap'; /** These positions are 1-based (so 1 is the first line/column) */ export type DiagnosticHighlightLocation = {| @@ -215,8 +215,8 @@ export default class ThrowableDiagnostic extends Error { } /** - * Turns a list of positions in a JSON file with messages into a list of diagnostics. - * Uses epoberezkin/json-source-map. + * Turns a list of positions in a JSON5 file with messages into a list of diagnostics. + * Uses @mischnic/json-sourcemap. * * @param code the JSON code * @param ids A list of JSON keypaths (key: "/some/parent/child") with corresponding messages, \ @@ -231,9 +231,10 @@ export function generateJSONCodeHighlights( |}, ids: Array<{|key: string, type?: ?'key' | 'value', message?: string|}>, ): Array { - // json-source-map doesn't support a tabWidth option (yet) let map = - typeof data == 'string' ? jsonMap.parse(data.replace(/\t/g, ' ')) : data; + typeof data == 'string' + ? parse(data, undefined, {dialect: 'JSON5', tabWidth: 1}) + : data; return ids.map(({key, type, message}) => { let pos = nullthrows(map.pointers[key]); return { @@ -244,7 +245,7 @@ export function generateJSONCodeHighlights( } /** - * Converts entries in epoberezkin/json-source-map's + * Converts entries in @mischnic/json-sourcemap's * result.pointers array. */ export function getJSONSourceLocation( @@ -276,7 +277,7 @@ export function getJSONSourceLocation( /** Sanitizes object keys before using them as key in generateJSONCodeHighlights */ export function encodeJSONKeyComponent(component: string): string { - return component.replace(/\//g, '~1'); + return component.replace(/~/g, '~0').replace(/\//g, '~1'); } const escapeCharacters = ['\\', '*', '_', '~']; diff --git a/packages/core/integration-tests/test/babel.js b/packages/core/integration-tests/test/babel.js index cb664a1b979..cbd333f9cf3 100644 --- a/packages/core/integration-tests/test/babel.js +++ b/packages/core/integration-tests/test/babel.js @@ -711,4 +711,60 @@ describe('babel', function () { }, ]); }); + + it('should warn when a JSON5 babel config contains redundant plugins', async function () { + let messages = []; + let loggerDisposable = Logger.onLog(message => { + messages.push(message); + }); + let filePath = path.join( + __dirname, + '/integration/babel-warn-some-json5/index.js', + ); + await bundle(filePath); + loggerDisposable.dispose(); + + let babelrcPath = path.resolve(path.dirname(filePath), '.babelrc'); + assert.deepEqual(messages, [ + { + type: 'log', + level: 'warn', + diagnostics: [ + { + origin: '@parcel/transformer-babel', + message: md`Parcel includes transpilation by default. Babel config __${path.relative( + process.cwd(), + babelrcPath, + )}__ includes the following redundant presets: __@parcel/babel-preset-env__. Removing these may improve build performance.`, + codeFrames: [ + { + filePath: babelrcPath, + codeHighlights: [ + { + message: undefined, + start: { + line: 2, + column: 13, + }, + end: { + line: 2, + column: 38, + }, + }, + ], + }, + ], + hints: [ + md`Remove the above presets from __${path.relative( + process.cwd(), + babelrcPath, + )}__`, + ], + documentationURL: + 'https://parceljs.org/languages/javascript/#default-presets', + }, + ], + }, + ]); + }); }); diff --git a/packages/core/integration-tests/test/integration/babel-warn-some-json5/.babelrc b/packages/core/integration-tests/test/integration/babel-warn-some-json5/.babelrc new file mode 100644 index 00000000000..3da8adeca2a --- /dev/null +++ b/packages/core/integration-tests/test/integration/babel-warn-some-json5/.babelrc @@ -0,0 +1,4 @@ +{ + presets: ["@parcel/babel-preset-env"], + "plugins": ["../babelrc-custom/babel-plugin-dummy"] +} diff --git a/packages/core/integration-tests/test/integration/babel-warn-some-json5/index.js b/packages/core/integration-tests/test/integration/babel-warn-some-json5/index.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/babel-warn-some-json5/yarn.lock b/packages/core/integration-tests/test/integration/babel-warn-some-json5/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/utils/src/schema.js b/packages/core/utils/src/schema.js index 5004c13136a..b719a61c545 100644 --- a/packages/core/utils/src/schema.js +++ b/packages/core/utils/src/schema.js @@ -4,7 +4,7 @@ import ThrowableDiagnostic, { escapeMarkdown, encodeJSONKeyComponent, } from '@parcel/diagnostic'; -import type {Mapping} from 'json-source-map'; +import type {Mapping} from '@mischnic/json-sourcemap'; import nullthrows from 'nullthrows'; // flowlint-next-line untyped-import:off import levenshtein from 'fastest-levenshtein'; diff --git a/packages/transformers/babel/src/config.js b/packages/transformers/babel/src/config.js index 15f858400e0..66490264242 100644 --- a/packages/transformers/babel/src/config.js +++ b/packages/transformers/babel/src/config.js @@ -394,12 +394,7 @@ async function getCodeHighlights(fs, filePath, redundantPresets) { } if (pointers.length > 0) { - try { - return generateJSONCodeHighlights(contents, pointers); - } catch { - // TODO: support code highlights for json5 sources. - // Babel supports json5 syntax, but json-source-map does not. - } + return generateJSONCodeHighlights(contents, pointers); } } diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index 7fb077bbb05..e9b77772f1a 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -19,10 +19,10 @@ "parcel": "^2.4.1" }, "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", "@parcel/diagnostic": "2.4.1", "@parcel/plugin": "2.4.1", "@parcel/utils": "2.4.1", - "content-security-policy-parser": "^0.3.0", - "json-source-map": "^0.6.1" + "content-security-policy-parser": "^0.3.0" } } diff --git a/packages/transformers/webextension/src/WebExtensionTransformer.js b/packages/transformers/webextension/src/WebExtensionTransformer.js index 9c15d24ada2..c59d004cc58 100644 --- a/packages/transformers/webextension/src/WebExtensionTransformer.js +++ b/packages/transformers/webextension/src/WebExtensionTransformer.js @@ -3,7 +3,7 @@ import type {MutableAsset} from '@parcel/types'; import {Transformer} from '@parcel/plugin'; import path from 'path'; -import jsm from 'json-source-map'; +import {parse} from '@mischnic/json-sourcemap'; import parseCSP from 'content-security-policy-parser'; import {validateSchema} from '@parcel/utils'; import ThrowableDiagnostic, { @@ -362,7 +362,7 @@ export default (new Transformer({ }, }); const code = await asset.getCode(); - const parsed = jsm.parse(code); + const parsed = parse(code); const data: any = parsed.data; // Not using a unified schema dramatically improves error messages diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index 18be015c3ca..005b74800ef 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -19,9 +19,9 @@ "parcel": "^2.4.1" }, "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", "@parcel/diagnostic": "2.4.1", "@parcel/plugin": "2.4.1", - "@parcel/utils": "2.4.1", - "json-source-map": "^0.6.1" + "@parcel/utils": "2.4.1" } } diff --git a/packages/transformers/webmanifest/src/WebManifestTransformer.js b/packages/transformers/webmanifest/src/WebManifestTransformer.js index adefd04948c..138c90f3a76 100644 --- a/packages/transformers/webmanifest/src/WebManifestTransformer.js +++ b/packages/transformers/webmanifest/src/WebManifestTransformer.js @@ -3,7 +3,7 @@ import type {SchemaEntity} from '@parcel/utils'; import invariant from 'assert'; -import jsm from 'json-source-map'; +import {parse} from '@mischnic/json-sourcemap'; import {getJSONSourceLocation} from '@parcel/diagnostic'; import {Transformer} from '@parcel/plugin'; import {validateSchema} from '@parcel/utils'; @@ -36,7 +36,7 @@ const MANIFEST_SCHEMA: SchemaEntity = { export default (new Transformer({ async transform({asset}) { const source = await asset.getCode(); - const {data, pointers} = jsm.parse(source); + const {data, pointers} = parse(source); validateSchema.diagnostic( MANIFEST_SCHEMA, diff --git a/yarn.lock b/yarn.lock index 16ba0949488..5fb69e242b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1853,6 +1853,18 @@ npmlog "^4.1.2" write-file-atomic "^2.3.0" +"@lezer/common@^0.15.0", "@lezer/common@^0.15.7": + version "0.15.12" + resolved "https://registry.yarnpkg.com/@lezer/common/-/common-0.15.12.tgz#2f21aec551dd5fd7d24eb069f90f54d5bc6ee5e9" + integrity sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig== + +"@lezer/lr@^0.15.4": + version "0.15.8" + resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-0.15.8.tgz#1564a911e62b0a0f75ca63794a6aa8c5dc63db21" + integrity sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg== + dependencies: + "@lezer/common" "^0.15.0" + "@mdx-js/mdx@^1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" @@ -1888,6 +1900,15 @@ resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== +"@mischnic/json-sourcemap@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz#38af657be4108140a548638267d02a2ea3336507" + integrity sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA== + dependencies: + "@lezer/common" "^0.15.7" + "@lezer/lr" "^0.15.4" + json5 "^2.2.1" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -7998,11 +8019,6 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= -json-source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/json-source-map/-/json-source-map-0.6.1.tgz#e0b1f6f4ce13a9ad57e2ae165a24d06e62c79a0f" - integrity sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -8020,12 +8036,10 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.2, json5@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" +json5@^2.1.2, json5@^2.2.0, json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== jsonfile@^4.0.0: version "4.0.0" From 4700f42d81b2c99d7946371b05cd25f586e4a723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Nison?= Date: Wed, 20 Apr 2022 15:25:23 +0200 Subject: [PATCH 0260/1076] Adds missing peer dependencies (#7977) --- packages/transformers/image/package.json | 3 +++ packages/transformers/js/package.json | 3 +++ 2 files changed, 6 insertions(+) diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index eea3df5f502..7dbe260cb11 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -22,5 +22,8 @@ }, "devDependencies": { "sharp": "^0.29.1" + }, + "peerDependencies": { + "@parcel/core": "^2.4.1" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 7ba1557cb68..2b0d3b92a50 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -45,6 +45,9 @@ "devDependencies": { "@napi-rs/cli": "1.0.4" }, + "peerDependencies": { + "@parcel/core": "^2.4.1" + }, "scripts": { "build": "napi build --platform --cargo-cwd napi", "build-release": "napi build --platform --release --cargo-cwd napi", From 9b7a5d26fcf9c49fabf68d586b8bfcb3f1ef5a75 Mon Sep 17 00:00:00 2001 From: 101arrowz Date: Wed, 20 Apr 2022 17:14:52 -0700 Subject: [PATCH 0261/1076] Fix web extension scope hoisting (#7985) --- .../webextension/src/WebExtensionTransformer.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/transformers/webextension/src/WebExtensionTransformer.js b/packages/transformers/webextension/src/WebExtensionTransformer.js index c59d004cc58..9a690bb2fc2 100644 --- a/packages/transformers/webextension/src/WebExtensionTransformer.js +++ b/packages/transformers/webextension/src/WebExtensionTransformer.js @@ -353,13 +353,20 @@ export default (new Transformer({ // browsers, and because it avoids delegating extra config to the user asset.setEnvironment({ context: 'browser', - engines: asset.env.engines, - shouldOptimize: asset.env.shouldOptimize, - sourceMap: { + engines: { + browsers: asset.env.engines.browsers, + }, + sourceMap: asset.env.sourceMap && { ...asset.env.sourceMap, inline: true, inlineSources: true, }, + includeNodeModules: asset.env.includeNodeModules, + outputFormat: asset.env.outputFormat, + sourceType: asset.env.sourceType, + isLibrary: asset.env.isLibrary, + shouldOptimize: asset.env.shouldOptimize, + shouldScopeHoist: asset.env.shouldScopeHoist, }); const code = await asset.getCode(); const parsed = parse(code); From 2f39f29f01a2823812a3c1e0ffe5a3a3c77fcf65 Mon Sep 17 00:00:00 2001 From: Gora Kong <15333808+gorakong@users.noreply.github.com> Date: Wed, 20 Apr 2022 18:49:18 -0700 Subject: [PATCH 0262/1076] Scope Hoisting: Don't insert unused requires that aren't registered anywhere (#7764) --- .../scope-hoisting/es6/unused-require/index.js | 3 +++ .../es6/unused-require/library/foo/index.js | 2 ++ .../es6/unused-require/library/foo/other.js | 1 + .../es6/unused-require/library/foo/package.json | 3 +++ .../es6/unused-require/library/index.js | 3 +++ .../core/integration-tests/test/scope-hoisting.js | 12 ++++++++++++ packages/packagers/js/src/ScopeHoistingPackager.js | 13 +++++++++++-- 7 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/index.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/index.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/other.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/package.json create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/index.js diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/index.js new file mode 100644 index 00000000000..5ed2ae0a6db --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/index.js @@ -0,0 +1,3 @@ +import {foo} from './library'; + +output = foo; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/index.js new file mode 100644 index 00000000000..6f1f6971ff2 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/index.js @@ -0,0 +1,2 @@ +export const unusedFoo = 'unusedFoo'; +export { foo } from './other'; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/other.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/other.js new file mode 100644 index 00000000000..3329a7d972f --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/other.js @@ -0,0 +1 @@ +export const foo = 'foo'; diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/package.json b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/package.json new file mode 100644 index 00000000000..a43829151e1 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/foo/package.json @@ -0,0 +1,3 @@ +{ + "sideEffects": false +} diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/index.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/index.js new file mode 100644 index 00000000000..cc44b9b5e6e --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/unused-require/library/index.js @@ -0,0 +1,3 @@ +export { foo, unusedFoo } from './foo'; + +eval('') diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index 39592f262c4..75af27f0f6d 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -5336,4 +5336,16 @@ describe('scope hoisting', function () { let output = await run(b); assert.strictEqual(output, 'bar foo bar'); }); + + it("not insert unused requires that aren't registered anywhere", async function () { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/unused-require/index.js', + ), + ); + + let output = await run(b); + assert.strictEqual(output, 'foo'); + }); }); diff --git a/packages/packagers/js/src/ScopeHoistingPackager.js b/packages/packagers/js/src/ScopeHoistingPackager.js index c87451a3c19..ce69c263ff2 100644 --- a/packages/packagers/js/src/ScopeHoistingPackager.js +++ b/packages/packagers/js/src/ScopeHoistingPackager.js @@ -760,9 +760,18 @@ ${code} let staticExports = resolvedAsset.meta.staticExports !== false; let publicId = this.bundleGraph.getAssetPublicId(resolvedAsset); - // If the rsolved asset is wrapped, but imported at the top-level by this asset, + // If the resolved asset is wrapped, but imported at the top-level by this asset, // then we hoist parcelRequire calls to the top of this asset so side effects run immediately. - if (isWrapped && dep && !dep?.meta.shouldWrap && symbol !== false) { + if ( + isWrapped && + dep && + !dep?.meta.shouldWrap && + symbol !== false && + // Only do this if the asset is part of a different bundle (so it was definitely + // parcelRequire.register'ed there), or if it is indeed registered in this bundle. + (!this.bundle.hasAsset(resolvedAsset) || + !this.shouldSkipAsset(resolvedAsset)) + ) { let hoisted = this.hoistedRequires.get(dep.id); if (!hoisted) { hoisted = new Map(); From e1b55c6226752e54a707f3c8cebf8856c0c13f40 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Thu, 21 Apr 2022 03:50:52 +0200 Subject: [PATCH 0263/1076] Fix wrapped assets importing their own namespace (#7978) --- .../es6/import-namespace-wrapped-self/a.js | 4 ++++ .../es6/import-namespace-wrapped-self/b.js | 9 +++++++++ .../core/integration-tests/test/scope-hoisting.js | 12 ++++++++++++ packages/packagers/js/src/ScopeHoistingPackager.js | 10 +++++++++- 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/import-namespace-wrapped-self/a.js create mode 100644 packages/core/integration-tests/test/integration/scope-hoisting/es6/import-namespace-wrapped-self/b.js diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-namespace-wrapped-self/a.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-namespace-wrapped-self/a.js new file mode 100644 index 00000000000..0e8a5bac648 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-namespace-wrapped-self/a.js @@ -0,0 +1,4 @@ +if (Date.now() > 0) { + const { f } = require("./b.js"); + output = f(); +} diff --git a/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-namespace-wrapped-self/b.js b/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-namespace-wrapped-self/b.js new file mode 100644 index 00000000000..cb25c85b7b4 --- /dev/null +++ b/packages/core/integration-tests/test/integration/scope-hoisting/es6/import-namespace-wrapped-self/b.js @@ -0,0 +1,9 @@ +import * as ns from "./b.js"; + +export function f() { + return foo(ns).f === f; +} + +function foo(x) { + return x; +} diff --git a/packages/core/integration-tests/test/scope-hoisting.js b/packages/core/integration-tests/test/scope-hoisting.js index 75af27f0f6d..63ddafd760a 100644 --- a/packages/core/integration-tests/test/scope-hoisting.js +++ b/packages/core/integration-tests/test/scope-hoisting.js @@ -1245,6 +1245,18 @@ describe('scope hoisting', function () { assert.deepEqual(output, 1); }); + it('supports wrapped assets importing their own namespace', async function () { + let b = await bundle( + path.join( + __dirname, + '/integration/scope-hoisting/es6/import-namespace-wrapped-self/a.js', + ), + ); + + let output = await run(b); + assert.strictEqual(output, true); + }); + it('supports importing a namespace from a transpiled CommonJS module', async function () { let b = await bundle( path.join( diff --git a/packages/packagers/js/src/ScopeHoistingPackager.js b/packages/packagers/js/src/ScopeHoistingPackager.js index ce69c263ff2..34425e5a8c7 100644 --- a/packages/packagers/js/src/ScopeHoistingPackager.js +++ b/packages/packagers/js/src/ScopeHoistingPackager.js @@ -815,7 +815,15 @@ ${code} if (imported === '*' || exportSymbol === '*' || isDefaultInterop) { // Resolve to the namespace object if requested or this is a CJS default interop reqiure. - return obj; + if ( + parentAsset === resolvedAsset && + this.wrappedAssets.has(resolvedAsset.id) + ) { + // Directly use module.exports for wrapped assets importing themselves. + return 'module.exports'; + } else { + return obj; + } } else if ( (!staticExports || isWrapped || !symbol) && resolvedAsset !== parentAsset From 03ec6d15fceceaca2136c0b44a934c8ebc84cf31 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 20 Apr 2022 23:07:42 -0400 Subject: [PATCH 0264/1076] Bump Parcel CSS to v1.8.1 (#7987) --- packages/core/integration-tests/test/css.js | 2 +- packages/optimizers/css/package.json | 2 +- packages/transformers/css/package.json | 2 +- yarn.lock | 104 ++++++++++---------- 4 files changed, 55 insertions(+), 55 deletions(-) diff --git a/packages/core/integration-tests/test/css.js b/packages/core/integration-tests/test/css.js index 128a08c1619..670488b50d4 100644 --- a/packages/core/integration-tests/test/css.js +++ b/packages/core/integration-tests/test/css.js @@ -292,7 +292,7 @@ describe('css', () => { diagnostics: [ { message: - 'Ambiguous url() in custom property. Relative paths are resolved from the location the var() is used, not where the custom property is defined. Use an absolute URL instead.', + "Ambiguous url('foo.png') in custom property. Relative paths are resolved from the location the var() is used, not where the custom property is defined. Use an absolute URL instead", origin: '@parcel/transformer-css', name: 'SyntaxError', stack: undefined, diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index c4d9f460cce..3b442901e44 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -20,7 +20,7 @@ "parcel": "^2.4.1" }, "dependencies": { - "@parcel/css": "^1.7.4", + "@parcel/css": "^1.8.1", "@parcel/diagnostic": "2.4.1", "@parcel/plugin": "2.4.1", "@parcel/source-map": "^2.0.0", diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 170cdbab4cb..83f9401abd8 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -20,7 +20,7 @@ "parcel": "^2.4.1" }, "dependencies": { - "@parcel/css": "^1.7.4", + "@parcel/css": "^1.8.1", "@parcel/diagnostic": "2.4.1", "@parcel/plugin": "2.4.1", "@parcel/source-map": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index 5fb69e242b5..53a677d2b6e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2162,61 +2162,61 @@ dependencies: "@octokit/openapi-types" "^6.2.0" -"@parcel/css-darwin-arm64@1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.7.4.tgz#9d173f8d9a3f6dec34e49999654ba091121f1f22" - integrity sha512-fA+aBZAAgXSV7jUQFRYuKpJr5EEqNq++mFu4o/pU/lBFMJhL6Z11aqzrBecC1JziWT3t/BgryWdznf1QkNtM4w== - -"@parcel/css-darwin-x64@1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@parcel/css-darwin-x64/-/css-darwin-x64-1.7.4.tgz#e36f8a4c941c9059d6fc96e1f52c8022f04c32ef" - integrity sha512-qx/+vEXSmed7eeBgVvV/1lrEjk8KnKUiAN+CCes8d6ddJJzK5evTKQsWkywe1jNdHC33d2mlLlhLFmC2+2IPOw== - -"@parcel/css-linux-arm-gnueabihf@1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.7.4.tgz#783407f8179164e6555c9498436bc0e8d1c6c4e3" - integrity sha512-+Qf+j8dqJ+t7V/w9LnyWBzNcMG/GnlzjlWNQhiUkt1aYFYPr5i/eRWuWLYxVlz8EGQOUbYlinDGLXTUJDt31gA== - -"@parcel/css-linux-arm64-gnu@1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.7.4.tgz#34ed91540fe31001a835f7f5dfc86c90419fb2db" - integrity sha512-ITP0HZT/Ay6JCgH3W7JpoRUYfciW+jBVBTjglZjYgyYPLLWk2J1kXB+qC3jHp5XCeH4feh7eFB1pyQcE7kqCjA== - -"@parcel/css-linux-arm64-musl@1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.7.4.tgz#3937fdadb0581e96b9f76a37713241b35a3250fa" - integrity sha512-or61QRhhpsDlHfrc73KP4bPwnnVZWni1jkuRv1mCi+0SzYzoaO190JEaj7VWh/boUvjGiIl//FsLoZleQIWKNA== - -"@parcel/css-linux-x64-gnu@1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.7.4.tgz#ee883af8a97b99519c581cb2971c414e962a6ae1" - integrity sha512-GHGsM06F26FAkvPcnsGw7NHxPVD7TQvg7OC7cVAYmETccO8mqs9DyRzBTevk+1kl7EQXNnHDojn7VpVN6q+phg== - -"@parcel/css-linux-x64-musl@1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.7.4.tgz#fd14e88683026665543bc48dee138edc553fcf75" - integrity sha512-H/9wvQ7LNqng9yIwulpfUUhs6zm9+vLCzri2qnC4vm8geyTjA0W0H5fphV8IlzNJ/DfHmoesJ+TXw5NG+QC9hg== - -"@parcel/css-win32-x64-msvc@1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.7.4.tgz#ed6dfb63600610ba555124262d84fa537ee7e6a4" - integrity sha512-xmg18iISCn1f9IyYUif6yR8FuEmi93qzH55oUiri5vZWuCY8xfraHsRA6i8yLWnxgDmVeHyiN0IICl7rgZo10A== - -"@parcel/css@^1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.7.4.tgz#87b522681a5527ad38baec4193a26a94fde37a5e" - integrity sha512-K1N9mxEkWQQmSINMNuGvlyPq7yCY+AtHskGxWav97lhu2i8GMMXRV9kc8/x/jkZh5KDBWO5vHhdQiujRBrgR8g== +"@parcel/css-darwin-arm64@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.8.1.tgz#1d7694185626f956504cc6f099317455145bb880" + integrity sha512-PbpIlqLMAhWZlimKCdNP/ZfGNJUlEWgNeTcO2LDjPIK5JK6oTAJHfP/PPzjLS8mu+JIznZ//9MnVOUi1xcjXMA== + +"@parcel/css-darwin-x64@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@parcel/css-darwin-x64/-/css-darwin-x64-1.8.1.tgz#40ce6bff78c7aecc32759faa9b52954247bc2ec1" + integrity sha512-R4FrwXQGAgW3/YRCSRCBNcV6mz+OKqYuyrVnZBmKTLDuTGhZHCF12qLL7SV5jYsKXBDauYAXDv/SOFIwlikVXg== + +"@parcel/css-linux-arm-gnueabihf@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.8.1.tgz#f540f8a92ed99ec6b07408aeef443804a8c7aba5" + integrity sha512-MVRlPGipRrs+f6nURR6cJbFw85YSXkPbR6l/0Hm1vyFlNn0HmRDCEWZFPwvvSavibU968Wgc5yKaC78D6Ecgsw== + +"@parcel/css-linux-arm64-gnu@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.8.1.tgz#4a63ea53eea93d2858bf2096fdad5ddeb3e65ee8" + integrity sha512-s6UpF9CjUMeeCELx0Cu+HtR8RKycm516b1mJlQC8hsPtAyDYlByW4tSDwC3By4Fqf3xCan6IH/oaq0ujS0Iqew== + +"@parcel/css-linux-arm64-musl@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.8.1.tgz#7fe489a92cd74139b904216813a4002ae44300cf" + integrity sha512-Tp3Pe2tx7mltPrZ1ZDV8PLkgYcwQOigrH9YjPPOaf8iFptDpHOv1y2cs1eSgnvP+5kBdIXd7H87kGSC7OosuXg== + +"@parcel/css-linux-x64-gnu@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.8.1.tgz#6a1d733eca71367735d8a7f841f779a03d30272e" + integrity sha512-8yqXRlei4qBFSv9R8yru6yB2ak7frA/z6rMB2E5lNN8kMhpB1E0xKYMhsTZdMOV5A/gkPZlP3sHZG4qQ3GOLgQ== + +"@parcel/css-linux-x64-musl@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.8.1.tgz#603245a11222fad815f8fa704fe59d15f0abdd46" + integrity sha512-S1Qf9tZzX7AnmqKRhR/qpFYsqSCxYSz5KdekdxIijPEMxyI5tpWp6g2adGYxrCuV0E5EpcpmXlBT6d6+8FrgPg== + +"@parcel/css-win32-x64-msvc@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.8.1.tgz#175a909ae80cd7634f1c9ffa84063b85161df22b" + integrity sha512-tZ5s2zM/63mEdpdnE82xtfDDR7tAN32REii1EU5LOdfpB2PIw902p30fvklj1pOFBji/v/JdpAdLIYc4W7Gb6w== + +"@parcel/css@^1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.8.1.tgz#d5a756c18eefcc407267c5675c8e66edf206c483" + integrity sha512-TOfe+msei+NuPPKb60Kc+nPuCThl07L3Fut67nfot1OXy2hKYr/eF7AiAguCaIlRXkjEtXRR4S7fO24dLZ1C9g== dependencies: detect-libc "^1.0.3" optionalDependencies: - "@parcel/css-darwin-arm64" "1.7.4" - "@parcel/css-darwin-x64" "1.7.4" - "@parcel/css-linux-arm-gnueabihf" "1.7.4" - "@parcel/css-linux-arm64-gnu" "1.7.4" - "@parcel/css-linux-arm64-musl" "1.7.4" - "@parcel/css-linux-x64-gnu" "1.7.4" - "@parcel/css-linux-x64-musl" "1.7.4" - "@parcel/css-win32-x64-msvc" "1.7.4" + "@parcel/css-darwin-arm64" "1.8.1" + "@parcel/css-darwin-x64" "1.8.1" + "@parcel/css-linux-arm-gnueabihf" "1.8.1" + "@parcel/css-linux-arm64-gnu" "1.8.1" + "@parcel/css-linux-arm64-musl" "1.8.1" + "@parcel/css-linux-x64-gnu" "1.8.1" + "@parcel/css-linux-x64-musl" "1.8.1" + "@parcel/css-win32-x64-msvc" "1.8.1" "@parcel/source-map@^2.0.0": version "2.0.0" From f29c18135b63bbd119018db90a6b0c66ae20b8cd Mon Sep 17 00:00:00 2001 From: Shinobu Hayashi Date: Thu, 21 Apr 2022 23:09:17 +0900 Subject: [PATCH 0265/1076] Feature: replace environmental variable with in binary expression (#7954) --- .../env-binary-in-expression/index.js | 7 ++++++ .../core/integration-tests/test/javascript.js | 23 +++++++++++++++++++ .../transformers/js/core/src/env_replacer.rs | 15 ++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 packages/core/integration-tests/test/integration/env-binary-in-expression/index.js diff --git a/packages/core/integration-tests/test/integration/env-binary-in-expression/index.js b/packages/core/integration-tests/test/integration/env-binary-in-expression/index.js new file mode 100644 index 00000000000..5523e8b2acf --- /dev/null +++ b/packages/core/integration-tests/test/integration/env-binary-in-expression/index.js @@ -0,0 +1,7 @@ +const existVar = 'ABC' in process.env ? 'correct' : 'incorrect'; +const notExistVar = 'DEF' in process.env ? 'incorrect' : 'correct'; + +module.exports = { + existVar, + notExistVar, +}; diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index 3f85fdeb344..ff23790cba6 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -3081,6 +3081,29 @@ describe('javascript', function () { }); }); + it('should inline environment variables with in binary expression whose right branch is process.env and left branch is string literal', async function () { + let b = await bundle( + path.join(__dirname, '/integration/env-binary-in-expression/index.js'), + { + env: {ABC: 'any'}, + defaultTargetOptions: { + engines: { + browsers: '>= 0.25%', + }, + }, + }, + ); + + let contents = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert(!contents.includes('process.env')); + + let output = await run(b); + assert.deepEqual(output, { + existVar: 'correct', + notExistVar: 'correct', + }); + }); + it('should insert environment variables from a file', async function () { let b = await bundle( path.join(__dirname, '/integration/env-file/index.js'), diff --git a/packages/transformers/js/core/src/env_replacer.rs b/packages/transformers/js/core/src/env_replacer.rs index 761cb3e2184..421370248ab 100644 --- a/packages/transformers/js/core/src/env_replacer.rs +++ b/packages/transformers/js/core/src/env_replacer.rs @@ -41,6 +41,21 @@ impl<'a> Fold for EnvReplacer<'a> { } } + // Replace `'foo' in process.env` with a boolean. + match &node { + Expr::Bin(binary) if binary.op == BinaryOp::In => { + if let (Expr::Lit(Lit::Str(left)), Expr::Member(member)) = (&*binary.left, &*binary.right) { + if match_member_expr(member, vec!["process", "env"], self.decls) { + return Expr::Lit(Lit::Bool(Bool { + value: self.env.contains_key(&left.value), + span: DUMMY_SP, + })); + } + } + } + _ => {} + } + if let Expr::Member(ref member) = node { if self.is_browser && match_member_expr(member, vec!["process", "browser"], self.decls) { return Expr::Lit(Lit::Bool(Bool { From 41f3b90e3f2fd76760cf6d41e50f3610d12689b6 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 21 Apr 2022 10:13:50 -0400 Subject: [PATCH 0266/1076] Changelog for v2.5.0 --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e86cec8f6d7..c3d70487e31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,32 @@ All notable changes to Parcel will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and Parcel adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.5.0] - 2022-04-21 + +### Added + +- Add support for Web Extension manifest v3 - [Details](https://github.com/parcel-bundler/parcel/pull/7050) +- Rewrite `__dirname` and `__filename` to refer to the original path when building for Node.js targets - [Details](https://github.com/parcel-bundler/parcel/pull/7727) +- Generate codeframe positions for JSON5 - [Details](https://github.com/parcel-bundler/parcel/pull/7933) +- Add `$schema` support in web extension manifest - [Details](https://github.com/parcel-bundler/parcel/pull/7975) +- Add support for `in` expressions with `process.env`, e.g. `'foo' in process.env` - [Details](https://github.com/parcel-bundler/parcel/pull/7954) + +### Fixed + +- Updated SWC. - [Details](https://github.com/parcel-bundler/parcel/pull/7886) + [Details](https://github.com/parcel-bundler/parcel/pull/7931) +- Update Parcel CSS to v1.8.1 - [Details](https://github.com/parcel-bundler/parcel-css/releases/tag/v1.8.0) + [Details](https://github.com/parcel-bundler/parcel-css/releases/tag/v1.8.1) +- Fix diagnostic message - [Details](https://github.com/parcel-bundler/parcel/pull/7850) +- Disable react refresh for library targets. Fixes "Asset was skipped or not found" error. - [Details](https://github.com/parcel-bundler/parcel/pull/7914) +- Don't process inline `')); + assert(svg.includes('style="fill:red"')); }); it('should be in separate bundles', async function () { diff --git a/packages/core/utils/src/index.js b/packages/core/utils/src/index.js index ee499b0a3e6..57bd8598d10 100644 --- a/packages/core/utils/src/index.js +++ b/packages/core/utils/src/index.js @@ -86,3 +86,4 @@ export { remapSourceLocation, } from './sourcemap'; export {default as stripAnsi} from 'strip-ansi'; +export {detectSVGOVersion} from './svgo'; diff --git a/packages/core/utils/src/svgo.js b/packages/core/utils/src/svgo.js new file mode 100644 index 00000000000..2f20b2e10a5 --- /dev/null +++ b/packages/core/utils/src/svgo.js @@ -0,0 +1,50 @@ +// @flow +export function detectSVGOVersion( + config: any, +): {|version: 3|} | {|version: 2, path: string|} { + if (!config) { + return {version: 3}; + } + + // These options were removed in v2. + if (config.full != null || config.svg2js != null) { + return {version: 2, path: config.full != null ? '/full' : '/svg2js'}; + } + + if (Array.isArray(config.plugins)) { + // Custom plugins in v2 had additional (required) fields that don't exist anymore. + let v2Plugin = config.plugins.findIndex( + p => p?.type != null || (p?.fn && p?.params != null), + ); + if (v2Plugin !== -1) { + let field = config.plugins[v2Plugin].type != null ? 'type' : 'params'; + return {version: 2, path: `/plugins/${v2Plugin}/${field}`}; + } + + // the cleanupIDs plugin lost the prefix option in v3. + let cleanupIdsIndex = config.plugins.findIndex( + p => p?.name === 'cleanupIDs', + ); + let cleanupIDs = + cleanupIdsIndex !== -1 ? config.plugins[cleanupIdsIndex] : null; + if (cleanupIDs?.params?.prefix != null) { + return {version: 2, path: `/plugins/${cleanupIdsIndex}/params/prefix`}; + } + + // Automatically migrate some options from SVGO 2 config files. + config.plugins = config.plugins.filter(p => p?.active !== false); + + for (let i = 0; i < config.plugins.length; i++) { + let p = config.plugins[i]; + if (p === 'cleanupIDs') { + config.plugins[i] = 'cleanupIds'; + } + + if (p?.name === 'cleanupIDs') { + config.plugins[i].name = 'cleanupIds'; + } + } + } + + return {version: 3}; +} diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index 505a182bcd8..56f35527532 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -20,10 +20,14 @@ "parcel": "^2.12.0" }, "dependencies": { + "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "htmlnano": "^2.0.0", "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "svgo": "^2.4.0" + "posthtml": "^0.16.5" + }, + "devDependencies": { + "svgo": "^3.3.2" } } diff --git a/packages/optimizers/htmlnano/src/HTMLNanoOptimizer.js b/packages/optimizers/htmlnano/src/HTMLNanoOptimizer.js index 32c2713f071..ba31322ad29 100644 --- a/packages/optimizers/htmlnano/src/HTMLNanoOptimizer.js +++ b/packages/optimizers/htmlnano/src/HTMLNanoOptimizer.js @@ -2,13 +2,19 @@ import type {PostHTMLNode} from 'posthtml'; import htmlnano from 'htmlnano'; +import { + md, + generateJSONCodeHighlights, + errorToDiagnostic, +} from '@parcel/diagnostic'; import {Optimizer} from '@parcel/plugin'; +import {detectSVGOVersion} from '@parcel/utils'; import posthtml from 'posthtml'; import path from 'path'; import {SVG_ATTRS, SVG_TAG_NAMES} from './svgMappings'; export default (new Optimizer({ - async loadConfig({config, options}) { + async loadConfig({config, options, logger}) { let userConfig = await config.getConfigFrom( path.join(options.projectRoot, 'index.html'), [ @@ -26,9 +32,72 @@ export default (new Optimizer({ }, ); - return userConfig?.contents; + let contents = userConfig?.contents; + + // See if svgo is already installed. + let resolved; + try { + resolved = await options.packageManager.resolve( + 'svgo', + path.join(options.projectRoot, 'index'), + {shouldAutoInstall: false}, + ); + } catch (err) { + // ignore. + } + + // If so, use the existing installed version. + let svgoVersion = 3; + if (resolved) { + if (resolved.pkg?.version) { + svgoVersion = parseInt(resolved.pkg.version); + } + } else if (contents?.minifySvg) { + // Otherwise try to detect the version based on the config file. + let v = detectSVGOVersion(contents.minifySvg); + if (userConfig != null && v.version === 2) { + logger.warn({ + message: md`Detected deprecated SVGO v2 options in ${path.relative( + process.cwd(), + userConfig.filePath, + )}`, + codeFrames: [ + { + filePath: userConfig.filePath, + codeHighlights: + path.basename(userConfig.filePath) === '.htmlnanorc' || + path.extname(userConfig.filePath) === '.json' + ? generateJSONCodeHighlights( + await options.inputFS.readFile( + userConfig.filePath, + 'utf8', + ), + [ + { + key: `${ + path.basename(userConfig.filePath) === + 'package.json' + ? '/htmlnano' + : '' + }/minifySvg${v.path}`, + }, + ], + ) + : [], + }, + ], + }); + } + + svgoVersion = v.version; + } + + return { + contents, + svgoVersion, + }; }, - async optimize({bundle, contents, map, config}) { + async optimize({bundle, contents, map, config, options, logger}) { if (!bundle.env.shouldOptimize) { return {contents, map}; } @@ -39,7 +108,7 @@ export default (new Optimizer({ ); } - const clonedConfig = config || {}; + const clonedConfig = config.contents || {}; // $FlowFixMe const presets = htmlnano.presets; @@ -54,35 +123,11 @@ export default (new Optimizer({ // minified before they are re-inserted by the packager. minifyJs: false, minifyCss: false, - minifySvg: { - plugins: [ - { - name: 'preset-default', - params: { - overrides: { - // Copied from htmlnano defaults. - collapseGroups: false, - convertShapeToPath: false, - // Additional defaults to preserve accessibility information. - removeTitle: false, - removeDesc: false, - removeUnknownsAndDefaults: { - keepAriaAttrs: true, - keepRoleAttr: true, - }, - // Do not minify ids or remove unreferenced elements in - // inline SVGs because they could actually be referenced - // by a separate inline SVG. - cleanupIDs: false, - }, - }, - }, - // XML namespaces are not required in HTML. - 'removeXMLNS', - ], - }, ...(preset || {}), ...clonedConfig, + // Never use htmlnano's builtin svgo transform. + // We need to control the version of svgo that is used. + minifySvg: false, // TODO: Uncomment this line once we update htmlnano, new version isn't out yet // skipConfigLoading: true, }; @@ -90,8 +135,17 @@ export default (new Optimizer({ let plugins = [htmlnano(htmlNanoConfig)]; // $FlowFixMe - if (htmlNanoConfig.minifySvg !== false) { - plugins.unshift(mapSVG); + if (clonedConfig.minifySvg !== false) { + plugins.push(mapSVG); + plugins.push(tree => + minifySvg( + tree, + options, + config.svgoVersion, + clonedConfig.minifySvg, + logger, + ), + ); } return { @@ -158,3 +212,76 @@ function mapSVG( return node; } + +async function minifySvg(tree, options, svgoVersion, svgoOptions, logger) { + let svgNodes = []; + tree.match({tag: 'svg'}, node => { + svgNodes.push(node); + return node; + }); + + if (!svgNodes.length) { + return tree; + } + + const svgo = await options.packageManager.require( + 'svgo', + path.join(options.projectRoot, 'index'), + { + range: `^${svgoVersion}`, + saveDev: true, + shouldAutoInstall: options.shouldAutoInstall, + }, + ); + + let opts = svgoOptions; + if (!svgoOptions) { + let cleanupIds: string = svgoVersion === 2 ? 'cleanupIDs' : 'cleanupIds'; + opts = { + plugins: [ + { + name: 'preset-default', + params: { + overrides: { + // Copied from htmlnano defaults. + collapseGroups: false, + convertShapeToPath: false, + // Additional defaults to preserve accessibility information. + removeTitle: false, + removeDesc: false, + removeUnknownsAndDefaults: { + keepAriaAttrs: true, + keepRoleAttr: true, + }, + // Do not minify ids or remove unreferenced elements in + // inline SVGs because they could actually be referenced + // by a separate inline SVG. + [cleanupIds]: false, + removeHiddenElems: false, + }, + }, + }, + // XML namespaces are not required in HTML. + 'removeXMLNS', + 'removeXlink', + ], + }; + } + + for (let node of svgNodes) { + let svgStr = tree.render(node, { + closingSingleTag: 'slash', + quoteAllAttributes: true, + }); + try { + let result = svgo.optimize(svgStr, opts); + node.tag = false; + node.attrs = {}; + node.content = [result.data]; + } catch (error) { + logger.warn(errorToDiagnostic(error)); + } + } + + return tree; +} diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index a068cfe3d3b..da54141c7bf 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -22,7 +22,9 @@ "dependencies": { "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "svgo": "^2.4.0" + "@parcel/utils": "2.12.0" + }, + "devDependencies": { + "svgo": "^3.3.2" } } diff --git a/packages/optimizers/svgo/src/SVGOOptimizer.js b/packages/optimizers/svgo/src/SVGOOptimizer.js index 22136c43bf7..d7ccb1855c5 100644 --- a/packages/optimizers/svgo/src/SVGOOptimizer.js +++ b/packages/optimizers/svgo/src/SVGOOptimizer.js @@ -1,13 +1,16 @@ // @flow import {Optimizer} from '@parcel/plugin'; -import ThrowableDiagnostic from '@parcel/diagnostic'; -import {blobToString} from '@parcel/utils'; - -import * as svgo from 'svgo'; +import ThrowableDiagnostic, { + errorToDiagnostic, + md, + generateJSONCodeHighlights, +} from '@parcel/diagnostic'; +import {blobToString, detectSVGOVersion} from '@parcel/utils'; +import path from 'path'; export default (new Optimizer({ - async loadConfig({config}) { + async loadConfig({config, logger, options}) { let configFile = await config.getConfig([ 'svgo.config.js', 'svgo.config.cjs', @@ -15,33 +18,101 @@ export default (new Optimizer({ 'svgo.config.json', ]); - return configFile?.contents; + // See if svgo is already installed. + let resolved; + try { + resolved = await options.packageManager.resolve( + 'svgo', + path.join(options.projectRoot, 'index'), + {shouldAutoInstall: false}, + ); + } catch (err) { + // ignore. + } + + // If so, use the existing installed version. + let version = 3; + if (resolved) { + if (resolved.pkg?.version) { + version = parseInt(resolved.pkg.version); + } + } else { + // Otherwise try to detect the version based on the config file. + let v = detectSVGOVersion(configFile?.contents); + if (configFile != null && v.version === 2) { + logger.warn({ + message: md`Detected deprecated SVGO v2 options in ${path.relative( + process.cwd(), + configFile.filePath, + )}`, + codeFrames: [ + { + filePath: configFile.filePath, + codeHighlights: + path.extname(configFile.filePath) === '.json' + ? generateJSONCodeHighlights( + await options.inputFS.readFile( + configFile.filePath, + 'utf8', + ), + [{key: v.path}], + ) + : [], + }, + ], + }); + } + + version = v.version; + } + + return { + contents: configFile?.contents, + version, + }; }, - async optimize({bundle, contents, config}) { + async optimize({bundle, contents, config, options}) { if (!bundle.env.shouldOptimize) { return {contents}; } + const svgo = await options.packageManager.require( + 'svgo', + path.join(options.projectRoot, 'index'), + { + range: `^${config.version}`, + saveDev: true, + shouldAutoInstall: options.shouldAutoInstall, + }, + ); + let code = await blobToString(contents); - let result = svgo.optimize(code, { - plugins: [ - { - name: 'preset-default', - params: { - overrides: { - // Removing ids could break SVG sprites. - cleanupIDs: false, - // ", ""); + test("", ""); + test( + "", + "", + ); + test("
Test
", "
Test
"); + test( + "", + "", + ); + test("
Test
", "
Test
"); + } + + #[test] + fn test_whitespace() { + // Remove whitespace in the html and head elements. + // Extra lines at the end are due to the parser adding whitespace outside the body/html to the body. + test( + r#" + + + + Test + + +

Test

+

Foo

+ + +"#, + r#"Test +

Test

+

Foo

+ + +"#, + ); + } + + #[test] + fn test_svg() { + test( + "", + "", + ); + } +} diff --git a/crates/html/src/oxvg.rs b/crates/html/src/oxvg.rs new file mode 100644 index 00000000000..bb81cb729e4 --- /dev/null +++ b/crates/html/src/oxvg.rs @@ -0,0 +1,1621 @@ +use std::{ + cell::{Cell, RefCell, RefMut}, + collections::VecDeque, + fmt::Debug, + hash::Hash, +}; + +use crate::arena::{Arena, Node, NodeData, Ref, SelectorFlags}; +use ref_cast::RefCast; +use serde::Deserialize; +use xml5ever::{local_name, tendril::StrTendril, Attribute, QualName}; + +use oxvg_ast::{attribute::Attr as _, element::Element as _, name::Name, node::Node as _}; + +impl<'arena> oxvg_ast::node::Node<'arena> for Ref<'arena> { + type Arena = Arena<'arena>; + type Name = QName; + type Atom = StrTendril; + type Child = Ref<'arena>; + type ParentChild = Ref<'arena>; + type Parent = Element<'arena>; + + fn id(&self) -> usize { + self as *const _ as usize + } + + fn child_nodes_iter(&self) -> impl DoubleEndedIterator { + ChildNodes { + front: self.first_child(), + front_next: self.first_child().and_then(|n| n.next_sibling()), + end_previous: self.last_child().and_then(|n| n.previous_sibling()), + end: self.last_child(), + } + } + + #[allow(refining_impl_trait)] + fn element(&self) -> Option> { + match self.node_type() { + oxvg_ast::node::Type::Element | oxvg_ast::node::Type::Document => Element::new(*self), + _ => None, + } + } + + fn empty(&self) { + self.first_child.set(None); + self.last_child.set(None); + } + + #[allow(refining_impl_trait)] + fn find_element(&self) -> Option> { + >::find_element(*self) + } + + fn first_child(&self) -> Option { + self.first_child.get() + } + + fn insert_before(&mut self, new_node: Self::Child, reference_node: &Self::Child) { + new_node.remove(); + new_node.parent.set(Some(self)); + let Some(prev_child) = reference_node.previous_sibling.replace(Some(new_node)) else { + self.first_child.set(Some(new_node)); + new_node.next_sibling.set(Some(reference_node)); + return; + }; + prev_child.next_sibling.set(Some(new_node)); + new_node.previous_sibling.set(Some(prev_child)); + new_node.next_sibling.set(Some(reference_node)); + debug_assert!(new_node.parent.get() == Some(*self)); + debug_assert!(new_node.next_sibling.get() == Some(*reference_node)); + debug_assert!(reference_node.previous_sibling.get() == Some(new_node)); + } + + fn insert_after(&mut self, new_node: Self::Child, reference_node: &Self::Child) { + new_node.remove(); + new_node.parent.set(Some(self)); + let Some(next_child) = reference_node.next_sibling.replace(Some(new_node)) else { + self.last_child.set(Some(new_node)); + new_node.previous_sibling.set(Some(reference_node)); + return; + }; + next_child.previous_sibling.set(Some(new_node)); + new_node.next_sibling.set(Some(next_child)); + new_node.previous_sibling.set(Some(reference_node)); + debug_assert!(new_node.parent.get() == Some(*self)); + debug_assert!(new_node.previous_sibling.get() == Some(*reference_node)); + debug_assert!(reference_node.next_sibling.get() == Some(new_node)); + } + + fn retain_children(&self, mut f: F) + where + F: FnMut(Self::Child) -> bool, + { + self.last_child.set(None); + let mut current = self.first_child.take(); + let mut previously_retained = None; + while let Some(child) = current { + current = child.next_sibling.get(); + let retain = f(child); + if retain { + child.previous_sibling.set(previously_retained); + if previously_retained.is_none() { + self.first_child.set(Some(child)); + } + previously_retained = Some(child); + self.last_child.set(Some(child)); + } else { + child.parent.set(None); + child.previous_sibling.set(None); + child.next_sibling.set(None); + } + } + } + + fn last_child(&self) -> Option { + self.last_child.get() + } + + fn next_sibling(&self) -> Option { + self.next_sibling.get() + } + + fn node_type(&self) -> oxvg_ast::node::Type { + match &self.data { + NodeData::Document => oxvg_ast::node::Type::Document, + NodeData::Element { .. } => oxvg_ast::node::Type::Element, + NodeData::ProcessingInstruction { .. } => oxvg_ast::node::Type::ProcessingInstruction, + NodeData::Text { .. } => oxvg_ast::node::Type::Text, + NodeData::Comment { .. } => oxvg_ast::node::Type::Comment, + NodeData::Doctype { .. } => oxvg_ast::node::Type::DocumentType, + } + } + + fn previous_sibling(&self) -> Option { + self.previous_sibling.get() + } + + fn parent_node(&self) -> Option { + self.parent.get().and_then(Element::new) + } + + fn set_parent_node(&self, new_parent: &Self::Parent) -> Option { + self + .parent + .replace(Some(new_parent.node)) + .and_then(Element::new) + } + + fn append_child(&self, a_child: Self::Child) { + a_child.parent.set(Some(self)); + if let Some(child) = self.last_child.replace(Some(a_child)) { + child.next_sibling.set(Some(a_child)); + a_child.previous_sibling.set(Some(child)); + } else { + self.first_child.set(Some(a_child)); + } + debug_assert!(a_child.parent.get() == Some(*self)); + debug_assert!(a_child.next_sibling.get().is_none()); + debug_assert!(self.last_child.get() == Some(a_child)); + } + + fn item(&self, index: usize) -> Option { + self.child_nodes_iter().nth(index) + } + + fn node_name(&self) -> Self::Atom { + match &self.data { + NodeData::Comment { .. } => "#comment".into(), + NodeData::Doctype { name, .. } => name.clone(), + NodeData::Document => "#document".into(), + NodeData::Element { name, .. } => name.local.to_uppercase().into(), + NodeData::ProcessingInstruction { target, .. } => target.clone(), + NodeData::Text { .. } => "#text".into(), + } + } + + fn node_value(&self) -> Option { + Some(match &self.data { + NodeData::Comment { contents } => contents.clone(), + NodeData::ProcessingInstruction { contents, .. } => contents.borrow().clone(), + NodeData::Text { contents } => contents.borrow().clone(), + _ => return None, + }) + } + + fn processing_instruction(&self) -> Option<(Self::Atom, Self::Atom)> { + match &self.data { + NodeData::ProcessingInstruction { target, contents } => { + Some((target.clone(), contents.borrow().clone())) + } + _ => None, + } + } + + fn try_set_node_value(&self, value: Self::Atom) -> Option<()> { + match &self.data { + NodeData::Text { contents } => { + contents.replace(value); + Some(()) + } + _ => None, + } + } + + fn text_content(&self) -> Option { + match &self.data { + NodeData::Text { contents: value } + | NodeData::ProcessingInstruction { + contents: value, .. + } => Some(value.borrow().clone()), + NodeData::Comment { contents: value } => Some(value.clone()), + NodeData::Document | NodeData::Doctype { .. } => None, + NodeData::Element { .. } => Some( + self + .child_nodes_iter() + .filter_map(|el| Self::text_content(&el)) + .fold(StrTendril::default(), |mut acc, item| { + acc.push_tendril(&item); + acc + }), + ), + } + } + + fn set_text_content(&self, content: Self::Atom, arena: &Self::Arena) { + match self.data { + NodeData::Text { ref contents } => { + contents.replace(content); + } + NodeData::Element { .. } => { + self.empty(); + self.append_child(self.text(content, arena)); + } + _ => {} + } + } + + fn text(&self, content: Self::Atom, arena: &Self::Arena) -> Self::Child { + arena.alloc(Node::new( + NodeData::Text { + contents: RefCell::new(content), + }, + 0, + )) + } + + fn remove(&self) { + let parent = self.parent.take(); + let previous_sibling = self.previous_sibling.take(); + let next_sibling = self.next_sibling.take(); + if let Some(previous_sibling) = previous_sibling { + if let Some(next_sibling) = next_sibling { + // prev -> ~self~ -> next + next_sibling.previous_sibling.set(Some(previous_sibling)); + } else if let Some(parent) = parent { + // prev -> ~self~ -> None + parent.last_child.set(Some(previous_sibling)); + } + previous_sibling.next_sibling.set(next_sibling); + } else if let Some(next_sibling) = next_sibling { + next_sibling.previous_sibling.set(None); + if let Some(parent) = parent { + // None -> ~self~ -> next + parent.first_child.set(Some(next_sibling)); + } + } else if let Some(parent) = parent { + // None -> ~self~ -> None + parent.first_child.set(None); + parent.last_child.set(None); + } + debug_assert!(previous_sibling.is_none_or(|n| n.next_sibling.get() == next_sibling)); + debug_assert!(next_sibling.is_none_or(|n| n.previous_sibling.get() == previous_sibling)); + debug_assert!(parent.is_none_or(|n| n.first_child.get() != Some(*self))); + debug_assert!(parent.is_none_or(|n| n.last_child.get() != Some(*self))); + } + + fn remove_child_at(&mut self, index: usize) -> Option { + let child = self.child_nodes_iter().nth(index); + child?.remove(); + child + } + + fn clone_node(&self) -> Self { + todo!("needs arena") + } + + fn replace_child( + &mut self, + new_child: Self::Child, + old_child: &Self::Child, + ) -> Option { + debug_assert_eq!(old_child.parent.get(), Some(*self)); + // debug_assert!(self.child_nodes_iter().contains(old_child)); + + let previous_sibling = old_child.previous_sibling.take(); + let next_sibling = old_child.next_sibling.take(); + old_child.parent.set(None); + + new_child.previous_sibling.set(previous_sibling); + new_child.next_sibling.set(next_sibling); + new_child.parent.set(Some(*self)); + + if let Some(previous_sibling) = previous_sibling { + previous_sibling.next_sibling.set(Some(new_child)); + } else { + self.first_child.set(Some(new_child)); + } + if let Some(next_sibling) = next_sibling { + next_sibling.previous_sibling.set(Some(new_child)); + } else { + self.last_child.set(Some(new_child)); + } + Some(*old_child) + } + + // TODO: deprecate + fn to_owned(&self) -> Self { + self + } + + fn as_child(&self) -> Self::Child { + self + } + + fn as_impl(&self) -> impl oxvg_ast::node::Node<'arena> { + *self + } + + fn as_parent_child(&self) -> Self::ParentChild { + self + } +} + +#[derive(RefCast, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone)] +#[repr(transparent)] +pub struct QName(QualName); + +impl oxvg_ast::name::Name for QName { + type LocalName = xml5ever::LocalName; + type Prefix = xml5ever::Prefix; + type Namespace = xml5ever::Namespace; + + fn new(prefix: Option, local: Self::LocalName) -> Self { + QName(QualName { + prefix, + local, + ns: Self::Namespace::default(), + }) + } + + fn local_name(&self) -> &Self::LocalName { + &self.0.local + } + + fn prefix(&self) -> &Option { + &self.0.prefix + } + + fn ns(&self) -> &Self::Namespace { + &self.0.ns + } +} + +#[derive(RefCast, Clone, Debug, PartialEq)] +#[repr(transparent)] +pub struct Attr(Attribute); + +impl<'arena> oxvg_ast::attribute::Attr for Attr { + type Atom = StrTendril; + type Name = QName; + + fn new(name: Self::Name, value: Self::Atom) -> Self { + Attr(Attribute { + name: name.0, + value, + }) + } + + fn name(&self) -> &Self::Name { + QName::ref_cast(&self.0.name) + } + + fn name_mut(&mut self) -> &mut Self::Name { + QName::ref_cast_mut(&mut self.0.name) + } + + fn local_name(&self) -> &::LocalName { + &self.0.name.local + } + + fn prefix(&self) -> &Option<::Prefix> { + &self.0.name.prefix + } + + fn value(&self) -> &Self::Atom { + &self.0.value + } + + fn value_mut(&mut self) -> &mut Self::Atom { + &mut self.0.value + } + + fn set_value(&mut self, value: Self::Atom) -> Self::Atom { + std::mem::replace(&mut self.0.value, value) + } + + fn push(&mut self, value: &Self::Atom) { + self.0.value.push_tendril(value); + } + + fn sub_value(&self, offset: u32, length: u32) -> Self::Atom { + self.0.value.subtendril(offset, length) + } +} +#[derive(Debug, Clone)] +/// The list of attributes of an element. +pub struct Attributes<'arena>(pub &'arena RefCell>); + +impl<'arena> oxvg_ast::attribute::Attributes<'arena> for Attributes<'arena> { + type Attribute = Attr; + + fn len(&self) -> usize { + self.0.borrow().len() + } + + fn item(&self, index: usize) -> Option> { + std::cell::Ref::filter_map(self.0.borrow(), |v| v.get(index).map(Attr::ref_cast)).ok() + } + + fn item_mut(&self, index: usize) -> Option> { + std::cell::RefMut::filter_map(self.0.borrow_mut(), |v| { + v.get_mut(index).map(Attr::ref_cast_mut) + }) + .ok() + } + + fn get_named_item( + &self, + name: &::Name, + ) -> Option> { + std::cell::Ref::filter_map(self.0.borrow(), |v| { + v.iter() + .find(|a| a.name.prefix == *name.prefix() && a.name.local == *name.local_name()) + .map(Attr::ref_cast) + }) + .ok() + } + + fn get_named_item_mut( + &self, + name: &::Name, + ) -> Option> { + RefMut::filter_map(self.0.borrow_mut(), |v| { + v.iter_mut() + .find(|a| a.name.prefix == *name.prefix() && a.name.local == *name.local_name()) + .map(Attr::ref_cast_mut) + }) + .ok() + } + + fn get_named_item_local( + &self, + name: &<::Name as Name>::LocalName, + ) -> Option> { + std::cell::Ref::filter_map(self.0.borrow(), |v| { + v.iter() + .find(|a| a.name.prefix.is_none() && a.name.local == *name) + .map(Attr::ref_cast) + }) + .ok() + } + + fn get_named_item_local_mut( + &self, + name: &<::Name as Name>::LocalName, + ) -> Option> { + RefMut::filter_map(self.0.borrow_mut(), |v| { + v.iter_mut() + .find(|a| a.name.prefix.is_none() && a.name.local == *name) + .map(Attr::ref_cast_mut) + }) + .ok() + } + + fn get_named_item_ns( + &self, + namespace: &<::Name as Name>::Namespace, + name: &<::Name as Name>::LocalName, + ) -> Option> { + std::cell::Ref::filter_map(self.0.borrow(), |v| { + v.iter() + .find(|a| a.name.local == *name && a.name.ns == *namespace) + .map(Attr::ref_cast) + }) + .ok() + } + + fn remove_named_item( + &self, + name: &::Name, + ) -> Option { + let mut attrs = self.0.borrow_mut(); + let index = attrs + .iter() + .position(|a| a.name.prefix == *name.prefix() && a.name.local == *name.local_name())?; + Some(Attr(attrs.remove(index))) + } + + fn remove_named_item_local( + &self, + name: &<::Name as Name>::LocalName, + ) -> Option { + let mut attrs = self.0.borrow_mut(); + let index = attrs + .iter() + .position(|a| a.name.prefix.is_none() && a.name.local == *name)?; + Some(Attr(attrs.remove(index))) + } + + fn set_named_item(&self, attr: Self::Attribute) -> Option { + let attrs = &mut *self.0.borrow_mut(); + if let Some(index) = attrs + .iter() + .position(|a| a.name.prefix == *attr.prefix() && a.name.local == *attr.local_name()) + { + Some(Attr(std::mem::replace(&mut attrs[index], attr.0))) + } else { + attrs.push(attr.0); + None + } + } + + fn sort(&self, order: &[String], xmlns_front: bool) { + fn get_ns_priority(name: &QualName, xmlns_front: bool) -> usize { + if xmlns_front { + if name.prefix.is_none() && name.local.as_ref() == "xmlns" { + return 3; + } + if name.prefix.as_ref().is_some_and(|p| p.as_ref() == "xmlns") { + return 2; + } + } + if name.prefix.is_some() { + return 1; + } + 0 + } + + self.0.borrow_mut().sort_by(|a, b| { + let a_priority = get_ns_priority(&a.name, xmlns_front); + let b_priority = get_ns_priority(&b.name, xmlns_front); + let priority_ord = b_priority.cmp(&a_priority); + if priority_ord != std::cmp::Ordering::Equal { + return priority_ord; + } + + let a_part = a + .name + .local + .split_once('-') + .map_or_else(|| a.name.local.as_ref(), |p| p.0); + let b_part = b + .name + .local + .split_once('-') + .map_or_else(|| b.name.local.as_ref(), |p| p.0); + if a_part != b_part { + let a_in_order = order.iter().position(|x| x == a_part); + let b_in_order = order.iter().position(|x| x == b_part); + if a_in_order.is_some() && b_in_order.is_some() { + return a_in_order.cmp(&b_in_order); + } + if a_in_order.is_some() { + return std::cmp::Ordering::Less; + } + if b_in_order.is_some() { + return std::cmp::Ordering::Greater; + } + } + + a.name.cmp(&b.name) + }); + } + + fn retain(&self, mut f: F) + where + F: FnMut(&Self::Attribute) -> bool, + { + self.0.borrow_mut().retain(|attr| f(Attr::ref_cast(attr))); + } +} + +impl<'arena> oxvg_ast::node::Node<'arena> for Element<'arena> { + type Arena = Arena<'arena>; + type Name = QName; + type Atom = StrTendril; + type Child = Ref<'arena>; + type ParentChild = Ref<'arena>; + type Parent = Element<'arena>; + + fn id(&self) -> usize { + self.node.id() + } + + fn child_nodes_iter(&self) -> impl DoubleEndedIterator { + self.node.child_nodes_iter() + } + + fn element(&self) -> Option> { + Some(self.clone()) + } + + fn empty(&self) { + self.node.empty(); + } + + #[allow(refining_impl_trait)] + fn find_element(&self) -> Option { + if self.node_type() == oxvg_ast::node::Type::Element { + Some(self.clone()) + } else { + self.node.find_element() + } + } + + fn first_child(&self) -> Option { + self.node.first_child() + } + + fn insert_before(&mut self, new_node: Self::Child, reference_node: &Self::Child) { + oxvg_ast::node::Node::insert_before(&mut self.node, new_node, reference_node); + } + + fn insert_after(&mut self, new_node: Self::Child, reference_node: &Self::Child) { + oxvg_ast::node::Node::insert_after(&mut self.node, new_node, reference_node); + } + + fn retain_children(&self, f: F) + where + F: FnMut(Self::Child) -> bool, + { + self.node.retain_children(f); + } + + fn last_child(&self) -> Option { + self.node.last_child() + } + + fn node_type(&self) -> oxvg_ast::node::Type { + self.node.node_type() + } + + fn next_sibling(&self) -> Option { + self.node.next_sibling() + } + + fn parent_node(&self) -> Option { + self.node.parent_node() + } + + fn previous_sibling(&self) -> Option { + self.node.previous_sibling() + } + + fn set_parent_node(&self, new_parent: &Self::Parent) -> Option { + self.node.set_parent_node(new_parent) + } + + fn append_child(&self, a_child: Self::Child) { + self.node.append_child(a_child); + } + + fn item(&self, index: usize) -> Option { + self.node.item(index) + } + + fn node_name(&self) -> Self::Atom { + self.node.node_name() + } + + fn node_value(&self) -> Option { + None + } + + fn processing_instruction(&self) -> Option<(Self::Atom, Self::Atom)> { + None + } + + fn try_set_node_value(&self, _value: Self::Atom) -> Option<()> { + None + } + + fn text_content(&self) -> Option { + oxvg_ast::node::Node::text_content(&self.node) + } + + fn set_text_content(&self, content: Self::Atom, arena: &Self::Arena) { + oxvg_ast::node::Node::set_text_content(&self.node, content, arena); + } + + fn text(&self, content: Self::Atom, arena: &Self::Arena) -> Self::Child { + self.node.text(content, arena) + } + + fn remove(&self) { + self.node.remove(); + } + + fn remove_child_at(&mut self, index: usize) -> Option { + self.node.remove_child_at(index) + } + + fn clone_node(&self) -> Self { + oxvg_ast::element::Element::new(self.node.clone_node()).unwrap() + } + + fn replace_child( + &mut self, + new_child: Self::Child, + old_child: &Self::Child, + ) -> Option { + self.node.replace_child(new_child, old_child) + } + + fn to_owned(&self) -> Self { + self.clone() + } + + fn as_child(&self) -> Self::Child { + self.node.as_child() + } + + fn as_impl(&self) -> impl oxvg_ast::node::Node<'arena> { + self.node.as_impl() + } + + fn as_parent_child(&self) -> Self::ParentChild { + self.node.as_parent_child() + } +} + +#[derive(Clone)] +/// An XML element type. +pub struct Element<'arena> { + node: Ref<'arena>, +} + +impl<'arena> oxvg_ast::element::Element<'arena> for Element<'arena> { + type Attributes<'a> = Attributes<'a>; + type Attr = Attr; + type Lifetimed<'a> = Element<'a>; + + fn new(node: Ref<'arena>) -> Option { + if !matches!( + node.node_type(), + oxvg_ast::node::Type::Element | oxvg_ast::node::Type::Document + ) { + return None; + } + Some(Self { node }) + } + + fn as_document(&self) -> impl oxvg_ast::document::Document<'arena, Root = Self> { + Document(self.clone()) + } + + fn from_parent(node: Self::ParentChild) -> Option { + Self::new(node) + } + + fn tag_name(&self) -> Self::Atom { + self.node.node_name() + } + + fn qual_name(&self) -> &Self::Name { + if let NodeData::Element { name, .. } = &self.node.data { + QName::ref_cast(&name) + } else { + unreachable!() + } + } + + fn replace_children(&self, children: Vec) { + self.node.first_child.set(children.first().copied()); + self.node.last_child.set(children.last().copied()); + for i in 0..children.len() { + let current = children.get(i).expect("`i` should be within len"); + current.parent.set(Some(self.node)); + if i > 0 { + current.previous_sibling.set(children.get(i - 1).copied()); + } else { + current.previous_sibling.set(None); + } + current.next_sibling.set(children.get(i + 1).copied()); + } + } + + fn set_local_name(&self, new_name: ::LocalName, arena: &Self::Arena) { + let NodeData::Element { attrs, .. } = &self.node.data else { + panic!("expected an element!"); + }; + let replacement = arena.alloc(Node::new( + NodeData::Element { + name: QualName::new(None, Default::default(), new_name), + attrs: attrs.clone(), + selector_flags: SelectorFlags(Cell::new(None)), + mathml_annotation_xml_integration_point: false, + template_contents: None, + }, + 0, + )); + self.replace_with(replacement); + } + + fn append(&self, node: Self::Child) { + node.remove(); + if let Some(last_node) = self.node.last_child.get() { + last_node.next_sibling.set(Some(node)); + self.node.last_child.set(Some(node)); + } else { + debug_assert!(self.node.first_child.get().is_none()); + self.node.first_child.set(Some(node)); + self.node.last_child.set(Some(node)); + } + } + + fn attributes(&self) -> Self::Attributes<'_> { + if let NodeData::Element { attrs, .. } = &self.node.data { + Attributes(attrs) + } else { + unreachable!() + } + } + + fn set_attributes(&self, new_attrs: Self::Attributes<'_>) { + if let NodeData::Element { attrs, .. } = &self.node.data { + attrs.replace(new_attrs.0.take()); + } + } + + fn parent_element(&self) -> Option { + self.node.parent_node() + } + + fn class_list( + &self, + ) -> impl oxvg_ast::class_list::ClassList< + Attribute = as oxvg_ast::attribute::Attributes>::Attribute, + > { + use oxvg_ast::attribute::Attributes; + ClassList { + attrs: self.attributes(), + tokens: self + .attributes() + .get_named_item_local(&local_name!("class")) + .map(|a| a.value().split_whitespace().map(Into::into).collect()) + .unwrap_or_default(), + } + } + + fn document(&self) -> Option { + let Some(parent) = self.parent_node() else { + return Some(self.clone()); + }; + match self.node.data { + NodeData::Element { .. } => parent.document(), + NodeData::Document => Some(parent), + _ => None, + } + } + + fn flatten(&self) { + let parent = self.node.parent.take(); + let mut current = self.node.first_child.get(); + while let Some(current_child) = current { + current_child.parent.set(parent); + current = current_child.next_sibling.get(); + } + + let previous_sibling = self.node.previous_sibling.take(); + let next_sibling = self.node.next_sibling.take(); + let first_child = self.node.first_child.take(); + let last_child = self.node.last_child.take(); + + if let Some(first_child) = first_child { + if let Some(previous_sibling) = previous_sibling { + previous_sibling.next_sibling.set(Some(first_child)); + first_child.previous_sibling.set(Some(previous_sibling)); + } else if let Some(parent) = parent { + parent.first_child.set(Some(first_child)); + } + } else if let Some(previous_sibling) = previous_sibling { + previous_sibling.next_sibling.set(next_sibling); + next_sibling.inspect(|n| n.previous_sibling.set(Some(previous_sibling))); + } else if let Some(parent) = parent { + parent.first_child.set(next_sibling); + } + if let Some(last_child) = last_child { + if let Some(next_sibling) = next_sibling { + last_child.next_sibling.set(Some(next_sibling)); + next_sibling.previous_sibling.set(Some(last_child)); + } else if let Some(parent) = parent { + parent.last_child.set(Some(last_child)); + } + } else if let Some(next_sibling) = next_sibling { + next_sibling.previous_sibling.set(previous_sibling); + } else if let Some(parent) = parent { + parent.last_child.set(previous_sibling); + } + } + + fn find_element(node: >::ParentChild) -> Option { + let mut queue = VecDeque::new(); + queue.push_back(node); + + while let Some(current) = queue.pop_front() { + let maybe_element = current.element(); + if maybe_element + .as_ref() + .is_some_and(|n| n.node_type() == oxvg_ast::node::Type::Element) + { + return maybe_element; + } + + for child in current.child_nodes_iter() { + queue.push_back(child); + } + } + None + } + + fn sort_child_elements(&self, mut f: F) + where + F: FnMut(Self, Self) -> std::cmp::Ordering, + { + let mut children: Vec<_> = self.child_nodes_iter().collect(); + children.sort_by(|a, b| { + let Some(a) = Element::new(a) else { + return std::cmp::Ordering::Less; + }; + let Some(b) = Element::new(b) else { + return std::cmp::Ordering::Greater; + }; + f(a, b) + }); + + self.node.first_child.set(children.first().copied()); + self.node.last_child.set(children.last().copied()); + for i in 0..children.len() { + let child = children[i]; + if i > 0 { + child.previous_sibling.set(children.get(i - 1).copied()); + } + child.next_sibling.set(children.get(i + 1).copied()); + } + } + + fn set_selector_flags(&self, flags: selectors::matching::ElementSelectorFlags) { + let NodeData::Element { + ref selector_flags, .. + } = self.node.data + else { + return; + }; + selector_flags.0.set(Some(flags)); + } +} + +impl Debug for Element<'_> { + fn fmt(&self, _f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + // if self.node_type() != node::Type::Element { + // return (&self.node).fmt(f); + // } + // let name = self.qual_name().formatter(); + // let attributes = self.attributes(); + // let child_node_count = self.child_node_count(); + // let text = match child_node_count { + // 1 => self + // .text_content() + // .map(|s| s.trim().to_string()) + // .map(Cow::Owned) + // .unwrap_or_default(), + // _ => Cow::Borrowed(""), + // }; + // let child_count = match child_node_count { + // 0 => String::from("/>"), + // len => format!(">{len} child nodes"), + // }; + // f.debug_tuple("Element") + // .field(&format!("<{name} {attributes:?}{child_count} {text}")) + // .finish() + todo!() + } +} + +impl std::hash::Hash for Element<'_> { + fn hash(&self, state: &mut H) { + self.node.id().hash(state); + } +} + +impl Eq for Element<'_> {} + +impl PartialEq for Element<'_> { + fn eq(&self, other: &Self) -> bool { + self.id_eq(other) + } +} + +/// A whitespace seperated set of tokens of a class attribute's value. +pub struct ClassList<'arena> { + attrs: Attributes<'arena>, + tokens: Vec, +} + +impl oxvg_ast::class_list::ClassList for ClassList<'_> { + type Attribute = Attr; + + fn length(&self) -> usize { + self.tokens.len() + } + + fn value(&self) -> ::Atom { + use oxvg_ast::attribute::Attributes; + self + .attrs + .get_named_item_local(&"class".into()) + .map(|a| a.value().clone()) + .unwrap_or_default() + } + + fn add(&mut self, token: ::Atom) { + use oxvg_ast::attribute::Attributes; + if self.contains(&token) { + return; + }; + let Some(mut attr) = self.attrs.get_named_item_local_mut(&"class".into()) else { + self + .attrs + .set_named_item(Attr::new(Name::new(None, "class".into()), token.clone())); + self.tokens.push(token); + return; + }; + + attr.push(&token); + } + + fn contains(&self, token: &::Atom) -> bool { + self.tokens.contains(token) + } + + fn item(&self, index: usize) -> Option<&::Atom> { + self.tokens.get(index) + } + + fn remove(&mut self, token: &::Atom) { + use oxvg_ast::attribute::Attributes; + let Some(index) = self.tokens.iter().position(|t| t == token) else { + return; + }; + self.tokens.remove(index); + + let mut attr = self + .attrs + .get_named_item_local_mut(&"class".into()) + .expect("had token"); + if self.tokens.is_empty() { + drop(attr); + self.attrs.remove_named_item_local(&"class".into()); + } else { + let mut s = StrTendril::with_capacity(attr.value().len() as u32); + let mut first = false; + for token in &self.tokens { + if !first { + s.push_char(' '); + } + s.push_tendril(token); + first = false; + } + attr.set_value(s); + } + } + + fn replace( + &mut self, + old_token: ::Atom, + new_token: ::Atom, + ) -> bool { + use oxvg_ast::attribute::Attributes; + let Some(index) = self.tokens.iter().position(|t| t == &old_token) else { + return false; + }; + + let mut attr = self + .attrs + .get_named_item_local_mut(&"class".into()) + .expect("had token"); + + let mut s = StrTendril::with_capacity(attr.value().len() as u32); + let mut first = false; + for token in &self.tokens { + if !first { + s.push_char(' '); + } + s.push_tendril(token); + first = false; + } + attr.set_value(s); + + drop(attr); + self.tokens[index] = new_token; + true + } + + fn iter( + &self, + ) -> impl DoubleEndedIterator::Atom> { + self.tokens.iter() + } +} + +#[derive(Clone)] +/// An XML document type with a root element +pub struct Document<'arena>(Element<'arena>); + +impl<'arena> oxvg_ast::document::Document<'arena> for Document<'arena> { + type Root = Element<'arena>; + + fn document_element(&self) -> &Self::Root { + &self.0 + } + + fn create_c_data_section( + &self, + data: >::Atom, + arena: &>::Arena, + ) -> >::Child { + self.create_text_node(data, arena) + } + + fn create_element( + &self, + tag_name: >::Name, + arena: &>::Arena, + ) -> Self::Root { + Element::new(arena.alloc(Node::new( + NodeData::Element { + name: tag_name.0, + attrs: RefCell::new(vec![]), + selector_flags: SelectorFlags(Cell::new(None)), + mathml_annotation_xml_integration_point: false, + template_contents: None, + }, + 0, + ))) + .expect("created element should be an element") + } + + fn create_processing_instruction( + &self, + target: >::Atom, + data: >::Atom, + arena: &>::Arena, + ) -> <>::Child as oxvg_ast::node::Node<'arena>>::ParentChild{ + arena.alloc(Node::new( + NodeData::ProcessingInstruction { + target, + contents: RefCell::new(data), + }, + 0, + )) + } + + fn create_text_node( + &self, + data: >::Atom, + arena: >::Arena, + ) -> >::Child { + arena.alloc(Node::new( + NodeData::Text { + contents: RefCell::new(data), + }, + 0, + )) + } +} + +struct ChildNodes<'arena> { + front: Option>, + front_next: Option>, + end_previous: Option>, + end: Option>, +} + +impl<'arena> Iterator for ChildNodes<'arena> { + type Item = Ref<'arena>; + + fn next(&mut self) -> Option { + let current = self.front?; + + // Move front tracking forwards + let new_front_next = self.front_next.and_then(|n| n.next_sibling()); + self.front = std::mem::replace(&mut self.front_next, new_front_next); + + // End iteration when it collides with end + if self.end.is_some_and(|end| end == current) { + self.front = None; + self.front_next = None; + self.end_previous = None; + self.end = None; + } + + // Done + Some(current) + } +} + +impl DoubleEndedIterator for ChildNodes<'_> { + fn next_back(&mut self) -> Option { + let current = self.end?; + + let new_end_previous = self.end_previous.and_then(|n| n.next_sibling()); + self.end = std::mem::replace(&mut self.end_previous, new_end_previous); + + if self.front.is_some_and(|front| front == current) { + self.front = None; + self.front_next = None; + self.end_previous = None; + self.end = None; + } + + Some(current) + } +} + +impl ExactSizeIterator for ChildNodes<'_> { + fn len(&self) -> usize { + let mut current = self.front; + let mut len = 0; + while let Some(node) = current { + current = node.next_sibling(); + len += 1; + if self.end.is_none_or(|end| end == node) { + break; + } + } + len + } +} + +#[derive(Deserialize, Default, Debug)] +#[serde(rename_all = "camelCase")] +pub struct PrefixIdsOptions { + pub delim: Option, + #[serde(default)] + pub prefix: Option, + #[serde(default)] + pub prefix_ids: Option, + #[serde(default)] + pub prefix_class_names: Option, +} + +#[derive(Deserialize, Default, Debug)] +#[serde(rename_all = "camelCase")] +pub struct OxvgConfig { + #[serde(deserialize_with = "ok_or_default")] + pub default: DefaultTrue, + #[serde(default, deserialize_with = "ok_or_default")] + pub add_attributes_to_svg_element: ConfigItem, + #[serde( + default, + deserialize_with = "ok_or_default", + rename = "addClassesToSVGElement" + )] + pub add_classes_to_svg: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub cleanup_list_of_values: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub prefix_ids: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_attributes_by_selector: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_attrs: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_dimensions: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_elements_by_attr: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_off_canvas_paths: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_raster_images: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_scripts: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_style_element: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_title: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_view_box: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub reuse_paths: ConfigItem<()>, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_doctype: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_xml_proc_inst: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_comments: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_deprecated_attrs: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_metadata: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default", rename = "cleanupAttrs")] + pub cleanup_attributes: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub merge_styles: ConfigItem<()>, + #[serde(default, deserialize_with = "ok_or_default")] + pub inline_styles: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub minify_styles: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub cleanup_ids: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_useless_defs: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub cleanup_numeric_values: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub convert_colors: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_unknowns_and_defaults: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_non_inheritable_group_attrs: + ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_useless_stroke_and_fill: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub cleanup_enable_background: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_hidden_elems: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_empty_text: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub convert_shape_to_path: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub convert_ellipse_to_circle: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub move_elems_attrs_to_group: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub move_group_attrs_to_elems: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub collapse_groups: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub apply_transforms: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub convert_path_data: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub convert_transform: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_empty_attrs: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_empty_containers: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub merge_paths: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub sort_attrs: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub sort_defs_children: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_desc: ConfigItem, + #[serde( + default, + deserialize_with = "ok_or_default", + rename = "removeEditorsNSData" + )] + pub remove_editors_ns_data: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default", rename = "removeUnusedNS")] + pub remove_unused_n_s: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default", rename = "removeXMLNS")] + pub remove_x_m_l_n_s: ConfigItem, + #[serde(default, deserialize_with = "ok_or_default")] + pub remove_xlink: ConfigItem, +} + +#[derive(Deserialize, Debug)] +#[serde(transparent)] +pub struct DefaultTrue(bool); + +impl Default for DefaultTrue { + fn default() -> Self { + DefaultTrue(true) + } +} + +#[derive(Deserialize, Default, Debug)] +#[serde(untagged)] +pub enum ConfigItem { + #[serde(skip)] + #[default] + None, + Bool(bool), + Config(C), +} + +impl ConfigItem { + fn is_some(&self) -> bool { + match self { + ConfigItem::Bool(true) => true, + ConfigItem::Config(_) => true, + _ => false, + } + } +} + +fn ok_or_default<'de, T, D>(deserializer: D) -> Result +where + T: serde::Deserialize<'de> + Default, + D: serde::Deserializer<'de>, +{ + Ok(T::deserialize(deserializer).unwrap_or_default()) +} + +pub enum OxvgKind { + Html, + Svg, +} + +impl OxvgConfig { + pub fn into_jobs(&self, kind: OxvgKind) -> oxvg_optimiser::Jobs { + let mut jobs = if self.default.0 { + match kind { + OxvgKind::Html => { + oxvg_optimiser::Jobs { + // These defaults can break CSS selectors. + convert_shape_to_path: None, + // Additional defaults to preserve accessibility information. + remove_title: None, + remove_desc: None, + remove_unknowns_and_defaults: Some(oxvg_optimiser::RemoveUnknownsAndDefaults { + keep_aria_attrs: true, + keep_role_attr: true, + ..Default::default() + }), + // Do not minify ids or remove unreferenced elements in + // inline SVGs because they could actually be referenced + // by a separate inline SVG. + cleanup_ids: None, + remove_hidden_elems: None, + ..Default::default() + } + } + OxvgKind::Svg => { + oxvg_optimiser::Jobs { + // Removing ids could break SVG sprites. + cleanup_ids: None, + ..Default::default() + } + } + } + } else { + oxvg_optimiser::Jobs::none() + }; + + macro_rules! job { + ($name: ident) => { + jobs.$name = match &self.$name { + ConfigItem::None => jobs.$name, + ConfigItem::Bool(true) => Some(Default::default()), + ConfigItem::Bool(false) => None, + ConfigItem::Config(c) => Some(c.clone().into()), + }; + }; + } + + job!(add_attributes_to_svg_element); + job!(add_classes_to_svg); + job!(cleanup_list_of_values); + + jobs.prefix_ids = match &self.prefix_ids { + ConfigItem::None => jobs.prefix_ids, + ConfigItem::Bool(true) => Some(Default::default()), + ConfigItem::Bool(false) => None, + ConfigItem::Config(c) => Some(oxvg_optimiser::PrefixIds { + delim: c + .delim + .as_ref() + .map(|c| c.clone()) + .unwrap_or_else(|| oxvg_optimiser::PrefixIds::default().delim), + prefix: match &c.prefix { + None => Default::default(), + Some(c) => oxvg_optimiser::PrefixGenerator::Prefix(c.clone()), + }, + prefix_ids: c + .prefix_ids + .unwrap_or_else(|| oxvg_optimiser::PrefixIds::default().prefix_ids), + prefix_class_names: c + .prefix_class_names + .unwrap_or_else(|| oxvg_optimiser::PrefixIds::default().prefix_class_names), + }), + }; + + job!(remove_attributes_by_selector); + job!(remove_attrs); + job!(remove_dimensions); + job!(remove_elements_by_attr); + job!(remove_off_canvas_paths); + job!(remove_raster_images); + job!(remove_scripts); + job!(remove_style_element); + job!(remove_title); + job!(remove_view_box); + + jobs.reuse_paths = match self.reuse_paths { + ConfigItem::None => jobs.reuse_paths, + ConfigItem::Bool(true) => Some(Default::default()), + ConfigItem::Bool(false) => None, + ConfigItem::Config(()) => unreachable!(), + }; + + job!(remove_doctype); + job!(remove_xml_proc_inst); + job!(remove_comments); + job!(remove_deprecated_attrs); + job!(remove_metadata); + job!(cleanup_attributes); + + jobs.merge_styles = match self.merge_styles { + ConfigItem::None => jobs.merge_styles, + ConfigItem::Bool(true) => Some(Default::default()), + ConfigItem::Bool(false) => None, + ConfigItem::Config(()) => unreachable!(), + }; + + job!(inline_styles); + job!(minify_styles); + job!(cleanup_ids); + job!(remove_useless_defs); + job!(cleanup_numeric_values); + job!(convert_colors); + job!(remove_unknowns_and_defaults); + job!(remove_non_inheritable_group_attrs); + job!(remove_useless_stroke_and_fill); + job!(cleanup_enable_background); + job!(remove_hidden_elems); + job!(remove_empty_text); + job!(convert_shape_to_path); + job!(convert_ellipse_to_circle); + job!(move_elems_attrs_to_group); + job!(move_group_attrs_to_elems); + job!(collapse_groups); + job!(apply_transforms); + job!(convert_path_data); + job!(convert_transform); + job!(remove_empty_attrs); + job!(remove_empty_containers); + job!(merge_paths); + job!(sort_attrs); + job!(sort_defs_children); + job!(remove_desc); + job!(remove_editors_ns_data); + job!(remove_unused_n_s); + job!(remove_x_m_l_n_s); + job!(remove_xlink); + + jobs + } + + pub fn has_any_jobs(&self) -> bool { + return self.default.0 + || self.add_attributes_to_svg_element.is_some() + || self.add_classes_to_svg.is_some() + || self.cleanup_list_of_values.is_some() + || self.prefix_ids.is_some() + || self.remove_attributes_by_selector.is_some() + || self.remove_attrs.is_some() + || self.remove_dimensions.is_some() + || self.remove_elements_by_attr.is_some() + || self.remove_off_canvas_paths.is_some() + || self.remove_raster_images.is_some() + || self.remove_scripts.is_some() + || self.remove_style_element.is_some() + || self.remove_title.is_some() + || self.remove_view_box.is_some() + || self.reuse_paths.is_some() + || self.remove_doctype.is_some() + || self.remove_xml_proc_inst.is_some() + || self.remove_comments.is_some() + || self.remove_deprecated_attrs.is_some() + || self.remove_metadata.is_some() + || self.cleanup_attributes.is_some() + || self.merge_styles.is_some() + || self.inline_styles.is_some() + || self.minify_styles.is_some() + || self.cleanup_ids.is_some() + || self.remove_useless_defs.is_some() + || self.cleanup_numeric_values.is_some() + || self.convert_colors.is_some() + || self.remove_unknowns_and_defaults.is_some() + || self.remove_non_inheritable_group_attrs.is_some() + || self.remove_useless_stroke_and_fill.is_some() + || self.cleanup_enable_background.is_some() + || self.remove_hidden_elems.is_some() + || self.remove_empty_text.is_some() + || self.convert_shape_to_path.is_some() + || self.convert_ellipse_to_circle.is_some() + || self.move_elems_attrs_to_group.is_some() + || self.move_group_attrs_to_elems.is_some() + || self.collapse_groups.is_some() + || self.apply_transforms.is_some() + || self.convert_path_data.is_some() + || self.convert_transform.is_some() + || self.remove_empty_attrs.is_some() + || self.remove_empty_containers.is_some() + || self.merge_paths.is_some() + || self.sort_attrs.is_some() + || self.sort_defs_children.is_some() + || self.remove_desc.is_some() + || self.remove_editors_ns_data.is_some() + || self.remove_unused_n_s.is_some() + || self.remove_x_m_l_n_s.is_some() + || self.remove_xlink.is_some(); + } +} diff --git a/crates/html/src/package.rs b/crates/html/src/package.rs new file mode 100644 index 00000000000..7ece1959fc3 --- /dev/null +++ b/crates/html/src/package.rs @@ -0,0 +1,182 @@ +use std::{cell::RefCell, collections::HashMap}; + +use crate::{ + arena::{Node, NodeData}, + dependencies::{is_func_iri_attr, parse_xml_stylesheet, serialize_xml_stylesheet}, + SerializableTendril, +}; +use html5ever::{expanded_name, local_name, namespace_url, ns, ExpandedName}; +use serde::Deserialize; +use typed_arena::Arena; + +#[derive(Deserialize)] +#[serde(tag = "type", content = "value")] +pub enum BundleReference { + StyleSheet { + href: SerializableTendril, + }, + Script { + src: SerializableTendril, + module: bool, + nomodule: bool, + }, +} + +#[derive(Deserialize)] +pub struct InlineBundle { + contents: SerializableTendril, + module: bool, +} + +pub fn insert_bundle_references<'arena>( + arena: &'arena Arena>, + dom: &'arena Node<'arena>, + bundles: Vec, + inline_bundles: HashMap, + mut import_map: serde_json::map::Map, +) { + let data_parcel_key = ExpandedName { + ns: &ns!(), + local: &"data-parcel-key".into(), + }; + + let mut import_map_node = None; + + dom.walk(&mut |node| { + if let NodeData::Element { name, attrs, .. } = &node.data { + match name.expanded() { + expanded_name!(html "script") | expanded_name!(svg "script") => { + if let Some(key) = node.get_attribute(data_parcel_key.clone()) { + if let Some(bundle) = inline_bundles.get(&SerializableTendril(key)) { + node.remove_attribute(data_parcel_key.clone()); + node.set_text_content(arena, bundle.contents.0.clone()); + if bundle.module { + node.set_attribute(expanded_name!("", "type"), "module"); + } + } + } else if let Some(t) = node.get_attribute(expanded_name!("", "type")) { + if t.as_ref() == "importmap" { + import_map_node = Some(node); + } + } + } + expanded_name!(html "style") | expanded_name!(svg "style") => { + if let Some(key) = node.get_attribute(data_parcel_key.clone()) { + if let Some(bundle) = inline_bundles.get(&SerializableTendril(key)) { + node.remove_attribute(data_parcel_key.clone()); + node.set_text_content(arena, bundle.contents.0.clone()); + } + } + } + _ => {} + } + + for attr in attrs.borrow_mut().iter_mut() { + if let Some(bundle) = inline_bundles.get(&SerializableTendril(attr.value.clone())) { + if is_func_iri_attr(&attr.name) { + use cssparser::ToCss; + let placeholder = + cssparser::Token::UnquotedUrl(cssparser::CowRcStr::from(bundle.contents.0.as_ref())) + .to_css_string() + .into(); + attr.value = placeholder; + } else { + attr.value = bundle.contents.0.clone(); + } + } + } + } else if let NodeData::ProcessingInstruction { target, contents } = &node.data { + if target.as_ref() == "xml-stylesheet" { + let mut contents = contents.borrow_mut(); + if let Ok(mut attrs) = parse_xml_stylesheet(&contents) { + for attr in &mut attrs { + if let Some(bundle) = inline_bundles.get(&SerializableTendril(attr.value.clone())) { + attr.value = bundle.contents.0.clone(); + } + } + + *contents = serialize_xml_stylesheet(attrs); + } + } + } + }); + + if let Some(head) = dom.find(expanded_name!(html "head")) { + for bundle in bundles.into_iter().rev() { + match bundle { + BundleReference::StyleSheet { href } => { + let node = arena.alloc(Node::create_element(expanded_name!(html "link"))); + node.set_attribute(expanded_name!("", "rel"), "stylesheet"); + node.set_attribute(expanded_name!("", "href"), &href.0); + head.prepend(node); + } + BundleReference::Script { + src, + module, + nomodule, + } => { + let node = arena.alloc(Node::create_element(expanded_name!(html "script"))); + if module { + node.set_attribute(expanded_name!("", "type"), "module"); + } + if nomodule { + node.set_attribute(expanded_name!("", "nomodule"), ""); + node.set_attribute(expanded_name!("", "defer"), ""); + } + node.set_attribute(expanded_name!("", "src"), &src.0); + head.prepend(node); + } + } + } + + if !import_map.is_empty() { + // If there is an existing \n`, + `

test

\n\n`, ); }); @@ -2830,7 +2832,7 @@ describe('javascript', function () { } .svg-img { - background-image: url("data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E%0A"); + background-image: url("data:image/svg+xml,%3Csvg%3E%0A%0A%3C%2Fsvg%3E"); }`, ), ); @@ -2843,7 +2845,7 @@ describe('javascript', function () { assert.equal( (await run(b)).default, - 'data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%3E%3C%2FfeGaussianBlur%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%27%23blur-_.%21~%2a%27%29%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A', + 'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22120%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%2F%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%23blur-_.%21~%2a%29%22%2F%3E%0A%3C%2Fsvg%3E', ); }); diff --git a/packages/core/integration-tests/test/monorepos.js b/packages/core/integration-tests/test/monorepos.js index 000589a88ca..7b79e8a27c4 100644 --- a/packages/core/integration-tests/test/monorepos.js +++ b/packages/core/integration-tests/test/monorepos.js @@ -892,7 +892,7 @@ describe('monorepos', function () { try { let b = await bundle(fixture); - assert.equal((await run(b)).default, '\n'); + assert.equal((await run(b)).default, ''); } finally { inputFS.chdir(oldcwd); } diff --git a/packages/core/integration-tests/test/posthtml.js b/packages/core/integration-tests/test/posthtml.js index 030b858dfec..232a9121321 100644 --- a/packages/core/integration-tests/test/posthtml.js +++ b/packages/core/integration-tests/test/posthtml.js @@ -53,7 +53,7 @@ describe('posthtml', function () { ]); }); - it('Should be able to process an html file with plugins without any params for plugin', async function () { + it.skip('Should be able to process an html file with plugins without any params for plugin', async function () { let b = await bundle( path.join(__dirname, '/integration/posthtml-plugins/index.html'), ); diff --git a/packages/core/integration-tests/test/svg-react.js b/packages/core/integration-tests/test/svg-react.js index 2e1aa43613a..6ce15972bd0 100644 --- a/packages/core/integration-tests/test/svg-react.js +++ b/packages/core/integration-tests/test/svg-react.js @@ -18,8 +18,9 @@ describe('svg-react', function () { let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf-8'); assert(!file.includes('inkscape')); - assert(file.includes('const SvgIcon =')); - assert(file.includes('_react.createElement("svg"')); + assert(file.includes('function SvgComponent')); + assert(file.includes('createElement("svg"')); + assert(file.includes('id: "fbacef__circle"')); }); it('should support transforming SVGs to typescript react components', async function () { @@ -36,7 +37,7 @@ describe('svg-react', function () { let types = await outputFS.readFile(b.getBundles()[1].filePath, 'utf-8'); assert(!file.includes('inkscape')); - assert(file.includes('react.createElement("svg"')); + assert(file.includes('createElement("svg"')); assert(types.includes('const Icon: SVGRComponent')); }); @@ -53,13 +54,17 @@ describe('svg-react', function () { let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf-8'); assert(!file.includes('inkscape')); - assert(!/\d\.\d/.test(file)); - assert(file.includes('const SvgIcon =')); - assert(file.includes('(0, _preact.h)("svg"')); + assert(file.includes('function SvgComponent')); + assert(file.includes('_react.forwardRef')); + assert(file.includes('_react.memo')); + assert(file.includes('h("svg"')); assert(file.includes('width: "1em"')); + assert(file.includes('role: "img"')); + assert(file.includes('fill: props.fill')); + assert(file.includes('className: "icon"')); }); - it('should detect the version of SVGO to use', async function () { + it.skip('should detect the version of SVGO to use', async function () { // Test is outside parcel so that svgo is not already installed. await fsFixture(overlayFS, '/')` svgr-svgo-version diff --git a/packages/core/integration-tests/test/svg.js b/packages/core/integration-tests/test/svg.js index 82b51d0f074..49ba4e277d2 100644 --- a/packages/core/integration-tests/test/svg.js +++ b/packages/core/integration-tests/test/svg.js @@ -69,9 +69,9 @@ describe('svg', function () { ); assert( file.includes( - `fill="url('/${path.basename( + `fill="url(/${path.basename( b.getBundles().find(b => b.name.startsWith('gradient')).filePath, - )}#myGradient')"`, + )}#myGradient)"`, ), ); assert( @@ -101,6 +101,9 @@ describe('svg', function () { )}"?>`, ), ); + assert( + file.includes(''), + ); }); it('should minify SVG bundles', async function () { @@ -131,11 +134,11 @@ describe('svg', function () { b.getBundles().find(b => b.type === 'svg').filePath, 'utf-8', ); - assert(!file.includes('inkscape')); + // assert(!file.includes('inkscape')); assert(file.includes('comment')); }); - it('should detect the version of SVGO to use', async function () { + it.skip('should detect the version of SVGO to use', async function () { // Test is outside parcel so that svgo is not already installed. await fsFixture(overlayFS, '/')` svgo-version diff --git a/packages/core/rust/index.js.flow b/packages/core/rust/index.js.flow index c5745d4e98f..1f600e524a4 100644 --- a/packages/core/rust/index.js.flow +++ b/packages/core/rust/index.js.flow @@ -1,5 +1,5 @@ // @flow -import type {FileCreateInvalidation} from '@parcel/types'; +import type {FileCreateInvalidation, DependencyPriority, JSONObject} from '@parcel/types'; declare export var init: void | (() => void); @@ -16,6 +16,13 @@ declare export function findNodeModule( declare export function hashString(s: string): string; declare export function hashBuffer(buf: Buffer): string; declare export function optimizeImage(kind: string, buf: Buffer): Buffer; +declare export function transformHtml(opts: TransformHtmlOpts): TransformHtmlResult; +declare export function packageHtml(opts: PackageHtmlOpts): PackageHtmlResult; +declare export function optimizeHtml(opts: OptimizeHtmlOpts): PackageHtmlResult; +declare export function transformSvg(opts: TransformHtmlOpts): TransformHtmlResult; +declare export function packageSvg(opts: PackageHtmlOpts): PackageHtmlResult; +declare export function optimizeSvg(opts: OptimizeHtmlOpts): PackageHtmlResult; +declare export function svgReact(opts: OptimizeHtmlOpts): PackageHtmlResult; export interface JsFileSystemOptions { readLink: string => string; read: string => Buffer; @@ -81,3 +88,69 @@ declare export class Resolver { resolveAsync(options: ResolveOptions): Promise; getInvalidations(path: string): JsInvalidations; } + +export interface TransformHtmlOpts { + code: Buffer, + scope_hoist: boolean, + supports_esm: boolean, + hmr: boolean +} + +export interface TransformHtmlResult { + code: Buffer, + dependencies: HtmlDependency[], + assets: HtmlAsset[], + errors: HtmlError[] +} + +export interface HtmlDependency { + href: string, + needsStableName: boolean, + priority: DependencyPriority, + outputFormat: 'none' | 'global' | 'esmodule', + sourceType: 'none' | 'module' | 'script', + bundleBehavior: 'none' | 'isolated' | 'inline', + placeholder: string, + line: number +} + +export interface HtmlAsset { + type: string, + content: Buffer, + key: string, + isAttr: boolean, + outputFormat: 'none' | 'global' | 'esmodule', + sourceType: 'none' | 'module' | 'script', + bundleBehavior: 'none' | 'isolated' | 'inline', + line: number +} + +export interface HtmlError { + message: string, + line: number +} + +export interface PackageHtmlOpts { + code: Buffer, + bundles: HtmlBundleReference[], + inlineBundles: {[string]: HtmlInlineBundle}, + importMap: JSONObject +} + +export type HtmlBundleReference = + | {|type: 'StyleSheet', value: {|href: string|}|} + | {|type: 'Script', value: {|src: string, module: boolean, nomodule: boolean|}|}; + +export interface HtmlInlineBundle { + contents: string, + module: boolean +} + +export interface PackageHtmlResult { + code: Buffer +} + +export interface OptimizeHtmlOpts { + code: Buffer, + config: any, +} diff --git a/packages/core/utils/src/index.js b/packages/core/utils/src/index.js index 2a273c9117b..38848d6ce69 100644 --- a/packages/core/utils/src/index.js +++ b/packages/core/utils/src/index.js @@ -65,6 +65,7 @@ export {normalizePath, normalizeSeparators, relativePath} from './path'; export { replaceURLReferences, replaceInlineReferences, + getURLReplacement, } from './replaceBundleReferences'; export { measureStreamLength, @@ -86,5 +87,5 @@ export { remapSourceLocation, } from './sourcemap'; export {default as stripAnsi} from 'strip-ansi'; -export {detectSVGOVersion} from './svgo'; +export {detectSVGOVersion, convertSVGOConfig} from './svgo'; export {getImportMap} from './import-map'; diff --git a/packages/core/utils/src/svgo.js b/packages/core/utils/src/svgo.js index 2f20b2e10a5..7505b1f1991 100644 --- a/packages/core/utils/src/svgo.js +++ b/packages/core/utils/src/svgo.js @@ -1,4 +1,10 @@ // @flow +import type {FileSystem} from '@parcel/fs'; +import ThrowableDiagnostic, { + generateJSONCodeHighlights, +} from '@parcel/diagnostic'; +import path from 'path'; + export function detectSVGOVersion( config: any, ): {|version: 3|} | {|version: 2, path: string|} { @@ -48,3 +54,105 @@ export function detectSVGOVersion( return {version: 3}; } + +export async function convertSVGOConfig( + config: any, + filePath: string, + jsonPath: string, + fs: FileSystem, + hint?: string, +): Promise { + if (typeof config === 'boolean') { + return {default: config}; + } + + if (!config || typeof config !== 'object') { + return {default: true}; + } + + let result = { + default: false, + }; + + if (Array.isArray(config.plugins)) { + for (let [i, plugin] of config.plugins.entries()) { + let name: string, + params = true; + if (typeof plugin === 'string') { + name = plugin; + } else if ( + typeof plugin === 'object' && + typeof plugin?.name === 'string' + ) { + name = plugin.name; + params = plugin.params ?? true; + + if (typeof plugin.fn === 'function') { + await throwDiagnostic( + 'Unsupported custom SVGO plugin.', + filePath, + `${jsonPath}/plugins/${i}/fn`, + fs, + hint, + ); + } + } else if (typeof plugin === 'function') { + await throwDiagnostic( + 'Unsupported custom SVGO plugin.', + filePath, + `${jsonPath}/plugins/${i}`, + fs, + hint, + ); + } else { + continue; + } + + if (name === 'cleanupIDs') { + name = 'cleanupIds'; + } + + if (name === 'preset-default') { + result.default = true; + if ( + typeof params === 'object' && + typeof params?.overrides === 'object' && + params.overrides + ) { + for (let key in params.overrides) { + result[key] = params.overrides[key]; + } + } + } else if (typeof name === 'string') { + result[(name: any)] = params || false; + } + } + } + + return result; +} + +async function throwDiagnostic(message, filePath, jsonPath, fs, hint) { + throw new ThrowableDiagnostic({ + diagnostic: { + message: message, + codeFrames: [ + { + filePath: filePath, + codeHighlights: + path.extname(filePath) === '' || path.extname(filePath) === '.json' + ? generateJSONCodeHighlights( + await fs.readFile(filePath, 'utf8'), + [ + { + key: jsonPath, + }, + ], + ) + : [], + }, + ], + hints: hint ? [hint] : [], + }, + }); +} diff --git a/packages/optimizers/html/package.json b/packages/optimizers/html/package.json new file mode 100644 index 00000000000..c7a08d41019 --- /dev/null +++ b/packages/optimizers/html/package.json @@ -0,0 +1,27 @@ +{ + "name": "@parcel/optimizer-html", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "main": "lib/HTMLOptimizer.js", + "source": "src/HTMLOptimizer.js", + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.14.4" + }, + "dependencies": { + "@parcel/plugin": "2.14.4", + "@parcel/rust": "2.14.4", + "@parcel/utils": "2.14.4" + } +} diff --git a/packages/optimizers/html/src/HTMLOptimizer.js b/packages/optimizers/html/src/HTMLOptimizer.js new file mode 100644 index 00000000000..e9ce4644bbe --- /dev/null +++ b/packages/optimizers/html/src/HTMLOptimizer.js @@ -0,0 +1,58 @@ +// @flow strict-local +import {Optimizer} from '@parcel/plugin'; +import {blobToBuffer, convertSVGOConfig} from '@parcel/utils'; +import {optimizeHtml} from '@parcel/rust'; +import path from 'path'; + +export default (new Optimizer({ + async loadConfig({config, options}) { + let userConfig = await config.getConfigFrom( + path.join(options.projectRoot, 'index.html'), + [ + '.htmlnanorc', + '.htmlnanorc.json', + '.htmlnanorc.js', + '.htmlnanorc.cjs', + '.htmlnanorc.mjs', + 'htmlnano.config.js', + 'htmlnano.config.cjs', + 'htmlnano.config.mjs', + ], + { + packageKey: 'htmlnano', + }, + ); + + let contents = userConfig?.contents; + + if (userConfig && contents && typeof contents === 'object') { + contents.minifySvg = await convertSVGOConfig( + contents.minifySvg, + userConfig.filePath, + path.extname(userConfig.filePath) === 'package.json' + ? '/htmlnano/minifySvg' + : '/minifySvg', + options.inputFS, + 'Use the legacy @parcel/optimizer-htmlnano instead of @parcel/optimizer-html if needed.', + ); + } + + return contents; + }, + async optimize({bundle, contents, map, config}) { + if (!bundle.env.shouldOptimize) { + return {contents, map}; + } + + let code = await blobToBuffer(contents); + let res = optimizeHtml({ + code, + xml: bundle.type === 'xhtml', + config, + }); + + return { + contents: res.code, + }; + }, +}): Optimizer); diff --git a/packages/optimizers/svg/package.json b/packages/optimizers/svg/package.json new file mode 100644 index 00000000000..2ea899180c9 --- /dev/null +++ b/packages/optimizers/svg/package.json @@ -0,0 +1,27 @@ +{ + "name": "@parcel/optimizer-svg", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "main": "lib/SVGOptimizer.js", + "source": "src/SVGOptimizer.js", + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.14.4" + }, + "dependencies": { + "@parcel/plugin": "2.14.4", + "@parcel/rust": "2.14.4", + "@parcel/utils": "2.14.4" + } +} diff --git a/packages/optimizers/svg/src/SVGOptimizer.js b/packages/optimizers/svg/src/SVGOptimizer.js new file mode 100644 index 00000000000..de9568998ed --- /dev/null +++ b/packages/optimizers/svg/src/SVGOptimizer.js @@ -0,0 +1,41 @@ +// @flow strict-local +import {Optimizer} from '@parcel/plugin'; +import {blobToBuffer, convertSVGOConfig} from '@parcel/utils'; +import {optimizeSvg} from '@parcel/rust'; + +export default (new Optimizer({ + async loadConfig({config, options}) { + let configFile = await config.getConfig([ + 'svgo.config.js', + 'svgo.config.cjs', + 'svgo.config.mjs', + 'svgo.config.json', + ]); + + if (configFile) { + return convertSVGOConfig( + configFile.contents, + configFile.filePath, + '', + options.inputFS, + 'Use the legacy @parcel/optimizer-svgo instead of @parcel/optimizer-svg if needed.', + ); + } + }, + async optimize({bundle, contents, map, config}) { + if (!bundle.env.shouldOptimize) { + return {contents, map}; + } + + let code = await blobToBuffer(contents); + let res = optimizeSvg({ + code, + xml: true, + config, + }); + + return { + contents: res.code, + }; + }, +}): Optimizer); diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index d4c53a6a8ae..e3174af688e 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -22,8 +22,7 @@ "dependencies": { "@parcel/plugin": "2.14.4", "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5" + "@parcel/rust": "2.14.4", + "@parcel/utils": "2.14.4" } } diff --git a/packages/packagers/html/src/HTMLPackager.js b/packages/packagers/html/src/HTMLPackager.js index 566ade7d9a9..e16ad566100 100644 --- a/packages/packagers/html/src/HTMLPackager.js +++ b/packages/packagers/html/src/HTMLPackager.js @@ -1,52 +1,23 @@ // @flow strict-local -import type {Bundle, BundleGraph, NamedBundle} from '@parcel/types'; +import type {BundleGraph, NamedBundle} from '@parcel/types'; import assert from 'assert'; -import {Readable} from 'stream'; import {Packager} from '@parcel/plugin'; -import posthtml from 'posthtml'; import { - bufferStream, - replaceInlineReferences, - replaceURLReferences, + blobToString, urlJoin, getImportMap, + getURLReplacement, } from '@parcel/utils'; -import nullthrows from 'nullthrows'; - -// https://www.w3.org/TR/html5/dom.html#metadata-content-2 -const metadataContent = new Set([ - 'base', - 'link', - 'meta', - 'noscript', - // 'script', // retain script order (somewhat) - 'style', - 'template', - 'title', -]); +import { + packageHtml, + type HtmlBundleReference, + type HtmlInlineBundle, +} from '@parcel/rust'; +import invariant from 'assert'; export default (new Packager({ - async loadConfig({config}) { - let posthtmlConfig = await config.getConfig( - [ - '.posthtmlrc', - '.posthtmlrc.js', - '.posthtmlrc.cjs', - '.posthtmlrc.mjs', - 'posthtml.config.js', - 'posthtml.config.cjs', - 'posthtml.config.mjs', - ], - { - packageKey: 'posthtml', - }, - ); - return { - render: posthtmlConfig?.contents?.render, - }; - }, - async package({bundle, bundleGraph, getInlineBundleContents, config}) { + async package({bundle, bundleGraph, getInlineBundleContents}) { let assets = []; bundle.traverseAssets(asset => { assets.push(asset); @@ -55,128 +26,93 @@ export default (new Packager({ assert.equal(assets.length, 1, 'HTML bundles must only contain one asset'); let asset = assets[0]; - let code = await asset.getCode(); + let code = await asset.getBuffer(); - let renderConfig = config?.render; - - let {html} = await posthtml([ - // Add bundles in the same bundle group that are not inline. For example, if two inline - // bundles refer to the same library that is extracted into a shared bundle. - tree => insertBundleReferences(bundleGraph, bundle, tree), - tree => - replaceInlineAssetContent(bundleGraph, getInlineBundleContents, tree), - ]).process(code, { - ...renderConfig, - xmlMode: bundle.type === 'xhtml', - closingSingleTag: bundle.type === 'xhtml' ? 'slash' : undefined, - }); - - let {contents, map} = replaceURLReferences({ - bundle, + let {bundles, importMap} = getBundleReferences(bundleGraph, bundle); + let inlineBundles = await getInlineBundles( bundleGraph, - contents: html, - relative: false, - getReplacement: contents => contents.replace(/"/g, '"'), - }); - - return replaceInlineReferences({ bundle, - bundleGraph, - contents, getInlineBundleContents, - getInlineReplacement: (dep, inlineType, contents) => ({ - from: dep.id, - to: contents.replace(/"/g, '"').trim(), - }), - map, + ); + + let res = packageHtml({ + code, + xml: bundle.type === 'xhtml', + bundles, + inlineBundles, + importMap, }); + + return {contents: res.code}; }, }): Packager); -async function getAssetContent( +async function getInlineBundles( bundleGraph: BundleGraph, + bundle: NamedBundle, getInlineBundleContents, - assetId, ) { - let inlineBundle: ?Bundle; - bundleGraph.traverseBundles((bundle, context, {stop}) => { - let entryAssets = bundle.getEntryAssets(); - if (entryAssets.some(a => a.uniqueKey === assetId)) { - inlineBundle = bundle; - stop(); - } - }); - - if (inlineBundle) { - const bundleResult = await getInlineBundleContents( - inlineBundle, - bundleGraph, - ); - - return {bundle: inlineBundle, contents: bundleResult.contents}; - } - - return null; -} + let inlineBundles: {|[string]: HtmlInlineBundle|} = {}; -async function replaceInlineAssetContent( - bundleGraph: BundleGraph, - getInlineBundleContents, - tree, -) { - const inlineNodes = []; - tree.walk(node => { - if (node.attrs && node.attrs['data-parcel-key']) { - inlineNodes.push(node); + let dependencies = []; + bundle.traverse(node => { + if (node.type === 'dependency') { + dependencies.push(node.value); } - return node; }); - for (let node of inlineNodes) { - let newContent = await getAssetContent( - bundleGraph, - getInlineBundleContents, - node.attrs['data-parcel-key'], - ); - - if (newContent != null) { - let {contents, bundle} = newContent; - node.content = ( - contents instanceof Readable ? await bufferStream(contents) : contents - ).toString(); - - if ( - node.tag === 'script' && - nullthrows(bundle).env.outputFormat === 'esmodule' - ) { - node.attrs.type = 'module'; - } + for (let dependency of dependencies) { + let entryBundle = bundleGraph.getReferencedBundle(dependency, bundle); + if (entryBundle?.bundleBehavior === 'inline') { + let packagedBundle = await getInlineBundleContents( + entryBundle, + bundleGraph, + ); + let packagedContents = await blobToString(packagedBundle.contents); // Escape closing script tags and HTML comments in JS content. // https://www.w3.org/TR/html52/semantics-scripting.html#restrictions-for-contents-of-script-elements // Avoid replacing , merge with that. - // This will remove the existing node so it is moved before all other scripts. - let existingImportMap = findImportMap(tree); - - if (existingImportMap) { - if (!existingImportMap.imports) { - existingImportMap.imports = {}; - } - importMap = Object.assign(existingImportMap.imports, importMap); - } - - bundles.unshift({ - tag: 'script', - attrs: { - type: 'importmap', - }, - content: JSON.stringify({imports: importMap}), - }); - } - - addBundlesToTree(bundles, tree); -} - -function addBundlesToTree(bundles, tree) { - const main = find(tree, 'head') || find(tree, 'html'); - const content = main ? main.content || (main.content = []) : tree; - const index = findBundleInsertIndex(content); - - content.splice(index, 0, ...bundles); -} - -function findImportMap(tree) { - if (Array.isArray(tree)) { - for (let i = 0; i < tree.length; i++) { - let node = tree[i]; - if ( - node.tag === 'script' && - node.attrs?.type === 'importmap' && - Array.isArray(node.content) - ) { - let importMap = JSON.parse(node.content.join('')); - tree.splice(i, 1); - return importMap; - } else { - let res = findImportMap(node); - if (res) { - return res; - } - } - } - } else if (tree && typeof tree.content === 'object') { - return findImportMap(tree.content); - } -} - -function find(tree, tag) { - let res; - tree.match({tag}, node => { - res = node; - return node; - }); - - return res; -} - -function findBundleInsertIndex(content) { - // HTML document order (https://html.spec.whatwg.org/multipage/syntax.html#writing) - // - Any number of comments and ASCII whitespace. - // - A DOCTYPE. - // - Any number of comments and ASCII whitespace. - // - The document element, in the form of an html element. - // - Any number of comments and ASCII whitespace. - // - // -> Insert before first non-metadata (or script) element; if none was found, after the doctype - - let doctypeIndex; - for (let index = 0; index < content.length; index++) { - const node = content[index]; - if (node && node.tag && !metadataContent.has(node.tag)) { - return index; - } - if ( - typeof node === 'string' && - node.toLowerCase().startsWith('', - }, - ], - xmlMode: true, - }; - - let {html: svg} = await posthtml([ - tree => insertBundleReferences(referencedBundles, tree), - tree => - replaceInlineAssetContent(bundleGraph, getInlineBundleContents, tree), - ]).process(code, options); + let asset = assets[0]; + let code = await asset.getBuffer(); - const {contents, map} = replaceURLReferences({ - bundle, + let {bundles, importMap} = getBundleReferences(bundleGraph, bundle); + let inlineBundles = await getInlineBundles( bundleGraph, - contents: svg, - relative: false, - getReplacement: contents => contents.replace(/"/g, '"'), - }); - - return replaceInlineReferences({ bundle, - bundleGraph, - contents, getInlineBundleContents, - getInlineReplacement: (dep, inlineType, contents) => ({ - from: dep.id, - to: contents.replace(/"/g, '"').trim(), - }), - map, + ); + + let res = packageSvg({ + code, + xml: true, + bundles, + inlineBundles, + importMap, }); + + return {contents: res.code}; }, }): Packager); -async function replaceInlineAssetContent( +async function getInlineBundles( bundleGraph: BundleGraph, + bundle: NamedBundle, getInlineBundleContents, - tree, ) { - const inlineNodes = []; - tree.walk(node => { - if (node.attrs && node.attrs['data-parcel-key']) { - inlineNodes.push(node); - } - return node; - }); + let inlineBundles: {|[string]: HtmlInlineBundle|} = {}; - for (const node of inlineNodes) { - const newContent = await getAssetContent( - bundleGraph, - getInlineBundleContents, - node.attrs['data-parcel-key'], - ); - - if (newContent === null) { - continue; + let dependencies = []; + bundle.traverse(node => { + if (node.type === 'dependency') { + dependencies.push(node.value); } + }); - node.content = await blobToString(newContent.contents); - - // Wrap scripts and styles with CDATA if needed to ensure characters are not interpreted as XML - if (node.tag === 'script' || node.tag === 'style') { - if (node.content.includes('<') || node.content.includes('&')) { - node.content = node.content.replace(/]]>/g, ']\\]>'); - node.content = ``; + for (let dependency of dependencies) { + let entryBundle = bundleGraph.getReferencedBundle(dependency, bundle); + if (entryBundle?.bundleBehavior === 'inline') { + let packagedBundle = await getInlineBundleContents( + entryBundle, + bundleGraph, + ); + let packagedContents = await blobToString(packagedBundle.contents); + + // Wrap scripts and styles with CDATA if needed to ensure characters are not interpreted as XML + if (entryBundle.type === 'js' || entryBundle.type === 'css') { + if (packagedContents.includes('<') || packagedContents.includes('&')) { + packagedContents = packagedContents.replace(/]]>/g, ']\\]>'); + packagedContents = ``; + } } - } - - // remove attr from output - delete node.attrs['data-parcel-key']; - } - - return tree; -} -async function getAssetContent( - bundleGraph: BundleGraph, - getInlineBundleContents, - assetId, -) { - let inlineBundle: ?Bundle; - bundleGraph.traverseBundles((bundle, context, {stop}) => { - const entryAssets = bundle.getEntryAssets(); - if (entryAssets.some(a => a.uniqueKey === assetId)) { - inlineBundle = bundle; - stop(); + let placeholder = dependency.meta?.placeholder ?? dependency.id; + invariant(typeof placeholder === 'string'); + inlineBundles[placeholder] = { + contents: packagedContents, + module: false, + }; + } else if (dependency.specifierType === 'url') { + let placeholder = dependency.meta?.placeholder ?? dependency.id; + invariant(typeof placeholder === 'string'); + inlineBundles[placeholder] = { + contents: entryBundle + ? getURLReplacement({ + dependency, + fromBundle: bundle, + toBundle: entryBundle, + relative: false, + }).to + : dependency.specifier, + module: false, + }; } - }); - - if (!inlineBundle) { - return null; } - const bundleResult = await getInlineBundleContents(inlineBundle, bundleGraph); - - return {bundle: inlineBundle, contents: bundleResult.contents}; + return inlineBundles; } -function insertBundleReferences(siblingBundles, tree) { - let scripts = []; - let stylesheets = []; - - for (let bundle of siblingBundles) { - if (bundle.type === 'css') { - stylesheets.push( - ``, - ); - } else if (bundle.type === 'js') { - scripts.push({ - tag: 'script', - attrs: { +function getBundleReferences(bundleGraph, htmlBundle) { + let bundles: HtmlBundleReference[] = []; + let importMap = {}; + + let referencedBundles = new Set(bundleGraph.getReferencedBundles(htmlBundle)); + let nonRecursiveReferencedBundles = new Set( + bundleGraph.getReferencedBundles(htmlBundle, {recursive: false}), + ); + + for (let bundle of referencedBundles) { + let isDirectlyReferenced = nonRecursiveReferencedBundles.has(bundle); + if (bundle.type === 'css' && !isDirectlyReferenced) { + bundles.push({ + type: 'StyleSheet', + value: { href: urlJoin(bundle.target.publicUrl, bundle.name), }, }); + } else if (bundle.type === 'js' && !isDirectlyReferenced) { + bundles.push({ + type: 'Script', + value: { + module: false, + nomodule: false, + src: urlJoin(bundle.target.publicUrl, bundle.name), + }, + }); } } - tree.unshift(...stylesheets); - if (scripts.length > 0) { - tree.match({tag: 'svg'}, node => { - node.content.unshift(...scripts); - }); - } + return {bundles, importMap}; } diff --git a/packages/packagers/xml/src/XMLPackager.js b/packages/packagers/xml/src/XMLPackager.js index c0d7dc85ef7..aad391fa8c3 100644 --- a/packages/packagers/xml/src/XMLPackager.js +++ b/packages/packagers/xml/src/XMLPackager.js @@ -51,7 +51,7 @@ export default (new Packager({ if (type === 'xhtml' || type === 'xml') { let parsed = new DOMParser().parseFromString( contents, - 'application/xml', + type === 'xhtml' ? 'text/html' : 'application/xml', ); if (parsed.documentElement != null) { let parent = element.parentNode; diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index 60a78990522..c4e42fe972f 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -22,12 +22,6 @@ "dependencies": { "@parcel/diagnostic": "2.14.4", "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.12.1", - "posthtml-render": "^3.0.0", - "semver": "^7.5.2", - "srcset": "4" + "@parcel/rust": "2.14.4" } } diff --git a/packages/transformers/html/src/HTMLTransformer.js b/packages/transformers/html/src/HTMLTransformer.js index 36ff8851f3d..3807bf5ecb4 100644 --- a/packages/transformers/html/src/HTMLTransformer.js +++ b/packages/transformers/html/src/HTMLTransformer.js @@ -1,127 +1,113 @@ // @flow import {Transformer} from '@parcel/plugin'; -import type {AST} from '@parcel/types'; -import {parser as parse} from 'posthtml-parser'; -import nullthrows from 'nullthrows'; -import type {PostHTMLExpression, PostHTMLNode} from 'posthtml'; -import PostHTML from 'posthtml'; -import {render} from 'posthtml-render'; -import semver from 'semver'; -import collectDependencies from './dependencies'; -import extractInlineAssets from './inline'; import ThrowableDiagnostic from '@parcel/diagnostic'; +import {transformHtml} from '@parcel/rust'; -export default (new Transformer({ - canReuseAST({ast}) { - return ast.type === 'posthtml' && semver.satisfies(ast.version, '^0.4.0'); - }, - - async parse({asset}) { - return { - type: 'posthtml', - version: '0.4.1', - program: parse(await asset.getCode(), { - lowerCaseTags: true, - lowerCaseAttributeNames: true, - sourceLocations: true, - xmlMode: asset.type === 'xhtml', - }), - }; - }, +const TYPES = { + 'application/javascript': 'js', + 'application/ecmascript': 'js', + 'text/javascript': 'js', + 'application/ld+json': 'jsonld', + module: 'js', +}; +export default (new Transformer({ async transform({asset, options}) { if (asset.type === 'htm') { asset.type = 'html'; } asset.bundleBehavior = 'isolated'; - let ast = nullthrows(await asset.getAST()); - let hasModuleScripts; - try { - hasModuleScripts = collectDependencies(asset, ast); - } catch (errors) { - if (Array.isArray(errors)) { - throw new ThrowableDiagnostic({ - diagnostic: errors.map(error => ({ - message: error.message, - origin: '@parcel/transformer-html', - codeFrames: [ - { - filePath: error.filePath, - language: 'html', - codeHighlights: [error.loc], - }, - ], - })), - }); - } - throw errors; - } - const {assets: inlineAssets, hasModuleScripts: hasInlineModuleScripts} = - extractInlineAssets(asset, ast); + let res = transformHtml({ + code: await asset.getBuffer(), + xml: asset.type === 'xhtml', + scope_hoist: asset.env.shouldScopeHoist, + supports_esm: asset.env.supports('esmodules', true), + hmr: !!options.hmrOptions, + }); - const result = [asset, ...inlineAssets]; + if (res.errors.length) { + throw new ThrowableDiagnostic({ + diagnostic: res.errors.map(error => ({ + message: error.message, + origin: '@parcel/transformer-html', + codeFrames: [ + { + filePath: asset.filePath, + language: 'html', + codeHighlights: [ + { + start: { + line: error.line, + column: 1, + }, + end: { + line: error.line, + column: 1, + }, + }, + ], + }, + ], + })), + }); + } - // empty is added to make sure HMR is working even if user - // didn't add any. - if (options.hmrOptions && !(hasModuleScripts || hasInlineModuleScripts)) { - const script = { - tag: 'script', - attrs: { - src: asset.addURLDependency('hmr.js', { - priority: 'parallel', - }), + asset.setBuffer(res.code); + + let assets = [asset]; + for (let dep of res.dependencies) { + asset.addURLDependency(dep.href, { + priority: dep.priority, + specifierType: dep.priority === 'sync' ? 'esm' : 'url', + needsStableName: dep.needsStableName, + bundleBehavior: + dep.bundleBehavior === 'none' ? undefined : dep.bundleBehavior, + env: convertEnv(asset, dep), + meta: { + placeholder: dep.placeholder, }, - content: [], - }; - - const found = findFirstMatch(ast, [{tag: 'body'}, {tag: 'html'}]); - - if (found) { - found.content = found.content || []; - found.content.push(script); - } else { - // Insert at the very end. - ast.program.push(script); - } - - asset.setAST(ast); - - result.push({ - type: 'js', - content: '', - uniqueKey: 'hmr.js', }); } - return result; - }, + for (let a of res.assets) { + assets.push({ + type: TYPES[a.type] || a.type.split('/')[1] || a.type, + content: a.content, + uniqueKey: a.key, + bundleBehavior: + a.bundleBehavior === 'none' ? undefined : a.bundleBehavior, + env: convertEnv(asset, a), + meta: { + type: a.isAttr ? 'attr' : 'tag', + startLine: a.line, + }, + }); + } - generate({ast, asset}) { - return { - content: render(ast.program, { - closingSingleTag: asset.type === 'xhtml' ? 'slash' : undefined, - }), - }; + return assets; }, }): Transformer); -function findFirstMatch( - ast: AST, - expressions: PostHTMLExpression[], -): ?PostHTMLNode { - let found; - - for (const expression of expressions) { - PostHTML().match.call(ast.program, expression, node => { - found = node; - return node; - }); - - if (found) { - return found; - } - } +function convertEnv(asset, dep) { + return { + outputFormat: dep.outputFormat === 'none' ? undefined : dep.outputFormat, + sourceType: dep.sourceType === 'none' ? undefined : dep.sourceType, + loc: + dep.outputFormat !== 'none' || dep.sourceType !== 'none' + ? { + filePath: asset.filePath, + start: { + line: dep.line, + column: 1, + }, + end: { + line: dep.line, + column: 2, + }, + } + : undefined, + }; } diff --git a/packages/transformers/html/src/dependencies.js b/packages/transformers/html/src/dependencies.js deleted file mode 100644 index 4a0bbb3fa14..00000000000 --- a/packages/transformers/html/src/dependencies.js +++ /dev/null @@ -1,298 +0,0 @@ -// @flow - -import type {AST, MutableAsset, FilePath} from '@parcel/types'; -import type {PostHTMLNode} from 'posthtml'; -import PostHTML from 'posthtml'; -import {parse, stringify} from 'srcset'; -// A list of all attributes that may produce a dependency -// Based on https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes -const ATTRS = { - src: [ - 'script', - 'img', - 'audio', - 'video', - 'source', - 'track', - 'iframe', - 'embed', - 'amp-img', - ], - // Using href with \n`, + codeHighlights: [ + { + start: { + line: 1, + column: 1, + }, + end: { + line: 1, + column: 1, + }, + }, + ], + }, + ], }, { message: 'Glob imports are not supported in html files.', origin: '@parcel/resolver-glob', - codeFrames: undefined, + codeFrames: [ + { + codeHighlights: [ + { + start: { + line: 1, + column: 1, + }, + end: { + line: 1, + column: 1, + }, + }, + ], + }, + ], }, ], }); diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index 7b207438a8d..788fe81f48c 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -1,6 +1,7 @@ import assert from 'assert'; import { assertBundles, + assertRejectsWithDiagnostic, bundle, bundler, distDir, @@ -2935,7 +2936,7 @@ describe('html', function () { }); it('should throw error with empty string reference to other resource', async function () { - await assert.rejects( + await assertRejectsWithDiagnostic( () => bundle( path.join(__dirname, 'integration/html-empty-reference/index.html'), @@ -2955,6 +2956,7 @@ describe('html', function () { __dirname, 'integration/html-empty-reference/index.html', ), + code: null, language: 'html', codeHighlights: [ { diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index 52b212cd99a..9e2a884dc3c 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -6178,7 +6178,7 @@ describe('javascript', function () { await fsFixture(overlayFS, __dirname)` native-node index.js: - output = require('@parcel/rust'); + output = require('@parcel/rust/index'); package.json: { diff --git a/packages/core/integration-tests/test/svg.js b/packages/core/integration-tests/test/svg.js index 49ba4e277d2..fe524ad5045 100644 --- a/packages/core/integration-tests/test/svg.js +++ b/packages/core/integration-tests/test/svg.js @@ -134,7 +134,7 @@ describe('svg', function () { b.getBundles().find(b => b.type === 'svg').filePath, 'utf-8', ); - // assert(!file.includes('inkscape')); + assert(!file.includes('inkscape')); assert(file.includes('comment')); }); diff --git a/packages/core/rust/.gitignore b/packages/core/rust/.gitignore index 16539b89275..a48d9bcd7c9 100644 --- a/packages/core/rust/.gitignore +++ b/packages/core/rust/.gitignore @@ -1,4 +1,4 @@ -index.* +/index.* *.node *.wasm !*.flow diff --git a/packages/core/rust/index.js.flow b/packages/core/rust/index.js.flow index 1f600e524a4..46dc7c58cd2 100644 --- a/packages/core/rust/index.js.flow +++ b/packages/core/rust/index.js.flow @@ -1,5 +1,6 @@ // @flow -import type {FileCreateInvalidation, DependencyPriority, JSONObject} from '@parcel/types'; +import type {FileCreateInvalidation, SpecifierType, DependencyPriority, EnvironmentContext, JSONObject, SourceLocation, OutputFormat, SourceType} from '@parcel/types'; +import type {Diagnostic} from '@parcel/diagnostic'; declare export var init: void | (() => void); @@ -91,43 +92,50 @@ declare export class Resolver { export interface TransformHtmlOpts { code: Buffer, - scope_hoist: boolean, - supports_esm: boolean, + filePath: string, + env: RustEnvironment, hmr: boolean } export interface TransformHtmlResult { code: Buffer, - dependencies: HtmlDependency[], - assets: HtmlAsset[], - errors: HtmlError[] + dependencies: RustDependency[], + assets: RustAsset[], + errors: Diagnostic[] } -export interface HtmlDependency { - href: string, - needsStableName: boolean, +export interface RustEnvironment { + context: EnvironmentContext, + outputFormat: OutputFormat, + sourceType: SourceType, + flags: number, + sourceMap: ?any, + loc: ?SourceLocation, + includeNodeModules: any, + engines: any +} + +export interface RustDependency { + specifier: string, + specifierType: SpecifierType, + flags: number, priority: DependencyPriority, - outputFormat: 'none' | 'global' | 'esmodule', - sourceType: 'none' | 'module' | 'script', bundleBehavior: 'none' | 'isolated' | 'inline', - placeholder: string, - line: number + env: RustEnvironment, + loc: ?SourceLocation, + placeholder: ?string, + resolveFrom: ?string, + range: ?string } -export interface HtmlAsset { +export interface RustAsset { + loc: ?SourceLocation, type: string, content: Buffer, - key: string, - isAttr: boolean, - outputFormat: 'none' | 'global' | 'esmodule', - sourceType: 'none' | 'module' | 'script', - bundleBehavior: 'none' | 'isolated' | 'inline', - line: number -} - -export interface HtmlError { - message: string, - line: number + env: RustEnvironment, + uniqueKey: string, + flags: number, + bundleBehavior: 'none' | 'isolated' | 'inline' } export interface PackageHtmlOpts { diff --git a/packages/core/rust/package.json b/packages/core/rust/package.json index a71e4c53e3b..831169fc57c 100644 --- a/packages/core/rust/package.json +++ b/packages/core/rust/package.json @@ -13,8 +13,9 @@ "type": "git", "url": "https://github.com/parcel-bundler/parcel.git" }, - "main": "index.js", - "browser": "browser.js", + "source": "src/index.js", + "main": "lib/index.js", + "browser": "src/browser.js", "napi": { "name": "parcel-node-bindings" }, diff --git a/packages/core/rust/browser.js b/packages/core/rust/src/browser.js similarity index 94% rename from packages/core/rust/browser.js rename to packages/core/rust/src/browser.js index 82e46f91e28..e97b09fe910 100644 --- a/packages/core/rust/browser.js +++ b/packages/core/rust/src/browser.js @@ -1,4 +1,5 @@ const {Environment, napi} = require('napi-wasm'); +const utils = require('./utils'); let env; module.exports.init = async function init(input) { @@ -50,5 +51,6 @@ module.exports.init = async function init(input) { }; }; + Object.assign(module.exports, utils); env.exports.initPanicHook(); }; diff --git a/packages/core/rust/src/index.js b/packages/core/rust/src/index.js new file mode 100644 index 00000000000..cc696acfbf8 --- /dev/null +++ b/packages/core/rust/src/index.js @@ -0,0 +1,3 @@ +// @flow +export * from '../index'; +export * from './utils'; diff --git a/packages/core/rust/src/utils.js b/packages/core/rust/src/utils.js new file mode 100644 index 00000000000..451b4c4e404 --- /dev/null +++ b/packages/core/rust/src/utils.js @@ -0,0 +1,114 @@ +// @flow +import type { + Environment, + EnvironmentOptions, + DependencyOptions, + TransformerResult, +} from '@parcel/types'; +import type {RustEnvironment, RustDependency, RustAsset} from '../'; + +const IS_LIBRARY = 1 << 0; +const SHOULD_OPTIMIZE = 1 << 1; +const SHOULD_SCOPE_HOIST = 1 << 2; + +export function envToRust(env: Environment): RustEnvironment { + let flags = 0; + if (env.isLibrary) { + flags |= IS_LIBRARY; + } + if (env.shouldOptimize) { + flags |= SHOULD_OPTIMIZE; + } + if (env.shouldScopeHoist) { + flags |= SHOULD_SCOPE_HOIST; + } + return { + context: env.context, + outputFormat: env.outputFormat, + sourceType: env.sourceType, + flags, + sourceMap: null, + loc: null, + includeNodeModules: env.includeNodeModules, + engines: env.engines, + }; +} + +export function envFromRust(env: RustEnvironment): EnvironmentOptions { + return { + context: env.context, + outputFormat: env.outputFormat, + sourceType: env.sourceType, + isLibrary: Boolean(env.flags & IS_LIBRARY), + shouldOptimize: Boolean(env.flags & SHOULD_OPTIMIZE), + shouldScopeHoist: Boolean(env.flags & SHOULD_SCOPE_HOIST), + sourceMap: env.sourceMap, + loc: env.loc, + includeNodeModules: env.includeNodeModules, + engines: undefined, // ignore for now + }; +} + +// const ENTRY = 1 << 0; +const OPTIONAL = 1 << 1; +const NEEDS_STABLE_NAME = 1 << 2; +// const SHOULD_WRAP = 1 << 3; +// const IS_ESM = 1 << 4; +// const IS_WEBWORKER = 1 << 5; +// const HAS_SYMBOLS = 1 << 6; + +export function dependencyFromRust(dep: RustDependency): DependencyOptions { + return { + specifier: dep.specifier, + specifierType: dep.specifierType, + priority: dep.priority, + bundleBehavior: + dep.bundleBehavior === 'none' ? undefined : dep.bundleBehavior, + isOptional: Boolean(dep.flags & OPTIONAL), + needsStableName: Boolean(dep.flags & NEEDS_STABLE_NAME), + env: envFromRust(dep.env), + loc: dep.loc, + meta: { + placeholder: dep.placeholder, + }, + resolveFrom: dep.resolveFrom, + range: dep.range, + }; +} + +// const IS_SOURCE = 1 << 0; +// const SIDE_EFFECTS = 1 << 1; +// const IS_BUNDLE_SPLITTABLE = 1 << 2; +// const LARGE_BLOB = 1 << 3; +// const HAS_CJS_EXPORTS = 1 << 4; +// const STATIC_EXPORTS = 1 << 5; +// const SHOULD_WRAP = 1 << 6; +// const IS_CONSTANT_MODULE = 1 << 7; +// const HAS_NODE_REPLACEMENTS = 1 << 8; +// const HAS_SYMBOLS = 1 << 9; +const IS_HTML_ATTR = 1 << 10; +const IS_HTML_TAG = 1 << 11; + +export function assetFromRust(asset: RustAsset): TransformerResult { + let meta = {}; + if (asset.flags & IS_HTML_ATTR) { + meta.type = 'attr'; + } + if (asset.flags & IS_HTML_TAG) { + meta.type = 'tag'; + } + if (asset.loc) { + meta.startLine = asset.loc.start.line; + } + return { + type: asset.type, + content: asset.content, + uniqueKey: asset.uniqueKey, + bundleBehavior: + asset.bundleBehavior === 'none' ? undefined : asset.bundleBehavior, + env: envFromRust(asset.env), + // isBundleSplittable: Boolean(asset.flags & IS_BUNDLE_SPLITTABLE), + // sideEffects + meta, + }; +} diff --git a/packages/core/test-utils/src/utils.js b/packages/core/test-utils/src/utils.js index ca7c032c1c6..1018ea3196a 100644 --- a/packages/core/test-utils/src/utils.js +++ b/packages/core/test-utils/src/utils.js @@ -13,6 +13,7 @@ import type { import type {FileSystem} from '@parcel/fs'; import type WorkerFarm from '@parcel/workers'; import type {IncomingMessage} from 'http'; +import type ThrowableDiagnostic, {Diagnostic} from '@parcel/diagnostic'; import invariant from 'assert'; import util from 'util'; @@ -1377,3 +1378,54 @@ export function request( ); }); } + +export function assertEqualDiagnostics( + actual: Diagnostic[], + expected: Diagnostic[], +) { + let mappedActual = actual.map(normalizeDiagnostic); + let mappedExpected = expected.map(normalizeDiagnostic); + assert.deepEqual(mappedActual, mappedExpected); +} + +export async function assertRejectsWithDiagnostic( + fn: () => Promise, + expected: $Shape, +) { + try { + await fn(); + } catch (err) { + if (expected.name) { + assert.equal(err.name, expected.name); + } + if (expected.message) { + assert.equal(err.message, expected.message); + } + assertEqualDiagnostics(err.diagnostics, expected.diagnostics); + return; + } + assert(false, 'Expected an error'); +} + +function normalizeDiagnostic(diagnostic: Diagnostic): Diagnostic { + return { + message: diagnostic.message, + origin: diagnostic.origin ?? undefined, + stack: diagnostic.stack ?? undefined, + name: diagnostic.name ?? undefined, + codeFrames: + diagnostic.codeFrames?.map(frame => ({ + code: frame.code ?? undefined, + filePath: frame.filePath ?? undefined, + language: frame.language ?? undefined, + codeHighlights: frame.codeHighlights.map(h => ({ + start: h.start, + end: h.end, + message: h.message ?? undefined, + })), + })) ?? [], + hints: diagnostic.hints ?? [], + documentationURL: diagnostic.documentationURL ?? undefined, + meta: diagnostic.meta ?? undefined, + }; +} diff --git a/packages/core/types-internal/src/index.js b/packages/core/types-internal/src/index.js index 7aa92c3973c..5dd9854a7d3 100644 --- a/packages/core/types-internal/src/index.js +++ b/packages/core/types-internal/src/index.js @@ -587,7 +587,7 @@ export type DependencyOptions = {| /** Whether the dependency is optional. If the dependency cannot be resolved, this will not fail the build. */ +isOptional?: boolean, /** The location within the source file where the dependency was found. */ - +loc?: SourceLocation, + +loc?: ?SourceLocation, /** The environment of the dependency. */ +env?: EnvironmentOptions, /** @@ -605,9 +605,9 @@ export type DependencyOptions = {| * The file path where the dependency should be resolved from. * By default, this is the path of the source file where the dependency was specified. */ - +resolveFrom?: FilePath, + +resolveFrom?: ?FilePath, /** The semver version range expected for the dependency. */ - +range?: SemverRange, + +range?: ?SemverRange, /** The symbols within the resolved module that the source file depends on. */ +symbols?: $ReadOnlyMap< Symbol, diff --git a/packages/transformers/html/src/HTMLTransformer.js b/packages/transformers/html/src/HTMLTransformer.js index 3807bf5ecb4..f40eacb59dd 100644 --- a/packages/transformers/html/src/HTMLTransformer.js +++ b/packages/transformers/html/src/HTMLTransformer.js @@ -2,15 +2,12 @@ import {Transformer} from '@parcel/plugin'; import ThrowableDiagnostic from '@parcel/diagnostic'; -import {transformHtml} from '@parcel/rust'; - -const TYPES = { - 'application/javascript': 'js', - 'application/ecmascript': 'js', - 'text/javascript': 'js', - 'application/ld+json': 'jsonld', - module: 'js', -}; +import { + transformHtml, + envToRust, + dependencyFromRust, + assetFromRust, +} from '@parcel/rust'; export default (new Transformer({ async transform({asset, options}) { @@ -22,36 +19,15 @@ export default (new Transformer({ let res = transformHtml({ code: await asset.getBuffer(), + filePath: asset.filePath, xml: asset.type === 'xhtml', - scope_hoist: asset.env.shouldScopeHoist, - supports_esm: asset.env.supports('esmodules', true), + env: envToRust(asset.env), hmr: !!options.hmrOptions, }); if (res.errors.length) { throw new ThrowableDiagnostic({ - diagnostic: res.errors.map(error => ({ - message: error.message, - origin: '@parcel/transformer-html', - codeFrames: [ - { - filePath: asset.filePath, - language: 'html', - codeHighlights: [ - { - start: { - line: error.line, - column: 1, - }, - end: { - line: error.line, - column: 1, - }, - }, - ], - }, - ], - })), + diagnostic: res.errors, }); } @@ -59,55 +35,13 @@ export default (new Transformer({ let assets = [asset]; for (let dep of res.dependencies) { - asset.addURLDependency(dep.href, { - priority: dep.priority, - specifierType: dep.priority === 'sync' ? 'esm' : 'url', - needsStableName: dep.needsStableName, - bundleBehavior: - dep.bundleBehavior === 'none' ? undefined : dep.bundleBehavior, - env: convertEnv(asset, dep), - meta: { - placeholder: dep.placeholder, - }, - }); + asset.addDependency(dependencyFromRust(dep)); } for (let a of res.assets) { - assets.push({ - type: TYPES[a.type] || a.type.split('/')[1] || a.type, - content: a.content, - uniqueKey: a.key, - bundleBehavior: - a.bundleBehavior === 'none' ? undefined : a.bundleBehavior, - env: convertEnv(asset, a), - meta: { - type: a.isAttr ? 'attr' : 'tag', - startLine: a.line, - }, - }); + assets.push(assetFromRust(a)); } return assets; }, }): Transformer); - -function convertEnv(asset, dep) { - return { - outputFormat: dep.outputFormat === 'none' ? undefined : dep.outputFormat, - sourceType: dep.sourceType === 'none' ? undefined : dep.sourceType, - loc: - dep.outputFormat !== 'none' || dep.sourceType !== 'none' - ? { - filePath: asset.filePath, - start: { - line: dep.line, - column: 1, - }, - end: { - line: dep.line, - column: 2, - }, - } - : undefined, - }; -} diff --git a/packages/transformers/js/core/Cargo.toml b/packages/transformers/js/core/Cargo.toml index 3f78c65117b..ed56d291e9a 100644 --- a/packages/transformers/js/core/Cargo.toml +++ b/packages/transformers/js/core/Cargo.toml @@ -2,7 +2,7 @@ authors = ["Devon Govett "] name = "parcel-js-swc-core" version = "0.1.0" -edition = "2021" +edition = "2024" [lib] crate-type = ["rlib"] diff --git a/packages/transformers/js/core/src/collect.rs b/packages/transformers/js/core/src/collect.rs index cdd5a4f03ef..92fc3b413d8 100644 --- a/packages/transformers/js/core/src/collect.rs +++ b/packages/transformers/js/core/src/collect.rs @@ -2,20 +2,20 @@ use std::collections::{HashMap, HashSet}; use serde::{Deserialize, Serialize}; use swc_core::{ - common::{sync::Lrc, Mark, Span, DUMMY_SP}, + common::{DUMMY_SP, Mark, Span, sync::Lrc}, ecma::{ ast::*, atoms::Atom as JsWord, utils::stack_size::maybe_grow_default, - visit::{noop_visit_type, Visit, VisitWith}, + visit::{Visit, VisitWith, noop_visit_type}, }, }; use crate::{ id, utils::{ - is_unresolved, match_export_name, match_export_name_ident, match_import, match_member_expr, - match_property_name, match_require, Bailout, BailoutReason, SourceLocation, + Bailout, BailoutReason, SourceLocation, is_unresolved, match_export_name, + match_export_name_ident, match_import, match_member_expr, match_property_name, match_require, }, }; diff --git a/packages/transformers/js/core/src/constant_module.rs b/packages/transformers/js/core/src/constant_module.rs index b3db8d7c8f7..ca554bc6fee 100644 --- a/packages/transformers/js/core/src/constant_module.rs +++ b/packages/transformers/js/core/src/constant_module.rs @@ -152,9 +152,9 @@ impl Visit for ConstantModule { #[cfg(test)] mod tests { use swc_core::{ - common::{comments::SingleThreadedComments, sync::Lrc, FileName, Globals, SourceMap}, + common::{FileName, Globals, SourceMap, comments::SingleThreadedComments, sync::Lrc}, ecma::{ - parser::{lexer::Lexer, Parser, StringInput}, + parser::{Parser, StringInput, lexer::Lexer}, visit::VisitWith, }, }; diff --git a/packages/transformers/js/core/src/dependency_collector.rs b/packages/transformers/js/core/src/dependency_collector.rs index 087f00045b2..a75514cdece 100644 --- a/packages/transformers/js/core/src/dependency_collector.rs +++ b/packages/transformers/js/core/src/dependency_collector.rs @@ -10,7 +10,7 @@ use parcel_macros::{Evaluator, JsValue}; use path_slash::PathBufExt; use serde::{Deserialize, Serialize}; use swc_core::{ - common::{sync::Lrc, Mark, SourceMap, Span, SyntaxContext, DUMMY_SP}, + common::{DUMMY_SP, Mark, SourceMap, Span, SyntaxContext, sync::Lrc}, ecma::{ ast::{self, Callee, MemberProp, Module}, atoms::Atom as JsWord, @@ -19,7 +19,7 @@ use swc_core::{ }, }; -use crate::{fold_member_expr_skip_prop, utils::*, Config}; +use crate::{Config, fold_member_expr_skip_prop, utils::*}; macro_rules! hash { ($str:expr) => {{ @@ -1793,8 +1793,8 @@ fn match_worker_type(expr: Option<&ast::ExprOrSpread>) -> (SourceType, Option( diff --git a/packages/transformers/js/core/src/env_replacer.rs b/packages/transformers/js/core/src/env_replacer.rs index 76722941d3e..98d5b28b937 100644 --- a/packages/transformers/js/core/src/env_replacer.rs +++ b/packages/transformers/js/core/src/env_replacer.rs @@ -5,7 +5,7 @@ use std::{ use ast::*; use swc_core::{ - common::{sync::Lrc, Mark, DUMMY_SP}, + common::{DUMMY_SP, Mark, sync::Lrc}, ecma::{ ast, atoms::Atom as JsWord, @@ -52,7 +52,7 @@ impl<'a> VisitMut for EnvReplacer<'a> { _ => {} } - if let Expr::Member(ref member) = node { + if let Expr::Member(member) = node { if self.is_browser && match_member_expr(member, vec!["process", "browser"], self.unresolved_mark) { @@ -152,7 +152,7 @@ impl<'a> VisitMut for EnvReplacer<'a> { Expr::Unary(UnaryExpr { op: UnaryOp::Delete, arg, span, .. }) | // e.g. process.env.UPDATE++ Expr::Update(UpdateExpr { arg, span, .. }) => { - if let Expr::Member(MemberExpr { ref obj, .. }) = &**arg { + if let Expr::Member(MemberExpr { obj, .. }) = &**arg { if let Expr::Member(member) = &**obj { if match_member_expr(member, vec!["process", "env"], self.unresolved_mark) { self.emit_mutating_error(*span); @@ -215,7 +215,7 @@ impl<'a> EnvReplacer<'a> { /// /// This likely doesn't make sense so it should be deprecated in the future. fn replace_browser_assignment(&mut self, node: &Expr) -> Option { - let Expr::Assign(ref assign) = node else { + let Expr::Assign(assign) = node else { return None; }; let AssignTarget::Simple(SimpleAssignTarget::Member(member)) = &assign.left else { @@ -355,7 +355,7 @@ impl<'a> EnvReplacer<'a> { #[cfg(test)] mod test { - use crate::test_utils::{run_visit, RunTestContext, RunVisitResult}; + use crate::test_utils::{RunTestContext, RunVisitResult, run_visit}; use super::*; diff --git a/packages/transformers/js/core/src/fs.rs b/packages/transformers/js/core/src/fs.rs index 7d17f6c6c1d..df804df00ec 100644 --- a/packages/transformers/js/core/src/fs.rs +++ b/packages/transformers/js/core/src/fs.rs @@ -2,7 +2,7 @@ use std::path::{Path, PathBuf}; use data_encoding::{BASE64, HEXLOWER}; use swc_core::{ - common::{Mark, Span, SyntaxContext, DUMMY_SP}, + common::{DUMMY_SP, Mark, Span, SyntaxContext}, ecma::{ ast::*, atoms::Atom as JsWord, diff --git a/packages/transformers/js/core/src/global_replacer.rs b/packages/transformers/js/core/src/global_replacer.rs index 30526c4fa73..d273b7167ef 100644 --- a/packages/transformers/js/core/src/global_replacer.rs +++ b/packages/transformers/js/core/src/global_replacer.rs @@ -3,7 +3,7 @@ use std::path::Path; use indexmap::IndexMap; use path_slash::PathBufExt; use swc_core::{ - common::{sync::Lrc, Mark, SourceMap, SyntaxContext, DUMMY_SP}, + common::{DUMMY_SP, Mark, SourceMap, SyntaxContext, sync::Lrc}, ecma::{ ast::{self, ComputedPropName, Expr, Module}, atoms::Atom as JsWord, @@ -13,7 +13,7 @@ use swc_core::{ use crate::{ dependency_collector::{DependencyDescriptor, DependencyFlags, DependencyKind}, - utils::{create_global_decl_stmt, create_require, is_unresolved, SourceLocation, SourceType}, + utils::{SourceLocation, SourceType, create_global_decl_stmt, create_require, is_unresolved}, }; /// Replaces a few node.js constants with literals or require statements. @@ -197,9 +197,9 @@ mod test { use swc_core::ecma::atoms::Atom as JsWord; use crate::{ - global_replacer::GlobalReplacer, - test_utils::{run_visit, RunTestContext, RunVisitResult}, DependencyDescriptor, DependencyKind, + global_replacer::GlobalReplacer, + test_utils::{RunTestContext, RunVisitResult, run_visit}, }; fn make_global_replacer( diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index e407d23ae3b..f6088533097 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -1,12 +1,12 @@ use std::{ - collections::{hash_map::DefaultHasher, HashMap, HashSet}, + collections::{HashMap, HashSet, hash_map::DefaultHasher}, hash::Hasher, }; use indexmap::IndexMap; use serde::{Deserialize, Serialize}; use swc_core::{ - common::{Mark, Span, SyntaxContext, DUMMY_SP}, + common::{DUMMY_SP, Mark, Span, SyntaxContext}, ecma::{ ast::*, atoms::Atom as JsWord, @@ -19,9 +19,9 @@ use crate::{ collect::{Collect, Export, Import, ImportKind}, id, utils::{ - get_undefined_ident, is_unresolved, match_export_name, match_export_name_ident, match_import, - match_member_expr, match_property_name, match_require, CodeHighlight, Diagnostic, - DiagnosticSeverity, SourceLocation, + CodeHighlight, Diagnostic, DiagnosticSeverity, SourceLocation, get_undefined_ident, + is_unresolved, match_export_name, match_export_name_ident, match_import, match_member_expr, + match_property_name, match_require, }, }; @@ -1354,10 +1354,10 @@ impl<'a> Hoist<'a> { #[cfg(test)] mod tests { use swc_core::{ - common::{comments::SingleThreadedComments, sync::Lrc, FileName, Globals, SourceMap}, + common::{FileName, Globals, SourceMap, comments::SingleThreadedComments, sync::Lrc}, ecma::{ codegen::text_writer::JsWriter, - parser::{lexer::Lexer, Parser, StringInput}, + parser::{Parser, StringInput, lexer::Lexer}, transforms::base::{fixer::fixer, hygiene::hygiene, resolver}, visit::{VisitMutWith, VisitWith}, }, diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index aba30b3e699..16cec81f137 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -24,14 +24,14 @@ pub use collect::CollectImportedSymbol; use collect::{Collect, CollectResult}; use constant_module::ConstantModule; use dependency_collector::Helpers; -pub use dependency_collector::{dependency_collector, DependencyDescriptor, DependencyKind}; +pub use dependency_collector::{DependencyDescriptor, DependencyKind, dependency_collector}; use env_replacer::*; use fs::inline_fs; use global_replacer::GlobalReplacer; -use hoist::{hoist, HoistResult}; pub use hoist::{ExportedSymbol, ImportedSymbol}; +use hoist::{HoistResult, hoist}; use indexmap::IndexMap; -use mdx::{mdx, MdxAsset, TocNode}; +use mdx::{MdxAsset, TocNode, mdx}; use modules::esm2cjs; use node_replacer::NodeReplacer; use parcel_macros::{JsValue, MacroCallback, MacroError, Macros}; @@ -40,15 +40,15 @@ use react_lazy::ReactLazy; use serde::{Deserialize, Serialize}; use swc_core::{ common::{ - comments::SingleThreadedComments, errors::Handler, pass::Optional, - source_map::SourceMapGenConfig, sync::Lrc, FileName, Globals, Mark, SourceMap, + FileName, Globals, Mark, SourceMap, comments::SingleThreadedComments, errors::Handler, + pass::Optional, source_map::SourceMapGenConfig, sync::Lrc, }, ecma::{ ast::{Expr, ExprStmt, Lit, Module, ModuleItem, Program, Stmt, Str}, atoms::Atom as JsWord, codegen::text_writer::JsWriter, - parser::{error::Error, lexer::Lexer, EsSyntax, Parser, StringInput, Syntax, TsSyntax}, - preset_env::{preset_env, Mode::Entry, Targets, Version, Versions}, + parser::{EsSyntax, Parser, StringInput, Syntax, TsSyntax, error::Error, lexer::Lexer}, + preset_env::{Mode::Entry, Targets, Version, Versions, preset_env}, transforms::{ base::{ assumptions::Assumptions, @@ -67,7 +67,7 @@ use swc_core::{ }; use typeof_replacer::*; use utils::{ - error_buffer_to_diagnostics, CodeHighlight, Diagnostic, DiagnosticSeverity, ErrorBuffer, + CodeHighlight, Diagnostic, DiagnosticSeverity, ErrorBuffer, error_buffer_to_diagnostics, }; pub use utils::{SourceLocation, SourceType}; diff --git a/packages/transformers/js/core/src/mdx.rs b/packages/transformers/js/core/src/mdx.rs index 882a2b635ab..9ba76bac047 100644 --- a/packages/transformers/js/core/src/mdx.rs +++ b/packages/transformers/js/core/src/mdx.rs @@ -1,27 +1,28 @@ use std::{borrow::Cow, collections::HashMap}; use crate::{ - utils::{CodeHighlight, Diagnostic, DiagnosticSeverity}, Config, SourceLocation, + utils::{CodeHighlight, Diagnostic, DiagnosticSeverity}, }; use markdown::{ + Location, mdast::{AttributeValueExpression, Code, MdxjsEsm, Node, Text}, message::{Message, Place}, unist::Position, - Location, }; use mdxjs::{ + Options, hast::{AttributeContent, AttributeValue, MdxJsxAttribute}, hast_util_to_swc, mdast_util_from_mdx, mdast_util_to_hast, mdx_plugin_recma_document, - mdx_plugin_recma_jsx_rewrite, Options, + mdx_plugin_recma_jsx_rewrite, }; use parcel_macros::{Evaluator, JsValue}; use rustc_hash::FxHashSet; use swc_core::{ common::{ + DUMMY_SP, SourceMap, comments::{Comments, SingleThreadedComments}, sync::Lrc, - SourceMap, DUMMY_SP, }, ecma::{ ast::{ @@ -31,7 +32,7 @@ use swc_core::{ }, atoms::Atom as JsWord, codegen::to_code, - parser::{lexer::Lexer, EsSyntax, Parser, StringInput, Syntax, TsSyntax}, + parser::{EsSyntax, Parser, StringInput, Syntax, TsSyntax, lexer::Lexer}, utils::for_each_binding_ident, visit::{VisitMut, VisitMutWith}, }, diff --git a/packages/transformers/js/core/src/modules.rs b/packages/transformers/js/core/src/modules.rs index 1eae3d848f1..ed83d3ea47e 100644 --- a/packages/transformers/js/core/src/modules.rs +++ b/packages/transformers/js/core/src/modules.rs @@ -2,7 +2,7 @@ use std::collections::{HashMap, HashSet}; use inflector::Inflector; use swc_core::{ - common::{Mark, Span, SyntaxContext, DUMMY_SP}, + common::{DUMMY_SP, Mark, Span, SyntaxContext}, ecma::{ ast::*, atoms::Atom as JsWord, diff --git a/packages/transformers/js/core/src/node_replacer.rs b/packages/transformers/js/core/src/node_replacer.rs index 50499fd53de..2f13cf2178d 100644 --- a/packages/transformers/js/core/src/node_replacer.rs +++ b/packages/transformers/js/core/src/node_replacer.rs @@ -2,7 +2,7 @@ use std::{ffi::OsStr, path::Path}; use indexmap::IndexMap; use swc_core::{ - common::{sync::Lrc, Mark, SourceMap, SyntaxContext, DUMMY_SP}, + common::{DUMMY_SP, Mark, SourceMap, SyntaxContext, sync::Lrc}, ecma::{ ast::{self, MemberProp}, atoms::Atom as JsWord, @@ -13,7 +13,7 @@ use swc_core::{ use crate::{ dependency_collector::{DependencyDescriptor, DependencyFlags, DependencyKind}, - utils::{create_global_decl_stmt, create_require, is_unresolved, SourceLocation, SourceType}, + utils::{SourceLocation, SourceType, create_global_decl_stmt, create_require, is_unresolved}, }; /// Replaces __filename and __dirname with globals that reference to string literals for the diff --git a/packages/transformers/js/core/src/react_lazy.rs b/packages/transformers/js/core/src/react_lazy.rs index 03084b5bcff..ab48472193b 100644 --- a/packages/transformers/js/core/src/react_lazy.rs +++ b/packages/transformers/js/core/src/react_lazy.rs @@ -4,8 +4,8 @@ use swc_core::ecma::{ }; use crate::{ - collect::Collect, dependency_collector::DependencyFlags, utils::match_str, DependencyDescriptor, - DependencyKind, + DependencyDescriptor, DependencyKind, collect::Collect, dependency_collector::DependencyFlags, + utils::match_str, }; /// This pass marks dependencies created inside a React.lazy call. @@ -96,9 +96,9 @@ mod test { use super::*; use crate::{ - dependency_collector::DependencyFlags, - test_utils::{run_with_transformation, RunTestContext}, DependencyKind, + dependency_collector::DependencyFlags, + test_utils::{RunTestContext, run_with_transformation}, }; fn run(context: RunTestContext, module: &mut Module) { diff --git a/packages/transformers/js/core/src/test_utils.rs b/packages/transformers/js/core/src/test_utils.rs index 1c5155dc746..daaff675294 100644 --- a/packages/transformers/js/core/src/test_utils.rs +++ b/packages/transformers/js/core/src/test_utils.rs @@ -1,11 +1,11 @@ use swc_core::{ common::{ - input::StringInput, sync::Lrc, util::take::Take, FileName, Globals, Mark, SourceMap, GLOBALS, + FileName, GLOBALS, Globals, Mark, SourceMap, input::StringInput, sync::Lrc, util::take::Take, }, ecma::{ ast::Module, codegen::text_writer::JsWriter, - parser::{lexer::Lexer, Parser}, + parser::{Parser, lexer::Lexer}, transforms::base::resolver, visit::{Fold, FoldWith, VisitMut, VisitMutWith}, }, diff --git a/packages/transformers/js/core/src/typeof_replacer.rs b/packages/transformers/js/core/src/typeof_replacer.rs index 3e98f8ee509..e3a3f5d6e6d 100644 --- a/packages/transformers/js/core/src/typeof_replacer.rs +++ b/packages/transformers/js/core/src/typeof_replacer.rs @@ -33,7 +33,7 @@ impl TypeofReplacer { /// Given an expression, optionally return a replacement if it happens to be `typeof $symbol` for /// the constants supported in this transformation step (`require`, `exports` and `module`). fn get_replacement(&mut self, node: &Expr) -> Option { - let Expr::Unary(ref unary) = node else { + let Expr::Unary(unary) = node else { return None; }; if unary.op != UnaryOp::TypeOf { diff --git a/packages/transformers/js/core/src/utils.rs b/packages/transformers/js/core/src/utils.rs index 4d4eb34f5d0..94ea3ecf91f 100644 --- a/packages/transformers/js/core/src/utils.rs +++ b/packages/transformers/js/core/src/utils.rs @@ -3,8 +3,8 @@ use std::cmp::Ordering; use serde::{Deserialize, Serialize}; use swc_core::{ common::{ + DUMMY_SP, Mark, SourceMap, Span, SyntaxContext, errors::{DiagnosticBuilder, Emitter}, - Mark, SourceMap, Span, SyntaxContext, DUMMY_SP, }, ecma::{ ast::{self, Ident, IdentName}, @@ -31,7 +31,7 @@ pub fn match_member_expr(expr: &ast::MemberExpr, idents: Vec<&str>, unresolved_m return false; } } - MemberProp::Ident(IdentName { ref sym, .. }) => sym, + MemberProp::Ident(IdentName { sym, .. }) => sym, _ => return false, }; @@ -333,51 +333,51 @@ impl BailoutReason { match self { BailoutReason::NonTopLevelRequire => ( "Conditional or non-top-level `require()` call. This causes the resolved module and all dependencies to be wrapped.", - "https://parceljs.org/features/scope-hoisting/#avoid-conditional-require()" + "https://parceljs.org/features/scope-hoisting/#avoid-conditional-require()", ), BailoutReason::NonStaticDestructuring => ( "Non-static destructuring of `require` or dynamic `import()`. This causes all exports of the resolved module to be included.", - "https://parceljs.org/features/scope-hoisting/#commonjs" + "https://parceljs.org/features/scope-hoisting/#commonjs", ), BailoutReason::TopLevelReturn => ( "Module contains a top-level `return` statement. This causes the module to be wrapped in a function and tree shaking to be disabled.", - "https://parceljs.org/features/scope-hoisting/#avoid-top-level-return" + "https://parceljs.org/features/scope-hoisting/#avoid-top-level-return", ), BailoutReason::Eval => ( "Module contains usage of `eval`. This causes the module to be wrapped in a function and minification to be disabled.", - "https://parceljs.org/features/scope-hoisting/#avoid-eval" + "https://parceljs.org/features/scope-hoisting/#avoid-eval", ), BailoutReason::NonStaticExports => ( "Non-static access of CommonJS `exports` object. This causes tree shaking to be disabled for the module.", - "https://parceljs.org/features/scope-hoisting/#commonjs" + "https://parceljs.org/features/scope-hoisting/#commonjs", ), BailoutReason::FreeModule => ( "Unknown usage of CommonJS `module` object. This causes the module to be wrapped, and tree shaking to be disabled.", - "https://parceljs.org/features/scope-hoisting/#commonjs" + "https://parceljs.org/features/scope-hoisting/#commonjs", ), BailoutReason::FreeExports => ( "Unknown usage of CommonJS `exports` object. This causes tree shaking to be disabled.", - "https://parceljs.org/features/scope-hoisting/#commonjs" + "https://parceljs.org/features/scope-hoisting/#commonjs", ), BailoutReason::ExportsReassignment => ( "Module contains a reassignment of the CommonJS `exports` object. This causes the module to be wrapped and tree-shaking to be disabled.", - "https://parceljs.org/features/scope-hoisting/#avoid-module-and-exports-re-assignment" + "https://parceljs.org/features/scope-hoisting/#avoid-module-and-exports-re-assignment", ), BailoutReason::ModuleReassignment => ( "Module contains a reassignment of the CommonJS `module` object. This causes the module to be wrapped and tree-shaking to be disabled.", - "https://parceljs.org/features/scope-hoisting/#avoid-module-and-exports-re-assignment" + "https://parceljs.org/features/scope-hoisting/#avoid-module-and-exports-re-assignment", ), BailoutReason::NonStaticDynamicImport => ( "Unknown dynamic import usage. This causes tree shaking to be disabled for the resolved module.", - "https://parceljs.org/features/scope-hoisting/#dynamic-imports" + "https://parceljs.org/features/scope-hoisting/#dynamic-imports", ), BailoutReason::NonStaticAccess => ( "Non-static access of an `import` or `require`. This causes tree shaking to be disabled for the resolved module.", - "https://parceljs.org/features/scope-hoisting/#dynamic-member-accesses" + "https://parceljs.org/features/scope-hoisting/#dynamic-member-accesses", ), BailoutReason::ThisInExport => ( "Module contains `this` access of an exported value. This causes the module to be wrapped and tree-shaking to be disabled.", - "https://parceljs.org/features/scope-hoisting/#avoiding-bail-outs" + "https://parceljs.org/features/scope-hoisting/#avoiding-bail-outs", ), } } diff --git a/packages/transformers/svg/src/SVGTransformer.js b/packages/transformers/svg/src/SVGTransformer.js index db7cff9ace8..158ced900f0 100644 --- a/packages/transformers/svg/src/SVGTransformer.js +++ b/packages/transformers/svg/src/SVGTransformer.js @@ -2,17 +2,12 @@ import {Transformer} from '@parcel/plugin'; import ThrowableDiagnostic from '@parcel/diagnostic'; -import {transformSvg} from '@parcel/rust'; - -const TYPES = { - 'application/javascript': 'js', - 'application/ecmascript': 'js', - 'text/javascript': 'js', - 'application/json': false, - 'application/ld+json': 'jsonld', - 'text/html': false, - module: 'js', -}; +import { + transformSvg, + envToRust, + dependencyFromRust, + assetFromRust, +} from '@parcel/rust'; export default (new Transformer({ async transform({asset}) { @@ -20,36 +15,15 @@ export default (new Transformer({ let res = transformSvg({ code: await asset.getBuffer(), + filePath: asset.filePath, xml: true, - scope_hoist: asset.env.shouldScopeHoist, - supports_esm: false, + env: envToRust(asset.env), hmr: false, }); if (res.errors.length) { throw new ThrowableDiagnostic({ - diagnostic: res.errors.map(error => ({ - message: error.message, - origin: '@parcel/transformer-svg', - codeFrames: [ - { - filePath: asset.filePath, - language: 'svg', - codeHighlights: [ - { - start: { - line: error.line, - column: 1, - }, - end: { - line: error.line, - column: 1, - }, - }, - ], - }, - ], - })), + diagnostic: res.errors, }); } @@ -57,54 +31,13 @@ export default (new Transformer({ let assets = [asset]; for (let dep of res.dependencies) { - asset.addURLDependency(dep.href, { - priority: dep.priority, - needsStableName: dep.needsStableName, - bundleBehavior: - dep.bundleBehavior === 'none' ? undefined : dep.bundleBehavior, - env: convertEnv(asset, dep), - meta: { - placeholder: dep.placeholder, - }, - }); + asset.addDependency(dependencyFromRust(dep)); } for (let a of res.assets) { - assets.push({ - type: TYPES[a.type] || a.type.split('/')[1] || a.type, - content: a.content, - uniqueKey: a.key, - bundleBehavior: - a.bundleBehavior === 'none' ? undefined : a.bundleBehavior, - env: convertEnv(asset, a), - meta: { - type: a.isAttr ? 'attr' : 'tag', - startLine: a.line, - }, - }); + assets.push(assetFromRust(a)); } return assets; }, }): Transformer); - -function convertEnv(asset, dep) { - return { - outputFormat: dep.outputFormat === 'none' ? undefined : dep.outputFormat, - sourceType: dep.sourceType === 'none' ? undefined : dep.sourceType, - loc: - dep.outputFormat !== 'none' || dep.sourceType !== 'none' - ? { - filePath: asset.filePath, - start: { - line: dep.line, - column: 1, - }, - end: { - line: dep.line, - column: 2, - }, - } - : undefined, - }; -} diff --git a/rustfmt.toml b/rustfmt.toml index 2bc17ab9a35..6af057c8d01 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,2 +1,2 @@ -edition = "2021" +edition = "2024" tab_spaces = 2 From cd2ffa84963e16b3ef5e25144cdefd156ca26761 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sat, 10 May 2025 15:15:49 -0700 Subject: [PATCH 1021/1076] Fix svg optimization bugs --- Cargo.lock | 17 ++++---- crates/html/Cargo.toml | 4 +- crates/html/src/oxvg.rs | 88 +++++++++++++++-------------------------- 3 files changed, 43 insertions(+), 66 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 40c8fb9af69..aa156790e3b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2033,8 +2033,8 @@ dependencies = [ [[package]] name = "oxvg_ast" -version = "0.0.1-beta.1" -source = "git+https://github.com/devongovett/oxvg.git?branch=parcel#55e5bfc784cc0b4195499931ad984555b831846b" +version = "0.0.2" +source = "git+https://github.com/devongovett/oxvg.git?branch=fix-arc-parsing#edd9b877a5e4aa8a15149b439b90df090687e5ed" dependencies = [ "bitflags", "cfg-if", @@ -2057,8 +2057,8 @@ dependencies = [ [[package]] name = "oxvg_collections" -version = "0.0.1" -source = "git+https://github.com/devongovett/oxvg.git?branch=parcel#55e5bfc784cc0b4195499931ad984555b831846b" +version = "0.0.2" +source = "git+https://github.com/devongovett/oxvg.git?branch=fix-arc-parsing#edd9b877a5e4aa8a15149b439b90df090687e5ed" dependencies = [ "lazy_static", "phf", @@ -2067,11 +2067,12 @@ dependencies = [ [[package]] name = "oxvg_optimiser" -version = "0.1.0" -source = "git+https://github.com/devongovett/oxvg.git?branch=parcel#55e5bfc784cc0b4195499931ad984555b831846b" +version = "0.0.2" +source = "git+https://github.com/devongovett/oxvg.git?branch=fix-arc-parsing#edd9b877a5e4aa8a15149b439b90df090687e5ed" dependencies = [ "anyhow", "derive-where", + "derive_more 2.0.1", "itertools 0.14.0", "lazy_static", "lightningcss", @@ -2091,8 +2092,8 @@ dependencies = [ [[package]] name = "oxvg_path" -version = "0.0.1-beta.4" -source = "git+https://github.com/devongovett/oxvg.git?branch=parcel#55e5bfc784cc0b4195499931ad984555b831846b" +version = "0.0.2" +source = "git+https://github.com/devongovett/oxvg.git?branch=fix-arc-parsing#edd9b877a5e4aa8a15149b439b90df090687e5ed" dependencies = [ "bitflags", "lightningcss", diff --git a/crates/html/Cargo.toml b/crates/html/Cargo.toml index 9d07d7905be..fbb974c5973 100644 --- a/crates/html/Cargo.toml +++ b/crates/html/Cargo.toml @@ -12,8 +12,8 @@ serde_json = "1.0.91" typed-arena = "2.0.2" xml5ever = { git = "https://github.com/devongovett/html5ever.git", branch = "xmlns-attrs" } cssparser = "0.34.0" -oxvg_ast = { git = "https://github.com/devongovett/oxvg.git", branch = "parcel" } -oxvg_optimiser = { git = "https://github.com/devongovett/oxvg.git", branch = "parcel" } +oxvg_ast = { git = "https://github.com/devongovett/oxvg.git", branch = "fix-arc-parsing" } +oxvg_optimiser = { git = "https://github.com/devongovett/oxvg.git", branch = "fix-arc-parsing" } anyhow = "*" selectors = "0.26" swc_core = { version = "21", features = [ diff --git a/crates/html/src/oxvg.rs b/crates/html/src/oxvg.rs index 9612e0f7737..909b7d69fbb 100644 --- a/crates/html/src/oxvg.rs +++ b/crates/html/src/oxvg.rs @@ -1,4 +1,5 @@ use std::{ + borrow::Cow, cell::{Cell, RefCell, RefMut}, collections::VecDeque, fmt::Debug, @@ -21,14 +22,12 @@ impl<'arena> oxvg_ast::node::Node<'arena> for Ref<'arena> { type Parent = Element<'arena>; fn id(&self) -> usize { - self as *const _ as usize + *self as *const _ as usize } fn child_nodes_iter(&self) -> impl DoubleEndedIterator { ChildNodes { front: self.first_child(), - front_next: self.first_child().and_then(|n| n.next_sibling()), - end_previous: self.last_child().and_then(|n| n.previous_sibling()), end: self.last_child(), } } @@ -967,29 +966,28 @@ impl<'arena> oxvg_ast::element::Element<'arena> for Element<'arena> { } impl Debug for Element<'_> { - fn fmt(&self, _f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - // if self.node_type() != node::Type::Element { - // return (&self.node).fmt(f); - // } - // let name = self.qual_name().formatter(); - // let attributes = self.attributes(); - // let child_node_count = self.child_node_count(); - // let text = match child_node_count { - // 1 => self - // .text_content() - // .map(|s| s.trim().to_string()) - // .map(Cow::Owned) - // .unwrap_or_default(), - // _ => Cow::Borrowed(""), - // }; - // let child_count = match child_node_count { - // 0 => String::from("/>"), - // len => format!(">{len} child nodes"), - // }; - // f.debug_tuple("Element") - // .field(&format!("<{name} {attributes:?}{child_count} {text}")) - // .finish() - todo!() + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + if self.node_type() != oxvg_ast::node::Type::Element { + return (&self.node).fmt(f); + } + let name = self.qual_name().formatter(); + let attributes = self.attributes(); + let child_node_count = self.child_node_count(); + let text = match child_node_count { + 1 => self + .text_content() + .map(|s| s.trim().to_string()) + .map(Cow::Owned) + .unwrap_or_default(), + _ => Cow::Borrowed(""), + }; + let child_count = match child_node_count { + 0 => String::from("/>"), + len => format!(">{len} child nodes"), + }; + f.debug_tuple("Element") + .field(&format!("<{name} {attributes:?}{child_count} {text}")) + .finish() } } @@ -1187,8 +1185,6 @@ impl<'arena> oxvg_ast::document::Document<'arena> for Document<'arena> { struct ChildNodes<'arena> { front: Option>, - front_next: Option>, - end_previous: Option>, end: Option>, } @@ -1196,40 +1192,23 @@ impl<'arena> Iterator for ChildNodes<'arena> { type Item = Ref<'arena>; fn next(&mut self) -> Option { - let current = self.front?; - - // Move front tracking forwards - let new_front_next = self.front_next.and_then(|n| n.next_sibling()); - self.front = std::mem::replace(&mut self.front_next, new_front_next); - - // End iteration when it collides with end - if self.end.is_some_and(|end| end == current) { - self.front = None; - self.front_next = None; - self.end_previous = None; - self.end = None; + if let Some(current) = self.front { + self.front = current.next_sibling(); + return Some(current); } - // Done - Some(current) + None } } impl DoubleEndedIterator for ChildNodes<'_> { fn next_back(&mut self) -> Option { - let current = self.end?; - - let new_end_previous = self.end_previous.and_then(|n| n.next_sibling()); - self.end = std::mem::replace(&mut self.end_previous, new_end_previous); - - if self.front.is_some_and(|front| front == current) { - self.front = None; - self.front_next = None; - self.end_previous = None; - self.end = None; + if let Some(current) = self.end { + self.end = current.previous_sibling(); + return Some(current); } - Some(current) + None } } @@ -1240,9 +1219,6 @@ impl ExactSizeIterator for ChildNodes<'_> { while let Some(node) = current { current = node.next_sibling(); len += 1; - if self.end.is_none_or(|end| end == node) { - break; - } } len } From a3e4284d5a59c0235284adc6eee298105803d11a Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 00:37:29 -0700 Subject: [PATCH 1022/1076] Fix packaging srcset attribute --- crates/html/src/dependencies.rs | 26 +++++-------------- crates/html/src/package.rs | 14 +++++++++- crates/html/src/srcset.rs | 16 ++++++++++++ packages/core/integration-tests/test/html.js | 9 ++++++- .../test/integration/html-srcset/index.html | 2 +- 5 files changed, 45 insertions(+), 22 deletions(-) diff --git a/crates/html/src/dependencies.rs b/crates/html/src/dependencies.rs index 432adfda0f0..314eb31d536 100644 --- a/crates/html/src/dependencies.rs +++ b/crates/html/src/dependencies.rs @@ -1,12 +1,11 @@ use std::borrow::{Borrow, Cow}; use std::cell::{Cell, RefCell}; -use std::fmt::Write; use std::hash::{DefaultHasher, Hash, Hasher}; use std::path::PathBuf; use std::sync::Arc; use crate::arena::{Node, NodeData, SelectorFlags}; -use crate::srcset::parse_srcset; +use crate::srcset::{parse_srcset, serialize_srcset}; use html5ever::tendril::{StrTendril, format_tendril}; use html5ever::{Attribute, ExpandedName, QualName, expanded_name, local_name, namespace_url, ns}; use parcel_core::{ @@ -604,37 +603,26 @@ impl<'arena> DependencyCollector<'arena> { fn handle_srcset(&mut self, node: &'arena Node<'arena>, name: ExpandedName, line: u32) { let srcset = node.get_attribute(name.clone()); if let Some(srcset) = srcset { - let mut res = String::with_capacity(srcset.len()); let mut srcset = parse_srcset(srcset.as_ref()); for img in &mut srcset { - let mut hasher = DefaultHasher::new(); - img.url.hash(&mut hasher); - let placeholder = format!("{:x}", hasher.finish()); - - self.deps.push(Dependency { + let mut dep = Dependency { specifier: img.url.clone().into(), specifier_type: SpecifierType::Url, priority: Priority::Lazy, env: self.env.clone(), flags: DependencyFlags::empty(), bundle_behavior: BundleBehavior::None, - placeholder: Some(placeholder.clone()), + placeholder: None, loc: self.create_loc(line), resolve_from: None, range: None, - }); - - img.url = placeholder.into(); + }; - if !res.is_empty() { - res.push_str(", "); - } - if write!(&mut res, "{}", img).is_err() { - return; - } + img.url = dep.set_placeholder().into(); + self.deps.push(dep); } - node.set_attribute(name, &res); + node.set_attribute(name, &serialize_srcset(srcset)); } } diff --git a/crates/html/src/package.rs b/crates/html/src/package.rs index 1947199d17f..caf55d63958 100644 --- a/crates/html/src/package.rs +++ b/crates/html/src/package.rs @@ -4,6 +4,7 @@ use crate::{ SerializableTendril, arena::{Node, NodeData}, dependencies::{is_func_iri_attr, parse_xml_stylesheet, serialize_xml_stylesheet}, + srcset::{parse_srcset, serialize_srcset}, }; use html5ever::{ExpandedName, expanded_name, local_name, namespace_url, ns}; use serde::Deserialize; @@ -72,7 +73,18 @@ pub fn insert_bundle_references<'arena>( } for attr in attrs.borrow_mut().iter_mut() { - if let Some(bundle) = inline_bundles.get(&SerializableTendril(attr.value.clone())) { + if attr.name.expanded() == expanded_name!("", "srcset") + || attr.name.local.as_ref() == "imagesrcset" + { + let mut srcset = parse_srcset(&attr.value); + for img in &mut srcset { + if let Some(bundle) = inline_bundles.get(&SerializableTendril(img.url.clone().into())) { + img.url = bundle.contents.0.clone().into(); + } + } + + attr.value = serialize_srcset(srcset).into(); + } else if let Some(bundle) = inline_bundles.get(&SerializableTendril(attr.value.clone())) { if is_func_iri_attr(&attr.name) { use cssparser::ToCss; let placeholder = diff --git a/crates/html/src/srcset.rs b/crates/html/src/srcset.rs index ba77f4b77c6..b0b76f6453d 100644 --- a/crates/html/src/srcset.rs +++ b/crates/html/src/srcset.rs @@ -374,3 +374,19 @@ fn is_ascii_digit(c: &char) -> bool { _ => false, } } + +pub fn serialize_srcset(srcset: Vec) -> String { + use std::fmt::Write; + + let mut res = String::with_capacity(srcset.len()); + for img in srcset { + if !res.is_empty() { + res.push_str(", "); + } + if write!(&mut res, "{}", img).is_err() { + break; + } + } + + res +} diff --git a/packages/core/integration-tests/test/html.js b/packages/core/integration-tests/test/html.js index 788fe81f48c..2346b12a322 100644 --- a/packages/core/integration-tests/test/html.js +++ b/packages/core/integration-tests/test/html.js @@ -939,6 +939,10 @@ describe('html', function () { assets: ['300x300.png'], }, ]); + + let contents = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert(contents.includes('src="/')); + assert(contents.includes('srcset="/')); }); it('should detect srcset attribute of source element', async function () { @@ -967,7 +971,7 @@ describe('html', function () { const html = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); - const source = html.match(//)[0]; assert(source.split(', ').length === 3); }); @@ -995,6 +999,9 @@ describe('html', function () { assets: ['300x300.png'], }, ]); + + let contents = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert(contents.includes('imagesrcset="/')); }); it.skip('should support webmanifest', async function () { diff --git a/packages/core/integration-tests/test/integration/html-srcset/index.html b/packages/core/integration-tests/test/integration/html-srcset/index.html index c9e910f5fef..b55c4eb7226 100644 --- a/packages/core/integration-tests/test/integration/html-srcset/index.html +++ b/packages/core/integration-tests/test/integration/html-srcset/index.html @@ -4,6 +4,6 @@ - + From 84a28de83787670842a86ef9a2038f57d7212d03 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 01:06:52 -0700 Subject: [PATCH 1023/1076] Add missing files to rust package --- packages/core/rust/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/rust/package.json b/packages/core/rust/package.json index 831169fc57c..1a4c35aaf22 100644 --- a/packages/core/rust/package.json +++ b/packages/core/rust/package.json @@ -23,6 +23,7 @@ "node": ">= 16.0.0" }, "files": [ + "lib", "browser.js", "index.d.ts", "index.js", From 20d1391e1d9590a137f3197389a84b96ec5585a0 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 11:04:31 -0700 Subject: [PATCH 1024/1076] bump oxvg --- Cargo.lock | 8 ++++---- crates/html/Cargo.toml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index aa156790e3b..dd0b458b48d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2034,7 +2034,7 @@ dependencies = [ [[package]] name = "oxvg_ast" version = "0.0.2" -source = "git+https://github.com/devongovett/oxvg.git?branch=fix-arc-parsing#edd9b877a5e4aa8a15149b439b90df090687e5ed" +source = "git+https://github.com/devongovett/oxvg.git?branch=fix-curve-to-shorthand#6cf91d0d4eb6dbdc8388fdc42ead38aaceac73e4" dependencies = [ "bitflags", "cfg-if", @@ -2058,7 +2058,7 @@ dependencies = [ [[package]] name = "oxvg_collections" version = "0.0.2" -source = "git+https://github.com/devongovett/oxvg.git?branch=fix-arc-parsing#edd9b877a5e4aa8a15149b439b90df090687e5ed" +source = "git+https://github.com/devongovett/oxvg.git?branch=fix-curve-to-shorthand#6cf91d0d4eb6dbdc8388fdc42ead38aaceac73e4" dependencies = [ "lazy_static", "phf", @@ -2068,7 +2068,7 @@ dependencies = [ [[package]] name = "oxvg_optimiser" version = "0.0.2" -source = "git+https://github.com/devongovett/oxvg.git?branch=fix-arc-parsing#edd9b877a5e4aa8a15149b439b90df090687e5ed" +source = "git+https://github.com/devongovett/oxvg.git?branch=fix-curve-to-shorthand#6cf91d0d4eb6dbdc8388fdc42ead38aaceac73e4" dependencies = [ "anyhow", "derive-where", @@ -2093,7 +2093,7 @@ dependencies = [ [[package]] name = "oxvg_path" version = "0.0.2" -source = "git+https://github.com/devongovett/oxvg.git?branch=fix-arc-parsing#edd9b877a5e4aa8a15149b439b90df090687e5ed" +source = "git+https://github.com/devongovett/oxvg.git?branch=fix-curve-to-shorthand#6cf91d0d4eb6dbdc8388fdc42ead38aaceac73e4" dependencies = [ "bitflags", "lightningcss", diff --git a/crates/html/Cargo.toml b/crates/html/Cargo.toml index fbb974c5973..34f6fc4035e 100644 --- a/crates/html/Cargo.toml +++ b/crates/html/Cargo.toml @@ -12,8 +12,8 @@ serde_json = "1.0.91" typed-arena = "2.0.2" xml5ever = { git = "https://github.com/devongovett/html5ever.git", branch = "xmlns-attrs" } cssparser = "0.34.0" -oxvg_ast = { git = "https://github.com/devongovett/oxvg.git", branch = "fix-arc-parsing" } -oxvg_optimiser = { git = "https://github.com/devongovett/oxvg.git", branch = "fix-arc-parsing" } +oxvg_ast = { git = "https://github.com/devongovett/oxvg.git", branch = "fix-curve-to-shorthand" } +oxvg_optimiser = { git = "https://github.com/devongovett/oxvg.git", branch = "fix-curve-to-shorthand" } anyhow = "*" selectors = "0.26" swc_core = { version = "21", features = [ From ef7661242b41dd254b7cadbcaa3081c59fefdac5 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 12:06:59 -0700 Subject: [PATCH 1025/1076] Upgrade to yarn 4 --- .github/workflows/ci.yml | 14 +- .github/workflows/tag-release.yml | 2 +- .gitignore | 8 + .yarn/releases/yarn-4.9.1.cjs | 948 + .yarnrc.yml | 3 + package.json | 4 +- packages/core/fs/package.json | 4 +- .../integration/babelrc-custom/.yarnrc.yml | 1 + .../postcss-autoinstall/npm/.yarnrc.yml | 1 + .../posthtml-autoinstall/.yarnrc.yml | 1 + packages/core/workers/package.json | 4 +- packages/dev/eslint-plugin/package.json | 1 - packages/packagers/html/package.json | 2 +- packages/utils/create-parcel/package.json | 4 +- yarn.lock | 37926 ++++++++++------ 15 files changed, 23809 insertions(+), 15114 deletions(-) create mode 100755 .yarn/releases/yarn-4.9.1.cjs create mode 100644 .yarnrc.yml create mode 100644 packages/core/integration-tests/test/integration/babelrc-custom/.yarnrc.yml create mode 100644 packages/core/integration-tests/test/integration/postcss-autoinstall/npm/.yarnrc.yml create mode 100644 packages/core/integration-tests/test/integration/posthtml-autoinstall/.yarnrc.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dad53af7dd8..599605a270f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,9 +23,7 @@ jobs: with: toolchain: stable components: rustfmt - # use `--frozen-lockfile` to fail immediately if the committed yarn.lock needs updates - # https://yarnpkg.com/lang/en/docs/cli/install/#toc-yarn-install-frozen-lockfile - - run: yarn --frozen-lockfile + - run: yarn --immutable - run: yarn lint flow: @@ -36,7 +34,7 @@ jobs: - uses: actions/setup-node@v4 with: cache: yarn - - run: yarn --frozen-lockfile + - run: yarn --immutable - run: yarn flow check ts-types: @@ -47,7 +45,7 @@ jobs: - uses: actions/setup-node@v4 with: cache: yarn - - run: yarn --frozen-lockfile + - run: yarn --immutable - run: yarn build-ts benchmarks: @@ -81,7 +79,7 @@ jobs: - name: Bump max inotify watches (Linux only) if: ${{ runner.os == 'Linux' }} run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p; - - run: yarn --frozen-lockfile + - run: yarn --immutable - run: yarn build-native-release - run: yarn test:unit - name: Upload @parcel/rust artifacts on Linux with Node v20 @@ -119,7 +117,7 @@ jobs: - name: Bump max inotify watches (Linux only) run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p; if: ${{ runner.os == 'Linux' }} - - run: yarn --frozen-lockfile + - run: yarn --immutable - run: yarn build-native-release - run: yarn build - run: yarn test:integration-ci @@ -151,7 +149,7 @@ jobs: key: wasm - name: Bump max inotify watches run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p; - - run: yarn --frozen-lockfile + - run: yarn --immutable - name: Build native packages run: yarn build-native-release - run: yarn build diff --git a/.github/workflows/tag-release.yml b/.github/workflows/tag-release.yml index eb31545a502..d0e28409a73 100644 --- a/.github/workflows/tag-release.yml +++ b/.github/workflows/tag-release.yml @@ -41,7 +41,7 @@ jobs: key: wasm - name: Bump max inotify watches run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p; - - run: yarn --frozen-lockfile + - run: yarn --immutable - name: Build native packages run: yarn build-native-release - run: yarn build diff --git a/.gitignore b/.gitignore index 2fd3023fe6d..bb61c45b847 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,14 @@ tmp /target/ +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + .DS_Store npm-debug.log* package-lock.json diff --git a/.yarn/releases/yarn-4.9.1.cjs b/.yarn/releases/yarn-4.9.1.cjs new file mode 100755 index 00000000000..657026d5c60 --- /dev/null +++ b/.yarn/releases/yarn-4.9.1.cjs @@ -0,0 +1,948 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var u7e=Object.create;var D_=Object.defineProperty;var f7e=Object.getOwnPropertyDescriptor;var A7e=Object.getOwnPropertyNames;var p7e=Object.getPrototypeOf,h7e=Object.prototype.hasOwnProperty;var ye=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var It=(t,e)=>()=>(t&&(e=t(t=0)),e);var L=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Vt=(t,e)=>{for(var r in e)D_(t,r,{get:e[r],enumerable:!0})},g7e=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of A7e(e))!h7e.call(t,a)&&a!==r&&D_(t,a,{get:()=>e[a],enumerable:!(s=f7e(e,a))||s.enumerable});return t};var et=(t,e,r)=>(r=t!=null?u7e(p7e(t)):{},g7e(e||!t||!t.__esModule?D_(r,"default",{value:t,enumerable:!0}):r,t));var ui={};Vt(ui,{SAFE_TIME:()=>P$,S_IFDIR:()=>lx,S_IFLNK:()=>cx,S_IFMT:()=>_f,S_IFREG:()=>M2});var _f,lx,M2,cx,P$,x$=It(()=>{_f=61440,lx=16384,M2=32768,cx=40960,P$=456789e3});var or={};Vt(or,{EBADF:()=>Uo,EBUSY:()=>d7e,EEXIST:()=>w7e,EINVAL:()=>y7e,EISDIR:()=>C7e,ENOENT:()=>E7e,ENOSYS:()=>m7e,ENOTDIR:()=>I7e,ENOTEMPTY:()=>v7e,EOPNOTSUPP:()=>S7e,EROFS:()=>B7e,ERR_DIR_CLOSED:()=>b_});function wc(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function d7e(t){return wc("EBUSY",t)}function m7e(t,e){return wc("ENOSYS",`${t}, ${e}`)}function y7e(t){return wc("EINVAL",`invalid argument, ${t}`)}function Uo(t){return wc("EBADF",`bad file descriptor, ${t}`)}function E7e(t){return wc("ENOENT",`no such file or directory, ${t}`)}function I7e(t){return wc("ENOTDIR",`not a directory, ${t}`)}function C7e(t){return wc("EISDIR",`illegal operation on a directory, ${t}`)}function w7e(t){return wc("EEXIST",`file already exists, ${t}`)}function B7e(t){return wc("EROFS",`read-only filesystem, ${t}`)}function v7e(t){return wc("ENOTEMPTY",`directory not empty, ${t}`)}function S7e(t){return wc("EOPNOTSUPP",`operation not supported, ${t}`)}function b_(){return wc("ERR_DIR_CLOSED","Directory handle was closed")}var ux=It(()=>{});var el={};Vt(el,{BigIntStatsEntry:()=>iE,DEFAULT_MODE:()=>k_,DirEntry:()=>P_,StatEntry:()=>nE,areStatsEqual:()=>Q_,clearStats:()=>fx,convertToBigIntStats:()=>b7e,makeDefaultStats:()=>k$,makeEmptyStats:()=>D7e});function k$(){return new nE}function D7e(){return fx(k$())}function fx(t){for(let e in t)if(Object.hasOwn(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):x_.types.isDate(r)&&(t[e]=new Date(0))}return t}function b7e(t){let e=new iE;for(let r in t)if(Object.hasOwn(t,r)){let s=t[r];typeof s=="number"?e[r]=BigInt(s):x_.types.isDate(s)&&(e[r]=new Date(s))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function Q_(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,s=e;return!(r.atimeNs!==s.atimeNs||r.mtimeNs!==s.mtimeNs||r.ctimeNs!==s.ctimeNs||r.birthtimeNs!==s.birthtimeNs)}var x_,k_,P_,nE,iE,T_=It(()=>{x_=et(ye("util")),k_=33188,P_=class{constructor(){this.name="";this.path="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},nE=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=k_;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},iE=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(k_);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function T7e(t){let e,r;if(e=t.match(k7e))t=e[1];else if(r=t.match(Q7e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function R7e(t){t=t.replace(/\\/g,"/");let e,r;return(e=t.match(P7e))?t=`/${e[1]}`:(r=t.match(x7e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function Ax(t,e){return t===ue?T$(e):R_(e)}var _2,vt,Er,ue,K,Q$,P7e,x7e,k7e,Q7e,R_,T$,tl=It(()=>{_2=et(ye("path")),vt={root:"/",dot:".",parent:".."},Er={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml",env:".env"},ue=Object.create(_2.default),K=Object.create(_2.default.posix);ue.cwd=()=>process.cwd();K.cwd=process.platform==="win32"?()=>R_(process.cwd()):process.cwd;process.platform==="win32"&&(K.resolve=(...t)=>t.length>0&&K.isAbsolute(t[0])?_2.default.posix.resolve(...t):_2.default.posix.resolve(K.cwd(),...t));Q$=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};ue.contains=(t,e)=>Q$(ue,t,e);K.contains=(t,e)=>Q$(K,t,e);P7e=/^([a-zA-Z]:.*)$/,x7e=/^\/\/(\.\/)?(.*)$/,k7e=/^\/([a-zA-Z]:.*)$/,Q7e=/^\/unc\/(\.dot\/)?(.*)$/;R_=process.platform==="win32"?R7e:t=>t,T$=process.platform==="win32"?T7e:t=>t;ue.fromPortablePath=T$;ue.toPortablePath=R_});async function px(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let s=[];for(let a of r)for(let n of r)s.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(s),e.indexPath}async function R$(t,e,r,s,a){let n=t.pathUtils.normalize(e),c=r.pathUtils.normalize(s),f=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:md,mtime:md}:await r.lstatPromise(c);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,E]}),await F_(f,p,t,n,r,c,{...a,didParentExist:!0});for(let C of f)await C();await Promise.all(p.map(C=>C()))}async function F_(t,e,r,s,a,n,c){let f=c.didParentExist?await F$(r,s):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=c.stableTime?{atime:md,mtime:md}:p,C;switch(!0){case p.isDirectory():C=await N7e(t,e,r,s,f,a,n,p,c);break;case p.isFile():C=await M7e(t,e,r,s,f,a,n,p,c);break;case p.isSymbolicLink():C=await _7e(t,e,r,s,f,a,n,p,c);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(c.linkStrategy?.type!=="HardlinkFromIndex"||!p.isFile())&&((C||f?.mtime?.getTime()!==E.getTime()||f?.atime?.getTime()!==h.getTime())&&(e.push(()=>r.lutimesPromise(s,h,E)),C=!0),(f===null||(f.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(s,p.mode&511)),C=!0)),C}async function F$(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function N7e(t,e,r,s,a,n,c,f,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(s)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(s,{mode:f.mode})}catch(S){if(S.code!=="EEXIST")throw S}}),h=!0);let E=await n.readdirPromise(c),C=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let S of E.sort())await F_(t,e,r,r.pathUtils.join(s,S),n,n.pathUtils.join(c,S),C)&&(h=!0);else(await Promise.all(E.map(async P=>{await F_(t,e,r,r.pathUtils.join(s,P),n,n.pathUtils.join(c,P),C)}))).some(P=>P)&&(h=!0);return h}async function O7e(t,e,r,s,a,n,c,f,p,h){let E=await n.checksumFilePromise(c,{algorithm:"sha1"}),C=420,S=f.mode&511,P=`${E}${S!==C?S.toString(8):""}`,I=r.pathUtils.join(h.indexPath,E.slice(0,2),`${P}.dat`),R;(ce=>(ce[ce.Lock=0]="Lock",ce[ce.Rename=1]="Rename"))(R||={});let N=1,U=await F$(r,I);if(a){let ie=U&&a.dev===U.dev&&a.ino===U.ino,Ae=U?.mtimeMs!==F7e;if(ie&&Ae&&h.autoRepair&&(N=0,U=null),!ie)if(p.overwrite)t.push(async()=>r.removePromise(s)),a=null;else return!1}let W=!U&&N===1?`${I}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,te=!1;return t.push(async()=>{if(!U&&(N===0&&await r.lockPromise(I,async()=>{let ie=await n.readFilePromise(c);await r.writeFilePromise(I,ie)}),N===1&&W)){let ie=await n.readFilePromise(c);await r.writeFilePromise(W,ie);try{await r.linkPromise(W,I)}catch(Ae){if(Ae.code==="EEXIST")te=!0,await r.unlinkPromise(W);else throw Ae}}a||await r.linkPromise(I,s)}),e.push(async()=>{U||(await r.lutimesPromise(I,md,md),S!==C&&await r.chmodPromise(I,S)),W&&!te&&await r.unlinkPromise(W)}),!1}async function L7e(t,e,r,s,a,n,c,f,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(s)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(c);await r.writeFilePromise(s,h)}),!0}async function M7e(t,e,r,s,a,n,c,f,p){return p.linkStrategy?.type==="HardlinkFromIndex"?O7e(t,e,r,s,a,n,c,f,p,p.linkStrategy):L7e(t,e,r,s,a,n,c,f,p)}async function _7e(t,e,r,s,a,n,c,f,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(s)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(Ax(r.pathUtils,await n.readlinkPromise(c)),s)}),!0}var md,F7e,N_=It(()=>{tl();md=new Date(456789e3*1e3),F7e=md.getTime()});function hx(t,e,r,s){let a=()=>{let n=r.shift();if(typeof n>"u")return null;let c=t.pathUtils.join(e,n);return Object.assign(t.statSync(c),{name:n,path:void 0})};return new U2(e,a,s)}var U2,N$=It(()=>{ux();U2=class{constructor(e,r,s={}){this.path=e;this.nextDirent=r;this.opts=s;this.closed=!1}throwIfClosed(){if(this.closed)throw b_()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}}});function O$(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var L$,gx,M$=It(()=>{L$=ye("events");T_();gx=class t extends L$.EventEmitter{constructor(r,s,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=s,this.bigint=a,this.lastStats=this.stat()}static create(r,s,a){let n=new t(r,s,a);return n.start(),n}start(){O$(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){O$(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let r=this.bigint?new iE:new nE;return fx(r)}}makeInterval(r){let s=setInterval(()=>{let a=this.stat(),n=this.lastStats;Q_(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?s:s.unref()}registerChangeListener(r,s){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(s))}unregisterChangeListener(r){this.removeListener("change",r);let s=this.changeListeners.get(r);typeof s<"u"&&clearInterval(s),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function sE(t,e,r,s){let a,n,c,f;switch(typeof r){case"function":a=!1,n=!0,c=5007,f=r;break;default:({bigint:a=!1,persistent:n=!0,interval:c=5007}=r),f=s;break}let p=dx.get(t);typeof p>"u"&&dx.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=gx.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(f,{persistent:n,interval:c}),h}function yd(t,e,r){let s=dx.get(t);if(typeof s>"u")return;let a=s.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),s.delete(e)))}function Ed(t){let e=dx.get(t);if(!(typeof e>"u"))for(let r of e.keys())yd(t,r)}var dx,O_=It(()=>{M$();dx=new WeakMap});function U7e(t){let e=t.match(/\r?\n/g);if(e===null)return U$.EOL;let r=e.filter(a=>a===`\r +`).length,s=e.length-r;return r>s?`\r +`:` +`}function Id(t,e){return e.replace(/\r?\n/g,U7e(t))}var _$,U$,Ep,Uf,Cd=It(()=>{_$=ye("crypto"),U$=ye("os");N_();tl();Ep=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let s=[e];for(;s.length>0;){let a=s.shift();if((await this.lstatPromise(a)).isDirectory()){let c=await this.readdirPromise(a);if(r)for(let f of c.sort())s.push(this.pathUtils.join(a,f));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let s=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),c=(0,_$.createHash)(r),f=0;for(;(f=await this.readPromise(s,n,0,65536))!==0;)c.update(f===65536?n:n.slice(0,f));return c.digest("hex")}finally{await this.closePromise(s)}}async removePromise(e,{recursive:r=!0,maxRetries:s=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(c=>this.removePromise(this.pathUtils.resolve(e,c))))}for(let n=0;n<=s;n++)try{await this.rmdirPromise(e);break}catch(c){if(c.code!=="EBUSY"&&c.code!=="ENOTEMPTY")throw c;nsetTimeout(f,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let s;try{s=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(s.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:s}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let c=2;c<=a.length;++c){let f=a.slice(0,c).join(this.pathUtils.sep);if(!this.existsSync(f)){try{await this.mkdirPromise(f)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=f,r!=null&&await this.chmodPromise(f,r),s!=null)await this.utimesPromise(f,s[0],s[1]);else{let p=await this.statPromise(this.pathUtils.dirname(f));await this.utimesPromise(f,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:s}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let c=2;c<=a.length;++c){let f=a.slice(0,c).join(this.pathUtils.sep);if(!this.existsSync(f)){try{this.mkdirSync(f)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=f,r!=null&&this.chmodSync(f,r),s!=null)this.utimesSync(f,s[0],s[1]);else{let p=this.statSync(this.pathUtils.dirname(f));this.utimesSync(f,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:s=this,overwrite:a=!0,stableSort:n=!1,stableTime:c=!1,linkStrategy:f=null}={}){return await R$(this,e,s,r,{overwrite:a,stableSort:n,stableTime:c,linkStrategy:f})}copySync(e,r,{baseFs:s=this,overwrite:a=!0}={}){let n=s.lstatSync(r),c=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=s.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),s.pathUtils.join(r,h),{baseFs:s,overwrite:a})}else if(n.isFile()){if(!c||a){c&&this.removeSync(e);let p=s.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!c||a){c&&this.removeSync(e);let p=s.readlinkSync(r);this.symlinkSync(Ax(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let f=n.mode&511;this.chmodSync(e,f)}async changeFilePromise(e,r,s={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,s):this.changeFileTextPromise(e,r,s)}async changeFileBufferPromise(e,r,{mode:s}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:s})}async changeFileTextPromise(e,r,{automaticNewlines:s,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let c=s?Id(n,r):r;n!==c&&await this.writeFilePromise(e,c,{mode:a})}changeFileSync(e,r,s={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,s):this.changeFileTextSync(e,r,s)}changeFileBufferSync(e,r,{mode:s}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:s})}changeFileTextSync(e,r,{automaticNewlines:s=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let c=s?Id(n,r):r;n!==c&&this.writeFileSync(e,c,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(s){if(s.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw s}}moveSync(e,r){try{this.renameSync(e,r)}catch(s){if(s.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw s}}async lockPromise(e,r){let s=`${e}.flock`,a=1e3/60,n=Date.now(),c=null,f=async()=>{let p;try{[p]=await this.readJsonPromise(s)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;c===null;)try{c=await this.openPromise(s,"wx")}catch(p){if(p.code==="EEXIST"){if(!await f())try{await this.unlinkPromise(s);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${s})`)}else throw p}await this.writePromise(c,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(c),await this.unlinkPromise(s)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(s){throw s.message+=` (in ${e})`,s}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(s){throw s.message+=` (in ${e})`,s}}async writeJsonPromise(e,r,{compact:s=!1}={}){let a=s?0:2;return await this.writeFilePromise(e,`${JSON.stringify(r,null,a)} +`)}writeJsonSync(e,r,{compact:s=!1}={}){let a=s?0:2;return this.writeFileSync(e,`${JSON.stringify(r,null,a)} +`)}async preserveTimePromise(e,r){let s=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,s.atime,s.mtime)}async preserveTimeSync(e,r){let s=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,s.atime,s.mtime)}},Uf=class extends Ep{constructor(){super(K)}}});var Hs,Ip=It(()=>{Cd();Hs=class extends Ep{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,s){return this.baseFs.openPromise(this.mapToBase(e),r,s)}openSync(e,r,s){return this.baseFs.openSync(this.mapToBase(e),r,s)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,s,a,n){return await this.baseFs.readPromise(e,r,s,a,n)}readSync(e,r,s,a,n){return this.baseFs.readSync(e,r,s,a,n)}async writePromise(e,r,s,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,s):await this.baseFs.writePromise(e,r,s,a,n)}writeSync(e,r,s,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,s):this.baseFs.writeSync(e,r,s,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,s){return this.baseFs.fchownPromise(e,r,s)}fchownSync(e,r,s){return this.baseFs.fchownSync(e,r,s)}async chownPromise(e,r,s){return this.baseFs.chownPromise(this.mapToBase(e),r,s)}chownSync(e,r,s){return this.baseFs.chownSync(this.mapToBase(e),r,s)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,s=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),s)}copyFileSync(e,r,s=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),s)}async appendFilePromise(e,r,s){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,s)}appendFileSync(e,r,s){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,s)}async writeFilePromise(e,r,s){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,s)}writeFileSync(e,r,s){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,s)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,s){return this.baseFs.utimesPromise(this.mapToBase(e),r,s)}utimesSync(e,r,s){return this.baseFs.utimesSync(this.mapToBase(e),r,s)}async lutimesPromise(e,r,s){return this.baseFs.lutimesPromise(this.mapToBase(e),r,s)}lutimesSync(e,r,s){return this.baseFs.lutimesSync(this.mapToBase(e),r,s)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async rmPromise(e,r){return this.baseFs.rmPromise(this.mapToBase(e),r)}rmSync(e,r){return this.baseFs.rmSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,s){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,s);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),c=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(c,a,s)}symlinkSync(e,r,s){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,s);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),c=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(c,a,s)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,s){return this.baseFs.watch(this.mapToBase(e),r,s)}watchFile(e,r,s){return this.baseFs.watchFile(this.mapToBase(e),r,s)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var Hf,H$=It(()=>{Ip();Hf=class extends Hs{constructor(e,{baseFs:r,pathUtils:s}){super(s),this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}}});function j$(t){let e=t;return typeof t.path=="string"&&(e.path=ue.toPortablePath(t.path)),e}var q$,Yn,wd=It(()=>{q$=et(ye("fs"));Cd();tl();Yn=class extends Uf{constructor(e=q$.default){super(),this.realFs=e}getExtractHint(){return!1}getRealPath(){return vt.root}resolve(e){return K.resolve(e)}async openPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.open(ue.fromPortablePath(e),r,s,this.makeCallback(a,n))})}openSync(e,r,s){return this.realFs.openSync(ue.fromPortablePath(e),r,s)}async opendirPromise(e,r){return await new Promise((s,a)=>{typeof r<"u"?this.realFs.opendir(ue.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.opendir(ue.fromPortablePath(e),this.makeCallback(s,a))}).then(s=>{let a=s;return Object.defineProperty(a,"path",{value:e,configurable:!0,writable:!0}),a})}opendirSync(e,r){let a=typeof r<"u"?this.realFs.opendirSync(ue.fromPortablePath(e),r):this.realFs.opendirSync(ue.fromPortablePath(e));return Object.defineProperty(a,"path",{value:e,configurable:!0,writable:!0}),a}async readPromise(e,r,s=0,a=0,n=-1){return await new Promise((c,f)=>{this.realFs.read(e,r,s,a,n,(p,h)=>{p?f(p):c(h)})})}readSync(e,r,s,a,n){return this.realFs.readSync(e,r,s,a,n)}async writePromise(e,r,s,a,n){return await new Promise((c,f)=>typeof r=="string"?this.realFs.write(e,r,s,this.makeCallback(c,f)):this.realFs.write(e,r,s,a,n,this.makeCallback(c,f)))}writeSync(e,r,s,a,n){return typeof r=="string"?this.realFs.writeSync(e,r,s):this.realFs.writeSync(e,r,s,a,n)}async closePromise(e){await new Promise((r,s)=>{this.realFs.close(e,this.makeCallback(r,s))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let s=e!==null?ue.fromPortablePath(e):e;return this.realFs.createReadStream(s,r)}createWriteStream(e,r){let s=e!==null?ue.fromPortablePath(e):e;return this.realFs.createWriteStream(s,r)}async realpathPromise(e){return await new Promise((r,s)=>{this.realFs.realpath(ue.fromPortablePath(e),{},this.makeCallback(r,s))}).then(r=>ue.toPortablePath(r))}realpathSync(e){return ue.toPortablePath(this.realFs.realpathSync(ue.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(ue.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(ue.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((s,a)=>{this.realFs.access(ue.fromPortablePath(e),r,this.makeCallback(s,a))})}existsSync(e){return this.realFs.existsSync(ue.fromPortablePath(e))}async statPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.stat(ue.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.stat(ue.fromPortablePath(e),this.makeCallback(s,a))})}statSync(e,r){return r?this.realFs.statSync(ue.fromPortablePath(e),r):this.realFs.statSync(ue.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.fstat(e,r,this.makeCallback(s,a)):this.realFs.fstat(e,this.makeCallback(s,a))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.lstat(ue.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.lstat(ue.fromPortablePath(e),this.makeCallback(s,a))})}lstatSync(e,r){return r?this.realFs.lstatSync(ue.fromPortablePath(e),r):this.realFs.lstatSync(ue.fromPortablePath(e))}async fchmodPromise(e,r){return await new Promise((s,a)=>{this.realFs.fchmod(e,r,this.makeCallback(s,a))})}fchmodSync(e,r){return this.realFs.fchmodSync(e,r)}async chmodPromise(e,r){return await new Promise((s,a)=>{this.realFs.chmod(ue.fromPortablePath(e),r,this.makeCallback(s,a))})}chmodSync(e,r){return this.realFs.chmodSync(ue.fromPortablePath(e),r)}async fchownPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.fchown(e,r,s,this.makeCallback(a,n))})}fchownSync(e,r,s){return this.realFs.fchownSync(e,r,s)}async chownPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.chown(ue.fromPortablePath(e),r,s,this.makeCallback(a,n))})}chownSync(e,r,s){return this.realFs.chownSync(ue.fromPortablePath(e),r,s)}async renamePromise(e,r){return await new Promise((s,a)=>{this.realFs.rename(ue.fromPortablePath(e),ue.fromPortablePath(r),this.makeCallback(s,a))})}renameSync(e,r){return this.realFs.renameSync(ue.fromPortablePath(e),ue.fromPortablePath(r))}async copyFilePromise(e,r,s=0){return await new Promise((a,n)=>{this.realFs.copyFile(ue.fromPortablePath(e),ue.fromPortablePath(r),s,this.makeCallback(a,n))})}copyFileSync(e,r,s=0){return this.realFs.copyFileSync(ue.fromPortablePath(e),ue.fromPortablePath(r),s)}async appendFilePromise(e,r,s){return await new Promise((a,n)=>{let c=typeof e=="string"?ue.fromPortablePath(e):e;s?this.realFs.appendFile(c,r,s,this.makeCallback(a,n)):this.realFs.appendFile(c,r,this.makeCallback(a,n))})}appendFileSync(e,r,s){let a=typeof e=="string"?ue.fromPortablePath(e):e;s?this.realFs.appendFileSync(a,r,s):this.realFs.appendFileSync(a,r)}async writeFilePromise(e,r,s){return await new Promise((a,n)=>{let c=typeof e=="string"?ue.fromPortablePath(e):e;s?this.realFs.writeFile(c,r,s,this.makeCallback(a,n)):this.realFs.writeFile(c,r,this.makeCallback(a,n))})}writeFileSync(e,r,s){let a=typeof e=="string"?ue.fromPortablePath(e):e;s?this.realFs.writeFileSync(a,r,s):this.realFs.writeFileSync(a,r)}async unlinkPromise(e){return await new Promise((r,s)=>{this.realFs.unlink(ue.fromPortablePath(e),this.makeCallback(r,s))})}unlinkSync(e){return this.realFs.unlinkSync(ue.fromPortablePath(e))}async utimesPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.utimes(ue.fromPortablePath(e),r,s,this.makeCallback(a,n))})}utimesSync(e,r,s){this.realFs.utimesSync(ue.fromPortablePath(e),r,s)}async lutimesPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.lutimes(ue.fromPortablePath(e),r,s,this.makeCallback(a,n))})}lutimesSync(e,r,s){this.realFs.lutimesSync(ue.fromPortablePath(e),r,s)}async mkdirPromise(e,r){return await new Promise((s,a)=>{this.realFs.mkdir(ue.fromPortablePath(e),r,this.makeCallback(s,a))})}mkdirSync(e,r){return this.realFs.mkdirSync(ue.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.rmdir(ue.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.rmdir(ue.fromPortablePath(e),this.makeCallback(s,a))})}rmdirSync(e,r){return this.realFs.rmdirSync(ue.fromPortablePath(e),r)}async rmPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.rm(ue.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.rm(ue.fromPortablePath(e),this.makeCallback(s,a))})}rmSync(e,r){return this.realFs.rmSync(ue.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((s,a)=>{this.realFs.link(ue.fromPortablePath(e),ue.fromPortablePath(r),this.makeCallback(s,a))})}linkSync(e,r){return this.realFs.linkSync(ue.fromPortablePath(e),ue.fromPortablePath(r))}async symlinkPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.symlink(ue.fromPortablePath(e.replace(/\/+$/,"")),ue.fromPortablePath(r),s,this.makeCallback(a,n))})}symlinkSync(e,r,s){return this.realFs.symlinkSync(ue.fromPortablePath(e.replace(/\/+$/,"")),ue.fromPortablePath(r),s)}async readFilePromise(e,r){return await new Promise((s,a)=>{let n=typeof e=="string"?ue.fromPortablePath(e):e;this.realFs.readFile(n,r,this.makeCallback(s,a))})}readFileSync(e,r){let s=typeof e=="string"?ue.fromPortablePath(e):e;return this.realFs.readFileSync(s,r)}async readdirPromise(e,r){return await new Promise((s,a)=>{r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdir(ue.fromPortablePath(e),r,this.makeCallback(n=>s(n.map(j$)),a)):this.realFs.readdir(ue.fromPortablePath(e),r,this.makeCallback(n=>s(n.map(ue.toPortablePath)),a)):this.realFs.readdir(ue.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.readdir(ue.fromPortablePath(e),this.makeCallback(s,a))})}readdirSync(e,r){return r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdirSync(ue.fromPortablePath(e),r).map(j$):this.realFs.readdirSync(ue.fromPortablePath(e),r).map(ue.toPortablePath):this.realFs.readdirSync(ue.fromPortablePath(e),r):this.realFs.readdirSync(ue.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,s)=>{this.realFs.readlink(ue.fromPortablePath(e),this.makeCallback(r,s))}).then(r=>ue.toPortablePath(r))}readlinkSync(e){return ue.toPortablePath(this.realFs.readlinkSync(ue.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((s,a)=>{this.realFs.truncate(ue.fromPortablePath(e),r,this.makeCallback(s,a))})}truncateSync(e,r){return this.realFs.truncateSync(ue.fromPortablePath(e),r)}async ftruncatePromise(e,r){return await new Promise((s,a)=>{this.realFs.ftruncate(e,r,this.makeCallback(s,a))})}ftruncateSync(e,r){return this.realFs.ftruncateSync(e,r)}watch(e,r,s){return this.realFs.watch(ue.fromPortablePath(e),r,s)}watchFile(e,r,s){return this.realFs.watchFile(ue.fromPortablePath(e),r,s)}unwatchFile(e,r){return this.realFs.unwatchFile(ue.fromPortablePath(e),r)}makeCallback(e,r){return(s,a)=>{s?r(s):e(a)}}}});var Sn,G$=It(()=>{wd();Ip();tl();Sn=class extends Hs{constructor(e,{baseFs:r=new Yn}={}){super(K),this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?K.normalize(e):this.baseFs.resolve(K.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}}});var W$,jf,Y$=It(()=>{wd();Ip();tl();W$=vt.root,jf=class extends Hs{constructor(e,{baseFs:r=new Yn}={}){super(K),this.target=this.pathUtils.resolve(vt.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(vt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(W$,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(W$,this.pathUtils.relative(this.target,e))}}});var oE,V$=It(()=>{Ip();oE=class extends Hs{constructor(r,s){super(s);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var Bd,rl,n0,K$=It(()=>{Bd=ye("fs");Cd();wd();O_();ux();tl();rl=4278190080,n0=class extends Uf{constructor({baseFs:r=new Yn,filter:s=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:c=!0,maxAge:f=5e3,typeCheck:p=Bd.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:C}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=c?new Map:null,this.factoryPromise=E,this.factorySync=C,this.filter=s,this.getMountPoint=h,this.magic=a<<24,this.maxAge=f,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Ed(this),this.mountInstances)for(let[r,{childFs:s}]of this.mountInstances.entries())s.saveAndClose?.(),this.mountInstances.delete(r)}discardAndClose(){if(Ed(this),this.mountInstances)for(let[r,{childFs:s}]of this.mountInstances.entries())s.discardAndClose?.(),this.mountInstances.delete(r)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,s){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,s]),a}async openPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,s,a),async(n,{subPath:c})=>this.remapFd(n,await n.openPromise(c,s,a)))}openSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,s,a),(n,{subPath:c})=>this.remapFd(n,n.openSync(c,s,a)))}async opendirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,s),async(a,{subPath:n})=>await a.opendirPromise(n,s),{requireSubpath:!1})}opendirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,s),(a,{subPath:n})=>a.opendirSync(n,s),{requireSubpath:!1})}async readPromise(r,s,a,n,c){if((r&rl)!==this.magic)return await this.baseFs.readPromise(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw Uo("read");let[p,h]=f;return await p.readPromise(h,s,a,n,c)}readSync(r,s,a,n,c){if((r&rl)!==this.magic)return this.baseFs.readSync(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw Uo("readSync");let[p,h]=f;return p.readSync(h,s,a,n,c)}async writePromise(r,s,a,n,c){if((r&rl)!==this.magic)return typeof s=="string"?await this.baseFs.writePromise(r,s,a):await this.baseFs.writePromise(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw Uo("write");let[p,h]=f;return typeof s=="string"?await p.writePromise(h,s,a):await p.writePromise(h,s,a,n,c)}writeSync(r,s,a,n,c){if((r&rl)!==this.magic)return typeof s=="string"?this.baseFs.writeSync(r,s,a):this.baseFs.writeSync(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw Uo("writeSync");let[p,h]=f;return typeof s=="string"?p.writeSync(h,s,a):p.writeSync(h,s,a,n,c)}async closePromise(r){if((r&rl)!==this.magic)return await this.baseFs.closePromise(r);let s=this.fdMap.get(r);if(typeof s>"u")throw Uo("close");this.fdMap.delete(r);let[a,n]=s;return await a.closePromise(n)}closeSync(r){if((r&rl)!==this.magic)return this.baseFs.closeSync(r);let s=this.fdMap.get(r);if(typeof s>"u")throw Uo("closeSync");this.fdMap.delete(r);let[a,n]=s;return a.closeSync(n)}createReadStream(r,s){return r===null?this.baseFs.createReadStream(r,s):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,s),(a,{archivePath:n,subPath:c})=>{let f=a.createReadStream(c,s);return f.path=ue.fromPortablePath(this.pathUtils.join(n,c)),f})}createWriteStream(r,s){return r===null?this.baseFs.createWriteStream(r,s):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,s),(a,{subPath:n})=>a.createWriteStream(n,s))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(s,{archivePath:a,subPath:n})=>{let c=this.realPaths.get(a);return typeof c>"u"&&(c=await this.baseFs.realpathPromise(a),this.realPaths.set(a,c)),this.pathUtils.join(c,this.pathUtils.relative(vt.root,await s.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(s,{archivePath:a,subPath:n})=>{let c=this.realPaths.get(a);return typeof c>"u"&&(c=this.baseFs.realpathSync(a),this.realPaths.set(a,c)),this.pathUtils.join(c,this.pathUtils.relative(vt.root,s.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(s,{subPath:a})=>await s.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(s,{subPath:a})=>s.existsSync(a))}async accessPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,s),async(a,{subPath:n})=>await a.accessPromise(n,s))}accessSync(r,s){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,s),(a,{subPath:n})=>a.accessSync(n,s))}async statPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,s),async(a,{subPath:n})=>await a.statPromise(n,s))}statSync(r,s){return this.makeCallSync(r,()=>this.baseFs.statSync(r,s),(a,{subPath:n})=>a.statSync(n,s))}async fstatPromise(r,s){if((r&rl)!==this.magic)return this.baseFs.fstatPromise(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Uo("fstat");let[n,c]=a;return n.fstatPromise(c,s)}fstatSync(r,s){if((r&rl)!==this.magic)return this.baseFs.fstatSync(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Uo("fstatSync");let[n,c]=a;return n.fstatSync(c,s)}async lstatPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,s),async(a,{subPath:n})=>await a.lstatPromise(n,s))}lstatSync(r,s){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,s),(a,{subPath:n})=>a.lstatSync(n,s))}async fchmodPromise(r,s){if((r&rl)!==this.magic)return this.baseFs.fchmodPromise(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Uo("fchmod");let[n,c]=a;return n.fchmodPromise(c,s)}fchmodSync(r,s){if((r&rl)!==this.magic)return this.baseFs.fchmodSync(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Uo("fchmodSync");let[n,c]=a;return n.fchmodSync(c,s)}async chmodPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,s),async(a,{subPath:n})=>await a.chmodPromise(n,s))}chmodSync(r,s){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,s),(a,{subPath:n})=>a.chmodSync(n,s))}async fchownPromise(r,s,a){if((r&rl)!==this.magic)return this.baseFs.fchownPromise(r,s,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Uo("fchown");let[c,f]=n;return c.fchownPromise(f,s,a)}fchownSync(r,s,a){if((r&rl)!==this.magic)return this.baseFs.fchownSync(r,s,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Uo("fchownSync");let[c,f]=n;return c.fchownSync(f,s,a)}async chownPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,s,a),async(n,{subPath:c})=>await n.chownPromise(c,s,a))}chownSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,s,a),(n,{subPath:c})=>n.chownSync(c,s,a))}async renamePromise(r,s){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(s,async()=>await this.baseFs.renamePromise(r,s),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(s,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(c,{subPath:f})=>{if(a!==c)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,f)}))}renameSync(r,s){return this.makeCallSync(r,()=>this.makeCallSync(s,()=>this.baseFs.renameSync(r,s),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(s,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(c,{subPath:f})=>{if(a!==c)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,f)}))}async copyFilePromise(r,s,a=0){let n=async(c,f,p,h)=>{if(a&Bd.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${f}' -> ${h}'`),{code:"EXDEV"});if(a&Bd.constants.COPYFILE_EXCL&&await this.existsPromise(f))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${f}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await c.readFilePromise(f)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${f}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(s,async()=>await this.baseFs.copyFilePromise(r,s,a),async(c,{subPath:f})=>await n(this.baseFs,r,c,f)),async(c,{subPath:f})=>await this.makeCallPromise(s,async()=>await n(c,f,this.baseFs,s),async(p,{subPath:h})=>c!==p?await n(c,f,p,h):await c.copyFilePromise(f,h,a)))}copyFileSync(r,s,a=0){let n=(c,f,p,h)=>{if(a&Bd.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${f}' -> ${h}'`),{code:"EXDEV"});if(a&Bd.constants.COPYFILE_EXCL&&this.existsSync(f))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${f}' -> '${h}'`),{code:"EEXIST"});let E;try{E=c.readFileSync(f)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${f}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(s,()=>this.baseFs.copyFileSync(r,s,a),(c,{subPath:f})=>n(this.baseFs,r,c,f)),(c,{subPath:f})=>this.makeCallSync(s,()=>n(c,f,this.baseFs,s),(p,{subPath:h})=>c!==p?n(c,f,p,h):c.copyFileSync(f,h,a)))}async appendFilePromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,s,a),async(n,{subPath:c})=>await n.appendFilePromise(c,s,a))}appendFileSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,s,a),(n,{subPath:c})=>n.appendFileSync(c,s,a))}async writeFilePromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,s,a),async(n,{subPath:c})=>await n.writeFilePromise(c,s,a))}writeFileSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,s,a),(n,{subPath:c})=>n.writeFileSync(c,s,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(s,{subPath:a})=>await s.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(s,{subPath:a})=>s.unlinkSync(a))}async utimesPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,s,a),async(n,{subPath:c})=>await n.utimesPromise(c,s,a))}utimesSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,s,a),(n,{subPath:c})=>n.utimesSync(c,s,a))}async lutimesPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,s,a),async(n,{subPath:c})=>await n.lutimesPromise(c,s,a))}lutimesSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,s,a),(n,{subPath:c})=>n.lutimesSync(c,s,a))}async mkdirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,s),async(a,{subPath:n})=>await a.mkdirPromise(n,s))}mkdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,s),(a,{subPath:n})=>a.mkdirSync(n,s))}async rmdirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,s),async(a,{subPath:n})=>await a.rmdirPromise(n,s))}rmdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,s),(a,{subPath:n})=>a.rmdirSync(n,s))}async rmPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.rmPromise(r,s),async(a,{subPath:n})=>await a.rmPromise(n,s))}rmSync(r,s){return this.makeCallSync(r,()=>this.baseFs.rmSync(r,s),(a,{subPath:n})=>a.rmSync(n,s))}async linkPromise(r,s){return await this.makeCallPromise(s,async()=>await this.baseFs.linkPromise(r,s),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,s){return this.makeCallSync(s,()=>this.baseFs.linkSync(r,s),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,s,a){return await this.makeCallPromise(s,async()=>await this.baseFs.symlinkPromise(r,s,a),async(n,{subPath:c})=>await n.symlinkPromise(r,c))}symlinkSync(r,s,a){return this.makeCallSync(s,()=>this.baseFs.symlinkSync(r,s,a),(n,{subPath:c})=>n.symlinkSync(r,c))}async readFilePromise(r,s){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,s),async(a,{subPath:n})=>await a.readFilePromise(n,s))}readFileSync(r,s){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,s),(a,{subPath:n})=>a.readFileSync(n,s))}async readdirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,s),async(a,{subPath:n})=>await a.readdirPromise(n,s),{requireSubpath:!1})}readdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,s),(a,{subPath:n})=>a.readdirSync(n,s),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(s,{subPath:a})=>await s.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(s,{subPath:a})=>s.readlinkSync(a))}async truncatePromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,s),async(a,{subPath:n})=>await a.truncatePromise(n,s))}truncateSync(r,s){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,s),(a,{subPath:n})=>a.truncateSync(n,s))}async ftruncatePromise(r,s){if((r&rl)!==this.magic)return this.baseFs.ftruncatePromise(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Uo("ftruncate");let[n,c]=a;return n.ftruncatePromise(c,s)}ftruncateSync(r,s){if((r&rl)!==this.magic)return this.baseFs.ftruncateSync(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Uo("ftruncateSync");let[n,c]=a;return n.ftruncateSync(c,s)}watch(r,s,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,s,a),(n,{subPath:c})=>n.watch(c,s,a))}watchFile(r,s,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,s,a),()=>sE(this,r,s,a))}unwatchFile(r,s){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,s),()=>yd(this,r,s))}async makeCallPromise(r,s,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await s();let c=this.resolve(r),f=this.findMount(c);return f?n&&f.subPath==="/"?await s():await this.getMountPromise(f.archivePath,async p=>await a(p,f)):await s()}makeCallSync(r,s,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return s();let c=this.resolve(r),f=this.findMount(c);return!f||n&&f.subPath==="/"?s():this.getMountSync(f.archivePath,p=>a(p,f))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let s="";for(;;){let a=r.substring(s.length),n=this.getMountPoint(a,s);if(!n)return null;if(s=this.pathUtils.join(s,n),!this.isMount.has(s)){if(this.notMount.has(s))continue;try{if(this.typeCheck!==null&&(this.baseFs.statSync(s).mode&Bd.constants.S_IFMT)!==this.typeCheck){this.notMount.add(s);continue}}catch{return null}this.isMount.add(s)}return{archivePath:s,subPath:this.pathUtils.join(vt.root,r.substring(s.length))}}}limitOpenFiles(r){if(this.mountInstances===null)return;let s=Date.now(),a=s+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[c,{childFs:f,expiresAt:p,refCount:h}]of this.mountInstances.entries())if(!(h!==0||f.hasOpenFileHandles?.())){if(s>=p){f.saveAndClose?.(),this.mountInstances.delete(c),n-=1;continue}else if(r===null||n<=0){a=p;break}f.saveAndClose?.(),this.mountInstances.delete(c),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-s).unref())}async getMountPromise(r,s){if(this.mountInstances){let a=this.mountInstances.get(r);if(!a){let n=await this.factoryPromise(this.baseFs,r);a=this.mountInstances.get(r),a||(a={childFs:n(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,a.refCount+=1;try{return await s(a.childFs)}finally{a.refCount-=1}}else{let a=(await this.factoryPromise(this.baseFs,r))();try{return await s(a)}finally{a.saveAndClose?.()}}}getMountSync(r,s){if(this.mountInstances){let a=this.mountInstances.get(r);return a||(a={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,s(a.childFs)}else{let a=this.factorySync(this.baseFs,r);try{return s(a)}finally{a.saveAndClose?.()}}}}});var er,mx,J$=It(()=>{Cd();tl();er=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),mx=class t extends Ep{static{this.instance=new t}constructor(){super(K)}getExtractHint(){throw er()}getRealPath(){throw er()}resolve(){throw er()}async openPromise(){throw er()}openSync(){throw er()}async opendirPromise(){throw er()}opendirSync(){throw er()}async readPromise(){throw er()}readSync(){throw er()}async writePromise(){throw er()}writeSync(){throw er()}async closePromise(){throw er()}closeSync(){throw er()}createWriteStream(){throw er()}createReadStream(){throw er()}async realpathPromise(){throw er()}realpathSync(){throw er()}async readdirPromise(){throw er()}readdirSync(){throw er()}async existsPromise(e){throw er()}existsSync(e){throw er()}async accessPromise(){throw er()}accessSync(){throw er()}async statPromise(){throw er()}statSync(){throw er()}async fstatPromise(e){throw er()}fstatSync(e){throw er()}async lstatPromise(e){throw er()}lstatSync(e){throw er()}async fchmodPromise(){throw er()}fchmodSync(){throw er()}async chmodPromise(){throw er()}chmodSync(){throw er()}async fchownPromise(){throw er()}fchownSync(){throw er()}async chownPromise(){throw er()}chownSync(){throw er()}async mkdirPromise(){throw er()}mkdirSync(){throw er()}async rmdirPromise(){throw er()}rmdirSync(){throw er()}async rmPromise(){throw er()}rmSync(){throw er()}async linkPromise(){throw er()}linkSync(){throw er()}async symlinkPromise(){throw er()}symlinkSync(){throw er()}async renamePromise(){throw er()}renameSync(){throw er()}async copyFilePromise(){throw er()}copyFileSync(){throw er()}async appendFilePromise(){throw er()}appendFileSync(){throw er()}async writeFilePromise(){throw er()}writeFileSync(){throw er()}async unlinkPromise(){throw er()}unlinkSync(){throw er()}async utimesPromise(){throw er()}utimesSync(){throw er()}async lutimesPromise(){throw er()}lutimesSync(){throw er()}async readFilePromise(){throw er()}readFileSync(){throw er()}async readlinkPromise(){throw er()}readlinkSync(){throw er()}async truncatePromise(){throw er()}truncateSync(){throw er()}async ftruncatePromise(e,r){throw er()}ftruncateSync(e,r){throw er()}watch(){throw er()}watchFile(){throw er()}unwatchFile(){throw er()}}});var i0,z$=It(()=>{Ip();tl();i0=class extends Hs{constructor(e){super(ue),this.baseFs=e}mapFromBase(e){return ue.fromPortablePath(e)}mapToBase(e){return ue.toPortablePath(e)}}});var H7e,L_,j7e,fo,Z$=It(()=>{wd();Ip();tl();H7e=/^[0-9]+$/,L_=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,j7e=/^([^/]+-)?[a-f0-9]+$/,fo=class t extends Hs{static makeVirtualPath(e,r,s){if(K.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!K.basename(r).match(j7e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let n=K.relative(K.dirname(e),s).split("/"),c=0;for(;c{M_=et(ye("buffer")),X$=ye("url"),$$=ye("util");Ip();tl();yx=class extends Hs{constructor(e){super(ue),this.baseFs=e}mapFromBase(e){return e}mapToBase(e){if(typeof e=="string")return e;if(e instanceof URL)return(0,X$.fileURLToPath)(e);if(Buffer.isBuffer(e)){let r=e.toString();if(!q7e(e,r))throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return r}throw new Error(`Unsupported path type: ${(0,$$.inspect)(e)}`)}}});var see,Ho,Cp,s0,Ex,Ix,aE,Nu,Ou,tee,ree,nee,iee,H2,oee=It(()=>{see=ye("readline"),Ho=Symbol("kBaseFs"),Cp=Symbol("kFd"),s0=Symbol("kClosePromise"),Ex=Symbol("kCloseResolve"),Ix=Symbol("kCloseReject"),aE=Symbol("kRefs"),Nu=Symbol("kRef"),Ou=Symbol("kUnref"),H2=class{constructor(e,r){this[iee]=1;this[nee]=void 0;this[ree]=void 0;this[tee]=void 0;this[Ho]=r,this[Cp]=e}get fd(){return this[Cp]}async appendFile(e,r){try{this[Nu](this.appendFile);let s=(typeof r=="string"?r:r?.encoding)??void 0;return await this[Ho].appendFilePromise(this.fd,e,s?{encoding:s}:void 0)}finally{this[Ou]()}}async chown(e,r){try{return this[Nu](this.chown),await this[Ho].fchownPromise(this.fd,e,r)}finally{this[Ou]()}}async chmod(e){try{return this[Nu](this.chmod),await this[Ho].fchmodPromise(this.fd,e)}finally{this[Ou]()}}createReadStream(e){return this[Ho].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Ho].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,s,a){try{this[Nu](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??={},n=e.buffer??Buffer.alloc(16384),r=e.offset||0,s=e.length??n.byteLength,a=e.position??null),r??=0,s??=0,s===0?{bytesRead:s,buffer:n}:{bytesRead:await this[Ho].readPromise(this.fd,n,r,s,a),buffer:n}}finally{this[Ou]()}}async readFile(e){try{this[Nu](this.readFile);let r=(typeof e=="string"?e:e?.encoding)??void 0;return await this[Ho].readFilePromise(this.fd,r)}finally{this[Ou]()}}readLines(e){return(0,see.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Nu](this.stat),await this[Ho].fstatPromise(this.fd,e)}finally{this[Ou]()}}async truncate(e){try{return this[Nu](this.truncate),await this[Ho].ftruncatePromise(this.fd,e)}finally{this[Ou]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[Nu](this.writeFile);let s=(typeof r=="string"?r:r?.encoding)??void 0;await this[Ho].writeFilePromise(this.fd,e,s)}finally{this[Ou]()}}async write(...e){try{if(this[Nu](this.write),ArrayBuffer.isView(e[0])){let[r,s,a,n]=e;return{bytesWritten:await this[Ho].writePromise(this.fd,r,s??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,s,a]=e;return{bytesWritten:await this[Ho].writePromise(this.fd,r,s,a),buffer:r}}}finally{this[Ou]()}}async writev(e,r){try{this[Nu](this.writev);let s=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);s+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);s+=n.bytesWritten}return{buffers:e,bytesWritten:s}}finally{this[Ou]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[Cp]===-1)return Promise.resolve();if(this[s0])return this[s0];if(this[aE]--,this[aE]===0){let e=this[Cp];this[Cp]=-1,this[s0]=this[Ho].closePromise(e).finally(()=>{this[s0]=void 0})}else this[s0]=new Promise((e,r)=>{this[Ex]=e,this[Ix]=r}).finally(()=>{this[s0]=void 0,this[Ix]=void 0,this[Ex]=void 0});return this[s0]}[(Ho,Cp,iee=aE,nee=s0,ree=Ex,tee=Ix,Nu)](e){if(this[Cp]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[aE]++}[Ou](){if(this[aE]--,this[aE]===0){let e=this[Cp];this[Cp]=-1,this[Ho].closePromise(e).then(this[Ex],this[Ix])}}}});function j2(t,e){e=new yx(e);let r=(s,a,n)=>{let c=s[a];s[a]=n,typeof c?.[lE.promisify.custom]<"u"&&(n[lE.promisify.custom]=c[lE.promisify.custom])};{r(t,"exists",(s,...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(s).then(f=>{c(f)},()=>{c(!1)})})}),r(t,"read",(...s)=>{let[a,n,c,f,p,h]=s;if(s.length<=3){let E={};s.length<3?h=s[1]:(E=s[1],h=s[2]),{buffer:n=Buffer.alloc(16384),offset:c=0,length:f=n.byteLength,position:p}=E}if(c==null&&(c=0),f|=0,f===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,c,f,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let s of aee){let a=s.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[s];if(typeof n>"u")continue;r(t,a,(...f)=>{let h=typeof f[f.length-1]=="function"?f.pop():()=>{};process.nextTick(()=>{n.apply(e,f).then(E=>{h(null,E)},E=>{h(E)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",s=>{try{return e.existsSync(s)}catch{return!1}}),r(t,"readSync",(...s)=>{let[a,n,c,f,p]=s;return s.length<=3&&({offset:c=0,length:f=n.byteLength,position:p}=s[2]||{}),c==null&&(c=0),f|=0,f===0?0:(p==null&&(p=-1),e.readSync(a,n,c,f,p))});for(let s of G7e){let a=s;if(typeof t[a]>"u")continue;let n=e[s];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let s=t.promises;for(let a of aee){let n=a.replace(/Promise$/,"");if(typeof s[n]>"u")continue;let c=e[a];typeof c>"u"||a!=="open"&&r(s,n,(f,...p)=>f instanceof H2?f[n].apply(f,p):c.call(e,f,...p))}r(s,"open",async(...a)=>{let n=await e.openPromise(...a);return new H2(n,e)})}t.read[lE.promisify.custom]=async(s,a,...n)=>({bytesRead:await e.readPromise(s,a,...n),buffer:a}),t.write[lE.promisify.custom]=async(s,a,...n)=>({bytesWritten:await e.writePromise(s,a,...n),buffer:a})}function Cx(t,e){let r=Object.create(t);return j2(r,e),r}var lE,G7e,aee,lee=It(()=>{lE=ye("util");eee();oee();G7e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","rmSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),aee=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","rmPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function cee(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function uee(){if(__)return __;let t=ue.toPortablePath(fee.default.tmpdir()),e=le.realpathSync(t);return process.once("exit",()=>{le.rmtempSync()}),__={tmpdir:t,realTmpdir:e}}var fee,Lu,__,le,Aee=It(()=>{fee=et(ye("os"));wd();tl();Lu=new Set,__=null;le=Object.assign(new Yn,{detachTemp(t){Lu.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=uee();for(;;){let s=cee("xfs-");try{this.mkdirSync(K.join(e,s))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=K.join(r,s);if(Lu.add(a),typeof t>"u")return a;try{return t(a)}finally{if(Lu.has(a)){Lu.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=uee();for(;;){let s=cee("xfs-");try{await this.mkdirPromise(K.join(e,s))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=K.join(r,s);if(Lu.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(Lu.has(a)){Lu.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Lu.values()).map(async t=>{try{await le.removePromise(t,{maxRetries:0}),Lu.delete(t)}catch{}}))},rmtempSync(){for(let t of Lu)try{le.removeSync(t),Lu.delete(t)}catch{}}})});var q2={};Vt(q2,{AliasFS:()=>Hf,BasePortableFakeFS:()=>Uf,CustomDir:()=>U2,CwdFS:()=>Sn,FakeFS:()=>Ep,Filename:()=>Er,JailFS:()=>jf,LazyFS:()=>oE,MountFS:()=>n0,NoFS:()=>mx,NodeFS:()=>Yn,PortablePath:()=>vt,PosixFS:()=>i0,ProxiedFS:()=>Hs,VirtualFS:()=>fo,constants:()=>ui,errors:()=>or,extendFs:()=>Cx,normalizeLineEndings:()=>Id,npath:()=>ue,opendir:()=>hx,patchFs:()=>j2,ppath:()=>K,setupCopyIndex:()=>px,statUtils:()=>el,unwatchAllFiles:()=>Ed,unwatchFile:()=>yd,watchFile:()=>sE,xfs:()=>le});var bt=It(()=>{x$();ux();T_();N_();N$();O_();Cd();tl();tl();H$();Cd();G$();Y$();V$();K$();J$();wd();z$();Ip();Z$();lee();Aee()});var mee=L((A5t,dee)=>{dee.exports=gee;gee.sync=Y7e;var pee=ye("fs");function W7e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var s=0;s{Cee.exports=Eee;Eee.sync=V7e;var yee=ye("fs");function Eee(t,e,r){yee.stat(t,function(s,a){r(s,s?!1:Iee(a,e))})}function V7e(t,e){return Iee(yee.statSync(t),e)}function Iee(t,e){return t.isFile()&&K7e(t,e)}function K7e(t,e){var r=t.mode,s=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),c=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),f=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=f|p,C=r&h||r&p&&a===c||r&f&&s===n||r&E&&n===0;return C}});var vee=L((g5t,Bee)=>{var h5t=ye("fs"),wx;process.platform==="win32"||global.TESTING_WINDOWS?wx=mee():wx=wee();Bee.exports=U_;U_.sync=J7e;function U_(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(s,a){U_(t,e||{},function(n,c){n?a(n):s(c)})})}wx(t,e||{},function(s,a){s&&(s.code==="EACCES"||e&&e.ignoreErrors)&&(s=null,a=!1),r(s,a)})}function J7e(t,e){try{return wx.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Qee=L((d5t,kee)=>{var cE=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",See=ye("path"),z7e=cE?";":":",Dee=vee(),bee=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),Pee=(t,e)=>{let r=e.colon||z7e,s=t.match(/\//)||cE&&t.match(/\\/)?[""]:[...cE?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=cE?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=cE?a.split(r):[""];return cE&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:s,pathExt:n,pathExtExe:a}},xee=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:s,pathExt:a,pathExtExe:n}=Pee(t,e),c=[],f=h=>new Promise((E,C)=>{if(h===s.length)return e.all&&c.length?E(c):C(bee(t));let S=s[h],P=/^".*"$/.test(S)?S.slice(1,-1):S,I=See.join(P,t),R=!P&&/^\.[\\\/]/.test(t)?t.slice(0,2)+I:I;E(p(R,h,0))}),p=(h,E,C)=>new Promise((S,P)=>{if(C===a.length)return S(f(E+1));let I=a[C];Dee(h+I,{pathExt:n},(R,N)=>{if(!R&&N)if(e.all)c.push(h+I);else return S(h+I);return S(p(h,E,C+1))})});return r?f(0).then(h=>r(null,h),r):f(0)},Z7e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:s,pathExtExe:a}=Pee(t,e),n=[];for(let c=0;c{"use strict";var Tee=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"};H_.exports=Tee;H_.exports.default=Tee});var Lee=L((y5t,Oee)=>{"use strict";var Fee=ye("path"),X7e=Qee(),$7e=Ree();function Nee(t,e){let r=t.options.env||process.env,s=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let c;try{c=X7e.sync(t.command,{path:r[$7e({env:r})],pathExt:e?Fee.delimiter:void 0})}catch{}finally{n&&process.chdir(s)}return c&&(c=Fee.resolve(a?t.options.cwd:"",c)),c}function eKe(t){return Nee(t)||Nee(t,!0)}Oee.exports=eKe});var Mee=L((E5t,q_)=>{"use strict";var j_=/([()\][%!^"`<>&|;, *?])/g;function tKe(t){return t=t.replace(j_,"^$1"),t}function rKe(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(j_,"^$1"),e&&(t=t.replace(j_,"^$1")),t}q_.exports.command=tKe;q_.exports.argument=rKe});var Uee=L((I5t,_ee)=>{"use strict";_ee.exports=/^#!(.*)/});var jee=L((C5t,Hee)=>{"use strict";var nKe=Uee();Hee.exports=(t="")=>{let e=t.match(nKe);if(!e)return null;let[r,s]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?s:s?`${a} ${s}`:a}});var Gee=L((w5t,qee)=>{"use strict";var G_=ye("fs"),iKe=jee();function sKe(t){let r=Buffer.alloc(150),s;try{s=G_.openSync(t,"r"),G_.readSync(s,r,0,150,0),G_.closeSync(s)}catch{}return iKe(r.toString())}qee.exports=sKe});var Kee=L((B5t,Vee)=>{"use strict";var oKe=ye("path"),Wee=Lee(),Yee=Mee(),aKe=Gee(),lKe=process.platform==="win32",cKe=/\.(?:com|exe)$/i,uKe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function fKe(t){t.file=Wee(t);let e=t.file&&aKe(t.file);return e?(t.args.unshift(t.file),t.command=e,Wee(t)):t.file}function AKe(t){if(!lKe)return t;let e=fKe(t),r=!cKe.test(e);if(t.options.forceShell||r){let s=uKe.test(e);t.command=oKe.normalize(t.command),t.command=Yee.command(t.command),t.args=t.args.map(n=>Yee.argument(n,s));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function pKe(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let s={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?s:AKe(s)}Vee.exports=pKe});var Zee=L((v5t,zee)=>{"use strict";var W_=process.platform==="win32";function Y_(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function hKe(t,e){if(!W_)return;let r=t.emit;t.emit=function(s,a){if(s==="exit"){let n=Jee(a,e);if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function Jee(t,e){return W_&&t===1&&!e.file?Y_(e.original,"spawn"):null}function gKe(t,e){return W_&&t===1&&!e.file?Y_(e.original,"spawnSync"):null}zee.exports={hookChildProcess:hKe,verifyENOENT:Jee,verifyENOENTSync:gKe,notFoundError:Y_}});var J_=L((S5t,uE)=>{"use strict";var Xee=ye("child_process"),V_=Kee(),K_=Zee();function $ee(t,e,r){let s=V_(t,e,r),a=Xee.spawn(s.command,s.args,s.options);return K_.hookChildProcess(a,s),a}function dKe(t,e,r){let s=V_(t,e,r),a=Xee.spawnSync(s.command,s.args,s.options);return a.error=a.error||K_.verifyENOENTSync(a.status,s),a}uE.exports=$ee;uE.exports.spawn=$ee;uE.exports.sync=dKe;uE.exports._parse=V_;uE.exports._enoent=K_});var tte=L((D5t,ete)=>{"use strict";function mKe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function vd(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,vd)}mKe(vd,Error);vd.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",C;for(C=0;C0){for(C=1,S=1;C>",b=ur(">>",!1),y=">&",F=ur(">&",!1),z=">",Z=ur(">",!1),$="<<<",oe=ur("<<<",!1),xe="<&",Te=ur("<&",!1),lt="<",Et=ur("<",!1),qt=function(O){return{type:"argument",segments:[].concat(...O)}},ir=function(O){return O},Pt="$'",gn=ur("$'",!1),Pr="'",Ir=ur("'",!1),Nr=function(O){return[{type:"text",text:O}]},nn='""',oi=ur('""',!1),wo=function(){return{type:"text",text:""}},rs='"',eo=ur('"',!1),Bo=function(O){return O},Hi=function(O){return{type:"arithmetic",arithmetic:O,quoted:!0}},to=function(O){return{type:"shell",shell:O,quoted:!0}},vo=function(O){return{type:"variable",...O,quoted:!0}},RA=function(O){return{type:"text",text:O}},pf=function(O){return{type:"arithmetic",arithmetic:O,quoted:!1}},Eh=function(O){return{type:"shell",shell:O,quoted:!1}},Ih=function(O){return{type:"variable",...O,quoted:!1}},ro=function(O){return{type:"glob",pattern:O}},jn=/^[^']/,Rs=zi(["'"],!0,!1),no=function(O){return O.join("")},lu=/^[^$"]/,cu=zi(["$",'"'],!0,!1),uu=`\\ +`,FA=ur(`\\ +`,!1),NA=function(){return""},aa="\\",la=ur("\\",!1),OA=/^[\\$"`]/,gr=zi(["\\","$",'"',"`"],!1,!1),So=function(O){return O},Me="\\a",fu=ur("\\a",!1),Cr=function(){return"a"},hf="\\b",LA=ur("\\b",!1),MA=function(){return"\b"},Au=/^[Ee]/,pu=zi(["E","e"],!1,!1),ac=function(){return"\x1B"},ve="\\f",Nt=ur("\\f",!1),lc=function(){return"\f"},Ni="\\n",io=ur("\\n",!1),Rt=function(){return` +`},xn="\\r",ca=ur("\\r",!1),ji=function(){return"\r"},Oi="\\t",Oa=ur("\\t",!1),dn=function(){return" "},Jn="\\v",hu=ur("\\v",!1),Ch=function(){return"\v"},La=/^[\\'"?]/,Ma=zi(["\\","'",'"',"?"],!1,!1),Ua=function(O){return String.fromCharCode(parseInt(O,16))},Xe="\\x",Ha=ur("\\x",!1),gf="\\u",cc=ur("\\u",!1),wn="\\U",ua=ur("\\U",!1),_A=function(O){return String.fromCodePoint(parseInt(O,16))},UA=/^[0-7]/,fa=zi([["0","7"]],!1,!1),vl=/^[0-9a-fA-f]/,Mt=zi([["0","9"],["a","f"],["A","f"]],!1,!1),kn=Ef(),Aa="{}",ja=ur("{}",!1),ns=function(){return"{}"},uc="-",gu=ur("-",!1),fc="+",qa=ur("+",!1),Li=".",Cs=ur(".",!1),Sl=function(O,J,re){return{type:"number",value:(O==="-"?-1:1)*parseFloat(J.join("")+"."+re.join(""))}},df=function(O,J){return{type:"number",value:(O==="-"?-1:1)*parseInt(J.join(""))}},Ac=function(O){return{type:"variable",...O}},wi=function(O){return{type:"variable",name:O}},Qn=function(O){return O},pc="*",Je=ur("*",!1),st="/",St=ur("/",!1),lr=function(O,J,re){return{type:J==="*"?"multiplication":"division",right:re}},ee=function(O,J){return J.reduce((re,de)=>({left:re,...de}),O)},Ie=function(O,J,re){return{type:J==="+"?"addition":"subtraction",right:re}},Oe="$((",ht=ur("$((",!1),mt="))",Dt=ur("))",!1),tr=function(O){return O},fn="$(",ai=ur("$(",!1),qi=function(O){return O},Tn="${",Ga=ur("${",!1),my=":-",t2=ur(":-",!1),Do=function(O,J){return{name:O,defaultValue:J}},yy=":-}",wh=ur(":-}",!1),r2=function(O){return{name:O,defaultValue:[]}},bo=":+",Bh=ur(":+",!1),vh=function(O,J){return{name:O,alternativeValue:J}},du=":+}",Sh=ur(":+}",!1),Ng=function(O){return{name:O,alternativeValue:[]}},Og=function(O){return{name:O}},Lg="$",Ey=ur("$",!1),mf=function(O){return e.isGlobPattern(O)},Po=function(O){return O},Dl=/^[a-zA-Z0-9_]/,Dh=zi([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Mg=function(){return By()},bl=/^[$@*?#a-zA-Z0-9_\-]/,Pl=zi(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Iy=/^[()}<>$|&; \t"']/,HA=zi(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),Cy=/^[<>&; \t"']/,wy=zi(["<",">","&",";"," "," ",'"',"'"],!1,!1),jA=/^[ \t]/,qA=zi([" "," "],!1,!1),Y=0,xt=0,GA=[{line:1,column:1}],xo=0,yf=[],dt=0,mu;if("startRule"in e){if(!(e.startRule in s))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=s[e.startRule]}function By(){return t.substring(xt,Y)}function _g(){return If(xt,Y)}function n2(O,J){throw J=J!==void 0?J:If(xt,Y),WA([Ug(O)],t.substring(xt,Y),J)}function bh(O,J){throw J=J!==void 0?J:If(xt,Y),gi(O,J)}function ur(O,J){return{type:"literal",text:O,ignoreCase:J}}function zi(O,J,re){return{type:"class",parts:O,inverted:J,ignoreCase:re}}function Ef(){return{type:"any"}}function Wa(){return{type:"end"}}function Ug(O){return{type:"other",description:O}}function yu(O){var J=GA[O],re;if(J)return J;for(re=O-1;!GA[re];)re--;for(J=GA[re],J={line:J.line,column:J.column};rexo&&(xo=Y,yf=[]),yf.push(O))}function gi(O,J){return new vd(O,null,null,J)}function WA(O,J,re){return new vd(vd.buildMessage(O,J),O,J,re)}function Ya(){var O,J,re;for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();return J!==r?(re=pa(),re===r&&(re=null),re!==r?(xt=O,J=n(re),O=J):(Y=O,O=r)):(Y=O,O=r),O}function pa(){var O,J,re,de,Ke;if(O=Y,J=Ph(),J!==r){for(re=[],de=kt();de!==r;)re.push(de),de=kt();re!==r?(de=Hg(),de!==r?(Ke=Va(),Ke===r&&(Ke=null),Ke!==r?(xt=O,J=c(J,de,Ke),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r)}else Y=O,O=r;if(O===r)if(O=Y,J=Ph(),J!==r){for(re=[],de=kt();de!==r;)re.push(de),de=kt();re!==r?(de=Hg(),de===r&&(de=null),de!==r?(xt=O,J=f(J,de),O=J):(Y=O,O=r)):(Y=O,O=r)}else Y=O,O=r;return O}function Va(){var O,J,re,de,Ke;for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();if(J!==r)if(re=pa(),re!==r){for(de=[],Ke=kt();Ke!==r;)de.push(Ke),Ke=kt();de!==r?(xt=O,J=p(re),O=J):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r;return O}function Hg(){var O;return t.charCodeAt(Y)===59?(O=h,Y++):(O=r,dt===0&&wt(E)),O===r&&(t.charCodeAt(Y)===38?(O=C,Y++):(O=r,dt===0&&wt(S))),O}function Ph(){var O,J,re;return O=Y,J=YA(),J!==r?(re=jg(),re===r&&(re=null),re!==r?(xt=O,J=P(J,re),O=J):(Y=O,O=r)):(Y=O,O=r),O}function jg(){var O,J,re,de,Ke,ft,dr;for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();if(J!==r)if(re=vy(),re!==r){for(de=[],Ke=kt();Ke!==r;)de.push(Ke),Ke=kt();if(de!==r)if(Ke=Ph(),Ke!==r){for(ft=[],dr=kt();dr!==r;)ft.push(dr),dr=kt();ft!==r?(xt=O,J=I(re,Ke),O=J):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r;return O}function vy(){var O;return t.substr(Y,2)===R?(O=R,Y+=2):(O=r,dt===0&&wt(N)),O===r&&(t.substr(Y,2)===U?(O=U,Y+=2):(O=r,dt===0&&wt(W))),O}function YA(){var O,J,re;return O=Y,J=Cf(),J!==r?(re=qg(),re===r&&(re=null),re!==r?(xt=O,J=te(J,re),O=J):(Y=O,O=r)):(Y=O,O=r),O}function qg(){var O,J,re,de,Ke,ft,dr;for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();if(J!==r)if(re=Eu(),re!==r){for(de=[],Ke=kt();Ke!==r;)de.push(Ke),Ke=kt();if(de!==r)if(Ke=YA(),Ke!==r){for(ft=[],dr=kt();dr!==r;)ft.push(dr),dr=kt();ft!==r?(xt=O,J=ie(re,Ke),O=J):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r;return O}function Eu(){var O;return t.substr(Y,2)===Ae?(O=Ae,Y+=2):(O=r,dt===0&&wt(ce)),O===r&&(t.charCodeAt(Y)===124?(O=me,Y++):(O=r,dt===0&&wt(pe))),O}function Iu(){var O,J,re,de,Ke,ft;if(O=Y,J=Qh(),J!==r)if(t.charCodeAt(Y)===61?(re=Be,Y++):(re=r,dt===0&&wt(Ce)),re!==r)if(de=VA(),de!==r){for(Ke=[],ft=kt();ft!==r;)Ke.push(ft),ft=kt();Ke!==r?(xt=O,J=g(J,de),O=J):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r;else Y=O,O=r;if(O===r)if(O=Y,J=Qh(),J!==r)if(t.charCodeAt(Y)===61?(re=Be,Y++):(re=r,dt===0&&wt(Ce)),re!==r){for(de=[],Ke=kt();Ke!==r;)de.push(Ke),Ke=kt();de!==r?(xt=O,J=we(J),O=J):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r;return O}function Cf(){var O,J,re,de,Ke,ft,dr,Br,_n,di,ws;for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();if(J!==r)if(t.charCodeAt(Y)===40?(re=Ee,Y++):(re=r,dt===0&&wt(fe)),re!==r){for(de=[],Ke=kt();Ke!==r;)de.push(Ke),Ke=kt();if(de!==r)if(Ke=pa(),Ke!==r){for(ft=[],dr=kt();dr!==r;)ft.push(dr),dr=kt();if(ft!==r)if(t.charCodeAt(Y)===41?(dr=se,Y++):(dr=r,dt===0&&wt(X)),dr!==r){for(Br=[],_n=kt();_n!==r;)Br.push(_n),_n=kt();if(Br!==r){for(_n=[],di=qn();di!==r;)_n.push(di),di=qn();if(_n!==r){for(di=[],ws=kt();ws!==r;)di.push(ws),ws=kt();di!==r?(xt=O,J=De(Ke,_n),O=J):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r;if(O===r){for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();if(J!==r)if(t.charCodeAt(Y)===123?(re=Re,Y++):(re=r,dt===0&&wt(gt)),re!==r){for(de=[],Ke=kt();Ke!==r;)de.push(Ke),Ke=kt();if(de!==r)if(Ke=pa(),Ke!==r){for(ft=[],dr=kt();dr!==r;)ft.push(dr),dr=kt();if(ft!==r)if(t.charCodeAt(Y)===125?(dr=j,Y++):(dr=r,dt===0&&wt(rt)),dr!==r){for(Br=[],_n=kt();_n!==r;)Br.push(_n),_n=kt();if(Br!==r){for(_n=[],di=qn();di!==r;)_n.push(di),di=qn();if(_n!==r){for(di=[],ws=kt();ws!==r;)di.push(ws),ws=kt();di!==r?(xt=O,J=Fe(Ke,_n),O=J):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r;if(O===r){for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();if(J!==r){for(re=[],de=Iu();de!==r;)re.push(de),de=Iu();if(re!==r){for(de=[],Ke=kt();Ke!==r;)de.push(Ke),Ke=kt();if(de!==r){if(Ke=[],ft=Cu(),ft!==r)for(;ft!==r;)Ke.push(ft),ft=Cu();else Ke=r;if(Ke!==r){for(ft=[],dr=kt();dr!==r;)ft.push(dr),dr=kt();ft!==r?(xt=O,J=Ne(re,Ke),O=J):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r}else Y=O,O=r}else Y=O,O=r;if(O===r){for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();if(J!==r){if(re=[],de=Iu(),de!==r)for(;de!==r;)re.push(de),de=Iu();else re=r;if(re!==r){for(de=[],Ke=kt();Ke!==r;)de.push(Ke),Ke=kt();de!==r?(xt=O,J=Pe(re),O=J):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r}}}return O}function Fs(){var O,J,re,de,Ke;for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();if(J!==r){if(re=[],de=xi(),de!==r)for(;de!==r;)re.push(de),de=xi();else re=r;if(re!==r){for(de=[],Ke=kt();Ke!==r;)de.push(Ke),Ke=kt();de!==r?(xt=O,J=Ye(re),O=J):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r;return O}function Cu(){var O,J,re;for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();if(J!==r?(re=qn(),re!==r?(xt=O,J=ke(re),O=J):(Y=O,O=r)):(Y=O,O=r),O===r){for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();J!==r?(re=xi(),re!==r?(xt=O,J=ke(re),O=J):(Y=O,O=r)):(Y=O,O=r)}return O}function qn(){var O,J,re,de,Ke;for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();return J!==r?(it.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(_e)),re===r&&(re=null),re!==r?(de=is(),de!==r?(Ke=xi(),Ke!==r?(xt=O,J=x(re,de,Ke),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O}function is(){var O;return t.substr(Y,2)===w?(O=w,Y+=2):(O=r,dt===0&&wt(b)),O===r&&(t.substr(Y,2)===y?(O=y,Y+=2):(O=r,dt===0&&wt(F)),O===r&&(t.charCodeAt(Y)===62?(O=z,Y++):(O=r,dt===0&&wt(Z)),O===r&&(t.substr(Y,3)===$?(O=$,Y+=3):(O=r,dt===0&&wt(oe)),O===r&&(t.substr(Y,2)===xe?(O=xe,Y+=2):(O=r,dt===0&&wt(Te)),O===r&&(t.charCodeAt(Y)===60?(O=lt,Y++):(O=r,dt===0&&wt(Et))))))),O}function xi(){var O,J,re;for(O=Y,J=[],re=kt();re!==r;)J.push(re),re=kt();return J!==r?(re=VA(),re!==r?(xt=O,J=ke(re),O=J):(Y=O,O=r)):(Y=O,O=r),O}function VA(){var O,J,re;if(O=Y,J=[],re=wf(),re!==r)for(;re!==r;)J.push(re),re=wf();else J=r;return J!==r&&(xt=O,J=qt(J)),O=J,O}function wf(){var O,J;return O=Y,J=mn(),J!==r&&(xt=O,J=ir(J)),O=J,O===r&&(O=Y,J=Gg(),J!==r&&(xt=O,J=ir(J)),O=J,O===r&&(O=Y,J=Wg(),J!==r&&(xt=O,J=ir(J)),O=J,O===r&&(O=Y,J=ss(),J!==r&&(xt=O,J=ir(J)),O=J))),O}function mn(){var O,J,re,de;return O=Y,t.substr(Y,2)===Pt?(J=Pt,Y+=2):(J=r,dt===0&&wt(gn)),J!==r?(re=yn(),re!==r?(t.charCodeAt(Y)===39?(de=Pr,Y++):(de=r,dt===0&&wt(Ir)),de!==r?(xt=O,J=Nr(re),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O}function Gg(){var O,J,re,de;return O=Y,t.charCodeAt(Y)===39?(J=Pr,Y++):(J=r,dt===0&&wt(Ir)),J!==r?(re=Bf(),re!==r?(t.charCodeAt(Y)===39?(de=Pr,Y++):(de=r,dt===0&&wt(Ir)),de!==r?(xt=O,J=Nr(re),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O}function Wg(){var O,J,re,de;if(O=Y,t.substr(Y,2)===nn?(J=nn,Y+=2):(J=r,dt===0&&wt(oi)),J!==r&&(xt=O,J=wo()),O=J,O===r)if(O=Y,t.charCodeAt(Y)===34?(J=rs,Y++):(J=r,dt===0&&wt(eo)),J!==r){for(re=[],de=xl();de!==r;)re.push(de),de=xl();re!==r?(t.charCodeAt(Y)===34?(de=rs,Y++):(de=r,dt===0&&wt(eo)),de!==r?(xt=O,J=Bo(re),O=J):(Y=O,O=r)):(Y=O,O=r)}else Y=O,O=r;return O}function ss(){var O,J,re;if(O=Y,J=[],re=ko(),re!==r)for(;re!==r;)J.push(re),re=ko();else J=r;return J!==r&&(xt=O,J=Bo(J)),O=J,O}function xl(){var O,J;return O=Y,J=Xr(),J!==r&&(xt=O,J=Hi(J)),O=J,O===r&&(O=Y,J=kh(),J!==r&&(xt=O,J=to(J)),O=J,O===r&&(O=Y,J=JA(),J!==r&&(xt=O,J=vo(J)),O=J,O===r&&(O=Y,J=vf(),J!==r&&(xt=O,J=RA(J)),O=J))),O}function ko(){var O,J;return O=Y,J=Xr(),J!==r&&(xt=O,J=pf(J)),O=J,O===r&&(O=Y,J=kh(),J!==r&&(xt=O,J=Eh(J)),O=J,O===r&&(O=Y,J=JA(),J!==r&&(xt=O,J=Ih(J)),O=J,O===r&&(O=Y,J=Sy(),J!==r&&(xt=O,J=ro(J)),O=J,O===r&&(O=Y,J=xh(),J!==r&&(xt=O,J=RA(J)),O=J)))),O}function Bf(){var O,J,re;for(O=Y,J=[],jn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(Rs));re!==r;)J.push(re),jn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(Rs));return J!==r&&(xt=O,J=no(J)),O=J,O}function vf(){var O,J,re;if(O=Y,J=[],re=kl(),re===r&&(lu.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(cu))),re!==r)for(;re!==r;)J.push(re),re=kl(),re===r&&(lu.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(cu)));else J=r;return J!==r&&(xt=O,J=no(J)),O=J,O}function kl(){var O,J,re;return O=Y,t.substr(Y,2)===uu?(J=uu,Y+=2):(J=r,dt===0&&wt(FA)),J!==r&&(xt=O,J=NA()),O=J,O===r&&(O=Y,t.charCodeAt(Y)===92?(J=aa,Y++):(J=r,dt===0&&wt(la)),J!==r?(OA.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(gr)),re!==r?(xt=O,J=So(re),O=J):(Y=O,O=r)):(Y=O,O=r)),O}function yn(){var O,J,re;for(O=Y,J=[],re=Qo(),re===r&&(jn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(Rs)));re!==r;)J.push(re),re=Qo(),re===r&&(jn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(Rs)));return J!==r&&(xt=O,J=no(J)),O=J,O}function Qo(){var O,J,re;return O=Y,t.substr(Y,2)===Me?(J=Me,Y+=2):(J=r,dt===0&&wt(fu)),J!==r&&(xt=O,J=Cr()),O=J,O===r&&(O=Y,t.substr(Y,2)===hf?(J=hf,Y+=2):(J=r,dt===0&&wt(LA)),J!==r&&(xt=O,J=MA()),O=J,O===r&&(O=Y,t.charCodeAt(Y)===92?(J=aa,Y++):(J=r,dt===0&&wt(la)),J!==r?(Au.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(pu)),re!==r?(xt=O,J=ac(),O=J):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===ve?(J=ve,Y+=2):(J=r,dt===0&&wt(Nt)),J!==r&&(xt=O,J=lc()),O=J,O===r&&(O=Y,t.substr(Y,2)===Ni?(J=Ni,Y+=2):(J=r,dt===0&&wt(io)),J!==r&&(xt=O,J=Rt()),O=J,O===r&&(O=Y,t.substr(Y,2)===xn?(J=xn,Y+=2):(J=r,dt===0&&wt(ca)),J!==r&&(xt=O,J=ji()),O=J,O===r&&(O=Y,t.substr(Y,2)===Oi?(J=Oi,Y+=2):(J=r,dt===0&&wt(Oa)),J!==r&&(xt=O,J=dn()),O=J,O===r&&(O=Y,t.substr(Y,2)===Jn?(J=Jn,Y+=2):(J=r,dt===0&&wt(hu)),J!==r&&(xt=O,J=Ch()),O=J,O===r&&(O=Y,t.charCodeAt(Y)===92?(J=aa,Y++):(J=r,dt===0&&wt(la)),J!==r?(La.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(Ma)),re!==r?(xt=O,J=So(re),O=J):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=wu()))))))))),O}function wu(){var O,J,re,de,Ke,ft,dr,Br,_n,di,ws,zA;return O=Y,t.charCodeAt(Y)===92?(J=aa,Y++):(J=r,dt===0&&wt(la)),J!==r?(re=ha(),re!==r?(xt=O,J=Ua(re),O=J):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===Xe?(J=Xe,Y+=2):(J=r,dt===0&&wt(Ha)),J!==r?(re=Y,de=Y,Ke=ha(),Ke!==r?(ft=Ns(),ft!==r?(Ke=[Ke,ft],de=Ke):(Y=de,de=r)):(Y=de,de=r),de===r&&(de=ha()),de!==r?re=t.substring(re,Y):re=de,re!==r?(xt=O,J=Ua(re),O=J):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===gf?(J=gf,Y+=2):(J=r,dt===0&&wt(cc)),J!==r?(re=Y,de=Y,Ke=Ns(),Ke!==r?(ft=Ns(),ft!==r?(dr=Ns(),dr!==r?(Br=Ns(),Br!==r?(Ke=[Ke,ft,dr,Br],de=Ke):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r),de!==r?re=t.substring(re,Y):re=de,re!==r?(xt=O,J=Ua(re),O=J):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===wn?(J=wn,Y+=2):(J=r,dt===0&&wt(ua)),J!==r?(re=Y,de=Y,Ke=Ns(),Ke!==r?(ft=Ns(),ft!==r?(dr=Ns(),dr!==r?(Br=Ns(),Br!==r?(_n=Ns(),_n!==r?(di=Ns(),di!==r?(ws=Ns(),ws!==r?(zA=Ns(),zA!==r?(Ke=[Ke,ft,dr,Br,_n,di,ws,zA],de=Ke):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r),de!==r?re=t.substring(re,Y):re=de,re!==r?(xt=O,J=_A(re),O=J):(Y=O,O=r)):(Y=O,O=r)))),O}function ha(){var O;return UA.test(t.charAt(Y))?(O=t.charAt(Y),Y++):(O=r,dt===0&&wt(fa)),O}function Ns(){var O;return vl.test(t.charAt(Y))?(O=t.charAt(Y),Y++):(O=r,dt===0&&wt(Mt)),O}function xh(){var O,J,re,de,Ke;if(O=Y,J=[],re=Y,t.charCodeAt(Y)===92?(de=aa,Y++):(de=r,dt===0&&wt(la)),de!==r?(t.length>Y?(Ke=t.charAt(Y),Y++):(Ke=r,dt===0&&wt(kn)),Ke!==r?(xt=re,de=So(Ke),re=de):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,t.substr(Y,2)===Aa?(de=Aa,Y+=2):(de=r,dt===0&&wt(ja)),de!==r&&(xt=re,de=ns()),re=de,re===r&&(re=Y,de=Y,dt++,Ke=Dy(),dt--,Ke===r?de=void 0:(Y=de,de=r),de!==r?(t.length>Y?(Ke=t.charAt(Y),Y++):(Ke=r,dt===0&&wt(kn)),Ke!==r?(xt=re,de=So(Ke),re=de):(Y=re,re=r)):(Y=re,re=r))),re!==r)for(;re!==r;)J.push(re),re=Y,t.charCodeAt(Y)===92?(de=aa,Y++):(de=r,dt===0&&wt(la)),de!==r?(t.length>Y?(Ke=t.charAt(Y),Y++):(Ke=r,dt===0&&wt(kn)),Ke!==r?(xt=re,de=So(Ke),re=de):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,t.substr(Y,2)===Aa?(de=Aa,Y+=2):(de=r,dt===0&&wt(ja)),de!==r&&(xt=re,de=ns()),re=de,re===r&&(re=Y,de=Y,dt++,Ke=Dy(),dt--,Ke===r?de=void 0:(Y=de,de=r),de!==r?(t.length>Y?(Ke=t.charAt(Y),Y++):(Ke=r,dt===0&&wt(kn)),Ke!==r?(xt=re,de=So(Ke),re=de):(Y=re,re=r)):(Y=re,re=r)));else J=r;return J!==r&&(xt=O,J=no(J)),O=J,O}function KA(){var O,J,re,de,Ke,ft;if(O=Y,t.charCodeAt(Y)===45?(J=uc,Y++):(J=r,dt===0&&wt(gu)),J===r&&(t.charCodeAt(Y)===43?(J=fc,Y++):(J=r,dt===0&&wt(qa))),J===r&&(J=null),J!==r){if(re=[],it.test(t.charAt(Y))?(de=t.charAt(Y),Y++):(de=r,dt===0&&wt(_e)),de!==r)for(;de!==r;)re.push(de),it.test(t.charAt(Y))?(de=t.charAt(Y),Y++):(de=r,dt===0&&wt(_e));else re=r;if(re!==r)if(t.charCodeAt(Y)===46?(de=Li,Y++):(de=r,dt===0&&wt(Cs)),de!==r){if(Ke=[],it.test(t.charAt(Y))?(ft=t.charAt(Y),Y++):(ft=r,dt===0&&wt(_e)),ft!==r)for(;ft!==r;)Ke.push(ft),it.test(t.charAt(Y))?(ft=t.charAt(Y),Y++):(ft=r,dt===0&&wt(_e));else Ke=r;Ke!==r?(xt=O,J=Sl(J,re,Ke),O=J):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;if(O===r){if(O=Y,t.charCodeAt(Y)===45?(J=uc,Y++):(J=r,dt===0&&wt(gu)),J===r&&(t.charCodeAt(Y)===43?(J=fc,Y++):(J=r,dt===0&&wt(qa))),J===r&&(J=null),J!==r){if(re=[],it.test(t.charAt(Y))?(de=t.charAt(Y),Y++):(de=r,dt===0&&wt(_e)),de!==r)for(;de!==r;)re.push(de),it.test(t.charAt(Y))?(de=t.charAt(Y),Y++):(de=r,dt===0&&wt(_e));else re=r;re!==r?(xt=O,J=df(J,re),O=J):(Y=O,O=r)}else Y=O,O=r;if(O===r&&(O=Y,J=JA(),J!==r&&(xt=O,J=Ac(J)),O=J,O===r&&(O=Y,J=hc(),J!==r&&(xt=O,J=wi(J)),O=J,O===r)))if(O=Y,t.charCodeAt(Y)===40?(J=Ee,Y++):(J=r,dt===0&&wt(fe)),J!==r){for(re=[],de=kt();de!==r;)re.push(de),de=kt();if(re!==r)if(de=so(),de!==r){for(Ke=[],ft=kt();ft!==r;)Ke.push(ft),ft=kt();Ke!==r?(t.charCodeAt(Y)===41?(ft=se,Y++):(ft=r,dt===0&&wt(X)),ft!==r?(xt=O,J=Qn(de),O=J):(Y=O,O=r)):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r}return O}function Sf(){var O,J,re,de,Ke,ft,dr,Br;if(O=Y,J=KA(),J!==r){for(re=[],de=Y,Ke=[],ft=kt();ft!==r;)Ke.push(ft),ft=kt();if(Ke!==r)if(t.charCodeAt(Y)===42?(ft=pc,Y++):(ft=r,dt===0&&wt(Je)),ft===r&&(t.charCodeAt(Y)===47?(ft=st,Y++):(ft=r,dt===0&&wt(St))),ft!==r){for(dr=[],Br=kt();Br!==r;)dr.push(Br),Br=kt();dr!==r?(Br=KA(),Br!==r?(xt=de,Ke=lr(J,ft,Br),de=Ke):(Y=de,de=r)):(Y=de,de=r)}else Y=de,de=r;else Y=de,de=r;for(;de!==r;){for(re.push(de),de=Y,Ke=[],ft=kt();ft!==r;)Ke.push(ft),ft=kt();if(Ke!==r)if(t.charCodeAt(Y)===42?(ft=pc,Y++):(ft=r,dt===0&&wt(Je)),ft===r&&(t.charCodeAt(Y)===47?(ft=st,Y++):(ft=r,dt===0&&wt(St))),ft!==r){for(dr=[],Br=kt();Br!==r;)dr.push(Br),Br=kt();dr!==r?(Br=KA(),Br!==r?(xt=de,Ke=lr(J,ft,Br),de=Ke):(Y=de,de=r)):(Y=de,de=r)}else Y=de,de=r;else Y=de,de=r}re!==r?(xt=O,J=ee(J,re),O=J):(Y=O,O=r)}else Y=O,O=r;return O}function so(){var O,J,re,de,Ke,ft,dr,Br;if(O=Y,J=Sf(),J!==r){for(re=[],de=Y,Ke=[],ft=kt();ft!==r;)Ke.push(ft),ft=kt();if(Ke!==r)if(t.charCodeAt(Y)===43?(ft=fc,Y++):(ft=r,dt===0&&wt(qa)),ft===r&&(t.charCodeAt(Y)===45?(ft=uc,Y++):(ft=r,dt===0&&wt(gu))),ft!==r){for(dr=[],Br=kt();Br!==r;)dr.push(Br),Br=kt();dr!==r?(Br=Sf(),Br!==r?(xt=de,Ke=Ie(J,ft,Br),de=Ke):(Y=de,de=r)):(Y=de,de=r)}else Y=de,de=r;else Y=de,de=r;for(;de!==r;){for(re.push(de),de=Y,Ke=[],ft=kt();ft!==r;)Ke.push(ft),ft=kt();if(Ke!==r)if(t.charCodeAt(Y)===43?(ft=fc,Y++):(ft=r,dt===0&&wt(qa)),ft===r&&(t.charCodeAt(Y)===45?(ft=uc,Y++):(ft=r,dt===0&&wt(gu))),ft!==r){for(dr=[],Br=kt();Br!==r;)dr.push(Br),Br=kt();dr!==r?(Br=Sf(),Br!==r?(xt=de,Ke=Ie(J,ft,Br),de=Ke):(Y=de,de=r)):(Y=de,de=r)}else Y=de,de=r;else Y=de,de=r}re!==r?(xt=O,J=ee(J,re),O=J):(Y=O,O=r)}else Y=O,O=r;return O}function Xr(){var O,J,re,de,Ke,ft;if(O=Y,t.substr(Y,3)===Oe?(J=Oe,Y+=3):(J=r,dt===0&&wt(ht)),J!==r){for(re=[],de=kt();de!==r;)re.push(de),de=kt();if(re!==r)if(de=so(),de!==r){for(Ke=[],ft=kt();ft!==r;)Ke.push(ft),ft=kt();Ke!==r?(t.substr(Y,2)===mt?(ft=mt,Y+=2):(ft=r,dt===0&&wt(Dt)),ft!==r?(xt=O,J=tr(de),O=J):(Y=O,O=r)):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;return O}function kh(){var O,J,re,de;return O=Y,t.substr(Y,2)===fn?(J=fn,Y+=2):(J=r,dt===0&&wt(ai)),J!==r?(re=pa(),re!==r?(t.charCodeAt(Y)===41?(de=se,Y++):(de=r,dt===0&&wt(X)),de!==r?(xt=O,J=qi(re),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O}function JA(){var O,J,re,de,Ke,ft;return O=Y,t.substr(Y,2)===Tn?(J=Tn,Y+=2):(J=r,dt===0&&wt(Ga)),J!==r?(re=hc(),re!==r?(t.substr(Y,2)===my?(de=my,Y+=2):(de=r,dt===0&&wt(t2)),de!==r?(Ke=Fs(),Ke!==r?(t.charCodeAt(Y)===125?(ft=j,Y++):(ft=r,dt===0&&wt(rt)),ft!==r?(xt=O,J=Do(re,Ke),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===Tn?(J=Tn,Y+=2):(J=r,dt===0&&wt(Ga)),J!==r?(re=hc(),re!==r?(t.substr(Y,3)===yy?(de=yy,Y+=3):(de=r,dt===0&&wt(wh)),de!==r?(xt=O,J=r2(re),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===Tn?(J=Tn,Y+=2):(J=r,dt===0&&wt(Ga)),J!==r?(re=hc(),re!==r?(t.substr(Y,2)===bo?(de=bo,Y+=2):(de=r,dt===0&&wt(Bh)),de!==r?(Ke=Fs(),Ke!==r?(t.charCodeAt(Y)===125?(ft=j,Y++):(ft=r,dt===0&&wt(rt)),ft!==r?(xt=O,J=vh(re,Ke),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===Tn?(J=Tn,Y+=2):(J=r,dt===0&&wt(Ga)),J!==r?(re=hc(),re!==r?(t.substr(Y,3)===du?(de=du,Y+=3):(de=r,dt===0&&wt(Sh)),de!==r?(xt=O,J=Ng(re),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===Tn?(J=Tn,Y+=2):(J=r,dt===0&&wt(Ga)),J!==r?(re=hc(),re!==r?(t.charCodeAt(Y)===125?(de=j,Y++):(de=r,dt===0&&wt(rt)),de!==r?(xt=O,J=Og(re),O=J):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.charCodeAt(Y)===36?(J=Lg,Y++):(J=r,dt===0&&wt(Ey)),J!==r?(re=hc(),re!==r?(xt=O,J=Og(re),O=J):(Y=O,O=r)):(Y=O,O=r)))))),O}function Sy(){var O,J,re;return O=Y,J=Yg(),J!==r?(xt=Y,re=mf(J),re?re=void 0:re=r,re!==r?(xt=O,J=Po(J),O=J):(Y=O,O=r)):(Y=O,O=r),O}function Yg(){var O,J,re,de,Ke;if(O=Y,J=[],re=Y,de=Y,dt++,Ke=Th(),dt--,Ke===r?de=void 0:(Y=de,de=r),de!==r?(t.length>Y?(Ke=t.charAt(Y),Y++):(Ke=r,dt===0&&wt(kn)),Ke!==r?(xt=re,de=So(Ke),re=de):(Y=re,re=r)):(Y=re,re=r),re!==r)for(;re!==r;)J.push(re),re=Y,de=Y,dt++,Ke=Th(),dt--,Ke===r?de=void 0:(Y=de,de=r),de!==r?(t.length>Y?(Ke=t.charAt(Y),Y++):(Ke=r,dt===0&&wt(kn)),Ke!==r?(xt=re,de=So(Ke),re=de):(Y=re,re=r)):(Y=re,re=r);else J=r;return J!==r&&(xt=O,J=no(J)),O=J,O}function Qh(){var O,J,re;if(O=Y,J=[],Dl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(Dh)),re!==r)for(;re!==r;)J.push(re),Dl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(Dh));else J=r;return J!==r&&(xt=O,J=Mg()),O=J,O}function hc(){var O,J,re;if(O=Y,J=[],bl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(Pl)),re!==r)for(;re!==r;)J.push(re),bl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,dt===0&&wt(Pl));else J=r;return J!==r&&(xt=O,J=Mg()),O=J,O}function Dy(){var O;return Iy.test(t.charAt(Y))?(O=t.charAt(Y),Y++):(O=r,dt===0&&wt(HA)),O}function Th(){var O;return Cy.test(t.charAt(Y))?(O=t.charAt(Y),Y++):(O=r,dt===0&&wt(wy)),O}function kt(){var O,J;if(O=[],jA.test(t.charAt(Y))?(J=t.charAt(Y),Y++):(J=r,dt===0&&wt(qA)),J!==r)for(;J!==r;)O.push(J),jA.test(t.charAt(Y))?(J=t.charAt(Y),Y++):(J=r,dt===0&&wt(qA));else O=r;return O}if(mu=a(),mu!==r&&Y===t.length)return mu;throw mu!==r&&Y!1}){try{return(0,rte.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function fE(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:s},a)=>`${Sx(r)}${s===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function Sx(t){return`${AE(t.chain)}${t.then?` ${z_(t.then)}`:""}`}function z_(t){return`${t.type} ${Sx(t.line)}`}function AE(t){return`${X_(t)}${t.then?` ${Z_(t.then)}`:""}`}function Z_(t){return`${t.type} ${AE(t.chain)}`}function X_(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>Bx(e)).join(" ")} `:""}${t.args.map(e=>$_(e)).join(" ")}`;case"subshell":return`(${fE(t.subshell)})${t.args.length>0?` ${t.args.map(e=>G2(e)).join(" ")}`:""}`;case"group":return`{ ${fE(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>G2(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>Bx(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function Bx(t){return`${t.name}=${t.args[0]?Sd(t.args[0]):""}`}function $_(t){switch(t.type){case"redirection":return G2(t);case"argument":return Sd(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function G2(t){return`${t.subtype} ${t.args.map(e=>Sd(e)).join(" ")}`}function Sd(t){return t.segments.map(e=>eU(e)).join("")}function eU(t){let e=(s,a)=>a?`"${s}"`:s,r=s=>s===""?"''":s.match(/[()}<>$|&;"'\n\t ]/)?s.match(/['\t\p{C}]/u)?s.match(/'/)?`"${s.replace(/["$\t\p{C}]/u,IKe)}"`:`$'${s.replace(/[\t\p{C}]/u,ite)}'`:`'${s}'`:s;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`$(${fE(t.shell)})`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(s=>Sd(s)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(s=>Sd(s)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${Dx(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function Dx(t){let e=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,s=a=>r(Dx(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${s(t.left)} ${e(t.type)} ${s(t.right)}`}}var rte,nte,EKe,ite,IKe,ste=It(()=>{rte=et(tte());nte=new Map([["\f","\\f"],[` +`,"\\n"],["\r","\\r"],[" ","\\t"],["\v","\\v"],["\0","\\0"]]),EKe=new Map([["\\","\\\\"],["$","\\$"],['"','\\"'],...Array.from(nte,([t,e])=>[t,`"$'${e}'"`])]),ite=t=>nte.get(t)??`\\x${t.charCodeAt(0).toString(16).padStart(2,"0")}`,IKe=t=>EKe.get(t)??`"$'${ite(t)}'"`});var ate=L((U5t,ote)=>{"use strict";function CKe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Dd(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Dd)}CKe(Dd,Error);Dd.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",C;for(C=0;C0){for(C=1,S=1;CAe&&(Ae=W,ce=[]),ce.push(_e))}function rt(_e,x){return new Dd(_e,null,null,x)}function Fe(_e,x,w){return new Dd(Dd.buildMessage(_e,x),_e,x,w)}function Ne(){var _e,x,w,b;return _e=W,x=Pe(),x!==r?(t.charCodeAt(W)===47?(w=n,W++):(w=r,me===0&&j(c)),w!==r?(b=Pe(),b!==r?(te=_e,x=f(x,b),_e=x):(W=_e,_e=r)):(W=_e,_e=r)):(W=_e,_e=r),_e===r&&(_e=W,x=Pe(),x!==r&&(te=_e,x=p(x)),_e=x),_e}function Pe(){var _e,x,w,b;return _e=W,x=Ye(),x!==r?(t.charCodeAt(W)===64?(w=h,W++):(w=r,me===0&&j(E)),w!==r?(b=it(),b!==r?(te=_e,x=C(x,b),_e=x):(W=_e,_e=r)):(W=_e,_e=r)):(W=_e,_e=r),_e===r&&(_e=W,x=Ye(),x!==r&&(te=_e,x=S(x)),_e=x),_e}function Ye(){var _e,x,w,b,y;return _e=W,t.charCodeAt(W)===64?(x=h,W++):(x=r,me===0&&j(E)),x!==r?(w=ke(),w!==r?(t.charCodeAt(W)===47?(b=n,W++):(b=r,me===0&&j(c)),b!==r?(y=ke(),y!==r?(te=_e,x=P(),_e=x):(W=_e,_e=r)):(W=_e,_e=r)):(W=_e,_e=r)):(W=_e,_e=r),_e===r&&(_e=W,x=ke(),x!==r&&(te=_e,x=P()),_e=x),_e}function ke(){var _e,x,w;if(_e=W,x=[],I.test(t.charAt(W))?(w=t.charAt(W),W++):(w=r,me===0&&j(R)),w!==r)for(;w!==r;)x.push(w),I.test(t.charAt(W))?(w=t.charAt(W),W++):(w=r,me===0&&j(R));else x=r;return x!==r&&(te=_e,x=P()),_e=x,_e}function it(){var _e,x,w;if(_e=W,x=[],N.test(t.charAt(W))?(w=t.charAt(W),W++):(w=r,me===0&&j(U)),w!==r)for(;w!==r;)x.push(w),N.test(t.charAt(W))?(w=t.charAt(W),W++):(w=r,me===0&&j(U));else x=r;return x!==r&&(te=_e,x=P()),_e=x,_e}if(pe=a(),pe!==r&&W===t.length)return pe;throw pe!==r&&W{lte=et(ate())});var Pd=L((j5t,bd)=>{"use strict";function ute(t){return typeof t>"u"||t===null}function BKe(t){return typeof t=="object"&&t!==null}function vKe(t){return Array.isArray(t)?t:ute(t)?[]:[t]}function SKe(t,e){var r,s,a,n;if(e)for(n=Object.keys(e),r=0,s=n.length;r{"use strict";function W2(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}W2.prototype=Object.create(Error.prototype);W2.prototype.constructor=W2;W2.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};fte.exports=W2});var hte=L((G5t,pte)=>{"use strict";var Ate=Pd();function tU(t,e,r,s,a){this.name=t,this.buffer=e,this.position=r,this.line=s,this.column=a}tU.prototype.getSnippet=function(e,r){var s,a,n,c,f;if(!this.buffer)return null;for(e=e||4,r=r||75,s="",a=this.position;a>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){s=" ... ",a+=5;break}for(n="",c=this.position;cr/2-1){n=" ... ",c-=5;break}return f=this.buffer.slice(a,c),Ate.repeat(" ",e)+s+f+n+` +`+Ate.repeat(" ",e+this.position-a+s.length)+"^"};tU.prototype.toString=function(e){var r,s="";return this.name&&(s+='in "'+this.name+'" '),s+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(s+=`: +`+r)),s};pte.exports=tU});var Ds=L((W5t,dte)=>{"use strict";var gte=pE(),PKe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],xKe=["scalar","sequence","mapping"];function kKe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(s){e[String(s)]=r})}),e}function QKe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(PKe.indexOf(r)===-1)throw new gte('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=kKe(e.styleAliases||null),xKe.indexOf(this.kind)===-1)throw new gte('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}dte.exports=QKe});var xd=L((Y5t,yte)=>{"use strict";var mte=Pd(),xx=pE(),TKe=Ds();function rU(t,e,r){var s=[];return t.include.forEach(function(a){r=rU(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,c){n.tag===a.tag&&n.kind===a.kind&&s.push(c)}),r.push(a)}),r.filter(function(a,n){return s.indexOf(n)===-1})}function RKe(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function s(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e{"use strict";var FKe=Ds();Ete.exports=new FKe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var wte=L((K5t,Cte)=>{"use strict";var NKe=Ds();Cte.exports=new NKe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var vte=L((J5t,Bte)=>{"use strict";var OKe=Ds();Bte.exports=new OKe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var kx=L((z5t,Ste)=>{"use strict";var LKe=xd();Ste.exports=new LKe({explicit:[Ite(),wte(),vte()]})});var bte=L((Z5t,Dte)=>{"use strict";var MKe=Ds();function _Ke(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function UKe(){return null}function HKe(t){return t===null}Dte.exports=new MKe("tag:yaml.org,2002:null",{kind:"scalar",resolve:_Ke,construct:UKe,predicate:HKe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var xte=L((X5t,Pte)=>{"use strict";var jKe=Ds();function qKe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function GKe(t){return t==="true"||t==="True"||t==="TRUE"}function WKe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}Pte.exports=new jKe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:qKe,construct:GKe,predicate:WKe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var Qte=L(($5t,kte)=>{"use strict";var YKe=Pd(),VKe=Ds();function KKe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function JKe(t){return 48<=t&&t<=55}function zKe(t){return 48<=t&&t<=57}function ZKe(t){if(t===null)return!1;var e=t.length,r=0,s=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var Fte=L((e9t,Rte)=>{"use strict";var Tte=Pd(),eJe=Ds(),tJe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function rJe(t){return!(t===null||!tJe.test(t)||t[t.length-1]==="_")}function nJe(t){var e,r,s,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,s=1,a.forEach(function(n){e+=n*s,s*=60}),r*e):r*parseFloat(e,10)}var iJe=/^[-+]?[0-9]+e/;function sJe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Tte.isNegativeZero(t))return"-0.0";return r=t.toString(10),iJe.test(r)?r.replace("e",".e"):r}function oJe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Tte.isNegativeZero(t))}Rte.exports=new eJe("tag:yaml.org,2002:float",{kind:"scalar",resolve:rJe,construct:nJe,predicate:oJe,represent:sJe,defaultStyle:"lowercase"})});var nU=L((t9t,Nte)=>{"use strict";var aJe=xd();Nte.exports=new aJe({include:[kx()],implicit:[bte(),xte(),Qte(),Fte()]})});var iU=L((r9t,Ote)=>{"use strict";var lJe=xd();Ote.exports=new lJe({include:[nU()]})});var Ute=L((n9t,_te)=>{"use strict";var cJe=Ds(),Lte=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Mte=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function uJe(t){return t===null?!1:Lte.exec(t)!==null||Mte.exec(t)!==null}function fJe(t){var e,r,s,a,n,c,f,p=0,h=null,E,C,S;if(e=Lte.exec(t),e===null&&(e=Mte.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],s=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,s,a));if(n=+e[4],c=+e[5],f=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(E=+e[10],C=+(e[11]||0),h=(E*60+C)*6e4,e[9]==="-"&&(h=-h)),S=new Date(Date.UTC(r,s,a,n,c,f,p)),h&&S.setTime(S.getTime()-h),S}function AJe(t){return t.toISOString()}_te.exports=new cJe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:uJe,construct:fJe,instanceOf:Date,represent:AJe})});var jte=L((i9t,Hte)=>{"use strict";var pJe=Ds();function hJe(t){return t==="<<"||t===null}Hte.exports=new pJe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hJe})});var Wte=L((s9t,Gte)=>{"use strict";var kd;try{qte=ye,kd=qte("buffer").Buffer}catch{}var qte,gJe=Ds(),sU=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function dJe(t){if(t===null)return!1;var e,r,s=0,a=t.length,n=sU;for(r=0;r64)){if(e<0)return!1;s+=6}return s%8===0}function mJe(t){var e,r,s=t.replace(/[\r\n=]/g,""),a=s.length,n=sU,c=0,f=[];for(e=0;e>16&255),f.push(c>>8&255),f.push(c&255)),c=c<<6|n.indexOf(s.charAt(e));return r=a%4*6,r===0?(f.push(c>>16&255),f.push(c>>8&255),f.push(c&255)):r===18?(f.push(c>>10&255),f.push(c>>2&255)):r===12&&f.push(c>>4&255),kd?kd.from?kd.from(f):new kd(f):f}function yJe(t){var e="",r=0,s,a,n=t.length,c=sU;for(s=0;s>18&63],e+=c[r>>12&63],e+=c[r>>6&63],e+=c[r&63]),r=(r<<8)+t[s];return a=n%3,a===0?(e+=c[r>>18&63],e+=c[r>>12&63],e+=c[r>>6&63],e+=c[r&63]):a===2?(e+=c[r>>10&63],e+=c[r>>4&63],e+=c[r<<2&63],e+=c[64]):a===1&&(e+=c[r>>2&63],e+=c[r<<4&63],e+=c[64],e+=c[64]),e}function EJe(t){return kd&&kd.isBuffer(t)}Gte.exports=new gJe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:dJe,construct:mJe,predicate:EJe,represent:yJe})});var Vte=L((a9t,Yte)=>{"use strict";var IJe=Ds(),CJe=Object.prototype.hasOwnProperty,wJe=Object.prototype.toString;function BJe(t){if(t===null)return!0;var e=[],r,s,a,n,c,f=t;for(r=0,s=f.length;r{"use strict";var SJe=Ds(),DJe=Object.prototype.toString;function bJe(t){if(t===null)return!0;var e,r,s,a,n,c=t;for(n=new Array(c.length),e=0,r=c.length;e{"use strict";var xJe=Ds(),kJe=Object.prototype.hasOwnProperty;function QJe(t){if(t===null)return!0;var e,r=t;for(e in r)if(kJe.call(r,e)&&r[e]!==null)return!1;return!0}function TJe(t){return t!==null?t:{}}zte.exports=new xJe("tag:yaml.org,2002:set",{kind:"mapping",resolve:QJe,construct:TJe})});var gE=L((u9t,Xte)=>{"use strict";var RJe=xd();Xte.exports=new RJe({include:[iU()],implicit:[Ute(),jte()],explicit:[Wte(),Vte(),Jte(),Zte()]})});var ere=L((f9t,$te)=>{"use strict";var FJe=Ds();function NJe(){return!0}function OJe(){}function LJe(){return""}function MJe(t){return typeof t>"u"}$te.exports=new FJe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:NJe,construct:OJe,predicate:MJe,represent:LJe})});var rre=L((A9t,tre)=>{"use strict";var _Je=Ds();function UJe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),s="";return!(e[0]==="/"&&(r&&(s=r[1]),s.length>3||e[e.length-s.length-1]!=="/"))}function HJe(t){var e=t,r=/\/([gim]*)$/.exec(t),s="";return e[0]==="/"&&(r&&(s=r[1]),e=e.slice(1,e.length-s.length-1)),new RegExp(e,s)}function jJe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function qJe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}tre.exports=new _Je("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:UJe,construct:HJe,predicate:qJe,represent:jJe})});var sre=L((p9t,ire)=>{"use strict";var Qx;try{nre=ye,Qx=nre("esprima")}catch{typeof window<"u"&&(Qx=window.esprima)}var nre,GJe=Ds();function WJe(t){if(t===null)return!1;try{var e="("+t+")",r=Qx.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function YJe(t){var e="("+t+")",r=Qx.parse(e,{range:!0}),s=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){s.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(s,e.slice(a[0]+1,a[1]-1)):new Function(s,"return "+e.slice(a[0],a[1]))}function VJe(t){return t.toString()}function KJe(t){return Object.prototype.toString.call(t)==="[object Function]"}ire.exports=new GJe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:WJe,construct:YJe,predicate:KJe,represent:VJe})});var Y2=L((g9t,are)=>{"use strict";var ore=xd();are.exports=ore.DEFAULT=new ore({include:[gE()],explicit:[ere(),rre(),sre()]})});var Dre=L((d9t,V2)=>{"use strict";var wp=Pd(),hre=pE(),JJe=hte(),gre=gE(),zJe=Y2(),a0=Object.prototype.hasOwnProperty,Tx=1,dre=2,mre=3,Rx=4,oU=1,ZJe=2,lre=3,XJe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,$Je=/[\x85\u2028\u2029]/,eze=/[,\[\]\{\}]/,yre=/^(?:!|!!|![a-z\-]+!)$/i,Ere=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function cre(t){return Object.prototype.toString.call(t)}function qf(t){return t===10||t===13}function Td(t){return t===9||t===32}function nl(t){return t===9||t===32||t===10||t===13}function dE(t){return t===44||t===91||t===93||t===123||t===125}function tze(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function rze(t){return t===120?2:t===117?4:t===85?8:0}function nze(t){return 48<=t&&t<=57?t-48:-1}function ure(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function ize(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Ire=new Array(256),Cre=new Array(256);for(Qd=0;Qd<256;Qd++)Ire[Qd]=ure(Qd)?1:0,Cre[Qd]=ure(Qd);var Qd;function sze(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||zJe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function wre(t,e){return new hre(e,new JJe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function Rr(t,e){throw wre(t,e)}function Fx(t,e){t.onWarning&&t.onWarning.call(null,wre(t,e))}var fre={YAML:function(e,r,s){var a,n,c;e.version!==null&&Rr(e,"duplication of %YAML directive"),s.length!==1&&Rr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(s[0]),a===null&&Rr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),c=parseInt(a[2],10),n!==1&&Rr(e,"unacceptable YAML version of the document"),e.version=s[0],e.checkLineBreaks=c<2,c!==1&&c!==2&&Fx(e,"unsupported YAML version of the document")},TAG:function(e,r,s){var a,n;s.length!==2&&Rr(e,"TAG directive accepts exactly two arguments"),a=s[0],n=s[1],yre.test(a)||Rr(e,"ill-formed tag handle (first argument) of the TAG directive"),a0.call(e.tagMap,a)&&Rr(e,'there is a previously declared suffix for "'+a+'" tag handle'),Ere.test(n)||Rr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function o0(t,e,r,s){var a,n,c,f;if(e1&&(t.result+=wp.repeat(` +`,e-1))}function oze(t,e,r){var s,a,n,c,f,p,h,E,C=t.kind,S=t.result,P;if(P=t.input.charCodeAt(t.position),nl(P)||dE(P)||P===35||P===38||P===42||P===33||P===124||P===62||P===39||P===34||P===37||P===64||P===96||(P===63||P===45)&&(a=t.input.charCodeAt(t.position+1),nl(a)||r&&dE(a)))return!1;for(t.kind="scalar",t.result="",n=c=t.position,f=!1;P!==0;){if(P===58){if(a=t.input.charCodeAt(t.position+1),nl(a)||r&&dE(a))break}else if(P===35){if(s=t.input.charCodeAt(t.position-1),nl(s))break}else{if(t.position===t.lineStart&&Nx(t)||r&&dE(P))break;if(qf(P))if(p=t.line,h=t.lineStart,E=t.lineIndent,as(t,!1,-1),t.lineIndent>=e){f=!0,P=t.input.charCodeAt(t.position);continue}else{t.position=c,t.line=p,t.lineStart=h,t.lineIndent=E;break}}f&&(o0(t,n,c,!1),lU(t,t.line-p),n=c=t.position,f=!1),Td(P)||(c=t.position+1),P=t.input.charCodeAt(++t.position)}return o0(t,n,c,!1),t.result?!0:(t.kind=C,t.result=S,!1)}function aze(t,e){var r,s,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,s=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(o0(t,s,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)s=t.position,t.position++,a=t.position;else return!0;else qf(r)?(o0(t,s,a,!0),lU(t,as(t,!1,e)),s=a=t.position):t.position===t.lineStart&&Nx(t)?Rr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);Rr(t,"unexpected end of the stream within a single quoted scalar")}function lze(t,e){var r,s,a,n,c,f;if(f=t.input.charCodeAt(t.position),f!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=s=t.position;(f=t.input.charCodeAt(t.position))!==0;){if(f===34)return o0(t,r,t.position,!0),t.position++,!0;if(f===92){if(o0(t,r,t.position,!0),f=t.input.charCodeAt(++t.position),qf(f))as(t,!1,e);else if(f<256&&Ire[f])t.result+=Cre[f],t.position++;else if((c=rze(f))>0){for(a=c,n=0;a>0;a--)f=t.input.charCodeAt(++t.position),(c=tze(f))>=0?n=(n<<4)+c:Rr(t,"expected hexadecimal character");t.result+=ize(n),t.position++}else Rr(t,"unknown escape sequence");r=s=t.position}else qf(f)?(o0(t,r,s,!0),lU(t,as(t,!1,e)),r=s=t.position):t.position===t.lineStart&&Nx(t)?Rr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,s=t.position)}Rr(t,"unexpected end of the stream within a double quoted scalar")}function cze(t,e){var r=!0,s,a=t.tag,n,c=t.anchor,f,p,h,E,C,S={},P,I,R,N;if(N=t.input.charCodeAt(t.position),N===91)p=93,C=!1,n=[];else if(N===123)p=125,C=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),N=t.input.charCodeAt(++t.position);N!==0;){if(as(t,!0,e),N=t.input.charCodeAt(t.position),N===p)return t.position++,t.tag=a,t.anchor=c,t.kind=C?"mapping":"sequence",t.result=n,!0;r||Rr(t,"missed comma between flow collection entries"),I=P=R=null,h=E=!1,N===63&&(f=t.input.charCodeAt(t.position+1),nl(f)&&(h=E=!0,t.position++,as(t,!0,e))),s=t.line,yE(t,e,Tx,!1,!0),I=t.tag,P=t.result,as(t,!0,e),N=t.input.charCodeAt(t.position),(E||t.line===s)&&N===58&&(h=!0,N=t.input.charCodeAt(++t.position),as(t,!0,e),yE(t,e,Tx,!1,!0),R=t.result),C?mE(t,n,S,I,P,R):h?n.push(mE(t,null,S,I,P,R)):n.push(P),as(t,!0,e),N=t.input.charCodeAt(t.position),N===44?(r=!0,N=t.input.charCodeAt(++t.position)):r=!1}Rr(t,"unexpected end of the stream within a flow collection")}function uze(t,e){var r,s,a=oU,n=!1,c=!1,f=e,p=0,h=!1,E,C;if(C=t.input.charCodeAt(t.position),C===124)s=!1;else if(C===62)s=!0;else return!1;for(t.kind="scalar",t.result="";C!==0;)if(C=t.input.charCodeAt(++t.position),C===43||C===45)oU===a?a=C===43?lre:ZJe:Rr(t,"repeat of a chomping mode identifier");else if((E=nze(C))>=0)E===0?Rr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?Rr(t,"repeat of an indentation width identifier"):(f=e+E-1,c=!0);else break;if(Td(C)){do C=t.input.charCodeAt(++t.position);while(Td(C));if(C===35)do C=t.input.charCodeAt(++t.position);while(!qf(C)&&C!==0)}for(;C!==0;){for(aU(t),t.lineIndent=0,C=t.input.charCodeAt(t.position);(!c||t.lineIndentf&&(f=t.lineIndent),qf(C)){p++;continue}if(t.lineIndente)&&p!==0)Rr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(yE(t,e,Rx,!0,a)&&(I?S=t.result:P=t.result),I||(mE(t,h,E,C,S,P,n,c),C=S=P=null),as(t,!0,-1),N=t.input.charCodeAt(t.position)),t.lineIndent>e&&N!==0)Rr(t,"bad indentation of a mapping entry");else if(t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),C=0,S=t.implicitTypes.length;C tag; it should be "'+P.kind+'", not "'+t.kind+'"'),P.resolve(t.result)?(t.result=P.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Rr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):Rr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||E}function gze(t){var e=t.position,r,s,a,n=!1,c;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(c=t.input.charCodeAt(t.position))!==0&&(as(t,!0,-1),c=t.input.charCodeAt(t.position),!(t.lineIndent>0||c!==37));){for(n=!0,c=t.input.charCodeAt(++t.position),r=t.position;c!==0&&!nl(c);)c=t.input.charCodeAt(++t.position);for(s=t.input.slice(r,t.position),a=[],s.length<1&&Rr(t,"directive name must not be less than one character in length");c!==0;){for(;Td(c);)c=t.input.charCodeAt(++t.position);if(c===35){do c=t.input.charCodeAt(++t.position);while(c!==0&&!qf(c));break}if(qf(c))break;for(r=t.position;c!==0&&!nl(c);)c=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}c!==0&&aU(t),a0.call(fre,s)?fre[s](t,s,a):Fx(t,'unknown document directive "'+s+'"')}if(as(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,as(t,!0,-1)):n&&Rr(t,"directives end mark is expected"),yE(t,t.lineIndent-1,Rx,!1,!0),as(t,!0,-1),t.checkLineBreaks&&$Je.test(t.input.slice(e,t.position))&&Fx(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Nx(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,as(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var s=Bre(t,r);if(typeof e!="function")return s;for(var a=0,n=s.length;a"u"&&(r=e,e=null),vre(t,e,wp.extend({schema:gre},r))}function mze(t,e){return Sre(t,wp.extend({schema:gre},e))}V2.exports.loadAll=vre;V2.exports.load=Sre;V2.exports.safeLoadAll=dze;V2.exports.safeLoad=mze});var Jre=L((m9t,AU)=>{"use strict";var J2=Pd(),z2=pE(),yze=Y2(),Eze=gE(),Fre=Object.prototype.toString,Nre=Object.prototype.hasOwnProperty,Ize=9,K2=10,Cze=13,wze=32,Bze=33,vze=34,Ore=35,Sze=37,Dze=38,bze=39,Pze=42,Lre=44,xze=45,Mre=58,kze=61,Qze=62,Tze=63,Rze=64,_re=91,Ure=93,Fze=96,Hre=123,Nze=124,jre=125,jo={};jo[0]="\\0";jo[7]="\\a";jo[8]="\\b";jo[9]="\\t";jo[10]="\\n";jo[11]="\\v";jo[12]="\\f";jo[13]="\\r";jo[27]="\\e";jo[34]='\\"';jo[92]="\\\\";jo[133]="\\N";jo[160]="\\_";jo[8232]="\\L";jo[8233]="\\P";var Oze=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function Lze(t,e){var r,s,a,n,c,f,p;if(e===null)return{};for(r={},s=Object.keys(e),a=0,n=s.length;a0?t.charCodeAt(n-1):null,S=S&&xre(c,f)}else{for(n=0;ns&&t[C+1]!==" ",C=n);else if(!EE(c))return Ox;f=n>0?t.charCodeAt(n-1):null,S=S&&xre(c,f)}h=h||E&&n-C-1>s&&t[C+1]!==" "}return!p&&!h?S&&!a(t)?Gre:Wre:r>9&&qre(t)?Ox:h?Vre:Yre}function qze(t,e,r,s){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&Oze.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),c=s||t.flowLevel>-1&&r>=t.flowLevel;function f(p){return _ze(t,p)}switch(jze(e,c,t.indent,n,f)){case Gre:return e;case Wre:return"'"+e.replace(/'/g,"''")+"'";case Yre:return"|"+kre(e,t.indent)+Qre(Pre(e,a));case Vre:return">"+kre(e,t.indent)+Qre(Pre(Gze(e,n),a));case Ox:return'"'+Wze(e,n)+'"';default:throw new z2("impossible error: invalid scalar style")}}()}function kre(t,e){var r=qre(t)?String(e):"",s=t[t.length-1]===` +`,a=s&&(t[t.length-2]===` +`||t===` +`),n=a?"+":s?"":"-";return r+n+` +`}function Qre(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function Gze(t,e){for(var r=/(\n+)([^\n]*)/g,s=function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,Tre(t.slice(0,h),e)}(),a=t[0]===` +`||t[0]===" ",n,c;c=r.exec(t);){var f=c[1],p=c[2];n=p[0]===" ",s+=f+(!a&&!n&&p!==""?` +`:"")+Tre(p,e),a=n}return s}function Tre(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,s,a=0,n,c=0,f=0,p="";s=r.exec(t);)f=s.index,f-a>e&&(n=c>a?c:f,p+=` +`+t.slice(a,n),a=n+1),c=f;return p+=` +`,t.length-a>e&&c>a?p+=t.slice(a,c)+` +`+t.slice(c+1):p+=t.slice(a),p.slice(1)}function Wze(t){for(var e="",r,s,a,n=0;n=55296&&r<=56319&&(s=t.charCodeAt(n+1),s>=56320&&s<=57343)){e+=bre((r-55296)*1024+s-56320+65536),n++;continue}a=jo[r],e+=!a&&EE(r)?t[n]:a||bre(r)}return e}function Yze(t,e,r){var s="",a=t.tag,n,c;for(n=0,c=r.length;n1024&&(E+="? "),E+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Rd(t,e,h,!1,!1)&&(E+=t.dump,s+=E));t.tag=a,t.dump="{"+s+"}"}function Jze(t,e,r,s){var a="",n=t.tag,c=Object.keys(r),f,p,h,E,C,S;if(t.sortKeys===!0)c.sort();else if(typeof t.sortKeys=="function")c.sort(t.sortKeys);else if(t.sortKeys)throw new z2("sortKeys must be a boolean or a function");for(f=0,p=c.length;f1024,C&&(t.dump&&K2===t.dump.charCodeAt(0)?S+="?":S+="? "),S+=t.dump,C&&(S+=cU(t,e)),Rd(t,e+1,E,!0,C)&&(t.dump&&K2===t.dump.charCodeAt(0)?S+=":":S+=": ",S+=t.dump,a+=S));t.tag=n,t.dump=a||"{}"}function Rre(t,e,r){var s,a,n,c,f,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,c=a.length;n tag resolver accepts not "'+p+'" style');t.dump=s}return!0}return!1}function Rd(t,e,r,s,a,n){t.tag=null,t.dump=r,Rre(t,r,!1)||Rre(t,r,!0);var c=Fre.call(t.dump);s&&(s=t.flowLevel<0||t.flowLevel>e);var f=c==="[object Object]"||c==="[object Array]",p,h;if(f&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(f&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),c==="[object Object]")s&&Object.keys(t.dump).length!==0?(Jze(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(Kze(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(c==="[object Array]"){var E=t.noArrayIndent&&e>0?e-1:e;s&&t.dump.length!==0?(Vze(t,E,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(Yze(t,E,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(c==="[object String]")t.tag!=="?"&&qze(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new z2("unacceptable kind of an object to dump "+c)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function zze(t,e){var r=[],s=[],a,n;for(uU(t,r,s),a=0,n=s.length;a{"use strict";var Lx=Dre(),zre=Jre();function Mx(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Gi.exports.Type=Ds();Gi.exports.Schema=xd();Gi.exports.FAILSAFE_SCHEMA=kx();Gi.exports.JSON_SCHEMA=nU();Gi.exports.CORE_SCHEMA=iU();Gi.exports.DEFAULT_SAFE_SCHEMA=gE();Gi.exports.DEFAULT_FULL_SCHEMA=Y2();Gi.exports.load=Lx.load;Gi.exports.loadAll=Lx.loadAll;Gi.exports.safeLoad=Lx.safeLoad;Gi.exports.safeLoadAll=Lx.safeLoadAll;Gi.exports.dump=zre.dump;Gi.exports.safeDump=zre.safeDump;Gi.exports.YAMLException=pE();Gi.exports.MINIMAL_SCHEMA=kx();Gi.exports.SAFE_SCHEMA=gE();Gi.exports.DEFAULT_SCHEMA=Y2();Gi.exports.scan=Mx("scan");Gi.exports.parse=Mx("parse");Gi.exports.compose=Mx("compose");Gi.exports.addConstructor=Mx("addConstructor")});var $re=L((E9t,Xre)=>{"use strict";var Xze=Zre();Xre.exports=Xze});var tne=L((I9t,ene)=>{"use strict";function $ze(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Fd(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Fd)}$ze(Fd,Error);Fd.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",C;for(C=0;C0){for(C=1,S=1;C({[ht]:Oe})))},Ae=function(ee){return ee},ce=function(ee){return ee},me=La("correct indentation"),pe=" ",Be=dn(" ",!1),Ce=function(ee){return ee.length===lr*St},g=function(ee){return ee.length===(lr+1)*St},we=function(){return lr++,!0},Ee=function(){return lr--,!0},fe=function(){return ca()},se=La("pseudostring"),X=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,De=Jn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Re=/^[^\r\n\t ,\][{}:#"']/,gt=Jn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),j=function(){return ca().replace(/^ *| *$/g,"")},rt="--",Fe=dn("--",!1),Ne=/^[a-zA-Z\/0-9]/,Pe=Jn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ye=/^[^\r\n\t :,]/,ke=Jn(["\r",` +`," "," ",":",","],!0,!1),it="null",_e=dn("null",!1),x=function(){return null},w="true",b=dn("true",!1),y=function(){return!0},F="false",z=dn("false",!1),Z=function(){return!1},$=La("string"),oe='"',xe=dn('"',!1),Te=function(){return""},lt=function(ee){return ee},Et=function(ee){return ee.join("")},qt=/^[^"\\\0-\x1F\x7F]/,ir=Jn(['"',"\\",["\0",""],"\x7F"],!0,!1),Pt='\\"',gn=dn('\\"',!1),Pr=function(){return'"'},Ir="\\\\",Nr=dn("\\\\",!1),nn=function(){return"\\"},oi="\\/",wo=dn("\\/",!1),rs=function(){return"/"},eo="\\b",Bo=dn("\\b",!1),Hi=function(){return"\b"},to="\\f",vo=dn("\\f",!1),RA=function(){return"\f"},pf="\\n",Eh=dn("\\n",!1),Ih=function(){return` +`},ro="\\r",jn=dn("\\r",!1),Rs=function(){return"\r"},no="\\t",lu=dn("\\t",!1),cu=function(){return" "},uu="\\u",FA=dn("\\u",!1),NA=function(ee,Ie,Oe,ht){return String.fromCharCode(parseInt(`0x${ee}${Ie}${Oe}${ht}`))},aa=/^[0-9a-fA-F]/,la=Jn([["0","9"],["a","f"],["A","F"]],!1,!1),OA=La("blank space"),gr=/^[ \t]/,So=Jn([" "," "],!1,!1),Me=La("white space"),fu=/^[ \t\n\r]/,Cr=Jn([" "," ",` +`,"\r"],!1,!1),hf=`\r +`,LA=dn(`\r +`,!1),MA=` +`,Au=dn(` +`,!1),pu="\r",ac=dn("\r",!1),ve=0,Nt=0,lc=[{line:1,column:1}],Ni=0,io=[],Rt=0,xn;if("startRule"in e){if(!(e.startRule in s))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=s[e.startRule]}function ca(){return t.substring(Nt,ve)}function ji(){return Ua(Nt,ve)}function Oi(ee,Ie){throw Ie=Ie!==void 0?Ie:Ua(Nt,ve),gf([La(ee)],t.substring(Nt,ve),Ie)}function Oa(ee,Ie){throw Ie=Ie!==void 0?Ie:Ua(Nt,ve),Ha(ee,Ie)}function dn(ee,Ie){return{type:"literal",text:ee,ignoreCase:Ie}}function Jn(ee,Ie,Oe){return{type:"class",parts:ee,inverted:Ie,ignoreCase:Oe}}function hu(){return{type:"any"}}function Ch(){return{type:"end"}}function La(ee){return{type:"other",description:ee}}function Ma(ee){var Ie=lc[ee],Oe;if(Ie)return Ie;for(Oe=ee-1;!lc[Oe];)Oe--;for(Ie=lc[Oe],Ie={line:Ie.line,column:Ie.column};OeNi&&(Ni=ve,io=[]),io.push(ee))}function Ha(ee,Ie){return new Fd(ee,null,null,Ie)}function gf(ee,Ie,Oe){return new Fd(Fd.buildMessage(ee,Ie),ee,Ie,Oe)}function cc(){var ee;return ee=_A(),ee}function wn(){var ee,Ie,Oe;for(ee=ve,Ie=[],Oe=ua();Oe!==r;)Ie.push(Oe),Oe=ua();return Ie!==r&&(Nt=ee,Ie=n(Ie)),ee=Ie,ee}function ua(){var ee,Ie,Oe,ht,mt;return ee=ve,Ie=vl(),Ie!==r?(t.charCodeAt(ve)===45?(Oe=c,ve++):(Oe=r,Rt===0&&Xe(f)),Oe!==r?(ht=Qn(),ht!==r?(mt=fa(),mt!==r?(Nt=ee,Ie=p(mt),ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r),ee}function _A(){var ee,Ie,Oe;for(ee=ve,Ie=[],Oe=UA();Oe!==r;)Ie.push(Oe),Oe=UA();return Ie!==r&&(Nt=ee,Ie=h(Ie)),ee=Ie,ee}function UA(){var ee,Ie,Oe,ht,mt,Dt,tr,fn,ai;if(ee=ve,Ie=Qn(),Ie===r&&(Ie=null),Ie!==r){if(Oe=ve,t.charCodeAt(ve)===35?(ht=E,ve++):(ht=r,Rt===0&&Xe(C)),ht!==r){if(mt=[],Dt=ve,tr=ve,Rt++,fn=st(),Rt--,fn===r?tr=void 0:(ve=tr,tr=r),tr!==r?(t.length>ve?(fn=t.charAt(ve),ve++):(fn=r,Rt===0&&Xe(S)),fn!==r?(tr=[tr,fn],Dt=tr):(ve=Dt,Dt=r)):(ve=Dt,Dt=r),Dt!==r)for(;Dt!==r;)mt.push(Dt),Dt=ve,tr=ve,Rt++,fn=st(),Rt--,fn===r?tr=void 0:(ve=tr,tr=r),tr!==r?(t.length>ve?(fn=t.charAt(ve),ve++):(fn=r,Rt===0&&Xe(S)),fn!==r?(tr=[tr,fn],Dt=tr):(ve=Dt,Dt=r)):(ve=Dt,Dt=r);else mt=r;mt!==r?(ht=[ht,mt],Oe=ht):(ve=Oe,Oe=r)}else ve=Oe,Oe=r;if(Oe===r&&(Oe=null),Oe!==r){if(ht=[],mt=Je(),mt!==r)for(;mt!==r;)ht.push(mt),mt=Je();else ht=r;ht!==r?(Nt=ee,Ie=P(),ee=Ie):(ve=ee,ee=r)}else ve=ee,ee=r}else ve=ee,ee=r;if(ee===r&&(ee=ve,Ie=vl(),Ie!==r?(Oe=ja(),Oe!==r?(ht=Qn(),ht===r&&(ht=null),ht!==r?(t.charCodeAt(ve)===58?(mt=I,ve++):(mt=r,Rt===0&&Xe(R)),mt!==r?(Dt=Qn(),Dt===r&&(Dt=null),Dt!==r?(tr=fa(),tr!==r?(Nt=ee,Ie=N(Oe,tr),ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r),ee===r&&(ee=ve,Ie=vl(),Ie!==r?(Oe=ns(),Oe!==r?(ht=Qn(),ht===r&&(ht=null),ht!==r?(t.charCodeAt(ve)===58?(mt=I,ve++):(mt=r,Rt===0&&Xe(R)),mt!==r?(Dt=Qn(),Dt===r&&(Dt=null),Dt!==r?(tr=fa(),tr!==r?(Nt=ee,Ie=N(Oe,tr),ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r),ee===r))){if(ee=ve,Ie=vl(),Ie!==r)if(Oe=ns(),Oe!==r)if(ht=Qn(),ht!==r)if(mt=gu(),mt!==r){if(Dt=[],tr=Je(),tr!==r)for(;tr!==r;)Dt.push(tr),tr=Je();else Dt=r;Dt!==r?(Nt=ee,Ie=N(Oe,mt),ee=Ie):(ve=ee,ee=r)}else ve=ee,ee=r;else ve=ee,ee=r;else ve=ee,ee=r;else ve=ee,ee=r;if(ee===r)if(ee=ve,Ie=vl(),Ie!==r)if(Oe=ns(),Oe!==r){if(ht=[],mt=ve,Dt=Qn(),Dt===r&&(Dt=null),Dt!==r?(t.charCodeAt(ve)===44?(tr=U,ve++):(tr=r,Rt===0&&Xe(W)),tr!==r?(fn=Qn(),fn===r&&(fn=null),fn!==r?(ai=ns(),ai!==r?(Nt=mt,Dt=te(Oe,ai),mt=Dt):(ve=mt,mt=r)):(ve=mt,mt=r)):(ve=mt,mt=r)):(ve=mt,mt=r),mt!==r)for(;mt!==r;)ht.push(mt),mt=ve,Dt=Qn(),Dt===r&&(Dt=null),Dt!==r?(t.charCodeAt(ve)===44?(tr=U,ve++):(tr=r,Rt===0&&Xe(W)),tr!==r?(fn=Qn(),fn===r&&(fn=null),fn!==r?(ai=ns(),ai!==r?(Nt=mt,Dt=te(Oe,ai),mt=Dt):(ve=mt,mt=r)):(ve=mt,mt=r)):(ve=mt,mt=r)):(ve=mt,mt=r);else ht=r;ht!==r?(mt=Qn(),mt===r&&(mt=null),mt!==r?(t.charCodeAt(ve)===58?(Dt=I,ve++):(Dt=r,Rt===0&&Xe(R)),Dt!==r?(tr=Qn(),tr===r&&(tr=null),tr!==r?(fn=fa(),fn!==r?(Nt=ee,Ie=ie(Oe,ht,fn),ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)}else ve=ee,ee=r;else ve=ee,ee=r}return ee}function fa(){var ee,Ie,Oe,ht,mt,Dt,tr;if(ee=ve,Ie=ve,Rt++,Oe=ve,ht=st(),ht!==r?(mt=Mt(),mt!==r?(t.charCodeAt(ve)===45?(Dt=c,ve++):(Dt=r,Rt===0&&Xe(f)),Dt!==r?(tr=Qn(),tr!==r?(ht=[ht,mt,Dt,tr],Oe=ht):(ve=Oe,Oe=r)):(ve=Oe,Oe=r)):(ve=Oe,Oe=r)):(ve=Oe,Oe=r),Rt--,Oe!==r?(ve=Ie,Ie=void 0):Ie=r,Ie!==r?(Oe=Je(),Oe!==r?(ht=kn(),ht!==r?(mt=wn(),mt!==r?(Dt=Aa(),Dt!==r?(Nt=ee,Ie=Ae(mt),ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r),ee===r&&(ee=ve,Ie=st(),Ie!==r?(Oe=kn(),Oe!==r?(ht=_A(),ht!==r?(mt=Aa(),mt!==r?(Nt=ee,Ie=Ae(ht),ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r),ee===r))if(ee=ve,Ie=uc(),Ie!==r){if(Oe=[],ht=Je(),ht!==r)for(;ht!==r;)Oe.push(ht),ht=Je();else Oe=r;Oe!==r?(Nt=ee,Ie=ce(Ie),ee=Ie):(ve=ee,ee=r)}else ve=ee,ee=r;return ee}function vl(){var ee,Ie,Oe;for(Rt++,ee=ve,Ie=[],t.charCodeAt(ve)===32?(Oe=pe,ve++):(Oe=r,Rt===0&&Xe(Be));Oe!==r;)Ie.push(Oe),t.charCodeAt(ve)===32?(Oe=pe,ve++):(Oe=r,Rt===0&&Xe(Be));return Ie!==r?(Nt=ve,Oe=Ce(Ie),Oe?Oe=void 0:Oe=r,Oe!==r?(Ie=[Ie,Oe],ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r),Rt--,ee===r&&(Ie=r,Rt===0&&Xe(me)),ee}function Mt(){var ee,Ie,Oe;for(ee=ve,Ie=[],t.charCodeAt(ve)===32?(Oe=pe,ve++):(Oe=r,Rt===0&&Xe(Be));Oe!==r;)Ie.push(Oe),t.charCodeAt(ve)===32?(Oe=pe,ve++):(Oe=r,Rt===0&&Xe(Be));return Ie!==r?(Nt=ve,Oe=g(Ie),Oe?Oe=void 0:Oe=r,Oe!==r?(Ie=[Ie,Oe],ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r),ee}function kn(){var ee;return Nt=ve,ee=we(),ee?ee=void 0:ee=r,ee}function Aa(){var ee;return Nt=ve,ee=Ee(),ee?ee=void 0:ee=r,ee}function ja(){var ee;return ee=Sl(),ee===r&&(ee=fc()),ee}function ns(){var ee,Ie,Oe;if(ee=Sl(),ee===r){if(ee=ve,Ie=[],Oe=qa(),Oe!==r)for(;Oe!==r;)Ie.push(Oe),Oe=qa();else Ie=r;Ie!==r&&(Nt=ee,Ie=fe()),ee=Ie}return ee}function uc(){var ee;return ee=Li(),ee===r&&(ee=Cs(),ee===r&&(ee=Sl(),ee===r&&(ee=fc()))),ee}function gu(){var ee;return ee=Li(),ee===r&&(ee=Sl(),ee===r&&(ee=qa())),ee}function fc(){var ee,Ie,Oe,ht,mt,Dt;if(Rt++,ee=ve,X.test(t.charAt(ve))?(Ie=t.charAt(ve),ve++):(Ie=r,Rt===0&&Xe(De)),Ie!==r){for(Oe=[],ht=ve,mt=Qn(),mt===r&&(mt=null),mt!==r?(Re.test(t.charAt(ve))?(Dt=t.charAt(ve),ve++):(Dt=r,Rt===0&&Xe(gt)),Dt!==r?(mt=[mt,Dt],ht=mt):(ve=ht,ht=r)):(ve=ht,ht=r);ht!==r;)Oe.push(ht),ht=ve,mt=Qn(),mt===r&&(mt=null),mt!==r?(Re.test(t.charAt(ve))?(Dt=t.charAt(ve),ve++):(Dt=r,Rt===0&&Xe(gt)),Dt!==r?(mt=[mt,Dt],ht=mt):(ve=ht,ht=r)):(ve=ht,ht=r);Oe!==r?(Nt=ee,Ie=j(),ee=Ie):(ve=ee,ee=r)}else ve=ee,ee=r;return Rt--,ee===r&&(Ie=r,Rt===0&&Xe(se)),ee}function qa(){var ee,Ie,Oe,ht,mt;if(ee=ve,t.substr(ve,2)===rt?(Ie=rt,ve+=2):(Ie=r,Rt===0&&Xe(Fe)),Ie===r&&(Ie=null),Ie!==r)if(Ne.test(t.charAt(ve))?(Oe=t.charAt(ve),ve++):(Oe=r,Rt===0&&Xe(Pe)),Oe!==r){for(ht=[],Ye.test(t.charAt(ve))?(mt=t.charAt(ve),ve++):(mt=r,Rt===0&&Xe(ke));mt!==r;)ht.push(mt),Ye.test(t.charAt(ve))?(mt=t.charAt(ve),ve++):(mt=r,Rt===0&&Xe(ke));ht!==r?(Nt=ee,Ie=j(),ee=Ie):(ve=ee,ee=r)}else ve=ee,ee=r;else ve=ee,ee=r;return ee}function Li(){var ee,Ie;return ee=ve,t.substr(ve,4)===it?(Ie=it,ve+=4):(Ie=r,Rt===0&&Xe(_e)),Ie!==r&&(Nt=ee,Ie=x()),ee=Ie,ee}function Cs(){var ee,Ie;return ee=ve,t.substr(ve,4)===w?(Ie=w,ve+=4):(Ie=r,Rt===0&&Xe(b)),Ie!==r&&(Nt=ee,Ie=y()),ee=Ie,ee===r&&(ee=ve,t.substr(ve,5)===F?(Ie=F,ve+=5):(Ie=r,Rt===0&&Xe(z)),Ie!==r&&(Nt=ee,Ie=Z()),ee=Ie),ee}function Sl(){var ee,Ie,Oe,ht;return Rt++,ee=ve,t.charCodeAt(ve)===34?(Ie=oe,ve++):(Ie=r,Rt===0&&Xe(xe)),Ie!==r?(t.charCodeAt(ve)===34?(Oe=oe,ve++):(Oe=r,Rt===0&&Xe(xe)),Oe!==r?(Nt=ee,Ie=Te(),ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r),ee===r&&(ee=ve,t.charCodeAt(ve)===34?(Ie=oe,ve++):(Ie=r,Rt===0&&Xe(xe)),Ie!==r?(Oe=df(),Oe!==r?(t.charCodeAt(ve)===34?(ht=oe,ve++):(ht=r,Rt===0&&Xe(xe)),ht!==r?(Nt=ee,Ie=lt(Oe),ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)),Rt--,ee===r&&(Ie=r,Rt===0&&Xe($)),ee}function df(){var ee,Ie,Oe;if(ee=ve,Ie=[],Oe=Ac(),Oe!==r)for(;Oe!==r;)Ie.push(Oe),Oe=Ac();else Ie=r;return Ie!==r&&(Nt=ee,Ie=Et(Ie)),ee=Ie,ee}function Ac(){var ee,Ie,Oe,ht,mt,Dt;return qt.test(t.charAt(ve))?(ee=t.charAt(ve),ve++):(ee=r,Rt===0&&Xe(ir)),ee===r&&(ee=ve,t.substr(ve,2)===Pt?(Ie=Pt,ve+=2):(Ie=r,Rt===0&&Xe(gn)),Ie!==r&&(Nt=ee,Ie=Pr()),ee=Ie,ee===r&&(ee=ve,t.substr(ve,2)===Ir?(Ie=Ir,ve+=2):(Ie=r,Rt===0&&Xe(Nr)),Ie!==r&&(Nt=ee,Ie=nn()),ee=Ie,ee===r&&(ee=ve,t.substr(ve,2)===oi?(Ie=oi,ve+=2):(Ie=r,Rt===0&&Xe(wo)),Ie!==r&&(Nt=ee,Ie=rs()),ee=Ie,ee===r&&(ee=ve,t.substr(ve,2)===eo?(Ie=eo,ve+=2):(Ie=r,Rt===0&&Xe(Bo)),Ie!==r&&(Nt=ee,Ie=Hi()),ee=Ie,ee===r&&(ee=ve,t.substr(ve,2)===to?(Ie=to,ve+=2):(Ie=r,Rt===0&&Xe(vo)),Ie!==r&&(Nt=ee,Ie=RA()),ee=Ie,ee===r&&(ee=ve,t.substr(ve,2)===pf?(Ie=pf,ve+=2):(Ie=r,Rt===0&&Xe(Eh)),Ie!==r&&(Nt=ee,Ie=Ih()),ee=Ie,ee===r&&(ee=ve,t.substr(ve,2)===ro?(Ie=ro,ve+=2):(Ie=r,Rt===0&&Xe(jn)),Ie!==r&&(Nt=ee,Ie=Rs()),ee=Ie,ee===r&&(ee=ve,t.substr(ve,2)===no?(Ie=no,ve+=2):(Ie=r,Rt===0&&Xe(lu)),Ie!==r&&(Nt=ee,Ie=cu()),ee=Ie,ee===r&&(ee=ve,t.substr(ve,2)===uu?(Ie=uu,ve+=2):(Ie=r,Rt===0&&Xe(FA)),Ie!==r?(Oe=wi(),Oe!==r?(ht=wi(),ht!==r?(mt=wi(),mt!==r?(Dt=wi(),Dt!==r?(Nt=ee,Ie=NA(Oe,ht,mt,Dt),ee=Ie):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)):(ve=ee,ee=r)))))))))),ee}function wi(){var ee;return aa.test(t.charAt(ve))?(ee=t.charAt(ve),ve++):(ee=r,Rt===0&&Xe(la)),ee}function Qn(){var ee,Ie;if(Rt++,ee=[],gr.test(t.charAt(ve))?(Ie=t.charAt(ve),ve++):(Ie=r,Rt===0&&Xe(So)),Ie!==r)for(;Ie!==r;)ee.push(Ie),gr.test(t.charAt(ve))?(Ie=t.charAt(ve),ve++):(Ie=r,Rt===0&&Xe(So));else ee=r;return Rt--,ee===r&&(Ie=r,Rt===0&&Xe(OA)),ee}function pc(){var ee,Ie;if(Rt++,ee=[],fu.test(t.charAt(ve))?(Ie=t.charAt(ve),ve++):(Ie=r,Rt===0&&Xe(Cr)),Ie!==r)for(;Ie!==r;)ee.push(Ie),fu.test(t.charAt(ve))?(Ie=t.charAt(ve),ve++):(Ie=r,Rt===0&&Xe(Cr));else ee=r;return Rt--,ee===r&&(Ie=r,Rt===0&&Xe(Me)),ee}function Je(){var ee,Ie,Oe,ht,mt,Dt;if(ee=ve,Ie=st(),Ie!==r){for(Oe=[],ht=ve,mt=Qn(),mt===r&&(mt=null),mt!==r?(Dt=st(),Dt!==r?(mt=[mt,Dt],ht=mt):(ve=ht,ht=r)):(ve=ht,ht=r);ht!==r;)Oe.push(ht),ht=ve,mt=Qn(),mt===r&&(mt=null),mt!==r?(Dt=st(),Dt!==r?(mt=[mt,Dt],ht=mt):(ve=ht,ht=r)):(ve=ht,ht=r);Oe!==r?(Ie=[Ie,Oe],ee=Ie):(ve=ee,ee=r)}else ve=ee,ee=r;return ee}function st(){var ee;return t.substr(ve,2)===hf?(ee=hf,ve+=2):(ee=r,Rt===0&&Xe(LA)),ee===r&&(t.charCodeAt(ve)===10?(ee=MA,ve++):(ee=r,Rt===0&&Xe(Au)),ee===r&&(t.charCodeAt(ve)===13?(ee=pu,ve++):(ee=r,Rt===0&&Xe(ac)))),ee}let St=2,lr=0;if(xn=a(),xn!==r&&ve===t.length)return xn;throw xn!==r&&ve"u"?!0:typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.keys(t).every(e=>sne(t[e])):!1}function pU(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${nne(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let s=" ".repeat(e);return` +${t.map(n=>`${s}- ${pU(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[s,a]=t instanceof _x?[t.data,!1]:[t,!0],n=" ".repeat(e),c=Object.keys(s);a&&c.sort((p,h)=>{let E=rne.indexOf(p),C=rne.indexOf(h);return E===-1&&C===-1?ph?1:0:E!==-1&&C===-1?-1:E===-1&&C!==-1?1:E-C});let f=c.filter(p=>!sne(s[p])).map((p,h)=>{let E=s[p],C=nne(p),S=pU(E,e+1,!0),P=h>0||r?n:"",I=C.length>1024?`? ${C} +${P}:`:`${C}:`,R=S.startsWith(` +`)?S:` ${S}`;return`${P}${I}${R}`}).join(e===0?` +`:"")||` +`;return r?` +${f}`:`${f}`}throw new Error(`Unsupported value type (${t})`)}function il(t){try{let e=pU(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function rZe(t){return t.endsWith(` +`)||(t+=` +`),(0,ine.parse)(t)}function iZe(t){if(nZe.test(t))return rZe(t);let e=(0,Ux.safeLoad)(t,{schema:Ux.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function ls(t){return iZe(t)}var Ux,ine,tZe,rne,_x,nZe,one=It(()=>{Ux=et($re()),ine=et(tne()),tZe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,rne=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],_x=class{constructor(e){this.data=e}};il.PreserveOrdering=_x;nZe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var Z2={};Vt(Z2,{parseResolution:()=>bx,parseShell:()=>vx,parseSyml:()=>ls,stringifyArgument:()=>$_,stringifyArgumentSegment:()=>eU,stringifyArithmeticExpression:()=>Dx,stringifyCommand:()=>X_,stringifyCommandChain:()=>AE,stringifyCommandChainThen:()=>Z_,stringifyCommandLine:()=>Sx,stringifyCommandLineThen:()=>z_,stringifyEnvSegment:()=>Bx,stringifyRedirectArgument:()=>G2,stringifyResolution:()=>Px,stringifyShell:()=>fE,stringifyShellLine:()=>fE,stringifySyml:()=>il,stringifyValueArgument:()=>Sd});var Bc=It(()=>{ste();cte();one()});var lne=L((S9t,hU)=>{"use strict";var sZe=t=>{let e=!1,r=!1,s=!1;for(let a=0;a{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=sZe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};hU.exports=ane;hU.exports.default=ane});var cne=L((D9t,oZe)=>{oZe.exports=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var Nd=L(_l=>{"use strict";var fne=cne(),bs=process.env;Object.defineProperty(_l,"_vendors",{value:fne.map(function(t){return t.constant})});_l.name=null;_l.isPR=null;fne.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(s){return une(s)});if(_l[t.constant]=r,!!r)switch(_l.name=t.name,typeof t.pr){case"string":_l.isPR=!!bs[t.pr];break;case"object":"env"in t.pr?_l.isPR=t.pr.env in bs&&bs[t.pr.env]!==t.pr.ne:"any"in t.pr?_l.isPR=t.pr.any.some(function(s){return!!bs[s]}):_l.isPR=une(t.pr);break;default:_l.isPR=null}});_l.isCI=!!(bs.CI!=="false"&&(bs.BUILD_ID||bs.BUILD_NUMBER||bs.CI||bs.CI_APP_ID||bs.CI_BUILD_ID||bs.CI_BUILD_NUMBER||bs.CI_NAME||bs.CONTINUOUS_INTEGRATION||bs.RUN_ID||_l.name));function une(t){return typeof t=="string"?!!bs[t]:"env"in t?bs[t.env]&&bs[t.env].includes(t.includes):"any"in t?t.any.some(function(e){return!!bs[e]}):Object.keys(t).every(function(e){return bs[e]===t[e]})}});var ei,En,Od,gU,Hx,Ane,dU,mU,jx=It(()=>{(function(t){t.StartOfInput="\0",t.EndOfInput="",t.EndOfPartialInput=""})(ei||(ei={}));(function(t){t[t.InitialNode=0]="InitialNode",t[t.SuccessNode=1]="SuccessNode",t[t.ErrorNode=2]="ErrorNode",t[t.CustomNode=3]="CustomNode"})(En||(En={}));Od=-1,gU=/^(-h|--help)(?:=([0-9]+))?$/,Hx=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,Ane=/^-[a-zA-Z]{2,}$/,dU=/^([^=]+)=([\s\S]*)$/,mU=process.env.DEBUG_CLI==="1"});var nt,IE,qx,yU,Gx=It(()=>{jx();nt=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},IE=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(s=>s.reason!==null&&s.reason===r[0].reason)){let[{reason:s}]=this.candidates;this.message=`${s} + +${this.candidates.map(({usage:a})=>`$ ${a}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:s}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${s} +${yU(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:s},a)=>`${`${a}.`.padStart(4)} ${s}`).join(` +`)} + +${yU(e)}`}},qx=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((s,a)=>`${`${a}.`.padStart(4)} ${s}`).join(` +`)} + +${yU(e)}`}},yU=t=>`While running ${t.filter(e=>e!==ei.EndOfInput&&e!==ei.EndOfPartialInput).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function aZe(t){let e=t.split(` +`),r=e.filter(a=>a.match(/\S/)),s=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(s).trimRight()).join(` +`)}function qo(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=aZe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,(s,a)=>a||" "),r&&(t=t.split(/\n/).map(s=>{let a=s.match(/^\s*[*-][\t ]+(.*)/);if(!a)return s.match(/(.{1,80})(?: |$)/g).join(` +`);let n=s.length-s.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((c,f)=>" ".repeat(n)+(f===0?"- ":" ")+c).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(s,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(s,a,n)=>e.bold(a+n+a)),t?`${t} +`:""}var EU,pne,hne,IU=It(()=>{EU=Array(80).fill("\u2501");for(let t=0;t<=24;++t)EU[EU.length-t]=`\x1B[38;5;${232+t}m\u2501`;pne={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<75?` ${EU.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},hne={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function Ea(t){return{...t,[X2]:!0}}function Gf(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function Wx(t,{mergeName:e=!1}={}){let r=t.match(/^([^:]+): (.*)$/m);if(!r)return"validation failed";let[,s,a]=r;return e&&(a=a[0].toLowerCase()+a.slice(1)),a=s!=="."||!e?`${s.replace(/^\.(\[|$)/,"$1")}: ${a}`:`: ${a}`,a}function $2(t,e){return e.length===1?new nt(`${t}${Wx(e[0],{mergeName:!0})}`):new nt(`${t}: +${e.map(r=>` +- ${Wx(r)}`).join("")}`)}function Ld(t,e,r){if(typeof r>"u")return e;let s=[],a=[],n=f=>{let p=e;return e=f,n.bind(null,p)};if(!r(e,{errors:s,coercions:a,coercion:n}))throw $2(`Invalid value for ${t}`,s);for(let[,f]of a)f();return e}var X2,Bp=It(()=>{Gx();X2=Symbol("clipanion/isOption")});var Ia={};Vt(Ia,{KeyRelationship:()=>Wf,TypeAssertionError:()=>c0,applyCascade:()=>rB,as:()=>DZe,assert:()=>BZe,assertWithErrors:()=>vZe,cascade:()=>Jx,fn:()=>bZe,hasAtLeastOneKey:()=>bU,hasExactLength:()=>Ene,hasForbiddenKeys:()=>YZe,hasKeyRelationship:()=>iB,hasMaxLength:()=>xZe,hasMinLength:()=>PZe,hasMutuallyExclusiveKeys:()=>VZe,hasRequiredKeys:()=>WZe,hasUniqueItems:()=>kZe,isArray:()=>Yx,isAtLeast:()=>SU,isAtMost:()=>RZe,isBase64:()=>HZe,isBoolean:()=>gZe,isDate:()=>mZe,isDict:()=>IZe,isEnum:()=>Ao,isHexColor:()=>UZe,isISO8601:()=>_Ze,isInExclusiveRange:()=>NZe,isInInclusiveRange:()=>FZe,isInstanceOf:()=>wZe,isInteger:()=>DU,isJSON:()=>jZe,isLiteral:()=>dne,isLowerCase:()=>OZe,isMap:()=>EZe,isNegative:()=>QZe,isNullable:()=>GZe,isNumber:()=>BU,isObject:()=>mne,isOneOf:()=>vU,isOptional:()=>qZe,isPartial:()=>CZe,isPayload:()=>dZe,isPositive:()=>TZe,isRecord:()=>Kx,isSet:()=>yZe,isString:()=>wE,isTuple:()=>Vx,isUUID4:()=>MZe,isUnknown:()=>wU,isUpperCase:()=>LZe,makeTrait:()=>yne,makeValidator:()=>Wr,matchesRegExp:()=>tB,softAssert:()=>SZe});function ti(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":typeof t=="symbol"?`<${t.toString()}>`:Array.isArray(t)?"an array":JSON.stringify(t)}function CE(t,e){if(t.length===0)return"nothing";if(t.length===1)return ti(t[0]);let r=t.slice(0,-1),s=t[t.length-1],a=t.length>2?`, ${e} `:` ${e} `;return`${r.map(n=>ti(n)).join(", ")}${a}${ti(s)}`}function l0(t,e){var r,s,a;return typeof e=="number"?`${(r=t?.p)!==null&&r!==void 0?r:"."}[${e}]`:lZe.test(e)?`${(s=t?.p)!==null&&s!==void 0?s:""}.${e}`:`${(a=t?.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function CU(t,e,r){return t===1?e:r}function mr({errors:t,p:e}={},r){return t?.push(`${e??"."}: ${r}`),!1}function pZe(t,e){return r=>{t[e]=r}}function Yf(t,e){return r=>{let s=t[e];return t[e]=r,Yf(t,e).bind(null,s)}}function eB(t,e,r){let s=()=>(t(r()),a),a=()=>(t(e),s);return s}function wU(){return Wr({test:(t,e)=>!0})}function dne(t){return Wr({test:(e,r)=>e!==t?mr(r,`Expected ${ti(t)} (got ${ti(e)})`):!0})}function wE(){return Wr({test:(t,e)=>typeof t!="string"?mr(e,`Expected a string (got ${ti(t)})`):!0})}function Ao(t){let e=Array.isArray(t)?t:Object.values(t),r=e.every(a=>typeof a=="string"||typeof a=="number"),s=new Set(e);return s.size===1?dne([...s][0]):Wr({test:(a,n)=>s.has(a)?!0:r?mr(n,`Expected one of ${CE(e,"or")} (got ${ti(a)})`):mr(n,`Expected a valid enumeration value (got ${ti(a)})`)})}function gZe(){return Wr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return mr(e,"Unbound coercion result");let s=hZe.get(t);if(typeof s<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,s)]),!0}return mr(e,`Expected a boolean (got ${ti(t)})`)}return!0}})}function BU(){return Wr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return mr(e,"Unbound coercion result");let s;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)s=a;else return mr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof s<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,s)]),!0}return mr(e,`Expected a number (got ${ti(t)})`)}return!0}})}function dZe(t){return Wr({test:(e,r)=>{var s;if(typeof r?.coercions>"u")return mr(r,"The isPayload predicate can only be used with coercion enabled");if(typeof r.coercion>"u")return mr(r,"Unbound coercion result");if(typeof e!="string")return mr(r,`Expected a string (got ${ti(e)})`);let a;try{a=JSON.parse(e)}catch{return mr(r,`Expected a JSON string (got ${ti(e)})`)}let n={value:a};return t(a,Object.assign(Object.assign({},r),{coercion:Yf(n,"value")}))?(r.coercions.push([(s=r.p)!==null&&s!==void 0?s:".",r.coercion.bind(null,n.value)]),!0):!1}})}function mZe(){return Wr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return mr(e,"Unbound coercion result");let s;if(typeof t=="string"&&gne.test(t))s=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))s=new Date(a*1e3);else return mr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof s<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,s)]),!0}return mr(e,`Expected a date (got ${ti(t)})`)}return!0}})}function Yx(t,{delimiter:e}={}){return Wr({test:(r,s)=>{var a;let n=r;if(typeof r=="string"&&typeof e<"u"&&typeof s?.coercions<"u"){if(typeof s?.coercion>"u")return mr(s,"Unbound coercion result");r=r.split(e)}if(!Array.isArray(r))return mr(s,`Expected an array (got ${ti(r)})`);let c=!0;for(let f=0,p=r.length;f{var n,c;if(Object.getPrototypeOf(s).toString()==="[object Set]")if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return mr(a,"Unbound coercion result");let f=[...s],p=[...s];if(!r(p,Object.assign(Object.assign({},a),{coercion:void 0})))return!1;let h=()=>p.some((E,C)=>E!==f[C])?new Set(p):s;return a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",eB(a.coercion,s,h)]),!0}else{let f=!0;for(let p of s)if(f=t(p,Object.assign({},a))&&f,!f&&a?.errors==null)break;return f}if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return mr(a,"Unbound coercion result");let f={value:s};return r(s,Object.assign(Object.assign({},a),{coercion:Yf(f,"value")}))?(a.coercions.push([(c=a.p)!==null&&c!==void 0?c:".",eB(a.coercion,s,()=>new Set(f.value))]),!0):!1}return mr(a,`Expected a set (got ${ti(s)})`)}})}function EZe(t,e){let r=Yx(Vx([t,e])),s=Kx(e,{keys:t});return Wr({test:(a,n)=>{var c,f,p;if(Object.getPrototypeOf(a).toString()==="[object Map]")if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return mr(n,"Unbound coercion result");let h=[...a],E=[...a];if(!r(E,Object.assign(Object.assign({},n),{coercion:void 0})))return!1;let C=()=>E.some((S,P)=>S[0]!==h[P][0]||S[1]!==h[P][1])?new Map(E):a;return n.coercions.push([(c=n.p)!==null&&c!==void 0?c:".",eB(n.coercion,a,C)]),!0}else{let h=!0;for(let[E,C]of a)if(h=t(E,Object.assign({},n))&&h,!h&&n?.errors==null||(h=e(C,Object.assign(Object.assign({},n),{p:l0(n,E)}))&&h,!h&&n?.errors==null))break;return h}if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return mr(n,"Unbound coercion result");let h={value:a};return Array.isArray(a)?r(a,Object.assign(Object.assign({},n),{coercion:void 0}))?(n.coercions.push([(f=n.p)!==null&&f!==void 0?f:".",eB(n.coercion,a,()=>new Map(h.value))]),!0):!1:s(a,Object.assign(Object.assign({},n),{coercion:Yf(h,"value")}))?(n.coercions.push([(p=n.p)!==null&&p!==void 0?p:".",eB(n.coercion,a,()=>new Map(Object.entries(h.value)))]),!0):!1}return mr(n,`Expected a map (got ${ti(a)})`)}})}function Vx(t,{delimiter:e}={}){let r=Ene(t.length);return Wr({test:(s,a)=>{var n;if(typeof s=="string"&&typeof e<"u"&&typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return mr(a,"Unbound coercion result");s=s.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,s)])}if(!Array.isArray(s))return mr(a,`Expected a tuple (got ${ti(s)})`);let c=r(s,Object.assign({},a));for(let f=0,p=s.length;f{var n;if(Array.isArray(s)&&typeof a?.coercions<"u")return typeof a?.coercion>"u"?mr(a,"Unbound coercion result"):r(s,Object.assign(Object.assign({},a),{coercion:void 0}))?(s=Object.fromEntries(s),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,s)]),!0):!1;if(typeof s!="object"||s===null)return mr(a,`Expected an object (got ${ti(s)})`);let c=Object.keys(s),f=!0;for(let p=0,h=c.length;p{if(typeof a!="object"||a===null)return mr(n,`Expected an object (got ${ti(a)})`);let c=new Set([...r,...Object.keys(a)]),f={},p=!0;for(let h of c){if(h==="constructor"||h==="__proto__")p=mr(Object.assign(Object.assign({},n),{p:l0(n,h)}),"Unsafe property name");else{let E=Object.prototype.hasOwnProperty.call(t,h)?t[h]:void 0,C=Object.prototype.hasOwnProperty.call(a,h)?a[h]:void 0;typeof E<"u"?p=E(C,Object.assign(Object.assign({},n),{p:l0(n,h),coercion:Yf(a,h)}))&&p:e===null?p=mr(Object.assign(Object.assign({},n),{p:l0(n,h)}),`Extraneous property (got ${ti(C)})`):Object.defineProperty(f,h,{enumerable:!0,get:()=>C,set:pZe(a,h)})}if(!p&&n?.errors==null)break}return e!==null&&(p||n?.errors!=null)&&(p=e(f,n)&&p),p}});return Object.assign(s,{properties:t})}function CZe(t){return mne(t,{extra:Kx(wU())})}function yne(t){return()=>t}function Wr({test:t}){return yne(t)()}function BZe(t,e){if(!e(t))throw new c0}function vZe(t,e){let r=[];if(!e(t,{errors:r}))throw new c0({errors:r})}function SZe(t,e){}function DZe(t,e,{coerce:r=!1,errors:s,throw:a}={}){let n=s?[]:void 0;if(!r){if(e(t,{errors:n}))return a?t:{value:t,errors:void 0};if(a)throw new c0({errors:n});return{value:void 0,errors:n??!0}}let c={value:t},f=Yf(c,"value"),p=[];if(!e(t,{errors:n,coercion:f,coercions:p})){if(a)throw new c0({errors:n});return{value:void 0,errors:n??!0}}for(let[,h]of p)h();return a?c.value:{value:c.value,errors:void 0}}function bZe(t,e){let r=Vx(t);return(...s)=>{if(!r(s))throw new c0;return e(...s)}}function PZe(t){return Wr({test:(e,r)=>e.length>=t?!0:mr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)})}function xZe(t){return Wr({test:(e,r)=>e.length<=t?!0:mr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)})}function Ene(t){return Wr({test:(e,r)=>e.length!==t?mr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0})}function kZe({map:t}={}){return Wr({test:(e,r)=>{let s=new Set,a=new Set;for(let n=0,c=e.length;nt<=0?!0:mr(e,`Expected to be negative (got ${t})`)})}function TZe(){return Wr({test:(t,e)=>t>=0?!0:mr(e,`Expected to be positive (got ${t})`)})}function SU(t){return Wr({test:(e,r)=>e>=t?!0:mr(r,`Expected to be at least ${t} (got ${e})`)})}function RZe(t){return Wr({test:(e,r)=>e<=t?!0:mr(r,`Expected to be at most ${t} (got ${e})`)})}function FZe(t,e){return Wr({test:(r,s)=>r>=t&&r<=e?!0:mr(s,`Expected to be in the [${t}; ${e}] range (got ${r})`)})}function NZe(t,e){return Wr({test:(r,s)=>r>=t&&re!==Math.round(e)?mr(r,`Expected to be an integer (got ${e})`):!t&&!Number.isSafeInteger(e)?mr(r,`Expected to be a safe integer (got ${e})`):!0})}function tB(t){return Wr({test:(e,r)=>t.test(e)?!0:mr(r,`Expected to match the pattern ${t.toString()} (got ${ti(e)})`)})}function OZe(){return Wr({test:(t,e)=>t!==t.toLowerCase()?mr(e,`Expected to be all-lowercase (got ${t})`):!0})}function LZe(){return Wr({test:(t,e)=>t!==t.toUpperCase()?mr(e,`Expected to be all-uppercase (got ${t})`):!0})}function MZe(){return Wr({test:(t,e)=>AZe.test(t)?!0:mr(e,`Expected to be a valid UUID v4 (got ${ti(t)})`)})}function _Ze(){return Wr({test:(t,e)=>gne.test(t)?!0:mr(e,`Expected to be a valid ISO 8601 date string (got ${ti(t)})`)})}function UZe({alpha:t=!1}){return Wr({test:(e,r)=>(t?cZe.test(e):uZe.test(e))?!0:mr(r,`Expected to be a valid hexadecimal color string (got ${ti(e)})`)})}function HZe(){return Wr({test:(t,e)=>fZe.test(t)?!0:mr(e,`Expected to be a valid base 64 string (got ${ti(t)})`)})}function jZe(t=wU()){return Wr({test:(e,r)=>{let s;try{s=JSON.parse(e)}catch{return mr(r,`Expected to be a valid JSON string (got ${ti(e)})`)}return t(s,r)}})}function Jx(t,...e){let r=Array.isArray(e[0])?e[0]:e;return Wr({test:(s,a)=>{var n,c;let f={value:s},p=typeof a?.coercions<"u"?Yf(f,"value"):void 0,h=typeof a?.coercions<"u"?[]:void 0;if(!t(s,Object.assign(Object.assign({},a),{coercion:p,coercions:h})))return!1;let E=[];if(typeof h<"u")for(let[,C]of h)E.push(C());try{if(typeof a?.coercions<"u"){if(f.value!==s){if(typeof a?.coercion>"u")return mr(a,"Unbound coercion result");a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,f.value)])}(c=a?.coercions)===null||c===void 0||c.push(...h)}return r.every(C=>C(f.value,a))}finally{for(let C of E)C()}}})}function rB(t,...e){let r=Array.isArray(e[0])?e[0]:e;return Jx(t,r)}function qZe(t){return Wr({test:(e,r)=>typeof e>"u"?!0:t(e,r)})}function GZe(t){return Wr({test:(e,r)=>e===null?!0:t(e,r)})}function WZe(t,e){var r;let s=new Set(t),a=nB[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Wr({test:(n,c)=>{let f=new Set(Object.keys(n)),p=[];for(let h of s)a(f,h,n)||p.push(h);return p.length>0?mr(c,`Missing required ${CU(p.length,"property","properties")} ${CE(p,"and")}`):!0}})}function bU(t,e){var r;let s=new Set(t),a=nB[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Wr({test:(n,c)=>Object.keys(n).some(h=>a(s,h,n))?!0:mr(c,`Missing at least one property from ${CE(Array.from(s),"or")}`)})}function YZe(t,e){var r;let s=new Set(t),a=nB[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Wr({test:(n,c)=>{let f=new Set(Object.keys(n)),p=[];for(let h of s)a(f,h,n)&&p.push(h);return p.length>0?mr(c,`Forbidden ${CU(p.length,"property","properties")} ${CE(p,"and")}`):!0}})}function VZe(t,e){var r;let s=new Set(t),a=nB[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Wr({test:(n,c)=>{let f=new Set(Object.keys(n)),p=[];for(let h of s)a(f,h,n)&&p.push(h);return p.length>1?mr(c,`Mutually exclusive properties ${CE(p,"and")}`):!0}})}function iB(t,e,r,s){var a,n;let c=new Set((a=s?.ignore)!==null&&a!==void 0?a:[]),f=nB[(n=s?.missingIf)!==null&&n!==void 0?n:"missing"],p=new Set(r),h=KZe[e],E=e===Wf.Forbids?"or":"and";return Wr({test:(C,S)=>{let P=new Set(Object.keys(C));if(!f(P,t,C)||c.has(C[t]))return!0;let I=[];for(let R of p)(f(P,R,C)&&!c.has(C[R]))!==h.expect&&I.push(R);return I.length>=1?mr(S,`Property "${t}" ${h.message} ${CU(I.length,"property","properties")} ${CE(I,E)}`):!0}})}var lZe,cZe,uZe,fZe,AZe,gne,hZe,wZe,vU,c0,nB,Wf,KZe,Ul=It(()=>{lZe=/^[a-zA-Z_][a-zA-Z0-9_]*$/;cZe=/^#[0-9a-f]{6}$/i,uZe=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,fZe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,AZe=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,gne=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;hZe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);wZe=t=>Wr({test:(e,r)=>e instanceof t?!0:mr(r,`Expected an instance of ${t.name} (got ${ti(e)})`)}),vU=(t,{exclusive:e=!1}={})=>Wr({test:(r,s)=>{var a,n,c;let f=[],p=typeof s?.errors<"u"?[]:void 0;for(let h=0,E=t.length;h1?mr(s,`Expected to match exactly a single predicate (matched ${f.join(", ")})`):(c=s?.errors)===null||c===void 0||c.push(...p),!1}});c0=class extends Error{constructor({errors:e}={}){let r="Type mismatch";if(e&&e.length>0){r+=` +`;for(let s of e)r+=` +- ${s}`}super(r)}};nB={missing:(t,e)=>t.has(e),undefined:(t,e,r)=>t.has(e)&&typeof r[e]<"u",nil:(t,e,r)=>t.has(e)&&r[e]!=null,falsy:(t,e,r)=>t.has(e)&&!!r[e]};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Wf||(Wf={}));KZe={[Wf.Forbids]:{expect:!1,message:"forbids using"},[Wf.Requires]:{expect:!0,message:"requires using"}}});var ot,u0=It(()=>{Bp();ot=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:c}=await Promise.resolve().then(()=>(Ul(),Ia)),f=c(a(n()),r),p=[],h=[];if(!f(this,{errors:p,coercions:h}))throw $2("Invalid option schema",p);for(let[,C]of h)C()}else if(r!=null)throw new Error("Invalid command schema");let s=await this.execute();return typeof s<"u"?s:0}};ot.isOption=X2;ot.Default=[]});function sl(t){mU&&console.log(t)}function Cne(){let t={nodes:[]};for(let e=0;e{if(e.has(s))return;e.add(s);let a=t.nodes[s];for(let c of Object.values(a.statics))for(let{to:f}of c)r(f);for(let[,{to:c}]of a.dynamics)r(c);for(let{to:c}of a.shortcuts)r(c);let n=new Set(a.shortcuts.map(({to:c})=>c));for(;a.shortcuts.length>0;){let{to:c}=a.shortcuts.shift(),f=t.nodes[c];for(let[p,h]of Object.entries(f.statics)){let E=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let C of h)E.some(({to:S})=>C.to===S)||E.push(C)}for(let[p,h]of f.dynamics)a.dynamics.some(([E,{to:C}])=>p===E&&h.to===C)||a.dynamics.push([p,h]);for(let p of f.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(En.InitialNode)}function ZZe(t,{prefix:e=""}={}){if(mU){sl(`${e}Nodes are:`);for(let r=0;rE!==En.ErrorNode).map(({state:E})=>({usage:E.candidateUsage,reason:null})));if(h.every(({node:E})=>E===En.ErrorNode))throw new IE(e,h.map(({state:E})=>({usage:E.candidateUsage,reason:E.errorMessage})));s=eXe(h)}if(s.length>0){sl(" Results:");for(let n of s)sl(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else sl(" No results");return s}function $Ze(t,e,{endToken:r=ei.EndOfInput}={}){let s=XZe(t,[...e,r]);return tXe(e,s.map(({state:a})=>a))}function eXe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function tXe(t,e){let r=e.filter(S=>S.selectedIndex!==null),s=r.filter(S=>!S.partial);if(s.length>0&&(r=s),r.length===0)throw new Error;let a=r.filter(S=>S.selectedIndex===Od||S.requiredOptions.every(P=>P.some(I=>S.options.find(R=>R.name===I))));if(a.length===0)throw new IE(t,r.map(S=>({usage:S.candidateUsage,reason:null})));let n=0;for(let S of a)S.path.length>n&&(n=S.path.length);let c=a.filter(S=>S.path.length===n),f=S=>S.positionals.filter(({extra:P})=>!P).length+S.options.length,p=c.map(S=>({state:S,positionalCount:f(S)})),h=0;for(let{positionalCount:S}of p)S>h&&(h=S);let E=p.filter(({positionalCount:S})=>S===h).map(({state:S})=>S),C=rXe(E);if(C.length>1)throw new qx(t,C.map(S=>S.candidateUsage));return C[0]}function rXe(t){let e=[],r=[];for(let s of t)s.selectedIndex===Od?r.push(s):e.push(s);return r.length>0&&e.push({...Ine,path:wne(...r.map(s=>s.path)),options:r.reduce((s,a)=>s.concat(a.options),[])}),e}function wne(t,e,...r){return e===void 0?Array.from(t):wne(t.filter((s,a)=>s===e[a]),...r)}function Hl(){return{dynamics:[],shortcuts:[],statics:{}}}function Bne(t){return t===En.SuccessNode||t===En.ErrorNode}function PU(t,e=0){return{to:Bne(t.to)?t.to:t.to>=En.CustomNode?t.to+e-En.CustomNode+1:t.to+e,reducer:t.reducer}}function nXe(t,e=0){let r=Hl();for(let[s,a]of t.dynamics)r.dynamics.push([s,PU(a,e)]);for(let s of t.shortcuts)r.shortcuts.push(PU(s,e));for(let[s,a]of Object.entries(t.statics))r.statics[s]=a.map(n=>PU(n,e));return r}function js(t,e,r,s,a){t.nodes[e].dynamics.push([r,{to:s,reducer:a}])}function BE(t,e,r,s){t.nodes[e].shortcuts.push({to:r,reducer:s})}function Ca(t,e,r,s,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:s,reducer:a})}function zx(t,e,r,s,a){if(Array.isArray(e)){let[n,...c]=e;return t[n](r,s,a,...c)}else return t[e](r,s,a)}var Ine,iXe,xU,jl,kU,Zx,Xx=It(()=>{jx();Gx();Ine={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Od,partial:!1,tokens:[]};iXe={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,s)=>!t.ignoreOptions&&e===s,isBatchOption:(t,e,r,s)=>!t.ignoreOptions&&Ane.test(e)&&[...e.slice(1)].every(a=>s.has(`-${a}`)),isBoundOption:(t,e,r,s,a)=>{let n=e.match(dU);return!t.ignoreOptions&&!!n&&Hx.test(n[1])&&s.has(n[1])&&a.filter(c=>c.nameSet.includes(n[1])).every(c=>c.allowBinding)},isNegatedOption:(t,e,r,s)=>!t.ignoreOptions&&e===`--no-${s.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&gU.test(e),isUnsupportedOption:(t,e,r,s)=>!t.ignoreOptions&&e.startsWith("-")&&Hx.test(e)&&!s.has(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!Hx.test(e)},xU={setCandidateState:(t,e,r,s)=>({...t,...s}),setSelectedIndex:(t,e,r,s)=>({...t,selectedIndex:s}),setPartialIndex:(t,e,r,s)=>({...t,selectedIndex:s,partial:!0}),pushBatch:(t,e,r,s)=>{let a=t.options.slice(),n=t.tokens.slice();for(let c=1;c{let[,s,a]=e.match(dU),n=t.options.concat({name:s,value:a}),c=t.tokens.concat([{segmentIndex:r,type:"option",slice:[0,s.length],option:s},{segmentIndex:r,type:"assign",slice:[s.length,s.length+1]},{segmentIndex:r,type:"value",slice:[s.length+1,s.length+a.length+1]}]);return{...t,options:n,tokens:c}},pushPath:(t,e,r)=>{let s=t.path.concat(e),a=t.tokens.concat({segmentIndex:r,type:"path"});return{...t,path:s,tokens:a}},pushPositional:(t,e,r)=>{let s=t.positionals.concat({value:e,extra:!1}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:s,tokens:a}},pushExtra:(t,e,r)=>{let s=t.positionals.concat({value:e,extra:!0}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:s,tokens:a}},pushExtraNoLimits:(t,e,r)=>{let s=t.positionals.concat({value:e,extra:jl}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:s,tokens:a}},pushTrue:(t,e,r,s)=>{let a=t.options.concat({name:s,value:!0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:s});return{...t,options:a,tokens:n}},pushFalse:(t,e,r,s)=>{let a=t.options.concat({name:s,value:!1}),n=t.tokens.concat({segmentIndex:r,type:"option",option:s});return{...t,options:a,tokens:n}},pushUndefined:(t,e,r,s)=>{let a=t.options.concat({name:e,value:void 0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:e});return{...t,options:a,tokens:n}},pushStringValue:(t,e,r)=>{var s;let a=t.options[t.options.length-1],n=t.options.slice(),c=t.tokens.concat({segmentIndex:r,type:"value"});return a.value=((s=a.value)!==null&&s!==void 0?s:[]).concat([e]),{...t,options:n,tokens:c}},setStringValue:(t,e,r)=>{let s=t.options[t.options.length-1],a=t.options.slice(),n=t.tokens.concat({segmentIndex:r,type:"value"});return s.value=e,{...t,options:a,tokens:n}},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r,s)=>{let[,,a]=e.match(gU);return typeof a<"u"?{...t,options:[{name:"-c",value:String(s)},{name:"-i",value:a}]}:{...t,options:[{name:"-c",value:String(s)}]}},setError:(t,e,r,s)=>e===ei.EndOfInput||e===ei.EndOfPartialInput?{...t,errorMessage:`${s}.`}:{...t,errorMessage:`${s} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},jl=Symbol(),kU=class{constructor(e,r){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:s=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:s,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===jl)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==jl?this.arity.extra.push(e):this.arity.extra!==jl&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===jl)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let s=0;s1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(s))throw new Error(`The arity must be an integer, got ${s}`);if(s<0)throw new Error(`The arity must be positive, got ${s}`);let f=e.reduce((p,h)=>h.length>p.length?h:p,"");for(let p of e)this.allOptionNames.set(p,f);this.options.push({preferredName:f,nameSet:e,description:r,arity:s,hidden:a,required:n,allowBinding:c})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let s=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&s.push(...this.paths[0]),e){for(let{preferredName:c,nameSet:f,arity:p,hidden:h,description:E,required:C}of this.options){if(h)continue;let S=[];for(let I=0;I`:`[${P}]`)}s.push(...this.arity.leading.map(c=>`<${c}>`)),this.arity.extra===jl?s.push("..."):s.push(...this.arity.extra.map(c=>`[${c}]`)),s.push(...this.arity.trailing.map(c=>`<${c}>`))}return{usage:s.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=Cne(),r=En.InitialNode,s=this.usage().usage,a=this.options.filter(f=>f.required).map(f=>f.nameSet);r=Mu(e,Hl()),Ca(e,En.InitialNode,ei.StartOfInput,r,["setCandidateState",{candidateUsage:s,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",c=this.paths.length>0?this.paths:[[]];for(let f of c){let p=r;if(f.length>0){let S=Mu(e,Hl());BE(e,p,S),this.registerOptions(e,S),p=S}for(let S=0;S0||!this.arity.proxy){let S=Mu(e,Hl());js(e,p,"isHelp",S,["useHelp",this.cliIndex]),js(e,S,"always",S,"pushExtra"),Ca(e,S,ei.EndOfInput,En.SuccessNode,["setSelectedIndex",Od]),this.registerOptions(e,p)}this.arity.leading.length>0&&(Ca(e,p,ei.EndOfInput,En.ErrorNode,["setError","Not enough positional arguments"]),Ca(e,p,ei.EndOfPartialInput,En.SuccessNode,["setPartialIndex",this.cliIndex]));let h=p;for(let S=0;S0||S+1!==this.arity.leading.length)&&(Ca(e,P,ei.EndOfInput,En.ErrorNode,["setError","Not enough positional arguments"]),Ca(e,P,ei.EndOfPartialInput,En.SuccessNode,["setPartialIndex",this.cliIndex])),js(e,h,"isNotOptionLike",P,"pushPositional"),h=P}let E=h;if(this.arity.extra===jl||this.arity.extra.length>0){let S=Mu(e,Hl());if(BE(e,h,S),this.arity.extra===jl){let P=Mu(e,Hl());this.arity.proxy||this.registerOptions(e,P),js(e,h,n,P,"pushExtraNoLimits"),js(e,P,n,P,"pushExtraNoLimits"),BE(e,P,S)}else for(let P=0;P0)&&this.registerOptions(e,I),js(e,E,n,I,"pushExtra"),BE(e,I,S),E=I}E=S}this.arity.trailing.length>0&&(Ca(e,E,ei.EndOfInput,En.ErrorNode,["setError","Not enough positional arguments"]),Ca(e,E,ei.EndOfPartialInput,En.SuccessNode,["setPartialIndex",this.cliIndex]));let C=E;for(let S=0;S=0&&e{let c=n?ei.EndOfPartialInput:ei.EndOfInput;return $Ze(s,a,{endToken:c})}}}}});function Sne(){return $x.default&&"getColorDepth"in $x.default.WriteStream.prototype?$x.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function Dne(t){let e=vne;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=ye("async_hooks");e=vne=new r;let s=process.stdout._write;process.stdout._write=function(n,c,f){let p=e.getStore();return typeof p>"u"?s.call(this,n,c,f):p.stdout.write(n,c,f)};let a=process.stderr._write;process.stderr._write=function(n,c,f){let p=e.getStore();return typeof p>"u"?a.call(this,n,c,f):p.stderr.write(n,c,f)}}return r=>e.run(t,r)}var $x,vne,bne=It(()=>{$x=et(ye("tty"),1)});var ek,Pne=It(()=>{u0();ek=class t extends ot{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let s=new t(r);s.path=e.path;for(let a of e.options)switch(a.name){case"-c":s.commands.push(Number(a.value));break;case"-i":s.index=Number(a.value);break}return s}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let s of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[s].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}}});async function Qne(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:s,resolvedContext:a}=Rne(t);return wa.from(r,e).runExit(s,a)}async function Tne(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:s,resolvedContext:a}=Rne(t);return wa.from(r,e).run(s,a)}function Rne(t){let e,r,s,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(s=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof ot||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?s=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],s=t[2]):t[0]&&t[0].prototype instanceof ot||Array.isArray(t[0])?(r=t[0],s=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],s=t[2],a=t[3];break}if(typeof s>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:s,resolvedContext:a}}function kne(t){return t()}var xne,wa,Fne=It(()=>{jx();Xx();IU();bne();u0();Pne();xne=Symbol("clipanion/errorCommand");wa=class t{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:s,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new Zx({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=s,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let s=new t(r),a=Array.isArray(e)?e:[e];for(let n of a)s.register(n);return s}register(e){var r;let s=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[ot.isOption]&&s.set(p,h)}let n=this.builder.command(),c=n.cliIndex,f=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof f<"u")for(let p of f)n.addPath(p);this.registrations.set(e,{specs:s,builder:n,index:c});for(let[p,{definition:h}]of s.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{input:s,context:a,partial:n}=typeof e=="object"&&Array.isArray(e)?{input:e,context:r}:e,{contexts:c,process:f}=this.builder.compile(),p=f(s,{partial:n}),h={...t.defaultContext,...a};switch(p.selectedIndex){case Od:{let E=ek.from(p,c);return E.context=h,E.tokens=p.tokens,E}default:{let{commandClass:E}=c[p.selectedIndex],C=this.registrations.get(E);if(typeof C>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let S=new E;S.context=h,S.tokens=p.tokens,S.path=p.path;try{for(let[P,{transformer:I}]of C.specs.entries())S[P]=I(C.builder,P,p,h);return S}catch(P){throw P[xne]=S,P}}break}}async run(e,r){var s,a;let n,c={...t.defaultContext,...r},f=(s=this.enableColors)!==null&&s!==void 0?s:c.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,c)}catch(E){return c.stdout.write(this.error(E,{colored:f})),1}if(n.help)return c.stdout.write(this.usage(n,{colored:f,detailed:!0})),0;n.context=c,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:E=>this.definition(E),error:(E,C)=>this.error(E,C),format:E=>this.format(E),process:(E,C)=>this.process(E,{...c,...C}),run:(E,C)=>this.run(E,{...c,...C}),usage:(E,C)=>this.usage(E,C)};let p=this.enableCapture&&(a=Dne(c))!==null&&a!==void 0?a:kne,h;try{h=await p(()=>n.validateAndExecute().catch(E=>n.catch(E).then(()=>0)))}catch(E){return c.stdout.write(this.error(E,{colored:f,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}definition(e,{colored:r=!1}={}){if(!e.usage)return null;let{usage:s}=this.getUsageByRegistration(e,{detailed:!1}),{usage:a,options:n}=this.getUsageByRegistration(e,{detailed:!0,inlineOptions:!1}),c=typeof e.usage.category<"u"?qo(e.usage.category,{format:this.format(r),paragraphs:!1}):void 0,f=typeof e.usage.description<"u"?qo(e.usage.description,{format:this.format(r),paragraphs:!1}):void 0,p=typeof e.usage.details<"u"?qo(e.usage.details,{format:this.format(r),paragraphs:!0}):void 0,h=typeof e.usage.examples<"u"?e.usage.examples.map(([E,C])=>[qo(E,{format:this.format(r),paragraphs:!1}),C.replace(/\$0/g,this.binaryName)]):void 0;return{path:s,usage:a,category:c,description:f,details:p,examples:h,options:n}}definitions({colored:e=!1}={}){let r=[];for(let s of this.registrations.keys()){let a=this.definition(s,{colored:e});a&&r.push(a)}return r}usage(e=null,{colored:r,detailed:s=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,E=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h?.some(P=>P.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(E){e=null;continue}}e&&(s=!0)}let c=e!==null&&e instanceof ot?e.constructor:e,f="";if(c)if(s){let{description:p="",details:h="",examples:E=[]}=c.usage||{};p!==""&&(f+=qo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,P=>P.toUpperCase()),f+=` +`),(h!==""||E.length>0)&&(f+=`${this.format(r).header("Usage")} +`,f+=` +`);let{usage:C,options:S}=this.getUsageByRegistration(c,{inlineOptions:!1});if(f+=`${this.format(r).bold(a)}${C} +`,S.length>0){f+=` +`,f+=`${this.format(r).header("Options")} +`;let P=S.reduce((I,R)=>Math.max(I,R.definition.length),0);f+=` +`;for(let{definition:I,description:R}of S)f+=` ${this.format(r).bold(I.padEnd(P))} ${qo(R,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(f+=` +`,f+=`${this.format(r).header("Details")} +`,f+=` +`,f+=qo(h,{format:this.format(r),paragraphs:!0})),E.length>0){f+=` +`,f+=`${this.format(r).header("Examples")} +`;for(let[P,I]of E)f+=` +`,f+=qo(P,{format:this.format(r),paragraphs:!1}),f+=`${I.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:p}=this.getUsageByRegistration(c);f+=`${this.format(r).bold(a)}${p} +`}else{let p=new Map;for(let[S,{index:P}]of this.registrations.entries()){if(typeof S.usage>"u")continue;let I=typeof S.usage.category<"u"?qo(S.usage.category,{format:this.format(r),paragraphs:!1}):null,R=p.get(I);typeof R>"u"&&p.set(I,R=[]);let{usage:N}=this.getUsageByIndex(P);R.push({commandClass:S,usage:N})}let h=Array.from(p.keys()).sort((S,P)=>S===null?-1:P===null?1:S.localeCompare(P,"en",{usage:"sort",caseFirst:"upper"})),E=typeof this.binaryLabel<"u",C=typeof this.binaryVersion<"u";E||C?(E&&C?f+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:E?f+=`${this.format(r).header(`${this.binaryLabel}`)} +`:f+=`${this.format(r).header(`${this.binaryVersion}`)} +`,f+=` ${this.format(r).bold(a)}${this.binaryName} +`):f+=`${this.format(r).bold(a)}${this.binaryName} +`;for(let S of h){let P=p.get(S).slice().sort((R,N)=>R.usage.localeCompare(N.usage,"en",{usage:"sort",caseFirst:"upper"})),I=S!==null?S.trim():"General commands";f+=` +`,f+=`${this.format(r).header(`${I}`)} +`;for(let{commandClass:R,usage:N}of P){let U=R.usage.description||"undocumented";f+=` +`,f+=` ${this.format(r).bold(N)} +`,f+=` ${qo(U,{format:this.format(r),paragraphs:!1})}`}}f+=` +`,f+=qo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return f}error(e,r){var s,{colored:a,command:n=(s=e[xne])!==null&&s!==void 0?s:null}=r===void 0?{}:r;(!e||typeof e!="object"||!("stack"in e))&&(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let c="",f=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");f==="Error"&&(f="Internal Error"),c+=`${this.format(a).error(f)}: ${e.message} +`;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(c+=` +`,c+=this.usage(n)):e.stack&&(c+=`${e.stack.replace(/^.*\n/,"")} +`),c}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:t.defaultContext.colorDepth>1)?pne:hne}getUsageByRegistration(e,r){let s=this.registrations.get(e);if(typeof s>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(s.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};wa.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:Sne()}});var sB,Nne=It(()=>{u0();sB=class extends ot{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};sB.paths=[["--clipanion=definitions"]]});var oB,One=It(()=>{u0();oB=class extends ot{async execute(){this.context.stdout.write(this.cli.usage())}};oB.paths=[["-h"],["--help"]]});function tk(t={}){return Ea({definition(e,r){var s;e.addProxy({name:(s=t.name)!==null&&s!==void 0?s:r,required:t.required})},transformer(e,r,s){return s.positionals.map(({value:a})=>a)}})}var QU=It(()=>{Bp()});var aB,Lne=It(()=>{u0();QU();aB=class extends ot{constructor(){super(...arguments),this.args=tk()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)} +`)}};aB.paths=[["--clipanion=tokens"]]});var lB,Mne=It(()=>{u0();lB=class extends ot{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};lB.paths=[["-v"],["--version"]]});var TU={};Vt(TU,{DefinitionsCommand:()=>sB,HelpCommand:()=>oB,TokensCommand:()=>aB,VersionCommand:()=>lB});var _ne=It(()=>{Nne();One();Lne();Mne()});function Une(t,e,r){let[s,a]=Gf(e,r??{}),{arity:n=1}=a,c=t.split(","),f=new Set(c);return Ea({definition(p){p.addOption({names:c,arity:n,hidden:a?.hidden,description:a?.description,required:a.required})},transformer(p,h,E){let C,S=typeof s<"u"?[...s]:void 0;for(let{name:P,value:I}of E.options)f.has(P)&&(C=P,S=S??[],S.push(I));return typeof S<"u"?Ld(C??h,S,a.validator):S}})}var Hne=It(()=>{Bp()});function jne(t,e,r){let[s,a]=Gf(e,r??{}),n=t.split(","),c=new Set(n);return Ea({definition(f){f.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(f,p,h){let E=s;for(let{name:C,value:S}of h.options)c.has(C)&&(E=S);return E}})}var qne=It(()=>{Bp()});function Gne(t,e,r){let[s,a]=Gf(e,r??{}),n=t.split(","),c=new Set(n);return Ea({definition(f){f.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(f,p,h){let E=s;for(let{name:C,value:S}of h.options)c.has(C)&&(E??(E=0),S?E+=1:E=0);return E}})}var Wne=It(()=>{Bp()});function Yne(t={}){return Ea({definition(e,r){var s;e.addRest({name:(s=t.name)!==null&&s!==void 0?s:r,required:t.required})},transformer(e,r,s){let a=c=>{let f=s.positionals[c];return f.extra===jl||f.extra===!1&&cc)}})}var Vne=It(()=>{Xx();Bp()});function sXe(t,e,r){let[s,a]=Gf(e,r??{}),{arity:n=1}=a,c=t.split(","),f=new Set(c);return Ea({definition(p){p.addOption({names:c,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,E,C){let S,P=s;typeof a.env<"u"&&C.env[a.env]&&(S=a.env,P=C.env[a.env]);for(let{name:I,value:R}of E.options)f.has(I)&&(S=I,P=R);return typeof P=="string"?Ld(S??h,P,a.validator):P}})}function oXe(t={}){let{required:e=!0}=t;return Ea({definition(r,s){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:s,required:t.required})},transformer(r,s,a){var n;for(let c=0;c{Xx();Bp()});var ge={};Vt(ge,{Array:()=>Une,Boolean:()=>jne,Counter:()=>Gne,Proxy:()=>tk,Rest:()=>Yne,String:()=>Kne,applyValidator:()=>Ld,cleanValidationError:()=>Wx,formatError:()=>$2,isOptionSymbol:()=>X2,makeCommandOption:()=>Ea,rerouteArguments:()=>Gf});var zne=It(()=>{Bp();QU();Hne();qne();Wne();Vne();Jne()});var cB={};Vt(cB,{Builtins:()=>TU,Cli:()=>wa,Command:()=>ot,Option:()=>ge,UsageError:()=>nt,formatMarkdownish:()=>qo,run:()=>Tne,runExit:()=>Qne});var Wt=It(()=>{Gx();IU();u0();Fne();_ne();zne()});var Zne=L((RWt,aXe)=>{aXe.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var tie=L((FWt,vp)=>{var Xne=ye("fs"),FU=ye("path"),lXe=ye("os"),cXe=ye("crypto"),uXe=Zne(),NU=uXe.version,fXe=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function AXe(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,` +`);let s;for(;(s=fXe.exec(r))!=null;){let a=s[1],n=s[2]||"";n=n.trim();let c=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),c==='"'&&(n=n.replace(/\\n/g,` +`),n=n.replace(/\\r/g,"\r")),e[a]=n}return e}function pXe(t){let e=eie(t),r=qs.configDotenv({path:e});if(!r.parsed)throw new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);let s=$ne(t).split(","),a=s.length,n;for(let c=0;c=a)throw f}return qs.parse(n)}function hXe(t){console.log(`[dotenv@${NU}][INFO] ${t}`)}function gXe(t){console.log(`[dotenv@${NU}][WARN] ${t}`)}function RU(t){console.log(`[dotenv@${NU}][DEBUG] ${t}`)}function $ne(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function dXe(t,e){let r;try{r=new URL(e)}catch(f){throw f.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):f}let s=r.password;if(!s)throw new Error("INVALID_DOTENV_KEY: Missing key part");let a=r.searchParams.get("environment");if(!a)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let n=`DOTENV_VAULT_${a.toUpperCase()}`,c=t.parsed[n];if(!c)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);return{ciphertext:c,key:s}}function eie(t){let e=FU.resolve(process.cwd(),".env");return t&&t.path&&t.path.length>0&&(e=t.path),e.endsWith(".vault")?e:`${e}.vault`}function mXe(t){return t[0]==="~"?FU.join(lXe.homedir(),t.slice(1)):t}function yXe(t){hXe("Loading env from encrypted .env.vault");let e=qs._parseVault(t),r=process.env;return t&&t.processEnv!=null&&(r=t.processEnv),qs.populate(r,e,t),{parsed:e}}function EXe(t){let e=FU.resolve(process.cwd(),".env"),r="utf8",s=!!(t&&t.debug);t&&(t.path!=null&&(e=mXe(t.path)),t.encoding!=null&&(r=t.encoding));try{let a=qs.parse(Xne.readFileSync(e,{encoding:r})),n=process.env;return t&&t.processEnv!=null&&(n=t.processEnv),qs.populate(n,a,t),{parsed:a}}catch(a){return s&&RU(`Failed to load ${e} ${a.message}`),{error:a}}}function IXe(t){let e=eie(t);return $ne(t).length===0?qs.configDotenv(t):Xne.existsSync(e)?qs._configVault(t):(gXe(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),qs.configDotenv(t))}function CXe(t,e){let r=Buffer.from(e.slice(-64),"hex"),s=Buffer.from(t,"base64"),a=s.slice(0,12),n=s.slice(-16);s=s.slice(12,-16);try{let c=cXe.createDecipheriv("aes-256-gcm",r,a);return c.setAuthTag(n),`${c.update(s)}${c.final()}`}catch(c){let f=c instanceof RangeError,p=c.message==="Invalid key length",h=c.message==="Unsupported state or unable to authenticate data";if(f||p){let E="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(E)}else if(h){let E="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(E)}else throw console.error("Error: ",c.code),console.error("Error: ",c.message),c}}function wXe(t,e,r={}){let s=!!(r&&r.debug),a=!!(r&&r.override);if(typeof e!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let n of Object.keys(e))Object.prototype.hasOwnProperty.call(t,n)?(a===!0&&(t[n]=e[n]),s&&RU(a===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):t[n]=e[n]}var qs={configDotenv:EXe,_configVault:yXe,_parseVault:pXe,config:IXe,decrypt:CXe,parse:AXe,populate:wXe};vp.exports.configDotenv=qs.configDotenv;vp.exports._configVault=qs._configVault;vp.exports._parseVault=qs._parseVault;vp.exports.config=qs.config;vp.exports.decrypt=qs.decrypt;vp.exports.parse=qs.parse;vp.exports.populate=qs.populate;vp.exports=qs});var nie=L((NWt,rie)=>{"use strict";rie.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var Md=L((OWt,OU)=>{"use strict";var BXe=nie(),iie=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,s=()=>{r--,e.length>0&&e.shift()()},a=(f,p,...h)=>{r++;let E=BXe(f,...h);p(E),E.then(s,s)},n=(f,p,...h)=>{rnew Promise(h=>n(f,h,...p));return Object.defineProperties(c,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),c};OU.exports=iie;OU.exports.default=iie});function Vf(t){return`YN${t.toString(10).padStart(4,"0")}`}function rk(t){let e=Number(t.slice(2));if(typeof Dr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var Dr,nk=It(()=>{Dr=(Me=>(Me[Me.UNNAMED=0]="UNNAMED",Me[Me.EXCEPTION=1]="EXCEPTION",Me[Me.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Me[Me.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Me[Me.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Me[Me.BUILD_DISABLED=5]="BUILD_DISABLED",Me[Me.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Me[Me.MUST_BUILD=7]="MUST_BUILD",Me[Me.MUST_REBUILD=8]="MUST_REBUILD",Me[Me.BUILD_FAILED=9]="BUILD_FAILED",Me[Me.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Me[Me.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Me[Me.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",Me[Me.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",Me[Me.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",Me[Me.REMOTE_INVALID=15]="REMOTE_INVALID",Me[Me.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",Me[Me.RESOLUTION_PACK=17]="RESOLUTION_PACK",Me[Me.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",Me[Me.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",Me[Me.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",Me[Me.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",Me[Me.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",Me[Me.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",Me[Me.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",Me[Me.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",Me[Me.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",Me[Me.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",Me[Me.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",Me[Me.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",Me[Me.FETCH_FAILED=30]="FETCH_FAILED",Me[Me.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",Me[Me.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",Me[Me.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",Me[Me.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",Me[Me.NETWORK_ERROR=35]="NETWORK_ERROR",Me[Me.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",Me[Me.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",Me[Me.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",Me[Me.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",Me[Me.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",Me[Me.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",Me[Me.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",Me[Me.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",Me[Me.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",Me[Me.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",Me[Me.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",Me[Me.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",Me[Me.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",Me[Me.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",Me[Me.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",Me[Me.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",Me[Me.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",Me[Me.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",Me[Me.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",Me[Me.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",Me[Me.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",Me[Me.INVALID_MANIFEST=57]="INVALID_MANIFEST",Me[Me.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",Me[Me.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",Me[Me.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",Me[Me.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",Me[Me.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",Me[Me.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",Me[Me.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",Me[Me.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",Me[Me.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",Me[Me.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",Me[Me.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",Me[Me.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",Me[Me.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",Me[Me.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",Me[Me.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",Me[Me.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",Me[Me.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",Me[Me.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",Me[Me.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",Me[Me.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",Me[Me.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",Me[Me.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",Me[Me.NETWORK_DISABLED=80]="NETWORK_DISABLED",Me[Me.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",Me[Me.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",Me[Me.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",Me[Me.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",Me[Me.UPDATED_RESOLUTION_RECORD=85]="UPDATED_RESOLUTION_RECORD",Me[Me.EXPLAIN_PEER_DEPENDENCIES_CTA=86]="EXPLAIN_PEER_DEPENDENCIES_CTA",Me[Me.MIGRATION_SUCCESS=87]="MIGRATION_SUCCESS",Me[Me.VERSION_NOTICE=88]="VERSION_NOTICE",Me[Me.TIPS_NOTICE=89]="TIPS_NOTICE",Me[Me.OFFLINE_MODE_ENABLED=90]="OFFLINE_MODE_ENABLED",Me[Me.INVALID_PROVENANCE_ENVIRONMENT=91]="INVALID_PROVENANCE_ENVIRONMENT",Me))(Dr||{})});var uB=L((MWt,sie)=>{var vXe="2.0.0",SXe=Number.MAX_SAFE_INTEGER||9007199254740991,DXe=16,bXe=250,PXe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];sie.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:DXe,MAX_SAFE_BUILD_LENGTH:bXe,MAX_SAFE_INTEGER:SXe,RELEASE_TYPES:PXe,SEMVER_SPEC_VERSION:vXe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var fB=L((_Wt,oie)=>{var xXe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};oie.exports=xXe});var vE=L((Sp,aie)=>{var{MAX_SAFE_COMPONENT_LENGTH:LU,MAX_SAFE_BUILD_LENGTH:kXe,MAX_LENGTH:QXe}=uB(),TXe=fB();Sp=aie.exports={};var RXe=Sp.re=[],FXe=Sp.safeRe=[],rr=Sp.src=[],nr=Sp.t={},NXe=0,MU="[a-zA-Z0-9-]",OXe=[["\\s",1],["\\d",QXe],[MU,kXe]],LXe=t=>{for(let[e,r]of OXe)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},Kr=(t,e,r)=>{let s=LXe(e),a=NXe++;TXe(t,a,e),nr[t]=a,rr[a]=e,RXe[a]=new RegExp(e,r?"g":void 0),FXe[a]=new RegExp(s,r?"g":void 0)};Kr("NUMERICIDENTIFIER","0|[1-9]\\d*");Kr("NUMERICIDENTIFIERLOOSE","\\d+");Kr("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${MU}*`);Kr("MAINVERSION",`(${rr[nr.NUMERICIDENTIFIER]})\\.(${rr[nr.NUMERICIDENTIFIER]})\\.(${rr[nr.NUMERICIDENTIFIER]})`);Kr("MAINVERSIONLOOSE",`(${rr[nr.NUMERICIDENTIFIERLOOSE]})\\.(${rr[nr.NUMERICIDENTIFIERLOOSE]})\\.(${rr[nr.NUMERICIDENTIFIERLOOSE]})`);Kr("PRERELEASEIDENTIFIER",`(?:${rr[nr.NUMERICIDENTIFIER]}|${rr[nr.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASEIDENTIFIERLOOSE",`(?:${rr[nr.NUMERICIDENTIFIERLOOSE]}|${rr[nr.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASE",`(?:-(${rr[nr.PRERELEASEIDENTIFIER]}(?:\\.${rr[nr.PRERELEASEIDENTIFIER]})*))`);Kr("PRERELEASELOOSE",`(?:-?(${rr[nr.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${rr[nr.PRERELEASEIDENTIFIERLOOSE]})*))`);Kr("BUILDIDENTIFIER",`${MU}+`);Kr("BUILD",`(?:\\+(${rr[nr.BUILDIDENTIFIER]}(?:\\.${rr[nr.BUILDIDENTIFIER]})*))`);Kr("FULLPLAIN",`v?${rr[nr.MAINVERSION]}${rr[nr.PRERELEASE]}?${rr[nr.BUILD]}?`);Kr("FULL",`^${rr[nr.FULLPLAIN]}$`);Kr("LOOSEPLAIN",`[v=\\s]*${rr[nr.MAINVERSIONLOOSE]}${rr[nr.PRERELEASELOOSE]}?${rr[nr.BUILD]}?`);Kr("LOOSE",`^${rr[nr.LOOSEPLAIN]}$`);Kr("GTLT","((?:<|>)?=?)");Kr("XRANGEIDENTIFIERLOOSE",`${rr[nr.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Kr("XRANGEIDENTIFIER",`${rr[nr.NUMERICIDENTIFIER]}|x|X|\\*`);Kr("XRANGEPLAIN",`[v=\\s]*(${rr[nr.XRANGEIDENTIFIER]})(?:\\.(${rr[nr.XRANGEIDENTIFIER]})(?:\\.(${rr[nr.XRANGEIDENTIFIER]})(?:${rr[nr.PRERELEASE]})?${rr[nr.BUILD]}?)?)?`);Kr("XRANGEPLAINLOOSE",`[v=\\s]*(${rr[nr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${rr[nr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${rr[nr.XRANGEIDENTIFIERLOOSE]})(?:${rr[nr.PRERELEASELOOSE]})?${rr[nr.BUILD]}?)?)?`);Kr("XRANGE",`^${rr[nr.GTLT]}\\s*${rr[nr.XRANGEPLAIN]}$`);Kr("XRANGELOOSE",`^${rr[nr.GTLT]}\\s*${rr[nr.XRANGEPLAINLOOSE]}$`);Kr("COERCEPLAIN",`(^|[^\\d])(\\d{1,${LU}})(?:\\.(\\d{1,${LU}}))?(?:\\.(\\d{1,${LU}}))?`);Kr("COERCE",`${rr[nr.COERCEPLAIN]}(?:$|[^\\d])`);Kr("COERCEFULL",rr[nr.COERCEPLAIN]+`(?:${rr[nr.PRERELEASE]})?(?:${rr[nr.BUILD]})?(?:$|[^\\d])`);Kr("COERCERTL",rr[nr.COERCE],!0);Kr("COERCERTLFULL",rr[nr.COERCEFULL],!0);Kr("LONETILDE","(?:~>?)");Kr("TILDETRIM",`(\\s*)${rr[nr.LONETILDE]}\\s+`,!0);Sp.tildeTrimReplace="$1~";Kr("TILDE",`^${rr[nr.LONETILDE]}${rr[nr.XRANGEPLAIN]}$`);Kr("TILDELOOSE",`^${rr[nr.LONETILDE]}${rr[nr.XRANGEPLAINLOOSE]}$`);Kr("LONECARET","(?:\\^)");Kr("CARETTRIM",`(\\s*)${rr[nr.LONECARET]}\\s+`,!0);Sp.caretTrimReplace="$1^";Kr("CARET",`^${rr[nr.LONECARET]}${rr[nr.XRANGEPLAIN]}$`);Kr("CARETLOOSE",`^${rr[nr.LONECARET]}${rr[nr.XRANGEPLAINLOOSE]}$`);Kr("COMPARATORLOOSE",`^${rr[nr.GTLT]}\\s*(${rr[nr.LOOSEPLAIN]})$|^$`);Kr("COMPARATOR",`^${rr[nr.GTLT]}\\s*(${rr[nr.FULLPLAIN]})$|^$`);Kr("COMPARATORTRIM",`(\\s*)${rr[nr.GTLT]}\\s*(${rr[nr.LOOSEPLAIN]}|${rr[nr.XRANGEPLAIN]})`,!0);Sp.comparatorTrimReplace="$1$2$3";Kr("HYPHENRANGE",`^\\s*(${rr[nr.XRANGEPLAIN]})\\s+-\\s+(${rr[nr.XRANGEPLAIN]})\\s*$`);Kr("HYPHENRANGELOOSE",`^\\s*(${rr[nr.XRANGEPLAINLOOSE]})\\s+-\\s+(${rr[nr.XRANGEPLAINLOOSE]})\\s*$`);Kr("STAR","(<|>)?=?\\s*\\*");Kr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Kr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var ik=L((UWt,lie)=>{var MXe=Object.freeze({loose:!0}),_Xe=Object.freeze({}),UXe=t=>t?typeof t!="object"?MXe:t:_Xe;lie.exports=UXe});var _U=L((HWt,fie)=>{var cie=/^[0-9]+$/,uie=(t,e)=>{let r=cie.test(t),s=cie.test(e);return r&&s&&(t=+t,e=+e),t===e?0:r&&!s?-1:s&&!r?1:tuie(e,t);fie.exports={compareIdentifiers:uie,rcompareIdentifiers:HXe}});var Go=L((jWt,gie)=>{var sk=fB(),{MAX_LENGTH:Aie,MAX_SAFE_INTEGER:ok}=uB(),{safeRe:pie,t:hie}=vE(),jXe=ik(),{compareIdentifiers:SE}=_U(),UU=class t{constructor(e,r){if(r=jXe(r),e instanceof t){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>Aie)throw new TypeError(`version is longer than ${Aie} characters`);sk("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let s=e.trim().match(r.loose?pie[hie.LOOSE]:pie[hie.FULL]);if(!s)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>ok||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ok||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ok||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);if(n===-1){if(r===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(r){let n=[r,a];s===!1&&(n=[r]),SE(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};gie.exports=UU});var _d=L((qWt,mie)=>{var die=Go(),qXe=(t,e,r=!1)=>{if(t instanceof die)return t;try{return new die(t,e)}catch(s){if(!r)return null;throw s}};mie.exports=qXe});var Eie=L((GWt,yie)=>{var GXe=_d(),WXe=(t,e)=>{let r=GXe(t,e);return r?r.version:null};yie.exports=WXe});var Cie=L((WWt,Iie)=>{var YXe=_d(),VXe=(t,e)=>{let r=YXe(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};Iie.exports=VXe});var vie=L((YWt,Bie)=>{var wie=Go(),KXe=(t,e,r,s,a)=>{typeof r=="string"&&(a=s,s=r,r=void 0);try{return new wie(t instanceof wie?t.version:t,r).inc(e,s,a).version}catch{return null}};Bie.exports=KXe});var bie=L((VWt,Die)=>{var Sie=_d(),JXe=(t,e)=>{let r=Sie(t,null,!0),s=Sie(e,null,!0),a=r.compare(s);if(a===0)return null;let n=a>0,c=n?r:s,f=n?s:r,p=!!c.prerelease.length;if(!!f.prerelease.length&&!p)return!f.patch&&!f.minor?"major":c.patch?"patch":c.minor?"minor":"major";let E=p?"pre":"";return r.major!==s.major?E+"major":r.minor!==s.minor?E+"minor":r.patch!==s.patch?E+"patch":"prerelease"};Die.exports=JXe});var xie=L((KWt,Pie)=>{var zXe=Go(),ZXe=(t,e)=>new zXe(t,e).major;Pie.exports=ZXe});var Qie=L((JWt,kie)=>{var XXe=Go(),$Xe=(t,e)=>new XXe(t,e).minor;kie.exports=$Xe});var Rie=L((zWt,Tie)=>{var e$e=Go(),t$e=(t,e)=>new e$e(t,e).patch;Tie.exports=t$e});var Nie=L((ZWt,Fie)=>{var r$e=_d(),n$e=(t,e)=>{let r=r$e(t,e);return r&&r.prerelease.length?r.prerelease:null};Fie.exports=n$e});var vc=L((XWt,Lie)=>{var Oie=Go(),i$e=(t,e,r)=>new Oie(t,r).compare(new Oie(e,r));Lie.exports=i$e});var _ie=L(($Wt,Mie)=>{var s$e=vc(),o$e=(t,e,r)=>s$e(e,t,r);Mie.exports=o$e});var Hie=L((eYt,Uie)=>{var a$e=vc(),l$e=(t,e)=>a$e(t,e,!0);Uie.exports=l$e});var ak=L((tYt,qie)=>{var jie=Go(),c$e=(t,e,r)=>{let s=new jie(t,r),a=new jie(e,r);return s.compare(a)||s.compareBuild(a)};qie.exports=c$e});var Wie=L((rYt,Gie)=>{var u$e=ak(),f$e=(t,e)=>t.sort((r,s)=>u$e(r,s,e));Gie.exports=f$e});var Vie=L((nYt,Yie)=>{var A$e=ak(),p$e=(t,e)=>t.sort((r,s)=>A$e(s,r,e));Yie.exports=p$e});var AB=L((iYt,Kie)=>{var h$e=vc(),g$e=(t,e,r)=>h$e(t,e,r)>0;Kie.exports=g$e});var lk=L((sYt,Jie)=>{var d$e=vc(),m$e=(t,e,r)=>d$e(t,e,r)<0;Jie.exports=m$e});var HU=L((oYt,zie)=>{var y$e=vc(),E$e=(t,e,r)=>y$e(t,e,r)===0;zie.exports=E$e});var jU=L((aYt,Zie)=>{var I$e=vc(),C$e=(t,e,r)=>I$e(t,e,r)!==0;Zie.exports=C$e});var ck=L((lYt,Xie)=>{var w$e=vc(),B$e=(t,e,r)=>w$e(t,e,r)>=0;Xie.exports=B$e});var uk=L((cYt,$ie)=>{var v$e=vc(),S$e=(t,e,r)=>v$e(t,e,r)<=0;$ie.exports=S$e});var qU=L((uYt,ese)=>{var D$e=HU(),b$e=jU(),P$e=AB(),x$e=ck(),k$e=lk(),Q$e=uk(),T$e=(t,e,r,s)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return D$e(t,r,s);case"!=":return b$e(t,r,s);case">":return P$e(t,r,s);case">=":return x$e(t,r,s);case"<":return k$e(t,r,s);case"<=":return Q$e(t,r,s);default:throw new TypeError(`Invalid operator: ${e}`)}};ese.exports=T$e});var rse=L((fYt,tse)=>{var R$e=Go(),F$e=_d(),{safeRe:fk,t:Ak}=vE(),N$e=(t,e)=>{if(t instanceof R$e)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?fk[Ak.COERCEFULL]:fk[Ak.COERCE]);else{let p=e.includePrerelease?fk[Ak.COERCERTLFULL]:fk[Ak.COERCERTL],h;for(;(h=p.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||h.index+h[0].length!==r.index+r[0].length)&&(r=h),p.lastIndex=h.index+h[1].length+h[2].length;p.lastIndex=-1}if(r===null)return null;let s=r[2],a=r[3]||"0",n=r[4]||"0",c=e.includePrerelease&&r[5]?`-${r[5]}`:"",f=e.includePrerelease&&r[6]?`+${r[6]}`:"";return F$e(`${s}.${a}.${n}${c}${f}`,e)};tse.exports=N$e});var ise=L((AYt,nse)=>{"use strict";nse.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var pk=L((pYt,sse)=>{"use strict";sse.exports=Fn;Fn.Node=Ud;Fn.create=Fn;function Fn(t){var e=this;if(e instanceof Fn||(e=new Fn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,s=arguments.length;r1)r=e;else if(this.head)s=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;s!==null;a++)r=t(r,s.value,a),s=s.next;return r};Fn.prototype.reduceReverse=function(t,e){var r,s=this.tail;if(arguments.length>1)r=e;else if(this.tail)s=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;s!==null;a--)r=t(r,s.value,a),s=s.prev;return r};Fn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Fn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Fn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Fn;if(ethis.length&&(e=this.length);for(var s=0,a=this.head;a!==null&&sthis.length&&(e=this.length);for(var s=this.length,a=this.tail;a!==null&&s>e;s--)a=a.prev;for(;a!==null&&s>t;s--,a=a.prev)r.push(a.value);return r};Fn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var s=0,a=this.head;a!==null&&s{"use strict";var _$e=pk(),Hd=Symbol("max"),bp=Symbol("length"),DE=Symbol("lengthCalculator"),hB=Symbol("allowStale"),jd=Symbol("maxAge"),Dp=Symbol("dispose"),ose=Symbol("noDisposeOnSet"),Gs=Symbol("lruList"),_u=Symbol("cache"),lse=Symbol("updateAgeOnGet"),GU=()=>1,YU=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[Hd]=e.max||1/0,s=e.length||GU;if(this[DE]=typeof s!="function"?GU:s,this[hB]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[jd]=e.maxAge||0,this[Dp]=e.dispose,this[ose]=e.noDisposeOnSet||!1,this[lse]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[Hd]=e||1/0,pB(this)}get max(){return this[Hd]}set allowStale(e){this[hB]=!!e}get allowStale(){return this[hB]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[jd]=e,pB(this)}get maxAge(){return this[jd]}set lengthCalculator(e){typeof e!="function"&&(e=GU),e!==this[DE]&&(this[DE]=e,this[bp]=0,this[Gs].forEach(r=>{r.length=this[DE](r.value,r.key),this[bp]+=r.length})),pB(this)}get lengthCalculator(){return this[DE]}get length(){return this[bp]}get itemCount(){return this[Gs].length}rforEach(e,r){r=r||this;for(let s=this[Gs].tail;s!==null;){let a=s.prev;ase(this,e,s,r),s=a}}forEach(e,r){r=r||this;for(let s=this[Gs].head;s!==null;){let a=s.next;ase(this,e,s,r),s=a}}keys(){return this[Gs].toArray().map(e=>e.key)}values(){return this[Gs].toArray().map(e=>e.value)}reset(){this[Dp]&&this[Gs]&&this[Gs].length&&this[Gs].forEach(e=>this[Dp](e.key,e.value)),this[_u]=new Map,this[Gs]=new _$e,this[bp]=0}dump(){return this[Gs].map(e=>hk(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Gs]}set(e,r,s){if(s=s||this[jd],s&&typeof s!="number")throw new TypeError("maxAge must be a number");let a=s?Date.now():0,n=this[DE](r,e);if(this[_u].has(e)){if(n>this[Hd])return bE(this,this[_u].get(e)),!1;let p=this[_u].get(e).value;return this[Dp]&&(this[ose]||this[Dp](e,p.value)),p.now=a,p.maxAge=s,p.value=r,this[bp]+=n-p.length,p.length=n,this.get(e),pB(this),!0}let c=new VU(e,r,n,a,s);return c.length>this[Hd]?(this[Dp]&&this[Dp](e,r),!1):(this[bp]+=c.length,this[Gs].unshift(c),this[_u].set(e,this[Gs].head),pB(this),!0)}has(e){if(!this[_u].has(e))return!1;let r=this[_u].get(e).value;return!hk(this,r)}get(e){return WU(this,e,!0)}peek(e){return WU(this,e,!1)}pop(){let e=this[Gs].tail;return e?(bE(this,e),e.value):null}del(e){bE(this,this[_u].get(e))}load(e){this.reset();let r=Date.now();for(let s=e.length-1;s>=0;s--){let a=e[s],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let c=n-r;c>0&&this.set(a.k,a.v,c)}}}prune(){this[_u].forEach((e,r)=>WU(this,r,!1))}},WU=(t,e,r)=>{let s=t[_u].get(e);if(s){let a=s.value;if(hk(t,a)){if(bE(t,s),!t[hB])return}else r&&(t[lse]&&(s.value.now=Date.now()),t[Gs].unshiftNode(s));return a.value}},hk=(t,e)=>{if(!e||!e.maxAge&&!t[jd])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[jd]&&r>t[jd]},pB=t=>{if(t[bp]>t[Hd])for(let e=t[Gs].tail;t[bp]>t[Hd]&&e!==null;){let r=e.prev;bE(t,e),e=r}},bE=(t,e)=>{if(e){let r=e.value;t[Dp]&&t[Dp](r.key,r.value),t[bp]-=r.length,t[_u].delete(r.key),t[Gs].removeNode(e)}},VU=class{constructor(e,r,s,a,n){this.key=e,this.value=r,this.length=s,this.now=a,this.maxAge=n||0}},ase=(t,e,r,s)=>{let a=r.value;hk(t,a)&&(bE(t,r),t[hB]||(a=void 0)),a&&e.call(s,a.value,a.key,t)};cse.exports=YU});var Sc=L((gYt,hse)=>{var KU=class t{constructor(e,r){if(r=H$e(r),e instanceof t)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new t(e.raw,r);if(e instanceof JU)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(s=>this.parseRange(s.trim())).filter(s=>s.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let s=this.set[0];if(this.set=this.set.filter(a=>!Ase(a[0])),this.set.length===0)this.set=[s];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&K$e(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){let s=((this.options.includePrerelease&&Y$e)|(this.options.loose&&V$e))+":"+e,a=fse.get(s);if(a)return a;let n=this.options.loose,c=n?ol[Ba.HYPHENRANGELOOSE]:ol[Ba.HYPHENRANGE];e=e.replace(c,iet(this.options.includePrerelease)),vi("hyphen replace",e),e=e.replace(ol[Ba.COMPARATORTRIM],q$e),vi("comparator trim",e),e=e.replace(ol[Ba.TILDETRIM],G$e),vi("tilde trim",e),e=e.replace(ol[Ba.CARETTRIM],W$e),vi("caret trim",e);let f=e.split(" ").map(C=>J$e(C,this.options)).join(" ").split(/\s+/).map(C=>net(C,this.options));n&&(f=f.filter(C=>(vi("loose invalid filter",C,this.options),!!C.match(ol[Ba.COMPARATORLOOSE])))),vi("range list",f);let p=new Map,h=f.map(C=>new JU(C,this.options));for(let C of h){if(Ase(C))return[C];p.set(C.value,C)}p.size>1&&p.has("")&&p.delete("");let E=[...p.values()];return fse.set(s,E),E}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(s=>pse(s,r)&&e.set.some(a=>pse(a,r)&&s.every(n=>a.every(c=>n.intersects(c,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new j$e(e,this.options)}catch{return!1}for(let r=0;rt.value==="<0.0.0-0",K$e=t=>t.value==="",pse=(t,e)=>{let r=!0,s=t.slice(),a=s.pop();for(;r&&s.length;)r=s.every(n=>a.intersects(n,e)),a=s.pop();return r},J$e=(t,e)=>(vi("comp",t,e),t=X$e(t,e),vi("caret",t),t=z$e(t,e),vi("tildes",t),t=eet(t,e),vi("xrange",t),t=ret(t,e),vi("stars",t),t),va=t=>!t||t.toLowerCase()==="x"||t==="*",z$e=(t,e)=>t.trim().split(/\s+/).map(r=>Z$e(r,e)).join(" "),Z$e=(t,e)=>{let r=e.loose?ol[Ba.TILDELOOSE]:ol[Ba.TILDE];return t.replace(r,(s,a,n,c,f)=>{vi("tilde",t,s,a,n,c,f);let p;return va(a)?p="":va(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:va(c)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:f?(vi("replaceTilde pr",f),p=`>=${a}.${n}.${c}-${f} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${c} <${a}.${+n+1}.0-0`,vi("tilde return",p),p})},X$e=(t,e)=>t.trim().split(/\s+/).map(r=>$$e(r,e)).join(" "),$$e=(t,e)=>{vi("caret",t,e);let r=e.loose?ol[Ba.CARETLOOSE]:ol[Ba.CARET],s=e.includePrerelease?"-0":"";return t.replace(r,(a,n,c,f,p)=>{vi("caret",t,a,n,c,f,p);let h;return va(n)?h="":va(c)?h=`>=${n}.0.0${s} <${+n+1}.0.0-0`:va(f)?n==="0"?h=`>=${n}.${c}.0${s} <${n}.${+c+1}.0-0`:h=`>=${n}.${c}.0${s} <${+n+1}.0.0-0`:p?(vi("replaceCaret pr",p),n==="0"?c==="0"?h=`>=${n}.${c}.${f}-${p} <${n}.${c}.${+f+1}-0`:h=`>=${n}.${c}.${f}-${p} <${n}.${+c+1}.0-0`:h=`>=${n}.${c}.${f}-${p} <${+n+1}.0.0-0`):(vi("no pr"),n==="0"?c==="0"?h=`>=${n}.${c}.${f}${s} <${n}.${c}.${+f+1}-0`:h=`>=${n}.${c}.${f}${s} <${n}.${+c+1}.0-0`:h=`>=${n}.${c}.${f} <${+n+1}.0.0-0`),vi("caret return",h),h})},eet=(t,e)=>(vi("replaceXRanges",t,e),t.split(/\s+/).map(r=>tet(r,e)).join(" ")),tet=(t,e)=>{t=t.trim();let r=e.loose?ol[Ba.XRANGELOOSE]:ol[Ba.XRANGE];return t.replace(r,(s,a,n,c,f,p)=>{vi("xRange",t,s,a,n,c,f,p);let h=va(n),E=h||va(c),C=E||va(f),S=C;return a==="="&&S&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?s="<0.0.0-0":s="*":a&&S?(E&&(c=0),f=0,a===">"?(a=">=",E?(n=+n+1,c=0,f=0):(c=+c+1,f=0)):a==="<="&&(a="<",E?n=+n+1:c=+c+1),a==="<"&&(p="-0"),s=`${a+n}.${c}.${f}${p}`):E?s=`>=${n}.0.0${p} <${+n+1}.0.0-0`:C&&(s=`>=${n}.${c}.0${p} <${n}.${+c+1}.0-0`),vi("xRange return",s),s})},ret=(t,e)=>(vi("replaceStars",t,e),t.trim().replace(ol[Ba.STAR],"")),net=(t,e)=>(vi("replaceGTE0",t,e),t.trim().replace(ol[e.includePrerelease?Ba.GTE0PRE:Ba.GTE0],"")),iet=t=>(e,r,s,a,n,c,f,p,h,E,C,S,P)=>(va(s)?r="":va(a)?r=`>=${s}.0.0${t?"-0":""}`:va(n)?r=`>=${s}.${a}.0${t?"-0":""}`:c?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,va(h)?p="":va(E)?p=`<${+h+1}.0.0-0`:va(C)?p=`<${h}.${+E+1}.0-0`:S?p=`<=${h}.${E}.${C}-${S}`:t?p=`<${h}.${E}.${+C+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),set=(t,e,r)=>{for(let s=0;s0){let a=t[s].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var gB=L((dYt,Ise)=>{var dB=Symbol("SemVer ANY"),XU=class t{static get ANY(){return dB}constructor(e,r){if(r=gse(r),e instanceof t){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),ZU("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===dB?this.value="":this.value=this.operator+this.semver.version,ZU("comp",this)}parse(e){let r=this.options.loose?dse[mse.COMPARATORLOOSE]:dse[mse.COMPARATOR],s=e.match(r);if(!s)throw new TypeError(`Invalid comparator: ${e}`);this.operator=s[1]!==void 0?s[1]:"",this.operator==="="&&(this.operator=""),s[2]?this.semver=new yse(s[2],this.options.loose):this.semver=dB}toString(){return this.value}test(e){if(ZU("Comparator.test",e,this.options.loose),this.semver===dB||e===dB)return!0;if(typeof e=="string")try{e=new yse(e,this.options)}catch{return!1}return zU(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Ese(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new Ese(this.value,r).test(e.semver):(r=gse(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||zU(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||zU(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};Ise.exports=XU;var gse=ik(),{safeRe:dse,t:mse}=vE(),zU=qU(),ZU=fB(),yse=Go(),Ese=Sc()});var mB=L((mYt,Cse)=>{var oet=Sc(),aet=(t,e,r)=>{try{e=new oet(e,r)}catch{return!1}return e.test(t)};Cse.exports=aet});var Bse=L((yYt,wse)=>{var cet=Sc(),uet=(t,e)=>new cet(t,e).set.map(r=>r.map(s=>s.value).join(" ").trim().split(" "));wse.exports=uet});var Sse=L((EYt,vse)=>{var fet=Go(),Aet=Sc(),pet=(t,e,r)=>{let s=null,a=null,n=null;try{n=new Aet(e,r)}catch{return null}return t.forEach(c=>{n.test(c)&&(!s||a.compare(c)===-1)&&(s=c,a=new fet(s,r))}),s};vse.exports=pet});var bse=L((IYt,Dse)=>{var het=Go(),get=Sc(),det=(t,e,r)=>{let s=null,a=null,n=null;try{n=new get(e,r)}catch{return null}return t.forEach(c=>{n.test(c)&&(!s||a.compare(c)===1)&&(s=c,a=new het(s,r))}),s};Dse.exports=det});var kse=L((CYt,xse)=>{var $U=Go(),met=Sc(),Pse=AB(),yet=(t,e)=>{t=new met(t,e);let r=new $U("0.0.0");if(t.test(r)||(r=new $U("0.0.0-0"),t.test(r)))return r;r=null;for(let s=0;s{let f=new $U(c.semver.version);switch(c.operator){case">":f.prerelease.length===0?f.patch++:f.prerelease.push(0),f.raw=f.format();case"":case">=":(!n||Pse(f,n))&&(n=f);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${c.operator}`)}}),n&&(!r||Pse(r,n))&&(r=n)}return r&&t.test(r)?r:null};xse.exports=yet});var Tse=L((wYt,Qse)=>{var Eet=Sc(),Iet=(t,e)=>{try{return new Eet(t,e).range||"*"}catch{return null}};Qse.exports=Iet});var gk=L((BYt,Ose)=>{var Cet=Go(),Nse=gB(),{ANY:wet}=Nse,Bet=Sc(),vet=mB(),Rse=AB(),Fse=lk(),Det=uk(),bet=ck(),Pet=(t,e,r,s)=>{t=new Cet(t,s),e=new Bet(e,s);let a,n,c,f,p;switch(r){case">":a=Rse,n=Det,c=Fse,f=">",p=">=";break;case"<":a=Fse,n=bet,c=Rse,f="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(vet(t,e,s))return!1;for(let h=0;h{P.semver===wet&&(P=new Nse(">=0.0.0")),C=C||P,S=S||P,a(P.semver,C.semver,s)?C=P:c(P.semver,S.semver,s)&&(S=P)}),C.operator===f||C.operator===p||(!S.operator||S.operator===f)&&n(t,S.semver))return!1;if(S.operator===p&&c(t,S.semver))return!1}return!0};Ose.exports=Pet});var Mse=L((vYt,Lse)=>{var xet=gk(),ket=(t,e,r)=>xet(t,e,">",r);Lse.exports=ket});var Use=L((SYt,_se)=>{var Qet=gk(),Tet=(t,e,r)=>Qet(t,e,"<",r);_se.exports=Tet});var qse=L((DYt,jse)=>{var Hse=Sc(),Ret=(t,e,r)=>(t=new Hse(t,r),e=new Hse(e,r),t.intersects(e,r));jse.exports=Ret});var Wse=L((bYt,Gse)=>{var Fet=mB(),Net=vc();Gse.exports=(t,e,r)=>{let s=[],a=null,n=null,c=t.sort((E,C)=>Net(E,C,r));for(let E of c)Fet(E,e,r)?(n=E,a||(a=E)):(n&&s.push([a,n]),n=null,a=null);a&&s.push([a,null]);let f=[];for(let[E,C]of s)E===C?f.push(E):!C&&E===c[0]?f.push("*"):C?E===c[0]?f.push(`<=${C}`):f.push(`${E} - ${C}`):f.push(`>=${E}`);let p=f.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length{var Yse=Sc(),t4=gB(),{ANY:e4}=t4,yB=mB(),r4=vc(),Oet=(t,e,r={})=>{if(t===e)return!0;t=new Yse(t,r),e=new Yse(e,r);let s=!1;e:for(let a of t.set){for(let n of e.set){let c=Met(a,n,r);if(s=s||c!==null,c)continue e}if(s)return!1}return!0},Let=[new t4(">=0.0.0-0")],Vse=[new t4(">=0.0.0")],Met=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===e4){if(e.length===1&&e[0].semver===e4)return!0;r.includePrerelease?t=Let:t=Vse}if(e.length===1&&e[0].semver===e4){if(r.includePrerelease)return!0;e=Vse}let s=new Set,a,n;for(let P of t)P.operator===">"||P.operator===">="?a=Kse(a,P,r):P.operator==="<"||P.operator==="<="?n=Jse(n,P,r):s.add(P.semver);if(s.size>1)return null;let c;if(a&&n){if(c=r4(a.semver,n.semver,r),c>0)return null;if(c===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let P of s){if(a&&!yB(P,String(a),r)||n&&!yB(P,String(n),r))return null;for(let I of e)if(!yB(P,String(I),r))return!1;return!0}let f,p,h,E,C=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,S=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;C&&C.prerelease.length===1&&n.operator==="<"&&C.prerelease[0]===0&&(C=!1);for(let P of e){if(E=E||P.operator===">"||P.operator===">=",h=h||P.operator==="<"||P.operator==="<=",a){if(S&&P.semver.prerelease&&P.semver.prerelease.length&&P.semver.major===S.major&&P.semver.minor===S.minor&&P.semver.patch===S.patch&&(S=!1),P.operator===">"||P.operator===">="){if(f=Kse(a,P,r),f===P&&f!==a)return!1}else if(a.operator===">="&&!yB(a.semver,String(P),r))return!1}if(n){if(C&&P.semver.prerelease&&P.semver.prerelease.length&&P.semver.major===C.major&&P.semver.minor===C.minor&&P.semver.patch===C.patch&&(C=!1),P.operator==="<"||P.operator==="<="){if(p=Jse(n,P,r),p===P&&p!==n)return!1}else if(n.operator==="<="&&!yB(n.semver,String(P),r))return!1}if(!P.operator&&(n||a)&&c!==0)return!1}return!(a&&h&&!n&&c!==0||n&&E&&!a&&c!==0||S||C)},Kse=(t,e,r)=>{if(!t)return e;let s=r4(t.semver,e.semver,r);return s>0?t:s<0||e.operator===">"&&t.operator===">="?e:t},Jse=(t,e,r)=>{if(!t)return e;let s=r4(t.semver,e.semver,r);return s<0?t:s>0||e.operator==="<"&&t.operator==="<="?e:t};zse.exports=Oet});var fi=L((xYt,eoe)=>{var n4=vE(),Xse=uB(),_et=Go(),$se=_U(),Uet=_d(),Het=Eie(),jet=Cie(),qet=vie(),Get=bie(),Wet=xie(),Yet=Qie(),Vet=Rie(),Ket=Nie(),Jet=vc(),zet=_ie(),Zet=Hie(),Xet=ak(),$et=Wie(),ett=Vie(),ttt=AB(),rtt=lk(),ntt=HU(),itt=jU(),stt=ck(),ott=uk(),att=qU(),ltt=rse(),ctt=gB(),utt=Sc(),ftt=mB(),Att=Bse(),ptt=Sse(),htt=bse(),gtt=kse(),dtt=Tse(),mtt=gk(),ytt=Mse(),Ett=Use(),Itt=qse(),Ctt=Wse(),wtt=Zse();eoe.exports={parse:Uet,valid:Het,clean:jet,inc:qet,diff:Get,major:Wet,minor:Yet,patch:Vet,prerelease:Ket,compare:Jet,rcompare:zet,compareLoose:Zet,compareBuild:Xet,sort:$et,rsort:ett,gt:ttt,lt:rtt,eq:ntt,neq:itt,gte:stt,lte:ott,cmp:att,coerce:ltt,Comparator:ctt,Range:utt,satisfies:ftt,toComparators:Att,maxSatisfying:ptt,minSatisfying:htt,minVersion:gtt,validRange:dtt,outside:mtt,gtr:ytt,ltr:Ett,intersects:Itt,simplifyRange:Ctt,subset:wtt,SemVer:_et,re:n4.re,src:n4.src,tokens:n4.t,SEMVER_SPEC_VERSION:Xse.SEMVER_SPEC_VERSION,RELEASE_TYPES:Xse.RELEASE_TYPES,compareIdentifiers:$se.compareIdentifiers,rcompareIdentifiers:$se.rcompareIdentifiers}});var roe=L((kYt,toe)=>{"use strict";function Btt(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function qd(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,qd)}Btt(qd,Error);qd.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",C;for(C=0;C0){for(C=1,S=1;C{switch(Te[1]){case"|":return xe|Te[3];case"&":return xe&Te[3];case"^":return xe^Te[3]}},$)},S="!",P=Fe("!",!1),I=function($){return!$},R="(",N=Fe("(",!1),U=")",W=Fe(")",!1),te=function($){return $},ie=/^[^ \t\n\r()!|&\^]/,Ae=Ne([" "," ",` +`,"\r","(",")","!","|","&","^"],!0,!1),ce=function($){return e.queryPattern.test($)},me=function($){return e.checkFn($)},pe=ke("whitespace"),Be=/^[ \t\n\r]/,Ce=Ne([" "," ",` +`,"\r"],!1,!1),g=0,we=0,Ee=[{line:1,column:1}],fe=0,se=[],X=0,De;if("startRule"in e){if(!(e.startRule in s))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=s[e.startRule]}function Re(){return t.substring(we,g)}function gt(){return _e(we,g)}function j($,oe){throw oe=oe!==void 0?oe:_e(we,g),b([ke($)],t.substring(we,g),oe)}function rt($,oe){throw oe=oe!==void 0?oe:_e(we,g),w($,oe)}function Fe($,oe){return{type:"literal",text:$,ignoreCase:oe}}function Ne($,oe,xe){return{type:"class",parts:$,inverted:oe,ignoreCase:xe}}function Pe(){return{type:"any"}}function Ye(){return{type:"end"}}function ke($){return{type:"other",description:$}}function it($){var oe=Ee[$],xe;if(oe)return oe;for(xe=$-1;!Ee[xe];)xe--;for(oe=Ee[xe],oe={line:oe.line,column:oe.column};xe<$;)t.charCodeAt(xe)===10?(oe.line++,oe.column=1):oe.column++,xe++;return Ee[$]=oe,oe}function _e($,oe){var xe=it($),Te=it(oe);return{start:{offset:$,line:xe.line,column:xe.column},end:{offset:oe,line:Te.line,column:Te.column}}}function x($){gfe&&(fe=g,se=[]),se.push($))}function w($,oe){return new qd($,null,null,oe)}function b($,oe,xe){return new qd(qd.buildMessage($,oe),$,oe,xe)}function y(){var $,oe,xe,Te,lt,Et,qt,ir;if($=g,oe=F(),oe!==r){for(xe=[],Te=g,lt=Z(),lt!==r?(t.charCodeAt(g)===124?(Et=n,g++):(Et=r,X===0&&x(c)),Et===r&&(t.charCodeAt(g)===38?(Et=f,g++):(Et=r,X===0&&x(p)),Et===r&&(t.charCodeAt(g)===94?(Et=h,g++):(Et=r,X===0&&x(E)))),Et!==r?(qt=Z(),qt!==r?(ir=F(),ir!==r?(lt=[lt,Et,qt,ir],Te=lt):(g=Te,Te=r)):(g=Te,Te=r)):(g=Te,Te=r)):(g=Te,Te=r);Te!==r;)xe.push(Te),Te=g,lt=Z(),lt!==r?(t.charCodeAt(g)===124?(Et=n,g++):(Et=r,X===0&&x(c)),Et===r&&(t.charCodeAt(g)===38?(Et=f,g++):(Et=r,X===0&&x(p)),Et===r&&(t.charCodeAt(g)===94?(Et=h,g++):(Et=r,X===0&&x(E)))),Et!==r?(qt=Z(),qt!==r?(ir=F(),ir!==r?(lt=[lt,Et,qt,ir],Te=lt):(g=Te,Te=r)):(g=Te,Te=r)):(g=Te,Te=r)):(g=Te,Te=r);xe!==r?(we=$,oe=C(oe,xe),$=oe):(g=$,$=r)}else g=$,$=r;return $}function F(){var $,oe,xe,Te,lt,Et;return $=g,t.charCodeAt(g)===33?(oe=S,g++):(oe=r,X===0&&x(P)),oe!==r?(xe=F(),xe!==r?(we=$,oe=I(xe),$=oe):(g=$,$=r)):(g=$,$=r),$===r&&($=g,t.charCodeAt(g)===40?(oe=R,g++):(oe=r,X===0&&x(N)),oe!==r?(xe=Z(),xe!==r?(Te=y(),Te!==r?(lt=Z(),lt!==r?(t.charCodeAt(g)===41?(Et=U,g++):(Et=r,X===0&&x(W)),Et!==r?(we=$,oe=te(Te),$=oe):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=z())),$}function z(){var $,oe,xe,Te,lt;if($=g,oe=Z(),oe!==r){if(xe=g,Te=[],ie.test(t.charAt(g))?(lt=t.charAt(g),g++):(lt=r,X===0&&x(Ae)),lt!==r)for(;lt!==r;)Te.push(lt),ie.test(t.charAt(g))?(lt=t.charAt(g),g++):(lt=r,X===0&&x(Ae));else Te=r;Te!==r?xe=t.substring(xe,g):xe=Te,xe!==r?(we=g,Te=ce(xe),Te?Te=void 0:Te=r,Te!==r?(we=$,oe=me(xe),$=oe):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function Z(){var $,oe;for(X++,$=[],Be.test(t.charAt(g))?(oe=t.charAt(g),g++):(oe=r,X===0&&x(Ce));oe!==r;)$.push(oe),Be.test(t.charAt(g))?(oe=t.charAt(g),g++):(oe=r,X===0&&x(Ce));return X--,$===r&&(oe=r,X===0&&x(pe)),$}if(De=a(),De!==r&&g===t.length)return De;throw De!==r&&g{var{parse:Stt}=roe();dk.makeParser=(t=/[a-z]+/)=>(e,r)=>Stt(e,{queryPattern:t,checkFn:r});dk.parse=dk.makeParser()});var soe=L((TYt,ioe)=>{"use strict";ioe.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var i4=L((RYt,aoe)=>{var EB=soe(),ooe={};for(let t of Object.keys(EB))ooe[EB[t]]=t;var hr={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};aoe.exports=hr;for(let t of Object.keys(hr)){if(!("channels"in hr[t]))throw new Error("missing channels property: "+t);if(!("labels"in hr[t]))throw new Error("missing channel labels property: "+t);if(hr[t].labels.length!==hr[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=hr[t];delete hr[t].channels,delete hr[t].labels,Object.defineProperty(hr[t],"channels",{value:e}),Object.defineProperty(hr[t],"labels",{value:r})}hr.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,s=t[2]/255,a=Math.min(e,r,s),n=Math.max(e,r,s),c=n-a,f,p;n===a?f=0:e===n?f=(r-s)/c:r===n?f=2+(s-e)/c:s===n&&(f=4+(e-r)/c),f=Math.min(f*60,360),f<0&&(f+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=c/(n+a):p=c/(2-n-a),[f,p*100,h*100]};hr.rgb.hsv=function(t){let e,r,s,a,n,c=t[0]/255,f=t[1]/255,p=t[2]/255,h=Math.max(c,f,p),E=h-Math.min(c,f,p),C=function(S){return(h-S)/6/E+1/2};return E===0?(a=0,n=0):(n=E/h,e=C(c),r=C(f),s=C(p),c===h?a=s-r:f===h?a=1/3+e-s:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};hr.rgb.hwb=function(t){let e=t[0],r=t[1],s=t[2],a=hr.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,s));return s=1-1/255*Math.max(e,Math.max(r,s)),[a,n*100,s*100]};hr.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,s=t[2]/255,a=Math.min(1-e,1-r,1-s),n=(1-e-a)/(1-a)||0,c=(1-r-a)/(1-a)||0,f=(1-s-a)/(1-a)||0;return[n*100,c*100,f*100,a*100]};function Dtt(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}hr.rgb.keyword=function(t){let e=ooe[t];if(e)return e;let r=1/0,s;for(let a of Object.keys(EB)){let n=EB[a],c=Dtt(t,n);c.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92;let a=e*.4124+r*.3576+s*.1805,n=e*.2126+r*.7152+s*.0722,c=e*.0193+r*.1192+s*.9505;return[a*100,n*100,c*100]};hr.rgb.lab=function(t){let e=hr.rgb.xyz(t),r=e[0],s=e[1],a=e[2];r/=95.047,s/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,s=s>.008856?s**(1/3):7.787*s+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*s-16,c=500*(r-s),f=200*(s-a);return[n,c,f]};hr.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,s=t[2]/100,a,n,c;if(r===0)return c=s*255,[c,c,c];s<.5?a=s*(1+r):a=s+r-s*r;let f=2*s-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?c=f+(a-f)*6*n:2*n<1?c=a:3*n<2?c=f+(a-f)*(2/3-n)*6:c=f,p[h]=c*255;return p};hr.hsl.hsv=function(t){let e=t[0],r=t[1]/100,s=t[2]/100,a=r,n=Math.max(s,.01);s*=2,r*=s<=1?s:2-s,a*=n<=1?n:2-n;let c=(s+r)/2,f=s===0?2*a/(n+a):2*r/(s+r);return[e,f*100,c*100]};hr.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,s=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),c=255*s*(1-r),f=255*s*(1-r*n),p=255*s*(1-r*(1-n));switch(s*=255,a){case 0:return[s,p,c];case 1:return[f,s,c];case 2:return[c,s,p];case 3:return[c,f,s];case 4:return[p,c,s];case 5:return[s,c,f]}};hr.hsv.hsl=function(t){let e=t[0],r=t[1]/100,s=t[2]/100,a=Math.max(s,.01),n,c;c=(2-r)*s;let f=(2-r)*a;return n=r*a,n/=f<=1?f:2-f,n=n||0,c/=2,[e,n*100,c*100]};hr.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,s=t[2]/100,a=r+s,n;a>1&&(r/=a,s/=a);let c=Math.floor(6*e),f=1-s;n=6*e-c,c&1&&(n=1-n);let p=r+n*(f-r),h,E,C;switch(c){default:case 6:case 0:h=f,E=p,C=r;break;case 1:h=p,E=f,C=r;break;case 2:h=r,E=f,C=p;break;case 3:h=r,E=p,C=f;break;case 4:h=p,E=r,C=f;break;case 5:h=f,E=r,C=p;break}return[h*255,E*255,C*255]};hr.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,s=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),c=1-Math.min(1,r*(1-a)+a),f=1-Math.min(1,s*(1-a)+a);return[n*255,c*255,f*255]};hr.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,s=t[2]/100,a,n,c;return a=e*3.2406+r*-1.5372+s*-.4986,n=e*-.9689+r*1.8758+s*.0415,c=e*.0557+r*-.204+s*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,c=c>.0031308?1.055*c**(1/2.4)-.055:c*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),c=Math.min(Math.max(0,c),1),[a*255,n*255,c*255]};hr.xyz.lab=function(t){let e=t[0],r=t[1],s=t[2];e/=95.047,r/=100,s/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,s=s>.008856?s**(1/3):7.787*s+16/116;let a=116*r-16,n=500*(e-r),c=200*(r-s);return[a,n,c]};hr.lab.xyz=function(t){let e=t[0],r=t[1],s=t[2],a,n,c;n=(e+16)/116,a=r/500+n,c=n-s/200;let f=n**3,p=a**3,h=c**3;return n=f>.008856?f:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,c=h>.008856?h:(c-16/116)/7.787,a*=95.047,n*=100,c*=108.883,[a,n,c]};hr.lab.lch=function(t){let e=t[0],r=t[1],s=t[2],a;a=Math.atan2(s,r)*360/2/Math.PI,a<0&&(a+=360);let c=Math.sqrt(r*r+s*s);return[e,c,a]};hr.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),c=r*Math.sin(a);return[e,n,c]};hr.rgb.ansi16=function(t,e=null){let[r,s,a]=t,n=e===null?hr.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let c=30+(Math.round(a/255)<<2|Math.round(s/255)<<1|Math.round(r/255));return n===2&&(c+=60),c};hr.hsv.ansi16=function(t){return hr.rgb.ansi16(hr.hsv.rgb(t),t[2])};hr.rgb.ansi256=function(t){let e=t[0],r=t[1],s=t[2];return e===r&&r===s?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(s/255*5)};hr.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,s=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[s,a,n]};hr.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,s=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,s,a]};hr.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};hr.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(f=>f+f).join(""));let s=parseInt(r,16),a=s>>16&255,n=s>>8&255,c=s&255;return[a,n,c]};hr.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,s=t[2]/255,a=Math.max(Math.max(e,r),s),n=Math.min(Math.min(e,r),s),c=a-n,f,p;return c<1?f=n/(1-c):f=0,c<=0?p=0:a===e?p=(r-s)/c%6:a===r?p=2+(s-e)/c:p=4+(e-r)/c,p/=6,p%=1,[p*360,c*100,f*100]};hr.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,s=r<.5?2*e*r:2*e*(1-r),a=0;return s<1&&(a=(r-.5*s)/(1-s)),[t[0],s*100,a*100]};hr.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,s=e*r,a=0;return s<1&&(a=(r-s)/(1-s)),[t[0],s*100,a*100]};hr.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,s=t[2]/100;if(r===0)return[s*255,s*255,s*255];let a=[0,0,0],n=e%1*6,c=n%1,f=1-c,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=c,a[2]=0;break;case 1:a[0]=f,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=c;break;case 3:a[0]=0,a[1]=f,a[2]=1;break;case 4:a[0]=c,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=f}return p=(1-r)*s,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};hr.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,s=e+r*(1-e),a=0;return s>0&&(a=e/s),[t[0],a*100,s*100]};hr.hcg.hsl=function(t){let e=t[1]/100,s=t[2]/100*(1-e)+.5*e,a=0;return s>0&&s<.5?a=e/(2*s):s>=.5&&s<1&&(a=e/(2*(1-s))),[t[0],a*100,s*100]};hr.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,s=e+r*(1-e);return[t[0],(s-e)*100,(1-s)*100]};hr.hwb.hcg=function(t){let e=t[1]/100,s=1-t[2]/100,a=s-e,n=0;return a<1&&(n=(s-a)/(1-a)),[t[0],a*100,n*100]};hr.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};hr.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};hr.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};hr.gray.hsl=function(t){return[0,0,t[0]]};hr.gray.hsv=hr.gray.hsl;hr.gray.hwb=function(t){return[0,100,t[0]]};hr.gray.cmyk=function(t){return[0,0,0,t[0]]};hr.gray.lab=function(t){return[t[0],0,0]};hr.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,s=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(s.length)+s};hr.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var coe=L((FYt,loe)=>{var mk=i4();function btt(){let t={},e=Object.keys(mk);for(let r=e.length,s=0;s{var s4=i4(),Qtt=coe(),PE={},Ttt=Object.keys(s4);function Rtt(t){let e=function(...r){let s=r[0];return s==null?s:(s.length>1&&(r=s),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function Ftt(t){let e=function(...r){let s=r[0];if(s==null)return s;s.length>1&&(r=s);let a=t(r);if(typeof a=="object")for(let n=a.length,c=0;c{PE[t]={},Object.defineProperty(PE[t],"channels",{value:s4[t].channels}),Object.defineProperty(PE[t],"labels",{value:s4[t].labels});let e=Qtt(t);Object.keys(e).forEach(s=>{let a=e[s];PE[t][s]=Ftt(a),PE[t][s].raw=Rtt(a)})});uoe.exports=PE});var IB=L((OYt,doe)=>{"use strict";var Aoe=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,poe=(t,e)=>(...r)=>{let s=t(...r);return`\x1B[${38+e};5;${s}m`},hoe=(t,e)=>(...r)=>{let s=t(...r);return`\x1B[${38+e};2;${s[0]};${s[1]};${s[2]}m`},yk=t=>t,goe=(t,e,r)=>[t,e,r],xE=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let s=r();return Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0}),s},enumerable:!0,configurable:!0})},o4,kE=(t,e,r,s)=>{o4===void 0&&(o4=foe());let a=s?10:0,n={};for(let[c,f]of Object.entries(o4)){let p=c==="ansi16"?"ansi":c;c===e?n[p]=t(r,a):typeof f=="object"&&(n[p]=t(f[e],a))}return n};function Ntt(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,s]of Object.entries(e)){for(let[a,n]of Object.entries(s))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},s[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:s,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",xE(e.color,"ansi",()=>kE(Aoe,"ansi16",yk,!1)),xE(e.color,"ansi256",()=>kE(poe,"ansi256",yk,!1)),xE(e.color,"ansi16m",()=>kE(hoe,"rgb",goe,!1)),xE(e.bgColor,"ansi",()=>kE(Aoe,"ansi16",yk,!0)),xE(e.bgColor,"ansi256",()=>kE(poe,"ansi256",yk,!0)),xE(e.bgColor,"ansi16m",()=>kE(hoe,"rgb",goe,!0)),e}Object.defineProperty(doe,"exports",{enumerable:!0,get:Ntt})});var yoe=L((LYt,moe)=>{"use strict";moe.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",s=e.indexOf(r+t),a=e.indexOf("--");return s!==-1&&(a===-1||s{"use strict";var Ott=ye("os"),Eoe=ye("tty"),Dc=yoe(),{env:Ps}=process,f0;Dc("no-color")||Dc("no-colors")||Dc("color=false")||Dc("color=never")?f0=0:(Dc("color")||Dc("colors")||Dc("color=true")||Dc("color=always"))&&(f0=1);"FORCE_COLOR"in Ps&&(Ps.FORCE_COLOR==="true"?f0=1:Ps.FORCE_COLOR==="false"?f0=0:f0=Ps.FORCE_COLOR.length===0?1:Math.min(parseInt(Ps.FORCE_COLOR,10),3));function a4(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function l4(t,e){if(f0===0)return 0;if(Dc("color=16m")||Dc("color=full")||Dc("color=truecolor"))return 3;if(Dc("color=256"))return 2;if(t&&!e&&f0===void 0)return 0;let r=f0||0;if(Ps.TERM==="dumb")return r;if(process.platform==="win32"){let s=Ott.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in Ps)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(s=>s in Ps)||Ps.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ps)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ps.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Ps)return 1;if(Ps.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ps){let s=parseInt((Ps.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ps.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ps.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ps.TERM)||"COLORTERM"in Ps?1:r}function Ltt(t){let e=l4(t,t&&t.isTTY);return a4(e)}Ioe.exports={supportsColor:Ltt,stdout:a4(l4(!0,Eoe.isatty(1))),stderr:a4(l4(!0,Eoe.isatty(2)))}});var woe=L((_Yt,Coe)=>{"use strict";var Mtt=(t,e,r)=>{let s=t.indexOf(e);if(s===-1)return t;let a=e.length,n=0,c="";do c+=t.substr(n,s-n)+e+r,n=s+a,s=t.indexOf(e,n);while(s!==-1);return c+=t.substr(n),c},_tt=(t,e,r,s)=>{let a=0,n="";do{let c=t[s-1]==="\r";n+=t.substr(a,(c?s-1:s)-a)+e+(c?`\r +`:` +`)+r,a=s+1,s=t.indexOf(` +`,a)}while(s!==-1);return n+=t.substr(a),n};Coe.exports={stringReplaceAll:Mtt,stringEncaseCRLFWithFirstIndex:_tt}});var boe=L((UYt,Doe)=>{"use strict";var Utt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Boe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Htt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,jtt=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,qtt=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function Soe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):qtt.get(t)||t}function Gtt(t,e){let r=[],s=e.trim().split(/\s*,\s*/g),a;for(let n of s){let c=Number(n);if(!Number.isNaN(c))r.push(c);else if(a=n.match(Htt))r.push(a[2].replace(jtt,(f,p,h)=>p?Soe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function Wtt(t){Boe.lastIndex=0;let e=[],r;for(;(r=Boe.exec(t))!==null;){let s=r[1];if(r[2]){let a=Gtt(s,r[2]);e.push([s].concat(a))}else e.push([s])}return e}function voe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let s=t;for(let[a,n]of Object.entries(r))if(Array.isArray(n)){if(!(a in s))throw new Error(`Unknown Chalk style: ${a}`);s=n.length>0?s[a](...n):s[a]}return s}Doe.exports=(t,e)=>{let r=[],s=[],a=[];if(e.replace(Utt,(n,c,f,p,h,E)=>{if(c)a.push(Soe(c));else if(p){let C=a.join("");a=[],s.push(r.length===0?C:voe(t,r)(C)),r.push({inverse:f,styles:Wtt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");s.push(voe(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),s.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return s.join("")}});var g4=L((HYt,Qoe)=>{"use strict";var CB=IB(),{stdout:f4,stderr:A4}=c4(),{stringReplaceAll:Ytt,stringEncaseCRLFWithFirstIndex:Vtt}=woe(),Poe=["ansi","ansi","ansi256","ansi16m"],QE=Object.create(null),Ktt=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=f4?f4.level:0;t.level=e.level===void 0?r:e.level},p4=class{constructor(e){return xoe(e)}},xoe=t=>{let e={};return Ktt(e,t),e.template=(...r)=>Ztt(e.template,...r),Object.setPrototypeOf(e,Ek.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=p4,e.template};function Ek(t){return xoe(t)}for(let[t,e]of Object.entries(CB))QE[t]={get(){let r=Ik(this,h4(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};QE.visible={get(){let t=Ik(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var koe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of koe)QE[t]={get(){let{level:e}=this;return function(...r){let s=h4(CB.color[Poe[e]][t](...r),CB.color.close,this._styler);return Ik(this,s,this._isEmpty)}}};for(let t of koe){let e="bg"+t[0].toUpperCase()+t.slice(1);QE[e]={get(){let{level:r}=this;return function(...s){let a=h4(CB.bgColor[Poe[r]][t](...s),CB.bgColor.close,this._styler);return Ik(this,a,this._isEmpty)}}}}var Jtt=Object.defineProperties(()=>{},{...QE,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),h4=(t,e,r)=>{let s,a;return r===void 0?(s=t,a=e):(s=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:s,closeAll:a,parent:r}},Ik=(t,e,r)=>{let s=(...a)=>ztt(s,a.length===1?""+a[0]:a.join(" "));return s.__proto__=Jtt,s._generator=t,s._styler=e,s._isEmpty=r,s},ztt=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:s,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=Ytt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=Vtt(e,a,s,n)),s+e+a},u4,Ztt=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let s=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";bc.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;bc.find=(t,e)=>t.nodes.find(r=>r.type===e);bc.exceedsLimit=(t,e,r=1,s)=>s===!1||!bc.isInteger(t)||!bc.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=s;bc.escapeNode=(t,e=0,r)=>{let s=t.nodes[e];s&&(r&&s.type===r||s.type==="open"||s.type==="close")&&s.escaped!==!0&&(s.value="\\"+s.value,s.escaped=!0)};bc.encloseBrace=t=>t.type!=="brace"||t.commas>>0+t.ranges>>0?!1:(t.invalid=!0,!0);bc.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:!(t.commas>>0+t.ranges>>0)||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;bc.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;bc.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);bc.flatten=(...t)=>{let e=[],r=s=>{for(let a=0;a{"use strict";var Toe=Ck();Roe.exports=(t,e={})=>{let r=(s,a={})=>{let n=e.escapeInvalid&&Toe.isInvalidBrace(a),c=s.invalid===!0&&e.escapeInvalid===!0,f="";if(s.value)return(n||c)&&Toe.isOpenOrClose(s)?"\\"+s.value:s.value;if(s.value)return s.value;if(s.nodes)for(let p of s.nodes)f+=r(p);return f};return r(t)}});var Noe=L((GYt,Foe)=>{"use strict";Foe.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var Goe=L((WYt,qoe)=>{"use strict";var Ooe=Noe(),Gd=(t,e,r)=>{if(Ooe(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(Ooe(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let s={relaxZeros:!0,...r};typeof s.strictZeros=="boolean"&&(s.relaxZeros=s.strictZeros===!1);let a=String(s.relaxZeros),n=String(s.shorthand),c=String(s.capture),f=String(s.wrap),p=t+":"+e+"="+a+n+c+f;if(Gd.cache.hasOwnProperty(p))return Gd.cache[p].result;let h=Math.min(t,e),E=Math.max(t,e);if(Math.abs(h-E)===1){let R=t+"|"+e;return s.capture?`(${R})`:s.wrap===!1?R:`(?:${R})`}let C=joe(t)||joe(e),S={min:t,max:e,a:h,b:E},P=[],I=[];if(C&&(S.isPadded=C,S.maxLen=String(S.max).length),h<0){let R=E<0?Math.abs(E):1;I=Loe(R,Math.abs(h),S,s),h=S.a=0}return E>=0&&(P=Loe(h,E,S,s)),S.negatives=I,S.positives=P,S.result=Xtt(I,P,s),s.capture===!0?S.result=`(${S.result})`:s.wrap!==!1&&P.length+I.length>1&&(S.result=`(?:${S.result})`),Gd.cache[p]=S,S.result};function Xtt(t,e,r){let s=d4(t,e,"-",!1,r)||[],a=d4(e,t,"",!1,r)||[],n=d4(t,e,"-?",!0,r)||[];return s.concat(n).concat(a).join("|")}function $tt(t,e){let r=1,s=1,a=_oe(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=_oe(t,r);for(a=Uoe(e+1,s)-1;t1&&f.count.pop(),f.count.push(E.count[0]),f.string=f.pattern+Hoe(f.count),c=h+1;continue}r.isPadded&&(C=irt(h,r,s)),E.string=C+E.pattern+Hoe(E.count),n.push(E),c=h+1,f=E}return n}function d4(t,e,r,s,a){let n=[];for(let c of t){let{string:f}=c;!s&&!Moe(e,"string",f)&&n.push(r+f),s&&Moe(e,"string",f)&&n.push(r+f)}return n}function trt(t,e){let r=[];for(let s=0;se?1:e>t?-1:0}function Moe(t,e,r){return t.some(s=>s[e]===r)}function _oe(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function Uoe(t,e){return t-t%Math.pow(10,e)}function Hoe(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function nrt(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function joe(t){return/^-?(0+)\d/.test(t)}function irt(t,e,r){if(!e.isPadded)return t;let s=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(s){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${s}}`:`0{${s}}`}}Gd.cache={};Gd.clearCache=()=>Gd.cache={};qoe.exports=Gd});var E4=L((YYt,Xoe)=>{"use strict";var srt=ye("util"),Voe=Goe(),Woe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),ort=t=>e=>t===!0?Number(e):String(e),m4=t=>typeof t=="number"||typeof t=="string"&&t!=="",BB=t=>Number.isInteger(+t),y4=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},art=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,lrt=(t,e,r)=>{if(e>0){let s=t[0]==="-"?"-":"";s&&(t=t.slice(1)),t=s+t.padStart(s?e-1:e,"0")}return r===!1?String(t):t},Yoe=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((c,f)=>cf?1:0),t.positives.sort((c,f)=>cf?1:0);let r=e.capture?"":"?:",s="",a="",n;return t.positives.length&&(s=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),s&&a?n=`${s}|${a}`:n=s||a,e.wrap?`(${r}${n})`:n},Koe=(t,e,r,s)=>{if(r)return Voe(t,e,{wrap:!1,...s});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},Joe=(t,e,r)=>{if(Array.isArray(t)){let s=r.wrap===!0,a=r.capture?"":"?:";return s?`(${a}${t.join("|")})`:t.join("|")}return Voe(t,e,r)},zoe=(...t)=>new RangeError("Invalid range arguments: "+srt.inspect(...t)),Zoe=(t,e,r)=>{if(r.strictRanges===!0)throw zoe([t,e]);return[]},urt=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},frt=(t,e,r=1,s={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(s.strictRanges===!0)throw zoe([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let c=a>n,f=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let E=y4(f)||y4(p)||y4(h),C=E?Math.max(f.length,p.length,h.length):0,S=E===!1&&art(t,e,s)===!1,P=s.transform||ort(S);if(s.toRegex&&r===1)return Koe(Yoe(t,C),Yoe(e,C),!0,s);let I={negatives:[],positives:[]},R=W=>I[W<0?"negatives":"positives"].push(Math.abs(W)),N=[],U=0;for(;c?a>=n:a<=n;)s.toRegex===!0&&r>1?R(a):N.push(lrt(P(a,U),C,S)),a=c?a-r:a+r,U++;return s.toRegex===!0?r>1?crt(I,s):Joe(N,null,{wrap:!1,...s}):N},Art=(t,e,r=1,s={})=>{if(!BB(t)&&t.length>1||!BB(e)&&e.length>1)return Zoe(t,e,s);let a=s.transform||(S=>String.fromCharCode(S)),n=`${t}`.charCodeAt(0),c=`${e}`.charCodeAt(0),f=n>c,p=Math.min(n,c),h=Math.max(n,c);if(s.toRegex&&r===1)return Koe(p,h,!1,s);let E=[],C=0;for(;f?n>=c:n<=c;)E.push(a(n,C)),n=f?n-r:n+r,C++;return s.toRegex===!0?Joe(E,null,{wrap:!1,options:s}):E},Bk=(t,e,r,s={})=>{if(e==null&&m4(t))return[t];if(!m4(t)||!m4(e))return Zoe(t,e,s);if(typeof r=="function")return Bk(t,e,1,{transform:r});if(Woe(r))return Bk(t,e,0,r);let a={...s};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,BB(r)?BB(t)&&BB(e)?frt(t,e,r,a):Art(t,e,Math.max(Math.abs(r),1),a):r!=null&&!Woe(r)?urt(r,a):Bk(t,e,1,r)};Xoe.exports=Bk});var tae=L((VYt,eae)=>{"use strict";var prt=E4(),$oe=Ck(),hrt=(t,e={})=>{let r=(s,a={})=>{let n=$oe.isInvalidBrace(a),c=s.invalid===!0&&e.escapeInvalid===!0,f=n===!0||c===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(s.isOpen===!0||s.isClose===!0)return p+s.value;if(s.type==="open")return f?p+s.value:"(";if(s.type==="close")return f?p+s.value:")";if(s.type==="comma")return s.prev.type==="comma"?"":f?s.value:"|";if(s.value)return s.value;if(s.nodes&&s.ranges>0){let E=$oe.reduce(s.nodes),C=prt(...E,{...e,wrap:!1,toRegex:!0});if(C.length!==0)return E.length>1&&C.length>1?`(${C})`:C}if(s.nodes)for(let E of s.nodes)h+=r(E,s);return h};return r(t)};eae.exports=hrt});var iae=L((KYt,nae)=>{"use strict";var grt=E4(),rae=wk(),TE=Ck(),Wd=(t="",e="",r=!1)=>{let s=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?TE.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)s.push(Wd(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),s.push(Array.isArray(n)?Wd(a,n,r):a+n);return TE.flatten(s)},drt=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,s=(a,n={})=>{a.queue=[];let c=n,f=n.queue;for(;c.type!=="brace"&&c.type!=="root"&&c.parent;)c=c.parent,f=c.queue;if(a.invalid||a.dollar){f.push(Wd(f.pop(),rae(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){f.push(Wd(f.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let C=TE.reduce(a.nodes);if(TE.exceedsLimit(...C,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let S=grt(...C,e);S.length===0&&(S=rae(a,e)),f.push(Wd(f.pop(),S)),a.nodes=[];return}let p=TE.encloseBrace(a),h=a.queue,E=a;for(;E.type!=="brace"&&E.type!=="root"&&E.parent;)E=E.parent,h=E.queue;for(let C=0;C{"use strict";sae.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var fae=L((zYt,uae)=>{"use strict";var mrt=wk(),{MAX_LENGTH:aae,CHAR_BACKSLASH:I4,CHAR_BACKTICK:yrt,CHAR_COMMA:Ert,CHAR_DOT:Irt,CHAR_LEFT_PARENTHESES:Crt,CHAR_RIGHT_PARENTHESES:wrt,CHAR_LEFT_CURLY_BRACE:Brt,CHAR_RIGHT_CURLY_BRACE:vrt,CHAR_LEFT_SQUARE_BRACKET:lae,CHAR_RIGHT_SQUARE_BRACKET:cae,CHAR_DOUBLE_QUOTE:Srt,CHAR_SINGLE_QUOTE:Drt,CHAR_NO_BREAK_SPACE:brt,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Prt}=oae(),xrt=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},s=typeof r.maxLength=="number"?Math.min(aae,r.maxLength):aae;if(t.length>s)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${s})`);let a={type:"root",input:t,nodes:[]},n=[a],c=a,f=a,p=0,h=t.length,E=0,C=0,S,P={},I=()=>t[E++],R=N=>{if(N.type==="text"&&f.type==="dot"&&(f.type="text"),f&&f.type==="text"&&N.type==="text"){f.value+=N.value;return}return c.nodes.push(N),N.parent=c,N.prev=f,f=N,N};for(R({type:"bos"});E0){if(c.ranges>0){c.ranges=0;let N=c.nodes.shift();c.nodes=[N,{type:"text",value:mrt(c)}]}R({type:"comma",value:S}),c.commas++;continue}if(S===Irt&&C>0&&c.commas===0){let N=c.nodes;if(C===0||N.length===0){R({type:"text",value:S});continue}if(f.type==="dot"){if(c.range=[],f.value+=S,f.type="range",c.nodes.length!==3&&c.nodes.length!==5){c.invalid=!0,c.ranges=0,f.type="text";continue}c.ranges++,c.args=[];continue}if(f.type==="range"){N.pop();let U=N[N.length-1];U.value+=f.value+S,f=U,c.ranges--;continue}R({type:"dot",value:S});continue}R({type:"text",value:S})}do if(c=n.pop(),c.type!=="root"){c.nodes.forEach(W=>{W.nodes||(W.type==="open"&&(W.isOpen=!0),W.type==="close"&&(W.isClose=!0),W.nodes||(W.type="text"),W.invalid=!0)});let N=n[n.length-1],U=N.nodes.indexOf(c);N.nodes.splice(U,1,...c.nodes)}while(n.length>0);return R({type:"eos"}),a};uae.exports=xrt});var hae=L((ZYt,pae)=>{"use strict";var Aae=wk(),krt=tae(),Qrt=iae(),Trt=fae(),ql=(t,e={})=>{let r=[];if(Array.isArray(t))for(let s of t){let a=ql.create(s,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(ql.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};ql.parse=(t,e={})=>Trt(t,e);ql.stringify=(t,e={})=>Aae(typeof t=="string"?ql.parse(t,e):t,e);ql.compile=(t,e={})=>(typeof t=="string"&&(t=ql.parse(t,e)),krt(t,e));ql.expand=(t,e={})=>{typeof t=="string"&&(t=ql.parse(t,e));let r=Qrt(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};ql.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?ql.compile(t,e):ql.expand(t,e);pae.exports=ql});var vB=L((XYt,Eae)=>{"use strict";var Rrt=ye("path"),Kf="\\\\/",gae=`[^${Kf}]`,Pp="\\.",Frt="\\+",Nrt="\\?",vk="\\/",Ort="(?=.)",dae="[^/]",C4=`(?:${vk}|$)`,mae=`(?:^|${vk})`,w4=`${Pp}{1,2}${C4}`,Lrt=`(?!${Pp})`,Mrt=`(?!${mae}${w4})`,_rt=`(?!${Pp}{0,1}${C4})`,Urt=`(?!${w4})`,Hrt=`[^.${vk}]`,jrt=`${dae}*?`,yae={DOT_LITERAL:Pp,PLUS_LITERAL:Frt,QMARK_LITERAL:Nrt,SLASH_LITERAL:vk,ONE_CHAR:Ort,QMARK:dae,END_ANCHOR:C4,DOTS_SLASH:w4,NO_DOT:Lrt,NO_DOTS:Mrt,NO_DOT_SLASH:_rt,NO_DOTS_SLASH:Urt,QMARK_NO_DOT:Hrt,STAR:jrt,START_ANCHOR:mae},qrt={...yae,SLASH_LITERAL:`[${Kf}]`,QMARK:gae,STAR:`${gae}*?`,DOTS_SLASH:`${Pp}{1,2}(?:[${Kf}]|$)`,NO_DOT:`(?!${Pp})`,NO_DOTS:`(?!(?:^|[${Kf}])${Pp}{1,2}(?:[${Kf}]|$))`,NO_DOT_SLASH:`(?!${Pp}{0,1}(?:[${Kf}]|$))`,NO_DOTS_SLASH:`(?!${Pp}{1,2}(?:[${Kf}]|$))`,QMARK_NO_DOT:`[^.${Kf}]`,START_ANCHOR:`(?:^|[${Kf}])`,END_ANCHOR:`(?:[${Kf}]|$)`},Grt={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Eae.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Grt,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Rrt.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?qrt:yae}}});var SB=L(al=>{"use strict";var Wrt=ye("path"),Yrt=process.platform==="win32",{REGEX_BACKSLASH:Vrt,REGEX_REMOVE_BACKSLASH:Krt,REGEX_SPECIAL_CHARS:Jrt,REGEX_SPECIAL_CHARS_GLOBAL:zrt}=vB();al.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);al.hasRegexChars=t=>Jrt.test(t);al.isRegexChar=t=>t.length===1&&al.hasRegexChars(t);al.escapeRegex=t=>t.replace(zrt,"\\$1");al.toPosixSlashes=t=>t.replace(Vrt,"/");al.removeBackslashes=t=>t.replace(Krt,e=>e==="\\"?"":e);al.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};al.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:Yrt===!0||Wrt.sep==="\\";al.escapeLast=(t,e,r)=>{let s=t.lastIndexOf(e,r);return s===-1?t:t[s-1]==="\\"?al.escapeLast(t,e,s-1):`${t.slice(0,s)}\\${t.slice(s)}`};al.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};al.wrapOutput=(t,e={},r={})=>{let s=r.contains?"":"^",a=r.contains?"":"$",n=`${s}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var bae=L((eVt,Dae)=>{"use strict";var Iae=SB(),{CHAR_ASTERISK:B4,CHAR_AT:Zrt,CHAR_BACKWARD_SLASH:DB,CHAR_COMMA:Xrt,CHAR_DOT:v4,CHAR_EXCLAMATION_MARK:S4,CHAR_FORWARD_SLASH:Sae,CHAR_LEFT_CURLY_BRACE:D4,CHAR_LEFT_PARENTHESES:b4,CHAR_LEFT_SQUARE_BRACKET:$rt,CHAR_PLUS:ent,CHAR_QUESTION_MARK:Cae,CHAR_RIGHT_CURLY_BRACE:tnt,CHAR_RIGHT_PARENTHESES:wae,CHAR_RIGHT_SQUARE_BRACKET:rnt}=vB(),Bae=t=>t===Sae||t===DB,vae=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},nnt=(t,e)=>{let r=e||{},s=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],c=[],f=[],p=t,h=-1,E=0,C=0,S=!1,P=!1,I=!1,R=!1,N=!1,U=!1,W=!1,te=!1,ie=!1,Ae=!1,ce=0,me,pe,Be={value:"",depth:0,isGlob:!1},Ce=()=>h>=s,g=()=>p.charCodeAt(h+1),we=()=>(me=pe,p.charCodeAt(++h));for(;h0&&(fe=p.slice(0,E),p=p.slice(E),C-=E),Ee&&I===!0&&C>0?(Ee=p.slice(0,C),se=p.slice(C)):I===!0?(Ee="",se=p):Ee=p,Ee&&Ee!==""&&Ee!=="/"&&Ee!==p&&Bae(Ee.charCodeAt(Ee.length-1))&&(Ee=Ee.slice(0,-1)),r.unescape===!0&&(se&&(se=Iae.removeBackslashes(se)),Ee&&W===!0&&(Ee=Iae.removeBackslashes(Ee)));let X={prefix:fe,input:t,start:E,base:Ee,glob:se,isBrace:S,isBracket:P,isGlob:I,isExtglob:R,isGlobstar:N,negated:te,negatedExtglob:ie};if(r.tokens===!0&&(X.maxDepth=0,Bae(pe)||c.push(Be),X.tokens=c),r.parts===!0||r.tokens===!0){let De;for(let Re=0;Re{"use strict";var Sk=vB(),Gl=SB(),{MAX_LENGTH:Dk,POSIX_REGEX_SOURCE:int,REGEX_NON_SPECIAL_CHARS:snt,REGEX_SPECIAL_CHARS_BACKREF:ont,REPLACEMENTS:Pae}=Sk,ant=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>Gl.escapeRegex(a)).join("..")}return r},RE=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,P4=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=Pae[t]||t;let r={...e},s=typeof r.maxLength=="number"?Math.min(Dk,r.maxLength):Dk,a=t.length;if(a>s)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${s}`);let n={type:"bos",value:"",output:r.prepend||""},c=[n],f=r.capture?"":"?:",p=Gl.isWindows(e),h=Sk.globChars(p),E=Sk.extglobChars(h),{DOT_LITERAL:C,PLUS_LITERAL:S,SLASH_LITERAL:P,ONE_CHAR:I,DOTS_SLASH:R,NO_DOT:N,NO_DOT_SLASH:U,NO_DOTS_SLASH:W,QMARK:te,QMARK_NO_DOT:ie,STAR:Ae,START_ANCHOR:ce}=h,me=x=>`(${f}(?:(?!${ce}${x.dot?R:C}).)*?)`,pe=r.dot?"":N,Be=r.dot?te:ie,Ce=r.bash===!0?me(r):Ae;r.capture&&(Ce=`(${Ce})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:c};t=Gl.removePrefix(t,g),a=t.length;let we=[],Ee=[],fe=[],se=n,X,De=()=>g.index===a-1,Re=g.peek=(x=1)=>t[g.index+x],gt=g.advance=()=>t[++g.index]||"",j=()=>t.slice(g.index+1),rt=(x="",w=0)=>{g.consumed+=x,g.index+=w},Fe=x=>{g.output+=x.output!=null?x.output:x.value,rt(x.value)},Ne=()=>{let x=1;for(;Re()==="!"&&(Re(2)!=="("||Re(3)==="?");)gt(),g.start++,x++;return x%2===0?!1:(g.negated=!0,g.start++,!0)},Pe=x=>{g[x]++,fe.push(x)},Ye=x=>{g[x]--,fe.pop()},ke=x=>{if(se.type==="globstar"){let w=g.braces>0&&(x.type==="comma"||x.type==="brace"),b=x.extglob===!0||we.length&&(x.type==="pipe"||x.type==="paren");x.type!=="slash"&&x.type!=="paren"&&!w&&!b&&(g.output=g.output.slice(0,-se.output.length),se.type="star",se.value="*",se.output=Ce,g.output+=se.output)}if(we.length&&x.type!=="paren"&&(we[we.length-1].inner+=x.value),(x.value||x.output)&&Fe(x),se&&se.type==="text"&&x.type==="text"){se.value+=x.value,se.output=(se.output||"")+x.value;return}x.prev=se,c.push(x),se=x},it=(x,w)=>{let b={...E[w],conditions:1,inner:""};b.prev=se,b.parens=g.parens,b.output=g.output;let y=(r.capture?"(":"")+b.open;Pe("parens"),ke({type:x,value:w,output:g.output?"":I}),ke({type:"paren",extglob:!0,value:gt(),output:y}),we.push(b)},_e=x=>{let w=x.close+(r.capture?")":""),b;if(x.type==="negate"){let y=Ce;if(x.inner&&x.inner.length>1&&x.inner.includes("/")&&(y=me(r)),(y!==Ce||De()||/^\)+$/.test(j()))&&(w=x.close=`)$))${y}`),x.inner.includes("*")&&(b=j())&&/^\.[^\\/.]+$/.test(b)){let F=P4(b,{...e,fastpaths:!1}).output;w=x.close=`)${F})${y})`}x.prev.type==="bos"&&(g.negatedExtglob=!0)}ke({type:"paren",extglob:!0,value:X,output:w}),Ye("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let x=!1,w=t.replace(ont,(b,y,F,z,Z,$)=>z==="\\"?(x=!0,b):z==="?"?y?y+z+(Z?te.repeat(Z.length):""):$===0?Be+(Z?te.repeat(Z.length):""):te.repeat(F.length):z==="."?C.repeat(F.length):z==="*"?y?y+z+(Z?Ce:""):Ce:y?b:`\\${b}`);return x===!0&&(r.unescape===!0?w=w.replace(/\\/g,""):w=w.replace(/\\+/g,b=>b.length%2===0?"\\\\":b?"\\":"")),w===t&&r.contains===!0?(g.output=t,g):(g.output=Gl.wrapOutput(w,g,e),g)}for(;!De();){if(X=gt(),X==="\0")continue;if(X==="\\"){let b=Re();if(b==="/"&&r.bash!==!0||b==="."||b===";")continue;if(!b){X+="\\",ke({type:"text",value:X});continue}let y=/^\\+/.exec(j()),F=0;if(y&&y[0].length>2&&(F=y[0].length,g.index+=F,F%2!==0&&(X+="\\")),r.unescape===!0?X=gt():X+=gt(),g.brackets===0){ke({type:"text",value:X});continue}}if(g.brackets>0&&(X!=="]"||se.value==="["||se.value==="[^")){if(r.posix!==!1&&X===":"){let b=se.value.slice(1);if(b.includes("[")&&(se.posix=!0,b.includes(":"))){let y=se.value.lastIndexOf("["),F=se.value.slice(0,y),z=se.value.slice(y+2),Z=int[z];if(Z){se.value=F+Z,g.backtrack=!0,gt(),!n.output&&c.indexOf(se)===1&&(n.output=I);continue}}}(X==="["&&Re()!==":"||X==="-"&&Re()==="]")&&(X=`\\${X}`),X==="]"&&(se.value==="["||se.value==="[^")&&(X=`\\${X}`),r.posix===!0&&X==="!"&&se.value==="["&&(X="^"),se.value+=X,Fe({value:X});continue}if(g.quotes===1&&X!=='"'){X=Gl.escapeRegex(X),se.value+=X,Fe({value:X});continue}if(X==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&ke({type:"text",value:X});continue}if(X==="("){Pe("parens"),ke({type:"paren",value:X});continue}if(X===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(RE("opening","("));let b=we[we.length-1];if(b&&g.parens===b.parens+1){_e(we.pop());continue}ke({type:"paren",value:X,output:g.parens?")":"\\)"}),Ye("parens");continue}if(X==="["){if(r.nobracket===!0||!j().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(RE("closing","]"));X=`\\${X}`}else Pe("brackets");ke({type:"bracket",value:X});continue}if(X==="]"){if(r.nobracket===!0||se&&se.type==="bracket"&&se.value.length===1){ke({type:"text",value:X,output:`\\${X}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(RE("opening","["));ke({type:"text",value:X,output:`\\${X}`});continue}Ye("brackets");let b=se.value.slice(1);if(se.posix!==!0&&b[0]==="^"&&!b.includes("/")&&(X=`/${X}`),se.value+=X,Fe({value:X}),r.literalBrackets===!1||Gl.hasRegexChars(b))continue;let y=Gl.escapeRegex(se.value);if(g.output=g.output.slice(0,-se.value.length),r.literalBrackets===!0){g.output+=y,se.value=y;continue}se.value=`(${f}${y}|${se.value})`,g.output+=se.value;continue}if(X==="{"&&r.nobrace!==!0){Pe("braces");let b={type:"brace",value:X,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Ee.push(b),ke(b);continue}if(X==="}"){let b=Ee[Ee.length-1];if(r.nobrace===!0||!b){ke({type:"text",value:X,output:X});continue}let y=")";if(b.dots===!0){let F=c.slice(),z=[];for(let Z=F.length-1;Z>=0&&(c.pop(),F[Z].type!=="brace");Z--)F[Z].type!=="dots"&&z.unshift(F[Z].value);y=ant(z,r),g.backtrack=!0}if(b.comma!==!0&&b.dots!==!0){let F=g.output.slice(0,b.outputIndex),z=g.tokens.slice(b.tokensIndex);b.value=b.output="\\{",X=y="\\}",g.output=F;for(let Z of z)g.output+=Z.output||Z.value}ke({type:"brace",value:X,output:y}),Ye("braces"),Ee.pop();continue}if(X==="|"){we.length>0&&we[we.length-1].conditions++,ke({type:"text",value:X});continue}if(X===","){let b=X,y=Ee[Ee.length-1];y&&fe[fe.length-1]==="braces"&&(y.comma=!0,b="|"),ke({type:"comma",value:X,output:b});continue}if(X==="/"){if(se.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",c.pop(),se=n;continue}ke({type:"slash",value:X,output:P});continue}if(X==="."){if(g.braces>0&&se.type==="dot"){se.value==="."&&(se.output=C);let b=Ee[Ee.length-1];se.type="dots",se.output+=X,se.value+=X,b.dots=!0;continue}if(g.braces+g.parens===0&&se.type!=="bos"&&se.type!=="slash"){ke({type:"text",value:X,output:C});continue}ke({type:"dot",value:X,output:C});continue}if(X==="?"){if(!(se&&se.value==="(")&&r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){it("qmark",X);continue}if(se&&se.type==="paren"){let y=Re(),F=X;if(y==="<"&&!Gl.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(se.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(j()))&&(F=`\\${X}`),ke({type:"text",value:X,output:F});continue}if(r.dot!==!0&&(se.type==="slash"||se.type==="bos")){ke({type:"qmark",value:X,output:ie});continue}ke({type:"qmark",value:X,output:te});continue}if(X==="!"){if(r.noextglob!==!0&&Re()==="("&&(Re(2)!=="?"||!/[!=<:]/.test(Re(3)))){it("negate",X);continue}if(r.nonegate!==!0&&g.index===0){Ne();continue}}if(X==="+"){if(r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){it("plus",X);continue}if(se&&se.value==="("||r.regex===!1){ke({type:"plus",value:X,output:S});continue}if(se&&(se.type==="bracket"||se.type==="paren"||se.type==="brace")||g.parens>0){ke({type:"plus",value:X});continue}ke({type:"plus",value:S});continue}if(X==="@"){if(r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){ke({type:"at",extglob:!0,value:X,output:""});continue}ke({type:"text",value:X});continue}if(X!=="*"){(X==="$"||X==="^")&&(X=`\\${X}`);let b=snt.exec(j());b&&(X+=b[0],g.index+=b[0].length),ke({type:"text",value:X});continue}if(se&&(se.type==="globstar"||se.star===!0)){se.type="star",se.star=!0,se.value+=X,se.output=Ce,g.backtrack=!0,g.globstar=!0,rt(X);continue}let x=j();if(r.noextglob!==!0&&/^\([^?]/.test(x)){it("star",X);continue}if(se.type==="star"){if(r.noglobstar===!0){rt(X);continue}let b=se.prev,y=b.prev,F=b.type==="slash"||b.type==="bos",z=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!F||x[0]&&x[0]!=="/")){ke({type:"star",value:X,output:""});continue}let Z=g.braces>0&&(b.type==="comma"||b.type==="brace"),$=we.length&&(b.type==="pipe"||b.type==="paren");if(!F&&b.type!=="paren"&&!Z&&!$){ke({type:"star",value:X,output:""});continue}for(;x.slice(0,3)==="/**";){let oe=t[g.index+4];if(oe&&oe!=="/")break;x=x.slice(3),rt("/**",3)}if(b.type==="bos"&&De()){se.type="globstar",se.value+=X,se.output=me(r),g.output=se.output,g.globstar=!0,rt(X);continue}if(b.type==="slash"&&b.prev.type!=="bos"&&!z&&De()){g.output=g.output.slice(0,-(b.output+se.output).length),b.output=`(?:${b.output}`,se.type="globstar",se.output=me(r)+(r.strictSlashes?")":"|$)"),se.value+=X,g.globstar=!0,g.output+=b.output+se.output,rt(X);continue}if(b.type==="slash"&&b.prev.type!=="bos"&&x[0]==="/"){let oe=x[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(b.output+se.output).length),b.output=`(?:${b.output}`,se.type="globstar",se.output=`${me(r)}${P}|${P}${oe})`,se.value+=X,g.output+=b.output+se.output,g.globstar=!0,rt(X+gt()),ke({type:"slash",value:"/",output:""});continue}if(b.type==="bos"&&x[0]==="/"){se.type="globstar",se.value+=X,se.output=`(?:^|${P}|${me(r)}${P})`,g.output=se.output,g.globstar=!0,rt(X+gt()),ke({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-se.output.length),se.type="globstar",se.output=me(r),se.value+=X,g.output+=se.output,g.globstar=!0,rt(X);continue}let w={type:"star",value:X,output:Ce};if(r.bash===!0){w.output=".*?",(se.type==="bos"||se.type==="slash")&&(w.output=pe+w.output),ke(w);continue}if(se&&(se.type==="bracket"||se.type==="paren")&&r.regex===!0){w.output=X,ke(w);continue}(g.index===g.start||se.type==="slash"||se.type==="dot")&&(se.type==="dot"?(g.output+=U,se.output+=U):r.dot===!0?(g.output+=W,se.output+=W):(g.output+=pe,se.output+=pe),Re()!=="*"&&(g.output+=I,se.output+=I)),ke(w)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(RE("closing","]"));g.output=Gl.escapeLast(g.output,"["),Ye("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(RE("closing",")"));g.output=Gl.escapeLast(g.output,"("),Ye("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(RE("closing","}"));g.output=Gl.escapeLast(g.output,"{"),Ye("braces")}if(r.strictSlashes!==!0&&(se.type==="star"||se.type==="bracket")&&ke({type:"maybe_slash",value:"",output:`${P}?`}),g.backtrack===!0){g.output="";for(let x of g.tokens)g.output+=x.output!=null?x.output:x.value,x.suffix&&(g.output+=x.suffix)}return g};P4.fastpaths=(t,e)=>{let r={...e},s=typeof r.maxLength=="number"?Math.min(Dk,r.maxLength):Dk,a=t.length;if(a>s)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${s}`);t=Pae[t]||t;let n=Gl.isWindows(e),{DOT_LITERAL:c,SLASH_LITERAL:f,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:E,NO_DOTS:C,NO_DOTS_SLASH:S,STAR:P,START_ANCHOR:I}=Sk.globChars(n),R=r.dot?C:E,N=r.dot?S:E,U=r.capture?"":"?:",W={negated:!1,prefix:""},te=r.bash===!0?".*?":P;r.capture&&(te=`(${te})`);let ie=pe=>pe.noglobstar===!0?te:`(${U}(?:(?!${I}${pe.dot?h:c}).)*?)`,Ae=pe=>{switch(pe){case"*":return`${R}${p}${te}`;case".*":return`${c}${p}${te}`;case"*.*":return`${R}${te}${c}${p}${te}`;case"*/*":return`${R}${te}${f}${p}${N}${te}`;case"**":return R+ie(r);case"**/*":return`(?:${R}${ie(r)}${f})?${N}${p}${te}`;case"**/*.*":return`(?:${R}${ie(r)}${f})?${N}${te}${c}${p}${te}`;case"**/.*":return`(?:${R}${ie(r)}${f})?${c}${p}${te}`;default:{let Be=/^(.*?)\.(\w+)$/.exec(pe);if(!Be)return;let Ce=Ae(Be[1]);return Ce?Ce+c+Be[2]:void 0}}},ce=Gl.removePrefix(t,W),me=Ae(ce);return me&&r.strictSlashes!==!0&&(me+=`${f}?`),me};xae.exports=P4});var Tae=L((rVt,Qae)=>{"use strict";var lnt=ye("path"),cnt=bae(),x4=kae(),k4=SB(),unt=vB(),fnt=t=>t&&typeof t=="object"&&!Array.isArray(t),Xi=(t,e,r=!1)=>{if(Array.isArray(t)){let E=t.map(S=>Xi(S,e,r));return S=>{for(let P of E){let I=P(S);if(I)return I}return!1}}let s=fnt(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!s)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=k4.isWindows(e),c=s?Xi.compileRe(t,e):Xi.makeRe(t,e,!1,!0),f=c.state;delete c.state;let p=()=>!1;if(a.ignore){let E={...e,ignore:null,onMatch:null,onResult:null};p=Xi(a.ignore,E,r)}let h=(E,C=!1)=>{let{isMatch:S,match:P,output:I}=Xi.test(E,c,e,{glob:t,posix:n}),R={glob:t,state:f,regex:c,posix:n,input:E,output:I,match:P,isMatch:S};return typeof a.onResult=="function"&&a.onResult(R),S===!1?(R.isMatch=!1,C?R:!1):p(E)?(typeof a.onIgnore=="function"&&a.onIgnore(R),R.isMatch=!1,C?R:!1):(typeof a.onMatch=="function"&&a.onMatch(R),C?R:!0)};return r&&(h.state=f),h};Xi.test=(t,e,r,{glob:s,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},c=n.format||(a?k4.toPosixSlashes:null),f=t===s,p=f&&c?c(t):t;return f===!1&&(p=c?c(t):t,f=p===s),(f===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?f=Xi.matchBase(t,e,r,a):f=e.exec(p)),{isMatch:!!f,match:f,output:p}};Xi.matchBase=(t,e,r,s=k4.isWindows(r))=>(e instanceof RegExp?e:Xi.makeRe(e,r)).test(lnt.basename(t));Xi.isMatch=(t,e,r)=>Xi(e,r)(t);Xi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Xi.parse(r,e)):x4(t,{...e,fastpaths:!1});Xi.scan=(t,e)=>cnt(t,e);Xi.compileRe=(t,e,r=!1,s=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",c=a.contains?"":"$",f=`${n}(?:${t.output})${c}`;t&&t.negated===!0&&(f=`^(?!${f}).*$`);let p=Xi.toRegex(f,e);return s===!0&&(p.state=t),p};Xi.makeRe=(t,e={},r=!1,s=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=x4.fastpaths(t,e)),a.output||(a=x4(t,e)),Xi.compileRe(a,e,r,s)};Xi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Xi.constants=unt;Qae.exports=Xi});var Fae=L((nVt,Rae)=>{"use strict";Rae.exports=Tae()});var Sa=L((iVt,Mae)=>{"use strict";var Oae=ye("util"),Lae=hae(),Jf=Fae(),Q4=SB(),Nae=t=>t===""||t==="./",ki=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let s=new Set,a=new Set,n=new Set,c=0,f=E=>{n.add(E.output),r&&r.onResult&&r.onResult(E)};for(let E=0;E!s.has(E));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(E=>E.replace(/\\/g,"")):e}return h};ki.match=ki;ki.matcher=(t,e)=>Jf(t,e);ki.isMatch=(t,e,r)=>Jf(e,r)(t);ki.any=ki.isMatch;ki.not=(t,e,r={})=>{e=[].concat(e).map(String);let s=new Set,a=[],n=f=>{r.onResult&&r.onResult(f),a.push(f.output)},c=new Set(ki(t,e,{...r,onResult:n}));for(let f of a)c.has(f)||s.add(f);return[...s]};ki.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${Oae.inspect(t)}"`);if(Array.isArray(e))return e.some(s=>ki.contains(t,s,r));if(typeof e=="string"){if(Nae(t)||Nae(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return ki.isMatch(t,e,{...r,contains:!0})};ki.matchKeys=(t,e,r)=>{if(!Q4.isObject(t))throw new TypeError("Expected the first argument to be an object");let s=ki(Object.keys(t),e,r),a={};for(let n of s)a[n]=t[n];return a};ki.some=(t,e,r)=>{let s=[].concat(t);for(let a of[].concat(e)){let n=Jf(String(a),r);if(s.some(c=>n(c)))return!0}return!1};ki.every=(t,e,r)=>{let s=[].concat(t);for(let a of[].concat(e)){let n=Jf(String(a),r);if(!s.every(c=>n(c)))return!1}return!0};ki.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${Oae.inspect(t)}"`);return[].concat(e).every(s=>Jf(s,r)(t))};ki.capture=(t,e,r)=>{let s=Q4.isWindows(r),n=Jf.makeRe(String(t),{...r,capture:!0}).exec(s?Q4.toPosixSlashes(e):e);if(n)return n.slice(1).map(c=>c===void 0?"":c)};ki.makeRe=(...t)=>Jf.makeRe(...t);ki.scan=(...t)=>Jf.scan(...t);ki.parse=(t,e)=>{let r=[];for(let s of[].concat(t||[]))for(let a of Lae(String(s),e))r.push(Jf.parse(a,e));return r};ki.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:Lae(t,e)};ki.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return ki.braces(t,{...e,expand:!0})};Mae.exports=ki});var Uae=L((sVt,_ae)=>{"use strict";_ae.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var bk=L((oVt,Hae)=>{"use strict";var Ant=Uae();Hae.exports=t=>typeof t=="string"?t.replace(Ant(),""):t});var qae=L((aVt,jae)=>{function pnt(){this.__data__=[],this.size=0}jae.exports=pnt});var FE=L((lVt,Gae)=>{function hnt(t,e){return t===e||t!==t&&e!==e}Gae.exports=hnt});var bB=L((cVt,Wae)=>{var gnt=FE();function dnt(t,e){for(var r=t.length;r--;)if(gnt(t[r][0],e))return r;return-1}Wae.exports=dnt});var Vae=L((uVt,Yae)=>{var mnt=bB(),ynt=Array.prototype,Ent=ynt.splice;function Int(t){var e=this.__data__,r=mnt(e,t);if(r<0)return!1;var s=e.length-1;return r==s?e.pop():Ent.call(e,r,1),--this.size,!0}Yae.exports=Int});var Jae=L((fVt,Kae)=>{var Cnt=bB();function wnt(t){var e=this.__data__,r=Cnt(e,t);return r<0?void 0:e[r][1]}Kae.exports=wnt});var Zae=L((AVt,zae)=>{var Bnt=bB();function vnt(t){return Bnt(this.__data__,t)>-1}zae.exports=vnt});var $ae=L((pVt,Xae)=>{var Snt=bB();function Dnt(t,e){var r=this.__data__,s=Snt(r,t);return s<0?(++this.size,r.push([t,e])):r[s][1]=e,this}Xae.exports=Dnt});var PB=L((hVt,ele)=>{var bnt=qae(),Pnt=Vae(),xnt=Jae(),knt=Zae(),Qnt=$ae();function NE(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var Tnt=PB();function Rnt(){this.__data__=new Tnt,this.size=0}tle.exports=Rnt});var ile=L((dVt,nle)=>{function Fnt(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}nle.exports=Fnt});var ole=L((mVt,sle)=>{function Nnt(t){return this.__data__.get(t)}sle.exports=Nnt});var lle=L((yVt,ale)=>{function Ont(t){return this.__data__.has(t)}ale.exports=Ont});var T4=L((EVt,cle)=>{var Lnt=typeof global=="object"&&global&&global.Object===Object&&global;cle.exports=Lnt});var Pc=L((IVt,ule)=>{var Mnt=T4(),_nt=typeof self=="object"&&self&&self.Object===Object&&self,Unt=Mnt||_nt||Function("return this")();ule.exports=Unt});var Yd=L((CVt,fle)=>{var Hnt=Pc(),jnt=Hnt.Symbol;fle.exports=jnt});var gle=L((wVt,hle)=>{var Ale=Yd(),ple=Object.prototype,qnt=ple.hasOwnProperty,Gnt=ple.toString,xB=Ale?Ale.toStringTag:void 0;function Wnt(t){var e=qnt.call(t,xB),r=t[xB];try{t[xB]=void 0;var s=!0}catch{}var a=Gnt.call(t);return s&&(e?t[xB]=r:delete t[xB]),a}hle.exports=Wnt});var mle=L((BVt,dle)=>{var Ynt=Object.prototype,Vnt=Ynt.toString;function Knt(t){return Vnt.call(t)}dle.exports=Knt});var Vd=L((vVt,Ile)=>{var yle=Yd(),Jnt=gle(),znt=mle(),Znt="[object Null]",Xnt="[object Undefined]",Ele=yle?yle.toStringTag:void 0;function $nt(t){return t==null?t===void 0?Xnt:Znt:Ele&&Ele in Object(t)?Jnt(t):znt(t)}Ile.exports=$nt});var Wl=L((SVt,Cle)=>{function eit(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}Cle.exports=eit});var Pk=L((DVt,wle)=>{var tit=Vd(),rit=Wl(),nit="[object AsyncFunction]",iit="[object Function]",sit="[object GeneratorFunction]",oit="[object Proxy]";function ait(t){if(!rit(t))return!1;var e=tit(t);return e==iit||e==sit||e==nit||e==oit}wle.exports=ait});var vle=L((bVt,Ble)=>{var lit=Pc(),cit=lit["__core-js_shared__"];Ble.exports=cit});var ble=L((PVt,Dle)=>{var R4=vle(),Sle=function(){var t=/[^.]+$/.exec(R4&&R4.keys&&R4.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function uit(t){return!!Sle&&Sle in t}Dle.exports=uit});var F4=L((xVt,Ple)=>{var fit=Function.prototype,Ait=fit.toString;function pit(t){if(t!=null){try{return Ait.call(t)}catch{}try{return t+""}catch{}}return""}Ple.exports=pit});var kle=L((kVt,xle)=>{var hit=Pk(),git=ble(),dit=Wl(),mit=F4(),yit=/[\\^$.*+?()[\]{}|]/g,Eit=/^\[object .+?Constructor\]$/,Iit=Function.prototype,Cit=Object.prototype,wit=Iit.toString,Bit=Cit.hasOwnProperty,vit=RegExp("^"+wit.call(Bit).replace(yit,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Sit(t){if(!dit(t)||git(t))return!1;var e=hit(t)?vit:Eit;return e.test(mit(t))}xle.exports=Sit});var Tle=L((QVt,Qle)=>{function Dit(t,e){return t?.[e]}Qle.exports=Dit});var A0=L((TVt,Rle)=>{var bit=kle(),Pit=Tle();function xit(t,e){var r=Pit(t,e);return bit(r)?r:void 0}Rle.exports=xit});var xk=L((RVt,Fle)=>{var kit=A0(),Qit=Pc(),Tit=kit(Qit,"Map");Fle.exports=Tit});var kB=L((FVt,Nle)=>{var Rit=A0(),Fit=Rit(Object,"create");Nle.exports=Fit});var Mle=L((NVt,Lle)=>{var Ole=kB();function Nit(){this.__data__=Ole?Ole(null):{},this.size=0}Lle.exports=Nit});var Ule=L((OVt,_le)=>{function Oit(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}_le.exports=Oit});var jle=L((LVt,Hle)=>{var Lit=kB(),Mit="__lodash_hash_undefined__",_it=Object.prototype,Uit=_it.hasOwnProperty;function Hit(t){var e=this.__data__;if(Lit){var r=e[t];return r===Mit?void 0:r}return Uit.call(e,t)?e[t]:void 0}Hle.exports=Hit});var Gle=L((MVt,qle)=>{var jit=kB(),qit=Object.prototype,Git=qit.hasOwnProperty;function Wit(t){var e=this.__data__;return jit?e[t]!==void 0:Git.call(e,t)}qle.exports=Wit});var Yle=L((_Vt,Wle)=>{var Yit=kB(),Vit="__lodash_hash_undefined__";function Kit(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Yit&&e===void 0?Vit:e,this}Wle.exports=Kit});var Kle=L((UVt,Vle)=>{var Jit=Mle(),zit=Ule(),Zit=jle(),Xit=Gle(),$it=Yle();function OE(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var Jle=Kle(),est=PB(),tst=xk();function rst(){this.size=0,this.__data__={hash:new Jle,map:new(tst||est),string:new Jle}}zle.exports=rst});var $le=L((jVt,Xle)=>{function nst(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}Xle.exports=nst});var QB=L((qVt,ece)=>{var ist=$le();function sst(t,e){var r=t.__data__;return ist(e)?r[typeof e=="string"?"string":"hash"]:r.map}ece.exports=sst});var rce=L((GVt,tce)=>{var ost=QB();function ast(t){var e=ost(this,t).delete(t);return this.size-=e?1:0,e}tce.exports=ast});var ice=L((WVt,nce)=>{var lst=QB();function cst(t){return lst(this,t).get(t)}nce.exports=cst});var oce=L((YVt,sce)=>{var ust=QB();function fst(t){return ust(this,t).has(t)}sce.exports=fst});var lce=L((VVt,ace)=>{var Ast=QB();function pst(t,e){var r=Ast(this,t),s=r.size;return r.set(t,e),this.size+=r.size==s?0:1,this}ace.exports=pst});var kk=L((KVt,cce)=>{var hst=Zle(),gst=rce(),dst=ice(),mst=oce(),yst=lce();function LE(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var Est=PB(),Ist=xk(),Cst=kk(),wst=200;function Bst(t,e){var r=this.__data__;if(r instanceof Est){var s=r.__data__;if(!Ist||s.length{var vst=PB(),Sst=rle(),Dst=ile(),bst=ole(),Pst=lle(),xst=fce();function ME(t){var e=this.__data__=new vst(t);this.size=e.size}ME.prototype.clear=Sst;ME.prototype.delete=Dst;ME.prototype.get=bst;ME.prototype.has=Pst;ME.prototype.set=xst;Ace.exports=ME});var hce=L((ZVt,pce)=>{var kst="__lodash_hash_undefined__";function Qst(t){return this.__data__.set(t,kst),this}pce.exports=Qst});var dce=L((XVt,gce)=>{function Tst(t){return this.__data__.has(t)}gce.exports=Tst});var yce=L(($Vt,mce)=>{var Rst=kk(),Fst=hce(),Nst=dce();function Tk(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new Rst;++e{function Ost(t,e){for(var r=-1,s=t==null?0:t.length;++r{function Lst(t,e){return t.has(e)}Cce.exports=Lst});var N4=L((r7t,Bce)=>{var Mst=yce(),_st=Ice(),Ust=wce(),Hst=1,jst=2;function qst(t,e,r,s,a,n){var c=r&Hst,f=t.length,p=e.length;if(f!=p&&!(c&&p>f))return!1;var h=n.get(t),E=n.get(e);if(h&&E)return h==e&&E==t;var C=-1,S=!0,P=r&jst?new Mst:void 0;for(n.set(t,e),n.set(e,t);++C{var Gst=Pc(),Wst=Gst.Uint8Array;vce.exports=Wst});var Dce=L((i7t,Sce)=>{function Yst(t){var e=-1,r=Array(t.size);return t.forEach(function(s,a){r[++e]=[a,s]}),r}Sce.exports=Yst});var Pce=L((s7t,bce)=>{function Vst(t){var e=-1,r=Array(t.size);return t.forEach(function(s){r[++e]=s}),r}bce.exports=Vst});var Rce=L((o7t,Tce)=>{var xce=Yd(),kce=O4(),Kst=FE(),Jst=N4(),zst=Dce(),Zst=Pce(),Xst=1,$st=2,eot="[object Boolean]",tot="[object Date]",rot="[object Error]",not="[object Map]",iot="[object Number]",sot="[object RegExp]",oot="[object Set]",aot="[object String]",lot="[object Symbol]",cot="[object ArrayBuffer]",uot="[object DataView]",Qce=xce?xce.prototype:void 0,L4=Qce?Qce.valueOf:void 0;function fot(t,e,r,s,a,n,c){switch(r){case uot:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case cot:return!(t.byteLength!=e.byteLength||!n(new kce(t),new kce(e)));case eot:case tot:case iot:return Kst(+t,+e);case rot:return t.name==e.name&&t.message==e.message;case sot:case aot:return t==e+"";case not:var f=zst;case oot:var p=s&Xst;if(f||(f=Zst),t.size!=e.size&&!p)return!1;var h=c.get(t);if(h)return h==e;s|=$st,c.set(t,e);var E=Jst(f(t),f(e),s,a,n,c);return c.delete(t),E;case lot:if(L4)return L4.call(t)==L4.call(e)}return!1}Tce.exports=fot});var Rk=L((a7t,Fce)=>{function Aot(t,e){for(var r=-1,s=e.length,a=t.length;++r{var pot=Array.isArray;Nce.exports=pot});var M4=L((c7t,Oce)=>{var hot=Rk(),got=xc();function dot(t,e,r){var s=e(t);return got(t)?s:hot(s,r(t))}Oce.exports=dot});var Mce=L((u7t,Lce)=>{function mot(t,e){for(var r=-1,s=t==null?0:t.length,a=0,n=[];++r{function yot(){return[]}_ce.exports=yot});var Fk=L((A7t,Hce)=>{var Eot=Mce(),Iot=_4(),Cot=Object.prototype,wot=Cot.propertyIsEnumerable,Uce=Object.getOwnPropertySymbols,Bot=Uce?function(t){return t==null?[]:(t=Object(t),Eot(Uce(t),function(e){return wot.call(t,e)}))}:Iot;Hce.exports=Bot});var qce=L((p7t,jce)=>{function vot(t,e){for(var r=-1,s=Array(t);++r{function Sot(t){return t!=null&&typeof t=="object"}Gce.exports=Sot});var Yce=L((g7t,Wce)=>{var Dot=Vd(),bot=zf(),Pot="[object Arguments]";function xot(t){return bot(t)&&Dot(t)==Pot}Wce.exports=xot});var TB=L((d7t,Jce)=>{var Vce=Yce(),kot=zf(),Kce=Object.prototype,Qot=Kce.hasOwnProperty,Tot=Kce.propertyIsEnumerable,Rot=Vce(function(){return arguments}())?Vce:function(t){return kot(t)&&Qot.call(t,"callee")&&!Tot.call(t,"callee")};Jce.exports=Rot});var Zce=L((m7t,zce)=>{function Fot(){return!1}zce.exports=Fot});var FB=L((RB,_E)=>{var Not=Pc(),Oot=Zce(),eue=typeof RB=="object"&&RB&&!RB.nodeType&&RB,Xce=eue&&typeof _E=="object"&&_E&&!_E.nodeType&&_E,Lot=Xce&&Xce.exports===eue,$ce=Lot?Not.Buffer:void 0,Mot=$ce?$ce.isBuffer:void 0,_ot=Mot||Oot;_E.exports=_ot});var NB=L((y7t,tue)=>{var Uot=9007199254740991,Hot=/^(?:0|[1-9]\d*)$/;function jot(t,e){var r=typeof t;return e=e??Uot,!!e&&(r=="number"||r!="symbol"&&Hot.test(t))&&t>-1&&t%1==0&&t{var qot=9007199254740991;function Got(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=qot}rue.exports=Got});var iue=L((I7t,nue)=>{var Wot=Vd(),Yot=Nk(),Vot=zf(),Kot="[object Arguments]",Jot="[object Array]",zot="[object Boolean]",Zot="[object Date]",Xot="[object Error]",$ot="[object Function]",eat="[object Map]",tat="[object Number]",rat="[object Object]",nat="[object RegExp]",iat="[object Set]",sat="[object String]",oat="[object WeakMap]",aat="[object ArrayBuffer]",lat="[object DataView]",cat="[object Float32Array]",uat="[object Float64Array]",fat="[object Int8Array]",Aat="[object Int16Array]",pat="[object Int32Array]",hat="[object Uint8Array]",gat="[object Uint8ClampedArray]",dat="[object Uint16Array]",mat="[object Uint32Array]",Si={};Si[cat]=Si[uat]=Si[fat]=Si[Aat]=Si[pat]=Si[hat]=Si[gat]=Si[dat]=Si[mat]=!0;Si[Kot]=Si[Jot]=Si[aat]=Si[zot]=Si[lat]=Si[Zot]=Si[Xot]=Si[$ot]=Si[eat]=Si[tat]=Si[rat]=Si[nat]=Si[iat]=Si[sat]=Si[oat]=!1;function yat(t){return Vot(t)&&Yot(t.length)&&!!Si[Wot(t)]}nue.exports=yat});var Ok=L((C7t,sue)=>{function Eat(t){return function(e){return t(e)}}sue.exports=Eat});var Lk=L((OB,UE)=>{var Iat=T4(),oue=typeof OB=="object"&&OB&&!OB.nodeType&&OB,LB=oue&&typeof UE=="object"&&UE&&!UE.nodeType&&UE,Cat=LB&&LB.exports===oue,U4=Cat&&Iat.process,wat=function(){try{var t=LB&&LB.require&&LB.require("util").types;return t||U4&&U4.binding&&U4.binding("util")}catch{}}();UE.exports=wat});var Mk=L((w7t,cue)=>{var Bat=iue(),vat=Ok(),aue=Lk(),lue=aue&&aue.isTypedArray,Sat=lue?vat(lue):Bat;cue.exports=Sat});var H4=L((B7t,uue)=>{var Dat=qce(),bat=TB(),Pat=xc(),xat=FB(),kat=NB(),Qat=Mk(),Tat=Object.prototype,Rat=Tat.hasOwnProperty;function Fat(t,e){var r=Pat(t),s=!r&&bat(t),a=!r&&!s&&xat(t),n=!r&&!s&&!a&&Qat(t),c=r||s||a||n,f=c?Dat(t.length,String):[],p=f.length;for(var h in t)(e||Rat.call(t,h))&&!(c&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||kat(h,p)))&&f.push(h);return f}uue.exports=Fat});var _k=L((v7t,fue)=>{var Nat=Object.prototype;function Oat(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Nat;return t===r}fue.exports=Oat});var j4=L((S7t,Aue)=>{function Lat(t,e){return function(r){return t(e(r))}}Aue.exports=Lat});var hue=L((D7t,pue)=>{var Mat=j4(),_at=Mat(Object.keys,Object);pue.exports=_at});var due=L((b7t,gue)=>{var Uat=_k(),Hat=hue(),jat=Object.prototype,qat=jat.hasOwnProperty;function Gat(t){if(!Uat(t))return Hat(t);var e=[];for(var r in Object(t))qat.call(t,r)&&r!="constructor"&&e.push(r);return e}gue.exports=Gat});var MB=L((P7t,mue)=>{var Wat=Pk(),Yat=Nk();function Vat(t){return t!=null&&Yat(t.length)&&!Wat(t)}mue.exports=Vat});var Uk=L((x7t,yue)=>{var Kat=H4(),Jat=due(),zat=MB();function Zat(t){return zat(t)?Kat(t):Jat(t)}yue.exports=Zat});var q4=L((k7t,Eue)=>{var Xat=M4(),$at=Fk(),elt=Uk();function tlt(t){return Xat(t,elt,$at)}Eue.exports=tlt});var wue=L((Q7t,Cue)=>{var Iue=q4(),rlt=1,nlt=Object.prototype,ilt=nlt.hasOwnProperty;function slt(t,e,r,s,a,n){var c=r&rlt,f=Iue(t),p=f.length,h=Iue(e),E=h.length;if(p!=E&&!c)return!1;for(var C=p;C--;){var S=f[C];if(!(c?S in e:ilt.call(e,S)))return!1}var P=n.get(t),I=n.get(e);if(P&&I)return P==e&&I==t;var R=!0;n.set(t,e),n.set(e,t);for(var N=c;++C{var olt=A0(),alt=Pc(),llt=olt(alt,"DataView");Bue.exports=llt});var Due=L((R7t,Sue)=>{var clt=A0(),ult=Pc(),flt=clt(ult,"Promise");Sue.exports=flt});var Pue=L((F7t,bue)=>{var Alt=A0(),plt=Pc(),hlt=Alt(plt,"Set");bue.exports=hlt});var kue=L((N7t,xue)=>{var glt=A0(),dlt=Pc(),mlt=glt(dlt,"WeakMap");xue.exports=mlt});var _B=L((O7t,Lue)=>{var G4=vue(),W4=xk(),Y4=Due(),V4=Pue(),K4=kue(),Oue=Vd(),HE=F4(),Que="[object Map]",ylt="[object Object]",Tue="[object Promise]",Rue="[object Set]",Fue="[object WeakMap]",Nue="[object DataView]",Elt=HE(G4),Ilt=HE(W4),Clt=HE(Y4),wlt=HE(V4),Blt=HE(K4),Kd=Oue;(G4&&Kd(new G4(new ArrayBuffer(1)))!=Nue||W4&&Kd(new W4)!=Que||Y4&&Kd(Y4.resolve())!=Tue||V4&&Kd(new V4)!=Rue||K4&&Kd(new K4)!=Fue)&&(Kd=function(t){var e=Oue(t),r=e==ylt?t.constructor:void 0,s=r?HE(r):"";if(s)switch(s){case Elt:return Nue;case Ilt:return Que;case Clt:return Tue;case wlt:return Rue;case Blt:return Fue}return e});Lue.exports=Kd});var Wue=L((L7t,Gue)=>{var J4=Qk(),vlt=N4(),Slt=Rce(),Dlt=wue(),Mue=_B(),_ue=xc(),Uue=FB(),blt=Mk(),Plt=1,Hue="[object Arguments]",jue="[object Array]",Hk="[object Object]",xlt=Object.prototype,que=xlt.hasOwnProperty;function klt(t,e,r,s,a,n){var c=_ue(t),f=_ue(e),p=c?jue:Mue(t),h=f?jue:Mue(e);p=p==Hue?Hk:p,h=h==Hue?Hk:h;var E=p==Hk,C=h==Hk,S=p==h;if(S&&Uue(t)){if(!Uue(e))return!1;c=!0,E=!1}if(S&&!E)return n||(n=new J4),c||blt(t)?vlt(t,e,r,s,a,n):Slt(t,e,p,r,s,a,n);if(!(r&Plt)){var P=E&&que.call(t,"__wrapped__"),I=C&&que.call(e,"__wrapped__");if(P||I){var R=P?t.value():t,N=I?e.value():e;return n||(n=new J4),a(R,N,r,s,n)}}return S?(n||(n=new J4),Dlt(t,e,r,s,a,n)):!1}Gue.exports=klt});var Jue=L((M7t,Kue)=>{var Qlt=Wue(),Yue=zf();function Vue(t,e,r,s,a){return t===e?!0:t==null||e==null||!Yue(t)&&!Yue(e)?t!==t&&e!==e:Qlt(t,e,r,s,Vue,a)}Kue.exports=Vue});var Zue=L((_7t,zue)=>{var Tlt=Jue();function Rlt(t,e){return Tlt(t,e)}zue.exports=Rlt});var z4=L((U7t,Xue)=>{var Flt=A0(),Nlt=function(){try{var t=Flt(Object,"defineProperty");return t({},"",{}),t}catch{}}();Xue.exports=Nlt});var jk=L((H7t,efe)=>{var $ue=z4();function Olt(t,e,r){e=="__proto__"&&$ue?$ue(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}efe.exports=Olt});var Z4=L((j7t,tfe)=>{var Llt=jk(),Mlt=FE();function _lt(t,e,r){(r!==void 0&&!Mlt(t[e],r)||r===void 0&&!(e in t))&&Llt(t,e,r)}tfe.exports=_lt});var nfe=L((q7t,rfe)=>{function Ult(t){return function(e,r,s){for(var a=-1,n=Object(e),c=s(e),f=c.length;f--;){var p=c[t?f:++a];if(r(n[p],p,n)===!1)break}return e}}rfe.exports=Ult});var sfe=L((G7t,ife)=>{var Hlt=nfe(),jlt=Hlt();ife.exports=jlt});var X4=L((UB,jE)=>{var qlt=Pc(),cfe=typeof UB=="object"&&UB&&!UB.nodeType&&UB,ofe=cfe&&typeof jE=="object"&&jE&&!jE.nodeType&&jE,Glt=ofe&&ofe.exports===cfe,afe=Glt?qlt.Buffer:void 0,lfe=afe?afe.allocUnsafe:void 0;function Wlt(t,e){if(e)return t.slice();var r=t.length,s=lfe?lfe(r):new t.constructor(r);return t.copy(s),s}jE.exports=Wlt});var qk=L((W7t,ffe)=>{var ufe=O4();function Ylt(t){var e=new t.constructor(t.byteLength);return new ufe(e).set(new ufe(t)),e}ffe.exports=Ylt});var $4=L((Y7t,Afe)=>{var Vlt=qk();function Klt(t,e){var r=e?Vlt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Afe.exports=Klt});var Gk=L((V7t,pfe)=>{function Jlt(t,e){var r=-1,s=t.length;for(e||(e=Array(s));++r{var zlt=Wl(),hfe=Object.create,Zlt=function(){function t(){}return function(e){if(!zlt(e))return{};if(hfe)return hfe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();gfe.exports=Zlt});var Wk=L((J7t,mfe)=>{var Xlt=j4(),$lt=Xlt(Object.getPrototypeOf,Object);mfe.exports=$lt});var e3=L((z7t,yfe)=>{var ect=dfe(),tct=Wk(),rct=_k();function nct(t){return typeof t.constructor=="function"&&!rct(t)?ect(tct(t)):{}}yfe.exports=nct});var Ife=L((Z7t,Efe)=>{var ict=MB(),sct=zf();function oct(t){return sct(t)&&ict(t)}Efe.exports=oct});var t3=L((X7t,wfe)=>{var act=Vd(),lct=Wk(),cct=zf(),uct="[object Object]",fct=Function.prototype,Act=Object.prototype,Cfe=fct.toString,pct=Act.hasOwnProperty,hct=Cfe.call(Object);function gct(t){if(!cct(t)||act(t)!=uct)return!1;var e=lct(t);if(e===null)return!0;var r=pct.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Cfe.call(r)==hct}wfe.exports=gct});var r3=L(($7t,Bfe)=>{function dct(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Bfe.exports=dct});var Yk=L((eKt,vfe)=>{var mct=jk(),yct=FE(),Ect=Object.prototype,Ict=Ect.hasOwnProperty;function Cct(t,e,r){var s=t[e];(!(Ict.call(t,e)&&yct(s,r))||r===void 0&&!(e in t))&&mct(t,e,r)}vfe.exports=Cct});var Jd=L((tKt,Sfe)=>{var wct=Yk(),Bct=jk();function vct(t,e,r,s){var a=!r;r||(r={});for(var n=-1,c=e.length;++n{function Sct(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Dfe.exports=Sct});var xfe=L((nKt,Pfe)=>{var Dct=Wl(),bct=_k(),Pct=bfe(),xct=Object.prototype,kct=xct.hasOwnProperty;function Qct(t){if(!Dct(t))return Pct(t);var e=bct(t),r=[];for(var s in t)s=="constructor"&&(e||!kct.call(t,s))||r.push(s);return r}Pfe.exports=Qct});var qE=L((iKt,kfe)=>{var Tct=H4(),Rct=xfe(),Fct=MB();function Nct(t){return Fct(t)?Tct(t,!0):Rct(t)}kfe.exports=Nct});var Tfe=L((sKt,Qfe)=>{var Oct=Jd(),Lct=qE();function Mct(t){return Oct(t,Lct(t))}Qfe.exports=Mct});var Mfe=L((oKt,Lfe)=>{var Rfe=Z4(),_ct=X4(),Uct=$4(),Hct=Gk(),jct=e3(),Ffe=TB(),Nfe=xc(),qct=Ife(),Gct=FB(),Wct=Pk(),Yct=Wl(),Vct=t3(),Kct=Mk(),Ofe=r3(),Jct=Tfe();function zct(t,e,r,s,a,n,c){var f=Ofe(t,r),p=Ofe(e,r),h=c.get(p);if(h){Rfe(t,r,h);return}var E=n?n(f,p,r+"",t,e,c):void 0,C=E===void 0;if(C){var S=Nfe(p),P=!S&&Gct(p),I=!S&&!P&&Kct(p);E=p,S||P||I?Nfe(f)?E=f:qct(f)?E=Hct(f):P?(C=!1,E=_ct(p,!0)):I?(C=!1,E=Uct(p,!0)):E=[]:Vct(p)||Ffe(p)?(E=f,Ffe(f)?E=Jct(f):(!Yct(f)||Wct(f))&&(E=jct(p))):C=!1}C&&(c.set(p,E),a(E,p,s,n,c),c.delete(p)),Rfe(t,r,E)}Lfe.exports=zct});var Hfe=L((aKt,Ufe)=>{var Zct=Qk(),Xct=Z4(),$ct=sfe(),eut=Mfe(),tut=Wl(),rut=qE(),nut=r3();function _fe(t,e,r,s,a){t!==e&&$ct(e,function(n,c){if(a||(a=new Zct),tut(n))eut(t,e,c,r,_fe,s,a);else{var f=s?s(nut(t,c),n,c+"",t,e,a):void 0;f===void 0&&(f=n),Xct(t,c,f)}},rut)}Ufe.exports=_fe});var n3=L((lKt,jfe)=>{function iut(t){return t}jfe.exports=iut});var Gfe=L((cKt,qfe)=>{function sut(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}qfe.exports=sut});var i3=L((uKt,Yfe)=>{var out=Gfe(),Wfe=Math.max;function aut(t,e,r){return e=Wfe(e===void 0?t.length-1:e,0),function(){for(var s=arguments,a=-1,n=Wfe(s.length-e,0),c=Array(n);++a{function lut(t){return function(){return t}}Vfe.exports=lut});var Zfe=L((AKt,zfe)=>{var cut=Kfe(),Jfe=z4(),uut=n3(),fut=Jfe?function(t,e){return Jfe(t,"toString",{configurable:!0,enumerable:!1,value:cut(e),writable:!0})}:uut;zfe.exports=fut});var $fe=L((pKt,Xfe)=>{var Aut=800,put=16,hut=Date.now;function gut(t){var e=0,r=0;return function(){var s=hut(),a=put-(s-r);if(r=s,a>0){if(++e>=Aut)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}Xfe.exports=gut});var s3=L((hKt,eAe)=>{var dut=Zfe(),mut=$fe(),yut=mut(dut);eAe.exports=yut});var rAe=L((gKt,tAe)=>{var Eut=n3(),Iut=i3(),Cut=s3();function wut(t,e){return Cut(Iut(t,e,Eut),t+"")}tAe.exports=wut});var iAe=L((dKt,nAe)=>{var But=FE(),vut=MB(),Sut=NB(),Dut=Wl();function but(t,e,r){if(!Dut(r))return!1;var s=typeof e;return(s=="number"?vut(r)&&Sut(e,r.length):s=="string"&&e in r)?But(r[e],t):!1}nAe.exports=but});var oAe=L((mKt,sAe)=>{var Put=rAe(),xut=iAe();function kut(t){return Put(function(e,r){var s=-1,a=r.length,n=a>1?r[a-1]:void 0,c=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,c&&xut(r[0],r[1],c)&&(n=a<3?void 0:n,a=1),e=Object(e);++s{var Qut=Hfe(),Tut=oAe(),Rut=Tut(function(t,e,r,s){Qut(t,e,r,s)});aAe.exports=Rut});var je={};Vt(je,{AsyncActions:()=>l3,BufferStream:()=>a3,CachingStrategy:()=>IAe,DefaultStream:()=>c3,allSettledSafe:()=>Uu,assertNever:()=>f3,bufferStream:()=>WE,buildIgnorePattern:()=>Uut,convertMapsToIndexableObjects:()=>Kk,dynamicRequire:()=>kp,escapeRegExp:()=>Nut,getArrayWithDefault:()=>jB,getFactoryWithDefault:()=>Vl,getMapWithDefault:()=>A3,getSetWithDefault:()=>xp,groupBy:()=>qut,isIndexableObject:()=>o3,isPathLike:()=>Hut,isTaggedYarnVersion:()=>Fut,makeDeferred:()=>mAe,mapAndFilter:()=>Yl,mapAndFind:()=>p0,mergeIntoTarget:()=>wAe,overrideType:()=>Out,parseBoolean:()=>qB,parseInt:()=>YE,parseOptionalBoolean:()=>CAe,plural:()=>Vk,prettifyAsyncErrors:()=>GE,prettifySyncErrors:()=>p3,releaseAfterUseAsync:()=>Mut,replaceEnvVariables:()=>Jk,sortMap:()=>Ws,toMerged:()=>jut,tryParseOptionalBoolean:()=>h3,validateEnum:()=>Lut});function Fut(t){return!!(hAe.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function Vk(t,{one:e,more:r,zero:s=r}){return t===0?s:t===1?e:r}function Nut(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Out(t){}function f3(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function Lut(t,e){let r=Object.values(t);if(!r.includes(e))throw new nt(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(s=>JSON.stringify(s)).join(", ")})`);return e}function Yl(t,e){let r=[];for(let s of t){let a=e(s);a!==gAe&&r.push(a)}return r}function p0(t,e){for(let r of t){let s=e(r);if(s!==dAe)return s}}function o3(t){return typeof t=="object"&&t!==null}async function Uu(t){let e=await Promise.allSettled(t),r=[];for(let s of e){if(s.status==="rejected")throw s.reason;r.push(s.value)}return r}function Kk(t){if(t instanceof Map&&(t=Object.fromEntries(t)),o3(t))for(let e of Object.keys(t)){let r=t[e];o3(r)&&(t[e]=Kk(r))}return t}function Vl(t,e,r){let s=t.get(e);return typeof s>"u"&&t.set(e,s=r()),s}function jB(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function xp(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function A3(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function Mut(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function GE(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function p3(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function WE(t){return await new Promise((e,r)=>{let s=[];t.on("error",a=>{r(a)}),t.on("data",a=>{s.push(a)}),t.on("end",()=>{e(Buffer.concat(s))})})}function mAe(){let t,e;return{promise:new Promise((s,a)=>{t=s,e=a}),resolve:t,reject:e}}function yAe(t){return HB(ue.fromPortablePath(t))}function EAe(path){let physicalPath=ue.fromPortablePath(path),currentCacheEntry=HB.cache[physicalPath];delete HB.cache[physicalPath];let result;try{result=yAe(physicalPath);let freshCacheEntry=HB.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{HB.cache[physicalPath]=currentCacheEntry}return result}function _ut(t){let e=cAe.get(t),r=le.statSync(t);if(e?.mtime===r.mtimeMs)return e.instance;let s=EAe(t);return cAe.set(t,{mtime:r.mtimeMs,instance:s}),s}function kp(t,{cachingStrategy:e=2}={}){switch(e){case 0:return EAe(t);case 1:return _ut(t);case 2:return yAe(t);default:throw new Error("Unsupported caching strategy")}}function Ws(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let s=[];for(let n of e)s.push(r.map(c=>n(c)));let a=r.map((n,c)=>c);return a.sort((n,c)=>{for(let f of s){let p=f[n]f[c]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function Uut(t){return t.length===0?null:t.map(e=>`(${AAe.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Jk(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...s)=>{let{variableName:a,colon:n,fallback:c}=s[s.length-1],f=Object.hasOwn(e,a),p=e[a];if(p||f&&!n)return p;if(c!=null)return c;throw new nt(`Environment variable not found (${a})`)})}function qB(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function CAe(t){return typeof t>"u"?t:qB(t)}function h3(t){try{return CAe(t)}catch{return null}}function Hut(t){return!!(ue.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function wAe(t,...e){let r=c=>({value:c}),s=r(t),a=e.map(c=>r(c)),{value:n}=(0,fAe.default)(s,...a,(c,f)=>{if(Array.isArray(c)&&Array.isArray(f)){for(let p of f)c.find(h=>(0,uAe.default)(h,p))||c.push(p);return c}});return n}function jut(...t){return wAe({},...t)}function qut(t,e){let r=Object.create(null);for(let s of t){let a=s[e];r[a]??=[],r[a].push(s)}return r}function YE(t){return typeof t=="string"?Number.parseInt(t,10):t}var uAe,fAe,AAe,pAe,hAe,u3,gAe,dAe,a3,l3,c3,HB,cAe,IAe,kc=It(()=>{bt();Wt();uAe=et(Zue()),fAe=et(lAe()),AAe=et(Sa()),pAe=et(Md()),hAe=et(fi()),u3=ye("stream");gAe=Symbol();Yl.skip=gAe;dAe=Symbol();p0.skip=dAe;a3=class extends u3.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,s,a){if(s!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};l3=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,pAe.default)(e)}set(e,r){let s=this.deferred.get(e);typeof s>"u"&&this.deferred.set(e,s=mAe());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&s.resolve()},n=>{this.promises.get(e)===a&&s.reject(n)}),s.promise}reduce(e,r){let s=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(s))}async wait(){await Promise.all(this.promises.values())}},c3=class extends u3.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,s,a){if(s!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},HB=eval("require");cAe=new Map;IAe=(s=>(s[s.NoCache=0]="NoCache",s[s.FsTime=1]="FsTime",s[s.Node=2]="Node",s))(IAe||{})});var VE,g3,d3,BAe=It(()=>{VE=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(VE||{}),g3=(s=>(s.Dependency="Dependency",s.PeerDependency="PeerDependency",s.PeerDependencyMeta="PeerDependencyMeta",s))(g3||{}),d3=(s=>(s.Inactive="inactive",s.Redundant="redundant",s.Active="active",s))(d3||{})});var he={};Vt(he,{LogLevel:()=>eQ,Style:()=>Zk,Type:()=>Ct,addLogFilterSupport:()=>YB,applyColor:()=>po,applyHyperlink:()=>JE,applyStyle:()=>zd,json:()=>Zd,jsonOrPretty:()=>Yut,mark:()=>C3,pretty:()=>Ut,prettyField:()=>Zf,prettyList:()=>I3,prettyTruncatedLocatorList:()=>$k,stripAnsi:()=>KE.default,supportsColor:()=>Xk,supportsHyperlinks:()=>E3,tuple:()=>Hu});function vAe(t){let e=["KiB","MiB","GiB","TiB"],r=e.length;for(;r>1&&t<1024**r;)r-=1;let s=1024**r;return`${Math.floor(t*100/s)/100} ${e[r-1]}`}function Hu(t,e){return[e,t]}function zd(t,e,r){return t.get("enableColors")&&r&2&&(e=WB.default.bold(e)),e}function po(t,e,r){if(!t.get("enableColors"))return e;let s=Gut.get(r);if(s===null)return e;let a=typeof s>"u"?r:y3.level>=3?s[0]:s[1],n=typeof a=="number"?m3.ansi256(a):a.startsWith("#")?m3.hex(a):m3[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function JE(t,e,r){return t.get("enableHyperlinks")?Wut?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Ut(t,e,r){if(e===null)return po(t,"null",Ct.NULL);if(Object.hasOwn(zk,r))return zk[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return po(t,e,r)}function I3(t,e,r,{separator:s=", "}={}){return[...e].map(a=>Ut(t,a,r)).join(s)}function Zd(t,e){if(t===null)return null;if(Object.hasOwn(zk,e))return zk[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function Yut(t,e,[r,s]){return t?Zd(r,s):Ut(e,r,s)}function C3(t){return{Check:po(t,"\u2713","green"),Cross:po(t,"\u2718","red"),Question:po(t,"?","cyan")}}function Zf(t,{label:e,value:[r,s]}){return`${Ut(t,e,Ct.CODE)}: ${Ut(t,r,s)}`}function $k(t,e,r){let s=[],a=[...e],n=r;for(;a.length>0;){let h=a[0],E=`${Yr(t,h)}, `,C=w3(h).length+2;if(s.length>0&&nh).join("").slice(0,-2);let c="X".repeat(a.length.toString().length),f=`and ${c} more.`,p=a.length;for(;s.length>1&&nh).join(""),f.replace(c,Ut(t,p,Ct.NUMBER))].join("")}function YB(t,{configuration:e}){let r=e.get("logFilters"),s=new Map,a=new Map,n=[];for(let C of r){let S=C.get("level");if(typeof S>"u")continue;let P=C.get("code");typeof P<"u"&&s.set(P,S);let I=C.get("text");typeof I<"u"&&a.set(I,S);let R=C.get("pattern");typeof R<"u"&&n.push([SAe.default.matcher(R,{contains:!0}),S])}n.reverse();let c=(C,S,P)=>{if(C===null||C===0)return P;let I=a.size>0||n.length>0?(0,KE.default)(S):S;if(a.size>0){let R=a.get(I);if(typeof R<"u")return R??P}if(n.length>0){for(let[R,N]of n)if(R(I))return N??P}if(s.size>0){let R=s.get(Vf(C));if(typeof R<"u")return R??P}return P},f=t.reportInfo,p=t.reportWarning,h=t.reportError,E=function(C,S,P,I){switch(c(S,P,I)){case"info":f.call(C,S,P);break;case"warning":p.call(C,S??0,P);break;case"error":h.call(C,S??0,P);break}};t.reportInfo=function(...C){return E(this,...C,"info")},t.reportWarning=function(...C){return E(this,...C,"warning")},t.reportError=function(...C){return E(this,...C,"error")}}var WB,GB,SAe,KE,DAe,Ct,Zk,y3,Xk,E3,m3,Gut,Wo,zk,Wut,eQ,Qc=It(()=>{bt();WB=et(g4()),GB=et(Nd());Wt();SAe=et(Sa()),KE=et(bk()),DAe=ye("util");nk();Yo();Ct={NO_HINT:"NO_HINT",ID:"ID",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",SIZE_DIFF:"SIZE_DIFF",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN",MARKDOWN_INLINE:"MARKDOWN_INLINE"},Zk=(e=>(e[e.BOLD=2]="BOLD",e))(Zk||{}),y3=GB.default.GITHUB_ACTIONS?{level:2}:WB.default.supportsColor?{level:WB.default.supportsColor.level}:{level:0},Xk=y3.level!==0,E3=Xk&&!GB.default.GITHUB_ACTIONS&&!GB.default.CIRCLE&&!GB.default.GITLAB,m3=new WB.default.Instance(y3),Gut=new Map([[Ct.NO_HINT,null],[Ct.NULL,["#a853b5",129]],[Ct.SCOPE,["#d75f00",166]],[Ct.NAME,["#d7875f",173]],[Ct.RANGE,["#00afaf",37]],[Ct.REFERENCE,["#87afff",111]],[Ct.NUMBER,["#ffd700",220]],[Ct.PATH,["#d75fd7",170]],[Ct.URL,["#d75fd7",170]],[Ct.ADDED,["#5faf00",70]],[Ct.REMOVED,["#ff3131",160]],[Ct.CODE,["#87afff",111]],[Ct.SIZE,["#ffd700",220]]]),Wo=t=>t;zk={[Ct.ID]:Wo({pretty:(t,e)=>typeof e=="number"?po(t,`${e}`,Ct.NUMBER):po(t,e,Ct.CODE),json:t=>t}),[Ct.INSPECT]:Wo({pretty:(t,e)=>(0,DAe.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[Ct.NUMBER]:Wo({pretty:(t,e)=>po(t,`${e}`,Ct.NUMBER),json:t=>t}),[Ct.IDENT]:Wo({pretty:(t,e)=>$i(t,e),json:t=>cn(t)}),[Ct.LOCATOR]:Wo({pretty:(t,e)=>Yr(t,e),json:t=>cl(t)}),[Ct.DESCRIPTOR]:Wo({pretty:(t,e)=>ri(t,e),json:t=>ll(t)}),[Ct.RESOLUTION]:Wo({pretty:(t,{descriptor:e,locator:r})=>VB(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:ll(t),locator:e!==null?cl(e):null})}),[Ct.DEPENDENT]:Wo({pretty:(t,{locator:e,descriptor:r})=>B3(t,e,r),json:({locator:t,descriptor:e})=>({locator:cl(t),descriptor:ll(e)})}),[Ct.PACKAGE_EXTENSION]:Wo({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${$i(t,e.parentDescriptor)} \u27A4 ${po(t,"dependencies",Ct.CODE)} \u27A4 ${$i(t,e.descriptor)}`;case"PeerDependency":return`${$i(t,e.parentDescriptor)} \u27A4 ${po(t,"peerDependencies",Ct.CODE)} \u27A4 ${$i(t,e.descriptor)}`;case"PeerDependencyMeta":return`${$i(t,e.parentDescriptor)} \u27A4 ${po(t,"peerDependenciesMeta",Ct.CODE)} \u27A4 ${$i(t,Da(e.selector))} \u27A4 ${po(t,e.key,Ct.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${cn(t.parentDescriptor)} > ${cn(t.descriptor)}`;case"PeerDependency":return`${cn(t.parentDescriptor)} >> ${cn(t.descriptor)}`;case"PeerDependencyMeta":return`${cn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Ct.SETTING]:Wo({pretty:(t,e)=>(t.get(e),JE(t,po(t,e,Ct.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Ct.DURATION]:Wo({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),s=Math.ceil((e-r*60*1e3)/1e3);return s===0?`${r}m`:`${r}m ${s}s`}else{let r=Math.floor(e/1e3),s=e-r*1e3;return s===0?`${r}s`:`${r}s ${s}ms`}},json:t=>t}),[Ct.SIZE]:Wo({pretty:(t,e)=>po(t,vAe(e),Ct.NUMBER),json:t=>t}),[Ct.SIZE_DIFF]:Wo({pretty:(t,e)=>{let r=e>=0?"+":"-",s=r==="+"?Ct.REMOVED:Ct.ADDED;return po(t,`${r} ${vAe(Math.max(Math.abs(e),1))}`,s)},json:t=>t}),[Ct.PATH]:Wo({pretty:(t,e)=>po(t,ue.fromPortablePath(e),Ct.PATH),json:t=>ue.fromPortablePath(t)}),[Ct.MARKDOWN]:Wo({pretty:(t,{text:e,format:r,paragraphs:s})=>qo(e,{format:r,paragraphs:s}),json:({text:t})=>t}),[Ct.MARKDOWN_INLINE]:Wo({pretty:(t,e)=>(e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(r,s,a)=>Ut(t,s+a+s,Ct.CODE)),e=e.replace(/(\*\*)((?:.|[\n])*?)\1/g,(r,s,a)=>zd(t,a,2)),e),json:t=>t})};Wut=!!process.env.KONSOLE_VERSION;eQ=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(eQ||{})});var bAe=L(zE=>{"use strict";Object.defineProperty(zE,"__esModule",{value:!0});zE.splitWhen=zE.flatten=void 0;function Vut(t){return t.reduce((e,r)=>[].concat(e,r),[])}zE.flatten=Vut;function Kut(t,e){let r=[[]],s=0;for(let a of t)e(a)?(s++,r[s]=[]):r[s].push(a);return r}zE.splitWhen=Kut});var PAe=L(tQ=>{"use strict";Object.defineProperty(tQ,"__esModule",{value:!0});tQ.isEnoentCodeError=void 0;function Jut(t){return t.code==="ENOENT"}tQ.isEnoentCodeError=Jut});var xAe=L(rQ=>{"use strict";Object.defineProperty(rQ,"__esModule",{value:!0});rQ.createDirentFromStats=void 0;var v3=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function zut(t,e){return new v3(t,e)}rQ.createDirentFromStats=zut});var RAe=L(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.convertPosixPathToPattern=cs.convertWindowsPathToPattern=cs.convertPathToPattern=cs.escapePosixPath=cs.escapeWindowsPath=cs.escape=cs.removeLeadingDotSegment=cs.makeAbsolute=cs.unixify=void 0;var Zut=ye("os"),Xut=ye("path"),kAe=Zut.platform()==="win32",$ut=2,eft=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,tft=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,rft=/^\\\\([.?])/,nft=/\\(?![!()+@[\]{}])/g;function ift(t){return t.replace(/\\/g,"/")}cs.unixify=ift;function sft(t,e){return Xut.resolve(t,e)}cs.makeAbsolute=sft;function oft(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice($ut)}return t}cs.removeLeadingDotSegment=oft;cs.escape=kAe?S3:D3;function S3(t){return t.replace(tft,"\\$2")}cs.escapeWindowsPath=S3;function D3(t){return t.replace(eft,"\\$2")}cs.escapePosixPath=D3;cs.convertPathToPattern=kAe?QAe:TAe;function QAe(t){return S3(t).replace(rft,"//$1").replace(nft,"/")}cs.convertWindowsPathToPattern=QAe;function TAe(t){return D3(t)}cs.convertPosixPathToPattern=TAe});var NAe=L((RKt,FAe)=>{FAe.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var MAe=L((FKt,LAe)=>{var aft=NAe(),OAe={"{":"}","(":")","[":"]"},lft=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,s=-2,a=-2,n=-2,c=-2;ee&&(c===-1||c>s||(c=t.indexOf("\\",e),c===-1||c>s)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(c=t.indexOf("\\",e),c===-1||c>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(c=t.indexOf("\\",e),c===-1||c>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(rr&&(c=t.indexOf("\\",r),c===-1||c>n))))return!0;if(t[e]==="\\"){var f=t[e+1];e+=2;var p=OAe[f];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},cft=function(t){if(t[0]==="!")return!0;for(var e=0;e{"use strict";var uft=MAe(),fft=ye("path").posix.dirname,Aft=ye("os").platform()==="win32",b3="/",pft=/\\/g,hft=/[\{\[].*[\}\]]$/,gft=/(^|[^\\])([\{\[]|\([^\)]+$)/,dft=/\\([\!\*\?\|\[\]\(\)\{\}])/g;_Ae.exports=function(e,r){var s=Object.assign({flipBackslashes:!0},r);s.flipBackslashes&&Aft&&e.indexOf(b3)<0&&(e=e.replace(pft,b3)),hft.test(e)&&(e+=b3),e+="a";do e=fft(e);while(uft(e)||gft.test(e));return e.replace(dft,"$1")}});var KAe=L(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.removeDuplicateSlashes=jr.matchAny=jr.convertPatternsToRe=jr.makeRe=jr.getPatternParts=jr.expandBraceExpansion=jr.expandPatternsWithBraceExpansion=jr.isAffectDepthOfReadingPattern=jr.endsWithSlashGlobStar=jr.hasGlobStar=jr.getBaseDirectory=jr.isPatternRelatedToParentDirectory=jr.getPatternsOutsideCurrentDirectory=jr.getPatternsInsideCurrentDirectory=jr.getPositivePatterns=jr.getNegativePatterns=jr.isPositivePattern=jr.isNegativePattern=jr.convertToNegativePattern=jr.convertToPositivePattern=jr.isDynamicPattern=jr.isStaticPattern=void 0;var mft=ye("path"),yft=UAe(),P3=Sa(),HAe="**",Eft="\\",Ift=/[*?]|^!/,Cft=/\[[^[]*]/,wft=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,Bft=/[!*+?@]\([^(]*\)/,vft=/,|\.\./,Sft=/(?!^)\/{2,}/g;function jAe(t,e={}){return!qAe(t,e)}jr.isStaticPattern=jAe;function qAe(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(Eft)||Ift.test(t)||Cft.test(t)||wft.test(t)||e.extglob!==!1&&Bft.test(t)||e.braceExpansion!==!1&&Dft(t))}jr.isDynamicPattern=qAe;function Dft(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let s=t.slice(e,r);return vft.test(s)}function bft(t){return nQ(t)?t.slice(1):t}jr.convertToPositivePattern=bft;function Pft(t){return"!"+t}jr.convertToNegativePattern=Pft;function nQ(t){return t.startsWith("!")&&t[1]!=="("}jr.isNegativePattern=nQ;function GAe(t){return!nQ(t)}jr.isPositivePattern=GAe;function xft(t){return t.filter(nQ)}jr.getNegativePatterns=xft;function kft(t){return t.filter(GAe)}jr.getPositivePatterns=kft;function Qft(t){return t.filter(e=>!x3(e))}jr.getPatternsInsideCurrentDirectory=Qft;function Tft(t){return t.filter(x3)}jr.getPatternsOutsideCurrentDirectory=Tft;function x3(t){return t.startsWith("..")||t.startsWith("./..")}jr.isPatternRelatedToParentDirectory=x3;function Rft(t){return yft(t,{flipBackslashes:!1})}jr.getBaseDirectory=Rft;function Fft(t){return t.includes(HAe)}jr.hasGlobStar=Fft;function WAe(t){return t.endsWith("/"+HAe)}jr.endsWithSlashGlobStar=WAe;function Nft(t){let e=mft.basename(t);return WAe(t)||jAe(e)}jr.isAffectDepthOfReadingPattern=Nft;function Oft(t){return t.reduce((e,r)=>e.concat(YAe(r)),[])}jr.expandPatternsWithBraceExpansion=Oft;function YAe(t){let e=P3.braces(t,{expand:!0,nodupes:!0,keepEscaping:!0});return e.sort((r,s)=>r.length-s.length),e.filter(r=>r!=="")}jr.expandBraceExpansion=YAe;function Lft(t,e){let{parts:r}=P3.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}jr.getPatternParts=Lft;function VAe(t,e){return P3.makeRe(t,e)}jr.makeRe=VAe;function Mft(t,e){return t.map(r=>VAe(r,e))}jr.convertPatternsToRe=Mft;function _ft(t,e){return e.some(r=>r.test(t))}jr.matchAny=_ft;function Uft(t){return t.replace(Sft,"/")}jr.removeDuplicateSlashes=Uft});var XAe=L((LKt,ZAe)=>{"use strict";var Hft=ye("stream"),JAe=Hft.PassThrough,jft=Array.prototype.slice;ZAe.exports=qft;function qft(){let t=[],e=jft.call(arguments),r=!1,s=e[e.length-1];s&&!Array.isArray(s)&&s.pipe==null?e.pop():s={};let a=s.end!==!1,n=s.pipeError===!0;s.objectMode==null&&(s.objectMode=!0),s.highWaterMark==null&&(s.highWaterMark=64*1024);let c=JAe(s);function f(){for(let E=0,C=arguments.length;E0||(r=!1,p())}function P(I){function R(){I.removeListener("merge2UnpipeEnd",R),I.removeListener("end",R),n&&I.removeListener("error",N),S()}function N(U){c.emit("error",U)}if(I._readableState.endEmitted)return S();I.on("merge2UnpipeEnd",R),I.on("end",R),n&&I.on("error",N),I.pipe(c,{end:!1}),I.resume()}for(let I=0;I{"use strict";Object.defineProperty(iQ,"__esModule",{value:!0});iQ.merge=void 0;var Gft=XAe();function Wft(t){let e=Gft(t);return t.forEach(r=>{r.once("error",s=>e.emit("error",s))}),e.once("close",()=>$Ae(t)),e.once("end",()=>$Ae(t)),e}iQ.merge=Wft;function $Ae(t){t.forEach(e=>e.emit("close"))}});var tpe=L(ZE=>{"use strict";Object.defineProperty(ZE,"__esModule",{value:!0});ZE.isEmpty=ZE.isString=void 0;function Yft(t){return typeof t=="string"}ZE.isString=Yft;function Vft(t){return t===""}ZE.isEmpty=Vft});var Qp=L(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.string=Vo.stream=Vo.pattern=Vo.path=Vo.fs=Vo.errno=Vo.array=void 0;var Kft=bAe();Vo.array=Kft;var Jft=PAe();Vo.errno=Jft;var zft=xAe();Vo.fs=zft;var Zft=RAe();Vo.path=Zft;var Xft=KAe();Vo.pattern=Xft;var $ft=epe();Vo.stream=$ft;var eAt=tpe();Vo.string=eAt});var spe=L(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.convertPatternGroupToTask=Ko.convertPatternGroupsToTasks=Ko.groupPatternsByBaseDirectory=Ko.getNegativePatternsAsPositive=Ko.getPositivePatterns=Ko.convertPatternsToTasks=Ko.generate=void 0;var ju=Qp();function tAt(t,e){let r=rpe(t,e),s=rpe(e.ignore,e),a=npe(r),n=ipe(r,s),c=a.filter(E=>ju.pattern.isStaticPattern(E,e)),f=a.filter(E=>ju.pattern.isDynamicPattern(E,e)),p=k3(c,n,!1),h=k3(f,n,!0);return p.concat(h)}Ko.generate=tAt;function rpe(t,e){let r=t;return e.braceExpansion&&(r=ju.pattern.expandPatternsWithBraceExpansion(r)),e.baseNameMatch&&(r=r.map(s=>s.includes("/")?s:`**/${s}`)),r.map(s=>ju.pattern.removeDuplicateSlashes(s))}function k3(t,e,r){let s=[],a=ju.pattern.getPatternsOutsideCurrentDirectory(t),n=ju.pattern.getPatternsInsideCurrentDirectory(t),c=Q3(a),f=Q3(n);return s.push(...T3(c,e,r)),"."in f?s.push(R3(".",n,e,r)):s.push(...T3(f,e,r)),s}Ko.convertPatternsToTasks=k3;function npe(t){return ju.pattern.getPositivePatterns(t)}Ko.getPositivePatterns=npe;function ipe(t,e){return ju.pattern.getNegativePatterns(t).concat(e).map(ju.pattern.convertToPositivePattern)}Ko.getNegativePatternsAsPositive=ipe;function Q3(t){let e={};return t.reduce((r,s)=>{let a=ju.pattern.getBaseDirectory(s);return a in r?r[a].push(s):r[a]=[s],r},e)}Ko.groupPatternsByBaseDirectory=Q3;function T3(t,e,r){return Object.keys(t).map(s=>R3(s,t[s],e,r))}Ko.convertPatternGroupsToTasks=T3;function R3(t,e,r,s){return{dynamic:s,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(ju.pattern.convertToNegativePattern))}}Ko.convertPatternGroupToTask=R3});var ape=L(sQ=>{"use strict";Object.defineProperty(sQ,"__esModule",{value:!0});sQ.read=void 0;function rAt(t,e,r){e.fs.lstat(t,(s,a)=>{if(s!==null){ope(r,s);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){F3(r,a);return}e.fs.stat(t,(n,c)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){ope(r,n);return}F3(r,a);return}e.markSymbolicLink&&(c.isSymbolicLink=()=>!0),F3(r,c)})})}sQ.read=rAt;function ope(t,e){t(e)}function F3(t,e){t(null,e)}});var lpe=L(oQ=>{"use strict";Object.defineProperty(oQ,"__esModule",{value:!0});oQ.read=void 0;function nAt(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let s=e.fs.statSync(t);return e.markSymbolicLink&&(s.isSymbolicLink=()=>!0),s}catch(s){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw s}}oQ.read=nAt});var cpe=L(h0=>{"use strict";Object.defineProperty(h0,"__esModule",{value:!0});h0.createFileSystemAdapter=h0.FILE_SYSTEM_ADAPTER=void 0;var aQ=ye("fs");h0.FILE_SYSTEM_ADAPTER={lstat:aQ.lstat,stat:aQ.stat,lstatSync:aQ.lstatSync,statSync:aQ.statSync};function iAt(t){return t===void 0?h0.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},h0.FILE_SYSTEM_ADAPTER),t)}h0.createFileSystemAdapter=iAt});var upe=L(O3=>{"use strict";Object.defineProperty(O3,"__esModule",{value:!0});var sAt=cpe(),N3=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=sAt.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};O3.default=N3});var Xd=L(g0=>{"use strict";Object.defineProperty(g0,"__esModule",{value:!0});g0.statSync=g0.stat=g0.Settings=void 0;var fpe=ape(),oAt=lpe(),L3=upe();g0.Settings=L3.default;function aAt(t,e,r){if(typeof e=="function"){fpe.read(t,M3(),e);return}fpe.read(t,M3(e),r)}g0.stat=aAt;function lAt(t,e){let r=M3(e);return oAt.read(t,r)}g0.statSync=lAt;function M3(t={}){return t instanceof L3.default?t:new L3.default(t)}});var hpe=L((VKt,ppe)=>{var Ape;ppe.exports=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:global):t=>(Ape||(Ape=Promise.resolve())).then(t).catch(e=>setTimeout(()=>{throw e},0))});var dpe=L((KKt,gpe)=>{gpe.exports=uAt;var cAt=hpe();function uAt(t,e){let r,s,a,n=!0;Array.isArray(t)?(r=[],s=t.length):(a=Object.keys(t),r={},s=a.length);function c(p){function h(){e&&e(p,r),e=null}n?cAt(h):h()}function f(p,h,E){r[p]=E,(--s===0||h)&&c(h)}s?a?a.forEach(function(p){t[p](function(h,E){f(p,h,E)})}):t.forEach(function(p,h){p(function(E,C){f(h,E,C)})}):c(null),n=!1}});var _3=L(cQ=>{"use strict";Object.defineProperty(cQ,"__esModule",{value:!0});cQ.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var lQ=process.versions.node.split(".");if(lQ[0]===void 0||lQ[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var mpe=Number.parseInt(lQ[0],10),fAt=Number.parseInt(lQ[1],10),ype=10,AAt=10,pAt=mpe>ype,hAt=mpe===ype&&fAt>=AAt;cQ.IS_SUPPORT_READDIR_WITH_FILE_TYPES=pAt||hAt});var Epe=L(uQ=>{"use strict";Object.defineProperty(uQ,"__esModule",{value:!0});uQ.createDirentFromStats=void 0;var U3=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function gAt(t,e){return new U3(t,e)}uQ.createDirentFromStats=gAt});var H3=L(fQ=>{"use strict";Object.defineProperty(fQ,"__esModule",{value:!0});fQ.fs=void 0;var dAt=Epe();fQ.fs=dAt});var j3=L(AQ=>{"use strict";Object.defineProperty(AQ,"__esModule",{value:!0});AQ.joinPathSegments=void 0;function mAt(t,e,r){return t.endsWith(r)?t+e:t+r+e}AQ.joinPathSegments=mAt});var Spe=L(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});d0.readdir=d0.readdirWithFileTypes=d0.read=void 0;var yAt=Xd(),Ipe=dpe(),EAt=_3(),Cpe=H3(),wpe=j3();function IAt(t,e,r){if(!e.stats&&EAt.IS_SUPPORT_READDIR_WITH_FILE_TYPES){Bpe(t,e,r);return}vpe(t,e,r)}d0.read=IAt;function Bpe(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(s,a)=>{if(s!==null){pQ(r,s);return}let n=a.map(f=>({dirent:f,name:f.name,path:wpe.joinPathSegments(t,f.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){q3(r,n);return}let c=n.map(f=>CAt(f,e));Ipe(c,(f,p)=>{if(f!==null){pQ(r,f);return}q3(r,p)})})}d0.readdirWithFileTypes=Bpe;function CAt(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(s,a)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){r(s);return}r(null,t);return}t.dirent=Cpe.fs.createDirentFromStats(t.name,a),r(null,t)})}}function vpe(t,e,r){e.fs.readdir(t,(s,a)=>{if(s!==null){pQ(r,s);return}let n=a.map(c=>{let f=wpe.joinPathSegments(t,c,e.pathSegmentSeparator);return p=>{yAt.stat(f,e.fsStatSettings,(h,E)=>{if(h!==null){p(h);return}let C={name:c,path:f,dirent:Cpe.fs.createDirentFromStats(c,E)};e.stats&&(C.stats=E),p(null,C)})}});Ipe(n,(c,f)=>{if(c!==null){pQ(r,c);return}q3(r,f)})})}d0.readdir=vpe;function pQ(t,e){t(e)}function q3(t,e){t(null,e)}});var kpe=L(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});m0.readdir=m0.readdirWithFileTypes=m0.read=void 0;var wAt=Xd(),BAt=_3(),Dpe=H3(),bpe=j3();function vAt(t,e){return!e.stats&&BAt.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Ppe(t,e):xpe(t,e)}m0.read=vAt;function Ppe(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(s=>{let a={dirent:s,name:s.name,path:bpe.joinPathSegments(t,s.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=Dpe.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}m0.readdirWithFileTypes=Ppe;function xpe(t,e){return e.fs.readdirSync(t).map(s=>{let a=bpe.joinPathSegments(t,s,e.pathSegmentSeparator),n=wAt.statSync(a,e.fsStatSettings),c={name:s,path:a,dirent:Dpe.fs.createDirentFromStats(s,n)};return e.stats&&(c.stats=n),c})}m0.readdir=xpe});var Qpe=L(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});y0.createFileSystemAdapter=y0.FILE_SYSTEM_ADAPTER=void 0;var XE=ye("fs");y0.FILE_SYSTEM_ADAPTER={lstat:XE.lstat,stat:XE.stat,lstatSync:XE.lstatSync,statSync:XE.statSync,readdir:XE.readdir,readdirSync:XE.readdirSync};function SAt(t){return t===void 0?y0.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},y0.FILE_SYSTEM_ADAPTER),t)}y0.createFileSystemAdapter=SAt});var Tpe=L(W3=>{"use strict";Object.defineProperty(W3,"__esModule",{value:!0});var DAt=ye("path"),bAt=Xd(),PAt=Qpe(),G3=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=PAt.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,DAt.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new bAt.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};W3.default=G3});var hQ=L(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});E0.Settings=E0.scandirSync=E0.scandir=void 0;var Rpe=Spe(),xAt=kpe(),Y3=Tpe();E0.Settings=Y3.default;function kAt(t,e,r){if(typeof e=="function"){Rpe.read(t,V3(),e);return}Rpe.read(t,V3(e),r)}E0.scandir=kAt;function QAt(t,e){let r=V3(e);return xAt.read(t,r)}E0.scandirSync=QAt;function V3(t={}){return t instanceof Y3.default?t:new Y3.default(t)}});var Npe=L((iJt,Fpe)=>{"use strict";function TAt(t){var e=new t,r=e;function s(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:s,release:a}}Fpe.exports=TAt});var Lpe=L((sJt,K3)=>{"use strict";var RAt=Npe();function Ope(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),!(r>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var s=RAt(FAt),a=null,n=null,c=0,f=null,p={push:R,drain:Tc,saturated:Tc,pause:E,paused:!1,get concurrency(){return r},set concurrency(Ae){if(!(Ae>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(r=Ae,!p.paused)for(;a&&c=r||p.paused?n?(n.next=me,n=me):(a=me,n=me,p.saturated()):(c++,e.call(t,me.value,me.worked))}function N(Ae,ce){var me=s.get();me.context=t,me.release=U,me.value=Ae,me.callback=ce||Tc,me.errorHandler=f,c>=r||p.paused?a?(me.next=a,a=me):(a=me,n=me,p.saturated()):(c++,e.call(t,me.value,me.worked))}function U(Ae){Ae&&s.release(Ae);var ce=a;ce&&c<=r?p.paused?c--:(n===a&&(n=null),a=ce.next,ce.next=null,e.call(t,ce.value,ce.worked),n===null&&p.empty()):--c===0&&p.drain()}function W(){a=null,n=null,p.drain=Tc}function te(){a=null,n=null,p.drain(),p.drain=Tc}function ie(Ae){f=Ae}}function Tc(){}function FAt(){this.value=null,this.callback=Tc,this.next=null,this.release=Tc,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,s){var a=t.callback,n=t.errorHandler,c=t.value;t.value=null,t.callback=Tc,t.errorHandler&&n(r,c),a.call(t.context,r,s),t.release(t)}}function NAt(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function s(E,C){e.call(this,E).then(function(S){C(null,S)},C)}var a=Ope(t,s,r),n=a.push,c=a.unshift;return a.push=f,a.unshift=p,a.drained=h,a;function f(E){var C=new Promise(function(S,P){n(E,function(I,R){if(I){P(I);return}S(R)})});return C.catch(Tc),C}function p(E){var C=new Promise(function(S,P){c(E,function(I,R){if(I){P(I);return}S(R)})});return C.catch(Tc),C}function h(){if(a.idle())return new Promise(function(S){S()});var E=a.drain,C=new Promise(function(S){a.drain=function(){E(),S()}});return C}}K3.exports=Ope;K3.exports.promise=NAt});var gQ=L(Xf=>{"use strict";Object.defineProperty(Xf,"__esModule",{value:!0});Xf.joinPathSegments=Xf.replacePathSegmentSeparator=Xf.isAppliedFilter=Xf.isFatalError=void 0;function OAt(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}Xf.isFatalError=OAt;function LAt(t,e){return t===null||t(e)}Xf.isAppliedFilter=LAt;function MAt(t,e){return t.split(/[/\\]/).join(e)}Xf.replacePathSegmentSeparator=MAt;function _At(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}Xf.joinPathSegments=_At});var Z3=L(z3=>{"use strict";Object.defineProperty(z3,"__esModule",{value:!0});var UAt=gQ(),J3=class{constructor(e,r){this._root=e,this._settings=r,this._root=UAt.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};z3.default=J3});var e8=L($3=>{"use strict";Object.defineProperty($3,"__esModule",{value:!0});var HAt=ye("events"),jAt=hQ(),qAt=Lpe(),dQ=gQ(),GAt=Z3(),X3=class extends GAt.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=jAt.scandir,this._emitter=new HAt.EventEmitter,this._queue=qAt(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let s={directory:e,base:r};this._queue.push(s,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(s,a)=>{if(s!==null){r(s,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!dQ.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let s=e.path;r!==void 0&&(e.path=dQ.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),dQ.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&dQ.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(s,r===void 0?void 0:e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};$3.default=X3});var Mpe=L(r8=>{"use strict";Object.defineProperty(r8,"__esModule",{value:!0});var WAt=e8(),t8=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new WAt.default(this._root,this._settings),this._storage=[]}read(e){this._reader.onError(r=>{YAt(e,r)}),this._reader.onEntry(r=>{this._storage.push(r)}),this._reader.onEnd(()=>{VAt(e,this._storage)}),this._reader.read()}};r8.default=t8;function YAt(t,e){t(e)}function VAt(t,e){t(null,e)}});var _pe=L(i8=>{"use strict";Object.defineProperty(i8,"__esModule",{value:!0});var KAt=ye("stream"),JAt=e8(),n8=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new JAt.default(this._root,this._settings),this._stream=new KAt.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};i8.default=n8});var Upe=L(o8=>{"use strict";Object.defineProperty(o8,"__esModule",{value:!0});var zAt=hQ(),mQ=gQ(),ZAt=Z3(),s8=class extends ZAt.default{constructor(){super(...arguments),this._scandir=zAt.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let s=this._scandir(e,this._settings.fsScandirSettings);for(let a of s)this._handleEntry(a,r)}catch(s){this._handleError(s)}}_handleError(e){if(mQ.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let s=e.path;r!==void 0&&(e.path=mQ.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),mQ.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&mQ.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(s,r===void 0?void 0:e.path)}_pushToStorage(e){this._storage.push(e)}};o8.default=s8});var Hpe=L(l8=>{"use strict";Object.defineProperty(l8,"__esModule",{value:!0});var XAt=Upe(),a8=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new XAt.default(this._root,this._settings)}read(){return this._reader.read()}};l8.default=a8});var jpe=L(u8=>{"use strict";Object.defineProperty(u8,"__esModule",{value:!0});var $At=ye("path"),ept=hQ(),c8=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,$At.sep),this.fsScandirSettings=new ept.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};u8.default=c8});var EQ=L($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0});$f.Settings=$f.walkStream=$f.walkSync=$f.walk=void 0;var qpe=Mpe(),tpt=_pe(),rpt=Hpe(),f8=jpe();$f.Settings=f8.default;function npt(t,e,r){if(typeof e=="function"){new qpe.default(t,yQ()).read(e);return}new qpe.default(t,yQ(e)).read(r)}$f.walk=npt;function ipt(t,e){let r=yQ(e);return new rpt.default(t,r).read()}$f.walkSync=ipt;function spt(t,e){let r=yQ(e);return new tpt.default(t,r).read()}$f.walkStream=spt;function yQ(t={}){return t instanceof f8.default?t:new f8.default(t)}});var IQ=L(p8=>{"use strict";Object.defineProperty(p8,"__esModule",{value:!0});var opt=ye("path"),apt=Xd(),Gpe=Qp(),A8=class{constructor(e){this._settings=e,this._fsStatSettings=new apt.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return opt.resolve(this._settings.cwd,e)}_makeEntry(e,r){let s={name:r,path:r,dirent:Gpe.fs.createDirentFromStats(r,e)};return this._settings.stats&&(s.stats=e),s}_isFatalError(e){return!Gpe.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};p8.default=A8});var d8=L(g8=>{"use strict";Object.defineProperty(g8,"__esModule",{value:!0});var lpt=ye("stream"),cpt=Xd(),upt=EQ(),fpt=IQ(),h8=class extends fpt.default{constructor(){super(...arguments),this._walkStream=upt.walkStream,this._stat=cpt.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let s=e.map(this._getFullEntryPath,this),a=new lpt.PassThrough({objectMode:!0});a._write=(n,c,f)=>this._getEntry(s[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===s.length-1&&a.end(),f()}).catch(f);for(let n=0;nthis._makeEntry(a,r)).catch(a=>{if(s.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,s)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):s(a))})}};g8.default=h8});var Wpe=L(y8=>{"use strict";Object.defineProperty(y8,"__esModule",{value:!0});var Apt=EQ(),ppt=IQ(),hpt=d8(),m8=class extends ppt.default{constructor(){super(...arguments),this._walkAsync=Apt.walk,this._readerStream=new hpt.default(this._settings)}dynamic(e,r){return new Promise((s,a)=>{this._walkAsync(e,r,(n,c)=>{n===null?s(c):a(n)})})}async static(e,r){let s=[],a=this._readerStream.static(e,r);return new Promise((n,c)=>{a.once("error",c),a.on("data",f=>s.push(f)),a.once("end",()=>n(s))})}};y8.default=m8});var Ype=L(I8=>{"use strict";Object.defineProperty(I8,"__esModule",{value:!0});var KB=Qp(),E8=class{constructor(e,r,s){this._patterns=e,this._settings=r,this._micromatchOptions=s,this._storage=[],this._fillStorage()}_fillStorage(){for(let e of this._patterns){let r=this._getPatternSegments(e),s=this._splitSegmentsIntoSections(r);this._storage.push({complete:s.length<=1,pattern:e,segments:r,sections:s})}}_getPatternSegments(e){return KB.pattern.getPatternParts(e,this._micromatchOptions).map(s=>KB.pattern.isDynamicPattern(s,this._settings)?{dynamic:!0,pattern:s,patternRe:KB.pattern.makeRe(s,this._micromatchOptions)}:{dynamic:!1,pattern:s})}_splitSegmentsIntoSections(e){return KB.array.splitWhen(e,r=>r.dynamic&&KB.pattern.hasGlobStar(r.pattern))}};I8.default=E8});var Vpe=L(w8=>{"use strict";Object.defineProperty(w8,"__esModule",{value:!0});var gpt=Ype(),C8=class extends gpt.default{match(e){let r=e.split("/"),s=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>s);for(let n of a){let c=n.sections[0];if(!n.complete&&s>c.length||r.every((p,h)=>{let E=n.segments[h];return!!(E.dynamic&&E.patternRe.test(p)||!E.dynamic&&E.pattern===p)}))return!0}return!1}};w8.default=C8});var Kpe=L(v8=>{"use strict";Object.defineProperty(v8,"__esModule",{value:!0});var CQ=Qp(),dpt=Vpe(),B8=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,s){let a=this._getMatcher(r),n=this._getNegativePatternsRe(s);return c=>this._filter(e,c,a,n)}_getMatcher(e){return new dpt.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(CQ.pattern.isAffectDepthOfReadingPattern);return CQ.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,s,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=CQ.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,s)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let s=r.split("/").length;if(e==="")return s;let a=e.split("/").length;return s-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!CQ.pattern.matchAny(e,r)}};v8.default=B8});var Jpe=L(D8=>{"use strict";Object.defineProperty(D8,"__esModule",{value:!0});var $d=Qp(),S8=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let s=$d.pattern.convertPatternsToRe(e,this._micromatchOptions),a=$d.pattern.convertPatternsToRe(r,Object.assign(Object.assign({},this._micromatchOptions),{dot:!0}));return n=>this._filter(n,s,a)}_filter(e,r,s){let a=$d.path.removeLeadingDotSegment(e.path);if(this._settings.unique&&this._isDuplicateEntry(a)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(a,s))return!1;let n=e.dirent.isDirectory(),c=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(a,s,n);return this._settings.unique&&c&&this._createIndexRecord(a),c}_isDuplicateEntry(e){return this.index.has(e)}_createIndexRecord(e){this.index.set(e,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let s=$d.path.makeAbsolute(this._settings.cwd,e);return $d.pattern.matchAny(s,r)}_isMatchToPatterns(e,r,s){let a=$d.pattern.matchAny(e,r);return!a&&s?$d.pattern.matchAny(e+"/",r):a}};D8.default=S8});var zpe=L(P8=>{"use strict";Object.defineProperty(P8,"__esModule",{value:!0});var mpt=Qp(),b8=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return mpt.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};P8.default=b8});var Xpe=L(k8=>{"use strict";Object.defineProperty(k8,"__esModule",{value:!0});var Zpe=Qp(),x8=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=Zpe.path.makeAbsolute(this._settings.cwd,r),r=Zpe.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};k8.default=x8});var wQ=L(T8=>{"use strict";Object.defineProperty(T8,"__esModule",{value:!0});var ypt=ye("path"),Ept=Kpe(),Ipt=Jpe(),Cpt=zpe(),wpt=Xpe(),Q8=class{constructor(e){this._settings=e,this.errorFilter=new Cpt.default(this._settings),this.entryFilter=new Ipt.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new Ept.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new wpt.default(this._settings)}_getRootDirectory(e){return ypt.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};T8.default=Q8});var $pe=L(F8=>{"use strict";Object.defineProperty(F8,"__esModule",{value:!0});var Bpt=Wpe(),vpt=wQ(),R8=class extends vpt.default{constructor(){super(...arguments),this._reader=new Bpt.default(this._settings)}async read(e){let r=this._getRootDirectory(e),s=this._getReaderOptions(e);return(await this.api(r,e,s)).map(n=>s.transform(n))}api(e,r,s){return r.dynamic?this._reader.dynamic(e,s):this._reader.static(r.patterns,s)}};F8.default=R8});var ehe=L(O8=>{"use strict";Object.defineProperty(O8,"__esModule",{value:!0});var Spt=ye("stream"),Dpt=d8(),bpt=wQ(),N8=class extends bpt.default{constructor(){super(...arguments),this._reader=new Dpt.default(this._settings)}read(e){let r=this._getRootDirectory(e),s=this._getReaderOptions(e),a=this.api(r,e,s),n=new Spt.Readable({objectMode:!0,read:()=>{}});return a.once("error",c=>n.emit("error",c)).on("data",c=>n.emit("data",s.transform(c))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,s){return r.dynamic?this._reader.dynamic(e,s):this._reader.static(r.patterns,s)}};O8.default=N8});var the=L(M8=>{"use strict";Object.defineProperty(M8,"__esModule",{value:!0});var Ppt=Xd(),xpt=EQ(),kpt=IQ(),L8=class extends kpt.default{constructor(){super(...arguments),this._walkSync=xpt.walkSync,this._statSync=Ppt.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let s=[];for(let a of e){let n=this._getFullEntryPath(a),c=this._getEntry(n,a,r);c===null||!r.entryFilter(c)||s.push(c)}return s}_getEntry(e,r,s){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(s.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};M8.default=L8});var rhe=L(U8=>{"use strict";Object.defineProperty(U8,"__esModule",{value:!0});var Qpt=the(),Tpt=wQ(),_8=class extends Tpt.default{constructor(){super(...arguments),this._reader=new Qpt.default(this._settings)}read(e){let r=this._getRootDirectory(e),s=this._getReaderOptions(e);return this.api(r,e,s).map(s.transform)}api(e,r,s){return r.dynamic?this._reader.dynamic(e,s):this._reader.static(r.patterns,s)}};U8.default=_8});var nhe=L(eI=>{"use strict";Object.defineProperty(eI,"__esModule",{value:!0});eI.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var $E=ye("fs"),Rpt=ye("os"),Fpt=Math.max(Rpt.cpus().length,1);eI.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:$E.lstat,lstatSync:$E.lstatSync,stat:$E.stat,statSync:$E.statSync,readdir:$E.readdir,readdirSync:$E.readdirSync};var H8=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Fpt),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0),this.ignore=[].concat(this.ignore)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},eI.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};eI.default=H8});var BQ=L((kJt,she)=>{"use strict";var ihe=spe(),Npt=$pe(),Opt=ehe(),Lpt=rhe(),j8=nhe(),Rc=Qp();async function q8(t,e){qu(t);let r=G8(t,Npt.default,e),s=await Promise.all(r);return Rc.array.flatten(s)}(function(t){t.glob=t,t.globSync=e,t.globStream=r,t.async=t;function e(h,E){qu(h);let C=G8(h,Lpt.default,E);return Rc.array.flatten(C)}t.sync=e;function r(h,E){qu(h);let C=G8(h,Opt.default,E);return Rc.stream.merge(C)}t.stream=r;function s(h,E){qu(h);let C=[].concat(h),S=new j8.default(E);return ihe.generate(C,S)}t.generateTasks=s;function a(h,E){qu(h);let C=new j8.default(E);return Rc.pattern.isDynamicPattern(h,C)}t.isDynamicPattern=a;function n(h){return qu(h),Rc.path.escape(h)}t.escapePath=n;function c(h){return qu(h),Rc.path.convertPathToPattern(h)}t.convertPathToPattern=c;let f;(function(h){function E(S){return qu(S),Rc.path.escapePosixPath(S)}h.escapePath=E;function C(S){return qu(S),Rc.path.convertPosixPathToPattern(S)}h.convertPathToPattern=C})(f=t.posix||(t.posix={}));let p;(function(h){function E(S){return qu(S),Rc.path.escapeWindowsPath(S)}h.escapePath=E;function C(S){return qu(S),Rc.path.convertWindowsPathToPattern(S)}h.convertPathToPattern=C})(p=t.win32||(t.win32={}))})(q8||(q8={}));function G8(t,e,r){let s=[].concat(t),a=new j8.default(r),n=ihe.generate(s,a),c=new e(a);return n.map(c.read,c)}function qu(t){if(![].concat(t).every(s=>Rc.string.isString(s)&&!Rc.string.isEmpty(s)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}she.exports=q8});var Nn={};Vt(Nn,{checksumFile:()=>SQ,checksumPattern:()=>DQ,makeHash:()=>us});function us(...t){let e=(0,vQ.createHash)("sha512"),r="";for(let s of t)typeof s=="string"?r+=s:s&&(r&&(e.update(r),r=""),e.update(s));return r&&e.update(r),e.digest("hex")}async function SQ(t,{baseFs:e,algorithm:r}={baseFs:le,algorithm:"sha512"}){let s=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),c=(0,vQ.createHash)(r),f=0;for(;(f=await e.readPromise(s,n,0,65536))!==0;)c.update(f===65536?n:n.slice(0,f));return c.digest("hex")}finally{await e.closePromise(s)}}async function DQ(t,{cwd:e}){let s=(await(0,W8.default)(t,{cwd:ue.fromPortablePath(e),onlyDirectories:!0})).map(f=>`${f}/**/*`),a=await(0,W8.default)([t,...s],{cwd:ue.fromPortablePath(e),onlyFiles:!1});a.sort();let n=await Promise.all(a.map(async f=>{let p=[Buffer.from(f)],h=K.join(e,ue.toPortablePath(f)),E=await le.lstatPromise(h);return E.isSymbolicLink()?p.push(Buffer.from(await le.readlinkPromise(h))):E.isFile()&&p.push(await le.readFilePromise(h)),p.join("\0")})),c=(0,vQ.createHash)("sha512");for(let f of n)c.update(f);return c.digest("hex")}var vQ,W8,I0=It(()=>{bt();vQ=ye("crypto"),W8=et(BQ())});var q={};Vt(q,{allPeerRequests:()=>nv,areDescriptorsEqual:()=>uhe,areIdentsEqual:()=>XB,areLocatorsEqual:()=>$B,areVirtualPackagesEquivalent:()=>Ypt,bindDescriptor:()=>Gpt,bindLocator:()=>Wpt,convertDescriptorToLocator:()=>bQ,convertLocatorToDescriptor:()=>V8,convertPackageToLocator:()=>Hpt,convertToIdent:()=>Upt,convertToManifestRange:()=>rht,copyPackage:()=>zB,devirtualizeDescriptor:()=>ZB,devirtualizeLocator:()=>rI,ensureDevirtualizedDescriptor:()=>jpt,ensureDevirtualizedLocator:()=>qpt,getIdentVendorPath:()=>Z8,isPackageCompatible:()=>TQ,isVirtualDescriptor:()=>Tp,isVirtualLocator:()=>Gu,makeDescriptor:()=>On,makeIdent:()=>ba,makeLocator:()=>Ys,makeRange:()=>kQ,parseDescriptor:()=>C0,parseFileStyleRange:()=>eht,parseIdent:()=>Da,parseLocator:()=>Rp,parseRange:()=>em,prettyDependent:()=>B3,prettyDescriptor:()=>ri,prettyIdent:()=>$i,prettyLocator:()=>Yr,prettyLocatorNoColors:()=>w3,prettyRange:()=>iI,prettyReference:()=>tv,prettyResolution:()=>VB,prettyWorkspace:()=>rv,renamePackage:()=>K8,slugifyIdent:()=>Y8,slugifyLocator:()=>nI,sortDescriptors:()=>sI,stringifyDescriptor:()=>ll,stringifyIdent:()=>cn,stringifyLocator:()=>cl,tryParseDescriptor:()=>ev,tryParseIdent:()=>fhe,tryParseLocator:()=>xQ,tryParseRange:()=>$pt,unwrapIdentFromScope:()=>iht,virtualizeDescriptor:()=>J8,virtualizePackage:()=>z8,wrapIdentIntoScope:()=>nht});function ba(t,e){if(t?.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:us(t,e),scope:t,name:e}}function On(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:us(t.identHash,e),range:e}}function Ys(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:us(t.identHash,e),reference:e}}function Upt(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function bQ(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function V8(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function Hpt(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function K8(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function zB(t){return K8(t,t)}function J8(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return On(t,`virtual:${e}#${t.range}`)}function z8(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return K8(t,Ys(t,`virtual:${e}#${t.reference}`))}function Tp(t){return t.range.startsWith(JB)}function Gu(t){return t.reference.startsWith(JB)}function ZB(t){if(!Tp(t))throw new Error("Not a virtual descriptor");return On(t,t.range.replace(PQ,""))}function rI(t){if(!Gu(t))throw new Error("Not a virtual descriptor");return Ys(t,t.reference.replace(PQ,""))}function jpt(t){return Tp(t)?On(t,t.range.replace(PQ,"")):t}function qpt(t){return Gu(t)?Ys(t,t.reference.replace(PQ,"")):t}function Gpt(t,e){return t.range.includes("::")?t:On(t,`${t.range}::${tI.default.stringify(e)}`)}function Wpt(t,e){return t.reference.includes("::")?t:Ys(t,`${t.reference}::${tI.default.stringify(e)}`)}function XB(t,e){return t.identHash===e.identHash}function uhe(t,e){return t.descriptorHash===e.descriptorHash}function $B(t,e){return t.locatorHash===e.locatorHash}function Ypt(t,e){if(!Gu(t))throw new Error("Invalid package type");if(!Gu(e))throw new Error("Invalid package type");if(!XB(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let s=e.dependencies.get(r.identHash);if(!s||!uhe(r,s))return!1}return!0}function Da(t){let e=fhe(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function fhe(t){let e=t.match(Vpt);if(!e)return null;let[,r,s]=e;return ba(typeof r<"u"?r:null,s)}function C0(t,e=!1){let r=ev(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function ev(t,e=!1){let r=e?t.match(Kpt):t.match(Jpt);if(!r)return null;let[,s,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let c=typeof s<"u"?s:null,f=typeof n<"u"?n:"unknown";return On(ba(c,a),f)}function Rp(t,e=!1){let r=xQ(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function xQ(t,e=!1){let r=e?t.match(zpt):t.match(Zpt);if(!r)return null;let[,s,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let c=typeof s<"u"?s:null,f=typeof n<"u"?n:"unknown";return Ys(ba(c,a),f)}function em(t,e){let r=t.match(Xpt);if(r===null)throw new Error(`Invalid range (${t})`);let s=typeof r[1]<"u"?r[1]:null;if(typeof e?.requireProtocol=="string"&&s!==e.requireProtocol)throw new Error(`Invalid protocol (${s})`);if(e?.requireProtocol&&s===null)throw new Error(`Missing protocol (${s})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if(e?.requireSource&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),c=e?.parseSelector?tI.default.parse(n):n,f=typeof r[4]<"u"?tI.default.parse(r[4]):null;return{protocol:s,source:a,selector:c,params:f}}function $pt(t,e){try{return em(t,e)}catch{return null}}function eht(t,{protocol:e}){let{selector:r,params:s}=em(t,{requireProtocol:e,requireBindings:!0});if(typeof s.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Rp(s.locator,!0),path:r}}function ohe(t){return t=t.replaceAll("%","%25"),t=t.replaceAll(":","%3A"),t=t.replaceAll("#","%23"),t}function tht(t){return t===null?!1:Object.entries(t).length>0}function kQ({protocol:t,source:e,selector:r,params:s}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${ohe(e)}#`),a+=ohe(r),tht(s)&&(a+=`::${tI.default.stringify(s)}`),a}function rht(t){let{params:e,protocol:r,source:s,selector:a}=em(t);for(let n in e)n.startsWith("__")&&delete e[n];return kQ({protocol:r,source:s,params:e,selector:a})}function cn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function nht(t,e){return t.scope?ba(e,`${t.scope}__${t.name}`):ba(e,t.name)}function iht(t,e){if(t.scope!==e)return t;let r=t.name.indexOf("__");if(r===-1)return ba(null,t.name);let s=t.name.slice(0,r),a=t.name.slice(r+2);return ba(s,a)}function ll(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function cl(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function Y8(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function nI(t){let{protocol:e,selector:r}=em(t.reference),s=e!==null?e.replace(sht,""):"exotic",a=ahe.default.valid(r),n=a!==null?`${s}-${a}`:`${s}`,c=10;return t.scope?`${Y8(t)}-${n}-${t.locatorHash.slice(0,c)}`:`${Y8(t)}-${n}-${t.locatorHash.slice(0,c)}`}function $i(t,e){return e.scope?`${Ut(t,`@${e.scope}/`,Ct.SCOPE)}${Ut(t,e.name,Ct.NAME)}`:`${Ut(t,e.name,Ct.NAME)}`}function QQ(t){if(t.startsWith(JB)){let e=QQ(t.substring(t.indexOf("#")+1)),r=t.substring(JB.length,JB.length+Mpt);return`${e} [${r}]`}else return t.replace(oht,"?[...]")}function iI(t,e){return`${Ut(t,QQ(e),Ct.RANGE)}`}function ri(t,e){return`${$i(t,e)}${Ut(t,"@",Ct.RANGE)}${iI(t,e.range)}`}function tv(t,e){return`${Ut(t,QQ(e),Ct.REFERENCE)}`}function Yr(t,e){return`${$i(t,e)}${Ut(t,"@",Ct.REFERENCE)}${tv(t,e.reference)}`}function w3(t){return`${cn(t)}@${QQ(t.reference)}`}function sI(t){return Ws(t,[e=>cn(e),e=>e.range])}function rv(t,e){return $i(t,e.anchoredLocator)}function VB(t,e,r){let s=Tp(e)?ZB(e):e;return r===null?`${ri(t,s)} \u2192 ${C3(t).Cross}`:s.identHash===r.identHash?`${ri(t,s)} \u2192 ${tv(t,r.reference)}`:`${ri(t,s)} \u2192 ${Yr(t,r)}`}function B3(t,e,r){return r===null?`${Yr(t,e)}`:`${Yr(t,e)} (via ${iI(t,r.range)})`}function Z8(t){return`node_modules/${cn(t)}`}function TQ(t,e){return t.conditions?_pt(t.conditions,r=>{let[,s,a]=r.match(che),n=e[s];return n?n.includes(a):!0}):!0}function nv(t){let e=new Set;if("children"in t)e.add(t);else for(let r of t.requests.values())e.add(r);for(let r of e)for(let s of r.children.values())e.add(s);return e}var tI,ahe,lhe,JB,Mpt,che,_pt,PQ,Vpt,Kpt,Jpt,zpt,Zpt,Xpt,sht,oht,Yo=It(()=>{tI=et(ye("querystring")),ahe=et(fi()),lhe=et(noe());Qc();I0();kc();Yo();JB="virtual:",Mpt=5,che=/(os|cpu|libc)=([a-z0-9_-]+)/,_pt=(0,lhe.makeParser)(che);PQ=/^[^#]*#/;Vpt=/^(?:@([^/]+?)\/)?([^@/]+)$/;Kpt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,Jpt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;zpt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,Zpt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;Xpt=/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/;sht=/:$/;oht=/\?.*/});var Ahe,phe=It(()=>{Yo();Ahe={hooks:{reduceDependency:(t,e,r,s,{resolver:a,resolveOptions:n})=>{for(let{pattern:c,reference:f}of e.topLevelWorkspace.manifest.resolutions){if(c.from&&(c.from.fullName!==cn(r)||e.configuration.normalizeLocator(Ys(Da(c.from.fullName),c.from.description??r.reference)).locatorHash!==r.locatorHash)||c.descriptor.fullName!==cn(t)||e.configuration.normalizeDependency(On(Rp(c.descriptor.fullName),c.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(On(t,f)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let s=rv(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${s}: ${n}`),reportError:(a,n)=>e.reportError(a,`${s}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let s of r.errors)e.reportWarning(57,s.message)}}}});var yi,tm=It(()=>{yi=class t{static{this.protocol="workspace:"}supportsDescriptor(e,r){return!!(e.range.startsWith(t.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(t.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){return[s.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let s=r.project.getWorkspaceByCwd(e.reference.slice(t.protocol.length));return{...e,version:s.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...s.manifest.dependencies,...s.manifest.devDependencies])),peerDependencies:new Map([...s.manifest.peerDependencies]),dependenciesMeta:s.manifest.dependenciesMeta,peerDependenciesMeta:s.manifest.peerDependenciesMeta,bin:s.manifest.bin}}}});var Or={};Vt(Or,{SemVer:()=>yhe.SemVer,clean:()=>lht,getComparator:()=>dhe,mergeComparators:()=>X8,satisfiesWithPrereleases:()=>eA,simplifyRanges:()=>$8,stringifyComparator:()=>mhe,validRange:()=>ul});function eA(t,e,r=!1){if(!t)return!1;let s=`${e}${r}`,a=hhe.get(s);if(typeof a>"u")try{a=new Fp.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{hhe.set(s,a||null)}else if(a===null)return!1;let n;try{n=new Fp.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(c=>{for(let f of c)f.semver.prerelease&&(f.semver.prerelease=[]);return c.every(f=>f.test(n))}))}function ul(t){if(t.indexOf(":")!==-1)return null;let e=ghe.get(t);if(typeof e<"u")return e;try{e=new Fp.default.Range(t)}catch{e=null}return ghe.set(t,e),e}function lht(t){let e=aht.exec(t);return e?e[1]:null}function dhe(t){if(t.semver===Fp.default.Comparator.ANY)return{gt:null,lt:null};switch(t.operator){case"":return{gt:[">=",t.semver],lt:["<=",t.semver]};case">":case">=":return{gt:[t.operator,t.semver],lt:null};case"<":case"<=":return{gt:null,lt:[t.operator,t.semver]};default:throw new Error(`Assertion failed: Unexpected comparator operator (${t.operator})`)}}function X8(t){if(t.length===0)return null;let e=null,r=null;for(let s of t){if(s.gt){let a=e!==null?Fp.default.compare(s.gt[1],e[1]):null;(a===null||a>0||a===0&&s.gt[0]===">")&&(e=s.gt)}if(s.lt){let a=r!==null?Fp.default.compare(s.lt[1],r[1]):null;(a===null||a<0||a===0&&s.lt[0]==="<")&&(r=s.lt)}}if(e&&r){let s=Fp.default.compare(e[1],r[1]);if(s===0&&(e[0]===">"||r[0]==="<")||s>0)return null}return{gt:e,lt:r}}function mhe(t){if(t.gt&&t.lt){if(t.gt[0]===">="&&t.lt[0]==="<="&&t.gt[1].version===t.lt[1].version)return t.gt[1].version;if(t.gt[0]===">="&&t.lt[0]==="<"){if(t.lt[1].version===`${t.gt[1].major+1}.0.0-0`)return`^${t.gt[1].version}`;if(t.lt[1].version===`${t.gt[1].major}.${t.gt[1].minor+1}.0-0`)return`~${t.gt[1].version}`}}let e=[];return t.gt&&e.push(t.gt[0]+t.gt[1].version),t.lt&&e.push(t.lt[0]+t.lt[1].version),e.length?e.join(" "):"*"}function $8(t){let e=t.map(cht).map(s=>ul(s).set.map(a=>a.map(n=>dhe(n)))),r=e.shift().map(s=>X8(s)).filter(s=>s!==null);for(let s of e){let a=[];for(let n of r)for(let c of s){let f=X8([n,...c]);f!==null&&a.push(f)}r=a}return r.length===0?null:r.map(s=>mhe(s)).join(" || ")}function cht(t){let e=t.split("||");if(e.length>1){let r=new Set;for(let s of e)e.some(a=>a!==s&&Fp.default.subset(s,a))||r.add(s);if(r.size{Fp=et(fi()),yhe=et(fi()),hhe=new Map;ghe=new Map;aht=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function Ehe(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function Ihe(t){return t.charCodeAt(0)===65279?t.slice(1):t}function Pa(t){return t.replace(/\\/g,"/")}function RQ(t,{yamlCompatibilityMode:e}){return e?h3(t):typeof t>"u"||typeof t=="boolean"?t:null}function Che(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let s=r%2===0?"":"!",a=e.slice(r);return`${s}${t}=${a}`}function eH(t,e){return e.length===1?Che(t,e[0]):`(${e.map(r=>Che(t,r)).join(" | ")})`}var whe,Ht,oI=It(()=>{bt();Bc();whe=et(fi());tm();kc();Np();Yo();Ht=class t{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static{this.fileName="package.json"}static{this.allDependencies=["dependencies","devDependencies","peerDependencies"]}static{this.hardDependencies=["dependencies","devDependencies"]}static async tryFind(e,{baseFs:r=new Yn}={}){let s=K.join(e,"package.json");try{return await t.fromFile(s,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let s=await t.tryFind(e,{baseFs:r});if(s===null)throw new Error("Manifest not found");return s}static async fromFile(e,{baseFs:r=new Yn}={}){let s=new t;return await s.loadFile(e,{baseFs:r}),s}static fromText(e){let r=new t;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(Ihe(e)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(r),this.indent=Ehe(e)}async loadFile(e,{baseFs:r=new Yn}){let s=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(Ihe(s)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=Ehe(s)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let s=[];if(this.name=null,typeof e.name=="string")try{this.name=Da(e.name)}catch{s.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let n=[];this.os=n;for(let c of e.os)typeof c!="string"?s.push(new Error("Parsing failed for the 'os' field")):n.push(c)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let c of e.cpu)typeof c!="string"?s.push(new Error("Parsing failed for the 'cpu' field")):n.push(c)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let c of e.libc)typeof c!="string"?s.push(new Error("Parsing failed for the 'libc' field")):n.push(c)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=Pa(e.main):this.main=null,typeof e.module=="string"?this.module=Pa(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=Pa(e.browser);else{this.browser=new Map;for(let[n,c]of Object.entries(e.browser))this.browser.set(Pa(n),typeof c=="string"?Pa(c):c)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")e.bin.trim()===""?s.push(new Error("Invalid bin field")):this.name!==null?this.bin.set(this.name.name,Pa(e.bin)):s.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,c]of Object.entries(e.bin)){if(typeof c!="string"||c.trim()===""){s.push(new Error(`Invalid bin definition for '${n}'`));continue}let f=Da(n);this.bin.set(f.name,Pa(c))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,c]of Object.entries(e.scripts)){if(typeof c!="string"){s.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,c)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,c]of Object.entries(e.dependencies)){if(typeof c!="string"){s.push(new Error(`Invalid dependency range for '${n}'`));continue}let f;try{f=Da(n)}catch{s.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=On(f,c);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,c]of Object.entries(e.devDependencies)){if(typeof c!="string"){s.push(new Error(`Invalid dependency range for '${n}'`));continue}let f;try{f=Da(n)}catch{s.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=On(f,c);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,c]of Object.entries(e.peerDependencies)){let f;try{f=Da(n)}catch{s.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof c!="string"||!c.startsWith(yi.protocol)&&!ul(c))&&(s.push(new Error(`Invalid dependency range for '${n}'`)),c="*");let p=On(f,c);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&s.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){s.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,c]of Object.entries(e.dependenciesMeta)){if(typeof c!="object"||c===null){s.push(new Error(`Invalid meta field for '${n}`));continue}let f=C0(n),p=this.ensureDependencyMeta(f),h=RQ(c.built,{yamlCompatibilityMode:r});if(h===null){s.push(new Error(`Invalid built meta field for '${n}'`));continue}let E=RQ(c.optional,{yamlCompatibilityMode:r});if(E===null){s.push(new Error(`Invalid optional meta field for '${n}'`));continue}let C=RQ(c.unplugged,{yamlCompatibilityMode:r});if(C===null){s.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:E,unplugged:C})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,c]of Object.entries(e.peerDependenciesMeta)){if(typeof c!="object"||c===null){s.push(new Error(`Invalid meta field for '${n}'`));continue}let f=C0(n),p=this.ensurePeerDependencyMeta(f),h=RQ(c.optional,{yamlCompatibilityMode:r});if(h===null){s.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,c]of Object.entries(e.resolutions)){if(typeof c!="string"){s.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:bx(n),reference:c})}catch(f){s.push(f);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){s.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=Pa(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=Pa(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=Pa(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,c]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(Pa(n),typeof c=="string"?Pa(c):c)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,Pa(e.publishConfig.bin)]]):s.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,c]of Object.entries(e.publishConfig.bin)){if(typeof c!="string"){s.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,Pa(c))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){s.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(Pa(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:s.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:s.push(new Error("Invalid selfReferences definition, must be a boolean value")):s.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,c]of Object.entries(e.optionalDependencies)){if(typeof c!="string"){s.push(new Error(`Invalid dependency range for '${n}'`));continue}let f;try{f=Da(n)}catch{s.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=On(f,c);this.dependencies.set(p.identHash,p);let h=On(f,"unknown"),E=this.ensureDependencyMeta(h);Object.assign(E,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=s}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(eH("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(eH("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(eH("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!whe.default.valid(e.range))throw new Error(`Invalid meta field range for '${ll(e)}'`);let r=cn(e),s=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(s);return n||a.set(s,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${ll(e)}'`);let r=cn(e),s=this.peerDependenciesMeta.get(r);return s||this.peerDependenciesMeta.set(r,s={}),s}setRawField(e,r,{after:s=[]}={}){let a=new Set(s.filter(n=>Object.hasOwn(this.raw,n)));if(a.size===0||Object.hasOwn(this.raw,e))this.raw[e]=r;else{let n=this.raw,c=this.raw={},f=!1;for(let p of Object.keys(n))c[p]=n[p],f||(a.delete(p),a.size===0&&(c[e]=r,f=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=cn(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(c=>({[c]:n.get(c)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let s=[],a=[];for(let n of this.dependencies.values()){let c=this.dependenciesMeta.get(cn(n)),f=!1;if(r&&c){let p=c.get(null);p&&p.optional&&(f=!0)}f?a.push(n):s.push(n)}s.length>0?e.dependencies=Object.assign({},...sI(s).map(n=>({[cn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...sI(a).map(n=>({[cn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...sI(this.devDependencies.values()).map(n=>({[cn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...sI(this.peerDependencies.values()).map(n=>({[cn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,c]of Ws(this.dependenciesMeta.entries(),([f,p])=>f))for(let[f,p]of Ws(c.entries(),([h,E])=>h!==null?`0${h}`:"1")){let h=f!==null?ll(On(Da(n),f)):n,E={...p};r&&f===null&&delete E.optional,Object.keys(E).length!==0&&(e.dependenciesMeta[h]=E)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Ws(this.peerDependenciesMeta.entries(),([n,c])=>n).map(([n,c])=>({[n]:c}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:c})=>({[Px(n)]:c}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){e.scripts??={};for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,c]of this.scripts.entries())e.scripts[n]=c}else delete e.scripts;return e}}});var vhe=L((WJt,Bhe)=>{var uht=Pc(),fht=function(){return uht.Date.now()};Bhe.exports=fht});var Dhe=L((YJt,She)=>{var Aht=/\s/;function pht(t){for(var e=t.length;e--&&Aht.test(t.charAt(e)););return e}She.exports=pht});var Phe=L((VJt,bhe)=>{var hht=Dhe(),ght=/^\s+/;function dht(t){return t&&t.slice(0,hht(t)+1).replace(ght,"")}bhe.exports=dht});var aI=L((KJt,xhe)=>{var mht=Vd(),yht=zf(),Eht="[object Symbol]";function Iht(t){return typeof t=="symbol"||yht(t)&&mht(t)==Eht}xhe.exports=Iht});var Rhe=L((JJt,The)=>{var Cht=Phe(),khe=Wl(),wht=aI(),Qhe=NaN,Bht=/^[-+]0x[0-9a-f]+$/i,vht=/^0b[01]+$/i,Sht=/^0o[0-7]+$/i,Dht=parseInt;function bht(t){if(typeof t=="number")return t;if(wht(t))return Qhe;if(khe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=khe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Cht(t);var r=vht.test(t);return r||Sht.test(t)?Dht(t.slice(2),r?2:8):Bht.test(t)?Qhe:+t}The.exports=bht});var Ohe=L((zJt,Nhe)=>{var Pht=Wl(),tH=vhe(),Fhe=Rhe(),xht="Expected a function",kht=Math.max,Qht=Math.min;function Tht(t,e,r){var s,a,n,c,f,p,h=0,E=!1,C=!1,S=!0;if(typeof t!="function")throw new TypeError(xht);e=Fhe(e)||0,Pht(r)&&(E=!!r.leading,C="maxWait"in r,n=C?kht(Fhe(r.maxWait)||0,e):n,S="trailing"in r?!!r.trailing:S);function P(ce){var me=s,pe=a;return s=a=void 0,h=ce,c=t.apply(pe,me),c}function I(ce){return h=ce,f=setTimeout(U,e),E?P(ce):c}function R(ce){var me=ce-p,pe=ce-h,Be=e-me;return C?Qht(Be,n-pe):Be}function N(ce){var me=ce-p,pe=ce-h;return p===void 0||me>=e||me<0||C&&pe>=n}function U(){var ce=tH();if(N(ce))return W(ce);f=setTimeout(U,R(ce))}function W(ce){return f=void 0,S&&s?P(ce):(s=a=void 0,c)}function te(){f!==void 0&&clearTimeout(f),h=0,s=p=a=f=void 0}function ie(){return f===void 0?c:W(tH())}function Ae(){var ce=tH(),me=N(ce);if(s=arguments,a=this,p=ce,me){if(f===void 0)return I(p);if(C)return clearTimeout(f),f=setTimeout(U,e),P(p)}return f===void 0&&(f=setTimeout(U,e)),c}return Ae.cancel=te,Ae.flush=ie,Ae}Nhe.exports=Tht});var rH=L((ZJt,Lhe)=>{var Rht=Ohe(),Fht=Wl(),Nht="Expected a function";function Oht(t,e,r){var s=!0,a=!0;if(typeof t!="function")throw new TypeError(Nht);return Fht(r)&&(s="leading"in r?!!r.leading:s,a="trailing"in r?!!r.trailing:a),Rht(t,e,{leading:s,maxWait:e,trailing:a})}Lhe.exports=Oht});function Mht(t){return typeof t.reportCode<"u"}var Mhe,_he,Uhe,Lht,Yt,ho,Fc=It(()=>{Mhe=et(rH()),_he=ye("stream"),Uhe=ye("string_decoder"),Lht=15,Yt=class extends Error{constructor(r,s,a){super(s);this.reportExtra=a;this.reportCode=r}};ho=class{constructor(){this.cacheHits=new Set;this.cacheMisses=new Set;this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}getRecommendedLength(){return 180}reportCacheHit(e){this.cacheHits.add(e.locatorHash)}reportCacheMiss(e,r){this.cacheMisses.add(e.locatorHash)}static progressViaCounter(e){let r=0,s,a=new Promise(p=>{s=p}),n=p=>{let h=s;a=new Promise(E=>{s=E}),r=p,h()},c=(p=0)=>{n(r+1)},f=async function*(){for(;r{r=c}),a=(0,Mhe.default)(c=>{let f=r;s=new Promise(p=>{r=p}),e=c,f()},1e3/Lht),n=async function*(){for(;;)await s,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let s=this.reportProgress(e);try{return await r(e)}finally{s.stop()}}startProgressSync(e,r){let s=this.reportProgress(e);try{return r(e)}finally{s.stop()}}reportInfoOnce(e,r,s){let a=s&&s.key?s.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),s?.reportExtra?.(this))}reportWarningOnce(e,r,s){let a=s&&s.key?s.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),s?.reportExtra?.(this))}reportErrorOnce(e,r,s){let a=s&&s.key?s.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),s?.reportExtra?.(this))}reportExceptionOnce(e){Mht(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new _he.PassThrough,s=new Uhe.StringDecoder,a="";return r.on("data",n=>{let c=s.write(n),f;do if(f=c.indexOf(` +`),f!==-1){let p=a+c.substring(0,f);c=c.substring(f+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(f!==-1);a+=c}),r.on("end",()=>{let n=s.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var lI,nH=It(()=>{Fc();Yo();lI=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let s=this.fetchers.find(a=>a.supports(e,r));return s||null}getFetcher(e,r){let s=this.fetchers.find(a=>a.supports(e,r));if(!s)throw new Yt(11,`${Yr(r.project.configuration,e)} isn't supported by any available fetcher`);return s}}});var rm,iH=It(()=>{Yo();rm=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,s){return this.getResolverByDescriptor(e,s).bindDescriptor(e,r,s)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,s){return await this.getResolverByDescriptor(e,s).getCandidates(e,r,s)}async getSatisfying(e,r,s,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,s,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let s=this.resolvers.find(a=>a.supportsDescriptor(e,r));return s||null}getResolverByDescriptor(e,r){let s=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!s)throw new Error(`${ri(r.project.configuration,e)} isn't supported by any available resolver`);return s}tryResolverByLocator(e,r){let s=this.resolvers.find(a=>a.supportsLocator(e,r));return s||null}getResolverByLocator(e,r){let s=this.resolvers.find(a=>a.supportsLocator(e,r));if(!s)throw new Error(`${Yr(r.project.configuration,e)} isn't supported by any available resolver`);return s}}});var cI,sH=It(()=>{bt();Yo();cI=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let s=e.reference.indexOf("#");if(s===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(s+1),n=Ys(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let s=e.reference.indexOf("#");if(s===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(s+1),n=Ys(e,a),c=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,c,r)}getLocatorFilename(e){return nI(e)}async ensureVirtualLink(e,r,s){let a=r.packageFs.getRealPath(),n=s.project.configuration.get("virtualFolder"),c=this.getLocatorFilename(e),f=fo.makeVirtualPath(n,c,a),p=new Hf(f,{baseFs:r.packageFs,pathUtils:K});return{...r,packageFs:p}}}});var FQ,Hhe=It(()=>{FQ=class t{static{this.protocol="virtual:"}static isVirtualDescriptor(e){return!!e.range.startsWith(t.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(t.protocol)}supportsDescriptor(e,r){return t.isVirtualDescriptor(e)}supportsLocator(e,r){return t.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,s){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,s,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}}});var uI,oH=It(()=>{bt();tm();uI=class{supports(e){return!!e.reference.startsWith(yi.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let s=this.getWorkspace(e,r).cwd;return{packageFs:new Sn(s),prefixPath:vt.dot,localPath:s}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(yi.protocol.length))}}});function iv(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function jhe(t){return typeof t>"u"?3:iv(t)?0:Array.isArray(t)?1:2}function cH(t,e){return Object.hasOwn(t,e)}function Uht(t){return iv(t)&&cH(t,"onConflict")&&typeof t.onConflict=="string"}function Hht(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!Uht(t))return{onConflict:"default",value:t};if(cH(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function qhe(t,e){let r=iv(t)&&cH(t,e)?t[e]:void 0;return Hht(r)}function fI(t,e){return[t,e,Ghe]}function uH(t){return Array.isArray(t)?t[2]===Ghe:!1}function aH(t,e){if(iv(t)){let r={};for(let s of Object.keys(t))r[s]=aH(t[s],e);return fI(e,r)}return Array.isArray(t)?fI(e,t.map(r=>aH(r,e))):fI(e,t)}function lH(t,e,r,s,a){let n,c=[],f=a,p=0;for(let E=a-1;E>=s;--E){let[C,S]=t[E],{onConflict:P,value:I}=qhe(S,r),R=jhe(I);if(R!==3){if(n??=R,R!==n||P==="hardReset"){p=f;break}if(R===2)return fI(C,I);if(c.unshift([C,I]),P==="reset"){p=E;break}P==="extend"&&E===s&&(s=0),f=E}}if(typeof n>"u")return null;let h=c.map(([E])=>E).join(", ");switch(n){case 1:return fI(h,new Array().concat(...c.map(([E,C])=>C.map(S=>aH(S,E)))));case 0:{let E=Object.assign({},...c.map(([,R])=>R)),C=Object.keys(E),S={},P=t.map(([R,N])=>[R,qhe(N,r).value]),I=_ht(P,([R,N])=>{let U=jhe(N);return U!==0&&U!==3});if(I!==-1){let R=P.slice(I+1);for(let N of C)S[N]=lH(R,e,N,0,R.length)}else for(let R of C)S[R]=lH(P,e,R,p,P.length);return fI(h,S)}default:throw new Error("Assertion failed: Non-extendable value type")}}function Whe(t){return lH(t.map(([e,r])=>[e,{".":r}]),[],".",0,t.length)}function sv(t){return uH(t)?t[1]:t}function NQ(t){let e=uH(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>NQ(r));if(iv(e)){let r={};for(let[s,a]of Object.entries(e))r[s]=NQ(a);return r}return e}function fH(t){return uH(t)?t[0]:null}var _ht,Ghe,Yhe=It(()=>{_ht=(t,e,r)=>{let s=[...t];return s.reverse(),s.findIndex(e,r)};Ghe=Symbol()});var OQ={};Vt(OQ,{getDefaultGlobalFolder:()=>pH,getHomeFolder:()=>AI,isFolderInside:()=>hH});function pH(){if(process.platform==="win32"){let t=ue.toPortablePath(process.env.LOCALAPPDATA||ue.join((0,AH.homedir)(),"AppData","Local"));return K.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=ue.toPortablePath(process.env.XDG_DATA_HOME);return K.resolve(t,"yarn/berry")}return K.resolve(AI(),".yarn/berry")}function AI(){return ue.toPortablePath((0,AH.homedir)()||"/usr/local/share")}function hH(t,e){let r=K.relative(e,t);return r&&!r.startsWith("..")&&!K.isAbsolute(r)}var AH,LQ=It(()=>{bt();AH=ye("os")});var zhe=L(pI=>{"use strict";var uzt=ye("net"),qht=ye("tls"),gH=ye("http"),Vhe=ye("https"),Ght=ye("events"),fzt=ye("assert"),Wht=ye("util");pI.httpOverHttp=Yht;pI.httpsOverHttp=Vht;pI.httpOverHttps=Kht;pI.httpsOverHttps=Jht;function Yht(t){var e=new Op(t);return e.request=gH.request,e}function Vht(t){var e=new Op(t);return e.request=gH.request,e.createSocket=Khe,e.defaultPort=443,e}function Kht(t){var e=new Op(t);return e.request=Vhe.request,e}function Jht(t){var e=new Op(t);return e.request=Vhe.request,e.createSocket=Khe,e.defaultPort=443,e}function Op(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||gH.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(s,a,n,c){for(var f=Jhe(a,n,c),p=0,h=e.requests.length;p=this.maxSockets){n.requests.push(c);return}n.createSocket(c,function(f){f.on("free",p),f.on("close",h),f.on("agentRemove",h),e.onSocket(f);function p(){n.emit("free",f,c)}function h(E){n.removeSocket(f),f.removeListener("free",p),f.removeListener("close",h),f.removeListener("agentRemove",h)}})};Op.prototype.createSocket=function(e,r){var s=this,a={};s.sockets.push(a);var n=dH({},s.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),w0("making CONNECT request");var c=s.request(n);c.useChunkedEncodingByDefault=!1,c.once("response",f),c.once("upgrade",p),c.once("connect",h),c.once("error",E),c.end();function f(C){C.upgrade=!0}function p(C,S,P){process.nextTick(function(){h(C,S,P)})}function h(C,S,P){if(c.removeAllListeners(),S.removeAllListeners(),C.statusCode!==200){w0("tunneling socket could not be established, statusCode=%d",C.statusCode),S.destroy();var I=new Error("tunneling socket could not be established, statusCode="+C.statusCode);I.code="ECONNRESET",e.request.emit("error",I),s.removeSocket(a);return}if(P.length>0){w0("got illegal response body from proxy"),S.destroy();var I=new Error("got illegal response body from proxy");I.code="ECONNRESET",e.request.emit("error",I),s.removeSocket(a);return}return w0("tunneling connection has established"),s.sockets[s.sockets.indexOf(a)]=S,r(S)}function E(C){c.removeAllListeners(),w0(`tunneling socket could not be established, cause=%s +`,C.message,C.stack);var S=new Error("tunneling socket could not be established, cause="+C.message);S.code="ECONNRESET",e.request.emit("error",S),s.removeSocket(a)}};Op.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var s=this.requests.shift();s&&this.createSocket(s,function(a){s.request.onSocket(a)})}};function Khe(t,e){var r=this;Op.prototype.createSocket.call(r,t,function(s){var a=t.request.getHeader("host"),n=dH({},r.options,{socket:s,servername:a?a.replace(/:.*$/,""):t.host}),c=qht.connect(0,n);r.sockets[r.sockets.indexOf(s)]=c,e(c)})}function Jhe(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function dH(t){for(var e=1,r=arguments.length;e{Zhe.exports=zhe()});var Mp=L((Lp,MQ)=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});var $he=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function zht(t){return $he.includes(t)}var Zht=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...$he];function Xht(t){return Zht.includes(t)}var $ht=["null","undefined","string","number","bigint","boolean","symbol"];function e0t(t){return $ht.includes(t)}function hI(t){return e=>typeof e===t}var{toString:e0e}=Object.prototype,ov=t=>{let e=e0e.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&be.domElement(t))return"HTMLElement";if(Xht(e))return e},Ai=t=>e=>ov(e)===t;function be(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(be.observable(t))return"Observable";if(be.array(t))return"Array";if(be.buffer(t))return"Buffer";let e=ov(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}be.undefined=hI("undefined");be.string=hI("string");var t0t=hI("number");be.number=t=>t0t(t)&&!be.nan(t);be.bigint=hI("bigint");be.function_=hI("function");be.null_=t=>t===null;be.class_=t=>be.function_(t)&&t.toString().startsWith("class ");be.boolean=t=>t===!0||t===!1;be.symbol=hI("symbol");be.numericString=t=>be.string(t)&&!be.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));be.array=(t,e)=>Array.isArray(t)?be.function_(e)?t.every(e):!0:!1;be.buffer=t=>{var e,r,s,a;return(a=(s=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||s===void 0?void 0:s.call(r,t))!==null&&a!==void 0?a:!1};be.blob=t=>Ai("Blob")(t);be.nullOrUndefined=t=>be.null_(t)||be.undefined(t);be.object=t=>!be.null_(t)&&(typeof t=="object"||be.function_(t));be.iterable=t=>{var e;return be.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};be.asyncIterable=t=>{var e;return be.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};be.generator=t=>{var e,r;return be.iterable(t)&&be.function_((e=t)===null||e===void 0?void 0:e.next)&&be.function_((r=t)===null||r===void 0?void 0:r.throw)};be.asyncGenerator=t=>be.asyncIterable(t)&&be.function_(t.next)&&be.function_(t.throw);be.nativePromise=t=>Ai("Promise")(t);var r0t=t=>{var e,r;return be.function_((e=t)===null||e===void 0?void 0:e.then)&&be.function_((r=t)===null||r===void 0?void 0:r.catch)};be.promise=t=>be.nativePromise(t)||r0t(t);be.generatorFunction=Ai("GeneratorFunction");be.asyncGeneratorFunction=t=>ov(t)==="AsyncGeneratorFunction";be.asyncFunction=t=>ov(t)==="AsyncFunction";be.boundFunction=t=>be.function_(t)&&!t.hasOwnProperty("prototype");be.regExp=Ai("RegExp");be.date=Ai("Date");be.error=Ai("Error");be.map=t=>Ai("Map")(t);be.set=t=>Ai("Set")(t);be.weakMap=t=>Ai("WeakMap")(t);be.weakSet=t=>Ai("WeakSet")(t);be.int8Array=Ai("Int8Array");be.uint8Array=Ai("Uint8Array");be.uint8ClampedArray=Ai("Uint8ClampedArray");be.int16Array=Ai("Int16Array");be.uint16Array=Ai("Uint16Array");be.int32Array=Ai("Int32Array");be.uint32Array=Ai("Uint32Array");be.float32Array=Ai("Float32Array");be.float64Array=Ai("Float64Array");be.bigInt64Array=Ai("BigInt64Array");be.bigUint64Array=Ai("BigUint64Array");be.arrayBuffer=Ai("ArrayBuffer");be.sharedArrayBuffer=Ai("SharedArrayBuffer");be.dataView=Ai("DataView");be.enumCase=(t,e)=>Object.values(e).includes(t);be.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;be.urlInstance=t=>Ai("URL")(t);be.urlString=t=>{if(!be.string(t))return!1;try{return new URL(t),!0}catch{return!1}};be.truthy=t=>!!t;be.falsy=t=>!t;be.nan=t=>Number.isNaN(t);be.primitive=t=>be.null_(t)||e0t(typeof t);be.integer=t=>Number.isInteger(t);be.safeInteger=t=>Number.isSafeInteger(t);be.plainObject=t=>{if(e0e.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};be.typedArray=t=>zht(ov(t));var n0t=t=>be.safeInteger(t)&&t>=0;be.arrayLike=t=>!be.nullOrUndefined(t)&&!be.function_(t)&&n0t(t.length);be.inRange=(t,e)=>{if(be.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(be.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var i0t=1,s0t=["innerHTML","ownerDocument","style","attributes","nodeValue"];be.domElement=t=>be.object(t)&&t.nodeType===i0t&&be.string(t.nodeName)&&!be.plainObject(t)&&s0t.every(e=>e in t);be.observable=t=>{var e,r,s,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(s=t)["@@observable"])===null||a===void 0?void 0:a.call(s)):!1};be.nodeStream=t=>be.object(t)&&be.function_(t.pipe)&&!be.observable(t);be.infinite=t=>t===1/0||t===-1/0;var t0e=t=>e=>be.integer(e)&&Math.abs(e%2)===t;be.evenInteger=t0e(0);be.oddInteger=t0e(1);be.emptyArray=t=>be.array(t)&&t.length===0;be.nonEmptyArray=t=>be.array(t)&&t.length>0;be.emptyString=t=>be.string(t)&&t.length===0;var o0t=t=>be.string(t)&&!/\S/.test(t);be.emptyStringOrWhitespace=t=>be.emptyString(t)||o0t(t);be.nonEmptyString=t=>be.string(t)&&t.length>0;be.nonEmptyStringAndNotWhitespace=t=>be.string(t)&&!be.emptyStringOrWhitespace(t);be.emptyObject=t=>be.object(t)&&!be.map(t)&&!be.set(t)&&Object.keys(t).length===0;be.nonEmptyObject=t=>be.object(t)&&!be.map(t)&&!be.set(t)&&Object.keys(t).length>0;be.emptySet=t=>be.set(t)&&t.size===0;be.nonEmptySet=t=>be.set(t)&&t.size>0;be.emptyMap=t=>be.map(t)&&t.size===0;be.nonEmptyMap=t=>be.map(t)&&t.size>0;be.propertyKey=t=>be.any([be.string,be.number,be.symbol],t);be.formData=t=>Ai("FormData")(t);be.urlSearchParams=t=>Ai("URLSearchParams")(t);var r0e=(t,e,r)=>{if(!be.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};be.any=(t,...e)=>(be.array(t)?t:[t]).some(s=>r0e(Array.prototype.some,s,e));be.all=(t,...e)=>r0e(Array.prototype.every,t,e);var _t=(t,e,r,s={})=>{if(!t){let{multipleValues:a}=s,n=a?`received values of types ${[...new Set(r.map(c=>`\`${be(c)}\``))].join(", ")}`:`received value of type \`${be(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};Lp.assert={undefined:t=>_t(be.undefined(t),"undefined",t),string:t=>_t(be.string(t),"string",t),number:t=>_t(be.number(t),"number",t),bigint:t=>_t(be.bigint(t),"bigint",t),function_:t=>_t(be.function_(t),"Function",t),null_:t=>_t(be.null_(t),"null",t),class_:t=>_t(be.class_(t),"Class",t),boolean:t=>_t(be.boolean(t),"boolean",t),symbol:t=>_t(be.symbol(t),"symbol",t),numericString:t=>_t(be.numericString(t),"string with a number",t),array:(t,e)=>{_t(be.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>_t(be.buffer(t),"Buffer",t),blob:t=>_t(be.blob(t),"Blob",t),nullOrUndefined:t=>_t(be.nullOrUndefined(t),"null or undefined",t),object:t=>_t(be.object(t),"Object",t),iterable:t=>_t(be.iterable(t),"Iterable",t),asyncIterable:t=>_t(be.asyncIterable(t),"AsyncIterable",t),generator:t=>_t(be.generator(t),"Generator",t),asyncGenerator:t=>_t(be.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>_t(be.nativePromise(t),"native Promise",t),promise:t=>_t(be.promise(t),"Promise",t),generatorFunction:t=>_t(be.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>_t(be.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>_t(be.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>_t(be.boundFunction(t),"Function",t),regExp:t=>_t(be.regExp(t),"RegExp",t),date:t=>_t(be.date(t),"Date",t),error:t=>_t(be.error(t),"Error",t),map:t=>_t(be.map(t),"Map",t),set:t=>_t(be.set(t),"Set",t),weakMap:t=>_t(be.weakMap(t),"WeakMap",t),weakSet:t=>_t(be.weakSet(t),"WeakSet",t),int8Array:t=>_t(be.int8Array(t),"Int8Array",t),uint8Array:t=>_t(be.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>_t(be.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>_t(be.int16Array(t),"Int16Array",t),uint16Array:t=>_t(be.uint16Array(t),"Uint16Array",t),int32Array:t=>_t(be.int32Array(t),"Int32Array",t),uint32Array:t=>_t(be.uint32Array(t),"Uint32Array",t),float32Array:t=>_t(be.float32Array(t),"Float32Array",t),float64Array:t=>_t(be.float64Array(t),"Float64Array",t),bigInt64Array:t=>_t(be.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>_t(be.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>_t(be.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>_t(be.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>_t(be.dataView(t),"DataView",t),enumCase:(t,e)=>_t(be.enumCase(t,e),"EnumCase",t),urlInstance:t=>_t(be.urlInstance(t),"URL",t),urlString:t=>_t(be.urlString(t),"string with a URL",t),truthy:t=>_t(be.truthy(t),"truthy",t),falsy:t=>_t(be.falsy(t),"falsy",t),nan:t=>_t(be.nan(t),"NaN",t),primitive:t=>_t(be.primitive(t),"primitive",t),integer:t=>_t(be.integer(t),"integer",t),safeInteger:t=>_t(be.safeInteger(t),"integer",t),plainObject:t=>_t(be.plainObject(t),"plain object",t),typedArray:t=>_t(be.typedArray(t),"TypedArray",t),arrayLike:t=>_t(be.arrayLike(t),"array-like",t),domElement:t=>_t(be.domElement(t),"HTMLElement",t),observable:t=>_t(be.observable(t),"Observable",t),nodeStream:t=>_t(be.nodeStream(t),"Node.js Stream",t),infinite:t=>_t(be.infinite(t),"infinite number",t),emptyArray:t=>_t(be.emptyArray(t),"empty array",t),nonEmptyArray:t=>_t(be.nonEmptyArray(t),"non-empty array",t),emptyString:t=>_t(be.emptyString(t),"empty string",t),emptyStringOrWhitespace:t=>_t(be.emptyStringOrWhitespace(t),"empty string or whitespace",t),nonEmptyString:t=>_t(be.nonEmptyString(t),"non-empty string",t),nonEmptyStringAndNotWhitespace:t=>_t(be.nonEmptyStringAndNotWhitespace(t),"non-empty string and not whitespace",t),emptyObject:t=>_t(be.emptyObject(t),"empty object",t),nonEmptyObject:t=>_t(be.nonEmptyObject(t),"non-empty object",t),emptySet:t=>_t(be.emptySet(t),"empty set",t),nonEmptySet:t=>_t(be.nonEmptySet(t),"non-empty set",t),emptyMap:t=>_t(be.emptyMap(t),"empty map",t),nonEmptyMap:t=>_t(be.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>_t(be.propertyKey(t),"PropertyKey",t),formData:t=>_t(be.formData(t),"FormData",t),urlSearchParams:t=>_t(be.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>_t(be.evenInteger(t),"even integer",t),oddInteger:t=>_t(be.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>_t(be.directInstanceOf(t,e),"T",t),inRange:(t,e)=>_t(be.inRange(t,e),"in range",t),any:(t,...e)=>_t(be.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>_t(be.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(be,{class:{value:be.class_},function:{value:be.function_},null:{value:be.null_}});Object.defineProperties(Lp.assert,{class:{value:Lp.assert.class_},function:{value:Lp.assert.function_},null:{value:Lp.assert.null_}});Lp.default=be;MQ.exports=be;MQ.exports.default=be;MQ.exports.assert=Lp.assert});var n0e=L((hzt,mH)=>{"use strict";var _Q=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},UQ=class t{static fn(e){return(...r)=>new t((s,a,n)=>{r.push(n),e(...r).then(s,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,s)=>{this._reject=s;let a=f=>{this._isPending=!1,r(f)},n=f=>{this._isPending=!1,s(f)},c=f=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(f)};return Object.defineProperties(c,{shouldReject:{get:()=>this._rejectOnCancel,set:f=>{this._rejectOnCancel=f}}}),e(a,n,c)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new _Q(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(UQ.prototype,Promise.prototype);mH.exports=UQ;mH.exports.CancelError=_Q});var i0e=L((EH,IH)=>{"use strict";Object.defineProperty(EH,"__esModule",{value:!0});function a0t(t){return t.encrypted}var yH=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let s=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",c=()=>{s&&r.connect(),a0t(t)&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?c():t.connecting?t.once("connect",c):t.destroyed&&n&&r.close(t._hadError)};EH.default=yH;IH.exports=yH;IH.exports.default=yH});var s0e=L((wH,BH)=>{"use strict";Object.defineProperty(wH,"__esModule",{value:!0});var l0t=i0e(),c0t=Number(process.versions.node.split(".")[0]),CH=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=c=>{let f=c.emit.bind(c);c.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,c.emit=f),f(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||c0t>=13)&&(e.phases.total=Date.now()-e.start)});let s=c=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let f=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};c.prependOnceListener("lookup",f),l0t.default(c,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(c.removeListener("lookup",f),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?s(t.socket):t.prependOnceListener("socket",s);let a=()=>{var c;e.upload=Date.now(),e.phases.request=e.upload-(c=e.secureConnect,c??e.connect)};return(typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",c=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,c.timings=e,r(c),c.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};wH.default=CH;BH.exports=CH;BH.exports.default=CH});var A0e=L((gzt,DH)=>{"use strict";var{V4MAPPED:u0t,ADDRCONFIG:f0t,ALL:f0e,promises:{Resolver:o0e},lookup:A0t}=ye("dns"),{promisify:vH}=ye("util"),p0t=ye("os"),gI=Symbol("cacheableLookupCreateConnection"),SH=Symbol("cacheableLookupInstance"),a0e=Symbol("expires"),h0t=typeof f0e=="number",l0e=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},g0t=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},c0e=()=>{let t=!1,e=!1;for(let r of Object.values(p0t.networkInterfaces()))for(let s of r)if(!s.internal&&(s.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},d0t=t=>Symbol.iterator in t,u0e={ttl:!0},m0t={all:!0},HQ=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:s=3600,errorTtl:a=.15,resolver:n=new o0e,lookup:c=A0t}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=vH(c),this._resolver instanceof o0e?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=vH(this._resolver.resolve4.bind(this._resolver)),this._resolve6=vH(this._resolver.resolve6.bind(this._resolver))),this._iface=c0e(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,s<1)this._fallback=!1;else{this._fallback=!0;let f=setInterval(()=>{this._hostnamesToFallback.clear()},s*1e3);f.unref&&f.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,s){if(typeof r=="function"?(s=r,r={}):typeof r=="number"&&(r={family:r}),!s)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?s(null,a):s(null,a.address,a.family,a.expires,a.ttl)},s)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let s=await this.query(e);if(r.family===6){let a=s.filter(n=>n.family===6);r.hints&u0t&&(h0t&&r.hints&f0e||a.length===0)?g0t(s):s=a}else r.family===4&&(s=s.filter(a=>a.family===4));if(r.hints&f0t){let{_iface:a}=this;s=s.filter(n=>n.family===6?a.has6:a.has4)}if(s.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?s:s[0]}async query(e){let r=await this._cache.get(e);if(!r){let s=this._pending[e];if(s)r=await s;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(s=>({...s})),r}async _resolve(e){let r=async h=>{try{return await h}catch(E){if(E.code==="ENODATA"||E.code==="ENOTFOUND")return[];throw E}},[s,a]=await Promise.all([this._resolve4(e,u0e),this._resolve6(e,u0e)].map(h=>r(h))),n=0,c=0,f=0,p=Date.now();for(let h of s)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,c=Math.max(c,h.ttl);return s.length>0?a.length>0?f=Math.min(n,c):f=n:f=c,{entries:[...s,...a],cacheTtl:f}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,s){if(this.maxTtl>0&&s>0){s=Math.min(s,this.maxTtl)*1e3,r[a0e]=Date.now()+s;try{await this._cache.set(e,r,s)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}d0t(this._cache)&&this._tick(s)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,m0t);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let s=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,s),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let s=1/0,a=Date.now();for(let[n,c]of this._cache){let f=c[a0e];a>=f?this._cache.delete(n):f("lookup"in r||(r.lookup=this.lookup),e[gI](r,s))}uninstall(e){if(l0e(e),e[gI]){if(e[SH]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[gI],delete e[gI],delete e[SH]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=c0e(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};DH.exports=HQ;DH.exports.default=HQ});var g0e=L((dzt,bH)=>{"use strict";var y0t=typeof URL>"u"?ye("url").URL:URL,E0t="text/plain",I0t="us-ascii",p0e=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),C0t=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let s=r[1].split(";"),a=r[2],n=e?"":r[3],c=!1;s[s.length-1]==="base64"&&(s.pop(),c=!0);let f=(s.shift()||"").toLowerCase(),h=[...s.map(E=>{let[C,S=""]=E.split("=").map(P=>P.trim());return C==="charset"&&(S=S.toLowerCase(),S===I0t)?"":`${C}${S?`=${S}`:""}`}).filter(Boolean)];return c&&h.push("base64"),(h.length!==0||f&&f!==E0t)&&h.unshift(f),`data:${h.join(";")},${c?a.trim():a}${n?`#${n}`:""}`},h0e=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return C0t(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new y0t(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,c)=>/^(?!\/)/g.test(c)?`${c}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),c=n[n.length-1];p0e(c,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])p0e(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};bH.exports=h0e;bH.exports.default=h0e});var y0e=L((mzt,m0e)=>{m0e.exports=d0e;function d0e(t,e){if(t&&e)return d0e(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(s){r[s]=t[s]}),r;function r(){for(var s=new Array(arguments.length),a=0;a{var E0e=y0e();PH.exports=E0e(jQ);PH.exports.strict=E0e(I0e);jQ.proto=jQ(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return jQ(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return I0e(this)},configurable:!0})});function jQ(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function I0e(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var kH=L((Ezt,w0e)=>{var w0t=xH(),B0t=function(){},v0t=function(t){return t.setHeader&&typeof t.abort=="function"},S0t=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},C0e=function(t,e,r){if(typeof e=="function")return C0e(t,null,e);e||(e={}),r=w0t(r||B0t);var s=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,c=e.writable||e.writable!==!1&&t.writable,f=function(){t.writable||p()},p=function(){c=!1,n||r.call(t)},h=function(){n=!1,c||r.call(t)},E=function(I){r.call(t,I?new Error("exited with error code: "+I):null)},C=function(I){r.call(t,I)},S=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(c&&!(s&&s.ended))return r.call(t,new Error("premature close"))},P=function(){t.req.on("finish",p)};return v0t(t)?(t.on("complete",p),t.on("abort",S),t.req?P():t.on("request",P)):c&&!s&&(t.on("end",f),t.on("close",f)),S0t(t)&&t.on("exit",E),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",C),t.on("close",S),function(){t.removeListener("complete",p),t.removeListener("abort",S),t.removeListener("request",P),t.req&&t.req.removeListener("finish",p),t.removeListener("end",f),t.removeListener("close",f),t.removeListener("finish",p),t.removeListener("exit",E),t.removeListener("end",h),t.removeListener("error",C),t.removeListener("close",S)}};w0e.exports=C0e});var S0e=L((Izt,v0e)=>{var D0t=xH(),b0t=kH(),QH=ye("fs"),av=function(){},P0t=/^v?\.0/.test(process.version),qQ=function(t){return typeof t=="function"},x0t=function(t){return!P0t||!QH?!1:(t instanceof(QH.ReadStream||av)||t instanceof(QH.WriteStream||av))&&qQ(t.close)},k0t=function(t){return t.setHeader&&qQ(t.abort)},Q0t=function(t,e,r,s){s=D0t(s);var a=!1;t.on("close",function(){a=!0}),b0t(t,{readable:e,writable:r},function(c){if(c)return s(c);a=!0,s()});var n=!1;return function(c){if(!a&&!n){if(n=!0,x0t(t))return t.close(av);if(k0t(t))return t.abort();if(qQ(t.destroy))return t.destroy();s(c||new Error("stream was destroyed"))}}},B0e=function(t){t()},T0t=function(t,e){return t.pipe(e)},R0t=function(){var t=Array.prototype.slice.call(arguments),e=qQ(t[t.length-1]||av)&&t.pop()||av;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,s=t.map(function(a,n){var c=n0;return Q0t(a,c,f,function(p){r||(r=p),p&&s.forEach(B0e),!c&&(s.forEach(B0e),e(r))})});return t.reduce(T0t)};v0e.exports=R0t});var b0e=L((Czt,D0e)=>{"use strict";var{PassThrough:F0t}=ye("stream");D0e.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,s=r==="buffer",a=!1;e?a=!(r||s):r=r||"utf8",s&&(r=null);let n=new F0t({objectMode:a});r&&n.setEncoding(r);let c=0,f=[];return n.on("data",p=>{f.push(p),a?c=f.length:c+=p.length}),n.getBufferedValue=()=>e?f:s?Buffer.concat(f,c):f.join(""),n.getBufferedLength=()=>c,n}});var P0e=L((wzt,dI)=>{"use strict";var N0t=S0e(),O0t=b0e(),GQ=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function WQ(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,s;return await new Promise((a,n)=>{let c=f=>{f&&(f.bufferedData=s.getBufferedValue()),n(f)};s=N0t(t,O0t(e),f=>{if(f){c(f);return}a()}),s.on("data",()=>{s.getBufferedLength()>r&&c(new GQ)})}),s.getBufferedValue()}dI.exports=WQ;dI.exports.default=WQ;dI.exports.buffer=(t,e)=>WQ(t,{...e,encoding:"buffer"});dI.exports.array=(t,e)=>WQ(t,{...e,array:!0});dI.exports.MaxBufferError=GQ});var k0e=L((vzt,x0e)=>{"use strict";var L0t=new Set([200,203,204,206,300,301,308,404,405,410,414,501]),M0t=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),_0t=new Set([500,502,503,504]),U0t={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},H0t={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function nm(t){let e=parseInt(t,10);return isFinite(e)?e:0}function j0t(t){return t?_0t.has(t.status):!0}function TH(t){let e={};if(!t)return e;let r=t.trim().split(/,/);for(let s of r){let[a,n]=s.split(/=/,2);e[a.trim()]=n===void 0?!0:n.trim().replace(/^"|"$/g,"")}return e}function q0t(t){let e=[];for(let r in t){let s=t[r];e.push(s===!0?r:r+"="+s)}if(e.length)return e.join(", ")}x0e.exports=class{constructor(e,r,{shared:s,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:c,_fromObject:f}={}){if(f){this._fromObject(f);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=s!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=TH(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=TH(e.headers["cache-control"]),c&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":q0t(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&M0t.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||L0t.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=TH(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let s of r)if(e.headers[s]!==this._reqHeaders[s])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let s in e)U0t[s]||(r[s]=e[s]);if(e.connection){let s=e.connection.trim().split(/\s*,\s*/);for(let a of s)delete r[a]}if(r.warning){let s=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));s.length?r.warning=s.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return nm(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return nm(this._rescc["s-maxage"])}if(this._rescc["max-age"])return nm(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let s=Date.parse(this._resHeaders.expires);return Number.isNaN(s)||ss)return Math.max(e,(r-s)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+nm(this._rescc["stale-if-error"]),s=e+nm(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,s)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+nm(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+nm(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&j0t(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let s=!1;if(r.status!==void 0&&r.status!=304?s=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?s=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?s=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?s=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(s=!0),!s)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let c in this._resHeaders)a[c]=c in r.headers&&!H0t[c]?r.headers[c]:this._resHeaders[c];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var YQ=L((Szt,Q0e)=>{"use strict";Q0e.exports=t=>{let e={};for(let[r,s]of Object.entries(t))e[r.toLowerCase()]=s;return e}});var R0e=L((Dzt,T0e)=>{"use strict";var G0t=ye("stream").Readable,W0t=YQ(),RH=class extends G0t{constructor(e,r,s,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(s instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=W0t(r),this.body=s,this.url=a}_read(){this.push(this.body),this.push(null)}};T0e.exports=RH});var N0e=L((bzt,F0e)=>{"use strict";var Y0t=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];F0e.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Y0t));for(let s of r)s in e||(e[s]=typeof t[s]=="function"?t[s].bind(t):t[s])}});var L0e=L((Pzt,O0e)=>{"use strict";var V0t=ye("stream").PassThrough,K0t=N0e(),J0t=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new V0t;return K0t(t,e),t.pipe(e)};O0e.exports=J0t});var M0e=L(FH=>{FH.stringify=function t(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",s=Array.isArray(e);r=s?"[":"{";var a=!0;for(var n in e){var c=typeof e[n]=="function"||!s&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!c&&(a||(r+=","),a=!1,s?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=s?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};FH.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var j0e=L((kzt,H0e)=>{"use strict";var z0t=ye("events"),_0e=M0e(),Z0t=t=>{let e={redis:"@keyv/redis",rediss:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql",etcd:"@keyv/etcd",offline:"@keyv/offline",tiered:"@keyv/tiered"};if(t.adapter||t.uri){let r=t.adapter||/^[^:+]*/.exec(t.uri)[0];return new(ye(e[r]))(t)}return new Map},U0e=["sqlite","postgres","mysql","mongo","redis","tiered"],NH=class extends z0t{constructor(e,{emitErrors:r=!0,...s}={}){if(super(),this.opts={namespace:"keyv",serialize:_0e.stringify,deserialize:_0e.parse,...typeof e=="string"?{uri:e}:e,...s},!this.opts.store){let n={...this.opts};this.opts.store=Z0t(n)}if(this.opts.compression){let n=this.opts.compression;this.opts.serialize=n.serialize.bind(n),this.opts.deserialize=n.deserialize.bind(n)}typeof this.opts.store.on=="function"&&r&&this.opts.store.on("error",n=>this.emit("error",n)),this.opts.store.namespace=this.opts.namespace;let a=n=>async function*(){for await(let[c,f]of typeof n=="function"?n(this.opts.store.namespace):n){let p=await this.opts.deserialize(f);if(!(this.opts.store.namespace&&!c.includes(this.opts.store.namespace))){if(typeof p.expires=="number"&&Date.now()>p.expires){this.delete(c);continue}yield[this._getKeyUnprefix(c),p.value]}}};typeof this.opts.store[Symbol.iterator]=="function"&&this.opts.store instanceof Map?this.iterator=a(this.opts.store):typeof this.opts.store.iterator=="function"&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=a(this.opts.store.iterator.bind(this.opts.store)))}_checkIterableAdaptar(){return U0e.includes(this.opts.store.opts.dialect)||U0e.findIndex(e=>this.opts.store.opts.url.includes(e))>=0}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}_getKeyPrefixArray(e){return e.map(r=>`${this.opts.namespace}:${r}`)}_getKeyUnprefix(e){return e.split(":").splice(1).join(":")}get(e,r){let{store:s}=this.opts,a=Array.isArray(e),n=a?this._getKeyPrefixArray(e):this._getKeyPrefix(e);if(a&&s.getMany===void 0){let c=[];for(let f of n)c.push(Promise.resolve().then(()=>s.get(f)).then(p=>typeof p=="string"?this.opts.deserialize(p):this.opts.compression?this.opts.deserialize(p):p).then(p=>{if(p!=null)return typeof p.expires=="number"&&Date.now()>p.expires?this.delete(f).then(()=>{}):r&&r.raw?p:p.value}));return Promise.allSettled(c).then(f=>{let p=[];for(let h of f)p.push(h.value);return p})}return Promise.resolve().then(()=>a?s.getMany(n):s.get(n)).then(c=>typeof c=="string"?this.opts.deserialize(c):this.opts.compression?this.opts.deserialize(c):c).then(c=>{if(c!=null)return a?c.map((f,p)=>{if(typeof f=="string"&&(f=this.opts.deserialize(f)),f!=null){if(typeof f.expires=="number"&&Date.now()>f.expires){this.delete(e[p]).then(()=>{});return}return r&&r.raw?f:f.value}}):typeof c.expires=="number"&&Date.now()>c.expires?this.delete(e).then(()=>{}):r&&r.raw?c:c.value})}set(e,r,s){let a=this._getKeyPrefix(e);typeof s>"u"&&(s=this.opts.ttl),s===0&&(s=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let c=typeof s=="number"?Date.now()+s:null;return typeof r=="symbol"&&this.emit("error","symbol cannot be serialized"),r={value:r,expires:c},this.opts.serialize(r)}).then(c=>n.set(a,c,s)).then(()=>!0)}delete(e){let{store:r}=this.opts;if(Array.isArray(e)){let a=this._getKeyPrefixArray(e);if(r.deleteMany===void 0){let n=[];for(let c of a)n.push(r.delete(c));return Promise.allSettled(n).then(c=>c.every(f=>f.value===!0))}return Promise.resolve().then(()=>r.deleteMany(a))}let s=this._getKeyPrefix(e);return Promise.resolve().then(()=>r.delete(s))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}has(e){let r=this._getKeyPrefix(e),{store:s}=this.opts;return Promise.resolve().then(async()=>typeof s.has=="function"?s.has(r):await s.get(r)!==void 0)}disconnect(){let{store:e}=this.opts;if(typeof e.disconnect=="function")return e.disconnect()}};H0e.exports=NH});var W0e=L((Tzt,G0e)=>{"use strict";var X0t=ye("events"),VQ=ye("url"),$0t=g0e(),egt=P0e(),OH=k0e(),q0e=R0e(),tgt=YQ(),rgt=L0e(),ngt=j0e(),lv=class t{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new ngt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,s)=>{let a;if(typeof r=="string")a=LH(VQ.parse(r)),r={};else if(r instanceof VQ.URL)a=LH(VQ.parse(r.toString())),r={};else{let[C,...S]=(r.path||"").split("?"),P=S.length>0?`?${S.join("?")}`:"";a=LH({...r,pathname:C,search:P})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...igt(a)},r.headers=tgt(r.headers);let n=new X0t,c=$0t(VQ.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),f=`${r.method}:${c}`,p=!1,h=!1,E=C=>{h=!0;let S=!1,P,I=new Promise(N=>{P=()=>{S||(S=!0,N())}}),R=N=>{if(p&&!C.forceRefresh){N.status=N.statusCode;let W=OH.fromObject(p.cachePolicy).revalidatedPolicy(C,N);if(!W.modified){let te=W.policy.responseHeaders();N=new q0e(p.statusCode,te,p.body,p.url),N.cachePolicy=W.policy,N.fromCache=!0}}N.fromCache||(N.cachePolicy=new OH(C,N,C),N.fromCache=!1);let U;C.cache&&N.cachePolicy.storable()?(U=rgt(N),(async()=>{try{let W=egt.buffer(N);if(await Promise.race([I,new Promise(ce=>N.once("end",ce))]),S)return;let te=await W,ie={cachePolicy:N.cachePolicy.toObject(),url:N.url,statusCode:N.fromCache?p.statusCode:N.statusCode,body:te},Ae=C.strictTtl?N.cachePolicy.timeToLive():void 0;C.maxTtl&&(Ae=Ae?Math.min(Ae,C.maxTtl):C.maxTtl),await this.cache.set(f,ie,Ae)}catch(W){n.emit("error",new t.CacheError(W))}})()):C.cache&&p&&(async()=>{try{await this.cache.delete(f)}catch(W){n.emit("error",new t.CacheError(W))}})(),n.emit("response",U||N),typeof s=="function"&&s(U||N)};try{let N=e(C,R);N.once("error",P),N.once("abort",P),n.emit("request",N)}catch(N){n.emit("error",new t.RequestError(N))}};return(async()=>{let C=async P=>{await Promise.resolve();let I=P.cache?await this.cache.get(f):void 0;if(typeof I>"u")return E(P);let R=OH.fromObject(I.cachePolicy);if(R.satisfiesWithoutRevalidation(P)&&!P.forceRefresh){let N=R.responseHeaders(),U=new q0e(I.statusCode,N,I.body,I.url);U.cachePolicy=R,U.fromCache=!0,n.emit("response",U),typeof s=="function"&&s(U)}else p=I,P.headers=R.revalidationHeaders(P),E(P)},S=P=>n.emit("error",new t.CacheError(P));this.cache.once("error",S),n.on("response",()=>this.cache.removeListener("error",S));try{await C(r)}catch(P){r.automaticFailover&&!h&&E(r),n.emit("error",new t.CacheError(P))}})(),n}}};function igt(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function LH(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}lv.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};lv.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};G0e.exports=lv});var V0e=L((Nzt,Y0e)=>{"use strict";var sgt=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];Y0e.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(sgt)),s={};for(let a of r)a in e||(s[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,s),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var J0e=L((Ozt,K0e)=>{"use strict";var{Transform:ogt,PassThrough:agt}=ye("stream"),MH=ye("zlib"),lgt=V0e();K0e.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof MH.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let s=!0,a=new ogt({transform(f,p,h){s=!1,h(null,f)},flush(f){f()}}),n=new agt({autoDestroy:!1,destroy(f,p){t.destroy(),p(f)}}),c=r?MH.createBrotliDecompress():MH.createUnzip();return c.once("error",f=>{if(s&&!t.readable){n.end();return}n.destroy(f)}),lgt(t,n),t.pipe(a).pipe(c).pipe(n),n}});var UH=L((Lzt,z0e)=>{"use strict";var _H=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[s,a]of this.oldCache.entries())this.onEviction(s,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};z0e.exports=_H});var jH=L((Mzt,ege)=>{"use strict";var cgt=ye("events"),ugt=ye("tls"),fgt=ye("http2"),Agt=UH(),xa=Symbol("currentStreamsCount"),Z0e=Symbol("request"),Nc=Symbol("cachedOriginSet"),mI=Symbol("gracefullyClosing"),pgt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],hgt=(t,e,r)=>{let s=0,a=t.length;for(;s>>1;r(t[n],e)?s=n+1:a=n}return s},ggt=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,HH=(t,e)=>{for(let r of t)r[Nc].lengthe[Nc].includes(s))&&r[xa]+e[xa]<=e.remoteSettings.maxConcurrentStreams&&$0e(r)},dgt=(t,e)=>{for(let r of t)e[Nc].lengthr[Nc].includes(s))&&e[xa]+r[xa]<=r.remoteSettings.maxConcurrentStreams&&$0e(e)},X0e=({agent:t,isFree:e})=>{let r={};for(let s in t.sessions){let n=t.sessions[s].filter(c=>{let f=c[im.kCurrentStreamsCount]{t[mI]=!0,t[xa]===0&&t.close()},im=class t extends cgt{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:s=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=s,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Agt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let s of pgt)e[s]&&(r+=`:${e[s]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let s=this.queue[e][r];this._sessionsCount{Array.isArray(s)?(s=[...s],a()):s=[{resolve:a,reject:n}];let c=this.normalizeOptions(r),f=t.normalizeOrigin(e,r&&r.servername);if(f===void 0){for(let{reject:E}of s)E(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(c in this.sessions){let E=this.sessions[c],C=-1,S=-1,P;for(let I of E){let R=I.remoteSettings.maxConcurrentStreams;if(R=R||I[mI]||I.destroyed)continue;P||(C=R),N>S&&(P=I,S=N)}}if(P){if(s.length!==1){for(let{reject:I}of s){let R=new Error(`Expected the length of listeners to be 1, got ${s.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);I(R)}return}s[0].resolve(P);return}}if(c in this.queue){if(f in this.queue[c]){this.queue[c][f].listeners.push(...s),this._tryToCreateNewSession(c,f);return}}else this.queue[c]={};let p=()=>{c in this.queue&&this.queue[c][f]===h&&(delete this.queue[c][f],Object.keys(this.queue[c]).length===0&&delete this.queue[c])},h=()=>{let E=`${f}:${c}`,C=!1;try{let S=fgt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(E),...r});S[xa]=0,S[mI]=!1;let P=()=>S[xa]{this.tlsSessionCache.set(E,N)}),S.once("error",N=>{for(let{reject:U}of s)U(N);this.tlsSessionCache.delete(E)}),S.setTimeout(this.timeout,()=>{S.destroy()}),S.once("close",()=>{if(C){I&&this._freeSessionsCount--,this._sessionsCount--;let N=this.sessions[c];N.splice(N.indexOf(S),1),N.length===0&&delete this.sessions[c]}else{let N=new Error("Session closed without receiving a SETTINGS frame");N.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:U}of s)U(N);p()}this._tryToCreateNewSession(c,f)});let R=()=>{if(!(!(c in this.queue)||!P())){for(let N of S[Nc])if(N in this.queue[c]){let{listeners:U}=this.queue[c][N];for(;U.length!==0&&P();)U.shift().resolve(S);let W=this.queue[c];if(W[N].listeners.length===0&&(delete W[N],Object.keys(W).length===0)){delete this.queue[c];break}if(!P())break}}};S.on("origin",()=>{S[Nc]=S.originSet,P()&&(R(),HH(this.sessions[c],S))}),S.once("remoteSettings",()=>{if(S.ref(),S.unref(),this._sessionsCount++,h.destroyed){let N=new Error("Agent has been destroyed");for(let U of s)U.reject(N);S.destroy();return}S[Nc]=S.originSet;{let N=this.sessions;if(c in N){let U=N[c];U.splice(hgt(U,S,ggt),0,S)}else N[c]=[S]}this._freeSessionsCount+=1,C=!0,this.emit("session",S),R(),p(),S[xa]===0&&this._freeSessionsCount>this.maxFreeSessions&&S.close(),s.length!==0&&(this.getSession(f,r,s),s.length=0),S.on("remoteSettings",()=>{R(),HH(this.sessions[c],S)})}),S[Z0e]=S.request,S.request=(N,U)=>{if(S[mI])throw new Error("The session is gracefully closing. No new streams are allowed.");let W=S[Z0e](N,U);return S.ref(),++S[xa],S[xa]===S.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,W.once("close",()=>{if(I=P(),--S[xa],!S.destroyed&&!S.closed&&(dgt(this.sessions[c],S),P()&&!S.closed)){I||(this._freeSessionsCount++,I=!0);let te=S[xa]===0;te&&S.unref(),te&&(this._freeSessionsCount>this.maxFreeSessions||S[mI])?S.close():(HH(this.sessions[c],S),R())}}),W}}catch(S){for(let P of s)P.reject(S);p()}};h.listeners=s,h.completed=!1,h.destroyed=!1,this.queue[c][f]=h,this._tryToCreateNewSession(c,f)})}request(e,r,s,a){return new Promise((n,c)=>{this.getSession(e,r,[{reject:c,resolve:f=>{try{n(f.request(s,a))}catch(p){c(p)}}}])})}createConnection(e,r){return t.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let s=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),ugt.connect(s,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[xa]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let s of r)s.destroy(e);for(let r of Object.values(this.queue))for(let s of Object.values(r))s.destroyed=!0;this.queue={}}get freeSessions(){return X0e({agent:this,isFree:!0})}get busySessions(){return X0e({agent:this,isFree:!1})}};im.kCurrentStreamsCount=xa;im.kGracefullyClosing=mI;ege.exports={Agent:im,globalAgent:new im}});var GH=L((_zt,tge)=>{"use strict";var{Readable:mgt}=ye("stream"),qH=class extends mgt{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};tge.exports=qH});var WH=L((Uzt,rge)=>{"use strict";rge.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var ige=L((Hzt,nge)=>{"use strict";nge.exports=(t,e,r)=>{for(let s of r)t.on(s,(...a)=>e.emit(s,...a))}});var oge=L((jzt,sge)=>{"use strict";sge.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var lge=L((Gzt,age)=>{"use strict";var yI=(t,e,r)=>{age.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};yI(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],s=Array.isArray(r);return s&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${s?"one of":"of"} type ${r}. Received ${typeof t[2]}`});yI(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);yI(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);yI(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);yI(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);yI(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var zH=L((Wzt,gge)=>{"use strict";var ygt=ye("http2"),{Writable:Egt}=ye("stream"),{Agent:cge,globalAgent:Igt}=jH(),Cgt=GH(),wgt=WH(),Bgt=ige(),vgt=oge(),{ERR_INVALID_ARG_TYPE:YH,ERR_INVALID_PROTOCOL:Sgt,ERR_HTTP_HEADERS_SENT:uge,ERR_INVALID_HTTP_TOKEN:Dgt,ERR_HTTP_INVALID_HEADER_VALUE:bgt,ERR_INVALID_CHAR:Pgt}=lge(),{HTTP2_HEADER_STATUS:fge,HTTP2_HEADER_METHOD:Age,HTTP2_HEADER_PATH:pge,HTTP2_METHOD_CONNECT:xgt}=ygt.constants,Jo=Symbol("headers"),VH=Symbol("origin"),KH=Symbol("session"),hge=Symbol("options"),KQ=Symbol("flushedHeaders"),cv=Symbol("jobs"),kgt=/^[\^`\-\w!#$%&*+.|~]+$/,Qgt=/[^\t\u0020-\u007E\u0080-\u00FF]/,JH=class extends Egt{constructor(e,r,s){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=wgt(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(s=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[KH]=r.h2session;else if(r.agent===!1)this.agent=new cge({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new cge({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Igt;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new YH("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Sgt(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,c=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:f}=r;if(r.timeout=void 0,this[Jo]=Object.create(null),this[cv]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[Jo])&&(this[Jo].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[hge]=r,n===443?(this[VH]=`https://${c}`,":authority"in this[Jo]||(this[Jo][":authority"]=c)):(this[VH]=`https://${c}:${n}`,":authority"in this[Jo]||(this[Jo][":authority"]=`${c}:${n}`)),f&&this.setTimeout(f),s&&this.once("response",s),this[KQ]=!1}get method(){return this[Jo][Age]}set method(e){e&&(this[Jo][Age]=e.toUpperCase())}get path(){return this[Jo][pge]}set path(e){e&&(this[Jo][pge]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,s){if(this._mustNotHaveABody){s(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,s);this._request?a():this[cv].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[cv].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[KQ]||this.destroyed)return;this[KQ]=!0;let e=this.method===xgt,r=s=>{if(this._request=s,this.destroyed){s.destroy();return}e||Bgt(s,this,["timeout","continue","close","error"]);let a=c=>(...f)=>{!this.writable&&!this.destroyed?c(...f):this.once("finish",()=>{c(...f)})};s.once("response",a((c,f,p)=>{let h=new Cgt(this.socket,s.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=c[fge],h.headers=c,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,s,Buffer.alloc(0))?this.emit("close"):s.destroy()):(s.on("data",E=>{!h._dumped&&!h.push(E)&&s.pause()}),s.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),s.once("headers",a(c=>this.emit("information",{statusCode:c[fge]}))),s.once("trailers",a((c,f,p)=>{let{res:h}=this;h.trailers=c,h.rawTrailers=p}));let{socket:n}=s.session;this.socket=n,this.connection=n;for(let c of this[cv])c();this.emit("socket",this.socket)};if(this[KH])try{r(this[KH].request(this[Jo]))}catch(s){this.emit("error",s)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[VH],this[hge],this[Jo]))}catch(s){this.emit("error",s)}}}getHeader(e){if(typeof e!="string")throw new YH("name","string",e);return this[Jo][e.toLowerCase()]}get headersSent(){return this[KQ]}removeHeader(e){if(typeof e!="string")throw new YH("name","string",e);if(this.headersSent)throw new uge("remove");delete this[Jo][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new uge("set");if(typeof e!="string"||!kgt.test(e)&&!vgt(e))throw new Dgt("Header name",e);if(typeof r>"u")throw new bgt(r,e);if(Qgt.test(r))throw new Pgt("header content",e);this[Jo][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let s=()=>this._request.setTimeout(e,r);return this._request?s():this[cv].push(s),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};gge.exports=JH});var mge=L((Yzt,dge)=>{"use strict";var Tgt=ye("tls");dge.exports=(t={},e=Tgt.connect)=>new Promise((r,s)=>{let a=!1,n,c=async()=>{await p,n.off("timeout",f),n.off("error",s),t.resolveSocket?(r({alpnProtocol:n.alpnProtocol,socket:n,timeout:a}),a&&(await Promise.resolve(),n.emit("timeout"))):(n.destroy(),r({alpnProtocol:n.alpnProtocol,timeout:a}))},f=async()=>{a=!0,c()},p=(async()=>{try{n=await e(t,c),n.on("error",s),n.once("timeout",f)}catch(h){s(h)}})()})});var Ege=L((Vzt,yge)=>{"use strict";var Rgt=ye("net");yge.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Rgt.isIP(e)?"":e}});var wge=L((Kzt,XH)=>{"use strict";var Ige=ye("http"),ZH=ye("https"),Fgt=mge(),Ngt=UH(),Ogt=zH(),Lgt=Ege(),Mgt=WH(),JQ=new Ngt({maxSize:100}),uv=new Map,Cge=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let s=()=>{t.emit("free",e,r)};e.on("free",s);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",s),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},_gt=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!JQ.has(e)){if(uv.has(e))return(await uv.get(e)).alpnProtocol;let{path:r,agent:s}=t;t.path=t.socketPath;let a=Fgt(t);uv.set(e,a);try{let{socket:n,alpnProtocol:c}=await a;if(JQ.set(e,c),t.path=r,c==="h2")n.destroy();else{let{globalAgent:f}=ZH,p=ZH.Agent.prototype.createConnection;s?s.createConnection===p?Cge(s,n,t):n.destroy():f.createConnection===p?Cge(f,n,t):n.destroy()}return uv.delete(e),c}catch(n){throw uv.delete(e),n}}return JQ.get(e)};XH.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=Mgt(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let s=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Lgt(e),e.port=e.port||(s?443:80),e._defaultAgent=s?ZH.globalAgent:Ige.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[s?"https":"http"]}return s&&await _gt(e)==="h2"?(a&&(e.agent=a.http2),new Ogt(e,r)):Ige.request(e,r)};XH.exports.protocolCache=JQ});var vge=L((Jzt,Bge)=>{"use strict";var Ugt=ye("http2"),Hgt=jH(),$H=zH(),jgt=GH(),qgt=wge(),Ggt=(t,e,r)=>new $H(t,e,r),Wgt=(t,e,r)=>{let s=new $H(t,e,r);return s.end(),s};Bge.exports={...Ugt,ClientRequest:$H,IncomingMessage:jgt,...Hgt,request:Ggt,get:Wgt,auto:qgt}});var tj=L(ej=>{"use strict";Object.defineProperty(ej,"__esModule",{value:!0});var Sge=Mp();ej.default=t=>Sge.default.nodeStream(t)&&Sge.default.function_(t.getBoundary)});var xge=L(rj=>{"use strict";Object.defineProperty(rj,"__esModule",{value:!0});var bge=ye("fs"),Pge=ye("util"),Dge=Mp(),Ygt=tj(),Vgt=Pge.promisify(bge.stat);rj.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(Dge.default.string(t))return Buffer.byteLength(t);if(Dge.default.buffer(t))return t.length;if(Ygt.default(t))return Pge.promisify(t.getLength.bind(t))();if(t instanceof bge.ReadStream){let{size:r}=await Vgt(t.path);return r===0?void 0:r}}});var ij=L(nj=>{"use strict";Object.defineProperty(nj,"__esModule",{value:!0});function Kgt(t,e,r){let s={};for(let a of r)s[a]=(...n)=>{e.emit(a,...n)},t.on(a,s[a]);return()=>{for(let a of r)t.off(a,s[a])}}nj.default=Kgt});var kge=L(sj=>{"use strict";Object.defineProperty(sj,"__esModule",{value:!0});sj.default=()=>{let t=[];return{once(e,r,s){e.once(r,s),t.push({origin:e,event:r,fn:s})},unhandleAll(){for(let e of t){let{origin:r,event:s,fn:a}=e;r.removeListener(s,a)}t.length=0}}}});var Tge=L(fv=>{"use strict";Object.defineProperty(fv,"__esModule",{value:!0});fv.TimeoutError=void 0;var Jgt=ye("net"),zgt=kge(),Qge=Symbol("reentry"),Zgt=()=>{},zQ=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};fv.TimeoutError=zQ;fv.default=(t,e,r)=>{if(Qge in t)return Zgt;t[Qge]=!0;let s=[],{once:a,unhandleAll:n}=zgt.default(),c=(C,S,P)=>{var I;let R=setTimeout(S,C,C,P);(I=R.unref)===null||I===void 0||I.call(R);let N=()=>{clearTimeout(R)};return s.push(N),N},{host:f,hostname:p}=r,h=(C,S)=>{t.destroy(new zQ(C,S))},E=()=>{for(let C of s)C();n()};if(t.once("error",C=>{if(E(),t.listenerCount("error")===0)throw C}),t.once("close",E),a(t,"response",C=>{a(C,"end",E)}),typeof e.request<"u"&&c(e.request,h,"request"),typeof e.socket<"u"){let C=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,C),s.push(()=>{t.removeListener("timeout",C)})}return a(t,"socket",C=>{var S;let{socketPath:P}=t;if(C.connecting){let I=!!(P??Jgt.isIP((S=p??f)!==null&&S!==void 0?S:"")!==0);if(typeof e.lookup<"u"&&!I&&typeof C.address().address>"u"){let R=c(e.lookup,h,"lookup");a(C,"lookup",R)}if(typeof e.connect<"u"){let R=()=>c(e.connect,h,"connect");I?a(C,"connect",R()):a(C,"lookup",N=>{N===null&&a(C,"connect",R())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(C,"connect",()=>{let R=c(e.secureConnect,h,"secureConnect");a(C,"secureConnect",R)})}if(typeof e.send<"u"){let I=()=>c(e.send,h,"send");C.connecting?a(C,"connect",()=>{a(t,"upload-complete",I())}):a(t,"upload-complete",I())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let C=c(e.response,h,"response");a(t,"response",C)}),E}});var Fge=L(oj=>{"use strict";Object.defineProperty(oj,"__esModule",{value:!0});var Rge=Mp();oj.default=t=>{t=t;let e={protocol:t.protocol,hostname:Rge.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return Rge.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Nge=L(aj=>{"use strict";Object.defineProperty(aj,"__esModule",{value:!0});var Xgt=ye("url"),$gt=["protocol","host","hostname","port","pathname","search"];aj.default=(t,e)=>{var r,s;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(s=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&s!==void 0?s:""}`}let a=new Xgt.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of $gt)e[n]&&(a[n]=e[n].toString());return a}});var Oge=L(cj=>{"use strict";Object.defineProperty(cj,"__esModule",{value:!0});var lj=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};cj.default=lj});var fj=L(uj=>{"use strict";Object.defineProperty(uj,"__esModule",{value:!0});var edt=async t=>{let e=[],r=0;for await(let s of t)e.push(s),r+=Buffer.byteLength(s);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};uj.default=edt});var Mge=L(sm=>{"use strict";Object.defineProperty(sm,"__esModule",{value:!0});sm.dnsLookupIpVersionToFamily=sm.isDnsLookupIpVersion=void 0;var Lge={auto:0,ipv4:4,ipv6:6};sm.isDnsLookupIpVersion=t=>t in Lge;sm.dnsLookupIpVersionToFamily=t=>{if(sm.isDnsLookupIpVersion(t))return Lge[t];throw new Error("Invalid DNS lookup IP version")}});var Aj=L(ZQ=>{"use strict";Object.defineProperty(ZQ,"__esModule",{value:!0});ZQ.isResponseOk=void 0;ZQ.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var Uge=L(pj=>{"use strict";Object.defineProperty(pj,"__esModule",{value:!0});var _ge=new Set;pj.default=t=>{_ge.has(t)||(_ge.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var Hge=L(hj=>{"use strict";Object.defineProperty(hj,"__esModule",{value:!0});var Di=Mp(),tdt=(t,e)=>{if(Di.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Di.assert.any([Di.default.string,Di.default.undefined],t.encoding),Di.assert.any([Di.default.boolean,Di.default.undefined],t.resolveBodyOnly),Di.assert.any([Di.default.boolean,Di.default.undefined],t.methodRewriting),Di.assert.any([Di.default.boolean,Di.default.undefined],t.isStream),Di.assert.any([Di.default.string,Di.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:s=>s.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Di.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(s=>s.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Di.default.number(r)&&(t.retry.limit=r),Di.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Di.default.number))),Di.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:s}=t;if(!Di.default.function_(s.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Di.default.function_(s.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Di.default.function_(s.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Di.default.function_(s.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};hj.default=tdt});var jge=L(Av=>{"use strict";Object.defineProperty(Av,"__esModule",{value:!0});Av.retryAfterStatusCodes=void 0;Av.retryAfterStatusCodes=new Set([413,429,503]);var rdt=({attemptCount:t,retryOptions:e,error:r,retryAfter:s})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),c=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!c)return 0;if(r.response){if(s)return e.maxRetryAfter===void 0||s>e.maxRetryAfter?0:s;if(r.response.statusCode===413)return 0}let f=Math.random()*100;return 2**(t-1)*1e3+f};Av.default=rdt});var gv=L(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.UnsupportedProtocolError=Ln.ReadError=Ln.TimeoutError=Ln.UploadError=Ln.CacheError=Ln.HTTPError=Ln.MaxRedirectsError=Ln.RequestError=Ln.setNonEnumerableProperties=Ln.knownHookEvents=Ln.withoutBody=Ln.kIsNormalizedAlready=void 0;var qge=ye("util"),Gge=ye("stream"),ndt=ye("fs"),B0=ye("url"),Wge=ye("http"),gj=ye("http"),idt=ye("https"),sdt=s0e(),odt=A0e(),Yge=W0e(),adt=J0e(),ldt=vge(),cdt=YQ(),at=Mp(),udt=xge(),Vge=tj(),fdt=ij(),Kge=Tge(),Adt=Fge(),Jge=Nge(),pdt=Oge(),hdt=fj(),zge=Mge(),gdt=Aj(),v0=Uge(),ddt=Hge(),mdt=jge(),dj,go=Symbol("request"),eT=Symbol("response"),EI=Symbol("responseSize"),II=Symbol("downloadedSize"),CI=Symbol("bodySize"),wI=Symbol("uploadedSize"),XQ=Symbol("serverResponsesPiped"),Zge=Symbol("unproxyEvents"),Xge=Symbol("isFromCache"),mj=Symbol("cancelTimeouts"),$ge=Symbol("startedReading"),BI=Symbol("stopReading"),$Q=Symbol("triggerRead"),S0=Symbol("body"),pv=Symbol("jobs"),ede=Symbol("originalResponse"),tde=Symbol("retryTimeout");Ln.kIsNormalizedAlready=Symbol("isNormalizedAlready");var ydt=at.default.string(process.versions.brotli);Ln.withoutBody=new Set(["GET","HEAD"]);Ln.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Edt(t){for(let e in t){let r=t[e];if(!at.default.string(r)&&!at.default.number(r)&&!at.default.boolean(r)&&!at.default.null_(r)&&!at.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Idt(t){return at.default.object(t)&&!("statusCode"in t)}var yj=new pdt.default,Cdt=async t=>new Promise((e,r)=>{let s=a=>{r(a)};t.pending||e(),t.once("error",s),t.once("ready",()=>{t.off("error",s),e()})}),wdt=new Set([300,301,302,303,304,307,308]),Bdt=["context","body","json","form"];Ln.setNonEnumerableProperties=(t,e)=>{let r={};for(let s of t)if(s)for(let a of Bdt)a in s&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:s[a]});Object.defineProperties(e,r)};var fs=class extends Error{constructor(e,r,s){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,s instanceof aT?(Object.defineProperty(this,"request",{enumerable:!1,value:s}),Object.defineProperty(this,"response",{enumerable:!1,value:s[eT]}),Object.defineProperty(this,"options",{enumerable:!1,value:s.options})):Object.defineProperty(this,"options",{enumerable:!1,value:s}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,at.default.string(r.stack)&&at.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,c=this.stack.slice(n).split(` +`).reverse(),f=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;f.length!==0&&f[0]===c[0];)c.shift();this.stack=`${this.stack.slice(0,n)}${c.reverse().join(` +`)}${f.reverse().join(` +`)}`}}};Ln.RequestError=fs;var tT=class extends fs{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Ln.MaxRedirectsError=tT;var rT=class extends fs{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Ln.HTTPError=rT;var nT=class extends fs{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};Ln.CacheError=nT;var iT=class extends fs{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};Ln.UploadError=iT;var sT=class extends fs{constructor(e,r,s){super(e.message,e,s),this.name="TimeoutError",this.event=e.event,this.timings=r}};Ln.TimeoutError=sT;var hv=class extends fs{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};Ln.ReadError=hv;var oT=class extends fs{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Ln.UnsupportedProtocolError=oT;var vdt=["socket","connect","continue","information","upgrade","timeout"],aT=class extends Gge.Duplex{constructor(e,r={},s){super({autoDestroy:!1,highWaterMark:0}),this[II]=0,this[wI]=0,this.requestInitialized=!1,this[XQ]=new Set,this.redirects=[],this[BI]=!1,this[$Q]=!1,this[pv]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof gj.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:c,body:f,form:p}=r;if((c||f||p)&&this._lockWrite(),Ln.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,s)}catch(h){at.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof ndt.ReadStream&&await Cdt(this.options.body);let{url:E}=this.options;if(!E)throw new TypeError("Missing `url` property");if(this.requestUrl=E.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[go])===null||h===void 0||h.destroy();return}for(let C of this[pv])C();this[pv].length=0,this.requestInitialized=!0}catch(E){if(E instanceof fs){this._beforeError(E);return}this.destroyed||this.destroy(E)}})()}static normalizeArguments(e,r,s){var a,n,c,f,p;let h=r;if(at.default.object(e)&&!at.default.urlInstance(e))r={...s,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...s,...r},e!==void 0&&(r.url=e),at.default.urlInstance(r.url)&&(r.url=new B0.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),at.assert.any([at.default.string,at.default.undefined],r.method),at.assert.any([at.default.object,at.default.undefined],r.headers),at.assert.any([at.default.string,at.default.urlInstance,at.default.undefined],r.prefixUrl),at.assert.any([at.default.object,at.default.undefined],r.cookieJar),at.assert.any([at.default.object,at.default.string,at.default.undefined],r.searchParams),at.assert.any([at.default.object,at.default.string,at.default.undefined],r.cache),at.assert.any([at.default.object,at.default.number,at.default.undefined],r.timeout),at.assert.any([at.default.object,at.default.undefined],r.context),at.assert.any([at.default.object,at.default.undefined],r.hooks),at.assert.any([at.default.boolean,at.default.undefined],r.decompress),at.assert.any([at.default.boolean,at.default.undefined],r.ignoreInvalidCookies),at.assert.any([at.default.boolean,at.default.undefined],r.followRedirect),at.assert.any([at.default.number,at.default.undefined],r.maxRedirects),at.assert.any([at.default.boolean,at.default.undefined],r.throwHttpErrors),at.assert.any([at.default.boolean,at.default.undefined],r.http2),at.assert.any([at.default.boolean,at.default.undefined],r.allowGetBody),at.assert.any([at.default.string,at.default.undefined],r.localAddress),at.assert.any([zge.isDnsLookupIpVersion,at.default.undefined],r.dnsLookupIpVersion),at.assert.any([at.default.object,at.default.undefined],r.https),at.assert.any([at.default.boolean,at.default.undefined],r.rejectUnauthorized),r.https&&(at.assert.any([at.default.boolean,at.default.undefined],r.https.rejectUnauthorized),at.assert.any([at.default.function_,at.default.undefined],r.https.checkServerIdentity),at.assert.any([at.default.string,at.default.object,at.default.array,at.default.undefined],r.https.certificateAuthority),at.assert.any([at.default.string,at.default.object,at.default.array,at.default.undefined],r.https.key),at.assert.any([at.default.string,at.default.object,at.default.array,at.default.undefined],r.https.certificate),at.assert.any([at.default.string,at.default.undefined],r.https.passphrase),at.assert.any([at.default.string,at.default.buffer,at.default.array,at.default.undefined],r.https.pfx)),at.assert.any([at.default.object,at.default.undefined],r.cacheOptions),at.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===s?.headers?r.headers={...r.headers}:r.headers=cdt({...s?.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==s?.searchParams){let P;if(at.default.string(r.searchParams)||r.searchParams instanceof B0.URLSearchParams)P=new B0.URLSearchParams(r.searchParams);else{Edt(r.searchParams),P=new B0.URLSearchParams;for(let I in r.searchParams){let R=r.searchParams[I];R===null?P.append(I,""):R!==void 0&&P.append(I,R)}}(a=s?.searchParams)===null||a===void 0||a.forEach((I,R)=>{P.has(R)||P.append(R,I)}),r.searchParams=P}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(c=r.password)!==null&&c!==void 0?c:"",at.default.undefined(r.prefixUrl)?r.prefixUrl=(f=s?.prefixUrl)!==null&&f!==void 0?f:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),at.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=Jge.default(r.prefixUrl+r.url,r)}else(at.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=Jge.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:P}=r;Object.defineProperty(r,"prefixUrl",{set:R=>{let N=r.url;if(!N.href.startsWith(R))throw new Error(`Cannot change \`prefixUrl\` from ${P} to ${R}: ${N.href}`);r.url=new B0.URL(R+N.href.slice(P.length)),P=R},get:()=>P});let{protocol:I}=r.url;if(I==="unix:"&&(I="http:",r.url=new B0.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),I!=="http:"&&I!=="https:")throw new oT(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:E}=r;if(E){let{setCookie:P,getCookieString:I}=E;at.assert.function_(P),at.assert.function_(I),P.length===4&&I.length===0&&(P=qge.promisify(P.bind(r.cookieJar)),I=qge.promisify(I.bind(r.cookieJar)),r.cookieJar={setCookie:P,getCookieString:I})}let{cache:C}=r;if(C&&(yj.has(C)||yj.set(C,new Yge((P,I)=>{let R=P[go](P,I);return at.default.promise(R)&&(R.once=(N,U)=>{if(N==="error")R.catch(U);else if(N==="abort")(async()=>{try{(await R).once("abort",U)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${N}`);return R}),R},C))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)dj||(dj=new odt.default),r.dnsCache=dj;else if(!at.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${at.default(r.dnsCache)}`);at.default.number(r.timeout)?r.timeout={request:r.timeout}:s&&r.timeout!==s.timeout?r.timeout={...s.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let S=r.hooks===s?.hooks;r.hooks={...r.hooks};for(let P of Ln.knownHookEvents)if(P in r.hooks)if(at.default.array(r.hooks[P]))r.hooks[P]=[...r.hooks[P]];else throw new TypeError(`Parameter \`${P}\` must be an Array, got ${at.default(r.hooks[P])}`);else r.hooks[P]=[];if(s&&!S)for(let P of Ln.knownHookEvents)s.hooks[P].length>0&&(r.hooks[P]=[...s.hooks[P],...r.hooks[P]]);if("family"in r&&v0.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),s?.https&&(r.https={...s.https,...r.https}),"rejectUnauthorized"in r&&v0.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&v0.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&v0.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&v0.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&v0.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&v0.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&v0.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let P in r.agent)if(P!=="http"&&P!=="https"&&P!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${P}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,Ln.setNonEnumerableProperties([s,h],r),ddt.default(r,s)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,s=!at.default.undefined(e.form),a=!at.default.undefined(e.json),n=!at.default.undefined(e.body),c=s||a||n,f=Ln.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=f,c){if(f)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,s,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof Gge.Readable)&&!at.default.string(e.body)&&!at.default.buffer(e.body)&&!Vge.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(s&&!at.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!at.default.string(r["content-type"]);n?(Vge.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[S0]=e.body):s?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[S0]=new B0.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[S0]=e.stringifyJson(e.json));let h=await udt.default(this[S0],e.headers);at.default.undefined(r["content-length"])&&at.default.undefined(r["transfer-encoding"])&&!f&&!at.default.undefined(h)&&(r["content-length"]=String(h))}}else f?this._lockWrite():this._unlockWrite();this[CI]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:s}=r;this[ede]=e,r.decompress&&(e=adt(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:Wge.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[Xge]=n.isFromCache,this[EI]=Number(e.headers["content-length"])||void 0,this[eT]=e,e.once("end",()=>{this[EI]=this[II],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",f=>{e.destroy(),this._beforeError(new hv(f,this))}),e.once("aborted",()=>{this._beforeError(new hv({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let c=e.headers["set-cookie"];if(at.default.object(r.cookieJar)&&c){let f=c.map(async p=>r.cookieJar.setCookie(p,s.toString()));r.ignoreInvalidCookies&&(f=f.map(async p=>p.catch(()=>{})));try{await Promise.all(f)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&wdt.has(a)){if(e.resume(),this[go]&&(this[mj](),delete this[go],this[Zge]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[S0]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new tT(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new B0.URL(p,s),E=h.toString();decodeURI(E),h.hostname!==s.hostname||h.port!==s.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(E),r.url=h;for(let C of r.hooks.beforeRedirect)await C(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!gdt.isResponseOk(n)){this._beforeError(new rT(n));return}e.on("readable",()=>{this[$Q]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let f of this[XQ])if(!f.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,E=e.headers[p];h&&f.setHeader(p,E)}f.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:s,url:a}=r;sdt.default(e),this[mj]=Kge.default(e,s,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof Kge.TimeoutError?new sT(p,this.timings,this):new fs(p.message,p,this),this._beforeError(p)}),this[Zge]=fdt.default(e,this,vdt),this[go]=e,this.emit("uploadProgress",this.uploadProgress);let c=this[S0],f=this.redirects.length===0?this:e;at.default.nodeStream(c)?(c.pipe(f),c.once("error",p=>{this._beforeError(new iT(p,this))})):(this._unlockWrite(),at.default.undefined(c)?(this._cannotHaveBody||this._noPipe)&&(f.end(),this._lockWrite()):(this._writeRequest(c,void 0,()=>{}),f.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((s,a)=>{Object.assign(r,Adt.default(e)),delete r.url;let n,c=yj.get(r.cache)(r,async f=>{f._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",f),s(f)});r.url=e,c.once("error",a),c.once("request",async f=>{n=f,s(n)})})}async _makeRequest(){var e,r,s,a,n;let{options:c}=this,{headers:f}=c;for(let U in f)if(at.default.undefined(f[U]))delete f[U];else if(at.default.null_(f[U]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${U}\` header`);if(c.decompress&&at.default.undefined(f["accept-encoding"])&&(f["accept-encoding"]=ydt?"gzip, deflate, br":"gzip, deflate"),c.cookieJar){let U=await c.cookieJar.getCookieString(c.url.toString());at.default.nonEmptyString(U)&&(c.headers.cookie=U)}for(let U of c.hooks.beforeRequest){let W=await U(c);if(!at.default.undefined(W)){c.request=()=>W;break}}c.body&&this[S0]!==c.body&&(this[S0]=c.body);let{agent:p,request:h,timeout:E,url:C}=c;if(c.dnsCache&&!("lookup"in c)&&(c.lookup=c.dnsCache.lookup),C.hostname==="unix"){let U=/(?.+?):(?.+)/.exec(`${C.pathname}${C.search}`);if(U?.groups){let{socketPath:W,path:te}=U.groups;Object.assign(c,{socketPath:W,path:te,host:""})}}let S=C.protocol==="https:",P;c.http2?P=ldt.auto:P=S?idt.request:Wge.request;let I=(e=c.request)!==null&&e!==void 0?e:P,R=c.cache?this._createCacheableRequest:I;p&&!c.http2&&(c.agent=p[S?"https":"http"]),c[go]=I,delete c.request,delete c.timeout;let N=c;if(N.shared=(r=c.cacheOptions)===null||r===void 0?void 0:r.shared,N.cacheHeuristic=(s=c.cacheOptions)===null||s===void 0?void 0:s.cacheHeuristic,N.immutableMinTimeToLive=(a=c.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,N.ignoreCargoCult=(n=c.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,c.dnsLookupIpVersion!==void 0)try{N.family=zge.dnsLookupIpVersionToFamily(c.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}c.https&&("rejectUnauthorized"in c.https&&(N.rejectUnauthorized=c.https.rejectUnauthorized),c.https.checkServerIdentity&&(N.checkServerIdentity=c.https.checkServerIdentity),c.https.certificateAuthority&&(N.ca=c.https.certificateAuthority),c.https.certificate&&(N.cert=c.https.certificate),c.https.key&&(N.key=c.https.key),c.https.passphrase&&(N.passphrase=c.https.passphrase),c.https.pfx&&(N.pfx=c.https.pfx));try{let U=await R(C,N);at.default.undefined(U)&&(U=P(C,N)),c.request=h,c.timeout=E,c.agent=p,c.https&&("rejectUnauthorized"in c.https&&delete N.rejectUnauthorized,c.https.checkServerIdentity&&delete N.checkServerIdentity,c.https.certificateAuthority&&delete N.ca,c.https.certificate&&delete N.cert,c.https.key&&delete N.key,c.https.passphrase&&delete N.passphrase,c.https.pfx&&delete N.pfx),Idt(U)?this._onRequest(U):this.writable?(this.once("finish",()=>{this._onResponse(U)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(U)}catch(U){throw U instanceof Yge.CacheError?new nT(U,this):new fs(U.message,U,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new fs(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[BI])return;let{options:r}=this,s=this.retryCount+1;this[BI]=!0,e instanceof fs||(e=new fs(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await hdt.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let c;try{let f;n&&"retry-after"in n.headers&&(f=Number(n.headers["retry-after"]),Number.isNaN(f)?(f=Date.parse(n.headers["retry-after"])-Date.now(),f<=0&&(f=1)):f*=1e3),c=await r.retry.calculateDelay({attemptCount:s,retryOptions:r.retry,error:a,retryAfter:f,computedValue:mdt.default({attemptCount:s,retryOptions:r.retry,error:a,retryAfter:f,computedValue:0})})}catch(f){this._error(new fs(f.message,f,this));return}if(c){let f=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,s)}catch(p){this._error(new fs(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",s,e))};this[tde]=setTimeout(f,c);return}}this._error(a)})()}_read(){this[$Q]=!0;let e=this[eT];if(e&&!this[BI]){e.readableLength&&(this[$Q]=!1);let r;for(;(r=e.read())!==null;){this[II]+=r.length,this[$ge]=!0;let s=this.downloadProgress;s.percent<1&&this.emit("downloadProgress",s),this.push(r)}}}_write(e,r,s){let a=()=>{this._writeRequest(e,r,s)};this.requestInitialized?a():this[pv].push(a)}_writeRequest(e,r,s){this[go].destroyed||(this._progressCallbacks.push(()=>{this[wI]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[go].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),s(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(go in this)){e();return}if(this[go].destroyed){e();return}this[go].end(s=>{s||(this[CI]=this[wI],this.emit("uploadProgress",this.uploadProgress),this[go].emit("upload-complete")),e(s)})};this.requestInitialized?r():this[pv].push(r)}_destroy(e,r){var s;this[BI]=!0,clearTimeout(this[tde]),go in this&&(this[mj](),!((s=this[eT])===null||s===void 0)&&s.complete||this[go].destroy()),e!==null&&!at.default.undefined(e)&&!(e instanceof fs)&&(e=new fs(e.message,e,this)),r(e)}get _isAboutToError(){return this[BI]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,s;return((r=(e=this[go])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((s=this[ede])===null||s===void 0)&&s.complete)}get socket(){var e,r;return(r=(e=this[go])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[EI]?e=this[II]/this[EI]:this[EI]===this[II]?e=1:e=0,{percent:e,transferred:this[II],total:this[EI]}}get uploadProgress(){let e;return this[CI]?e=this[wI]/this[CI]:this[CI]===this[wI]?e=1:e=0,{percent:e,transferred:this[wI],total:this[CI]}}get timings(){var e;return(e=this[go])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[Xge]}pipe(e,r){if(this[$ge])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof gj.ServerResponse&&this[XQ].add(e),super.pipe(e,r)}unpipe(e){return e instanceof gj.ServerResponse&&this[XQ].delete(e),super.unpipe(e),this}};Ln.default=aT});var dv=L(Wu=>{"use strict";var Sdt=Wu&&Wu.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),Ddt=Wu&&Wu.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Sdt(e,t,r)};Object.defineProperty(Wu,"__esModule",{value:!0});Wu.CancelError=Wu.ParseError=void 0;var rde=gv(),Ej=class extends rde.RequestError{constructor(e,r){let{options:s}=r.request;super(`${e.message} in "${s.url.toString()}"`,e,r.request),this.name="ParseError"}};Wu.ParseError=Ej;var Ij=class extends rde.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};Wu.CancelError=Ij;Ddt(gv(),Wu)});var ide=L(Cj=>{"use strict";Object.defineProperty(Cj,"__esModule",{value:!0});var nde=dv(),bdt=(t,e,r,s)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(s);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new nde.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new nde.ParseError(n,t)}};Cj.default=bdt});var wj=L(D0=>{"use strict";var Pdt=D0&&D0.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),xdt=D0&&D0.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Pdt(e,t,r)};Object.defineProperty(D0,"__esModule",{value:!0});var kdt=ye("events"),Qdt=Mp(),Tdt=n0e(),lT=dv(),sde=ide(),ode=gv(),Rdt=ij(),Fdt=fj(),ade=Aj(),Ndt=["request","response","redirect","uploadProgress","downloadProgress"];function lde(t){let e,r,s=new kdt.EventEmitter,a=new Tdt((c,f,p)=>{let h=E=>{let C=new ode.default(void 0,t);C.retryCount=E,C._noPipe=!0,p(()=>C.destroy()),p.shouldReject=!1,p(()=>f(new lT.CancelError(C))),e=C,C.once("response",async I=>{var R;if(I.retryCount=E,I.request.aborted)return;let N;try{N=await Fdt.default(C),I.rawBody=N}catch{return}if(C._isAboutToError)return;let U=((R=I.headers["content-encoding"])!==null&&R!==void 0?R:"").toLowerCase(),W=["gzip","deflate","br"].includes(U),{options:te}=C;if(W&&!te.decompress)I.body=N;else try{I.body=sde.default(I,te.responseType,te.parseJson,te.encoding)}catch(ie){if(I.body=N.toString(),ade.isResponseOk(I)){C._beforeError(ie);return}}try{for(let[ie,Ae]of te.hooks.afterResponse.entries())I=await Ae(I,async ce=>{let me=ode.default.normalizeArguments(void 0,{...ce,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},te);me.hooks.afterResponse=me.hooks.afterResponse.slice(0,ie);for(let Be of me.hooks.beforeRetry)await Be(me);let pe=lde(me);return p(()=>{pe.catch(()=>{}),pe.cancel()}),pe})}catch(ie){C._beforeError(new lT.RequestError(ie.message,ie,C));return}if(!ade.isResponseOk(I)){C._beforeError(new lT.HTTPError(I));return}r=I,c(C.options.resolveBodyOnly?I.body:I)});let S=I=>{if(a.isCanceled)return;let{options:R}=C;if(I instanceof lT.HTTPError&&!R.throwHttpErrors){let{response:N}=I;c(C.options.resolveBodyOnly?N.body:N);return}f(I)};C.once("error",S);let P=C.options.body;C.once("retry",(I,R)=>{var N,U;if(P===((N=R.request)===null||N===void 0?void 0:N.options.body)&&Qdt.default.nodeStream((U=R.request)===null||U===void 0?void 0:U.options.body)){S(R);return}h(I)}),Rdt.default(C,s,Ndt)};h(0)});a.on=(c,f)=>(s.on(c,f),a);let n=c=>{let f=(async()=>{await a;let{options:p}=r.request;return sde.default(r,c,p.parseJson,p.encoding)})();return Object.defineProperties(f,Object.getOwnPropertyDescriptors(a)),f};return a.json=()=>{let{headers:c}=e.options;return!e.writableFinished&&c.accept===void 0&&(c.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}D0.default=lde;xdt(dv(),D0)});var cde=L(Bj=>{"use strict";Object.defineProperty(Bj,"__esModule",{value:!0});var Odt=dv();function Ldt(t,...e){let r=(async()=>{if(t instanceof Odt.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),s=()=>r;return r.json=s,r.text=s,r.buffer=s,r.on=s,r}Bj.default=Ldt});var Ade=L(vj=>{"use strict";Object.defineProperty(vj,"__esModule",{value:!0});var ude=Mp();function fde(t){for(let e of Object.values(t))(ude.default.plainObject(e)||ude.default.array(e))&&fde(e);return Object.freeze(t)}vj.default=fde});var hde=L(pde=>{"use strict";Object.defineProperty(pde,"__esModule",{value:!0})});var Sj=L(Lc=>{"use strict";var Mdt=Lc&&Lc.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),_dt=Lc&&Lc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Mdt(e,t,r)};Object.defineProperty(Lc,"__esModule",{value:!0});Lc.defaultHandler=void 0;var gde=Mp(),Oc=wj(),Udt=cde(),uT=gv(),Hdt=Ade(),jdt={RequestError:Oc.RequestError,CacheError:Oc.CacheError,ReadError:Oc.ReadError,HTTPError:Oc.HTTPError,MaxRedirectsError:Oc.MaxRedirectsError,TimeoutError:Oc.TimeoutError,ParseError:Oc.ParseError,CancelError:Oc.CancelError,UnsupportedProtocolError:Oc.UnsupportedProtocolError,UploadError:Oc.UploadError},qdt=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:cT}=uT.default,dde=(...t)=>{let e;for(let r of t)e=cT(void 0,r,e);return e},Gdt=t=>t.isStream?new uT.default(void 0,t):Oc.default(t),Wdt=t=>"defaults"in t&&"options"in t.defaults,Ydt=["get","post","put","patch","head","delete"];Lc.defaultHandler=(t,e)=>e(t);var mde=(t,e)=>{if(t)for(let r of t)r(e)},yde=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(s=>(a,n)=>{let c,f=s(a,p=>(c=n(p),c));if(f!==c&&!a.isStream&&c){let p=f,{then:h,catch:E,finally:C}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(c)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(c)),p.then=h,p.catch=E,p.finally=C}return f});let e=(s,a={},n)=>{var c,f;let p=0,h=E=>t.handlers[p++](E,p===t.handlers.length?Gdt:h);if(gde.default.plainObject(s)){let E={...s,...a};uT.setNonEnumerableProperties([s,a],E),a=E,s=void 0}try{let E;try{mde(t.options.hooks.init,a),mde((c=a.hooks)===null||c===void 0?void 0:c.init,a)}catch(S){E=S}let C=cT(s,a,n??t.options);if(C[uT.kIsNormalizedAlready]=!0,E)throw new Oc.RequestError(E.message,E,C);return h(C)}catch(E){if(a.isStream)throw E;return Udt.default(E,t.options.hooks.beforeError,(f=a.hooks)===null||f===void 0?void 0:f.beforeError)}};e.extend=(...s)=>{let a=[t.options],n=[...t._rawHandlers],c;for(let f of s)Wdt(f)?(a.push(f.defaults.options),n.push(...f.defaults._rawHandlers),c=f.defaults.mutableDefaults):(a.push(f),"handlers"in f&&n.push(...f.handlers),c=f.mutableDefaults);return n=n.filter(f=>f!==Lc.defaultHandler),n.length===0&&n.push(Lc.defaultHandler),yde({options:dde(...a),handlers:n,mutableDefaults:!!c})};let r=async function*(s,a){let n=cT(s,a,t.options);n.resolveBodyOnly=!1;let c=n.pagination;if(!gde.default.object(c))throw new TypeError("`options.pagination` must be implemented");let f=[],{countLimit:p}=c,h=0;for(;h{let n=[];for await(let c of r(s,a))n.push(c);return n},e.paginate.each=r,e.stream=(s,a)=>e(s,{...a,isStream:!0});for(let s of Ydt)e[s]=(a,n)=>e(a,{...n,method:s}),e.stream[s]=(a,n)=>e(a,{...n,method:s,isStream:!0});return Object.assign(e,jdt),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:Hdt.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=dde,e};Lc.default=yde;_dt(hde(),Lc)});var Cde=L((_p,fT)=>{"use strict";var Vdt=_p&&_p.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),Ede=_p&&_p.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Vdt(e,t,r)};Object.defineProperty(_p,"__esModule",{value:!0});var Kdt=ye("url"),Ide=Sj(),Jdt={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let s of e){let a=s.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new Kdt.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[Ide.defaultHandler],mutableDefaults:!1},Dj=Ide.default(Jdt);_p.default=Dj;fT.exports=Dj;fT.exports.default=Dj;fT.exports.__esModule=!0;Ede(Sj(),_p);Ede(wj(),_p)});var An={};Vt(An,{Method:()=>Pde,del:()=>emt,get:()=>kj,getNetworkSettings:()=>bde,post:()=>Qj,put:()=>$dt,request:()=>mv});function vde(t){let e=new URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function bj(t){return Vl(Bde,t,()=>le.readFilePromise(t).then(e=>(Bde.set(t,e),e)))}function Xdt({statusCode:t,statusMessage:e},r){let s=Ut(r,t,Ct.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return JE(r,`${s}${e?` (${e})`:""}`,a)}async function AT(t,{configuration:e,customErrorMessage:r}){try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let a=r?.(s,e)??s.response.body?.error;a==null&&(s.message.startsWith("Response code")?a="The remote server failed to provide the requested resource":a=s.message),s.code==="ETIMEDOUT"&&s.event==="socket"&&(a+=`(can be increased via ${Ut(e,"httpTimeout",Ct.SETTING)})`);let n=new Yt(35,a,c=>{s.response&&c.reportError(35,` ${Zf(e,{label:"Response Code",value:Hu(Ct.NO_HINT,Xdt(s.response,e))})}`),s.request&&(c.reportError(35,` ${Zf(e,{label:"Request Method",value:Hu(Ct.NO_HINT,s.request.options.method)})}`),c.reportError(35,` ${Zf(e,{label:"Request URL",value:Hu(Ct.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&c.reportError(35,` ${Zf(e,{label:"Request Redirects",value:Hu(Ct.NO_HINT,I3(e,s.request.redirects,Ct.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&c.reportError(35,` ${Zf(e,{label:"Request Retry Count",value:Hu(Ct.NO_HINT,`${Ut(e,s.request.retryCount,Ct.NUMBER)} (can be increased via ${Ut(e,"httpRetry",Ct.SETTING)})`)})}`)});throw n.originalError=s,n}}function bde(t,e){let r=[...e.configuration.get("networkSettings")].sort(([c],[f])=>f.length-c.length),s={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(s),n=typeof t=="string"?new URL(t):t;for(let[c,f]of r)if(xj.default.isMatch(n.hostname,c))for(let p of a){let h=f.get(p);h!==null&&typeof s[p]>"u"&&(s[p]=h)}for(let c of a)typeof s[c]>"u"&&(s[c]=e.configuration.get(c));return s}async function mv(t,e,{configuration:r,headers:s,jsonRequest:a,jsonResponse:n,method:c="GET",wrapNetworkRequest:f}){let p={target:t,body:e,configuration:r,headers:s,jsonRequest:a,jsonResponse:n,method:c},h=async()=>await tmt(t,e,p),E=typeof f<"u"?await f(h,p):h;return await(await r.reduceHook(S=>S.wrapNetworkRequest,E,p))()}async function kj(t,{configuration:e,jsonResponse:r,customErrorMessage:s,wrapNetworkRequest:a,...n}){let c=()=>AT(mv(t,null,{configuration:e,wrapNetworkRequest:a,...n}),{configuration:e,customErrorMessage:s}).then(p=>p.body),f=await(typeof a<"u"?c():Vl(wde,t,()=>c().then(p=>(wde.set(t,p),p))));return r?JSON.parse(f.toString()):f}async function $dt(t,e,{customErrorMessage:r,...s}){return(await AT(mv(t,e,{...s,method:"PUT"}),{customErrorMessage:r,configuration:s.configuration})).body}async function Qj(t,e,{customErrorMessage:r,...s}){return(await AT(mv(t,e,{...s,method:"POST"}),{customErrorMessage:r,configuration:s.configuration})).body}async function emt(t,{customErrorMessage:e,...r}){return(await AT(mv(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function tmt(t,e,{configuration:r,headers:s,jsonRequest:a,jsonResponse:n,method:c="GET"}){let f=typeof t=="string"?new URL(t):t,p=bde(f,{configuration:r});if(p.enableNetwork===!1)throw new Yt(80,`Request to '${f.href}' has been blocked because of your configuration settings`);if(f.protocol==="http:"&&!xj.default.isMatch(f.hostname,r.get("unsafeHttpWhitelist")))throw new Yt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${f.hostname})`);let E={agent:{http:p.httpProxy?Pj.default.httpOverHttp(vde(p.httpProxy)):zdt,https:p.httpsProxy?Pj.default.httpsOverHttp(vde(p.httpsProxy)):Zdt},headers:s,method:c};E.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?E.body=e:E.json=e);let C=r.get("httpTimeout"),S=r.get("httpRetry"),P=r.get("enableStrictSsl"),I=p.httpsCaFilePath,R=p.httpsCertFilePath,N=p.httpsKeyFilePath,{default:U}=await Promise.resolve().then(()=>et(Cde())),W=I?await bj(I):void 0,te=R?await bj(R):void 0,ie=N?await bj(N):void 0,Ae=U.extend({timeout:{socket:C},retry:S,https:{rejectUnauthorized:P,certificateAuthority:W,certificate:te,key:ie},...E});return r.getLimit("networkConcurrency")(()=>Ae(f))}var Sde,Dde,xj,Pj,wde,Bde,zdt,Zdt,Pde,pT=It(()=>{bt();Sde=ye("https"),Dde=ye("http"),xj=et(Sa()),Pj=et(Xhe());Fc();Qc();kc();wde=new Map,Bde=new Map,zdt=new Dde.Agent({keepAlive:!0}),Zdt=new Sde.Agent({keepAlive:!0});Pde=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(Pde||{})});var As={};Vt(As,{availableParallelism:()=>Rj,getArchitecture:()=>yv,getArchitectureName:()=>omt,getArchitectureSet:()=>Tj,getCaller:()=>umt,major:()=>rmt,openUrl:()=>nmt});function smt(){if(process.platform==="darwin"||process.platform==="win32")return null;let t;try{t=le.readFileSync(imt)}catch{}if(typeof t<"u"){if(t&&(t.includes("GLIBC")||t.includes("libc")))return"glibc";if(t&&t.includes("musl"))return"musl"}let r=(process.report?.getReport()??{}).sharedObjects??[],s=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return p0(r,a=>{let n=a.match(s);if(!n)return p0.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function yv(){return kde=kde??{os:process.platform,cpu:process.arch,libc:smt()}}function omt(t=yv()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function Tj(){let t=yv();return Qde=Qde??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function cmt(t){let e=amt.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,s=e[2]&&e[2].indexOf("eval")===0,a=lmt.exec(e[2]);return s&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function umt(){let e=new Error().stack.split(` +`)[3];return cmt(e)}function Rj(){return typeof hT.default.availableParallelism<"u"?hT.default.availableParallelism():Math.max(1,hT.default.cpus().length)}var hT,rmt,xde,nmt,imt,kde,Qde,amt,lmt,gT=It(()=>{bt();hT=et(ye("os"));dT();kc();rmt=Number(process.versions.node.split(".")[0]),xde=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),nmt=typeof xde<"u"?async t=>{try{return await Fj(xde,[t],{cwd:K.cwd()}),!0}catch{return!1}}:void 0,imt="/usr/bin/ldd";amt=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,lmt=/\((\S*)(?::(\d+))(?::(\d+))\)/});function _j(t,e,r,s,a){let n=sv(r);if(s.isArray||s.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((c,f)=>Nj(t,`${e}[${f}]`,c,s,a)):String(n).split(/,/).map(c=>Nj(t,e,c,s,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return Nj(t,e,r,s,a)}function Nj(t,e,r,s,a){let n=sv(r);switch(s.type){case"ANY":return NQ(n);case"SHAPE":return hmt(t,e,r,s,a);case"MAP":return gmt(t,e,r,s,a)}if(n===null&&!s.isNullable&&s.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if(s.values?.includes(n))return n;let f=(()=>{if(s.type==="BOOLEAN"&&typeof n!="string")return qB(n);if(typeof n!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof n}`);let p=Jk(n,{env:t.env});switch(s.type){case"ABSOLUTE_PATH":{let h=a,E=fH(r);return E&&E[0]!=="<"&&(h=K.dirname(E)),K.resolve(h,ue.toPortablePath(p))}case"LOCATOR_LOOSE":return Rp(p,!1);case"NUMBER":return parseInt(p);case"LOCATOR":return Rp(p);case"BOOLEAN":return qB(p);default:return p}})();if(s.values&&!s.values.includes(f))throw new Error(`Invalid value, expected one of ${s.values.join(", ")}`);return f}function hmt(t,e,r,s,a){let n=sv(r);if(typeof n!="object"||Array.isArray(n))throw new nt(`Object configuration settings "${e}" must be an object`);let c=Uj(t,s,{ignoreArrays:!0});if(n===null)return c;for(let[f,p]of Object.entries(n)){let h=`${e}.${f}`;if(!s.properties[f])throw new nt(`Unrecognized configuration settings found: ${e}.${f} - run "yarn config -v" to see the list of settings supported in Yarn`);c.set(f,_j(t,h,p,s.properties[f],a))}return c}function gmt(t,e,r,s,a){let n=sv(r),c=new Map;if(typeof n!="object"||Array.isArray(n))throw new nt(`Map configuration settings "${e}" must be an object`);if(n===null)return c;for(let[f,p]of Object.entries(n)){let h=s.normalizeKeys?s.normalizeKeys(f):f,E=`${e}['${h}']`,C=s.valueDefinition;c.set(h,_j(t,E,p,C,a))}return c}function Uj(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let s=new Map;for(let[a,n]of Object.entries(e.properties))s.set(a,Uj(t,n));return s}case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?Array.isArray(e.default)?e.default.map(s=>K.normalize(s)):K.isAbsolute(e.default)?K.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(s=>K.resolve(t.projectCwd,s)):K.resolve(t.projectCwd,e.default);default:return e.default}}function yT(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return pmt;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return ue.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let s=[];for(let a of t)s.push(yT(a,e,r));return s}if(e.type==="MAP"&&t instanceof Map){if(t.size===0)return;let s=new Map;for(let[a,n]of t.entries()){let c=yT(n,e.valueDefinition,r);typeof c<"u"&&s.set(a,c)}return s}if(e.type==="SHAPE"&&t instanceof Map){if(t.size===0)return;let s=new Map;for(let[a,n]of t.entries()){let c=e.properties[a],f=yT(n,c,r);typeof f<"u"&&s.set(a,f)}return s}return t}function dmt(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(ET)&&(e=(0,Rde.default)(e.slice(ET.length)),t[e]=r);return t}function Lj(){let t=`${ET}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return Mj}async function Tde(t){try{return await le.readFilePromise(t)}catch{return Buffer.of()}}async function mmt(t,e){return Buffer.compare(...await Promise.all([Tde(t),Tde(e)]))===0}async function ymt(t,e){let[r,s]=await Promise.all([le.statPromise(t),le.statPromise(e)]);return r.dev===s.dev&&r.ino===s.ino}async function Imt({configuration:t,selfPath:e}){let r=t.get("yarnPath");return t.get("ignorePath")||r===null||r===e||await Emt(r,e)?null:r}var Rde,Up,Fde,Nde,Ode,Oj,fmt,Ev,Amt,Hp,ET,Mj,pmt,Iv,Lde,IT,mT,Emt,ze,Cv=It(()=>{bt();Bc();Rde=et(lne()),Up=et(Nd());Wt();Fde=et(tie()),Nde=ye("module"),Ode=et(Md()),Oj=ye("stream");phe();oI();nH();iH();sH();Hhe();oH();tm();Yhe();LQ();Qc();I0();pT();kc();gT();Np();Yo();fmt=function(){if(!Up.GITHUB_ACTIONS||!process.env.GITHUB_EVENT_PATH)return!1;let t=ue.toPortablePath(process.env.GITHUB_EVENT_PATH),e;try{e=le.readJsonSync(t)}catch{return!1}return!(!("repository"in e)||!e.repository||(e.repository.private??!0))}(),Ev=new Set(["@yarnpkg/plugin-constraints","@yarnpkg/plugin-exec","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]),Amt=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","zipDataEpilogue","cacheCheckpointOverride","cacheVersionOverride","lockfileVersionOverride","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry","ignoreCwd"]),Hp=/^(?!v)[a-z0-9._-]+$/i,ET="yarn_",Mj=".yarnrc.yml",pmt="********",Iv=(E=>(E.ANY="ANY",E.BOOLEAN="BOOLEAN",E.ABSOLUTE_PATH="ABSOLUTE_PATH",E.LOCATOR="LOCATOR",E.LOCATOR_LOOSE="LOCATOR_LOOSE",E.NUMBER="NUMBER",E.STRING="STRING",E.SECRET="SECRET",E.SHAPE="SHAPE",E.MAP="MAP",E))(Iv||{}),Lde=Ct,IT=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(IT||{}),mT={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:pH()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:0},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:Lj()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},cacheMigrationMode:{description:"Defines the conditions under which Yarn upgrades should cause the cache archives to be regenerated.",type:"STRING",values:["always","match-spec","required-only"],default:"always"},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:Xk,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:E3,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Up.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Up.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},enableTips:{description:"If true, installs will print a helpful message every day of the week",type:"BOOLEAN",default:!Up.isCI,defaultText:""},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, Yarn will refuse to use the network if required to",type:"BOOLEAN",default:!0},enableOfflineMode:{description:"If true, Yarn will attempt to retrieve files and metadata from the global cache rather than the network",type:"BOOLEAN",default:!1},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},taskPoolConcurrency:{description:"Maximal amount of concurrent heavy task processing",type:"NUMBER",default:Rj()},taskPoolMode:{description:"Execution strategy for heavy tasks",type:"STRING",values:["async","workers"],default:"workers"},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(eQ),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:Up.isPR&&fmt,defaultText:""},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},enableCacheClean:{description:"If false, disallows the `cache clean` command",type:"BOOLEAN",default:!0},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},injectEnvironmentFiles:{description:"List of all the environment files that Yarn should inject inside the process when it starts",type:"ABSOLUTE_PATH",default:[".env.yarn?"],isArray:!0},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};Emt=process.platform==="win32"?mmt:ymt;ze=class t{constructor(e){this.isCI=Up.isCI;this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.env={};this.limits=new Map;this.packageExtensions=null;this.startingCwd=e}static{this.deleteProperty=Symbol()}static{this.telemetry=null}static create(e,r,s){let a=new t(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(mT);let n=typeof s<"u"?s:r instanceof Map?r:new Map;for(let[c,f]of n)a.activatePlugin(c,f);return a}static async find(e,r,{strict:s=!0,usePathCheck:a=null,useRc:n=!0}={}){let c=dmt();delete c.rcFilename;let f=new t(e),p=await t.findRcFiles(e),h=await t.findFolderRcFile(AI());h&&(p.find(me=>me.path===h.path)||p.unshift(h));let E=Whe(p.map(ce=>[ce.path,ce.data])),C=vt.dot,S=new Set(Object.keys(mT)),P=({yarnPath:ce,ignorePath:me,injectEnvironmentFiles:pe})=>({yarnPath:ce,ignorePath:me,injectEnvironmentFiles:pe}),I=({yarnPath:ce,ignorePath:me,injectEnvironmentFiles:pe,...Be})=>{let Ce={};for(let[g,we]of Object.entries(Be))S.has(g)&&(Ce[g]=we);return Ce},R=({yarnPath:ce,ignorePath:me,...pe})=>{let Be={};for(let[Ce,g]of Object.entries(pe))S.has(Ce)||(Be[Ce]=g);return Be};if(f.importSettings(P(mT)),f.useWithSource("",P(c),e,{strict:!1}),E){let[ce,me]=E;f.useWithSource(ce,P(me),C,{strict:!1})}if(a){if(await Imt({configuration:f,selfPath:a})!==null)return f;f.useWithSource("",{ignorePath:!0},e,{strict:!1,overwrite:!0})}let N=await t.findProjectCwd(e);f.startingCwd=e,f.projectCwd=N;let U=Object.assign(Object.create(null),process.env);f.env=U;let W=await Promise.all(f.get("injectEnvironmentFiles").map(async ce=>{let me=ce.endsWith("?")?await le.readFilePromise(ce.slice(0,-1),"utf8").catch(()=>""):await le.readFilePromise(ce,"utf8");return(0,Fde.parse)(me)}));for(let ce of W)for(let[me,pe]of Object.entries(ce))f.env[me]=Jk(pe,{env:U});if(f.importSettings(I(mT)),f.useWithSource("",I(c),e,{strict:s}),E){let[ce,me]=E;f.useWithSource(ce,I(me),C,{strict:s})}let te=ce=>"default"in ce?ce.default:ce,ie=new Map([["@@core",Ahe]]);if(r!==null)for(let ce of r.plugins.keys())ie.set(ce,te(r.modules.get(ce)));for(let[ce,me]of ie)f.activatePlugin(ce,me);let Ae=new Map([]);if(r!==null){let ce=new Map;for(let[Be,Ce]of r.modules)ce.set(Be,()=>Ce);let me=new Set,pe=async(Be,Ce)=>{let{factory:g,name:we}=kp(Be);if(!g||me.has(we))return;let Ee=new Map(ce),fe=X=>{if((0,Nde.isBuiltin)(X))return kp(X);if(Ee.has(X))return Ee.get(X)();throw new nt(`This plugin cannot access the package referenced via ${X} which is neither a builtin, nor an exposed entry`)},se=await GE(async()=>te(await g(fe)),X=>`${X} (when initializing ${we}, defined in ${Ce})`);ce.set(we,()=>se),me.add(we),Ae.set(we,se)};if(c.plugins)for(let Be of c.plugins.split(";")){let Ce=K.resolve(e,ue.toPortablePath(Be));await pe(Ce,"")}for(let{path:Be,cwd:Ce,data:g}of p)if(n&&Array.isArray(g.plugins))for(let we of g.plugins){let Ee=typeof we!="string"?we.path:we,fe=we?.spec??"",se=we?.checksum??"";if(Ev.has(fe))continue;let X=K.resolve(Ce,ue.toPortablePath(Ee));if(!await le.existsPromise(X)){if(!fe){let gt=Ut(f,K.basename(X,".cjs"),Ct.NAME),j=Ut(f,".gitignore",Ct.NAME),rt=Ut(f,f.values.get("rcFilename"),Ct.NAME),Fe=Ut(f,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",Ct.URL);throw new nt(`Missing source for the ${gt} plugin - please try to remove the plugin from ${rt} then reinstall it manually. This error usually occurs because ${j} is incorrect, check ${Fe} to make sure your plugin folder isn't gitignored.`)}if(!fe.match(/^https?:/)){let gt=Ut(f,K.basename(X,".cjs"),Ct.NAME),j=Ut(f,f.values.get("rcFilename"),Ct.NAME);throw new nt(`Failed to recognize the source for the ${gt} plugin - please try to delete the plugin from ${j} then reinstall it manually.`)}let De=await kj(fe,{configuration:f}),Re=us(De);if(se&&se!==Re){let gt=Ut(f,K.basename(X,".cjs"),Ct.NAME),j=Ut(f,f.values.get("rcFilename"),Ct.NAME),rt=Ut(f,`yarn plugin import ${fe}`,Ct.CODE);throw new nt(`Failed to fetch the ${gt} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${j} then run ${rt} to reimport it.`)}await le.mkdirPromise(K.dirname(X),{recursive:!0}),await le.writeFilePromise(X,De)}await pe(X,Be)}}for(let[ce,me]of Ae)f.activatePlugin(ce,me);if(f.useWithSource("",R(c),e,{strict:s}),E){let[ce,me]=E;f.useWithSource(ce,R(me),C,{strict:s})}return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),f}static async findRcFiles(e){let r=Lj(),s=[],a=e,n=null;for(;a!==n;){n=a;let c=K.join(n,r);if(le.existsSync(c)){let f,p;try{p=await le.readFilePromise(c,"utf8"),f=ls(p)}catch{let h="";throw p?.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(h=" (in particular, make sure you list the colons after each key name)"),new nt(`Parse error when loading ${c}; please check it's proper Yaml${h}`)}s.unshift({path:c,cwd:n,data:f})}a=K.dirname(n)}return s}static async findFolderRcFile(e){let r=K.join(e,Er.rc),s;try{s=await le.readFilePromise(r,"utf8")}catch(n){if(n.code==="ENOENT")return null;throw n}let a=ls(s);return{path:r,cwd:e,data:a}}static async findProjectCwd(e){let r=null,s=e,a=null;for(;s!==a;){if(a=s,le.existsSync(K.join(a,Er.lockfile)))return a;le.existsSync(K.join(a,Er.manifest))&&(r=a),s=K.dirname(a)}return r}static async updateConfiguration(e,r,s={}){let a=Lj(),n=K.join(e,a),c=le.existsSync(n)?ls(await le.readFilePromise(n,"utf8")):{},f=!1,p;if(typeof r=="function"){try{p=r(c)}catch{p=r({})}if(p===c)return!1}else{p=c;for(let h of Object.keys(r)){let E=c[h],C=r[h],S;if(typeof C=="function")try{S=C(E)}catch{S=C(void 0)}else S=C;E!==S&&(S===t.deleteProperty?delete p[h]:p[h]=S,f=!0)}if(!f)return!1}return await le.changeFilePromise(n,il(p),{automaticNewlines:!0}),!0}static async addPlugin(e,r){r.length!==0&&await t.updateConfiguration(e,s=>{let a=s.plugins??[];if(a.length===0)return{...s,plugins:r};let n=[],c=[...r];for(let f of a){let p=typeof f!="string"?f.path:f,h=c.find(E=>E.path===p);h?(n.push(h),c=c.filter(E=>E!==h)):n.push(f)}return n.push(...c),{...s,plugins:n}})}static async updateHomeConfiguration(e){let r=AI();return await t.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,s]of Object.entries(e))if(s!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,s),this.values.set(r,Uj(this,s))}}useWithSource(e,r,s,a){try{this.use(e,r,s,a)}catch(n){throw n.message+=` (in ${Ut(this,e,Ct.PATH)})`,n}}use(e,r,s,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let c of["enableStrictSettings",...Object.keys(r)]){let f=r[c],p=fH(f);if(p&&(e=p),typeof f>"u"||c==="plugins"||e===""&&Amt.has(c))continue;if(c==="rcFilename")throw new nt(`The rcFilename settings can only be set via ${`${ET}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(c);if(!h){let C=AI(),S=e[0]!=="<"?K.dirname(e):null;if(a&&!(S!==null?C===S:!1))throw new nt(`Unrecognized or legacy configuration settings found: ${c} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(c,e);continue}if(this.sources.has(c)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let E;try{E=_j(this,c,f,h,s)}catch(C){throw C.message+=` in ${Ut(this,e,Ct.PATH)}`,C}if(c==="enableStrictSettings"&&e!==""){a=E;continue}if(h.type==="MAP"){let C=this.values.get(c);this.values.set(c,new Map(n?[...C,...E]:[...E,...C])),this.sources.set(c,`${this.sources.get(c)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let C=this.values.get(c);this.values.set(c,n?[...C,...E]:[...E,...C]),this.sources.set(c,`${this.sources.get(c)}, ${e}`)}else this.values.set(c,E),this.sources.set(c,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:s=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new nt(`Couldn't find a configuration settings named "${e}"`);return yT(a,n,{hideSecrets:r,getNativePaths:s})}getSubprocessStreams(e,{header:r,prefix:s,report:a}){let n,c,f=le.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${s} ${Ut(this,"STDOUT","green")}`),h=a.createStreamReporter(`${s} ${Ut(this,"STDERR","red")}`);n=new Oj.PassThrough,n.pipe(p),n.pipe(f),c=new Oj.PassThrough,c.pipe(h),c.pipe(f)}else n=f,c=f,typeof r<"u"&&n.write(`${r} +`);return{stdout:n,stderr:c}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let s of r.resolvers||[])e.push(new s);return new rm([new FQ,new yi,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let s of r.fetchers||[])e.push(new s);return new lI([new cI,new uI,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let s of r.linkers||[])e.push(new s);return e}getSupportedArchitectures(){let e=yv(),r=this.get("supportedArchitectures"),s=r.get("os");s!==null&&(s=s.map(c=>c==="current"?e.os:c));let a=r.get("cpu");a!==null&&(a=a.map(c=>c==="current"?e.cpu:c));let n=r.get("libc");return n!==null&&(n=Yl(n,c=>c==="current"?e.libc??Yl.skip:c)),{os:s,cpu:a,libc:n}}isInteractive({interactive:e,stdout:r}){return r.isTTY?e??this.get("preferInteractive"):!1}async getPackageExtensions(){if(this.packageExtensions!==null)return this.packageExtensions;this.packageExtensions=new Map;let e=this.packageExtensions,r=(s,a,{userProvided:n=!1}={})=>{if(!ul(s.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let c=new Ht;c.load(a,{yamlCompatibilityMode:!0});let f=jB(e,s.identHash),p=[];f.push([s.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:s};for(let E of c.dependencies.values())p.push({...h,type:"Dependency",descriptor:E});for(let E of c.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:E});for(let[E,C]of c.peerDependenciesMeta)for(let[S,P]of Object.entries(C))p.push({...h,type:"PeerDependencyMeta",selector:E,key:S,value:P})};await this.triggerHook(s=>s.registerPackageExtensions,this,r);for(let[s,a]of this.get("packageExtensions"))r(C0(s,!0),Kk(a),{userProvided:!0});return e}normalizeLocator(e){return ul(e.reference)?Ys(e,`${this.get("defaultProtocol")}${e.reference}`):Hp.test(e.reference)?Ys(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return ul(e.range)?On(e,`${this.get("defaultProtocol")}${e.range}`):Hp.test(e.range)?On(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,s])=>[r,this.normalizeDependency(s)]))}normalizePackage(e,{packageExtensions:r}){let s=zB(e),a=r.get(e.identHash);if(typeof a<"u"){let c=e.version;if(c!==null){for(let[f,p]of a)if(eA(c,f))for(let h of p)switch(h.status==="inactive"&&(h.status="redundant"),h.type){case"Dependency":typeof s.dependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",s.dependencies.set(h.descriptor.identHash,this.normalizeDependency(h.descriptor)));break;case"PeerDependency":typeof s.peerDependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",s.peerDependencies.set(h.descriptor.identHash,h.descriptor));break;case"PeerDependencyMeta":{let E=s.peerDependenciesMeta.get(h.selector);(typeof E>"u"||!Object.hasOwn(E,h.key)||E[h.key]!==h.value)&&(h.status="active",Vl(s.peerDependenciesMeta,h.selector,()=>({}))[h.key]=h.value)}break;default:f3(h)}}}let n=c=>c.scope?`${c.scope}__${c.name}`:`${c.name}`;for(let c of s.peerDependenciesMeta.keys()){let f=Da(c);s.peerDependencies.has(f.identHash)||s.peerDependencies.set(f.identHash,On(f,"*"))}for(let c of s.peerDependencies.values()){if(c.scope==="types")continue;let f=n(c),p=ba("types",f),h=cn(p);s.peerDependencies.has(p.identHash)||s.peerDependenciesMeta.has(h)||(s.peerDependencies.set(p.identHash,On(p,"*")),s.peerDependenciesMeta.set(h,{optional:!0}))}return s.dependencies=new Map(Ws(s.dependencies,([,c])=>ll(c))),s.peerDependencies=new Map(Ws(s.peerDependencies,([,c])=>ll(c))),s}getLimit(e){return Vl(this.limits,e,()=>(0,Ode.default)(this.get(e)))}async triggerHook(e,...r){for(let s of this.plugins.values()){let a=s.hooks;if(!a)continue;let n=e(a);n&&await n(...r)}}async triggerMultipleHooks(e,r){for(let s of r)await this.triggerHook(e,...s)}async reduceHook(e,r,...s){let a=r;for(let n of this.plugins.values()){let c=n.hooks;if(!c)continue;let f=e(c);f&&(a=await f(a,...s))}return a}async firstHook(e,...r){for(let s of this.plugins.values()){let a=s.hooks;if(!a)continue;let n=e(a);if(!n)continue;let c=await n(...r);if(typeof c<"u")return c}return null}}});var Gr={};Vt(Gr,{EndStrategy:()=>Gj,ExecError:()=>CT,PipeError:()=>wv,execvp:()=>Fj,pipevp:()=>Yu});function om(t){return t!==null&&typeof t.fd=="number"}function Hj(){}function jj(){for(let t of am)t.kill()}async function Yu(t,e,{cwd:r,env:s=process.env,strict:a=!1,stdin:n=null,stdout:c,stderr:f,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":om(n)&&(h[0]=n),om(c)&&(h[1]=c),om(f)&&(h[2]=f);let E=(0,qj.default)(t,e,{cwd:ue.fromPortablePath(r),env:{...s,PWD:ue.fromPortablePath(r)},stdio:h});am.add(E),am.size===1&&(process.on("SIGINT",Hj),process.on("SIGTERM",jj)),!om(n)&&n!==null&&n.pipe(E.stdin),om(c)||E.stdout.pipe(c,{end:!1}),om(f)||E.stderr.pipe(f,{end:!1});let C=()=>{for(let S of new Set([c,f]))om(S)||S.end()};return new Promise((S,P)=>{E.on("error",I=>{am.delete(E),am.size===0&&(process.off("SIGINT",Hj),process.off("SIGTERM",jj)),(p===2||p===1)&&C(),P(I)}),E.on("close",(I,R)=>{am.delete(E),am.size===0&&(process.off("SIGINT",Hj),process.off("SIGTERM",jj)),(p===2||p===1&&I!==0)&&C(),I===0||!a?S({code:Wj(I,R)}):P(new wv({fileName:t,code:I,signal:R}))})})}async function Fj(t,e,{cwd:r,env:s=process.env,encoding:a="utf8",strict:n=!1}){let c=["ignore","pipe","pipe"],f=[],p=[],h=ue.fromPortablePath(r);typeof s.PWD<"u"&&(s={...s,PWD:h});let E=(0,qj.default)(t,e,{cwd:h,env:s,stdio:c});return E.stdout.on("data",C=>{f.push(C)}),E.stderr.on("data",C=>{p.push(C)}),await new Promise((C,S)=>{E.on("error",P=>{let I=ze.create(r),R=Ut(I,t,Ct.PATH);S(new Yt(1,`Process ${R} failed to spawn`,N=>{N.reportError(1,` ${Zf(I,{label:"Thrown Error",value:Hu(Ct.NO_HINT,P.message)})}`)}))}),E.on("close",(P,I)=>{let R=a==="buffer"?Buffer.concat(f):Buffer.concat(f).toString(a),N=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);P===0||!n?C({code:Wj(P,I),stdout:R,stderr:N}):S(new CT({fileName:t,code:P,signal:I,stdout:R,stderr:N}))})})}function Wj(t,e){let r=Cmt.get(e);return typeof r<"u"?128+r:t??1}function wmt(t,e,{configuration:r,report:s}){s.reportError(1,` ${Zf(r,t!==null?{label:"Exit Code",value:Hu(Ct.NUMBER,t)}:{label:"Exit Signal",value:Hu(Ct.CODE,e)})}`)}var qj,Gj,wv,CT,am,Cmt,dT=It(()=>{bt();qj=et(J_());Cv();Fc();Qc();Gj=(s=>(s[s.Never=0]="Never",s[s.ErrorCode=1]="ErrorCode",s[s.Always=2]="Always",s))(Gj||{}),wv=class extends Yt{constructor({fileName:e,code:r,signal:s}){let a=ze.create(K.cwd()),n=Ut(a,e,Ct.PATH);super(1,`Child ${n} reported an error`,c=>{wmt(r,s,{configuration:a,report:c})}),this.code=Wj(r,s)}},CT=class extends wv{constructor({fileName:e,code:r,signal:s,stdout:a,stderr:n}){super({fileName:e,code:r,signal:s}),this.stdout=a,this.stderr=n}};am=new Set;Cmt=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});function _de(t){Mde=t}function Bv(){return typeof Yj>"u"&&(Yj=Mde()),Yj}var Yj,Mde,Vj=It(()=>{Mde=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var Ude=L((wT,Jj)=>{var Bmt=Object.assign({},ye("fs")),Kj=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},s,a;r.ready=new Promise(function(Je,st){s=Je,a=st});var n={},c;for(c in r)r.hasOwnProperty(c)&&(n[c]=r[c]);var f=[],p="./this.program",h=function(Je,st){throw st},E=!1,C=!0,S="";function P(Je){return r.locateFile?r.locateFile(Je,S):S+Je}var I,R,N,U;C&&(E?S=ye("path").dirname(S)+"/":S=__dirname+"/",I=function(st,St){var lr=Me(st);return lr?St?lr:lr.toString():(N||(N=Bmt),U||(U=ye("path")),st=U.normalize(st),N.readFileSync(st,St?null:"utf8"))},R=function(st){var St=I(st,!0);return St.buffer||(St=new Uint8Array(St)),we(St.buffer),St},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),f=process.argv.slice(2),h=function(Je){process.exit(Je)},r.inspect=function(){return"[Emscripten Module object]"});var W=r.print||console.log.bind(console),te=r.printErr||console.warn.bind(console);for(c in n)n.hasOwnProperty(c)&&(r[c]=n[c]);n=null,r.arguments&&(f=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var ie=0,Ae=function(Je){ie=Je},ce;r.wasmBinary&&(ce=r.wasmBinary);var me=r.noExitRuntime||!0;typeof WebAssembly!="object"&&rs("no native wasm support detected");function pe(Je,st,St){switch(st=st||"i8",st.charAt(st.length-1)==="*"&&(st="i32"),st){case"i1":return Ye[Je>>0];case"i8":return Ye[Je>>0];case"i16":return Ih((Je>>1)*2);case"i32":return ro((Je>>2)*4);case"i64":return ro((Je>>2)*4);case"float":return pf((Je>>2)*4);case"double":return Eh((Je>>3)*8);default:rs("invalid type for getValue: "+st)}return null}var Be,Ce=!1,g;function we(Je,st){Je||rs("Assertion failed: "+st)}function Ee(Je){var st=r["_"+Je];return we(st,"Cannot call unknown function "+Je+", make sure it is exported"),st}function fe(Je,st,St,lr,ee){var Ie={string:function(qi){var Tn=0;if(qi!=null&&qi!==0){var Ga=(qi.length<<2)+1;Tn=wi(Ga),gt(qi,Tn,Ga)}return Tn},array:function(qi){var Tn=wi(qi.length);return Fe(qi,Tn),Tn}};function Oe(qi){return st==="string"?De(qi):st==="boolean"?!!qi:qi}var ht=Ee(Je),mt=[],Dt=0;if(lr)for(var tr=0;tr=St)&&ke[lr];)++lr;return X.decode(ke.subarray(Je,lr))}function Re(Je,st,St,lr){if(!(lr>0))return 0;for(var ee=St,Ie=St+lr-1,Oe=0;Oe=55296&&ht<=57343){var mt=Je.charCodeAt(++Oe);ht=65536+((ht&1023)<<10)|mt&1023}if(ht<=127){if(St>=Ie)break;st[St++]=ht}else if(ht<=2047){if(St+1>=Ie)break;st[St++]=192|ht>>6,st[St++]=128|ht&63}else if(ht<=65535){if(St+2>=Ie)break;st[St++]=224|ht>>12,st[St++]=128|ht>>6&63,st[St++]=128|ht&63}else{if(St+3>=Ie)break;st[St++]=240|ht>>18,st[St++]=128|ht>>12&63,st[St++]=128|ht>>6&63,st[St++]=128|ht&63}}return st[St]=0,St-ee}function gt(Je,st,St){return Re(Je,ke,st,St)}function j(Je){for(var st=0,St=0;St=55296&&lr<=57343&&(lr=65536+((lr&1023)<<10)|Je.charCodeAt(++St)&1023),lr<=127?++st:lr<=2047?st+=2:lr<=65535?st+=3:st+=4}return st}function rt(Je){var st=j(Je)+1,St=Ma(st);return St&&Re(Je,Ye,St,st),St}function Fe(Je,st){Ye.set(Je,st)}function Ne(Je,st){return Je%st>0&&(Je+=st-Je%st),Je}var Pe,Ye,ke,it,_e,x,w,b,y,F;function z(Je){Pe=Je,r.HEAP_DATA_VIEW=F=new DataView(Je),r.HEAP8=Ye=new Int8Array(Je),r.HEAP16=it=new Int16Array(Je),r.HEAP32=x=new Int32Array(Je),r.HEAPU8=ke=new Uint8Array(Je),r.HEAPU16=_e=new Uint16Array(Je),r.HEAPU32=w=new Uint32Array(Je),r.HEAPF32=b=new Float32Array(Je),r.HEAPF64=y=new Float64Array(Je)}var Z=r.INITIAL_MEMORY||16777216,$,oe=[],xe=[],Te=[],lt=!1;function Et(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Pt(r.preRun.shift());Rs(oe)}function qt(){lt=!0,Rs(xe)}function ir(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Pr(r.postRun.shift());Rs(Te)}function Pt(Je){oe.unshift(Je)}function gn(Je){xe.unshift(Je)}function Pr(Je){Te.unshift(Je)}var Ir=0,Nr=null,nn=null;function oi(Je){Ir++,r.monitorRunDependencies&&r.monitorRunDependencies(Ir)}function wo(Je){if(Ir--,r.monitorRunDependencies&&r.monitorRunDependencies(Ir),Ir==0&&(Nr!==null&&(clearInterval(Nr),Nr=null),nn)){var st=nn;nn=null,st()}}r.preloadedImages={},r.preloadedAudios={};function rs(Je){r.onAbort&&r.onAbort(Je),Je+="",te(Je),Ce=!0,g=1,Je="abort("+Je+"). Build with -s ASSERTIONS=1 for more info.";var st=new WebAssembly.RuntimeError(Je);throw a(st),st}var eo="data:application/octet-stream;base64,";function Bo(Je){return Je.startsWith(eo)}var Hi="data:application/octet-stream;base64,AGFzbQEAAAAB/wEkYAN/f38Bf2ABfwF/YAJ/fwF/YAF/AGAEf39/fwF/YAN/f38AYAV/f39/fwF/YAJ/fwBgBH9/f38AYAABf2AFf39/fn8BfmAEf35/fwF/YAR/f35/AX5gAn9+AX9gA398fwBgA39/fgF/YAF/AX5gBn9/f39/fwF/YAN/fn8Bf2AEf39/fwF+YAV/f35/fwF/YAR/f35/AX9gA39/fgF+YAJ/fgBgAn9/AX5gBX9/f39/AGADf35/AX5gBX5+f35/AX5gA39/fwF+YAZ/fH9/f38Bf2AAAGAHf35/f39+fwF/YAV/fn9/fwF/YAV/f39/fwF+YAJ+fwF/YAJ/fAACJQYBYQFhAAMBYQFiAAEBYQFjAAABYQFkAAEBYQFlAAIBYQFmAAED5wHlAQMAAwEDAwEHDAgDFgcNEgEDDRcFAQ8DEAUQAwIBAhgECxkEAQMBBQsFAwMDARACBAMAAggLBwEAAwADGgQDGwYGABwBBgMTFBEHBwcVCx4ABAgHBAICAgAfAQICAgIGFSAAIQAiAAIBBgIHAg0LEw0FAQUCACMDAQAUAAAGBQECBQUDCwsSAgEDBQIHAQEICAACCQQEAQABCAEBCQoBAwkBAQEBBgEGBgYABAIEBAQGEQQEAAARAAEDCQEJAQAJCQkBAQECCgoAAAMPAQEBAwACAgICBQIABwAKBgwHAAADAgICBQEEBQFwAT8/BQcBAYACgIACBgkBfwFBgInBAgsH+gEzAWcCAAFoAFQBaQDqAQFqALsBAWsAwQEBbACpAQFtAKgBAW4ApwEBbwClAQFwAKMBAXEAoAEBcgCbAQFzAMABAXQAugEBdQC5AQF2AEsBdwDiAQF4AMgBAXkAxwEBegDCAQFBAMkBAUIAuAEBQwAGAUQACQFFAKYBAUYAtwEBRwC2AQFIALUBAUkAtAEBSgCzAQFLALIBAUwAsQEBTQCwAQFOAK8BAU8AvAEBUACuAQFRAK0BAVIArAEBUwAaAVQACwFVAKQBAVYAMgFXAQABWACrAQFZAKoBAVoAxgEBXwDFAQEkAMQBAmFhAL8BAmJhAL4BAmNhAL0BCXgBAEEBCz6iAeMBjgGQAVpbjwFYnwGdAVeeAV1coQFZVlWcAZoBmQGYAZcBlgGVAZQBkwGSAZEB6QHoAecB5gHlAeQB4QHfAeAB3gHdAdwB2gHbAYUB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygE4wwEK1N8G5QHMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNBxIQBKAIASQ0BIAAgAWohACADQciEASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RB3IQBakYaIAIgAygCDCIBRgRAQbSEAUG0hAEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQbyEASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUHMhAEoAgBGBEBBzIQBIAM2AgBBwIQBQcCEASgCACAAaiIANgIAIAMgAEEBcjYCBCADQciEASgCAEcNA0G8hAFBADYCAEHIhAFBADYCAA8LIAVByIQBKAIARgRAQciEASADNgIAQbyEAUG8hAEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QdyEAWpGGiACIAUoAgwiAUYEQEG0hAFBtIQBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQcSEASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANByIQBKAIARw0BQbyEASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QdyEAWohAAJ/QbSEASgCACICQQEgAXQiAXFFBEBBtIQBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEHkhgFqIQECQAJAAkBBuIQBKAIAIgRBASACdCIHcUUEQEG4hAEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQdSEAUHUhAEoAgBBAWsiAEF/IAAbNgIACwuDBAEDfyACQYAETwRAIAAgASACEAIaIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkEBSARAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALGgAgAARAIAAtAAEEQCAAKAIEEAYLIAAQBgsLoi4BDH8jAEEQayIMJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEG0hAEoAgAiBUEQIABBC2pBeHEgAEELSRsiCEEDdiICdiIBQQNxBEAgAUF/c0EBcSACaiIDQQN0IgFB5IQBaigCACIEQQhqIQACQCAEKAIIIgIgAUHchAFqIgFGBEBBtIQBIAVBfiADd3E2AgAMAQsgAiABNgIMIAEgAjYCCAsgBCADQQN0IgFBA3I2AgQgASAEaiIBIAEoAgRBAXI2AgQMDQsgCEG8hAEoAgAiCk0NASABBEACQEECIAJ0IgBBACAAa3IgASACdHEiAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqIgNBA3QiAEHkhAFqKAIAIgQoAggiASAAQdyEAWoiAEYEQEG0hAEgBUF+IAN3cSIFNgIADAELIAEgADYCDCAAIAE2AggLIARBCGohACAEIAhBA3I2AgQgBCAIaiICIANBA3QiASAIayIDQQFyNgIEIAEgBGogAzYCACAKBEAgCkEDdiIBQQN0QdyEAWohB0HIhAEoAgAhBAJ/IAVBASABdCIBcUUEQEG0hAEgASAFcjYCACAHDAELIAcoAggLIQEgByAENgIIIAEgBDYCDCAEIAc2AgwgBCABNgIIC0HIhAEgAjYCAEG8hAEgAzYCAAwNC0G4hAEoAgAiBkUNASAGQQAgBmtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRB5IYBaigCACIBKAIEQXhxIAhrIQMgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAhrIgIgAyACIANJIgIbIQMgACABIAIbIQEgACECDAELCyABIAhqIgkgAU0NAiABKAIYIQsgASABKAIMIgRHBEAgASgCCCIAQcSEASgCAEkaIAAgBDYCDCAEIAA2AggMDAsgAUEUaiICKAIAIgBFBEAgASgCECIARQ0EIAFBEGohAgsDQCACIQcgACIEQRRqIgIoAgAiAA0AIARBEGohAiAEKAIQIgANAAsgB0EANgIADAsLQX8hCCAAQb9/Sw0AIABBC2oiAEF4cSEIQbiEASgCACIJRQ0AQQAgCGshAwJAAkACQAJ/QQAgCEGAAkkNABpBHyAIQf///wdLDQAaIABBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAIIABBFWp2QQFxckEcagsiBUECdEHkhgFqKAIAIgJFBEBBACEADAELQQAhACAIQQBBGSAFQQF2ayAFQR9GG3QhAQNAAkAgAigCBEF4cSAIayIHIANPDQAgAiEEIAciAw0AQQAhAyACIQAMAwsgACACKAIUIgcgByACIAFBHXZBBHFqKAIQIgJGGyAAIAcbIQAgAUEBdCEBIAINAAsLIAAgBHJFBEBBAiAFdCIAQQAgAGtyIAlxIgBFDQMgAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QeSGAWooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAhrIgEgA0khAiABIAMgAhshAyAAIAQgAhshBCAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAERQ0AIANBvIQBKAIAIAhrTw0AIAQgCGoiBiAETQ0BIAQoAhghBSAEIAQoAgwiAUcEQCAEKAIIIgBBxIQBKAIASRogACABNgIMIAEgADYCCAwKCyAEQRRqIgIoAgAiAEUEQCAEKAIQIgBFDQQgBEEQaiECCwNAIAIhByAAIgFBFGoiAigCACIADQAgAUEQaiECIAEoAhAiAA0ACyAHQQA2AgAMCQsgCEG8hAEoAgAiAk0EQEHIhAEoAgAhAwJAIAIgCGsiAUEQTwRAQbyEASABNgIAQciEASADIAhqIgA2AgAgACABQQFyNgIEIAIgA2ogATYCACADIAhBA3I2AgQMAQtByIQBQQA2AgBBvIQBQQA2AgAgAyACQQNyNgIEIAIgA2oiACAAKAIEQQFyNgIECyADQQhqIQAMCwsgCEHAhAEoAgAiBkkEQEHAhAEgBiAIayIBNgIAQcyEAUHMhAEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAsLQQAhACAIQS9qIgkCf0GMiAEoAgAEQEGUiAEoAgAMAQtBmIgBQn83AgBBkIgBQoCggICAgAQ3AgBBjIgBIAxBDGpBcHFB2KrVqgVzNgIAQaCIAUEANgIAQfCHAUEANgIAQYAgCyIBaiIFQQAgAWsiB3EiAiAITQ0KQeyHASgCACIEBEBB5IcBKAIAIgMgAmoiASADTQ0LIAEgBEsNCwtB8IcBLQAAQQRxDQUCQAJAQcyEASgCACIDBEBB9IcBIQADQCADIAAoAgAiAU8EQCABIAAoAgRqIANLDQMLIAAoAggiAA0ACwtBABApIgFBf0YNBiACIQVBkIgBKAIAIgNBAWsiACABcQRAIAIgAWsgACABakEAIANrcWohBQsgBSAITQ0GIAVB/v///wdLDQZB7IcBKAIAIgQEQEHkhwEoAgAiAyAFaiIAIANNDQcgACAESw0HCyAFECkiACABRw0BDAgLIAUgBmsgB3EiBUH+////B0sNBSAFECkiASAAKAIAIAAoAgRqRg0EIAEhAAsCQCAAQX9GDQAgCEEwaiAFTQ0AQZSIASgCACIBIAkgBWtqQQAgAWtxIgFB/v///wdLBEAgACEBDAgLIAEQKUF/RwRAIAEgBWohBSAAIQEMCAtBACAFaxApGgwFCyAAIgFBf0cNBgwECwALQQAhBAwHC0EAIQEMBQsgAUF/Rw0CC0HwhwFB8IcBKAIAQQRyNgIACyACQf7///8HSw0BIAIQKSEBQQAQKSEAIAFBf0YNASAAQX9GDQEgACABTQ0BIAAgAWsiBSAIQShqTQ0BC0HkhwFB5IcBKAIAIAVqIgA2AgBB6IcBKAIAIABJBEBB6IcBIAA2AgALAkACQAJAQcyEASgCACIHBEBB9IcBIQADQCABIAAoAgAiAyAAKAIEIgJqRg0CIAAoAggiAA0ACwwCC0HEhAEoAgAiAEEAIAAgAU0bRQRAQcSEASABNgIAC0EAIQBB+IcBIAU2AgBB9IcBIAE2AgBB1IQBQX82AgBB2IQBQYyIASgCADYCAEGAiAFBADYCAANAIABBA3QiA0HkhAFqIANB3IQBaiICNgIAIANB6IQBaiACNgIAIABBAWoiAEEgRw0AC0HAhAEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQcyEASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEHQhAFBnIgBKAIANgIADAILIAAtAAxBCHENACADIAdLDQAgASAHTQ0AIAAgAiAFajYCBEHMhAEgB0F4IAdrQQdxQQAgB0EIakEHcRsiAGoiAjYCAEHAhAFBwIQBKAIAIAVqIgEgAGsiADYCACACIABBAXI2AgQgASAHakEoNgIEQdCEAUGciAEoAgA2AgAMAQtBxIQBKAIAIAFLBEBBxIQBIAE2AgALIAEgBWohAkH0hwEhAAJAAkACQAJAAkACQANAIAIgACgCAEcEQCAAKAIIIgANAQwCCwsgAC0ADEEIcUUNAQtB9IcBIQADQCAHIAAoAgAiAk8EQCACIAAoAgRqIgQgB0sNAwsgACgCCCEADAALAAsgACABNgIAIAAgACgCBCAFajYCBCABQXggAWtBB3FBACABQQhqQQdxG2oiCSAIQQNyNgIEIAJBeCACa0EHcUEAIAJBCGpBB3EbaiIFIAggCWoiBmshAiAFIAdGBEBBzIQBIAY2AgBBwIQBQcCEASgCACACaiIANgIAIAYgAEEBcjYCBAwDCyAFQciEASgCAEYEQEHIhAEgBjYCAEG8hAFBvIQBKAIAIAJqIgA2AgAgBiAAQQFyNgIEIAAgBmogADYCAAwDCyAFKAIEIgBBA3FBAUYEQCAAQXhxIQcCQCAAQf8BTQRAIAUoAggiAyAAQQN2IgBBA3RB3IQBakYaIAMgBSgCDCIBRgRAQbSEAUG0hAEoAgBBfiAAd3E2AgAMAgsgAyABNgIMIAEgAzYCCAwBCyAFKAIYIQgCQCAFIAUoAgwiAUcEQCAFKAIIIgAgATYCDCABIAA2AggMAQsCQCAFQRRqIgAoAgAiAw0AIAVBEGoiACgCACIDDQBBACEBDAELA0AgACEEIAMiAUEUaiIAKAIAIgMNACABQRBqIQAgASgCECIDDQALIARBADYCAAsgCEUNAAJAIAUgBSgCHCIDQQJ0QeSGAWoiACgCAEYEQCAAIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiADd3E2AgAMAgsgCEEQQRQgCCgCECAFRhtqIAE2AgAgAUUNAQsgASAINgIYIAUoAhAiAARAIAEgADYCECAAIAE2AhgLIAUoAhQiAEUNACABIAA2AhQgACABNgIYCyAFIAdqIQUgAiAHaiECCyAFIAUoAgRBfnE2AgQgBiACQQFyNgIEIAIgBmogAjYCACACQf8BTQRAIAJBA3YiAEEDdEHchAFqIQICf0G0hAEoAgAiAUEBIAB0IgBxRQRAQbSEASAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAwtBHyEAIAJB////B00EQCACQQh2IgAgAEGA/j9qQRB2QQhxIgN0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgA3IgAHJrIgBBAXQgAiAAQRVqdkEBcXJBHGohAAsgBiAANgIcIAZCADcCECAAQQJ0QeSGAWohBAJAQbiEASgCACIDQQEgAHQiAXFFBEBBuIQBIAEgA3I2AgAgBCAGNgIAIAYgBDYCGAwBCyACQQBBGSAAQQF2ayAAQR9GG3QhACAEKAIAIQEDQCABIgMoAgRBeHEgAkYNAyAAQR12IQEgAEEBdCEAIAMgAUEEcWoiBCgCECIBDQALIAQgBjYCECAGIAM2AhgLIAYgBjYCDCAGIAY2AggMAgtBwIQBIAVBKGsiA0F4IAFrQQdxQQAgAUEIakEHcRsiAGsiAjYCAEHMhAEgACABaiIANgIAIAAgAkEBcjYCBCABIANqQSg2AgRB0IQBQZyIASgCADYCACAHIARBJyAEa0EHcUEAIARBJ2tBB3EbakEvayIAIAAgB0EQakkbIgJBGzYCBCACQfyHASkCADcCECACQfSHASkCADcCCEH8hwEgAkEIajYCAEH4hwEgBTYCAEH0hwEgATYCAEGAiAFBADYCACACQRhqIQADQCAAQQc2AgQgAEEIaiEBIABBBGohACABIARJDQALIAIgB0YNAyACIAIoAgRBfnE2AgQgByACIAdrIgRBAXI2AgQgAiAENgIAIARB/wFNBEAgBEEDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBzYCCCAAIAc2AgwgByACNgIMIAcgADYCCAwEC0EfIQAgB0IANwIQIARB////B00EQCAEQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgBCAAQRVqdkEBcXJBHGohAAsgByAANgIcIABBAnRB5IYBaiEDAkBBuIQBKAIAIgJBASAAdCIBcUUEQEG4hAEgASACcjYCACADIAc2AgAgByADNgIYDAELIARBAEEZIABBAXZrIABBH0YbdCEAIAMoAgAhAQNAIAEiAigCBEF4cSAERg0EIABBHXYhASAAQQF0IQAgAiABQQRxaiIDKAIQIgENAAsgAyAHNgIQIAcgAjYCGAsgByAHNgIMIAcgBzYCCAwDCyADKAIIIgAgBjYCDCADIAY2AgggBkEANgIYIAYgAzYCDCAGIAA2AggLIAlBCGohAAwFCyACKAIIIgAgBzYCDCACIAc2AgggB0EANgIYIAcgAjYCDCAHIAA2AggLQcCEASgCACIAIAhNDQBBwIQBIAAgCGsiATYCAEHMhAFBzIQBKAIAIgIgCGoiADYCACAAIAFBAXI2AgQgAiAIQQNyNgIEIAJBCGohAAwDC0GEhAFBMDYCAEEAIQAMAgsCQCAFRQ0AAkAgBCgCHCICQQJ0QeSGAWoiACgCACAERgRAIAAgATYCACABDQFBuIQBIAlBfiACd3EiCTYCAAwCCyAFQRBBFCAFKAIQIARGG2ogATYCACABRQ0BCyABIAU2AhggBCgCECIABEAgASAANgIQIAAgATYCGAsgBCgCFCIARQ0AIAEgADYCFCAAIAE2AhgLAkAgA0EPTQRAIAQgAyAIaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIEDAELIAQgCEEDcjYCBCAGIANBAXI2AgQgAyAGaiADNgIAIANB/wFNBEAgA0EDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwBC0EfIQAgA0H///8HTQRAIANBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCADIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRB5IYBaiECAkACQCAJQQEgAHQiAXFFBEBBuIQBIAEgCXI2AgAgAiAGNgIAIAYgAjYCGAwBCyADQQBBGSAAQQF2ayAAQR9GG3QhACACKAIAIQgDQCAIIgEoAgRBeHEgA0YNAiAAQR12IQIgAEEBdCEAIAEgAkEEcWoiAigCECIIDQALIAIgBjYCECAGIAE2AhgLIAYgBjYCDCAGIAY2AggMAQsgASgCCCIAIAY2AgwgASAGNgIIIAZBADYCGCAGIAE2AgwgBiAANgIICyAEQQhqIQAMAQsCQCALRQ0AAkAgASgCHCICQQJ0QeSGAWoiACgCACABRgRAIAAgBDYCACAEDQFBuIQBIAZBfiACd3E2AgAMAgsgC0EQQRQgCygCECABRhtqIAQ2AgAgBEUNAQsgBCALNgIYIAEoAhAiAARAIAQgADYCECAAIAQ2AhgLIAEoAhQiAEUNACAEIAA2AhQgACAENgIYCwJAIANBD00EQCABIAMgCGoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAwBCyABIAhBA3I2AgQgCSADQQFyNgIEIAMgCWogAzYCACAKBEAgCkEDdiIAQQN0QdyEAWohBEHIhAEoAgAhAgJ/QQEgAHQiACAFcUUEQEG0hAEgACAFcjYCACAEDAELIAQoAggLIQAgBCACNgIIIAAgAjYCDCACIAQ2AgwgAiAANgIIC0HIhAEgCTYCAEG8hAEgAzYCAAsgAUEIaiEACyAMQRBqJAAgAAuJAQEDfyAAKAIcIgEQMAJAIAAoAhAiAiABKAIQIgMgAiADSRsiAkUNACAAKAIMIAEoAgggAhAHGiAAIAAoAgwgAmo2AgwgASABKAIIIAJqNgIIIAAgACgCFCACajYCFCAAIAAoAhAgAms2AhAgASABKAIQIAJrIgA2AhAgAA0AIAEgASgCBDYCCAsLzgEBBX8CQCAARQ0AIAAoAjAiAQRAIAAgAUEBayIBNgIwIAENAQsgACgCIARAIABBATYCICAAEBoaCyAAKAIkQQFGBEAgABBDCwJAIAAoAiwiAUUNACAALQAoDQACQCABKAJEIgNFDQAgASgCTCEEA0AgACAEIAJBAnRqIgUoAgBHBEAgAyACQQFqIgJHDQEMAgsLIAUgBCADQQFrIgJBAnRqKAIANgIAIAEgAjYCRAsLIABBAEIAQQUQDhogACgCACIBBEAgARALCyAAEAYLC1oCAn4BfwJ/AkACQCAALQAARQ0AIAApAxAiAUJ9Vg0AIAFCAnwiAiAAKQMIWA0BCyAAQQA6AABBAAwBC0EAIAAoAgQiA0UNABogACACNwMQIAMgAadqLwAACwthAgJ+AX8CQAJAIAAtAABFDQAgACkDECICQn1WDQAgAkICfCIDIAApAwhYDQELIABBADoAAA8LIAAoAgQiBEUEQA8LIAAgAzcDECAEIAKnaiIAIAFBCHY6AAEgACABOgAAC8wCAQJ/IwBBEGsiBCQAAkAgACkDGCADrYinQQFxRQRAIABBDGoiAARAIABBADYCBCAAQRw2AgALQn8hAgwBCwJ+IAAoAgAiBUUEQCAAKAIIIAEgAiADIAAoAgQRDAAMAQsgBSAAKAIIIAEgAiADIAAoAgQRCgALIgJCf1UNAAJAIANBBGsOCwEAAAAAAAAAAAABAAsCQAJAIAAtABhBEHFFBEAgAEEMaiIBBEAgAUEANgIEIAFBHDYCAAsMAQsCfiAAKAIAIgFFBEAgACgCCCAEQQhqQghBBCAAKAIEEQwADAELIAEgACgCCCAEQQhqQghBBCAAKAIEEQoAC0J/VQ0BCyAAQQxqIgAEQCAAQQA2AgQgAEEUNgIACwwBCyAEKAIIIQEgBCgCDCEDIABBDGoiAARAIAAgAzYCBCAAIAE2AgALCyAEQRBqJAAgAguTFQIOfwN+AkACQAJAAkACQAJAAkACQAJAAkACQCAAKALwLQRAIAAoAogBQQFIDQEgACgCACIEKAIsQQJHDQQgAC8B5AENAyAALwHoAQ0DIAAvAewBDQMgAC8B8AENAyAALwH0AQ0DIAAvAfgBDQMgAC8B/AENAyAALwGcAg0DIAAvAaACDQMgAC8BpAINAyAALwGoAg0DIAAvAawCDQMgAC8BsAINAyAALwG0Ag0DIAAvAbgCDQMgAC8BvAINAyAALwHAAg0DIAAvAcQCDQMgAC8ByAINAyAALwHUAg0DIAAvAdgCDQMgAC8B3AINAyAALwHgAg0DIAAvAYgCDQIgAC8BjAINAiAALwGYAg0CQSAhBgNAIAAgBkECdCIFai8B5AENAyAAIAVBBHJqLwHkAQ0DIAAgBUEIcmovAeQBDQMgACAFQQxyai8B5AENAyAGQQRqIgZBgAJHDQALDAMLIABBBzYC/C0gAkF8Rw0FIAFFDQUMBgsgAkEFaiIEIQcMAwtBASEHCyAEIAc2AiwLIAAgAEHoFmoQUSAAIABB9BZqEFEgAC8B5gEhBCAAIABB7BZqKAIAIgxBAnRqQf//AzsB6gEgAEGQFmohECAAQZQWaiERIABBjBZqIQdBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJA0AgBCEIIAAgCyIOQQFqIgtBAnRqLwHmASEEAkACQCAGQQFqIgVB//8DcSIPIA1B//8DcU8NACAEIAhHDQAgBSEGDAELAn8gACAIQQJ0akHMFWogCkH//wNxIA9LDQAaIAgEQEEBIQUgByAIIAlGDQEaIAAgCEECdGpBzBVqIgYgBi8BAEEBajsBACAHDAELQQEhBSAQIBEgBkH//wNxQQpJGwsiBiAGLwEAIAVqOwEAQQAhBgJ/IARFBEBBAyEKQYoBDAELQQNBBCAEIAhGIgUbIQpBBkEHIAUbCyENIAghCQsgDCAORw0ACwsgAEHaE2ovAQAhBCAAIABB+BZqKAIAIgxBAnRqQd4TakH//wM7AQBBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJQQAhCwNAIAQhCCAAIAsiDkEBaiILQQJ0akHaE2ovAQAhBAJAAkAgBkEBaiIFQf//A3EiDyANQf//A3FPDQAgBCAIRw0AIAUhBgwBCwJ/IAAgCEECdGpBzBVqIApB//8DcSAPSw0AGiAIBEBBASEFIAcgCCAJRg0BGiAAIAhBAnRqQcwVaiIGIAYvAQBBAWo7AQAgBwwBC0EBIQUgECARIAZB//8DcUEKSRsLIgYgBi8BACAFajsBAEEAIQYCfyAERQRAQQMhCkGKAQwBC0EDQQQgBCAIRiIFGyEKQQZBByAFGwshDSAIIQkLIAwgDkcNAAsLIAAgAEGAF2oQUSAAIAAoAvgtAn9BEiAAQYoWai8BAA0AGkERIABB0hVqLwEADQAaQRAgAEGGFmovAQANABpBDyAAQdYVai8BAA0AGkEOIABBghZqLwEADQAaQQ0gAEHaFWovAQANABpBDCAAQf4Vai8BAA0AGkELIABB3hVqLwEADQAaQQogAEH6FWovAQANABpBCSAAQeIVai8BAA0AGkEIIABB9hVqLwEADQAaQQcgAEHmFWovAQANABpBBiAAQfIVai8BAA0AGkEFIABB6hVqLwEADQAaQQQgAEHuFWovAQANABpBA0ECIABBzhVqLwEAGwsiBkEDbGoiBEERajYC+C0gACgC/C1BCmpBA3YiByAEQRtqQQN2IgRNBEAgByEEDAELIAAoAowBQQRHDQAgByEECyAEIAJBBGpPQQAgARsNASAEIAdHDQQLIANBAmqtIRIgACkDmC4hFCAAKAKgLiIBQQNqIgdBP0sNASASIAGthiAUhCESDAILIAAgASACIAMQOQwDCyABQcAARgRAIAAoAgQgACgCEGogFDcAACAAIAAoAhBBCGo2AhBBAyEHDAELIAAoAgQgACgCEGogEiABrYYgFIQ3AAAgACAAKAIQQQhqNgIQIAFBPWshByASQcAAIAFrrYghEgsgACASNwOYLiAAIAc2AqAuIABBgMEAQYDKABCHAQwBCyADQQRqrSESIAApA5guIRQCQCAAKAKgLiIBQQNqIgRBP00EQCASIAGthiAUhCESDAELIAFBwABGBEAgACgCBCAAKAIQaiAUNwAAIAAgACgCEEEIajYCEEEDIQQMAQsgACgCBCAAKAIQaiASIAGthiAUhDcAACAAIAAoAhBBCGo2AhAgAUE9ayEEIBJBwAAgAWutiCESCyAAIBI3A5guIAAgBDYCoC4gAEHsFmooAgAiC6xCgAJ9IRMgAEH4FmooAgAhCQJAAkACfwJ+AkACfwJ/IARBOk0EQCATIASthiAShCETIARBBWoMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQIAmsIRJCBSEUQQoMAgsgACgCBCAAKAIQaiATIASthiAShDcAACAAIAAoAhBBCGo2AhAgE0HAACAEa62IIRMgBEE7awshBSAJrCESIAVBOksNASAFrSEUIAVBBWoLIQcgEiAUhiAThAwBCyAFQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgBq1CA30hE0IFIRRBCQwCCyAAKAIEIAAoAhBqIBIgBa2GIBOENwAAIAAgACgCEEEIajYCECAFQTtrIQcgEkHAACAFa62ICyESIAatQgN9IRMgB0E7Sw0BIAetIRQgB0EEagshBCATIBSGIBKEIRMMAQsgB0HAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQQQQhBAwBCyAAKAIEIAAoAhBqIBMgB62GIBKENwAAIAAgACgCEEEIajYCECAHQTxrIQQgE0HAACAHa62IIRMLQQAhBQNAIAAgBSIBQZDWAGotAABBAnRqQc4VajMBACEUAn8gBEE8TQRAIBQgBK2GIBOEIRMgBEEDagwBCyAEQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgFCETQQMMAQsgACgCBCAAKAIQaiAUIASthiAThDcAACAAIAAoAhBBCGo2AhAgFEHAACAEa62IIRMgBEE9awshBCABQQFqIQUgASAGRw0ACyAAIAQ2AqAuIAAgEzcDmC4gACAAQeQBaiICIAsQhgEgACAAQdgTaiIBIAkQhgEgACACIAEQhwELIAAQiAEgAwRAAkAgACgCoC4iBEE5TgRAIAAoAgQgACgCEGogACkDmC43AAAgACAAKAIQQQhqNgIQDAELIARBGU4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgQ2AqAuCyAEQQlOBH8gACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACgCoC5BEGsFIAQLQQFIDQAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAAKQOYLjwAAAsgAEEANgKgLiAAQgA3A5guCwsZACAABEAgACgCABAGIAAoAgwQBiAAEAYLC6wBAQJ+Qn8hAwJAIAAtACgNAAJAAkAgACgCIEUNACACQgBTDQAgAlANASABDQELIABBDGoiAARAIABBADYCBCAAQRI2AgALQn8PCyAALQA1DQBCACEDIAAtADQNACACUA0AA0AgACABIAOnaiACIAN9QQEQDiIEQn9XBEAgAEEBOgA1Qn8gAyADUBsPCyAEUEUEQCADIAR8IgMgAloNAgwBCwsgAEEBOgA0CyADC3UCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCe1YNACACQgR8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUEYdjoAAyAAIAFBEHY6AAIgACABQQh2OgABIAAgAToAAAtUAgF+AX8CQAJAIAAtAABFDQAgASAAKQMQIgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADwsgACgCBCIDRQRAQQAPCyAAIAI3AxAgAyABp2oLdwECfyMAQRBrIgMkAEF/IQQCQCAALQAoDQAgACgCIEEAIAJBA0kbRQRAIABBDGoiAARAIABBADYCBCAAQRI2AgALDAELIAMgAjYCCCADIAE3AwAgACADQhBBBhAOQgBTDQBBACEEIABBADoANAsgA0EQaiQAIAQLVwICfgF/AkACQCAALQAARQ0AIAApAxAiAUJ7Vg0AIAFCBHwiAiAAKQMIWA0BCyAAQQA6AABBAA8LIAAoAgQiA0UEQEEADwsgACACNwMQIAMgAadqKAAAC1UCAX4BfyAABEACQCAAKQMIUA0AQgEhAQNAIAAoAgAgAkEEdGoQPiABIAApAwhaDQEgAachAiABQgF8IQEMAAsACyAAKAIAEAYgACgCKBAQIAAQBgsLZAECfwJAAkACQCAARQRAIAGnEAkiA0UNAkEYEAkiAkUNAQwDCyAAIQNBGBAJIgINAkEADwsgAxAGC0EADwsgAkIANwMQIAIgATcDCCACIAM2AgQgAkEBOgAAIAIgAEU6AAEgAgudAQICfgF/AkACQCAALQAARQ0AIAApAxAiAkJ3Vg0AIAJCCHwiAyAAKQMIWA0BCyAAQQA6AAAPCyAAKAIEIgRFBEAPCyAAIAM3AxAgBCACp2oiACABQjiIPAAHIAAgAUIwiDwABiAAIAFCKIg8AAUgACABQiCIPAAEIAAgAUIYiDwAAyAAIAFCEIg8AAIgACABQgiIPAABIAAgATwAAAvwAgICfwF+AkAgAkUNACAAIAJqIgNBAWsgAToAACAAIAE6AAAgAkEDSQ0AIANBAmsgAToAACAAIAE6AAEgA0EDayABOgAAIAAgAToAAiACQQdJDQAgA0EEayABOgAAIAAgAToAAyACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiADYCACADIAIgBGtBfHEiAmoiAUEEayAANgIAIAJBCUkNACADIAA2AgggAyAANgIEIAFBCGsgADYCACABQQxrIAA2AgAgAkEZSQ0AIAMgADYCGCADIAA2AhQgAyAANgIQIAMgADYCDCABQRBrIAA2AgAgAUEUayAANgIAIAFBGGsgADYCACABQRxrIAA2AgAgAiADQQRxQRhyIgFrIgJBIEkNACAArUKBgICAEH4hBSABIANqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsLbwEDfyAAQQxqIQICQAJ/IAAoAiAiAUUEQEF/IQFBEgwBCyAAIAFBAWsiAzYCIEEAIQEgAw0BIABBAEIAQQIQDhogACgCACIARQ0BIAAQGkF/Sg0BQRQLIQAgAgRAIAJBADYCBCACIAA2AgALCyABC58BAgF/AX4CfwJAAn4gACgCACIDKAIkQQFGQQAgAkJ/VRtFBEAgA0EMaiIBBEAgAUEANgIEIAFBEjYCAAtCfwwBCyADIAEgAkELEA4LIgRCf1cEQCAAKAIAIQEgAEEIaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAsMAQtBACACIARRDQEaIABBCGoEQCAAQRs2AgwgAEEGNgIICwtBfwsLJAEBfyAABEADQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsLC5gBAgJ+AX8CQAJAIAAtAABFDQAgACkDECIBQndWDQAgAUIIfCICIAApAwhYDQELIABBADoAAEIADwsgACgCBCIDRQRAQgAPCyAAIAI3AxAgAyABp2oiADEABkIwhiAAMQAHQjiGhCAAMQAFQiiGhCAAMQAEQiCGhCAAMQADQhiGhCAAMQACQhCGhCAAMQABQgiGhCAAMQAAfAsjACAAQShGBEAgAhAGDwsgAgRAIAEgAkEEaygCACAAEQcACwsyACAAKAIkQQFHBEAgAEEMaiIABEAgAEEANgIEIABBEjYCAAtCfw8LIABBAEIAQQ0QDgsPACAABEAgABA2IAAQBgsLgAEBAX8gAC0AKAR/QX8FIAFFBEAgAEEMagRAIABBADYCECAAQRI2AgwLQX8PCyABECoCQCAAKAIAIgJFDQAgAiABECFBf0oNACAAKAIAIQEgAEEMaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAtBfw8LIAAgAUI4QQMQDkI/h6cLC38BA38gACEBAkAgAEEDcQRAA0AgAS0AAEUNAiABQQFqIgFBA3ENAAsLA0AgASICQQRqIQEgAigCACIDQX9zIANBgYKECGtxQYCBgoR4cUUNAAsgA0H/AXFFBEAgAiAAaw8LA0AgAi0AASEDIAJBAWoiASECIAMNAAsLIAEgAGsL3wIBCH8gAEUEQEEBDwsCQCAAKAIIIgINAEEBIQQgAC8BBCIHRQRAQQEhAgwBCyAAKAIAIQgDQAJAIAMgCGoiBS0AACICQSBPBEAgAkEYdEEYdUF/Sg0BCyACQQ1NQQBBASACdEGAzABxGw0AAn8CfyACQeABcUHAAUYEQEEBIQYgA0EBagwBCyACQfABcUHgAUYEQCADQQJqIQNBACEGQQEMAgsgAkH4AXFB8AFHBEBBBCECDAULQQAhBiADQQNqCyEDQQALIQlBBCECIAMgB08NAiAFLQABQcABcUGAAUcNAkEDIQQgBg0AIAUtAAJBwAFxQYABRw0CIAkNACAFLQADQcABcUGAAUcNAgsgBCECIANBAWoiAyAHSQ0ACwsgACACNgIIAn8CQCABRQ0AAkAgAUECRw0AIAJBA0cNAEECIQIgAEECNgIICyABIAJGDQBBBSACQQFHDQEaCyACCwtIAgJ+An8jAEEQayIEIAE2AgxCASAArYYhAgNAIAQgAUEEaiIANgIMIAIiA0IBIAEoAgAiBa2GhCECIAAhASAFQX9KDQALIAMLhwUBB38CQAJAIABFBEBBxRQhAiABRQ0BIAFBADYCAEHFFA8LIAJBwABxDQEgACgCCEUEQCAAQQAQIxoLIAAoAgghBAJAIAJBgAFxBEAgBEEBa0ECTw0BDAMLIARBBEcNAgsCQCAAKAIMIgINACAAAn8gACgCACEIIABBEGohCUEAIQICQAJAAkACQCAALwEEIgUEQEEBIQQgBUEBcSEHIAVBAUcNAQwCCyAJRQ0CIAlBADYCAEEADAQLIAVBfnEhBgNAIARBAUECQQMgAiAIai0AAEEBdEHQFGovAQAiCkGAEEkbIApBgAFJG2pBAUECQQMgCCACQQFyai0AAEEBdEHQFGovAQAiBEGAEEkbIARBgAFJG2ohBCACQQJqIQIgBkECayIGDQALCwJ/IAcEQCAEQQFBAkEDIAIgCGotAABBAXRB0BRqLwEAIgJBgBBJGyACQYABSRtqIQQLIAQLEAkiB0UNASAFQQEgBUEBSxshCkEAIQVBACEGA0AgBSAHaiEDAn8gBiAIai0AAEEBdEHQFGovAQAiAkH/AE0EQCADIAI6AAAgBUEBagwBCyACQf8PTQRAIAMgAkE/cUGAAXI6AAEgAyACQQZ2QcABcjoAACAFQQJqDAELIAMgAkE/cUGAAXI6AAIgAyACQQx2QeABcjoAACADIAJBBnZBP3FBgAFyOgABIAVBA2oLIQUgBkEBaiIGIApHDQALIAcgBEEBayICakEAOgAAIAlFDQAgCSACNgIACyAHDAELIAMEQCADQQA2AgQgA0EONgIAC0EACyICNgIMIAINAEEADwsgAUUNACABIAAoAhA2AgALIAIPCyABBEAgASAALwEENgIACyAAKAIAC4MBAQR/QRIhBQJAAkAgACkDMCABWA0AIAGnIQYgACgCQCEEIAJBCHEiB0UEQCAEIAZBBHRqKAIEIgINAgsgBCAGQQR0aiIEKAIAIgJFDQAgBC0ADEUNAUEXIQUgBw0BC0EAIQIgAyAAQQhqIAMbIgAEQCAAQQA2AgQgACAFNgIACwsgAgtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAZIAFFBEADQCAAIAVBgAIQLiACQYACayICQf8BSw0ACwsgACAFIAIQLgsgBUGAAmokAAuBAQEBfyMAQRBrIgQkACACIANsIQICQCAAQSdGBEAgBEEMaiACEIwBIQBBACAEKAIMIAAbIQAMAQsgAUEBIAJBxABqIAARAAAiAUUEQEEAIQAMAQtBwAAgAUE/cWsiACABakHAAEEAIABBBEkbaiIAQQRrIAE2AAALIARBEGokACAAC1IBAn9BhIEBKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQA0UNAQtBhIEBIAA2AgAgAQ8LQYSEAUEwNgIAQX8LNwAgAEJ/NwMQIABBADYCCCAAQgA3AwAgAEEANgIwIABC/////w83AyggAEIANwMYIABCADcDIAulAQEBf0HYABAJIgFFBEBBAA8LAkAgAARAIAEgAEHYABAHGgwBCyABQgA3AyAgAUEANgIYIAFC/////w83AxAgAUEAOwEMIAFBv4YoNgIIIAFBAToABiABQQA6AAQgAUIANwNIIAFBgIDYjXg2AkQgAUIANwMoIAFCADcDMCABQgA3AzggAUFAa0EAOwEAIAFCADcDUAsgAUEBOgAFIAFBADYCACABC1gCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgMgAq18IgQgA1QNACAEIAApAwhYDQELIABBADoAAA8LIAAoAgQiBUUEQA8LIAAgBDcDECAFIAOnaiABIAIQBxoLlgEBAn8CQAJAIAJFBEAgAacQCSIFRQ0BQRgQCSIEDQIgBRAGDAELIAIhBUEYEAkiBA0BCyADBEAgA0EANgIEIANBDjYCAAtBAA8LIARCADcDECAEIAE3AwggBCAFNgIEIARBAToAACAEIAJFOgABIAAgBSABIAMQZUEASAR/IAQtAAEEQCAEKAIEEAYLIAQQBkEABSAECwubAgEDfyAALQAAQSBxRQRAAkAgASEDAkAgAiAAIgEoAhAiAAR/IAAFAn8gASABLQBKIgBBAWsgAHI6AEogASgCACIAQQhxBEAgASAAQSByNgIAQX8MAQsgAUIANwIEIAEgASgCLCIANgIcIAEgADYCFCABIAAgASgCMGo2AhBBAAsNASABKAIQCyABKAIUIgVrSwRAIAEgAyACIAEoAiQRAAAaDAILAn8gASwAS0F/SgRAIAIhAANAIAIgACIERQ0CGiADIARBAWsiAGotAABBCkcNAAsgASADIAQgASgCJBEAACAESQ0CIAMgBGohAyABKAIUIQUgAiAEawwBCyACCyEAIAUgAyAAEAcaIAEgASgCFCAAajYCFAsLCwvNBQEGfyAAKAIwIgNBhgJrIQYgACgCPCECIAMhAQNAIAAoAkQgAiAAKAJoIgRqayECIAEgBmogBE0EQCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w==";Bo(Hi)||(Hi=P(Hi));function to(Je){try{if(Je==Hi&&ce)return new Uint8Array(ce);var st=Me(Je);if(st)return st;if(R)return R(Je);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(St){rs(St)}}function vo(Je,st){var St,lr,ee;try{ee=to(Je),lr=new WebAssembly.Module(ee),St=new WebAssembly.Instance(lr,st)}catch(Oe){var Ie=Oe.toString();throw te("failed to compile wasm module: "+Ie),(Ie.includes("imported Memory")||Ie.includes("memory import"))&&te("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Oe}return[St,lr]}function RA(){var Je={a:fu};function st(ee,Ie){var Oe=ee.exports;r.asm=Oe,Be=r.asm.g,z(Be.buffer),$=r.asm.W,gn(r.asm.h),wo("wasm-instantiate")}if(oi("wasm-instantiate"),r.instantiateWasm)try{var St=r.instantiateWasm(Je,st);return St}catch(ee){return te("Module.instantiateWasm callback failed with error: "+ee),!1}var lr=vo(Hi,Je);return st(lr[0]),r.asm}function pf(Je){return F.getFloat32(Je,!0)}function Eh(Je){return F.getFloat64(Je,!0)}function Ih(Je){return F.getInt16(Je,!0)}function ro(Je){return F.getInt32(Je,!0)}function jn(Je,st){F.setInt32(Je,st,!0)}function Rs(Je){for(;Je.length>0;){var st=Je.shift();if(typeof st=="function"){st(r);continue}var St=st.func;typeof St=="number"?st.arg===void 0?$.get(St)():$.get(St)(st.arg):St(st.arg===void 0?null:st.arg)}}function no(Je,st){var St=new Date(ro((Je>>2)*4)*1e3);jn((st>>2)*4,St.getUTCSeconds()),jn((st+4>>2)*4,St.getUTCMinutes()),jn((st+8>>2)*4,St.getUTCHours()),jn((st+12>>2)*4,St.getUTCDate()),jn((st+16>>2)*4,St.getUTCMonth()),jn((st+20>>2)*4,St.getUTCFullYear()-1900),jn((st+24>>2)*4,St.getUTCDay()),jn((st+36>>2)*4,0),jn((st+32>>2)*4,0);var lr=Date.UTC(St.getUTCFullYear(),0,1,0,0,0,0),ee=(St.getTime()-lr)/(1e3*60*60*24)|0;return jn((st+28>>2)*4,ee),no.GMTString||(no.GMTString=rt("GMT")),jn((st+40>>2)*4,no.GMTString),st}function lu(Je,st){return no(Je,st)}function cu(Je,st,St){ke.copyWithin(Je,st,st+St)}function uu(Je){try{return Be.grow(Je-Pe.byteLength+65535>>>16),z(Be.buffer),1}catch{}}function FA(Je){var st=ke.length;Je=Je>>>0;var St=2147483648;if(Je>St)return!1;for(var lr=1;lr<=4;lr*=2){var ee=st*(1+.2/lr);ee=Math.min(ee,Je+100663296);var Ie=Math.min(St,Ne(Math.max(Je,ee),65536)),Oe=uu(Ie);if(Oe)return!0}return!1}function NA(Je){Ae(Je)}function aa(Je){var st=Date.now()/1e3|0;return Je&&jn((Je>>2)*4,st),st}function la(){if(la.called)return;la.called=!0;var Je=new Date().getFullYear(),st=new Date(Je,0,1),St=new Date(Je,6,1),lr=st.getTimezoneOffset(),ee=St.getTimezoneOffset(),Ie=Math.max(lr,ee);jn((Sl()>>2)*4,Ie*60),jn((Cs()>>2)*4,+(lr!=ee));function Oe(fn){var ai=fn.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ai?ai[1]:"GMT"}var ht=Oe(st),mt=Oe(St),Dt=rt(ht),tr=rt(mt);ee>2)*4,Dt),jn((Li()+4>>2)*4,tr)):(jn((Li()>>2)*4,tr),jn((Li()+4>>2)*4,Dt))}function OA(Je){la();var st=Date.UTC(ro((Je+20>>2)*4)+1900,ro((Je+16>>2)*4),ro((Je+12>>2)*4),ro((Je+8>>2)*4),ro((Je+4>>2)*4),ro((Je>>2)*4),0),St=new Date(st);jn((Je+24>>2)*4,St.getUTCDay());var lr=Date.UTC(St.getUTCFullYear(),0,1,0,0,0,0),ee=(St.getTime()-lr)/(1e3*60*60*24)|0;return jn((Je+28>>2)*4,ee),St.getTime()/1e3|0}var gr=typeof atob=="function"?atob:function(Je){var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",St="",lr,ee,Ie,Oe,ht,mt,Dt,tr=0;Je=Je.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Oe=st.indexOf(Je.charAt(tr++)),ht=st.indexOf(Je.charAt(tr++)),mt=st.indexOf(Je.charAt(tr++)),Dt=st.indexOf(Je.charAt(tr++)),lr=Oe<<2|ht>>4,ee=(ht&15)<<4|mt>>2,Ie=(mt&3)<<6|Dt,St=St+String.fromCharCode(lr),mt!==64&&(St=St+String.fromCharCode(ee)),Dt!==64&&(St=St+String.fromCharCode(Ie));while(tr0||(Et(),Ir>0))return;function st(){Qn||(Qn=!0,r.calledRun=!0,!Ce&&(qt(),s(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),ir()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),st()},1)):st()}if(r.run=pc,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return pc(),e}}();typeof wT=="object"&&typeof Jj=="object"?Jj.exports=Kj:typeof define=="function"&&define.amd?define([],function(){return Kj}):typeof wT=="object"&&(wT.createModule=Kj)});var jp,Hde,jde,qde=It(()=>{jp=["number","number"],Hde=(X=>(X[X.ZIP_ER_OK=0]="ZIP_ER_OK",X[X.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",X[X.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",X[X.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",X[X.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",X[X.ZIP_ER_READ=5]="ZIP_ER_READ",X[X.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",X[X.ZIP_ER_CRC=7]="ZIP_ER_CRC",X[X.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",X[X.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",X[X.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",X[X.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",X[X.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",X[X.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",X[X.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",X[X.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",X[X.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",X[X.ZIP_ER_EOF=17]="ZIP_ER_EOF",X[X.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",X[X.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",X[X.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",X[X.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",X[X.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",X[X.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",X[X.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",X[X.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",X[X.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",X[X.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",X[X.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",X[X.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",X[X.ZIP_ER_TELL=30]="ZIP_ER_TELL",X[X.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",X))(Hde||{}),jde=t=>({get HEAPU8(){return t.HEAPU8},errors:Hde,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint32S:t._malloc(4),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...jp,"number","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...jp,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...jp,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...jp,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...jp,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...jp,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...jp,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...jp,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...jp,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"])},struct:{statS:t.cwrap("zipstruct_statS","number",[]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function zj(t,e){let r=t.indexOf(e);if(r<=0)return null;let s=r;for(;r>=0&&(s=r+e.length,t[s]!==K.sep);){if(t[r-1]===K.sep)return null;r=t.indexOf(e,s)}return t.length>s&&t[s]!==K.sep?null:t.slice(0,s)}var tA,Gde=It(()=>{bt();bt();rA();tA=class t extends n0{static async openPromise(e,r){let s=new t(r);try{return await e(s)}finally{s.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,s=e.readOnlyArchives,a=typeof r>"u"?f=>zj(f,".zip"):f=>{for(let p of r){let h=zj(f,p);if(h)return h}return null},n=(f,p)=>new ps(p,{baseFs:f,readOnly:s,stats:f.statSync(p),customZipImplementation:e.customZipImplementation}),c=async(f,p)=>{let h={baseFs:f,readOnly:s,stats:await f.statPromise(p),customZipImplementation:e.customZipImplementation};return()=>new ps(p,h)};super({...e,factorySync:n,factoryPromise:c,getMountPoint:a})}}});var Zj,vI,Xj=It(()=>{Vj();Zj=class extends Error{constructor(e,r){super(e),this.name="Libzip Error",this.code=r}},vI=class{constructor(e){this.filesShouldBeCached=!0;let r="buffer"in e?e.buffer:e.baseFs.readFileSync(e.path);this.libzip=Bv();let s=this.libzip.malloc(4);try{let c=0;e.readOnly&&(c|=this.libzip.ZIP_RDONLY);let f=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(f,c,s),this.lzSource=f}catch(p){throw this.libzip.source.free(f),p}if(this.zip===0){let p=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(p,this.libzip.getValue(s,"i32")),this.makeLibzipError(p)}}finally{this.libzip.free(s)}let a=this.libzip.getNumEntries(this.zip,0),n=new Array(a);for(let c=0;c>>0,n=this.libzip.struct.statMtime(r)>>>0,c=this.libzip.struct.statCrc(r)>>>0;return{size:a,mtime:n,crc:c}}makeLibzipError(e){let r=this.libzip.struct.errorCodeZip(e),s=this.libzip.error.strerror(e),a=new Zj(s,this.libzip.errors[r]);if(r===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${a.message}`);return a}setFileSource(e,r,s){let a=this.allocateSource(s);try{let n=this.libzip.file.add(this.zip,e,a,this.libzip.ZIP_FL_OVERWRITE);if(n===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(r!==null&&this.libzip.file.setCompression(this.zip,n,0,r[0],r[1])===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return n}catch(n){throw this.libzip.source.free(a),n}}setMtime(e,r){if(this.libzip.file.setMtime(this.zip,e,0,r,0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}getExternalAttributes(e){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let s=this.libzip.getValue(this.libzip.uint08S,"i8")>>>0,a=this.libzip.getValue(this.libzip.uint32S,"i32")>>>0;return[s,a]}setExternalAttributes(e,r,s){if(this.libzip.file.setExternalAttributes(this.zip,e,0,0,r,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}locate(e){return this.libzip.name.locate(this.zip,e,0)}getFileSource(e){let r=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(r),n=this.libzip.struct.statCompMethod(r),c=this.libzip.malloc(a);try{let f=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(f===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let p=this.libzip.fread(f,c,a,0);if(p===-1)throw this.makeLibzipError(this.libzip.file.getError(f));if(pa)throw new Error("Overread");let h=this.libzip.HEAPU8.subarray(c,c+a);return{data:Buffer.from(h),compressionMethod:n}}finally{this.libzip.fclose(f)}}finally{this.libzip.free(c)}}deleteEntry(e){if(this.libzip.delete(this.zip,e)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}addDirectory(e){let r=this.libzip.dir.add(this.zip,e);if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return r}getBufferAndClose(){try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let e=this.libzip.source.tell(this.lzSource);if(e===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let r=this.libzip.malloc(e);if(!r)throw new Error("Couldn't allocate enough memory");try{let s=this.libzip.source.read(this.lzSource,r,e);if(s===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(se)throw new Error("Overread");let a=Buffer.from(this.libzip.HEAPU8.subarray(r,r+e));return process.env.YARN_IS_TEST_ENV&&process.env.YARN_ZIP_DATA_EPILOGUE&&(a=Buffer.concat([a,Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)])),a}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource)}}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:s,byteLength:a}=this.allocateBuffer(e),n=this.libzip.source.fromUnattachedBuffer(s,a,0,1,r);if(n===0)throw this.libzip.free(r),this.makeLibzipError(r);return n}allocateSource(e){let{buffer:r,byteLength:s}=this.allocateBuffer(e),a=this.libzip.source.fromBuffer(this.zip,r,s,0,1);if(a===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return a}discard(){this.libzip.discard(this.zip)}}});function vmt(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(Wde.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function BT(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var ka,$j,Wde,e6,lm,t6,r6,Yde,ps,vT=It(()=>{bt();bt();bt();bt();bt();bt();ka=ye("fs"),$j=ye("stream"),Wde=ye("util"),e6=et(ye("zlib"));Xj();lm=3,t6=0,r6=8,Yde="mixed";ps=class extends Uf{constructor(r,s={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;s.readOnly&&(this.readOnly=!0);let a=s;this.level=typeof a.level<"u"?a.level:Yde;let n=s.customZipImplementation??vI;if(typeof r=="string"){let{baseFs:f=new Yn}=a;this.baseFs=f,this.path=r}else this.path=null,this.baseFs=null;if(s.stats)this.stats=s.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(f){if(f.code==="ENOENT"&&a.create)this.stats=el.makeDefaultStats();else throw f}else this.stats=el.makeDefaultStats();typeof r=="string"?s.create?this.zipImpl=new n({buffer:BT(),readOnly:this.readOnly}):this.zipImpl=new n({path:r,baseFs:this.baseFs,readOnly:this.readOnly,size:this.stats.size}):this.zipImpl=new n({buffer:r??BT(),readOnly:this.readOnly}),this.listings.set(vt.root,new Set);let c=this.zipImpl.getListings();for(let f=0;f{this.closeSync(f)}})}async readPromise(r,s,a,n,c){return this.readSync(r,s,a,n,c)}readSync(r,s,a=0,n=s.byteLength,c=-1){let f=this.fds.get(r);if(typeof f>"u")throw or.EBADF("read");let p=c===-1||c===null?f.cursor:c,h=this.readFileSync(f.p);h.copy(s,a,p,p+n);let E=Math.max(0,Math.min(h.length-p,n));return(c===-1||c===null)&&(f.cursor+=E),E}async writePromise(r,s,a,n,c){return typeof s=="string"?this.writeSync(r,s,c):this.writeSync(r,s,a,n,c)}writeSync(r,s,a,n,c){throw typeof this.fds.get(r)>"u"?or.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw or.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:s}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new $j.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(f,p)=>{clearImmediate(c),this.closeSync(a),p(f)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),c=setImmediate(async()=>{try{let f=await this.readFilePromise(r,s);n.bytesRead=f.length,n.end(f)}catch(f){n.destroy(f)}});return n}createWriteStream(r,{encoding:s}={}){if(this.readOnly)throw or.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),c=Object.assign(new $j.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(f,p)=>{try{f?p(f):(this.writeFileSync(r,Buffer.concat(a),s),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){c.destroy()},bytesWritten:0,path:r,pending:!1});return c.on("data",f=>{let p=Buffer.from(f);c.bytesWritten+=p.length,a.push(p)}),c}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let s=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(s)&&!this.listings.has(s))throw or.ENOENT(`lstat '${r}'`);return s}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw or.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=K.resolve(vt.root,r);return this.entries.has(a)||this.listings.has(a)}let s;try{s=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return s===void 0?!1:this.entries.has(s)||this.listings.has(s)}async accessPromise(r,s){return this.accessSync(r,s)}accessSync(r,s=ka.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`access '${r}'`);if(this.readOnly&&s&ka.constants.W_OK)throw or.EROFS(`access '${r}'`)}async statPromise(r,s={bigint:!1}){return s.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,s={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,s.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(s.throwIfNoEntry===!1)return;throw or.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw or.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,s)}}async fstatPromise(r,s){return this.fstatSync(r,s)}fstatSync(r,s){let a=this.fds.get(r);if(typeof a>"u")throw or.EBADF("fstatSync");let{p:n}=a,c=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(c)&&!this.listings.has(c))throw or.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(c))throw or.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,c,s)}async lstatPromise(r,s={bigint:!1}){return s.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,s={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,s.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(s.throwIfNoEntry===!1)return;throw or.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw or.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,s)}}statImpl(r,s,a={}){let n=this.entries.get(s);if(typeof n<"u"){let c=this.zipImpl.stat(n),f=c.crc,p=c.size,h=c.mtime*1e3,E=this.stats.uid,C=this.stats.gid,S=512,P=Math.ceil(c.size/S),I=h,R=h,N=h,U=new Date(I),W=new Date(R),te=new Date(N),ie=new Date(h),Ae=this.listings.has(s)?ka.constants.S_IFDIR:this.isSymbolicLink(n)?ka.constants.S_IFLNK:ka.constants.S_IFREG,ce=Ae===ka.constants.S_IFDIR?493:420,me=Ae|this.getUnixMode(n,ce)&511,pe=Object.assign(new el.StatEntry,{uid:E,gid:C,size:p,blksize:S,blocks:P,atime:U,birthtime:W,ctime:te,mtime:ie,atimeMs:I,birthtimeMs:R,ctimeMs:N,mtimeMs:h,mode:me,crc:f});return a.bigint===!0?el.convertToBigIntStats(pe):pe}if(this.listings.has(s)){let c=this.stats.uid,f=this.stats.gid,p=0,h=512,E=0,C=this.stats.mtimeMs,S=this.stats.mtimeMs,P=this.stats.mtimeMs,I=this.stats.mtimeMs,R=new Date(C),N=new Date(S),U=new Date(P),W=new Date(I),te=ka.constants.S_IFDIR|493,Ae=Object.assign(new el.StatEntry,{uid:c,gid:f,size:p,blksize:h,blocks:E,atime:R,birthtime:N,ctime:U,mtime:W,atimeMs:C,birthtimeMs:S,ctimeMs:P,mtimeMs:I,mode:te,crc:0});return a.bigint===!0?el.convertToBigIntStats(Ae):Ae}throw new Error("Unreachable")}getUnixMode(r,s){let[a,n]=this.zipImpl.getExternalAttributes(r);return a!==lm?s:n>>>16}registerListing(r){let s=this.listings.get(r);if(s)return s;this.registerListing(K.dirname(r)).add(K.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,s){this.registerListing(K.dirname(r)).add(K.basename(r)),this.entries.set(r,s)}unregisterListing(r){this.listings.delete(r),this.listings.get(K.dirname(r))?.delete(K.basename(r))}unregisterEntry(r){this.unregisterListing(r);let s=this.entries.get(r);this.entries.delete(r),!(typeof s>"u")&&(this.fileSources.delete(s),this.isSymbolicLink(s)&&this.symlinkCount--)}deleteEntry(r,s){this.unregisterEntry(r),this.zipImpl.deleteEntry(s)}resolveFilename(r,s,a=!0,n=!0){if(!this.ready)throw or.EBUSY(`archive closed, ${r}`);let c=K.resolve(vt.root,s);if(c==="/")return vt.root;let f=this.entries.get(c);if(a&&f!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(f)){let p=this.getFileSource(f).toString();return this.resolveFilename(r,K.resolve(K.dirname(c),p),!0,n)}else return c;for(;;){let p=this.resolveFilename(r,K.dirname(c),!0,n);if(p===void 0)return p;let h=this.listings.has(p),E=this.entries.has(p);if(!h&&!E){if(n===!1)return;throw or.ENOENT(r)}if(!h)throw or.ENOTDIR(r);if(c=K.resolve(p,K.basename(c)),!a||this.symlinkCount===0)break;let C=this.zipImpl.locate(c.slice(1));if(C===-1)break;if(this.isSymbolicLink(C)){let S=this.getFileSource(C).toString();c=K.resolve(K.dirname(c),S)}else break}return c}setFileSource(r,s){let a=Buffer.isBuffer(s)?s:Buffer.from(s),n=K.relative(vt.root,r),c=null;this.level!=="mixed"&&(c=[this.level===0?t6:r6,this.level]);let f=this.zipImpl.setFileSource(n,c,a);return this.fileSources.set(f,a),f}isSymbolicLink(r){if(this.symlinkCount===0)return!1;let[s,a]=this.zipImpl.getExternalAttributes(r);return s!==lm?!1:(a>>>16&ka.constants.S_IFMT)===ka.constants.S_IFLNK}getFileSource(r,s={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let{data:n,compressionMethod:c}=this.zipImpl.getFileSource(r);if(c===t6)return this.zipImpl.filesShouldBeCached&&this.fileSources.set(r,n),n;if(c===r6){if(s.asyncDecompress)return new Promise((f,p)=>{e6.default.inflateRaw(n,(h,E)=>{h?p(h):(this.zipImpl.filesShouldBeCached&&this.fileSources.set(r,E),f(E))})});{let f=e6.default.inflateRawSync(n);return this.zipImpl.filesShouldBeCached&&this.fileSources.set(r,f),f}}else throw new Error(`Unsupported compression method: ${c}`)}async fchmodPromise(r,s){return this.chmodPromise(this.fdToPath(r,"fchmod"),s)}fchmodSync(r,s){return this.chmodSync(this.fdToPath(r,"fchmodSync"),s)}async chmodPromise(r,s){return this.chmodSync(r,s)}chmodSync(r,s){if(this.readOnly)throw or.EROFS(`chmod '${r}'`);s&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let f=this.getUnixMode(n,ka.constants.S_IFREG|0)&-512|s;this.zipImpl.setExternalAttributes(n,lm,f<<16)}async fchownPromise(r,s,a){return this.chownPromise(this.fdToPath(r,"fchown"),s,a)}fchownSync(r,s,a){return this.chownSync(this.fdToPath(r,"fchownSync"),s,a)}async chownPromise(r,s,a){return this.chownSync(r,s,a)}chownSync(r,s,a){throw new Error("Unimplemented")}async renamePromise(r,s){return this.renameSync(r,s)}renameSync(r,s){throw new Error("Unimplemented")}async copyFilePromise(r,s,a){let{indexSource:n,indexDest:c,resolvedDestP:f}=this.prepareCopyFile(r,s,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(f,p);h!==c&&this.registerEntry(f,h)}copyFileSync(r,s,a=0){let{indexSource:n,indexDest:c,resolvedDestP:f}=this.prepareCopyFile(r,s,a),p=this.getFileSource(n),h=this.setFileSource(f,p);h!==c&&this.registerEntry(f,h)}prepareCopyFile(r,s,a=0){if(this.readOnly)throw or.EROFS(`copyfile '${r} -> '${s}'`);if(a&ka.constants.COPYFILE_FICLONE_FORCE)throw or.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${s}'`);let n=this.resolveFilename(`copyfile '${r} -> ${s}'`,r),c=this.entries.get(n);if(typeof c>"u")throw or.EINVAL(`copyfile '${r}' -> '${s}'`);let f=this.resolveFilename(`copyfile '${r}' -> ${s}'`,s),p=this.entries.get(f);if(a&(ka.constants.COPYFILE_EXCL|ka.constants.COPYFILE_FICLONE_FORCE)&&typeof p<"u")throw or.EEXIST(`copyfile '${r}' -> '${s}'`);return{indexSource:c,resolvedDestP:f,indexDest:p}}async appendFilePromise(r,s,a){if(this.readOnly)throw or.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,s,a)}appendFileSync(r,s,a={}){if(this.readOnly)throw or.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,s,a)}fdToPath(r,s){let a=this.fds.get(r)?.p;if(typeof a>"u")throw or.EBADF(s);return a}async writeFilePromise(r,s,a){let{encoding:n,mode:c,index:f,resolvedP:p}=this.prepareWriteFile(r,a);f!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(s=Buffer.concat([await this.getFileSource(f,{asyncDecompress:!0}),Buffer.from(s)])),n!==null&&(s=s.toString(n));let h=this.setFileSource(p,s);h!==f&&this.registerEntry(p,h),c!==null&&await this.chmodPromise(p,c)}writeFileSync(r,s,a){let{encoding:n,mode:c,index:f,resolvedP:p}=this.prepareWriteFile(r,a);f!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(s=Buffer.concat([this.getFileSource(f),Buffer.from(s)])),n!==null&&(s=s.toString(n));let h=this.setFileSource(p,s);h!==f&&this.registerEntry(p,h),c!==null&&this.chmodSync(p,c)}prepareWriteFile(r,s){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw or.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw or.EISDIR(`open '${r}'`);let n=null,c=null;typeof s=="string"?n=s:typeof s=="object"&&({encoding:n=null,mode:c=null}=s);let f=this.entries.get(a);return{encoding:n,mode:c,resolvedP:a,index:f}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw or.EROFS(`unlink '${r}'`);let s=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(s))throw or.EISDIR(`unlink '${r}'`);let a=this.entries.get(s);if(typeof a>"u")throw or.EINVAL(`unlink '${r}'`);this.deleteEntry(s,a)}async utimesPromise(r,s,a){return this.utimesSync(r,s,a)}utimesSync(r,s,a){if(this.readOnly)throw or.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,s,a){return this.lutimesSync(r,s,a)}lutimesSync(r,s,a){if(this.readOnly)throw or.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,s){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");this.zipImpl.setMtime(a,vmt(s))}async mkdirPromise(r,s){return this.mkdirSync(r,s)}mkdirSync(r,{mode:s=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:s});if(this.readOnly)throw or.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw or.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,s)}async rmdirPromise(r,s){return this.rmdirSync(r,s)}rmdirSync(r,{recursive:s=!1}={}){if(this.readOnly)throw or.EROFS(`rmdir '${r}'`);if(s){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw or.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw or.ENOTEMPTY(`rmdir '${r}'`);let c=this.entries.get(a);if(typeof c>"u")throw or.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,c)}async rmPromise(r,s){return this.rmSync(r,s)}rmSync(r,{recursive:s=!1}={}){if(this.readOnly)throw or.EROFS(`rm '${r}'`);if(s){this.removeSync(r);return}let a=this.resolveFilename(`rm '${r}'`,r),n=this.listings.get(a);if(!n)throw or.ENOTDIR(`rm '${r}'`);if(n.size>0)throw or.ENOTEMPTY(`rm '${r}'`);let c=this.entries.get(a);if(typeof c>"u")throw or.EINVAL(`rm '${r}'`);this.deleteEntry(r,c)}hydrateDirectory(r){let s=this.zipImpl.addDirectory(K.relative(vt.root,r));return this.registerListing(r),this.registerEntry(r,s),s}async linkPromise(r,s){return this.linkSync(r,s)}linkSync(r,s){throw or.EOPNOTSUPP(`link '${r}' -> '${s}'`)}async symlinkPromise(r,s){return this.symlinkSync(r,s)}symlinkSync(r,s){if(this.readOnly)throw or.EROFS(`symlink '${r}' -> '${s}'`);let a=this.resolveFilename(`symlink '${r}' -> '${s}'`,s);if(this.listings.has(a))throw or.EISDIR(`symlink '${r}' -> '${s}'`);if(this.entries.has(a))throw or.EEXIST(`symlink '${r}' -> '${s}'`);let n=this.setFileSource(a,r);this.registerEntry(a,n),this.zipImpl.setExternalAttributes(n,lm,(ka.constants.S_IFLNK|511)<<16),this.symlinkCount+=1}async readFilePromise(r,s){typeof s=="object"&&(s=s?s.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return s?a.toString(s):a}readFileSync(r,s){typeof s=="object"&&(s=s?s.encoding:void 0);let a=this.readFileBuffer(r);return s?a.toString(s):a}readFileBuffer(r,s={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw or.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw or.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,s)}async readdirPromise(r,s){return this.readdirSync(r,s)}readdirSync(r,s){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw or.ENOTDIR(`scandir '${r}'`);if(s?.recursive)if(s?.withFileTypes){let c=Array.from(n,f=>Object.assign(this.statImpl("lstat",K.join(r,f)),{name:f,path:vt.dot}));for(let f of c){if(!f.isDirectory())continue;let p=K.join(f.path,f.name),h=this.listings.get(K.join(a,p));for(let E of h)c.push(Object.assign(this.statImpl("lstat",K.join(r,p,E)),{name:E,path:p}))}return c}else{let c=[...n];for(let f of c){let p=this.listings.get(K.join(a,f));if(!(typeof p>"u"))for(let h of p)c.push(K.join(f,h))}return c}else return s?.withFileTypes?Array.from(n,c=>Object.assign(this.statImpl("lstat",K.join(r,c)),{name:c,path:void 0})):[...n]}async readlinkPromise(r){let s=this.prepareReadlink(r);return(await this.getFileSource(s,{asyncDecompress:!0})).toString()}readlinkSync(r){let s=this.prepareReadlink(r);return this.getFileSource(s).toString()}prepareReadlink(r){let s=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(s)&&!this.listings.has(s))throw or.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(s))throw or.ENOTDIR(`open '${r}'`);if(this.listings.has(s))throw or.EINVAL(`readlink '${r}'`);let a=this.entries.get(s);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw or.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,s=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw or.EINVAL(`open '${r}'`);let c=await this.getFileSource(n,{asyncDecompress:!0}),f=Buffer.alloc(s,0);return c.copy(f),await this.writeFilePromise(r,f)}truncateSync(r,s=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw or.EINVAL(`open '${r}'`);let c=this.getFileSource(n),f=Buffer.alloc(s,0);return c.copy(f),this.writeFileSync(r,f)}async ftruncatePromise(r,s){return this.truncatePromise(this.fdToPath(r,"ftruncate"),s)}ftruncateSync(r,s){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),s)}watch(r,s,a){let n;switch(typeof s){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=s);break}if(!n)return{on:()=>{},close:()=>{}};let c=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(c)}}}watchFile(r,s,a){let n=K.resolve(vt.root,r);return sE(this,n,s,a)}unwatchFile(r,s){let a=K.resolve(vt.root,r);return yd(this,a,s)}}});function Kde(t,e,r=Buffer.alloc(0),s){let a=new ps(r),n=C=>C===e||C.startsWith(`${e}/`)?C.slice(0,e.length):null,c=async(C,S)=>()=>a,f=(C,S)=>a,p={...t},h=new Yn(p),E=new n0({baseFs:h,getMountPoint:n,factoryPromise:c,factorySync:f,magicByte:21,maxAge:1/0,typeCheck:s?.typeCheck});return j2(Vde.default,new i0(E)),a}var Vde,Jde=It(()=>{bt();Vde=et(ye("fs"));vT()});var zde=It(()=>{Gde();vT();Jde()});var n6,vv,ST,Zde=It(()=>{bt();vT();n6={CENTRAL_DIRECTORY:33639248,END_OF_CENTRAL_DIRECTORY:101010256},vv=22,ST=class t{constructor(e){this.filesShouldBeCached=!1;if("buffer"in e)throw new Error("Buffer based zip archives are not supported");if(!e.readOnly)throw new Error("Writable zip archives are not supported");this.baseFs=e.baseFs,this.fd=this.baseFs.openSync(e.path,"r");try{this.entries=t.readZipSync(this.fd,this.baseFs,e.size)}catch(r){throw this.baseFs.closeSync(this.fd),this.fd="closed",r}}static readZipSync(e,r,s){if(s=0;N--)if(n.readUInt32LE(N)===n6.END_OF_CENTRAL_DIRECTORY){a=N;break}if(a===-1)throw new Error("Not a zip archive")}let c=n.readUInt16LE(a+10),f=n.readUInt32LE(a+12),p=n.readUInt32LE(a+16),h=n.readUInt16LE(a+20);if(a+h+vv>n.length)throw new Error("Zip archive inconsistent");if(c==65535||f==4294967295||p==4294967295)throw new Error("Zip 64 is not supported");if(f>s)throw new Error("Zip archive inconsistent");if(c>f/46)throw new Error("Zip archive inconsistent");let E=Buffer.alloc(f);if(r.readSync(e,E,0,E.length,p)!==E.length)throw new Error("Zip archive inconsistent");let C=[],S=0,P=0,I=0;for(;PE.length)throw new Error("Zip archive inconsistent");if(E.readUInt32LE(S)!==n6.CENTRAL_DIRECTORY)throw new Error("Zip archive inconsistent");let N=E.readUInt16LE(S+4)>>>8;if(E.readUInt16LE(S+8)&1)throw new Error("Encrypted zip files are not supported");let W=E.readUInt16LE(S+10),te=E.readUInt32LE(S+16),ie=E.readUInt16LE(S+28),Ae=E.readUInt16LE(S+30),ce=E.readUInt16LE(S+32),me=E.readUInt32LE(S+42),pe=E.toString("utf8",S+46,S+46+ie).replaceAll("\0"," ");if(pe.includes("\0"))throw new Error("Invalid ZIP file");let Be=E.readUInt32LE(S+20),Ce=E.readUInt32LE(S+38);C.push({name:pe,os:N,mtime:ui.SAFE_TIME,crc:te,compressionMethod:W,isSymbolicLink:N===lm&&(Ce>>>16&ui.S_IFMT)===ui.S_IFLNK,size:E.readUInt32LE(S+24),compressedSize:Be,externalAttributes:Ce,localHeaderOffset:me}),I+=Be,P+=1,S+=46+ie+Ae+ce}if(I>s)throw new Error("Zip archive inconsistent");if(S!==E.length)throw new Error("Zip archive inconsistent");return C}getExternalAttributes(e){let r=this.entries[e];return[r.os,r.externalAttributes]}getListings(){return this.entries.map(e=>e.name)}getSymlinkCount(){let e=0;for(let r of this.entries)r.isSymbolicLink&&(e+=1);return e}stat(e){let r=this.entries[e];return{crc:r.crc,mtime:r.mtime,size:r.size}}locate(e){for(let r=0;rYde,DEFLATE:()=>r6,JsZipImpl:()=>ST,LibZipImpl:()=>vI,STORE:()=>t6,ZIP_UNIX:()=>lm,ZipFS:()=>ps,ZipOpenFS:()=>tA,getArchivePart:()=>zj,getLibzipPromise:()=>Dmt,getLibzipSync:()=>Smt,makeEmptyArchive:()=>BT,mountMemoryDrive:()=>Kde});function Smt(){return Bv()}async function Dmt(){return Bv()}var Xde,rA=It(()=>{Vj();Xde=et(Ude());qde();zde();Zde();Xj();_de(()=>{let t=(0,Xde.default)();return jde(t)})});var Dv,$de=It(()=>{bt();Wt();bv();Dv=class extends ot{constructor(){super(...arguments);this.cwd=ge.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=ge.String();this.args=ge.Proxy()}static{this.usage={description:"run a command using yarn's portable shell",details:` + This command will run a command using Yarn's portable shell. + + Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. + + Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell. + + Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. + + For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. + `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await SI(r,[],{cwd:ue.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}}});var Kl,eme=It(()=>{Kl=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var PT={};Vt(PT,{fastGlobOptions:()=>nme,isBraceExpansion:()=>i6,isGlobPattern:()=>bmt,match:()=>Pmt,micromatchOptions:()=>bT});function bmt(t){if(!DT.default.scan(t,bT).isGlob)return!1;try{DT.default.parse(t,bT)}catch{return!1}return!0}function Pmt(t,{cwd:e,baseFs:r}){return(0,tme.default)(t,{...nme,cwd:ue.fromPortablePath(e),fs:Cx(rme.default,new i0(r))})}function i6(t){return DT.default.scan(t,bT).isBrace}var tme,rme,DT,bT,nme,ime=It(()=>{bt();tme=et(BQ()),rme=et(ye("fs")),DT=et(Sa()),bT={strictBrackets:!0},nme={onlyDirectories:!1,onlyFiles:!1}});function s6(){}function o6(){for(let t of cm)t.kill()}function lme(t,e,r,s){return a=>{let n=a[0]instanceof nA.Transform?"pipe":a[0],c=a[1]instanceof nA.Transform?"pipe":a[1],f=a[2]instanceof nA.Transform?"pipe":a[2],p=(0,ome.default)(t,e,{...s,stdio:[n,c,f]});return cm.add(p),cm.size===1&&(process.on("SIGINT",s6),process.on("SIGTERM",o6)),a[0]instanceof nA.Transform&&a[0].pipe(p.stdin),a[1]instanceof nA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof nA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",E=>{switch(cm.delete(p),cm.size===0&&(process.off("SIGINT",s6),process.off("SIGTERM",o6)),E.code){case"ENOENT":a[2].write(`command not found: ${t} +`),h(127);break;case"EACCES":a[2].write(`permission denied: ${t} +`),h(128);break;default:a[2].write(`uncaught error: ${E.message} +`),h(1);break}}),p.on("close",E=>{cm.delete(p),cm.size===0&&(process.off("SIGINT",s6),process.off("SIGTERM",o6)),h(E!==null?E:129)})})}}}function cme(t){return e=>{let r=e[0]==="pipe"?new nA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function xT(t,e){return l6.start(t,e)}function sme(t,e=null){let r=new nA.PassThrough,s=new ame.StringDecoder,a="";return r.on("data",n=>{let c=s.write(n),f;do if(f=c.indexOf(` +`),f!==-1){let p=a+c.substring(0,f);c=c.substring(f+1),a="",t(e!==null?`${e} ${p}`:p)}while(f!==-1);a+=c}),r.on("end",()=>{let n=s.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function ume(t,{prefix:e}){return{stdout:sme(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:sme(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var ome,nA,ame,cm,Mc,a6,l6,c6=It(()=>{ome=et(J_()),nA=ye("stream"),ame=ye("string_decoder"),cm=new Set;Mc=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},a6=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},l6=class t{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:s,stderr:a}){let n=new t(null,e);return n.stdin=r,n.stdout=s,n.stderr=a,n}pipeTo(e,r=1){let s=new t(this,e),a=new a6;return s.pipe=a,s.stdout=this.stdout,s.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),s}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let s;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");s=this.stderr,e[2]=s.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),s.close(),n))}async run(){let e=[];for(let s=this;s;s=s.ancestor)e.push(s.exec());return(await Promise.all(e))[0]}}});var Qv={};Vt(Qv,{EntryCommand:()=>Dv,ShellError:()=>Kl,execute:()=>SI,globUtils:()=>PT});function fme(t,e,r){let s=new Jl.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(s,{end:!1}),(e&2)===2&&r.stdin instanceof Jl.Writable&&s.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(s,{end:!1}),(e&2)===2&&s.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(s,{end:!1}),(e&2)===2&&s.pipe(r.stderr,{end:!1});break;default:throw new Kl(`Bad file descriptor: "${t}"`)}return s}function QT(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function kmt(t,e,r){let s=[],a=new Jl.PassThrough;return a.on("data",n=>s.push(n)),await TT(t,e,QT(r,{stdout:a})),Buffer.concat(s).toString().replace(/[\r\n]+$/,"")}async function Ame(t,e,r){let s=t.map(async n=>{let c=await um(n.args,e,r);return{name:n.name,value:c.join(" ")}});return(await Promise.all(s)).reduce((n,c)=>(n[c.name]=c.value,n),{})}function kT(t){return t.match(/[^ \r\n\t]+/g)||[]}async function yme(t,e,r,s,a=s){switch(t.name){case"$":s(String(process.pid));break;case"#":s(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let c=kT(n);for(let f=0;f=0&&n"u"&&(t.defaultValue?c=(await um(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(c="")),typeof c>"u")throw f?new Kl(`Unbound argument #${n}`):new Kl(`Unbound variable "${t.name}"`);if(t.quoted)s(c);else{let p=kT(c);for(let E=0;Es.push(n));let a=Number(s.join(" "));return Number.isNaN(a)?Pv({type:"variable",name:s.join(" ")},e,r):Pv({type:"number",value:a},e,r)}else return Qmt[t.type](await Pv(t.left,e,r),await Pv(t.right,e,r))}async function um(t,e,r){let s=new Map,a=[],n=[],c=E=>{n.push(E)},f=()=>{n.length>0&&a.push(n.join("")),n=[]},p=E=>{c(E),f()},h=(E,C,S)=>{let P=JSON.stringify({type:E,fd:C}),I=s.get(P);typeof I>"u"&&s.set(P,I=[]),I.push(S)};for(let E of t){let C=!1;switch(E.type){case"redirection":{let S=await um(E.args,e,r);for(let P of S)h(E.subtype,E.fd,P)}break;case"argument":for(let S of E.segments)switch(S.type){case"text":c(S.text);break;case"glob":c(S.pattern),C=!0;break;case"shell":{let P=await kmt(S.shell,e,r);if(S.quoted)c(P);else{let I=kT(P);for(let R=0;R"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let P=await e.glob.match(S,{cwd:r.cwd,baseFs:e.baseFs});if(P.length===0){let I=i6(S)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new Kl(`No matches found: "${S}"${I}`)}for(let I of P.sort())p(I)}}if(s.size>0){let E=[];for(let[C,S]of s.entries())E.splice(E.length,0,C,String(S.length),...S);a.splice(0,0,"__ysh_set_redirects",...E,"--")}return a}function xv(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let s=ue.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:s});let[n,...c]=t;if(n==="command")return lme(c[0],c.slice(1),e,{cwd:s,env:a});let f=e.builtins.get(n);if(typeof f>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return cme(async({stdin:p,stdout:h,stderr:E})=>{let{stdin:C,stdout:S,stderr:P}=r;r.stdin=p,r.stdout=h,r.stderr=E;try{return await f(c,e,r)}finally{r.stdin=C,r.stdout=S,r.stderr=P}})}function Tmt(t,e,r){return s=>{let a=new Jl.PassThrough,n=TT(t,e,QT(r,{stdin:a}));return{stdin:a,promise:n}}}function Rmt(t,e,r){return s=>{let a=new Jl.PassThrough,n=TT(t,e,r);return{stdin:a,promise:n}}}function pme(t,e,r,s){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.hasOwn(s.procedures,a));return s.procedures={...s.procedures},s.procedures[a]=t,xv([...e,"__ysh_run_procedure",a],r,s)}}async function hme(t,e,r){let s=t,a=null,n=null;for(;s;){let c=s.then?{...r}:r,f;switch(s.type){case"command":{let p=await um(s.args,e,r),h=await Ame(s.envs,e,r);f=s.envs.length?xv(p,e,QT(c,{environment:h})):xv(p,e,c)}break;case"subshell":{let p=await um(s.args,e,r),h=Tmt(s.subshell,e,c);f=pme(h,p,e,c)}break;case"group":{let p=await um(s.args,e,r),h=Rmt(s.group,e,c);f=pme(h,p,e,c)}break;case"envs":{let p=await Ame(s.envs,e,r);c.environment={...c.environment,...p},f=xv(["true"],e,c)}break}if(typeof f>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=xT(f,{stdin:new Mc(c.stdin),stdout:new Mc(c.stdout),stderr:new Mc(c.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(f,1);break;case"|&":n=n.pipeTo(f,3);break}}s.then?(a=s.then.type,s=s.then.chain):s=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function Fmt(t,e,r,{background:s=!1}={}){function a(n){let c=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],f=c[n%c.length];return gme.default.hex(f)}if(s){let n=r.nextBackgroundJobIndex++,c=a(n),f=`[${n}]`,p=c(f),{stdout:h,stderr:E}=ume(r,{prefix:p});return r.backgroundJobs.push(hme(t,e,QT(r,{stdout:h,stderr:E})).catch(C=>E.write(`${C.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${c(AE(t))}' has ended +`)})),0}return await hme(t,e,r)}async function Nmt(t,e,r,{background:s=!1}={}){let a,n=f=>{a=f,r.variables["?"]=String(f)},c=async f=>{try{return await Fmt(f.chain,e,r,{background:s&&typeof f.then>"u"})}catch(p){if(!(p instanceof Kl))throw p;return r.stderr.write(`${p.message} +`),1}};for(n(await c(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await c(t.then.line));break;case"||":a!==0&&n(await c(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function TT(t,e,r){let s=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:c}of t){if(a=await Nmt(n,e,r,{background:c==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=s,a}function Eme(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>kv(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>kv(e));case"arithmetic":return u6(t.arithmetic);case"shell":return f6(t.shell);default:return!1}}function kv(t){switch(t.type){case"redirection":return t.args.some(e=>kv(e));case"argument":return t.segments.some(e=>Eme(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function u6(t){switch(t.type){case"variable":return Eme(t);case"number":return!1;default:return u6(t.left)||u6(t.right)}}function f6(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let s;switch(r.type){case"subshell":s=f6(r.subshell);break;case"command":s=r.envs.some(a=>a.args.some(n=>kv(n)))||r.args.some(a=>kv(a));break}if(s)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function SI(t,e=[],{baseFs:r=new Yn,builtins:s={},cwd:a=ue.toPortablePath(process.cwd()),env:n=process.env,stdin:c=process.stdin,stdout:f=process.stdout,stderr:p=process.stderr,variables:h={},glob:E=PT}={}){let C={};for(let[I,R]of Object.entries(n))typeof R<"u"&&(C[I]=R);let S=new Map(xmt);for(let[I,R]of Object.entries(s))S.set(I,R);c===null&&(c=new Jl.PassThrough,c.end());let P=vx(t,E);if(!f6(P)&&P.length>0&&e.length>0){let{command:I}=P[P.length-1];for(;I.then;)I=I.then.line;let R=I.chain;for(;R.then;)R=R.then.chain;R.type==="command"&&(R.args=R.args.concat(e.map(N=>({type:"argument",segments:[{type:"text",text:N}]}))))}return await TT(P,{args:e,baseFs:r,builtins:S,initialStdin:c,initialStdout:f,initialStderr:p,glob:E},{cwd:a,environment:C,exitCode:null,procedures:{},stdin:c,stdout:f,stderr:p,variables:Object.assign({},h,{"?":0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var gme,dme,Jl,mme,xmt,Qmt,bv=It(()=>{bt();Bc();gme=et(g4()),dme=ye("os"),Jl=ye("stream"),mme=ye("timers/promises");$de();eme();ime();c6();c6();xmt=new Map([["cd",async([t=(0,dme.homedir)(),...e],r,s)=>{let a=K.resolve(s.cwd,ue.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(c=>{throw c.code==="ENOENT"?new Kl(`cd: no such file or directory: ${t}`):c})).isDirectory())throw new Kl(`cd: not a directory: ${t}`);return s.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${ue.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,s)=>s.exitCode=parseInt(t??s.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new Kl("sleep: missing operand");let s=Number(t);if(Number.isNaN(s))throw new Kl(`sleep: invalid time interval '${t}'`);return await(0,mme.setTimeout)(1e3*s,0)}],["unset",async(t,e,r)=>{for(let s of t)delete r.environment[s],delete r.variables[s];return 0}],["__ysh_run_procedure",async(t,e,r)=>{let s=r.procedures[t[0]];return await xT(s,{stdin:new Mc(r.stdin),stdout:new Mc(r.stdout),stderr:new Mc(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let s=r.stdin,a=r.stdout,n=r.stderr,c=[],f=[],p=[],h=0;for(;t[h]!=="--";){let C=t[h++],{type:S,fd:P}=JSON.parse(C),I=W=>{switch(P){case null:case 0:c.push(W);break;default:throw new Error(`Unsupported file descriptor: "${P}"`)}},R=W=>{switch(P){case null:case 1:f.push(W);break;case 2:p.push(W);break;default:throw new Error(`Unsupported file descriptor: "${P}"`)}},N=Number(t[h++]),U=h+N;for(let W=h;We.baseFs.createReadStream(K.resolve(r.cwd,ue.toPortablePath(t[W]))));break;case"<<<":I(()=>{let te=new Jl.PassThrough;return process.nextTick(()=>{te.write(`${t[W]} +`),te.end()}),te});break;case"<&":I(()=>fme(Number(t[W]),1,r));break;case">":case">>":{let te=K.resolve(r.cwd,ue.toPortablePath(t[W]));R(te==="/dev/null"?new Jl.Writable({autoDestroy:!0,emitClose:!0,write(ie,Ae,ce){setImmediate(ce)}}):e.baseFs.createWriteStream(te,S===">>"?{flags:"a"}:void 0))}break;case">&":R(fme(Number(t[W]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${S}"`)}}if(c.length>0){let C=new Jl.PassThrough;s=C;let S=P=>{if(P===c.length)C.end();else{let I=c[P]();I.pipe(C,{end:!1}),I.on("end",()=>{S(P+1)})}};S(0)}if(f.length>0){let C=new Jl.PassThrough;a=C;for(let S of f)C.pipe(S)}if(p.length>0){let C=new Jl.PassThrough;n=C;for(let S of p)C.pipe(S)}let E=await xT(xv(t.slice(h+1),e,r),{stdin:new Mc(s),stdout:new Mc(a),stderr:new Mc(n)}).run();return await Promise.all(f.map(C=>new Promise((S,P)=>{C.on("error",I=>{P(I)}),C.on("close",()=>{S()}),C.end()}))),await Promise.all(p.map(C=>new Promise((S,P)=>{C.on("error",I=>{P(I)}),C.on("close",()=>{S()}),C.end()}))),E}]]);Qmt={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var RT=L((y$t,Ime)=>{function Omt(t,e){for(var r=-1,s=t==null?0:t.length,a=Array(s);++r{var Cme=Yd(),Lmt=RT(),Mmt=xc(),_mt=aI(),Umt=1/0,wme=Cme?Cme.prototype:void 0,Bme=wme?wme.toString:void 0;function vme(t){if(typeof t=="string")return t;if(Mmt(t))return Lmt(t,vme)+"";if(_mt(t))return Bme?Bme.call(t):"";var e=t+"";return e=="0"&&1/t==-Umt?"-0":e}Sme.exports=vme});var Tv=L((I$t,bme)=>{var Hmt=Dme();function jmt(t){return t==null?"":Hmt(t)}bme.exports=jmt});var A6=L((C$t,Pme)=>{function qmt(t,e,r){var s=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++s{var Gmt=A6();function Wmt(t,e,r){var s=t.length;return r=r===void 0?s:r,!e&&r>=s?t:Gmt(t,e,r)}xme.exports=Wmt});var p6=L((B$t,Qme)=>{var Ymt="\\ud800-\\udfff",Vmt="\\u0300-\\u036f",Kmt="\\ufe20-\\ufe2f",Jmt="\\u20d0-\\u20ff",zmt=Vmt+Kmt+Jmt,Zmt="\\ufe0e\\ufe0f",Xmt="\\u200d",$mt=RegExp("["+Xmt+Ymt+zmt+Zmt+"]");function eyt(t){return $mt.test(t)}Qme.exports=eyt});var Rme=L((v$t,Tme)=>{function tyt(t){return t.split("")}Tme.exports=tyt});var Hme=L((S$t,Ume)=>{var Fme="\\ud800-\\udfff",ryt="\\u0300-\\u036f",nyt="\\ufe20-\\ufe2f",iyt="\\u20d0-\\u20ff",syt=ryt+nyt+iyt,oyt="\\ufe0e\\ufe0f",ayt="["+Fme+"]",h6="["+syt+"]",g6="\\ud83c[\\udffb-\\udfff]",lyt="(?:"+h6+"|"+g6+")",Nme="[^"+Fme+"]",Ome="(?:\\ud83c[\\udde6-\\uddff]){2}",Lme="[\\ud800-\\udbff][\\udc00-\\udfff]",cyt="\\u200d",Mme=lyt+"?",_me="["+oyt+"]?",uyt="(?:"+cyt+"(?:"+[Nme,Ome,Lme].join("|")+")"+_me+Mme+")*",fyt=_me+Mme+uyt,Ayt="(?:"+[Nme+h6+"?",h6,Ome,Lme,ayt].join("|")+")",pyt=RegExp(g6+"(?="+g6+")|"+Ayt+fyt,"g");function hyt(t){return t.match(pyt)||[]}Ume.exports=hyt});var qme=L((D$t,jme)=>{var gyt=Rme(),dyt=p6(),myt=Hme();function yyt(t){return dyt(t)?myt(t):gyt(t)}jme.exports=yyt});var Wme=L((b$t,Gme)=>{var Eyt=kme(),Iyt=p6(),Cyt=qme(),wyt=Tv();function Byt(t){return function(e){e=wyt(e);var r=Iyt(e)?Cyt(e):void 0,s=r?r[0]:e.charAt(0),a=r?Eyt(r,1).join(""):e.slice(1);return s[t]()+a}}Gme.exports=Byt});var Vme=L((P$t,Yme)=>{var vyt=Wme(),Syt=vyt("toUpperCase");Yme.exports=Syt});var d6=L((x$t,Kme)=>{var Dyt=Tv(),byt=Vme();function Pyt(t){return byt(Dyt(t).toLowerCase())}Kme.exports=Pyt});var Jme=L((k$t,FT)=>{function xyt(){var t=0,e=1,r=2,s=3,a=4,n=5,c=6,f=7,p=8,h=9,E=10,C=11,S=12,P=13,I=14,R=15,N=16,U=17,W=0,te=1,ie=2,Ae=3,ce=4;function me(g,we){return 55296<=g.charCodeAt(we)&&g.charCodeAt(we)<=56319&&56320<=g.charCodeAt(we+1)&&g.charCodeAt(we+1)<=57343}function pe(g,we){we===void 0&&(we=0);var Ee=g.charCodeAt(we);if(55296<=Ee&&Ee<=56319&&we=1){var fe=g.charCodeAt(we-1),se=Ee;return 55296<=fe&&fe<=56319?(fe-55296)*1024+(se-56320)+65536:se}return Ee}function Be(g,we,Ee){var fe=[g].concat(we).concat([Ee]),se=fe[fe.length-2],X=Ee,De=fe.lastIndexOf(I);if(De>1&&fe.slice(1,De).every(function(j){return j==s})&&[s,P,U].indexOf(g)==-1)return ie;var Re=fe.lastIndexOf(a);if(Re>0&&fe.slice(1,Re).every(function(j){return j==a})&&[S,a].indexOf(se)==-1)return fe.filter(function(j){return j==a}).length%2==1?Ae:ce;if(se==t&&X==e)return W;if(se==r||se==t||se==e)return X==I&&we.every(function(j){return j==s})?ie:te;if(X==r||X==t||X==e)return te;if(se==c&&(X==c||X==f||X==h||X==E))return W;if((se==h||se==f)&&(X==f||X==p))return W;if((se==E||se==p)&&X==p)return W;if(X==s||X==R)return W;if(X==n)return W;if(se==S)return W;var gt=fe.indexOf(s)!=-1?fe.lastIndexOf(s)-1:fe.length-2;return[P,U].indexOf(fe[gt])!=-1&&fe.slice(gt+1,-1).every(function(j){return j==s})&&X==I||se==R&&[N,U].indexOf(X)!=-1?W:we.indexOf(a)!=-1?ie:se==a&&X==a?W:te}this.nextBreak=function(g,we){if(we===void 0&&(we=0),we<0)return 0;if(we>=g.length-1)return g.length;for(var Ee=Ce(pe(g,we)),fe=[],se=we+1;se{var kyt=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,NT;function Qyt(){if(NT)return NT;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return NT=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=Jme(),e=new t;return NT=r=>e.splitGraphemes(r)}}zme.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let s=r-e,a="",n=0,c=0;for(;t.length>0;){let f=t.match(kyt)||[t,t,void 0],p=Qyt()(f[1]),h=Math.min(e-n,p.length);p=p.slice(h);let E=Math.min(s-c,p.length);a+=p.slice(0,E).join(""),n+=h,c+=E,typeof f[2]<"u"&&(a+=f[2]),t=t.slice(f[0].length)}return a}});var un,Rv=It(()=>{un=process.env.YARN_IS_TEST_ENV?"0.0.0":"4.9.1"});function nye(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=Vf(t===null?0:t);return!r&&t===null?Ut(e,a,"grey"):a}function m6(t,{configuration:e,json:r}){let s=nye(t,{configuration:e,json:r});if(!s||t===null||t===0)return s;let a=Dr[t],n=`https://yarnpkg.com/advanced/error-codes#${s}---${a}`.toLowerCase();return JE(e,s,n)}async function DI({configuration:t,stdout:e,forceError:r},s){let a=await Ot.start({configuration:t,stdout:e,includeFooter:!1},async n=>{let c=!1,f=!1;for(let p of s)typeof p.option<"u"&&(p.error||r?(f=!0,n.reportError(50,p.message)):(c=!0,n.reportWarning(50,p.message)),p.callback?.());c&&!f&&n.reportSeparator()});return a.hasErrors()?a.exitCode():null}var tye,OT,Tyt,Xme,$me,b0,rye,eye,Ryt,Fyt,LT,Nyt,Ot,Fv=It(()=>{tye=et(Zme()),OT=et(Nd());nk();Fc();Rv();Qc();Tyt="\xB7",Xme=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],$me=80,b0=OT.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:OT.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:OT.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,rye=b0!==null,eye=new Date,Ryt=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,Fyt=t=>t,LT=Fyt({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),Nyt=Ryt&&Object.keys(LT).find(t=>{let e=LT[t];return!(e.date&&(e.date[0]!==eye.getDate()||e.date[1]!==eye.getMonth()+1))})||"default";Ot=class extends ho{constructor({configuration:r,stdout:s,json:a=!1,forceSectionAlignment:n=!1,includeNames:c=!0,includePrefix:f=!0,includeFooter:p=!0,includeLogs:h=!a,includeInfos:E=h,includeWarnings:C=h}){super();this.uncommitted=new Set;this.warningCount=0;this.errorCount=0;this.timerFooter=[];this.startTime=Date.now();this.indent=0;this.level=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;if(YB(this,{configuration:r}),this.configuration=r,this.forceSectionAlignment=n,this.includeNames=c,this.includePrefix=f,this.includeFooter=p,this.includeInfos=E,this.includeWarnings=C,this.json=a,this.stdout=s,r.get("enableProgressBars")&&!a&&s.isTTY&&s.columns>22){let S=r.get("progressBarStyle")||Nyt;if(!Object.hasOwn(LT,S))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=LT[S];let P=Math.min(this.getRecommendedLength(),80);this.progressMaxScaledSize=Math.floor(this.progressStyle.size*P/80)}}static async start(r,s){let a=new this(r),n=process.emitWarning;process.emitWarning=(c,f)=>{if(typeof c!="string"){let h=c;c=h.message,f=f??h.name}let p=typeof f<"u"?`${f}: ${c}`:c;a.reportWarning(0,p)},r.includeVersion&&a.reportInfo(0,zd(r.configuration,`Yarn ${un}`,2));try{await s(a)}catch(c){a.reportExceptionOnce(c)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}getRecommendedLength(){let s=this.progressStyle!==null?this.stdout.columns-1:super.getRecommendedLength();return Math.max(40,s-12-this.indent*2)}startSectionSync({reportHeader:r,reportFooter:s,skipIfEmpty:a},n){let c={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(c):(c.action(),c.committed=!0);let f=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(c),c.committed&&s?.(p-f)}}async startSectionPromise({reportHeader:r,reportFooter:s,skipIfEmpty:a},n){let c={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(c):(c.action(),c.committed=!0);let f=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(c),c.committed&&s?.(p-f)}}startTimerImpl(r,s,a){return{cb:typeof s=="function"?s:a,reportHeader:()=>{this.level+=1,this.reportInfo(null,`\u250C ${r}`),this.indent+=1,b0!==null&&!this.json&&this.includeInfos&&this.stdout.write(b0.start(r))},reportFooter:f=>{if(this.indent-=1,b0!==null&&!this.json&&this.includeInfos){this.stdout.write(b0.end(r));for(let p of this.timerFooter)p()}this.configuration.get("enableTimers")&&f>200?this.reportInfo(null,`\u2514 Completed in ${Ut(this.configuration,f,Ct.DURATION)}`):this.reportInfo(null,"\u2514 Completed"),this.level-=1},skipIfEmpty:(typeof s=="function"?{}:s).skipIfEmpty}}startTimerSync(r,s,a){let{cb:n,...c}=this.startTimerImpl(r,s,a);return this.startSectionSync(c,n)}async startTimerPromise(r,s,a){let{cb:n,...c}=this.startTimerImpl(r,s,a);return this.startSectionPromise(c,n)}reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(null,"")}reportInfo(r,s){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",c=`${this.formatPrefix(n,"blueBright")}${s}`;this.json?this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:s}):this.writeLine(c)}reportWarning(r,s){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:s}):this.writeLine(`${this.formatPrefix(n,"yellowBright")}${s}`)}reportError(r,s){this.errorCount+=1,this.timerFooter.push(()=>this.reportErrorImpl(r,s)),this.reportErrorImpl(r,s)}reportErrorImpl(r,s){this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:s}):this.writeLine(`${this.formatPrefix(n,"redBright")}${s}`,{truncate:!1})}reportFold(r,s){if(!b0)return;let a=`${b0.start(r)}${s}${b0.end(r)}`;this.timerFooter.push(()=>this.stdout.write(a))}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let s=!1,a=Promise.resolve().then(async()=>{let c={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:c,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:f,title:p}of r)s||c.progress===f&&c.title===p||(c.progress=f,c.title=p,this.refreshProgress());n()}),n=()=>{s||(s=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLine(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let s=Ut(this.configuration,Date.now()-this.startTime,Ct.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${s}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:s}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:s})} +`),this.writeProgress()}writeLines(r,{truncate:s}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:s})} +`);this.writeProgress()}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let s of r)s.committed=!0,s.action()}clearProgress({delta:r=0,clear:s=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||s)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>$me&&(this.progressFrame=(this.progressFrame+1)%Xme.length,this.progressTime=r);let s=Xme[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),E=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${E}`}let c=this.formatName(null),f=c?`${c}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Ut(this.configuration,"\u27A4","blueBright")} ${f}${s}${n}${p} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},$me)}refreshProgress({delta:r=0,force:s=!1}={}){let a=!1,n=!1;if(s||this.progress.size===0)a=!0;else for(let c of this.progress.values()){let f=typeof c.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*c.definition.progress):void 0,p=c.lastScaledSize;c.lastScaledSize=f;let h=c.lastTitle;if(c.lastTitle=c.definition.title,f!==p||(n=h!==c.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:s}={}){return this.progressStyle===null&&(s=!1),typeof s>"u"&&(s=this.configuration.get("preferTruncatedLines")),s&&(r=(0,tye.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?nye(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,s){return this.includePrefix?`${Ut(this.configuration,"\u27A4",s)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?m6(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ".repeat(this.indent):`${Tyt} `}}});var In={};Vt(In,{PackageManager:()=>oye,detectPackageManager:()=>aye,executePackageAccessibleBinary:()=>Aye,executePackageScript:()=>MT,executePackageShellcode:()=>y6,executeWorkspaceAccessibleBinary:()=>jyt,executeWorkspaceLifecycleScript:()=>uye,executeWorkspaceScript:()=>cye,getPackageAccessibleBinaries:()=>_T,getWorkspaceAccessibleBinaries:()=>fye,hasPackageScript:()=>_yt,hasWorkspaceScript:()=>E6,isNodeScript:()=>I6,makeScriptEnv:()=>Nv,maybeExecuteWorkspaceLifecycleScript:()=>Hyt,prepareExternalProject:()=>Myt});async function P0(t,e,r,s=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${s.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await le.writeFilePromise(K.format({dir:t,name:e,ext:".cmd"}),a)}await le.writeFilePromise(K.join(t,e),`#!/bin/sh +exec "${r}" ${s.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function aye(t){let e=await Ht.tryFind(t);if(e?.packageManager){let s=xQ(e.packageManager);if(s?.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=s.reference.split(".");switch(s.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await le.readFilePromise(K.join(t,Er.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:le.existsSync(K.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:le.existsSync(K.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Nv({project:t,locator:e,binFolder:r,ignoreCorepack:s,lifecycleScript:a,baseEnv:n=t?.configuration.env??process.env}){let c={};for(let[E,C]of Object.entries(n))typeof C<"u"&&(c[E.toLowerCase()!=="path"?E:"PATH"]=C);let f=ue.fromPortablePath(r);c.BERRY_BIN_FOLDER=ue.fromPortablePath(f);let p=process.env.COREPACK_ROOT&&!s?ue.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([P0(r,"node",process.execPath),...un!==null?[P0(r,"run",process.execPath,[p,"run"]),P0(r,"yarn",process.execPath,[p]),P0(r,"yarnpkg",process.execPath,[p]),P0(r,"node-gyp",process.execPath,[p,"run","--top-level","node-gyp"])]:[]]),t&&(c.INIT_CWD=ue.fromPortablePath(t.configuration.startingCwd),c.PROJECT_CWD=ue.fromPortablePath(t.cwd)),c.PATH=c.PATH?`${f}${ue.delimiter}${c.PATH}`:`${f}`,c.npm_execpath=`${f}${ue.sep}yarn`,c.npm_node_execpath=`${f}${ue.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let E=t.tryWorkspaceByLocator(e),C=E?E.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";c.npm_package_name=cn(e),c.npm_package_version=C;let S;if(E)S=E.cwd;else{let P=t.storedPackages.get(e.locatorHash);if(!P)throw new Error(`Package for ${Yr(t.configuration,e)} not found in the project`);let I=t.configuration.getLinkers(),R={project:t,report:new Ot({stdout:new x0.PassThrough,configuration:t.configuration})},N=I.find(U=>U.supportsPackage(P,R));if(!N)throw new Error(`The package ${Yr(t.configuration,P)} isn't supported by any of the available linkers`);S=await N.findPackageLocation(P,R)}c.npm_package_json=ue.fromPortablePath(K.join(S,Er.manifest))}let h=un!==null?`yarn/${un}`:`yarn/${kp("@yarnpkg/core").version}-core`;return c.npm_config_user_agent=`${h} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(c.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(E=>E.setupScriptEnvironment,t,c,async(E,C,S)=>await P0(r,E,C,S)),c}async function Myt(t,e,{configuration:r,report:s,workspace:a=null,locator:n=null}){await Lyt(async()=>{await le.mktempPromise(async c=>{let f=K.join(c,"pack.log"),p=null,{stdout:h,stderr:E}=r.getSubprocessStreams(f,{prefix:ue.fromPortablePath(t),report:s}),C=n&&Gu(n)?rI(n):n,S=C?cl(C):"an external project";h.write(`Packing ${S} from sources +`);let P=await aye(t),I;P!==null?(h.write(`Using ${P.packageManager} for bootstrap. Reason: ${P.reason} + +`),I=P.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn + +`),I="Yarn");let R=I==="Yarn"&&!P?.packageManagerField;await le.mktempPromise(async N=>{let U=await Nv({binFolder:N,ignoreCorepack:R,baseEnv:{...process.env,COREPACK_ENABLE_AUTO_PIN:"0"}}),te=new Map([["Yarn Classic",async()=>{let Ae=a!==null?["workspace",a]:[],ce=K.join(t,Er.manifest),me=await le.readFilePromise(ce),pe=await Yu(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(pe.code!==0)return pe.code;await le.writeFilePromise(ce,me),await le.appendFilePromise(K.join(t,".npmignore"),`/.yarn +`),h.write(` +`),delete U.NODE_ENV;let Be=await Yu("yarn",["install"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(Be.code!==0)return Be.code;h.write(` +`);let Ce=await Yu("yarn",[...Ae,"pack","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return Ce.code!==0?Ce.code:0}],["Yarn",async()=>{let Ae=a!==null?["workspace",a]:[];U.YARN_ENABLE_INLINE_BUILDS="1";let ce=K.join(t,Er.lockfile);await le.existsPromise(ce)||await le.writeFilePromise(ce,"");let me=await Yu("yarn",[...Ae,"pack","--install-if-needed","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return me.code!==0?me.code:0}],["npm",async()=>{if(a!==null){let we=new x0.PassThrough,Ee=WE(we);we.pipe(h,{end:!1});let fe=await Yu("npm",["--version"],{cwd:t,env:U,stdin:p,stdout:we,stderr:E,end:0});if(we.end(),fe.code!==0)return h.end(),E.end(),fe.code;let se=(await Ee).toString().trim();if(!eA(se,">=7.x")){let X=ba(null,"npm"),De=On(X,se),Re=On(X,">=7.x");throw new Error(`Workspaces aren't supported by ${ri(r,De)}; please upgrade to ${ri(r,Re)} (npm has been detected as the primary package manager for ${Ut(r,t,Ct.PATH)})`)}}let Ae=a!==null?["--workspace",a]:[];delete U.npm_config_user_agent,delete U.npm_config_production,delete U.NPM_CONFIG_PRODUCTION,delete U.NODE_ENV;let ce=await Yu("npm",["install","--legacy-peer-deps"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(ce.code!==0)return ce.code;let me=new x0.PassThrough,pe=WE(me);me.pipe(h);let Be=await Yu("npm",["pack","--silent",...Ae],{cwd:t,env:U,stdin:p,stdout:me,stderr:E});if(Be.code!==0)return Be.code;let Ce=(await pe).toString().trim().replace(/^.*\n/s,""),g=K.resolve(t,ue.toPortablePath(Ce));return await le.renamePromise(g,e),0}]]).get(I);if(typeof te>"u")throw new Error("Assertion failed: Unsupported workflow");let ie=await te();if(!(ie===0||typeof ie>"u"))throw le.detachTemp(c),new Yt(58,`Packing the package failed (exit code ${ie}, logs can be found here: ${Ut(r,f,Ct.PATH)})`)})})})}async function _yt(t,e,{project:r}){let s=r.tryWorkspaceByLocator(t);if(s!==null)return E6(s,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${Yr(r.configuration,t)} not found in the project`);return await tA.openPromise(async n=>{let c=r.configuration,f=r.configuration.getLinkers(),p={project:r,report:new Ot({stdout:new x0.PassThrough,configuration:c})},h=f.find(P=>P.supportsPackage(a,p));if(!h)throw new Error(`The package ${Yr(r.configuration,a)} isn't supported by any of the available linkers`);let E=await h.findPackageLocation(a,p),C=new Sn(E,{baseFs:n});return(await Ht.find(vt.dot,{baseFs:C})).scripts.has(e)})}async function MT(t,e,r,{cwd:s,project:a,stdin:n,stdout:c,stderr:f}){return await le.mktempPromise(async p=>{let{manifest:h,env:E,cwd:C}=await lye(t,{project:a,binFolder:p,cwd:s,lifecycleScript:e}),S=h.scripts.get(e);if(typeof S>"u")return 1;let P=async()=>await SI(S,r,{cwd:C,env:E,stdin:n,stdout:c,stderr:f});return await(await a.configuration.reduceHook(R=>R.wrapScriptExecution,P,a,t,e,{script:S,args:r,cwd:C,env:E,stdin:n,stdout:c,stderr:f}))()})}async function y6(t,e,r,{cwd:s,project:a,stdin:n,stdout:c,stderr:f}){return await le.mktempPromise(async p=>{let{env:h,cwd:E}=await lye(t,{project:a,binFolder:p,cwd:s});return await SI(e,r,{cwd:E,env:h,stdin:n,stdout:c,stderr:f})})}async function Uyt(t,{binFolder:e,cwd:r,lifecycleScript:s}){let a=await Nv({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:s});return await C6(e,await fye(t)),typeof r>"u"&&(r=K.dirname(await le.realpathPromise(K.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function lye(t,{project:e,binFolder:r,cwd:s,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return Uyt(n,{binFolder:r,cwd:s,lifecycleScript:a});let c=e.storedPackages.get(t.locatorHash);if(!c)throw new Error(`Package for ${Yr(e.configuration,t)} not found in the project`);return await tA.openPromise(async f=>{let p=e.configuration,h=e.configuration.getLinkers(),E={project:e,report:new Ot({stdout:new x0.PassThrough,configuration:p})},C=h.find(N=>N.supportsPackage(c,E));if(!C)throw new Error(`The package ${Yr(e.configuration,c)} isn't supported by any of the available linkers`);let S=await Nv({project:e,locator:t,binFolder:r,lifecycleScript:a});await C6(r,await _T(t,{project:e}));let P=await C.findPackageLocation(c,E),I=new Sn(P,{baseFs:f}),R=await Ht.find(vt.dot,{baseFs:I});return typeof s>"u"&&(s=P),{manifest:R,binFolder:r,env:S,cwd:s}})}async function cye(t,e,r,{cwd:s,stdin:a,stdout:n,stderr:c}){return await MT(t.anchoredLocator,e,r,{cwd:s,project:t.project,stdin:a,stdout:n,stderr:c})}function E6(t,e){return t.manifest.scripts.has(e)}async function uye(t,e,{cwd:r,report:s}){let{configuration:a}=t.project,n=null;await le.mktempPromise(async c=>{let f=K.join(c,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${ue.fromPortablePath(t.cwd)}") +`,{stdout:h,stderr:E}=a.getSubprocessStreams(f,{report:s,prefix:Yr(a,t.anchoredLocator),header:p});s.reportInfo(36,`Calling the "${e}" lifecycle script`);let C=await cye(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:E});if(h.end(),E.end(),C!==0)throw le.detachTemp(c),new Yt(36,`${(0,iye.default)(e)} script failed (exit code ${Ut(a,C,Ct.NUMBER)}, logs can be found here: ${Ut(a,f,Ct.PATH)}); run ${Ut(a,`yarn ${e}`,Ct.CODE)} to investigate`)})}async function Hyt(t,e,r){E6(t,e)&&await uye(t,e,r)}function I6(t){let e=K.extname(t);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let r=Buffer.alloc(4),s;try{s=le.openSync(t,"r")}catch{return!0}try{le.readSync(s,r,0,r.length,0)}finally{le.closeSync(s)}let a=r.readUint32BE();return!(a===3405691582||a===3489328638||a===2135247942||(a&4294901760)===1297743872)}async function _T(t,{project:e}){let r=e.configuration,s=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${Yr(r,t)} not found in the project`);let n=new x0.Writable,c=r.getLinkers(),f={project:e,report:new Ot({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let E of a.dependencies.values()){let C=e.storedResolutions.get(E.descriptorHash);if(!C)throw new Error(`Assertion failed: The resolution (${ri(r,E)}) should have been registered`);p.add(C)}let h=await Promise.all(Array.from(p,async E=>{let C=e.storedPackages.get(E);if(!C)throw new Error(`Assertion failed: The package (${E}) should have been registered`);if(C.bin.size===0)return Yl.skip;let S=c.find(I=>I.supportsPackage(C,f));if(!S)return Yl.skip;let P=null;try{P=await S.findPackageLocation(C,f)}catch(I){if(I.code==="LOCATOR_NOT_INSTALLED")return Yl.skip;throw I}return{dependency:C,packageLocation:P}}));for(let E of h){if(E===Yl.skip)continue;let{dependency:C,packageLocation:S}=E;for(let[P,I]of C.bin){let R=K.resolve(S,I);s.set(P,[C,ue.fromPortablePath(R),I6(R)])}}return s}async function fye(t){return await _T(t.anchoredLocator,{project:t.project})}async function C6(t,e){await Promise.all(Array.from(e,([r,[,s,a]])=>a?P0(t,r,process.execPath,[s]):P0(t,r,s,[])))}async function Aye(t,e,r,{cwd:s,project:a,stdin:n,stdout:c,stderr:f,nodeArgs:p=[],packageAccessibleBinaries:h}){h??=await _T(t,{project:a});let E=h.get(e);if(!E)throw new Error(`Binary not found (${e}) for ${Yr(a.configuration,t)}`);return await le.mktempPromise(async C=>{let[,S]=E,P=await Nv({project:a,locator:t,binFolder:C});await C6(P.BERRY_BIN_FOLDER,h);let I=I6(ue.toPortablePath(S))?Yu(process.execPath,[...p,S,...r],{cwd:s,env:P,stdin:n,stdout:c,stderr:f}):Yu(S,r,{cwd:s,env:P,stdin:n,stdout:c,stderr:f}),R;try{R=await I}finally{await le.removePromise(P.BERRY_BIN_FOLDER)}return R.code})}async function jyt(t,e,r,{cwd:s,stdin:a,stdout:n,stderr:c,packageAccessibleBinaries:f}){return await Aye(t.anchoredLocator,e,r,{project:t.project,cwd:s,stdin:a,stdout:n,stderr:c,packageAccessibleBinaries:f})}var iye,sye,x0,oye,Oyt,Lyt,w6=It(()=>{bt();bt();rA();bv();iye=et(d6()),sye=et(Md()),x0=ye("stream");oI();Fc();Fv();Rv();dT();Qc();kc();Np();Yo();oye=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(oye||{});Oyt=2,Lyt=(0,sye.default)(Oyt)});var bI=L((X$t,hye)=>{"use strict";var pye=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);hye.exports=t=>t?Object.keys(t).map(e=>[pye.has(e)?pye.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var xI=L(($$t,Bye)=>{"use strict";var gye=typeof process=="object"&&process?process:{stdout:null,stderr:null},qyt=ye("events"),dye=ye("stream"),mye=ye("string_decoder").StringDecoder,qp=Symbol("EOF"),Gp=Symbol("maybeEmitEnd"),k0=Symbol("emittedEnd"),UT=Symbol("emittingEnd"),Ov=Symbol("emittedError"),HT=Symbol("closed"),yye=Symbol("read"),jT=Symbol("flush"),Eye=Symbol("flushChunk"),fl=Symbol("encoding"),Wp=Symbol("decoder"),qT=Symbol("flowing"),Lv=Symbol("paused"),PI=Symbol("resume"),Vs=Symbol("bufferLength"),B6=Symbol("bufferPush"),v6=Symbol("bufferShift"),zo=Symbol("objectMode"),Zo=Symbol("destroyed"),S6=Symbol("emitData"),Iye=Symbol("emitEnd"),D6=Symbol("emitEnd2"),Yp=Symbol("async"),Mv=t=>Promise.resolve().then(t),Cye=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Gyt=Cye&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),Wyt=Cye&&Symbol.iterator||Symbol("iterator not implemented"),Yyt=t=>t==="end"||t==="finish"||t==="prefinish",Vyt=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,Kyt=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),GT=class{constructor(e,r,s){this.src=e,this.dest=r,this.opts=s,this.ondrain=()=>e[PI](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},b6=class extends GT{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,s){super(e,r,s),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};Bye.exports=class wye extends dye{constructor(e){super(),this[qT]=!1,this[Lv]=!1,this.pipes=[],this.buffer=[],this[zo]=e&&e.objectMode||!1,this[zo]?this[fl]=null:this[fl]=e&&e.encoding||null,this[fl]==="buffer"&&(this[fl]=null),this[Yp]=e&&!!e.async||!1,this[Wp]=this[fl]?new mye(this[fl]):null,this[qp]=!1,this[k0]=!1,this[UT]=!1,this[HT]=!1,this[Ov]=null,this.writable=!0,this.readable=!0,this[Vs]=0,this[Zo]=!1}get bufferLength(){return this[Vs]}get encoding(){return this[fl]}set encoding(e){if(this[zo])throw new Error("cannot set encoding in objectMode");if(this[fl]&&e!==this[fl]&&(this[Wp]&&this[Wp].lastNeed||this[Vs]))throw new Error("cannot change encoding");this[fl]!==e&&(this[Wp]=e?new mye(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Wp].write(r)))),this[fl]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[zo]}set objectMode(e){this[zo]=this[zo]||!!e}get async(){return this[Yp]}set async(e){this[Yp]=this[Yp]||!!e}write(e,r,s){if(this[qp])throw new Error("write after end");if(this[Zo])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(s=r,r="utf8"),r||(r="utf8");let a=this[Yp]?Mv:n=>n();return!this[zo]&&!Buffer.isBuffer(e)&&(Kyt(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Vyt(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[zo]?(this.flowing&&this[Vs]!==0&&this[jT](!0),this.flowing?this.emit("data",e):this[B6](e),this[Vs]!==0&&this.emit("readable"),s&&a(s),this.flowing):e.length?(typeof e=="string"&&!(r===this[fl]&&!this[Wp].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[fl]&&(e=this[Wp].write(e)),this.flowing&&this[Vs]!==0&&this[jT](!0),this.flowing?this.emit("data",e):this[B6](e),this[Vs]!==0&&this.emit("readable"),s&&a(s),this.flowing):(this[Vs]!==0&&this.emit("readable"),s&&a(s),this.flowing)}read(e){if(this[Zo])return null;if(this[Vs]===0||e===0||e>this[Vs])return this[Gp](),null;this[zo]&&(e=null),this.buffer.length>1&&!this[zo]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Vs])]);let r=this[yye](e||null,this.buffer[0]);return this[Gp](),r}[yye](e,r){return e===r.length||e===null?this[v6]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[Vs]-=e),this.emit("data",r),!this.buffer.length&&!this[qp]&&this.emit("drain"),r}end(e,r,s){return typeof e=="function"&&(s=e,e=null),typeof r=="function"&&(s=r,r="utf8"),e&&this.write(e,r),s&&this.once("end",s),this[qp]=!0,this.writable=!1,(this.flowing||!this[Lv])&&this[Gp](),this}[PI](){this[Zo]||(this[Lv]=!1,this[qT]=!0,this.emit("resume"),this.buffer.length?this[jT]():this[qp]?this[Gp]():this.emit("drain"))}resume(){return this[PI]()}pause(){this[qT]=!1,this[Lv]=!0}get destroyed(){return this[Zo]}get flowing(){return this[qT]}get paused(){return this[Lv]}[B6](e){this[zo]?this[Vs]+=1:this[Vs]+=e.length,this.buffer.push(e)}[v6](){return this.buffer.length&&(this[zo]?this[Vs]-=1:this[Vs]-=this.buffer[0].length),this.buffer.shift()}[jT](e){do;while(this[Eye](this[v6]()));!e&&!this.buffer.length&&!this[qp]&&this.emit("drain")}[Eye](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Zo])return;let s=this[k0];return r=r||{},e===gye.stdout||e===gye.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,s?r.end&&e.end():(this.pipes.push(r.proxyErrors?new b6(this,e,r):new GT(this,e,r)),this[Yp]?Mv(()=>this[PI]()):this[PI]()),e}unpipe(e){let r=this.pipes.find(s=>s.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let s=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[PI]():e==="readable"&&this[Vs]!==0?super.emit("readable"):Yyt(e)&&this[k0]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[Ov]&&(this[Yp]?Mv(()=>r.call(this,this[Ov])):r.call(this,this[Ov])),s}get emittedEnd(){return this[k0]}[Gp](){!this[UT]&&!this[k0]&&!this[Zo]&&this.buffer.length===0&&this[qp]&&(this[UT]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[HT]&&this.emit("close"),this[UT]=!1)}emit(e,r,...s){if(e!=="error"&&e!=="close"&&e!==Zo&&this[Zo])return;if(e==="data")return r?this[Yp]?Mv(()=>this[S6](r)):this[S6](r):!1;if(e==="end")return this[Iye]();if(e==="close"){if(this[HT]=!0,!this[k0]&&!this[Zo])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[Ov]=r;let n=super.emit("error",r);return this[Gp](),n}else if(e==="resume"){let n=super.emit("resume");return this[Gp](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...s);return this[Gp](),a}[S6](e){for(let s of this.pipes)s.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Gp](),r}[Iye](){this[k0]||(this[k0]=!0,this.readable=!1,this[Yp]?Mv(()=>this[D6]()):this[D6]())}[D6](){if(this[Wp]){let r=this[Wp].end();if(r){for(let s of this.pipes)s.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[zo]||(e.dataLength=0);let r=this.promise();return this.on("data",s=>{e.push(s),this[zo]||(e.dataLength+=s.length)}),r.then(()=>e)}concat(){return this[zo]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[zo]?Promise.reject(new Error("cannot concat in objectMode")):this[fl]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Zo,()=>r(new Error("stream destroyed"))),this.on("error",s=>r(s)),this.on("end",()=>e())})}[Gyt](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[qp])return Promise.resolve({done:!0});let s=null,a=null,n=h=>{this.removeListener("data",c),this.removeListener("end",f),a(h)},c=h=>{this.removeListener("error",n),this.removeListener("end",f),this.pause(),s({value:h,done:!!this[qp]})},f=()=>{this.removeListener("error",n),this.removeListener("data",c),s({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,E)=>{a=E,s=h,this.once(Zo,p),this.once("error",n),this.once("end",f),this.once("data",c)})}}}[Wyt](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Zo]?(e?this.emit("error",e):this.emit(Zo),this):(this[Zo]=!0,this.buffer.length=0,this[Vs]=0,typeof this.close=="function"&&!this[HT]&&this.close(),e?this.emit("error",e):this.emit(Zo),this)}static isStream(e){return!!e&&(e instanceof wye||e instanceof dye||e instanceof qyt&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var Sye=L((eer,vye)=>{var Jyt=ye("zlib").constants||{ZLIB_VERNUM:4736};vye.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Jyt))});var q6=L(zl=>{"use strict";var T6=ye("assert"),Q0=ye("buffer").Buffer,Pye=ye("zlib"),fm=zl.constants=Sye(),zyt=xI(),Dye=Q0.concat,Am=Symbol("_superWrite"),QI=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Zyt=Symbol("opts"),_v=Symbol("flushFlag"),bye=Symbol("finishFlushFlag"),j6=Symbol("fullFlushFlag"),Ei=Symbol("handle"),WT=Symbol("onError"),kI=Symbol("sawError"),P6=Symbol("level"),x6=Symbol("strategy"),k6=Symbol("ended"),ter=Symbol("_defaultFullFlush"),YT=class extends zyt{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[kI]=!1,this[k6]=!1,this[Zyt]=e,this[_v]=e.flush,this[bye]=e.finishFlush;try{this[Ei]=new Pye[r](e)}catch(s){throw new QI(s)}this[WT]=s=>{this[kI]||(this[kI]=!0,this.close(),this.emit("error",s))},this[Ei].on("error",s=>this[WT](new QI(s))),this.once("end",()=>this.close)}close(){this[Ei]&&(this[Ei].close(),this[Ei]=null,this.emit("close"))}reset(){if(!this[kI])return T6(this[Ei],"zlib binding closed"),this[Ei].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[j6]),this.write(Object.assign(Q0.alloc(0),{[_v]:e})))}end(e,r,s){return e&&this.write(e,r),this.flush(this[bye]),this[k6]=!0,super.end(null,null,s)}get ended(){return this[k6]}write(e,r,s){if(typeof r=="function"&&(s=r,r="utf8"),typeof e=="string"&&(e=Q0.from(e,r)),this[kI])return;T6(this[Ei],"zlib binding closed");let a=this[Ei]._handle,n=a.close;a.close=()=>{};let c=this[Ei].close;this[Ei].close=()=>{},Q0.concat=h=>h;let f;try{let h=typeof e[_v]=="number"?e[_v]:this[_v];f=this[Ei]._processChunk(e,h),Q0.concat=Dye}catch(h){Q0.concat=Dye,this[WT](new QI(h))}finally{this[Ei]&&(this[Ei]._handle=a,a.close=n,this[Ei].close=c,this[Ei].removeAllListeners("error"))}this[Ei]&&this[Ei].on("error",h=>this[WT](new QI(h)));let p;if(f)if(Array.isArray(f)&&f.length>0){p=this[Am](Q0.from(f[0]));for(let h=1;h{this.flush(a),n()};try{this[Ei].params(e,r)}finally{this[Ei].flush=s}this[Ei]&&(this[P6]=e,this[x6]=r)}}}},R6=class extends Vp{constructor(e){super(e,"Deflate")}},F6=class extends Vp{constructor(e){super(e,"Inflate")}},Q6=Symbol("_portable"),N6=class extends Vp{constructor(e){super(e,"Gzip"),this[Q6]=e&&!!e.portable}[Am](e){return this[Q6]?(this[Q6]=!1,e[9]=255,super[Am](e)):super[Am](e)}},O6=class extends Vp{constructor(e){super(e,"Gunzip")}},L6=class extends Vp{constructor(e){super(e,"DeflateRaw")}},M6=class extends Vp{constructor(e){super(e,"InflateRaw")}},_6=class extends Vp{constructor(e){super(e,"Unzip")}},VT=class extends YT{constructor(e,r){e=e||{},e.flush=e.flush||fm.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||fm.BROTLI_OPERATION_FINISH,super(e,r),this[j6]=fm.BROTLI_OPERATION_FLUSH}},U6=class extends VT{constructor(e){super(e,"BrotliCompress")}},H6=class extends VT{constructor(e){super(e,"BrotliDecompress")}};zl.Deflate=R6;zl.Inflate=F6;zl.Gzip=N6;zl.Gunzip=O6;zl.DeflateRaw=L6;zl.InflateRaw=M6;zl.Unzip=_6;typeof Pye.BrotliCompress=="function"?(zl.BrotliCompress=U6,zl.BrotliDecompress=H6):zl.BrotliCompress=zl.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var TI=L((ier,xye)=>{var Xyt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;xye.exports=Xyt!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var KT=L((oer,kye)=>{"use strict";var $yt=xI(),G6=TI(),W6=Symbol("slurp");kye.exports=class extends $yt{constructor(e,r,s){switch(super(),this.pause(),this.extended=r,this.globalExtended=s,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=G6(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=G6(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[W6](r),s&&this[W6](s,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let s=this.remain,a=this.blockRemain;return this.remain=Math.max(0,s-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:s>=r?super.write(e):super.write(e.slice(0,s))}[W6](e,r){for(let s in e)e[s]!==null&&e[s]!==void 0&&!(r&&s==="path")&&(this[s]=s==="path"||s==="linkpath"?G6(e[s]):e[s])}}});var Y6=L(JT=>{"use strict";JT.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);JT.code=new Map(Array.from(JT.name).map(t=>[t[1],t[0]]))});var Fye=L((ler,Rye)=>{"use strict";var eEt=(t,e)=>{if(Number.isSafeInteger(t))t<0?rEt(t,e):tEt(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},tEt=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},rEt=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var s=e.length;s>1;s--){var a=t&255;t=Math.floor(t/256),r?e[s-1]=Qye(a):a===0?e[s-1]=0:(r=!0,e[s-1]=Tye(a))}},nEt=t=>{let e=t[0],r=e===128?sEt(t.slice(1,t.length)):e===255?iEt(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},iEt=t=>{for(var e=t.length,r=0,s=!1,a=e-1;a>-1;a--){var n=t[a],c;s?c=Qye(n):n===0?c=n:(s=!0,c=Tye(n)),c!==0&&(r-=c*Math.pow(256,e-a-1))}return r},sEt=t=>{for(var e=t.length,r=0,s=e-1;s>-1;s--){var a=t[s];a!==0&&(r+=a*Math.pow(256,e-s-1))}return r},Qye=t=>(255^t)&255,Tye=t=>(255^t)+1&255;Rye.exports={encode:eEt,parse:nEt}});var FI=L((cer,Oye)=>{"use strict";var V6=Y6(),RI=ye("path").posix,Nye=Fye(),K6=Symbol("slurp"),Zl=Symbol("type"),Z6=class{constructor(e,r,s,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Zl]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,s,a):e&&this.set(e)}decode(e,r,s,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=pm(e,r,100),this.mode=T0(e,r+100,8),this.uid=T0(e,r+108,8),this.gid=T0(e,r+116,8),this.size=T0(e,r+124,12),this.mtime=J6(e,r+136,12),this.cksum=T0(e,r+148,12),this[K6](s),this[K6](a,!0),this[Zl]=pm(e,r+156,1),this[Zl]===""&&(this[Zl]="0"),this[Zl]==="0"&&this.path.substr(-1)==="/"&&(this[Zl]="5"),this[Zl]==="5"&&(this.size=0),this.linkpath=pm(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=pm(e,r+265,32),this.gname=pm(e,r+297,32),this.devmaj=T0(e,r+329,8),this.devmin=T0(e,r+337,8),e[r+475]!==0){let c=pm(e,r+345,155);this.path=c+"/"+this.path}else{let c=pm(e,r+345,130);c&&(this.path=c+"/"+this.path),this.atime=J6(e,r+476,12),this.ctime=J6(e,r+488,12)}let n=8*32;for(let c=r;c=r+512))throw new Error("need 512 bytes for header");let s=this.ctime||this.atime?130:155,a=oEt(this.path||"",s),n=a[0],c=a[1];this.needPax=a[2],this.needPax=hm(e,r,100,n)||this.needPax,this.needPax=R0(e,r+100,8,this.mode)||this.needPax,this.needPax=R0(e,r+108,8,this.uid)||this.needPax,this.needPax=R0(e,r+116,8,this.gid)||this.needPax,this.needPax=R0(e,r+124,12,this.size)||this.needPax,this.needPax=z6(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Zl].charCodeAt(0),this.needPax=hm(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=hm(e,r+265,32,this.uname)||this.needPax,this.needPax=hm(e,r+297,32,this.gname)||this.needPax,this.needPax=R0(e,r+329,8,this.devmaj)||this.needPax,this.needPax=R0(e,r+337,8,this.devmin)||this.needPax,this.needPax=hm(e,r+345,s,c)||this.needPax,e[r+475]!==0?this.needPax=hm(e,r+345,155,c)||this.needPax:(this.needPax=hm(e,r+345,130,c)||this.needPax,this.needPax=z6(e,r+476,12,this.atime)||this.needPax,this.needPax=z6(e,r+488,12,this.ctime)||this.needPax);let f=8*32;for(let p=r;p{let s=t,a="",n,c=RI.parse(t).root||".";if(Buffer.byteLength(s)<100)n=[s,a,!1];else{a=RI.dirname(s),s=RI.basename(s);do Buffer.byteLength(s)<=100&&Buffer.byteLength(a)<=e?n=[s,a,!1]:Buffer.byteLength(s)>100&&Buffer.byteLength(a)<=e?n=[s.substr(0,99),a,!0]:(s=RI.join(RI.basename(a),s),a=RI.dirname(a));while(a!==c&&!n);n||(n=[t.substr(0,99),"",!0])}return n},pm=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),J6=(t,e,r)=>aEt(T0(t,e,r)),aEt=t=>t===null?null:new Date(t*1e3),T0=(t,e,r)=>t[e]&128?Nye.parse(t.slice(e,e+r)):cEt(t,e,r),lEt=t=>isNaN(t)?null:t,cEt=(t,e,r)=>lEt(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),uEt={12:8589934591,8:2097151},R0=(t,e,r,s)=>s===null?!1:s>uEt[r]||s<0?(Nye.encode(s,t.slice(e,e+r)),!0):(fEt(t,e,r,s),!1),fEt=(t,e,r,s)=>t.write(AEt(s,r),e,r,"ascii"),AEt=(t,e)=>pEt(Math.floor(t).toString(8),e),pEt=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",z6=(t,e,r,s)=>s===null?!1:R0(t,e,r,s.getTime()/1e3),hEt=new Array(156).join("\0"),hm=(t,e,r,s)=>s===null?!1:(t.write(s+hEt,e,r,"utf8"),s.length!==Buffer.byteLength(s)||s.length>r);Oye.exports=Z6});var zT=L((uer,Lye)=>{"use strict";var gEt=FI(),dEt=ye("path"),Uv=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),s=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(s);for(let n=0;n<512;n++)a[n]=0;new gEt({path:("PaxHeader/"+dEt.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,r,"utf8");for(let n=r+512;n=Math.pow(10,n)&&(n+=1),n+a+s}};Uv.parse=(t,e,r)=>new Uv(mEt(yEt(t),e),r);var mEt=(t,e)=>e?Object.keys(t).reduce((r,s)=>(r[s]=t[s],r),e):t,yEt=t=>t.replace(/\n$/,"").split(` +`).reduce(EEt,Object.create(null)),EEt=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let s=e.split("="),a=s.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=s.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};Lye.exports=Uv});var NI=L((fer,Mye)=>{Mye.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var ZT=L((Aer,_ye)=>{"use strict";_ye.exports=t=>class extends t{warn(e,r,s={}){this.file&&(s.file=this.file),this.cwd&&(s.cwd=this.cwd),s.code=r instanceof Error&&r.code||e,s.tarCode=e,!this.strict&&s.recoverable!==!1?(r instanceof Error&&(s=Object.assign(r,s),r=r.message),this.emit("warn",s.tarCode,r,s)):r instanceof Error?this.emit("error",Object.assign(r,s)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),s))}}});var $6=L((her,Uye)=>{"use strict";var XT=["|","<",">","?",":"],X6=XT.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),IEt=new Map(XT.map((t,e)=>[t,X6[e]])),CEt=new Map(X6.map((t,e)=>[t,XT[e]]));Uye.exports={encode:t=>XT.reduce((e,r)=>e.split(r).join(IEt.get(r)),t),decode:t=>X6.reduce((e,r)=>e.split(r).join(CEt.get(r)),t)}});var eq=L((ger,jye)=>{var{isAbsolute:wEt,parse:Hye}=ye("path").win32;jye.exports=t=>{let e="",r=Hye(t);for(;wEt(t)||r.root;){let s=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(s.length),e+=s,r=Hye(t)}return[e,t]}});var Gye=L((der,qye)=>{"use strict";qye.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var uq=L((Eer,iEe)=>{"use strict";var Zye=xI(),Xye=zT(),$ye=FI(),sA=ye("fs"),Wye=ye("path"),iA=TI(),BEt=NI(),eEe=(t,e)=>e?(t=iA(t).replace(/^\.(\/|$)/,""),BEt(e)+"/"+t):iA(t),vEt=16*1024*1024,Yye=Symbol("process"),Vye=Symbol("file"),Kye=Symbol("directory"),rq=Symbol("symlink"),Jye=Symbol("hardlink"),Hv=Symbol("header"),$T=Symbol("read"),nq=Symbol("lstat"),eR=Symbol("onlstat"),iq=Symbol("onread"),sq=Symbol("onreadlink"),oq=Symbol("openfile"),aq=Symbol("onopenfile"),F0=Symbol("close"),tR=Symbol("mode"),lq=Symbol("awaitDrain"),tq=Symbol("ondrain"),oA=Symbol("prefix"),zye=Symbol("hadError"),tEe=ZT(),SEt=$6(),rEe=eq(),nEe=Gye(),rR=tEe(class extends Zye{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=iA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||vEt,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=iA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?iA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let s=!1;if(!this.preservePaths){let[a,n]=rEe(this.path);a&&(this.path=n,s=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=SEt.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=iA(r.absolute||Wye.resolve(this.cwd,e)),this.path===""&&(this.path="./"),s&&this.warn("TAR_ENTRY_INFO",`stripping ${s} from absolute path`,{entry:this,path:s+this.path}),this.statCache.has(this.absolute)?this[eR](this.statCache.get(this.absolute)):this[nq]()}emit(e,...r){return e==="error"&&(this[zye]=!0),super.emit(e,...r)}[nq](){sA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[eR](r)})}[eR](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=bEt(e),this.emit("stat",e),this[Yye]()}[Yye](){switch(this.type){case"File":return this[Vye]();case"Directory":return this[Kye]();case"SymbolicLink":return this[rq]();default:return this.end()}}[tR](e){return nEe(e,this.type==="Directory",this.portable)}[oA](e){return eEe(e,this.prefix)}[Hv](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new $ye({path:this[oA](this.path),linkpath:this.type==="Link"?this[oA](this.linkpath):this.linkpath,mode:this[tR](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new Xye({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[oA](this.path),linkpath:this.type==="Link"?this[oA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[Kye](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Hv](),this.end()}[rq](){sA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[sq](r)})}[sq](e){this.linkpath=iA(e),this[Hv](),this.end()}[Jye](e){this.type="Link",this.linkpath=iA(Wye.relative(this.cwd,e)),this.stat.size=0,this[Hv](),this.end()}[Vye](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[Jye](r)}this.linkCache.set(e,this.absolute)}if(this[Hv](),this.stat.size===0)return this.end();this[oq]()}[oq](){sA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[aq](r)})}[aq](e){if(this.fd=e,this[zye])return this[F0]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[$T]()}[$T](){let{fd:e,buf:r,offset:s,length:a,pos:n}=this;sA.read(e,r,s,a,n,(c,f)=>{if(c)return this[F0](()=>this.emit("error",c));this[iq](f)})}[F0](e){sA.close(this.fd,e)}[iq](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[F0](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[F0](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;athis[tq]())}[lq](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[$T]()}}),cq=class extends rR{[nq](){this[eR](sA.lstatSync(this.absolute))}[rq](){this[sq](sA.readlinkSync(this.absolute))}[oq](){this[aq](sA.openSync(this.absolute,"r"))}[$T](){let e=!0;try{let{fd:r,buf:s,offset:a,length:n,pos:c}=this,f=sA.readSync(r,s,a,n,c);this[iq](f),e=!1}finally{if(e)try{this[F0](()=>{})}catch{}}}[lq](e){e()}[F0](e){sA.closeSync(this.fd),e()}},DEt=tEe(class extends Zye{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=iA(e.path),this.mode=this[tR](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=iA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let s=!1;if(!this.preservePaths){let[a,n]=rEe(this.path);a&&(this.path=n,s=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new $ye({path:this[oA](this.path),linkpath:this.type==="Link"?this[oA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),s&&this.warn("TAR_ENTRY_INFO",`stripping ${s} from absolute path`,{entry:this,path:s+this.path}),this.header.encode()&&!this.noPax&&super.write(new Xye({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[oA](this.path),linkpath:this.type==="Link"?this[oA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[oA](e){return eEe(e,this.prefix)}[tR](e){return nEe(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});rR.Sync=cq;rR.Tar=DEt;var bEt=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";iEe.exports=rR});var fR=L((Cer,fEe)=>{"use strict";var cR=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},PEt=xI(),xEt=q6(),kEt=KT(),Eq=uq(),QEt=Eq.Sync,TEt=Eq.Tar,REt=pk(),sEe=Buffer.alloc(1024),sR=Symbol("onStat"),nR=Symbol("ended"),aA=Symbol("queue"),OI=Symbol("current"),gm=Symbol("process"),iR=Symbol("processing"),oEe=Symbol("processJob"),lA=Symbol("jobs"),fq=Symbol("jobDone"),oR=Symbol("addFSEntry"),aEe=Symbol("addTarEntry"),gq=Symbol("stat"),dq=Symbol("readdir"),aR=Symbol("onreaddir"),lR=Symbol("pipe"),lEe=Symbol("entry"),Aq=Symbol("entryOpt"),mq=Symbol("writeEntryClass"),uEe=Symbol("write"),pq=Symbol("ondrain"),uR=ye("fs"),cEe=ye("path"),FEt=ZT(),hq=TI(),Iq=FEt(class extends PEt{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=hq(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[mq]=Eq,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new xEt.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[pq]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[pq]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[aA]=new REt,this[lA]=0,this.jobs=+e.jobs||4,this[iR]=!1,this[nR]=!1}[uEe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[nR]=!0,this[gm](),this}write(e){if(this[nR])throw new Error("write after end");return e instanceof kEt?this[aEe](e):this[oR](e),this.flowing}[aEe](e){let r=hq(cEe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let s=new cR(e.path,r,!1);s.entry=new TEt(e,this[Aq](s)),s.entry.on("end",a=>this[fq](s)),this[lA]+=1,this[aA].push(s)}this[gm]()}[oR](e){let r=hq(cEe.resolve(this.cwd,e));this[aA].push(new cR(e,r)),this[gm]()}[gq](e){e.pending=!0,this[lA]+=1;let r=this.follow?"stat":"lstat";uR[r](e.absolute,(s,a)=>{e.pending=!1,this[lA]-=1,s?this.emit("error",s):this[sR](e,a)})}[sR](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[gm]()}[dq](e){e.pending=!0,this[lA]+=1,uR.readdir(e.absolute,(r,s)=>{if(e.pending=!1,this[lA]-=1,r)return this.emit("error",r);this[aR](e,s)})}[aR](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[gm]()}[gm](){if(!this[iR]){this[iR]=!0;for(let e=this[aA].head;e!==null&&this[lA]this.warn(r,s,a),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[lEe](e){this[lA]+=1;try{return new this[mq](e.path,this[Aq](e)).on("end",()=>this[fq](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[pq](){this[OI]&&this[OI].entry&&this[OI].entry.resume()}[lR](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,c=n==="./"?"":n.replace(/\/*$/,"/");this[oR](c+a)});let r=e.entry,s=this.zip;s?r.on("data",a=>{s.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),yq=class extends Iq{constructor(e){super(e),this[mq]=QEt}pause(){}resume(){}[gq](e){let r=this.follow?"statSync":"lstatSync";this[sR](e,uR[r](e.absolute))}[dq](e,r){this[aR](e,uR.readdirSync(e.absolute))}[lR](e){let r=e.entry,s=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,c=n==="./"?"":n.replace(/\/*$/,"/");this[oR](c+a)}),s?r.on("data",a=>{s.write(a)}):r.on("data",a=>{super[uEe](a)})}};Iq.Sync=yq;fEe.exports=Iq});var GI=L(qv=>{"use strict";var NEt=xI(),OEt=ye("events").EventEmitter,Al=ye("fs"),Bq=Al.writev;if(!Bq){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;Bq=(r,s,a,n)=>{let c=(p,h)=>n(p,h,s),f=new e;f.oncomplete=c,t.writeBuffers(r,s,a,f)}}var jI=Symbol("_autoClose"),Vu=Symbol("_close"),jv=Symbol("_ended"),ni=Symbol("_fd"),AEe=Symbol("_finished"),O0=Symbol("_flags"),Cq=Symbol("_flush"),vq=Symbol("_handleChunk"),Sq=Symbol("_makeBuf"),dR=Symbol("_mode"),AR=Symbol("_needDrain"),UI=Symbol("_onerror"),qI=Symbol("_onopen"),wq=Symbol("_onread"),MI=Symbol("_onwrite"),L0=Symbol("_open"),Kp=Symbol("_path"),dm=Symbol("_pos"),cA=Symbol("_queue"),_I=Symbol("_read"),pEe=Symbol("_readSize"),N0=Symbol("_reading"),pR=Symbol("_remain"),hEe=Symbol("_size"),hR=Symbol("_write"),LI=Symbol("_writing"),gR=Symbol("_defaultFlag"),HI=Symbol("_errored"),mR=class extends NEt{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[HI]=!1,this[ni]=typeof r.fd=="number"?r.fd:null,this[Kp]=e,this[pEe]=r.readSize||16*1024*1024,this[N0]=!1,this[hEe]=typeof r.size=="number"?r.size:1/0,this[pR]=this[hEe],this[jI]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[ni]=="number"?this[_I]():this[L0]()}get fd(){return this[ni]}get path(){return this[Kp]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[L0](){Al.open(this[Kp],"r",(e,r)=>this[qI](e,r))}[qI](e,r){e?this[UI](e):(this[ni]=r,this.emit("open",r),this[_I]())}[Sq](){return Buffer.allocUnsafe(Math.min(this[pEe],this[pR]))}[_I](){if(!this[N0]){this[N0]=!0;let e=this[Sq]();if(e.length===0)return process.nextTick(()=>this[wq](null,0,e));Al.read(this[ni],e,0,e.length,null,(r,s,a)=>this[wq](r,s,a))}}[wq](e,r,s){this[N0]=!1,e?this[UI](e):this[vq](r,s)&&this[_I]()}[Vu](){if(this[jI]&&typeof this[ni]=="number"){let e=this[ni];this[ni]=null,Al.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[UI](e){this[N0]=!0,this[Vu](),this.emit("error",e)}[vq](e,r){let s=!1;return this[pR]-=e,e>0&&(s=super.write(ethis[qI](e,r))}[qI](e,r){this[gR]&&this[O0]==="r+"&&e&&e.code==="ENOENT"?(this[O0]="w",this[L0]()):e?this[UI](e):(this[ni]=r,this.emit("open",r),this[Cq]())}end(e,r){return e&&this.write(e,r),this[jv]=!0,!this[LI]&&!this[cA].length&&typeof this[ni]=="number"&&this[MI](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[jv]?(this.emit("error",new Error("write() after end()")),!1):this[ni]===null||this[LI]||this[cA].length?(this[cA].push(e),this[AR]=!0,!1):(this[LI]=!0,this[hR](e),!0)}[hR](e){Al.write(this[ni],e,0,e.length,this[dm],(r,s)=>this[MI](r,s))}[MI](e,r){e?this[UI](e):(this[dm]!==null&&(this[dm]+=r),this[cA].length?this[Cq]():(this[LI]=!1,this[jv]&&!this[AEe]?(this[AEe]=!0,this[Vu](),this.emit("finish")):this[AR]&&(this[AR]=!1,this.emit("drain"))))}[Cq](){if(this[cA].length===0)this[jv]&&this[MI](null,0);else if(this[cA].length===1)this[hR](this[cA].pop());else{let e=this[cA];this[cA]=[],Bq(this[ni],e,this[dm],(r,s)=>this[MI](r,s))}}[Vu](){if(this[jI]&&typeof this[ni]=="number"){let e=this[ni];this[ni]=null,Al.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},bq=class extends yR{[L0](){let e;if(this[gR]&&this[O0]==="r+")try{e=Al.openSync(this[Kp],this[O0],this[dR])}catch(r){if(r.code==="ENOENT")return this[O0]="w",this[L0]();throw r}else e=Al.openSync(this[Kp],this[O0],this[dR]);this[qI](null,e)}[Vu](){if(this[jI]&&typeof this[ni]=="number"){let e=this[ni];this[ni]=null,Al.closeSync(e),this.emit("close")}}[hR](e){let r=!0;try{this[MI](null,Al.writeSync(this[ni],e,0,e.length,this[dm])),r=!1}finally{if(r)try{this[Vu]()}catch{}}}};qv.ReadStream=mR;qv.ReadStreamSync=Dq;qv.WriteStream=yR;qv.WriteStreamSync=bq});var SR=L((ver,CEe)=>{"use strict";var LEt=ZT(),MEt=FI(),_Et=ye("events"),UEt=pk(),HEt=1024*1024,jEt=KT(),gEe=zT(),qEt=q6(),Pq=Buffer.from([31,139]),_c=Symbol("state"),mm=Symbol("writeEntry"),Jp=Symbol("readEntry"),xq=Symbol("nextEntry"),dEe=Symbol("processEntry"),Uc=Symbol("extendedHeader"),Gv=Symbol("globalExtendedHeader"),M0=Symbol("meta"),mEe=Symbol("emitMeta"),bi=Symbol("buffer"),zp=Symbol("queue"),ym=Symbol("ended"),yEe=Symbol("emittedEnd"),Em=Symbol("emit"),pl=Symbol("unzip"),ER=Symbol("consumeChunk"),IR=Symbol("consumeChunkSub"),kq=Symbol("consumeBody"),EEe=Symbol("consumeMeta"),IEe=Symbol("consumeHeader"),CR=Symbol("consuming"),Qq=Symbol("bufferConcat"),Tq=Symbol("maybeEnd"),Wv=Symbol("writing"),_0=Symbol("aborted"),wR=Symbol("onDone"),Im=Symbol("sawValidEntry"),BR=Symbol("sawNullBlock"),vR=Symbol("sawEOF"),GEt=t=>!0;CEe.exports=LEt(class extends _Et{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Im]=null,this.on(wR,r=>{(this[_c]==="begin"||this[Im]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(wR,e.ondone):this.on(wR,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||HEt,this.filter=typeof e.filter=="function"?e.filter:GEt,this.writable=!0,this.readable=!1,this[zp]=new UEt,this[bi]=null,this[Jp]=null,this[mm]=null,this[_c]="begin",this[M0]="",this[Uc]=null,this[Gv]=null,this[ym]=!1,this[pl]=null,this[_0]=!1,this[BR]=!1,this[vR]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[IEe](e,r){this[Im]===null&&(this[Im]=!1);let s;try{s=new MEt(e,r,this[Uc],this[Gv])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(s.nullBlock)this[BR]?(this[vR]=!0,this[_c]==="begin"&&(this[_c]="header"),this[Em]("eof")):(this[BR]=!0,this[Em]("nullBlock"));else if(this[BR]=!1,!s.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:s});else if(!s.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:s});else{let a=s.type;if(/^(Symbolic)?Link$/.test(a)&&!s.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:s});else if(!/^(Symbolic)?Link$/.test(a)&&s.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:s});else{let n=this[mm]=new jEt(s,this[Uc],this[Gv]);if(!this[Im])if(n.remain){let c=()=>{n.invalid||(this[Im]=!0)};n.on("end",c)}else this[Im]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[Em]("ignoredEntry",n),this[_c]="ignore",n.resume()):n.size>0&&(this[M0]="",n.on("data",c=>this[M0]+=c),this[_c]="meta"):(this[Uc]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[Em]("ignoredEntry",n),this[_c]=n.remain?"ignore":"header",n.resume()):(n.remain?this[_c]="body":(this[_c]="header",n.end()),this[Jp]?this[zp].push(n):(this[zp].push(n),this[xq]())))}}}[dEe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[Jp]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",s=>this[xq]()),r=!1)):(this[Jp]=null,r=!1),r}[xq](){do;while(this[dEe](this[zp].shift()));if(!this[zp].length){let e=this[Jp];!e||e.flowing||e.size===e.remain?this[Wv]||this.emit("drain"):e.once("drain",s=>this.emit("drain"))}}[kq](e,r){let s=this[mm],a=s.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return s.write(n),s.blockRemain||(this[_c]="header",this[mm]=null,s.end()),n.length}[EEe](e,r){let s=this[mm],a=this[kq](e,r);return this[mm]||this[mEe](s),a}[Em](e,r,s){!this[zp].length&&!this[Jp]?this.emit(e,r,s):this[zp].push([e,r,s])}[mEe](e){switch(this[Em]("meta",this[M0]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Uc]=gEe.parse(this[M0],this[Uc],!1);break;case"GlobalExtendedHeader":this[Gv]=gEe.parse(this[M0],this[Gv],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Uc]=this[Uc]||Object.create(null),this[Uc].path=this[M0].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Uc]=this[Uc]||Object.create(null),this[Uc].linkpath=this[M0].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[_0]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[_0])return;if(this[pl]===null&&e){if(this[bi]&&(e=Buffer.concat([this[bi],e]),this[bi]=null),e.lengththis[ER](n)),this[pl].on("error",n=>this.abort(n)),this[pl].on("end",n=>{this[ym]=!0,this[ER]()}),this[Wv]=!0;let a=this[pl][s?"end":"write"](e);return this[Wv]=!1,a}}this[Wv]=!0,this[pl]?this[pl].write(e):this[ER](e),this[Wv]=!1;let r=this[zp].length?!1:this[Jp]?this[Jp].flowing:!0;return!r&&!this[zp].length&&this[Jp].once("drain",s=>this.emit("drain")),r}[Qq](e){e&&!this[_0]&&(this[bi]=this[bi]?Buffer.concat([this[bi],e]):e)}[Tq](){if(this[ym]&&!this[yEe]&&!this[_0]&&!this[CR]){this[yEe]=!0;let e=this[mm];if(e&&e.blockRemain){let r=this[bi]?this[bi].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[bi]&&e.write(this[bi]),e.end()}this[Em](wR)}}[ER](e){if(this[CR])this[Qq](e);else if(!e&&!this[bi])this[Tq]();else{if(this[CR]=!0,this[bi]){this[Qq](e);let r=this[bi];this[bi]=null,this[IR](r)}else this[IR](e);for(;this[bi]&&this[bi].length>=512&&!this[_0]&&!this[vR];){let r=this[bi];this[bi]=null,this[IR](r)}this[CR]=!1}(!this[bi]||this[ym])&&this[Tq]()}[IR](e){let r=0,s=e.length;for(;r+512<=s&&!this[_0]&&!this[vR];)switch(this[_c]){case"begin":case"header":this[IEe](e,r),r+=512;break;case"ignore":case"body":r+=this[kq](e,r);break;case"meta":r+=this[EEe](e,r);break;default:throw new Error("invalid state: "+this[_c])}r{"use strict";var WEt=bI(),BEe=SR(),WI=ye("fs"),YEt=GI(),wEe=ye("path"),Rq=NI();SEe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let s=WEt(t);if(s.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!s.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&KEt(s,e),s.noResume||VEt(s),s.file&&s.sync?JEt(s):s.file?zEt(s,r):vEe(s)};var VEt=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},KEt=(t,e)=>{let r=new Map(e.map(n=>[Rq(n),!0])),s=t.filter,a=(n,c)=>{let f=c||wEe.parse(n).root||".",p=n===f?!1:r.has(n)?r.get(n):a(wEe.dirname(n),f);return r.set(n,p),p};t.filter=s?(n,c)=>s(n,c)&&a(Rq(n)):n=>a(Rq(n))},JEt=t=>{let e=vEe(t),r=t.file,s=!0,a;try{let n=WI.statSync(r),c=t.maxReadSize||16*1024*1024;if(n.size{let r=new BEe(t),s=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((c,f)=>{r.on("error",f),r.on("end",c),WI.stat(a,(p,h)=>{if(p)f(p);else{let E=new YEt.ReadStream(a,{readSize:s,size:h.size});E.on("error",f),E.pipe(r)}})});return e?n.then(e,e):n},vEe=t=>new BEe(t)});var QEe=L((Der,kEe)=>{"use strict";var ZEt=bI(),bR=fR(),DEe=GI(),bEe=DR(),PEe=ye("path");kEe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let s=ZEt(t);if(s.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!s.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return s.file&&s.sync?XEt(s,e):s.file?$Et(s,e,r):s.sync?eIt(s,e):tIt(s,e)};var XEt=(t,e)=>{let r=new bR.Sync(t),s=new DEe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(s),xEe(r,e)},$Et=(t,e,r)=>{let s=new bR(t),a=new DEe.WriteStream(t.file,{mode:t.mode||438});s.pipe(a);let n=new Promise((c,f)=>{a.on("error",f),a.on("close",c),s.on("error",f)});return Fq(s,e),r?n.then(r,r):n},xEe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?bEe({file:PEe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:s=>t.add(s)}):t.add(r)}),t.end()},Fq=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return bEe({file:PEe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:s=>t.add(s)}).then(s=>Fq(t,e));t.add(r)}t.end()},eIt=(t,e)=>{let r=new bR.Sync(t);return xEe(r,e),r},tIt=(t,e)=>{let r=new bR(t);return Fq(r,e),r}});var Nq=L((ber,MEe)=>{"use strict";var rIt=bI(),TEe=fR(),Xl=ye("fs"),REe=GI(),FEe=DR(),NEe=ye("path"),OEe=FI();MEe.exports=(t,e,r)=>{let s=rIt(t);if(!s.file)throw new TypeError("file is required");if(s.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),s.sync?nIt(s,e):sIt(s,e,r)};var nIt=(t,e)=>{let r=new TEe.Sync(t),s=!0,a,n;try{try{a=Xl.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=Xl.openSync(t.file,"w+");else throw p}let c=Xl.fstatSync(a),f=Buffer.alloc(512);e:for(n=0;nc.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}s=!1,iIt(t,r,n,a,e)}finally{if(s)try{Xl.closeSync(a)}catch{}}},iIt=(t,e,r,s,a)=>{let n=new REe.WriteStreamSync(t.file,{fd:s,start:r});e.pipe(n),oIt(e,a)},sIt=(t,e,r)=>{e=Array.from(e);let s=new TEe(t),a=(c,f,p)=>{let h=(I,R)=>{I?Xl.close(c,N=>p(I)):p(null,R)},E=0;if(f===0)return h(null,0);let C=0,S=Buffer.alloc(512),P=(I,R)=>{if(I)return h(I);if(C+=R,C<512&&R)return Xl.read(c,S,C,S.length-C,E+C,P);if(E===0&&S[0]===31&&S[1]===139)return h(new Error("cannot append to compressed archives"));if(C<512)return h(null,E);let N=new OEe(S);if(!N.cksumValid)return h(null,E);let U=512*Math.ceil(N.size/512);if(E+U+512>f||(E+=U+512,E>=f))return h(null,E);t.mtimeCache&&t.mtimeCache.set(N.path,N.mtime),C=0,Xl.read(c,S,0,512,E,P)};Xl.read(c,S,0,512,E,P)},n=new Promise((c,f)=>{s.on("error",f);let p="r+",h=(E,C)=>{if(E&&E.code==="ENOENT"&&p==="r+")return p="w+",Xl.open(t.file,p,h);if(E)return f(E);Xl.fstat(C,(S,P)=>{if(S)return Xl.close(C,()=>f(S));a(C,P.size,(I,R)=>{if(I)return f(I);let N=new REe.WriteStream(t.file,{fd:C,start:R});s.pipe(N),N.on("error",f),N.on("close",c),LEe(s,e)})})};Xl.open(t.file,p,h)});return r?n.then(r,r):n},oIt=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?FEe({file:NEe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:s=>t.add(s)}):t.add(r)}),t.end()},LEe=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return FEe({file:NEe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:s=>t.add(s)}).then(s=>LEe(t,e));t.add(r)}t.end()}});var UEe=L((Per,_Ee)=>{"use strict";var aIt=bI(),lIt=Nq();_Ee.exports=(t,e,r)=>{let s=aIt(t);if(!s.file)throw new TypeError("file is required");if(s.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),cIt(s),lIt(s,e,r)};var cIt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,s)=>e(r,s)&&!(t.mtimeCache.get(r)>s.mtime):(r,s)=>!(t.mtimeCache.get(r)>s.mtime)}});var qEe=L((xer,jEe)=>{var{promisify:HEe}=ye("util"),U0=ye("fs"),uIt=t=>{if(!t)t={mode:511,fs:U0};else if(typeof t=="object")t={mode:511,fs:U0,...t};else if(typeof t=="number")t={mode:t,fs:U0};else if(typeof t=="string")t={mode:parseInt(t,8),fs:U0};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||U0.mkdir,t.mkdirAsync=HEe(t.mkdir),t.stat=t.stat||t.fs.stat||U0.stat,t.statAsync=HEe(t.stat),t.statSync=t.statSync||t.fs.statSync||U0.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||U0.mkdirSync,t};jEe.exports=uIt});var WEe=L((ker,GEe)=>{var fIt=process.platform,{resolve:AIt,parse:pIt}=ye("path"),hIt=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=AIt(t),fIt==="win32"){let e=/[*|"<>?:]/,{root:r}=pIt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};GEe.exports=hIt});var zEe=L((Qer,JEe)=>{var{dirname:YEe}=ye("path"),VEe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(s=>s.isDirectory()?r:void 0,s=>s.code==="ENOENT"?VEe(t,YEe(e),e):void 0),KEe=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(s){return s.code==="ENOENT"?KEe(t,YEe(e),e):void 0}};JEe.exports={findMade:VEe,findMadeSync:KEe}});var Mq=L((Ter,XEe)=>{var{dirname:ZEe}=ye("path"),Oq=(t,e,r)=>{e.recursive=!1;let s=ZEe(t);return s===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return Oq(s,e).then(n=>Oq(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},Lq=(t,e,r)=>{let s=ZEe(t);if(e.recursive=!1,s===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return Lq(t,e,Lq(s,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};XEe.exports={mkdirpManual:Oq,mkdirpManualSync:Lq}});var tIe=L((Rer,eIe)=>{var{dirname:$Ee}=ye("path"),{findMade:gIt,findMadeSync:dIt}=zEe(),{mkdirpManual:mIt,mkdirpManualSync:yIt}=Mq(),EIt=(t,e)=>(e.recursive=!0,$Ee(t)===t?e.mkdirAsync(t,e):gIt(e,t).then(s=>e.mkdirAsync(t,e).then(()=>s).catch(a=>{if(a.code==="ENOENT")return mIt(t,e);throw a}))),IIt=(t,e)=>{if(e.recursive=!0,$Ee(t)===t)return e.mkdirSync(t,e);let s=dIt(e,t);try{return e.mkdirSync(t,e),s}catch(a){if(a.code==="ENOENT")return yIt(t,e);throw a}};eIe.exports={mkdirpNative:EIt,mkdirpNativeSync:IIt}});var sIe=L((Fer,iIe)=>{var rIe=ye("fs"),CIt=process.version,_q=CIt.replace(/^v/,"").split("."),nIe=+_q[0]>10||+_q[0]==10&&+_q[1]>=12,wIt=nIe?t=>t.mkdir===rIe.mkdir:()=>!1,BIt=nIe?t=>t.mkdirSync===rIe.mkdirSync:()=>!1;iIe.exports={useNative:wIt,useNativeSync:BIt}});var fIe=L((Ner,uIe)=>{var YI=qEe(),VI=WEe(),{mkdirpNative:oIe,mkdirpNativeSync:aIe}=tIe(),{mkdirpManual:lIe,mkdirpManualSync:cIe}=Mq(),{useNative:vIt,useNativeSync:SIt}=sIe(),KI=(t,e)=>(t=VI(t),e=YI(e),vIt(e)?oIe(t,e):lIe(t,e)),DIt=(t,e)=>(t=VI(t),e=YI(e),SIt(e)?aIe(t,e):cIe(t,e));KI.sync=DIt;KI.native=(t,e)=>oIe(VI(t),YI(e));KI.manual=(t,e)=>lIe(VI(t),YI(e));KI.nativeSync=(t,e)=>aIe(VI(t),YI(e));KI.manualSync=(t,e)=>cIe(VI(t),YI(e));uIe.exports=KI});var yIe=L((Oer,mIe)=>{"use strict";var Hc=ye("fs"),Cm=ye("path"),bIt=Hc.lchown?"lchown":"chown",PIt=Hc.lchownSync?"lchownSync":"chownSync",pIe=Hc.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),AIe=(t,e,r)=>{try{return Hc[PIt](t,e,r)}catch(s){if(s.code!=="ENOENT")throw s}},xIt=(t,e,r)=>{try{return Hc.chownSync(t,e,r)}catch(s){if(s.code!=="ENOENT")throw s}},kIt=pIe?(t,e,r,s)=>a=>{!a||a.code!=="EISDIR"?s(a):Hc.chown(t,e,r,s)}:(t,e,r,s)=>s,Uq=pIe?(t,e,r)=>{try{return AIe(t,e,r)}catch(s){if(s.code!=="EISDIR")throw s;xIt(t,e,r)}}:(t,e,r)=>AIe(t,e,r),QIt=process.version,hIe=(t,e,r)=>Hc.readdir(t,e,r),TIt=(t,e)=>Hc.readdirSync(t,e);/^v4\./.test(QIt)&&(hIe=(t,e,r)=>Hc.readdir(t,r));var PR=(t,e,r,s)=>{Hc[bIt](t,e,r,kIt(t,e,r,a=>{s(a&&a.code!=="ENOENT"?a:null)}))},gIe=(t,e,r,s,a)=>{if(typeof e=="string")return Hc.lstat(Cm.resolve(t,e),(n,c)=>{if(n)return a(n.code!=="ENOENT"?n:null);c.name=e,gIe(t,c,r,s,a)});if(e.isDirectory())Hq(Cm.resolve(t,e.name),r,s,n=>{if(n)return a(n);let c=Cm.resolve(t,e.name);PR(c,r,s,a)});else{let n=Cm.resolve(t,e.name);PR(n,r,s,a)}},Hq=(t,e,r,s)=>{hIe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return s();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return s(a)}if(a||!n.length)return PR(t,e,r,s);let c=n.length,f=null,p=h=>{if(!f){if(h)return s(f=h);if(--c===0)return PR(t,e,r,s)}};n.forEach(h=>gIe(t,h,e,r,p))})},RIt=(t,e,r,s)=>{if(typeof e=="string")try{let a=Hc.lstatSync(Cm.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&dIe(Cm.resolve(t,e.name),r,s),Uq(Cm.resolve(t,e.name),r,s)},dIe=(t,e,r)=>{let s;try{s=TIt(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return Uq(t,e,r);throw a}return s&&s.length&&s.forEach(a=>RIt(t,a,e,r)),Uq(t,e,r)};mIe.exports=Hq;Hq.sync=dIe});var wIe=L((Ler,jq)=>{"use strict";var EIe=fIe(),jc=ye("fs"),xR=ye("path"),IIe=yIe(),Ku=TI(),kR=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},QR=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},TR=(t,e)=>t.get(Ku(e)),Yv=(t,e,r)=>t.set(Ku(e),r),FIt=(t,e)=>{jc.stat(t,(r,s)=>{(r||!s.isDirectory())&&(r=new QR(t,r&&r.code||"ENOTDIR")),e(r)})};jq.exports=(t,e,r)=>{t=Ku(t);let s=e.umask,a=e.mode|448,n=(a&s)!==0,c=e.uid,f=e.gid,p=typeof c=="number"&&typeof f=="number"&&(c!==e.processUid||f!==e.processGid),h=e.preserve,E=e.unlink,C=e.cache,S=Ku(e.cwd),P=(N,U)=>{N?r(N):(Yv(C,t,!0),U&&p?IIe(U,c,f,W=>P(W)):n?jc.chmod(t,a,r):r())};if(C&&TR(C,t)===!0)return P();if(t===S)return FIt(t,P);if(h)return EIe(t,{mode:a}).then(N=>P(null,N),P);let R=Ku(xR.relative(S,t)).split("/");RR(S,R,a,C,E,S,null,P)};var RR=(t,e,r,s,a,n,c,f)=>{if(!e.length)return f(null,c);let p=e.shift(),h=Ku(xR.resolve(t+"/"+p));if(TR(s,h))return RR(h,e,r,s,a,n,c,f);jc.mkdir(h,r,CIe(h,e,r,s,a,n,c,f))},CIe=(t,e,r,s,a,n,c,f)=>p=>{p?jc.lstat(t,(h,E)=>{if(h)h.path=h.path&&Ku(h.path),f(h);else if(E.isDirectory())RR(t,e,r,s,a,n,c,f);else if(a)jc.unlink(t,C=>{if(C)return f(C);jc.mkdir(t,r,CIe(t,e,r,s,a,n,c,f))});else{if(E.isSymbolicLink())return f(new kR(t,t+"/"+e.join("/")));f(p)}}):(c=c||t,RR(t,e,r,s,a,n,c,f))},NIt=t=>{let e=!1,r="ENOTDIR";try{e=jc.statSync(t).isDirectory()}catch(s){r=s.code}finally{if(!e)throw new QR(t,r)}};jq.exports.sync=(t,e)=>{t=Ku(t);let r=e.umask,s=e.mode|448,a=(s&r)!==0,n=e.uid,c=e.gid,f=typeof n=="number"&&typeof c=="number"&&(n!==e.processUid||c!==e.processGid),p=e.preserve,h=e.unlink,E=e.cache,C=Ku(e.cwd),S=N=>{Yv(E,t,!0),N&&f&&IIe.sync(N,n,c),a&&jc.chmodSync(t,s)};if(E&&TR(E,t)===!0)return S();if(t===C)return NIt(C),S();if(p)return S(EIe.sync(t,s));let I=Ku(xR.relative(C,t)).split("/"),R=null;for(let N=I.shift(),U=C;N&&(U+="/"+N);N=I.shift())if(U=Ku(xR.resolve(U)),!TR(E,U))try{jc.mkdirSync(U,s),R=R||U,Yv(E,U,!0)}catch{let te=jc.lstatSync(U);if(te.isDirectory()){Yv(E,U,!0);continue}else if(h){jc.unlinkSync(U),jc.mkdirSync(U,s),R=R||U,Yv(E,U,!0);continue}else if(te.isSymbolicLink())return new kR(U,U+"/"+I.join("/"))}return S(R)}});var Gq=L((Mer,BIe)=>{var qq=Object.create(null),{hasOwnProperty:OIt}=Object.prototype;BIe.exports=t=>(OIt.call(qq,t)||(qq[t]=t.normalize("NFKD")),qq[t])});var bIe=L((_er,DIe)=>{var vIe=ye("assert"),LIt=Gq(),MIt=NI(),{join:SIe}=ye("path"),_It=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,UIt=_It==="win32";DIe.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((C,S)=>(C.length&&(S=SIe(C[C.length-1],S)),C.push(S||"/"),C),[]),s=new Set,a=h=>{let E=e.get(h);if(!E)throw new Error("function does not have any path reservations");return{paths:E.paths.map(C=>t.get(C)),dirs:[...E.dirs].map(C=>t.get(C))}},n=h=>{let{paths:E,dirs:C}=a(h);return E.every(S=>S[0]===h)&&C.every(S=>S[0]instanceof Set&&S[0].has(h))},c=h=>s.has(h)||!n(h)?!1:(s.add(h),h(()=>f(h)),!0),f=h=>{if(!s.has(h))return!1;let{paths:E,dirs:C}=e.get(h),S=new Set;return E.forEach(P=>{let I=t.get(P);vIe.equal(I[0],h),I.length===1?t.delete(P):(I.shift(),typeof I[0]=="function"?S.add(I[0]):I[0].forEach(R=>S.add(R)))}),C.forEach(P=>{let I=t.get(P);vIe(I[0]instanceof Set),I[0].size===1&&I.length===1?t.delete(P):I[0].size===1?(I.shift(),S.add(I[0])):I[0].delete(h)}),s.delete(h),S.forEach(P=>c(P)),!0};return{check:n,reserve:(h,E)=>{h=UIt?["win32 parallelization disabled"]:h.map(S=>LIt(MIt(SIe(S))).toLowerCase());let C=new Set(h.map(S=>r(S)).reduce((S,P)=>S.concat(P)));return e.set(E,{dirs:C,paths:h}),h.forEach(S=>{let P=t.get(S);P?P.push(E):t.set(S,[E])}),C.forEach(S=>{let P=t.get(S);P?P[P.length-1]instanceof Set?P[P.length-1].add(E):P.push(new Set([E])):t.set(S,[new Set([E])])}),c(E)}}}});var kIe=L((Uer,xIe)=>{var HIt=process.platform,jIt=HIt==="win32",qIt=global.__FAKE_TESTING_FS__||ye("fs"),{O_CREAT:GIt,O_TRUNC:WIt,O_WRONLY:YIt,UV_FS_O_FILEMAP:PIe=0}=qIt.constants,VIt=jIt&&!!PIe,KIt=512*1024,JIt=PIe|WIt|GIt|YIt;xIe.exports=VIt?t=>t"w"});var $q=L((Her,GIe)=>{"use strict";var zIt=ye("assert"),ZIt=SR(),Mn=ye("fs"),XIt=GI(),Zp=ye("path"),HIe=wIe(),QIe=$6(),$It=bIe(),eCt=eq(),$l=TI(),tCt=NI(),rCt=Gq(),TIe=Symbol("onEntry"),Vq=Symbol("checkFs"),RIe=Symbol("checkFs2"),OR=Symbol("pruneCache"),Kq=Symbol("isReusable"),qc=Symbol("makeFs"),Jq=Symbol("file"),zq=Symbol("directory"),LR=Symbol("link"),FIe=Symbol("symlink"),NIe=Symbol("hardlink"),OIe=Symbol("unsupported"),LIe=Symbol("checkPath"),H0=Symbol("mkdir"),Xo=Symbol("onError"),FR=Symbol("pending"),MIe=Symbol("pend"),JI=Symbol("unpend"),Wq=Symbol("ended"),Yq=Symbol("maybeClose"),Zq=Symbol("skip"),Vv=Symbol("doChown"),Kv=Symbol("uid"),Jv=Symbol("gid"),zv=Symbol("checkedCwd"),jIe=ye("crypto"),qIe=kIe(),nCt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Zv=nCt==="win32",iCt=(t,e)=>{if(!Zv)return Mn.unlink(t,e);let r=t+".DELETE."+jIe.randomBytes(16).toString("hex");Mn.rename(t,r,s=>{if(s)return e(s);Mn.unlink(r,e)})},sCt=t=>{if(!Zv)return Mn.unlinkSync(t);let e=t+".DELETE."+jIe.randomBytes(16).toString("hex");Mn.renameSync(t,e),Mn.unlinkSync(e)},_Ie=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,UIe=t=>rCt(tCt($l(t))).toLowerCase(),oCt=(t,e)=>{e=UIe(e);for(let r of t.keys()){let s=UIe(r);(s===e||s.indexOf(e+"/")===0)&&t.delete(r)}},aCt=t=>{for(let e of t.keys())t.delete(e)},Xv=class extends ZIt{constructor(e){if(e||(e={}),e.ondone=r=>{this[Wq]=!0,this[Yq]()},super(e),this[zv]=!1,this.reservations=$It(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[FR]=0,this[Wq]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||Zv,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=$l(Zp.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[TIe](r))}warn(e,r,s={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(s.recoverable=!1),super.warn(e,r,s)}[Yq](){this[Wq]&&this[FR]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[LIe](e){if(this.strip){let r=$l(e.path).split("/");if(r.length=this.strip)e.linkpath=s.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=$l(e.path),s=r.split("/");if(s.includes("..")||Zv&&/^[a-z]:\.\.$/i.test(s[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=eCt(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(Zp.isAbsolute(e.path)?e.absolute=$l(Zp.resolve(e.path)):e.absolute=$l(Zp.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:$l(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Zp.win32.parse(e.absolute);e.absolute=r+QIe.encode(e.absolute.substr(r.length));let{root:s}=Zp.win32.parse(e.path);e.path=s+QIe.encode(e.path.substr(s.length))}return!0}[TIe](e){if(!this[LIe](e))return e.resume();switch(zIt.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Vq](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[OIe](e)}}[Xo](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[JI](),r.resume())}[H0](e,r,s){HIe($l(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},s)}[Vv](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[Kv](e){return _Ie(this.uid,e.uid,this.processUid)}[Jv](e){return _Ie(this.gid,e.gid,this.processGid)}[Jq](e,r){let s=e.mode&4095||this.fmode,a=new XIt.WriteStream(e.absolute,{flags:qIe(e.size),mode:s,autoClose:!1});a.on("error",p=>{a.fd&&Mn.close(a.fd,()=>{}),a.write=()=>!0,this[Xo](p,e),r()});let n=1,c=p=>{if(p){a.fd&&Mn.close(a.fd,()=>{}),this[Xo](p,e),r();return}--n===0&&Mn.close(a.fd,h=>{h?this[Xo](h,e):this[JI](),r()})};a.on("finish",p=>{let h=e.absolute,E=a.fd;if(e.mtime&&!this.noMtime){n++;let C=e.atime||new Date,S=e.mtime;Mn.futimes(E,C,S,P=>P?Mn.utimes(h,C,S,I=>c(I&&P)):c())}if(this[Vv](e)){n++;let C=this[Kv](e),S=this[Jv](e);Mn.fchown(E,C,S,P=>P?Mn.chown(h,C,S,I=>c(I&&P)):c())}c()});let f=this.transform&&this.transform(e)||e;f!==e&&(f.on("error",p=>{this[Xo](p,e),r()}),e.pipe(f)),f.pipe(a)}[zq](e,r){let s=e.mode&4095||this.dmode;this[H0](e.absolute,s,a=>{if(a){this[Xo](a,e),r();return}let n=1,c=f=>{--n===0&&(r(),this[JI](),e.resume())};e.mtime&&!this.noMtime&&(n++,Mn.utimes(e.absolute,e.atime||new Date,e.mtime,c)),this[Vv](e)&&(n++,Mn.chown(e.absolute,this[Kv](e),this[Jv](e),c)),c()})}[OIe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[FIe](e,r){this[LR](e,e.linkpath,"symlink",r)}[NIe](e,r){let s=$l(Zp.resolve(this.cwd,e.linkpath));this[LR](e,s,"link",r)}[MIe](){this[FR]++}[JI](){this[FR]--,this[Yq]()}[Zq](e){this[JI](),e.resume()}[Kq](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!Zv}[Vq](e){this[MIe]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,s=>this[RIe](e,s))}[OR](e){e.type==="SymbolicLink"?aCt(this.dirCache):e.type!=="Directory"&&oCt(this.dirCache,e.absolute)}[RIe](e,r){this[OR](e);let s=f=>{this[OR](e),r(f)},a=()=>{this[H0](this.cwd,this.dmode,f=>{if(f){this[Xo](f,e),s();return}this[zv]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let f=$l(Zp.dirname(e.absolute));if(f!==this.cwd)return this[H0](f,this.dmode,p=>{if(p){this[Xo](p,e),s();return}c()})}c()},c=()=>{Mn.lstat(e.absolute,(f,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[Zq](e),s();return}if(f||this[Kq](e,p))return this[qc](null,e,s);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,E=C=>this[qc](C,e,s);return h?Mn.chmod(e.absolute,e.mode,E):E()}if(e.absolute!==this.cwd)return Mn.rmdir(e.absolute,h=>this[qc](h,e,s))}if(e.absolute===this.cwd)return this[qc](null,e,s);iCt(e.absolute,h=>this[qc](h,e,s))})};this[zv]?n():a()}[qc](e,r,s){if(e){this[Xo](e,r),s();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Jq](r,s);case"Link":return this[NIe](r,s);case"SymbolicLink":return this[FIe](r,s);case"Directory":case"GNUDumpDir":return this[zq](r,s)}}[LR](e,r,s,a){Mn[s](r,e.absolute,n=>{n?this[Xo](n,e):(this[JI](),e.resume()),a()})}},NR=t=>{try{return[null,t()]}catch(e){return[e,null]}},Xq=class extends Xv{[qc](e,r){return super[qc](e,r,()=>{})}[Vq](e){if(this[OR](e),!this[zv]){let n=this[H0](this.cwd,this.dmode);if(n)return this[Xo](n,e);this[zv]=!0}if(e.absolute!==this.cwd){let n=$l(Zp.dirname(e.absolute));if(n!==this.cwd){let c=this[H0](n,this.dmode);if(c)return this[Xo](c,e)}}let[r,s]=NR(()=>Mn.lstatSync(e.absolute));if(s&&(this.keep||this.newer&&s.mtime>e.mtime))return this[Zq](e);if(r||this[Kq](e,s))return this[qc](null,e);if(s.isDirectory()){if(e.type==="Directory"){let c=!this.noChmod&&e.mode&&(s.mode&4095)!==e.mode,[f]=c?NR(()=>{Mn.chmodSync(e.absolute,e.mode)}):[];return this[qc](f,e)}let[n]=NR(()=>Mn.rmdirSync(e.absolute));this[qc](n,e)}let[a]=e.absolute===this.cwd?[]:NR(()=>sCt(e.absolute));this[qc](a,e)}[Jq](e,r){let s=e.mode&4095||this.fmode,a=f=>{let p;try{Mn.closeSync(n)}catch(h){p=h}(f||p)&&this[Xo](f||p,e),r()},n;try{n=Mn.openSync(e.absolute,qIe(e.size),s)}catch(f){return a(f)}let c=this.transform&&this.transform(e)||e;c!==e&&(c.on("error",f=>this[Xo](f,e)),e.pipe(c)),c.on("data",f=>{try{Mn.writeSync(n,f,0,f.length)}catch(p){a(p)}}),c.on("end",f=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,E=e.mtime;try{Mn.futimesSync(n,h,E)}catch(C){try{Mn.utimesSync(e.absolute,h,E)}catch{p=C}}}if(this[Vv](e)){let h=this[Kv](e),E=this[Jv](e);try{Mn.fchownSync(n,h,E)}catch(C){try{Mn.chownSync(e.absolute,h,E)}catch{p=p||C}}}a(p)})}[zq](e,r){let s=e.mode&4095||this.dmode,a=this[H0](e.absolute,s);if(a){this[Xo](a,e),r();return}if(e.mtime&&!this.noMtime)try{Mn.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[Vv](e))try{Mn.chownSync(e.absolute,this[Kv](e),this[Jv](e))}catch{}r(),e.resume()}[H0](e,r){try{return HIe.sync($l(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(s){return s}}[LR](e,r,s,a){try{Mn[s+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[Xo](n,e)}}};Xv.Sync=Xq;GIe.exports=Xv});var JIe=L((jer,KIe)=>{"use strict";var lCt=bI(),MR=$q(),YIe=ye("fs"),VIe=GI(),WIe=ye("path"),eG=NI();KIe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let s=lCt(t);if(s.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!s.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&cCt(s,e),s.file&&s.sync?uCt(s):s.file?fCt(s,r):s.sync?ACt(s):pCt(s)};var cCt=(t,e)=>{let r=new Map(e.map(n=>[eG(n),!0])),s=t.filter,a=(n,c)=>{let f=c||WIe.parse(n).root||".",p=n===f?!1:r.has(n)?r.get(n):a(WIe.dirname(n),f);return r.set(n,p),p};t.filter=s?(n,c)=>s(n,c)&&a(eG(n)):n=>a(eG(n))},uCt=t=>{let e=new MR.Sync(t),r=t.file,s=YIe.statSync(r),a=t.maxReadSize||16*1024*1024;new VIe.ReadStreamSync(r,{readSize:a,size:s.size}).pipe(e)},fCt=(t,e)=>{let r=new MR(t),s=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((c,f)=>{r.on("error",f),r.on("close",c),YIe.stat(a,(p,h)=>{if(p)f(p);else{let E=new VIe.ReadStream(a,{readSize:s,size:h.size});E.on("error",f),E.pipe(r)}})});return e?n.then(e,e):n},ACt=t=>new MR.Sync(t),pCt=t=>new MR(t)});var zIe=L(xs=>{"use strict";xs.c=xs.create=QEe();xs.r=xs.replace=Nq();xs.t=xs.list=DR();xs.u=xs.update=UEe();xs.x=xs.extract=JIe();xs.Pack=fR();xs.Unpack=$q();xs.Parse=SR();xs.ReadEntry=KT();xs.WriteEntry=uq();xs.Header=FI();xs.Pax=zT();xs.types=Y6()});var tG,ZIe,j0,$v,eS,XIe=It(()=>{tG=et(Md()),ZIe=ye("worker_threads"),j0=Symbol("kTaskInfo"),$v=class{constructor(e,r){this.fn=e;this.limit=(0,tG.default)(r.poolSize)}run(e){return this.limit(()=>this.fn(e))}},eS=class{constructor(e,r){this.source=e;this.workers=[];this.limit=(0,tG.default)(r.poolSize),this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let s=this.workers.pop();s?s.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new ZIe.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[j0])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[j0].resolve(r),e[j0]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{e[j0]?.reject(r),e[j0]=null}),e.on("exit",r=>{r!==0&&e[j0]?.reject(new Error(`Worker exited with code ${r}`)),e[j0]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((s,a)=>{r[j0]={resolve:s,reject:a},r.postMessage(e)})})}}});var eCe=L((Yer,$Ie)=>{var rG;$Ie.exports.getContent=()=>(typeof rG>"u"&&(rG=ye("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),rG)});var hs={};Vt(hs,{convertToZip:()=>mCt,convertToZipWorker:()=>sG,extractArchiveTo:()=>sCe,getDefaultTaskPool:()=>nCe,getTaskPoolForConfiguration:()=>iCe,makeArchiveFromDirectory:()=>dCt});function hCt(t,e){switch(t){case"async":return new $v(sG,{poolSize:e});case"workers":return new eS((0,iG.getContent)(),{poolSize:e});default:throw new Error(`Assertion failed: Unknown value ${t} for taskPoolMode`)}}function nCe(){return typeof nG>"u"&&(nG=hCt("workers",As.availableParallelism())),nG}function iCe(t){return typeof t>"u"?nCe():Vl(gCt,t,()=>{let e=t.get("taskPoolMode"),r=t.get("taskPoolConcurrency");switch(e){case"async":return new $v(sG,{poolSize:r});case"workers":return new eS((0,iG.getContent)(),{poolSize:r});default:throw new Error(`Assertion failed: Unknown value ${e} for taskPoolMode`)}})}async function sG(t){let{tmpFile:e,tgz:r,compressionLevel:s,extractBufferOpts:a}=t,n=new ps(e,{create:!0,level:s,stats:el.makeDefaultStats()}),c=Buffer.from(r.buffer,r.byteOffset,r.byteLength);return await sCe(c,n,a),n.saveAndClose(),e}async function dCt(t,{baseFs:e=new Yn,prefixPath:r=vt.root,compressionLevel:s,inMemory:a=!1}={}){let n;if(a)n=new ps(null,{level:s});else{let f=await le.mktempPromise(),p=K.join(f,"archive.zip");n=new ps(p,{create:!0,level:s})}let c=K.resolve(vt.root,r);return await n.copyPromise(c,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function mCt(t,e={}){let r=await le.mktempPromise(),s=K.join(r,"archive.zip"),a=e.compressionLevel??e.configuration?.get("compressionLevel")??"mixed",n={prefixPath:e.prefixPath,stripComponents:e.stripComponents};return await(e.taskPool??iCe(e.configuration)).run({tmpFile:s,tgz:t,compressionLevel:a,extractBufferOpts:n}),new ps(s,{level:e.compressionLevel})}async function*yCt(t){let e=new rCe.default.Parse,r=new tCe.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",s=>{r.write(s)}),e.on("error",s=>{r.destroy(s)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let s of r){let a=s;yield a,a.resume()}}async function sCe(t,e,{stripComponents:r=0,prefixPath:s=vt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let c=n.path.split(/\//g);return!!(c.some(f=>f==="..")||c.length<=r)}for await(let n of yCt(t)){if(a(n))continue;let c=K.normalize(ue.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(c.length<=r)continue;let f=c.slice(r).join("/"),p=K.join(s,f),h=420;switch((n.type==="Directory"||(n.mode??0)&73)&&(h|=73),n.type){case"Directory":e.mkdirpSync(K.dirname(p),{chmod:493,utimes:[ui.SAFE_TIME,ui.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,ui.SAFE_TIME,ui.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(K.dirname(p),{chmod:493,utimes:[ui.SAFE_TIME,ui.SAFE_TIME]}),e.writeFileSync(p,await WE(n),{mode:h}),e.utimesSync(p,ui.SAFE_TIME,ui.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(K.dirname(p),{chmod:493,utimes:[ui.SAFE_TIME,ui.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,ui.SAFE_TIME,ui.SAFE_TIME);break}}return e}var tCe,rCe,iG,nG,gCt,oCe=It(()=>{Ve();bt();rA();tCe=ye("stream"),rCe=et(zIe());XIe();kc();iG=et(eCe());gCt=new WeakMap});var lCe=L((oG,aCe)=>{(function(t,e){typeof oG=="object"?aCe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(oG,function(){function t(a,n){var c=n?"\u2514":"\u251C";return a?c+="\u2500 ":c+="\u2500\u2500\u2510",c}function e(a,n){var c=[];for(var f in a)a.hasOwnProperty(f)&&(n&&typeof a[f]=="function"||c.push(f));return c}function r(a,n,c,f,p,h,E){var C="",S=0,P,I,R=f.slice(0);if(R.push([n,c])&&f.length>0&&(f.forEach(function(U,W){W>0&&(C+=(U[1]?" ":"\u2502")+" "),!I&&U[0]===n&&(I=!0)}),C+=t(a,c)+a,p&&(typeof n!="object"||n instanceof Date)&&(C+=": "+n),I&&(C+=" (circular ref.)"),E(C)),!I&&typeof n=="object"){var N=e(n,h);N.forEach(function(U){P=++S===N.length,r(U,n[U],P,R,p,h,E)})}}var s={};return s.asLines=function(a,n,c,f){var p=typeof c!="function"?c:!1;r(".",a,!1,[],n,p,f||c)},s.asTree=function(a,n,c){var f="";return r(".",a,!1,[],n,c,function(p){f+=p+` +`}),f},s})});var ks={};Vt(ks,{emitList:()=>ECt,emitTree:()=>ACe,treeNodeToJson:()=>fCe,treeNodeToTreeify:()=>uCe});function uCe(t,{configuration:e}){let r={},s=0,a=(n,c)=>{let f=Array.isArray(n)?n.entries():Object.entries(n);for(let[p,h]of f){if(!h)continue;let{label:E,value:C,children:S}=h,P=[];typeof E<"u"&&P.push(zd(e,E,2)),typeof C<"u"&&P.push(Ut(e,C[0],C[1])),P.length===0&&P.push(zd(e,`${p}`,2));let I=P.join(": ").trim(),R=`\0${s++}\0`,N=c[`${R}${I}`]={};typeof S<"u"&&a(S,N)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return a(t.children,r),r}function fCe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Zd(r.value[0],r.value[1])}let s=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,c]of s)c&&(a[ICt(n)]=e(c));return typeof r.value>"u"?a:{value:Zd(r.value[0],r.value[1]),children:a}};return e(t)}function ECt(t,{configuration:e,stdout:r,json:s}){let a=t.map(n=>({value:n}));ACe({children:a},{configuration:e,stdout:r,json:s})}function ACe(t,{configuration:e,stdout:r,json:s,separators:a=0}){if(s){let c=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let f of c)f&&r.write(`${JSON.stringify(fCe(f))} +`);return}let n=(0,cCe.asTree)(uCe(t,{configuration:e}),!1,!1);if(n=n.replace(/\0[0-9]+\0/g,""),a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),a>=2)for(let c=0;c<2;++c)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}function ICt(t){return typeof t=="string"?t.replace(/^\0[0-9]+\0/,""):t}var cCe,pCe=It(()=>{cCe=et(lCe());Qc()});var _R,hCe=It(()=>{_R=class{constructor(e){this.releaseFunction=e;this.map=new Map}addOrCreate(e,r){let s=this.map.get(e);if(typeof s<"u"){if(s.refCount<=0)throw new Error(`Race condition in RefCountedMap. While adding a new key the refCount is: ${s.refCount} for ${JSON.stringify(e)}`);return s.refCount++,{value:s.value,release:()=>this.release(e)}}else{let a=r();return this.map.set(e,{refCount:1,value:a}),{value:a,release:()=>this.release(e)}}}release(e){let r=this.map.get(e);if(!r)throw new Error(`Unbalanced calls to release. No known instances of: ${JSON.stringify(e)}`);let s=r.refCount;if(s<=0)throw new Error(`Unbalanced calls to release. Too many release vs alloc refcount would become: ${s-1} of ${JSON.stringify(e)}`);s==1?(this.map.delete(e),this.releaseFunction(r.value)):r.refCount--}}});function tS(t){let e=t.match(CCt);if(!e?.groups)throw new Error("Assertion failed: Expected the checksum to match the requested pattern");let r=e.groups.cacheVersion?parseInt(e.groups.cacheVersion):null;return{cacheKey:e.groups.cacheKey??null,cacheVersion:r,cacheSpec:e.groups.cacheSpec??null,hash:e.groups.hash}}var gCe,aG,lG,UR,Jr,CCt,cG=It(()=>{Ve();bt();bt();rA();gCe=ye("crypto"),aG=et(ye("fs"));hCe();Fc();I0();kc();Yo();lG=YE(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE??process.env.YARN_CACHE_VERSION_OVERRIDE??9),UR=YE(process.env.YARN_CACHE_VERSION_OVERRIDE??10),Jr=class t{constructor(e,{configuration:r,immutable:s=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.refCountedZipFsCache=new _R(e=>{e.discardAndClose()});this.cacheId=`-${(0,gCe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=s,this.check=a;let{cacheSpec:n,cacheKey:c}=t.getCacheKey(r);this.cacheSpec=n,this.cacheKey=c}static async find(e,{immutable:r,check:s}={}){let a=new t(e.get("cacheFolder"),{configuration:e,immutable:r,check:s});return await a.setup(),a}static getCacheKey(e){let r=e.get("compressionLevel"),s=r!=="mixed"?`c${r}`:"";return{cacheKey:[UR,s].join(""),cacheSpec:s}}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${nI(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=tS(r).hash.slice(0,10);return`${nI(e)}-${a}.zip`}isChecksumCompatible(e){if(e===null)return!1;let{cacheVersion:r,cacheSpec:s}=tS(e);if(r===null||r{let pe=new ps,Be=K.join(vt.root,Z8(e));return pe.mkdirSync(Be,{recursive:!0}),pe.writeJsonSync(K.join(Be,Er.manifest),{name:cn(e),mocked:!0}),pe},E=async(pe,{isColdHit:Be,controlPath:Ce=null})=>{if(Ce===null&&c.unstablePackages?.has(e.locatorHash))return{isValid:!0,hash:null};let g=r&&!Be?tS(r).cacheKey:this.cacheKey,we=!c.skipIntegrityCheck||!r?`${g}/${await SQ(pe)}`:r;if(Ce!==null){let fe=!c.skipIntegrityCheck||!r?`${this.cacheKey}/${await SQ(Ce)}`:r;if(we!==fe)throw new Yt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}let Ee=null;switch(r!==null&&we!==r&&(this.check?Ee="throw":tS(r).cacheKey!==tS(we).cacheKey?Ee="update":Ee=this.configuration.get("checksumBehavior")),Ee){case null:case"update":return{isValid:!0,hash:we};case"ignore":return{isValid:!0,hash:r};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Yt(18,"The remote archive doesn't match the expected checksum")}},C=async pe=>{if(!n)throw new Error(`Cache check required but no loader configured for ${Yr(this.configuration,e)}`);let Be=await n(),Ce=Be.getRealPath();Be.saveAndClose(),await le.chmodPromise(Ce,420);let g=await E(pe,{controlPath:Ce,isColdHit:!1});if(!g.isValid)throw new Error("Assertion failed: Expected a valid checksum");return g.hash},S=async()=>{if(f===null||!await le.existsPromise(f)){let pe=await n(),Be=pe.getRealPath();return pe.saveAndClose(),{source:"loader",path:Be}}return{source:"mirror",path:f}},P=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${Yr(this.configuration,e)}`);if(this.immutable)throw new Yt(56,`Cache entry required but missing for ${Yr(this.configuration,e)}`);let{path:pe,source:Be}=await S(),{hash:Ce}=await E(pe,{isColdHit:!0}),g=this.getLocatorPath(e,Ce),we=[];Be!=="mirror"&&f!==null&&we.push(async()=>{let fe=`${f}${this.cacheId}`;await le.copyFilePromise(pe,fe,aG.default.constants.COPYFILE_FICLONE),await le.chmodPromise(fe,420),await le.renamePromise(fe,f)}),(!c.mirrorWriteOnly||f===null)&&we.push(async()=>{let fe=`${g}${this.cacheId}`;await le.copyFilePromise(pe,fe,aG.default.constants.COPYFILE_FICLONE),await le.chmodPromise(fe,420),await le.renamePromise(fe,g)});let Ee=c.mirrorWriteOnly?f??g:g;return await Promise.all(we.map(fe=>fe())),[!1,Ee,Ce]},I=async()=>{let Be=(async()=>{let Ce=c.unstablePackages?.has(e.locatorHash),g=Ce||!r||this.isChecksumCompatible(r)?this.getLocatorPath(e,r):null,we=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Ee=!!c.mockedPackages?.has(e.locatorHash)&&(!this.check||!we),fe=Ee||we,se=fe?s:a;if(se&&se(),fe){let X=null,De=g;if(!Ee)if(this.check)X=await C(De);else{let Re=await E(De,{isColdHit:!1});if(Re.isValid)X=Re.hash;else return P()}return[Ee,De,X]}else{if(this.immutable&&Ce)throw new Yt(56,`Cache entry required but missing for ${Yr(this.configuration,e)}; consider defining ${he.pretty(this.configuration,"supportedArchitectures",he.Type.CODE)} to cache packages for multiple systems`);return P()}})();this.mutexes.set(e.locatorHash,Be);try{return await Be}finally{this.mutexes.delete(e.locatorHash)}};for(let pe;pe=this.mutexes.get(e.locatorHash);)await pe;let[R,N,U]=await I();R||this.markedFiles.add(N);let W=()=>this.refCountedZipFsCache.addOrCreate(N,()=>R?h():new ps(N,{baseFs:p,readOnly:!0})),te,ie=new oE(()=>p3(()=>(te=W(),te.value),pe=>`Failed to open the cache entry for ${Yr(this.configuration,e)}: ${pe}`),K),Ae=new Hf(N,{baseFs:ie,pathUtils:K}),ce=()=>{te?.release()},me=c.unstablePackages?.has(e.locatorHash)?null:U;return[Ae,ce,me]}},CCt=/^(?:(?(?[0-9]+)(?.*))\/)?(?.*)$/});var HR,dCe=It(()=>{HR=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(HR||{})});var wCt,zI,uG=It(()=>{bt();Bc();Np();Yo();wCt=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,s)=>`${r}#commit=${s}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",s,a)=>`https://${r}github.com/${s}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",s,a)=>`https://${r}github.com/${s}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>kQ({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],zI=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let s=K.join(e.cwd,Er.lockfile);if(!le.existsSync(s))return;let a=await le.readFilePromise(s,"utf8"),n=ls(a);if(Object.hasOwn(n,"__metadata"))return;let c=this.resolutions=new Map;for(let f of Object.keys(n)){let p=ev(f);if(!p){r.reportWarning(14,`Failed to parse the string "${f}" into a proper descriptor`);continue}let h=ul(p.range)?On(p,`npm:${p.range}`):p,{version:E,resolved:C}=n[f];if(!C)continue;let S;for(let[I,R]of wCt){let N=C.match(I);if(N){S=R(E,...N);break}}if(!S){r.reportWarning(14,`${ri(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${C}")`);continue}let P=h;try{let I=em(h.range),R=ev(I.selector,!0);R&&(P=R)}catch{}c.set(h.descriptorHash,Ys(P,S))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=V8(a),c=s.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(c,r,s)}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var uA,mCe=It(()=>{Fc();Fv();Qc();uA=class extends ho{constructor({configuration:r,stdout:s,suggestInstall:a=!0}){super();this.errorCount=0;YB(this,{configuration:r}),this.configuration=r,this.stdout=s,this.suggestInstall=a}static async start(r,s){let a=new this(r);try{await s(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,s){return s()}async startSectionPromise(r,s){return await s()}startTimerSync(r,s,a){return(typeof s=="function"?s:a)()}async startTimerPromise(r,s,a){return await(typeof s=="function"?s:a)()}reportSeparator(){}reportInfo(r,s){}reportWarning(r,s){}reportError(r,s){this.errorCount+=1,this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${s} +`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}reportFold(r,s){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(r){return m6(r,{configuration:this.configuration,json:!1})}}});var ZI,fG=It(()=>{Yo();ZI=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(bQ(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,s){let a=s.project.storedResolutions.get(e.descriptorHash);if(a){let c=s.project.originalPackages.get(a);if(c)return[c]}let n=s.project.originalPackages.get(bQ(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let s=r.project.originalPackages.get(e.locatorHash);if(!s)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return s}}});function Xp(){}function BCt(t,e,r,s,a){for(var n=0,c=e.length,f=0,p=0;nP.length?R:P}),h.value=t.join(E)}else h.value=t.join(r.slice(f,f+h.count));f+=h.count,h.added||(p+=h.count)}}var S=e[c-1];return c>1&&typeof S.value=="string"&&(S.added||S.removed)&&t.equals("",S.value)&&(e[c-2].value+=S.value,e.pop()),e}function vCt(t){return{newPos:t.newPos,components:t.components.slice(0)}}function SCt(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function ICe(t,e,r){return r=SCt(r,{ignoreWhitespace:!0}),dG.diff(t,e,r)}function DCt(t,e,r){return mG.diff(t,e,r)}function jR(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?jR=function(e){return typeof e}:jR=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jR(t)}function AG(t){return xCt(t)||kCt(t)||QCt(t)||TCt()}function xCt(t){if(Array.isArray(t))return pG(t)}function kCt(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function QCt(t,e){if(t){if(typeof t=="string")return pG(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return pG(t,e)}}function pG(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,s=new Array(e);r"u"&&(c.context=4);var f=DCt(r,s,c);if(!f)return;f.push({value:"",lines:[]});function p(U){return U.map(function(W){return" "+W})}for(var h=[],E=0,C=0,S=[],P=1,I=1,R=function(W){var te=f[W],ie=te.lines||te.value.replace(/\n$/,"").split(` +`);if(te.lines=ie,te.added||te.removed){var Ae;if(!E){var ce=f[W-1];E=P,C=I,ce&&(S=c.context>0?p(ce.lines.slice(-c.context)):[],E-=S.length,C-=S.length)}(Ae=S).push.apply(Ae,AG(ie.map(function(fe){return(te.added?"+":"-")+fe}))),te.added?I+=ie.length:P+=ie.length}else{if(E)if(ie.length<=c.context*2&&W=f.length-2&&ie.length<=c.context){var g=/\n$/.test(r),we=/\n$/.test(s),Ee=ie.length==0&&S.length>Ce.oldLines;!g&&Ee&&r.length>0&&S.splice(Ce.oldLines,0,"\\ No newline at end of file"),(!g&&!Ee||!we)&&S.push("\\ No newline at end of file")}h.push(Ce),E=0,C=0,S=[]}P+=ie.length,I+=ie.length}},N=0;N{Xp.prototype={diff:function(e,r){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=s.callback;typeof s=="function"&&(a=s,s={}),this.options=s;var n=this;function c(R){return a?(setTimeout(function(){a(void 0,R)},0),!0):R}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var f=r.length,p=e.length,h=1,E=f+p;s.maxEditLength&&(E=Math.min(E,s.maxEditLength));var C=[{newPos:-1,components:[]}],S=this.extractCommon(C[0],r,e,0);if(C[0].newPos+1>=f&&S+1>=p)return c([{value:this.join(r),count:r.length}]);function P(){for(var R=-1*h;R<=h;R+=2){var N=void 0,U=C[R-1],W=C[R+1],te=(W?W.newPos:0)-R;U&&(C[R-1]=void 0);var ie=U&&U.newPos+1=f&&te+1>=p)return c(BCt(n,N.components,r,e,n.useLongestToken));C[R]=N}h++}if(a)(function R(){setTimeout(function(){if(h>E)return a();P()||R()},0)})();else for(;h<=E;){var I=P();if(I)return I}},pushComponent:function(e,r,s){var a=e[e.length-1];a&&a.added===r&&a.removed===s?e[e.length-1]={count:a.count+1,added:r,removed:s}:e.push({count:1,added:r,removed:s})},extractCommon:function(e,r,s,a){for(var n=r.length,c=s.length,f=e.newPos,p=f-a,h=0;f+1"u"?r:c}:s;return typeof t=="string"?t:JSON.stringify(hG(t,null,null,a),a," ")};rS.equals=function(t,e){return Xp.prototype.equals.call(rS,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};gG=new Xp;gG.tokenize=function(t){return t.slice()};gG.join=gG.removeEmpty=function(t){return t}});var BCe=L((Str,wCe)=>{var FCt=xc(),NCt=aI(),OCt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,LCt=/^\w*$/;function MCt(t,e){if(FCt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||NCt(t)?!0:LCt.test(t)||!OCt.test(t)||e!=null&&t in Object(e)}wCe.exports=MCt});var DCe=L((Dtr,SCe)=>{var vCe=kk(),_Ct="Expected a function";function EG(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(_Ct);var r=function(){var s=arguments,a=e?e.apply(this,s):s[0],n=r.cache;if(n.has(a))return n.get(a);var c=t.apply(this,s);return r.cache=n.set(a,c)||n,c};return r.cache=new(EG.Cache||vCe),r}EG.Cache=vCe;SCe.exports=EG});var PCe=L((btr,bCe)=>{var UCt=DCe(),HCt=500;function jCt(t){var e=UCt(t,function(s){return r.size===HCt&&r.clear(),s}),r=e.cache;return e}bCe.exports=jCt});var IG=L((Ptr,xCe)=>{var qCt=PCe(),GCt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,WCt=/\\(\\)?/g,YCt=qCt(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(GCt,function(r,s,a,n){e.push(a?n.replace(WCt,"$1"):s||r)}),e});xCe.exports=YCt});var wm=L((xtr,kCe)=>{var VCt=xc(),KCt=BCe(),JCt=IG(),zCt=Tv();function ZCt(t,e){return VCt(t)?t:KCt(t,e)?[t]:JCt(zCt(t))}kCe.exports=ZCt});var XI=L((ktr,QCe)=>{var XCt=aI(),$Ct=1/0;function ewt(t){if(typeof t=="string"||XCt(t))return t;var e=t+"";return e=="0"&&1/t==-$Ct?"-0":e}QCe.exports=ewt});var qR=L((Qtr,TCe)=>{var twt=wm(),rwt=XI();function nwt(t,e){e=twt(e,t);for(var r=0,s=e.length;t!=null&&r{var iwt=Yk(),swt=wm(),owt=NB(),RCe=Wl(),awt=XI();function lwt(t,e,r,s){if(!RCe(t))return t;e=swt(e,t);for(var a=-1,n=e.length,c=n-1,f=t;f!=null&&++a{var cwt=qR(),uwt=CG(),fwt=wm();function Awt(t,e,r){for(var s=-1,a=e.length,n={};++s{function pwt(t,e){return t!=null&&e in Object(t)}LCe.exports=pwt});var wG=L((Ntr,_Ce)=>{var hwt=wm(),gwt=TB(),dwt=xc(),mwt=NB(),ywt=Nk(),Ewt=XI();function Iwt(t,e,r){e=hwt(e,t);for(var s=-1,a=e.length,n=!1;++s{var Cwt=MCe(),wwt=wG();function Bwt(t,e){return t!=null&&wwt(t,e,Cwt)}UCe.exports=Bwt});var qCe=L((Ltr,jCe)=>{var vwt=OCe(),Swt=HCe();function Dwt(t,e){return vwt(t,e,function(r,s){return Swt(t,s)})}jCe.exports=Dwt});var VCe=L((Mtr,YCe)=>{var GCe=Yd(),bwt=TB(),Pwt=xc(),WCe=GCe?GCe.isConcatSpreadable:void 0;function xwt(t){return Pwt(t)||bwt(t)||!!(WCe&&t&&t[WCe])}YCe.exports=xwt});var zCe=L((_tr,JCe)=>{var kwt=Rk(),Qwt=VCe();function KCe(t,e,r,s,a){var n=-1,c=t.length;for(r||(r=Qwt),a||(a=[]);++n0&&r(f)?e>1?KCe(f,e-1,r,s,a):kwt(a,f):s||(a[a.length]=f)}return a}JCe.exports=KCe});var XCe=L((Utr,ZCe)=>{var Twt=zCe();function Rwt(t){var e=t==null?0:t.length;return e?Twt(t,1):[]}ZCe.exports=Rwt});var BG=L((Htr,$Ce)=>{var Fwt=XCe(),Nwt=i3(),Owt=s3();function Lwt(t){return Owt(Nwt(t,void 0,Fwt),t+"")}$Ce.exports=Lwt});var vG=L((jtr,ewe)=>{var Mwt=qCe(),_wt=BG(),Uwt=_wt(function(t,e){return t==null?{}:Mwt(t,e)});ewe.exports=Uwt});var GR,twe=It(()=>{Fc();GR=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,s){return this.resolver.bindDescriptor(e,r,s)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,s){throw new Yt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,s,a){throw new Yt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Yt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var Wi,SG=It(()=>{Fc();Wi=class extends ho{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,s){return(typeof r=="function"?r:s)()}async startTimerPromise(e,r,s){return await(typeof r=="function"?r:s)()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}reportFold(e,r){}async finalize(){}}});var rwe,$I,DG=It(()=>{bt();rwe=et(BQ());oI();tm();Qc();I0();Np();Yo();$I=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await Ht.tryFind(this.cwd)??new Ht,this.relativeCwd=K.relative(this.project.cwd,this.cwd)||vt.dot;let e=this.manifest.name?this.manifest.name:ba(null,`${this.computeCandidateName()}-${us(this.relativeCwd).substring(0,6)}`);this.anchoredDescriptor=On(e,`${yi.protocol}${this.relativeCwd}`),this.anchoredLocator=Ys(e,`${yi.protocol}${this.relativeCwd}`);let r=this.manifest.workspaceDefinitions.map(({pattern:a})=>a);if(r.length===0)return;let s=await(0,rwe.default)(r,{cwd:ue.fromPortablePath(this.cwd),onlyDirectories:!0,ignore:["**/node_modules","**/.git","**/.yarn"]});s.sort(),await s.reduce(async(a,n)=>{let c=K.resolve(this.cwd,ue.toPortablePath(n)),f=await le.existsPromise(K.join(c,"package.json"));await a,f&&this.workspacesCwds.add(c)},Promise.resolve())}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${rv(this.project.configuration,this)} (${Ut(this.project.configuration,K.join(this.cwd,Er.manifest),Ct.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),s=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(s===yi.protocol&&K.normalize(a)===this.relativeCwd||s===yi.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=ul(a);return n?s===yi.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${K.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Ht.hardDependencies}={}){let r=new Set,s=a=>{for(let n of e)for(let c of a.manifest[n].values()){let f=this.project.tryWorkspaceByDescriptor(c);f===null||r.has(f)||(r.add(f),s(f))}};return s(this),r}getRecursiveWorkspaceDependents({dependencies:e=Ht.hardDependencies}={}){let r=new Set,s=a=>{for(let n of this.project.workspaces)e.some(f=>[...n.manifest[f].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&$B(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),s(n))};return s(this),r}getRecursiveWorkspaceChildren(){let e=new Set([this]);for(let r of e)for(let s of r.workspacesCwds){let a=this.project.workspacesByCwd.get(s);a&&e.add(a)}return e.delete(this),Array.from(e)}async persistManifest(){let e={};this.manifest.exportTo(e);let r=K.join(this.cwd,Ht.fileName),s=`${JSON.stringify(e,null,this.manifest.indent)} +`;await le.changeFilePromise(r,s,{automaticNewlines:!0}),this.manifest.raw=e}}});function Ywt({project:t,allDescriptors:e,allResolutions:r,allPackages:s,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:c=new Map,peerWarnings:f=[],peerRequirementNodes:p=new Map,volatileDescriptors:h=new Set}){let E=new Map,C=[],S=new Map,P=new Map,I=new Map,R=new Map,N=new Map,U=new Map(t.workspaces.map(ce=>{let me=ce.anchoredLocator.locatorHash,pe=s.get(me);if(typeof pe>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[me,zB(pe)]})),W=()=>{let ce=le.mktempSync(),me=K.join(ce,"stacktrace.log"),pe=String(C.length+1).length,Be=C.map((Ce,g)=>`${`${g+1}.`.padStart(pe," ")} ${cl(Ce)} +`).join("");throw le.writeFileSync(me,Be),le.detachTemp(ce),new Yt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${ue.fromPortablePath(me)}`)},te=ce=>{let me=r.get(ce.descriptorHash);if(typeof me>"u")throw new Error("Assertion failed: The resolution should have been registered");let pe=s.get(me);if(!pe)throw new Error("Assertion failed: The package could not be found");return pe},ie=(ce,me,pe,{top:Be,optional:Ce})=>{C.length>1e3&&W(),C.push(me);let g=Ae(ce,me,pe,{top:Be,optional:Ce});return C.pop(),g},Ae=(ce,me,pe,{top:Be,optional:Ce})=>{if(Ce||n.delete(me.locatorHash),a.has(me.locatorHash))return;a.add(me.locatorHash);let g=s.get(me.locatorHash);if(!g)throw new Error(`Assertion failed: The package (${Yr(t.configuration,me)}) should have been registered`);let we=new Set,Ee=new Map,fe=[],se=[],X=[],De=[];for(let Re of Array.from(g.dependencies.values())){if(g.peerDependencies.has(Re.identHash)&&g.locatorHash!==Be)continue;if(Tp(Re))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");h.delete(Re.descriptorHash);let gt=Ce;if(!gt){let ke=g.dependenciesMeta.get(cn(Re));if(typeof ke<"u"){let it=ke.get(null);typeof it<"u"&&it.optional&&(gt=!0)}}let j=r.get(Re.descriptorHash);if(!j)throw new Error(`Assertion failed: The resolution (${ri(t.configuration,Re)}) should have been registered`);let rt=U.get(j)||s.get(j);if(!rt)throw new Error(`Assertion failed: The package (${j}, resolved from ${ri(t.configuration,Re)}) should have been registered`);if(rt.peerDependencies.size===0){ie(Re,rt,new Map,{top:Be,optional:gt});continue}let Fe,Ne,Pe=new Set,Ye=new Map;fe.push(()=>{Fe=J8(Re,me.locatorHash),Ne=z8(rt,me.locatorHash),g.dependencies.set(Re.identHash,Fe),r.set(Fe.descriptorHash,Ne.locatorHash),e.set(Fe.descriptorHash,Fe),s.set(Ne.locatorHash,Ne),xp(R,Ne.locatorHash).add(Fe.descriptorHash),we.add(Ne.locatorHash)}),se.push(()=>{N.set(Ne.locatorHash,Ye);for(let ke of Ne.peerDependencies.values()){let _e=Vl(Ee,ke.identHash,()=>{let x=pe.get(ke.identHash)??null,w=g.dependencies.get(ke.identHash);return!w&&XB(me,ke)&&(ce.identHash===me.identHash?w=ce:(w=On(me,ce.range),e.set(w.descriptorHash,w),r.set(w.descriptorHash,me.locatorHash),h.delete(w.descriptorHash),x=null)),w||(w=On(ke,"missing:")),{subject:me,ident:ke,provided:w,root:!x,requests:new Map,hash:`p${us(me.locatorHash,ke.identHash).slice(0,5)}`}}).provided;if(_e.range==="missing:"&&Ne.dependencies.has(ke.identHash)){Ne.peerDependencies.delete(ke.identHash);continue}if(Ye.set(ke.identHash,{requester:Ne,descriptor:ke,meta:Ne.peerDependenciesMeta.get(cn(ke)),children:new Map}),Ne.dependencies.set(ke.identHash,_e),Tp(_e)){let x=r.get(_e.descriptorHash);xp(I,x).add(Ne.locatorHash)}S.set(_e.identHash,_e),_e.range==="missing:"&&Pe.add(_e.identHash)}Ne.dependencies=new Map(Ws(Ne.dependencies,([ke,it])=>cn(it)))}),X.push(()=>{if(!s.has(Ne.locatorHash))return;let ke=E.get(rt.locatorHash);typeof ke=="number"&&ke>=2&&W();let it=E.get(rt.locatorHash),_e=typeof it<"u"?it+1:1;E.set(rt.locatorHash,_e),ie(Fe,Ne,Ye,{top:Be,optional:gt}),E.set(rt.locatorHash,_e-1)}),De.push(()=>{let ke=r.get(Fe.descriptorHash);if(typeof ke>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let it=N.get(ke);if(typeof it>"u")throw new Error("Assertion failed: Expected the peer requests to be registered");for(let _e of Ee.values()){let x=it.get(_e.ident.identHash);x&&(_e.requests.set(Fe.descriptorHash,x),p.set(_e.hash,_e),_e.root||pe.get(_e.ident.identHash)?.children.set(Fe.descriptorHash,x))}if(s.has(Ne.locatorHash))for(let _e of Pe)Ne.dependencies.delete(_e)})}for(let Re of[...fe,...se])Re();for(let Re of we){we.delete(Re);let gt=s.get(Re),j=us(rI(gt).locatorHash,...Array.from(gt.dependencies.values(),Pe=>{let Ye=Pe.range!=="missing:"?r.get(Pe.descriptorHash):"missing:";if(typeof Ye>"u")throw new Error(`Assertion failed: Expected the resolution for ${ri(t.configuration,Pe)} to have been registered`);return Ye===Be?`${Ye} (top)`:Ye})),rt=P.get(j);if(typeof rt>"u"){P.set(j,gt);continue}let Fe=xp(R,rt.locatorHash);for(let Pe of R.get(gt.locatorHash)??[])r.set(Pe,rt.locatorHash),Fe.add(Pe);s.delete(gt.locatorHash),a.delete(gt.locatorHash),we.delete(gt.locatorHash);let Ne=I.get(gt.locatorHash);if(Ne!==void 0){let Pe=xp(I,rt.locatorHash);for(let Ye of Ne)Pe.add(Ye),we.add(Ye)}}for(let Re of[...X,...De])Re()};for(let ce of t.workspaces){let me=ce.anchoredLocator;h.delete(ce.anchoredDescriptor.descriptorHash),ie(ce.anchoredDescriptor,me,new Map,{top:me.locatorHash,optional:!1})}for(let ce of p.values()){if(!ce.root)continue;let me=s.get(ce.subject.locatorHash);if(typeof me>"u")continue;for(let Be of ce.requests.values()){let Ce=`p${us(ce.subject.locatorHash,cn(ce.ident),Be.requester.locatorHash).slice(0,5)}`;c.set(Ce,{subject:ce.subject.locatorHash,requested:ce.ident,rootRequester:Be.requester.locatorHash,allRequesters:Array.from(nv(Be),g=>g.requester.locatorHash)})}let pe=[...nv(ce)];if(ce.provided.range!=="missing:"){let Be=te(ce.provided),Ce=Be.version??"0.0.0",g=Ee=>{if(Ee.startsWith(yi.protocol)){if(!t.tryWorkspaceByLocator(Be))return null;Ee=Ee.slice(yi.protocol.length),(Ee==="^"||Ee==="~")&&(Ee="*")}return Ee},we=!0;for(let Ee of pe){let fe=g(Ee.descriptor.range);if(fe===null){we=!1;continue}if(!eA(Ce,fe)){we=!1;let se=`p${us(ce.subject.locatorHash,cn(ce.ident),Ee.requester.locatorHash).slice(0,5)}`;f.push({type:1,subject:me,requested:ce.ident,requester:Ee.requester,version:Ce,hash:se,requirementCount:pe.length})}}if(!we){let Ee=pe.map(fe=>g(fe.descriptor.range));f.push({type:3,node:ce,range:Ee.includes(null)?null:$8(Ee),hash:ce.hash})}}else{let Be=!0;for(let Ce of pe)if(!Ce.meta?.optional){Be=!1;let g=`p${us(ce.subject.locatorHash,cn(ce.ident),Ce.requester.locatorHash).slice(0,5)}`;f.push({type:0,subject:me,requested:ce.ident,requester:Ce.requester,hash:g})}Be||f.push({type:2,node:ce,hash:ce.hash})}}}function*Vwt(t){let e=new Map;if("children"in t)e.set(t,t);else for(let r of t.requests.values())e.set(r,r);for(let[r,s]of e){yield{request:r,root:s};for(let a of r.children.values())e.has(a)||e.set(a,s)}}function Kwt(t,e){let r=[],s=[],a=!1;for(let n of t.peerWarnings)if(!(n.type===1||n.type===0)){if(!t.tryWorkspaceByLocator(n.node.subject)){a=!0;continue}if(n.type===3){let c=t.storedResolutions.get(n.node.provided.descriptorHash);if(typeof c>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let f=t.storedPackages.get(c);if(typeof f>"u")throw new Error("Assertion failed: Expected the package to be registered");let p=p0(Vwt(n.node),({request:C,root:S})=>eA(f.version??"0.0.0",C.descriptor.range)?p0.skip:C===S?$i(t.configuration,C.requester):`${$i(t.configuration,C.requester)} (via ${$i(t.configuration,S.requester)})`),h=[...nv(n.node)].length>1?"and other dependencies request":"requests",E=n.range?iI(t.configuration,n.range):Ut(t.configuration,"but they have non-overlapping ranges!","redBright");r.push(`${$i(t.configuration,n.node.ident)} is listed by your project with version ${tv(t.configuration,f.version??"0.0.0")} (${Ut(t.configuration,n.hash,Ct.CODE)}), which doesn't satisfy what ${p} ${h} (${E}).`)}if(n.type===2){let c=n.node.requests.size>1?" and other dependencies":"";s.push(`${Yr(t.configuration,n.node.subject)} doesn't provide ${$i(t.configuration,n.node.ident)} (${Ut(t.configuration,n.hash,Ct.CODE)}), requested by ${$i(t.configuration,n.node.requests.values().next().value.requester)}${c}.`)}}e.startSectionSync({reportFooter:()=>{e.reportWarning(86,`Some peer dependencies are incorrectly met by your project; run ${Ut(t.configuration,"yarn explain peer-requirements ",Ct.CODE)} for details, where ${Ut(t.configuration,"",Ct.CODE)} is the six-letter p-prefixed code.`)},skipIfEmpty:!0},()=>{for(let n of Ws(r,c=>KE.default(c)))e.reportWarning(60,n);for(let n of Ws(s,c=>KE.default(c)))e.reportWarning(2,n)}),a&&e.reportWarning(86,`Some peer dependencies are incorrectly met by dependencies; run ${Ut(t.configuration,"yarn explain peer-requirements",Ct.CODE)} for details.`)}var WR,YR,VR,swe,xG,PG,kG,KR,Hwt,jwt,nwe,qwt,Gwt,Wwt,ec,bG,JR,iwe,Tt,owe=It(()=>{bt();bt();Bc();Wt();WR=ye("crypto");yG();YR=et(vG()),VR=et(Md()),swe=et(fi()),xG=ye("util"),PG=et(ye("v8")),kG=et(ye("zlib"));cG();Cv();uG();fG();oI();iH();Fc();twe();Fv();SG();tm();DG();LQ();Qc();I0();kc();gT();w6();Np();Yo();KR=YE(process.env.YARN_LOCKFILE_VERSION_OVERRIDE??8),Hwt=3,jwt=/ *, */g,nwe=/\/$/,qwt=32,Gwt=(0,xG.promisify)(kG.default.gzip),Wwt=(0,xG.promisify)(kG.default.gunzip),ec=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(ec||{}),bG={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["skippedBuilds","storedBuildState"]},JR=(a=>(a[a.NotProvided=0]="NotProvided",a[a.NotCompatible=1]="NotCompatible",a[a.NodeNotProvided=2]="NodeNotProvided",a[a.NodeNotCompatible=3]="NodeNotCompatible",a))(JR||{}),iwe=t=>us(`${Hwt}`,t),Tt=class t{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.skippedBuilds=new Set;this.lockfileLastVersion=null;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.peerWarnings=[];this.peerRequirementNodes=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){if(!e.projectCwd)throw new nt(`No project found in ${r}`);let s=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,le.existsSync(K.join(n,Er.manifest))){s=n;break}a=K.dirname(n)}let c=new t(e.projectCwd,{configuration:e});ze.telemetry?.reportProject(c.cwd),await c.setupResolutions(),await c.setupWorkspaces(),ze.telemetry?.reportWorkspaceCount(c.workspaces.length),ze.telemetry?.reportDependencyCount(c.workspaces.reduce((I,R)=>I+R.manifest.dependencies.size+R.manifest.devDependencies.size,0));let f=c.tryWorkspaceByCwd(s);if(f)return{project:c,workspace:f,locator:f.anchoredLocator};let p=await c.findLocatorForLocation(`${s}/`,{strict:!0});if(p)return{project:c,locator:p,workspace:null};let h=Ut(e,c.cwd,Ct.PATH),E=Ut(e,K.relative(c.cwd,s),Ct.PATH),C=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,S=`- If ${h} is intended to be a project, it might be that you forgot to list ${E} in its workspace configuration.`,P=`- Finally, if ${h} is fine and you intend ${E} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new nt(`The nearest package directory (${Ut(e,s,Ct.PATH)}) doesn't seem to be part of the project declared in ${Ut(e,c.cwd,Ct.PATH)}. + +${[C,S,P].join(` +`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=K.join(this.cwd,Er.lockfile),r=this.configuration.get("defaultLanguageName");if(le.existsSync(e)){let s=await le.readFilePromise(e,"utf8");this.lockFileChecksum=iwe(s);let a=ls(s);if(a.__metadata){let n=a.__metadata.version,c=a.__metadata.cacheKey;this.lockfileLastVersion=n,this.lockfileNeedsRefresh=n"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${f})`);let h=Rp(p.resolution,!0),E=new Ht;E.load(p,{yamlCompatibilityMode:!0});let C=E.version,S=E.languageName||r,P=p.linkType.toUpperCase(),I=p.conditions??null,R=E.dependencies,N=E.peerDependencies,U=E.dependenciesMeta,W=E.peerDependenciesMeta,te=E.bin;if(p.checksum!=null){let Ae=typeof c<"u"&&!p.checksum.includes("/")?`${c}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,Ae)}let ie={...h,version:C,languageName:S,linkType:P,conditions:I,dependencies:R,peerDependencies:N,dependenciesMeta:U,peerDependenciesMeta:W,bin:te};this.originalPackages.set(ie.locatorHash,ie);for(let Ae of f.split(jwt)){let ce=C0(Ae);n<=6&&(ce=this.configuration.normalizeDependency(ce),ce=On(ce,ce.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(ce.descriptorHash,ce),this.storedResolutions.set(ce.descriptorHash,h.locatorHash)}}}else s.includes("yarn lockfile v1")&&(this.lockfileLastVersion=-1)}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,r=(0,VR.default)(4),s=async(a,n)=>{if(e.has(n))return a;e.add(n);let c=new $I(n,{project:this});await r(()=>c.setup());let f=a.then(()=>{this.addWorkspace(c)});return Array.from(c.workspacesCwds).reduce(s,f)};await s(Promise.resolve(),this.cwd)}addWorkspace(e){let r=this.workspacesByIdent.get(e.anchoredLocator.identHash);if(typeof r<"u")throw new Error(`Duplicate workspace name ${$i(this.configuration,e.anchoredLocator)}: ${ue.fromPortablePath(e.cwd)} conflicts with ${ue.fromPortablePath(r.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.anchoredLocator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){K.isAbsolute(e)||(e=K.resolve(this.cwd,e)),e=K.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let s of this.workspaces)K.relative(s.cwd,e).startsWith("../")||r&&r.cwd.length>=s.cwd.length||(r=s);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${$i(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){if(e.range.startsWith(yi.protocol)){let s=e.range.slice(yi.protocol.length);if(s!=="^"&&s!=="~"&&s!=="*"&&!ul(s))return this.tryWorkspaceByCwd(s)}let r=this.tryWorkspaceByIdent(e);return r===null||(Tp(e)&&(e=ZB(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${ri(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Gu(e)&&(e=rI(e)),r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${Yr(this.configuration,e)})`);return r}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let r=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof r<"u"&&!s.has(r)&&this.deleteLocator(r)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[r,s]of this.storedResolutions)s===e.locatorHash&&this.deleteDescriptor(r)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),r=new Map;for(let[s,a]of this.storedResolutions.entries()){let n=r.get(a);n||r.set(a,n=new Set),n.add(s)}for(let s of this.originalPackages.values()){let a;try{a=e.shouldPersistResolution(s,{project:this,resolver:e})}catch{a=!1}if(!a){this.deleteLocator(s.locatorHash);let n=r.get(s.locatorHash);if(n){r.delete(s.locatorHash);for(let c of n)this.deleteDescriptor(c)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,s]of e.dependencies)Tp(s)&&e.dependencies.set(r,ZB(s))}getDependencyMeta(e,r){let s={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(cn(e));if(!n)return s;let c=n.get(null);if(c&&Object.assign(s,c),r===null||!swe.default.valid(r))return s;for(let[f,p]of n)f!==null&&f===r&&Object.assign(s,p);return s}async findLocatorForLocation(e,{strict:r=!1}={}){let s=new Wi,a=this.configuration.getLinkers(),n={project:this,report:s};for(let c of a){let f=await c.findPackageLocator(e,n);if(f){if(r&&(await c.findPackageLocation(f,n)).replace(nwe,"")!==e.replace(nwe,""))continue;return f}}return null}async loadUserConfig(){let e=K.join(this.cwd,".pnp.cjs");await le.existsPromise(e)&&kp(e).setup();let r=K.join(this.cwd,"yarn.config.cjs");return await le.existsPromise(r)?kp(r):null}async preparePackage(e,{resolver:r,resolveOptions:s}){let a=await this.configuration.getPackageExtensions(),n=this.configuration.normalizePackage(e,{packageExtensions:a});for(let[c,f]of n.dependencies){let p=await this.configuration.reduceHook(E=>E.reduceDependency,f,this,n,f,{resolver:r,resolveOptions:s});if(!XB(f,p))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let h=r.bindDescriptor(p,n,s);n.dependencies.set(c,h)}return n}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions();let r=new Map(this.originalPackages),s=[];e.lockfileOnly||this.forgetTransientResolutions();let a=e.resolver||this.configuration.makeResolver(),n=new zI(a);await n.setup(this,{report:e.report});let c=e.lockfileOnly?[new GR(a)]:[n,a],f=new rm([new ZI(a),...c]),p=new rm([...c]),h=this.configuration.makeFetcher(),E=e.lockfileOnly?{project:this,report:e.report,resolver:f}:{project:this,report:e.report,resolver:f,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:h,cacheOptions:{mirrorWriteOnly:!0}}},C=new Map,S=new Map,P=new Map,I=new Map,R=new Map,N=new Map,U=this.topLevelWorkspace.anchoredLocator,W=new Set,te=[],ie=Tj(),Ae=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(ho.progressViaTitle(),async se=>{let X=async rt=>{let Fe=await GE(async()=>await f.resolve(rt,E),ke=>`${Yr(this.configuration,rt)}: ${ke}`);if(!$B(rt,Fe))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${Yr(this.configuration,rt)} to ${Yr(this.configuration,Fe)})`);I.set(Fe.locatorHash,Fe),!r.delete(Fe.locatorHash)&&!this.tryWorkspaceByLocator(Fe)&&s.push(Fe);let Pe=await this.preparePackage(Fe,{resolver:f,resolveOptions:E}),Ye=Uu([...Pe.dependencies.values()].map(ke=>j(ke)));return te.push(Ye),Ye.catch(()=>{}),S.set(Pe.locatorHash,Pe),Pe},De=async rt=>{let Fe=R.get(rt.locatorHash);if(typeof Fe<"u")return Fe;let Ne=Promise.resolve().then(()=>X(rt));return R.set(rt.locatorHash,Ne),Ne},Re=async(rt,Fe)=>{let Ne=await j(Fe);return C.set(rt.descriptorHash,rt),P.set(rt.descriptorHash,Ne.locatorHash),Ne},gt=async rt=>{se.setTitle(ri(this.configuration,rt));let Fe=this.resolutionAliases.get(rt.descriptorHash);if(typeof Fe<"u")return Re(rt,this.storedDescriptors.get(Fe));let Ne=f.getResolutionDependencies(rt,E),Pe=Object.fromEntries(await Uu(Object.entries(Ne).map(async([it,_e])=>{let x=f.bindDescriptor(_e,U,E),w=await j(x);return W.add(w.locatorHash),[it,w]}))),ke=(await GE(async()=>await f.getCandidates(rt,Pe,E),it=>`${ri(this.configuration,rt)}: ${it}`))[0];if(typeof ke>"u")throw new Yt(82,`${ri(this.configuration,rt)}: No candidates found`);if(e.checkResolutions){let{locators:it}=await p.getSatisfying(rt,Pe,[ke],{...E,resolver:p});if(!it.find(_e=>_e.locatorHash===ke.locatorHash))throw new Yt(78,`Invalid resolution ${VB(this.configuration,rt,ke)}`)}return C.set(rt.descriptorHash,rt),P.set(rt.descriptorHash,ke.locatorHash),De(ke)},j=rt=>{let Fe=N.get(rt.descriptorHash);if(typeof Fe<"u")return Fe;C.set(rt.descriptorHash,rt);let Ne=Promise.resolve().then(()=>gt(rt));return N.set(rt.descriptorHash,Ne),Ne};for(let rt of this.workspaces){let Fe=rt.anchoredDescriptor;te.push(j(Fe))}for(;te.length>0;){let rt=[...te];te.length=0,await Uu(rt)}});let ce=Yl(r.values(),se=>this.tryWorkspaceByLocator(se)?Yl.skip:se);if(s.length>0||ce.length>0){let se=new Set(this.workspaces.flatMap(rt=>{let Fe=S.get(rt.anchoredLocator.locatorHash);if(!Fe)throw new Error("Assertion failed: The workspace should have been resolved");return Array.from(Fe.dependencies.values(),Ne=>{let Pe=P.get(Ne.descriptorHash);if(!Pe)throw new Error("Assertion failed: The resolution should have been registered");return Pe})})),X=rt=>se.has(rt.locatorHash)?"0":"1",De=rt=>cl(rt),Re=Ws(s,[X,De]),gt=Ws(ce,[X,De]),j=e.report.getRecommendedLength();Re.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"+",Ct.ADDED)} ${$k(this.configuration,Re,j)}`),gt.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"-",Ct.REMOVED)} ${$k(this.configuration,gt,j)}`)}let me=new Set(this.resolutionAliases.values()),pe=new Set(S.keys()),Be=new Set,Ce=new Map,g=[],we=new Map;Ywt({project:this,accessibleLocators:Be,volatileDescriptors:me,optionalBuilds:pe,peerRequirements:Ce,peerWarnings:g,peerRequirementNodes:we,allDescriptors:C,allResolutions:P,allPackages:S});for(let se of W)pe.delete(se);for(let se of me)C.delete(se),P.delete(se);let Ee=new Set,fe=new Set;for(let se of S.values())se.conditions!=null&&pe.has(se.locatorHash)&&(TQ(se,Ae)||(TQ(se,ie)&&e.report.reportWarningOnce(77,`${Yr(this.configuration,se)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ut(this.configuration,"supportedArchitectures",Ct.SETTING)} setting`),fe.add(se.locatorHash)),Ee.add(se.locatorHash));this.storedResolutions=P,this.storedDescriptors=C,this.storedPackages=S,this.accessibleLocators=Be,this.conditionalLocators=Ee,this.disabledLocators=fe,this.originalPackages=I,this.optionalBuilds=pe,this.peerRequirements=Ce,this.peerWarnings=g,this.peerRequirementNodes=we}async fetchEverything({cache:e,report:r,fetcher:s,mode:a,persistProject:n=!0}){let c={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},f=s||this.configuration.makeFetcher(),p={checksums:this.storedChecksums,project:this,cache:e,fetcher:f,report:r,cacheOptions:c},h=Array.from(new Set(Ws(this.storedResolutions.values(),[I=>{let R=this.storedPackages.get(I);if(!R)throw new Error("Assertion failed: The locator should have been registered");return cl(R)}])));a==="update-lockfile"&&(h=h.filter(I=>!this.storedChecksums.has(I)));let E=!1,C=ho.progressViaCounter(h.length);await r.reportProgress(C);let S=(0,VR.default)(qwt);if(await Uu(h.map(I=>S(async()=>{let R=this.storedPackages.get(I);if(!R)throw new Error("Assertion failed: The locator should have been registered");if(Gu(R))return;let N;try{N=await f.fetch(R,p)}catch(U){U.message=`${Yr(this.configuration,R)}: ${U.message}`,r.reportExceptionOnce(U),E=U;return}N.checksum!=null?this.storedChecksums.set(R.locatorHash,N.checksum):this.storedChecksums.delete(R.locatorHash),N.releaseFs&&N.releaseFs()}).finally(()=>{C.tick()}))),E)throw E;let P=n&&a!=="update-lockfile"?await this.cacheCleanup({cache:e,report:r}):null;if(r.cacheMisses.size>0||P){let R=(await Promise.all([...r.cacheMisses].map(async ce=>{let me=this.storedPackages.get(ce),pe=this.storedChecksums.get(ce)??null,Be=e.getLocatorPath(me,pe);return(await le.statPromise(Be)).size}))).reduce((ce,me)=>ce+me,0)-(P?.size??0),N=r.cacheMisses.size,U=P?.count??0,W=`${Vk(N,{zero:"No new packages",one:"A package was",more:`${Ut(this.configuration,N,Ct.NUMBER)} packages were`})} added to the project`,te=`${Vk(U,{zero:"none were",one:"one was",more:`${Ut(this.configuration,U,Ct.NUMBER)} were`})} removed`,ie=R!==0?` (${Ut(this.configuration,R,Ct.SIZE_DIFF)})`:"",Ae=U>0?N>0?`${W}, and ${te}${ie}.`:`${W}, but ${te}${ie}.`:`${W}${ie}.`;r.reportInfo(13,Ae)}}async linkEverything({cache:e,report:r,fetcher:s,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},c=s||this.configuration.makeFetcher(),f={checksums:this.storedChecksums,project:this,cache:e,fetcher:c,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},E=new Map(p.map(Ee=>{let fe=Ee.makeInstaller(h),se=Ee.getCustomDataKey(),X=this.linkersCustomData.get(se);return typeof X<"u"&&fe.attachCustomData(X),[Ee,fe]})),C=new Map,S=new Map,P=new Map,I=new Map(await Uu([...this.accessibleLocators].map(async Ee=>{let fe=this.storedPackages.get(Ee);if(!fe)throw new Error("Assertion failed: The locator should have been registered");return[Ee,await c.fetch(fe,f)]}))),R=[],N=new Set,U=[];for(let Ee of this.accessibleLocators){let fe=this.storedPackages.get(Ee);if(typeof fe>"u")throw new Error("Assertion failed: The locator should have been registered");let se=I.get(fe.locatorHash);if(typeof se>"u")throw new Error("Assertion failed: The fetch result should have been registered");let X=[],De=gt=>{X.push(gt)},Re=this.tryWorkspaceByLocator(fe);if(Re!==null){let gt=[],{scripts:j}=Re.manifest;for(let Fe of["preinstall","install","postinstall"])j.has(Fe)&>.push({type:0,script:Fe});try{for(let[Fe,Ne]of E)if(Fe.supportsPackage(fe,h)&&(await Ne.installPackage(fe,se,{holdFetchResult:De})).buildRequest!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{X.length===0?se.releaseFs?.():R.push(Uu(X).catch(()=>{}).then(()=>{se.releaseFs?.()}))}let rt=K.join(se.packageFs.getRealPath(),se.prefixPath);S.set(fe.locatorHash,rt),!Gu(fe)&>.length>0&&P.set(fe.locatorHash,{buildDirectives:gt,buildLocations:[rt]})}else{let gt=p.find(Fe=>Fe.supportsPackage(fe,h));if(!gt)throw new Yt(12,`${Yr(this.configuration,fe)} isn't supported by any available linker`);let j=E.get(gt);if(!j)throw new Error("Assertion failed: The installer should have been registered");let rt;try{rt=await j.installPackage(fe,se,{holdFetchResult:De})}finally{X.length===0?se.releaseFs?.():R.push(Uu(X).then(()=>{}).then(()=>{se.releaseFs?.()}))}C.set(fe.locatorHash,gt),S.set(fe.locatorHash,rt.packageLocation),rt.buildRequest&&rt.packageLocation&&(rt.buildRequest.skipped?(N.add(fe.locatorHash),this.skippedBuilds.has(fe.locatorHash)||U.push([fe,rt.buildRequest.explain])):P.set(fe.locatorHash,{buildDirectives:rt.buildRequest.directives,buildLocations:[rt.packageLocation]}))}}let W=new Map;for(let Ee of this.accessibleLocators){let fe=this.storedPackages.get(Ee);if(!fe)throw new Error("Assertion failed: The locator should have been registered");let se=this.tryWorkspaceByLocator(fe)!==null,X=async(De,Re)=>{let gt=S.get(fe.locatorHash);if(typeof gt>"u")throw new Error(`Assertion failed: The package (${Yr(this.configuration,fe)}) should have been registered`);let j=[];for(let rt of fe.dependencies.values()){let Fe=this.storedResolutions.get(rt.descriptorHash);if(typeof Fe>"u")throw new Error(`Assertion failed: The resolution (${ri(this.configuration,rt)}, from ${Yr(this.configuration,fe)})should have been registered`);let Ne=this.storedPackages.get(Fe);if(typeof Ne>"u")throw new Error(`Assertion failed: The package (${Fe}, resolved from ${ri(this.configuration,rt)}) should have been registered`);let Pe=this.tryWorkspaceByLocator(Ne)===null?C.get(Fe):null;if(typeof Pe>"u")throw new Error(`Assertion failed: The package (${Fe}, resolved from ${ri(this.configuration,rt)}) should have been registered`);Pe===De||Pe===null?S.get(Ne.locatorHash)!==null&&j.push([rt,Ne]):!se&>!==null&&jB(W,Fe).push(gt)}gt!==null&&await Re.attachInternalDependencies(fe,j)};if(se)for(let[De,Re]of E)De.supportsPackage(fe,h)&&await X(De,Re);else{let De=C.get(fe.locatorHash);if(!De)throw new Error("Assertion failed: The linker should have been found");let Re=E.get(De);if(!Re)throw new Error("Assertion failed: The installer should have been registered");await X(De,Re)}}for(let[Ee,fe]of W){let se=this.storedPackages.get(Ee);if(!se)throw new Error("Assertion failed: The package should have been registered");let X=C.get(se.locatorHash);if(!X)throw new Error("Assertion failed: The linker should have been found");let De=E.get(X);if(!De)throw new Error("Assertion failed: The installer should have been registered");await De.attachExternalDependents(se,fe)}let te=new Map;for(let[Ee,fe]of E){let se=await fe.finalizeInstall();for(let X of se?.records??[])X.buildRequest.skipped?(N.add(X.locator.locatorHash),this.skippedBuilds.has(X.locator.locatorHash)||U.push([X.locator,X.buildRequest.explain])):P.set(X.locator.locatorHash,{buildDirectives:X.buildRequest.directives,buildLocations:X.buildLocations});typeof se?.customData<"u"&&te.set(Ee.getCustomDataKey(),se.customData)}if(this.linkersCustomData=te,await Uu(R),a==="skip-build")return;for(let[,Ee]of Ws(U,([fe])=>cl(fe)))Ee(r);let ie=new Set(P.keys()),Ae=(0,WR.createHash)("sha512");Ae.update(process.versions.node),await this.configuration.triggerHook(Ee=>Ee.globalHashGeneration,this,Ee=>{Ae.update("\0"),Ae.update(Ee)});let ce=Ae.digest("hex"),me=new Map,pe=Ee=>{let fe=me.get(Ee.locatorHash);if(typeof fe<"u")return fe;let se=this.storedPackages.get(Ee.locatorHash);if(typeof se>"u")throw new Error("Assertion failed: The package should have been registered");let X=(0,WR.createHash)("sha512");X.update(Ee.locatorHash),me.set(Ee.locatorHash,"");for(let De of se.dependencies.values()){let Re=this.storedResolutions.get(De.descriptorHash);if(typeof Re>"u")throw new Error(`Assertion failed: The resolution (${ri(this.configuration,De)}) should have been registered`);let gt=this.storedPackages.get(Re);if(typeof gt>"u")throw new Error("Assertion failed: The package should have been registered");X.update(pe(gt))}return fe=X.digest("hex"),me.set(Ee.locatorHash,fe),fe},Be=(Ee,fe)=>{let se=(0,WR.createHash)("sha512");se.update(ce),se.update(pe(Ee));for(let X of fe)se.update(X);return se.digest("hex")},Ce=new Map,g=!1,we=Ee=>{let fe=new Set([Ee.locatorHash]);for(let se of fe){let X=this.storedPackages.get(se);if(!X)throw new Error("Assertion failed: The package should have been registered");for(let De of X.dependencies.values()){let Re=this.storedResolutions.get(De.descriptorHash);if(!Re)throw new Error(`Assertion failed: The resolution (${ri(this.configuration,De)}) should have been registered`);if(Re!==Ee.locatorHash&&ie.has(Re))return!1;let gt=this.storedPackages.get(Re);if(!gt)throw new Error("Assertion failed: The package should have been registered");let j=this.tryWorkspaceByLocator(gt);if(j){if(j.anchoredLocator.locatorHash!==Ee.locatorHash&&ie.has(j.anchoredLocator.locatorHash))return!1;fe.add(j.anchoredLocator.locatorHash)}fe.add(Re)}}return!0};for(;ie.size>0;){let Ee=ie.size,fe=[];for(let se of ie){let X=this.storedPackages.get(se);if(!X)throw new Error("Assertion failed: The package should have been registered");if(!we(X))continue;let De=P.get(X.locatorHash);if(!De)throw new Error("Assertion failed: The build directive should have been registered");let Re=Be(X,De.buildLocations);if(this.storedBuildState.get(X.locatorHash)===Re){Ce.set(X.locatorHash,Re),ie.delete(se);continue}g||(await this.persistInstallStateFile(),g=!0),this.storedBuildState.has(X.locatorHash)?r.reportInfo(8,`${Yr(this.configuration,X)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${Yr(this.configuration,X)} must be built because it never has been before or the last one failed`);let gt=De.buildLocations.map(async j=>{if(!K.isAbsolute(j))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${j})`);for(let rt of De.buildDirectives){let Fe=`# This file contains the result of Yarn building a package (${cl(X)}) +`;switch(rt.type){case 0:Fe+=`# Script name: ${rt.script} +`;break;case 1:Fe+=`# Script code: ${rt.script} +`;break}let Ne=null;if(!await le.mktempPromise(async Ye=>{let ke=K.join(Ye,"build.log"),{stdout:it,stderr:_e}=this.configuration.getSubprocessStreams(ke,{header:Fe,prefix:Yr(this.configuration,X),report:r}),x;try{switch(rt.type){case 0:x=await MT(X,rt.script,[],{cwd:j,project:this,stdin:Ne,stdout:it,stderr:_e});break;case 1:x=await y6(X,rt.script,[],{cwd:j,project:this,stdin:Ne,stdout:it,stderr:_e});break}}catch(y){_e.write(y.stack),x=1}if(it.end(),_e.end(),x===0)return!0;le.detachTemp(Ye);let w=`${Yr(this.configuration,X)} couldn't be built successfully (exit code ${Ut(this.configuration,x,Ct.NUMBER)}, logs can be found here: ${Ut(this.configuration,ke,Ct.PATH)})`,b=this.optionalBuilds.has(X.locatorHash);return b?r.reportInfo(9,w):r.reportError(9,w),rye&&r.reportFold(ue.fromPortablePath(ke),le.readFileSync(ke,"utf8")),b}))return!1}return!0});fe.push(...gt,Promise.allSettled(gt).then(j=>{ie.delete(se),j.every(rt=>rt.status==="fulfilled"&&rt.value===!0)&&Ce.set(X.locatorHash,Re)}))}if(await Uu(fe),Ee===ie.size){let se=Array.from(ie).map(X=>{let De=this.storedPackages.get(X);if(!De)throw new Error("Assertion failed: The package should have been registered");return Yr(this.configuration,De)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${se})`);break}}this.storedBuildState=Ce,this.skippedBuilds=N}async installWithNewReport(e,r){return(await Ot.start({configuration:this.configuration,json:e.json,stdout:e.stdout,forceSectionAlignment:!0,includeLogs:!e.json&&!e.quiet,includeVersion:!0},async a=>{await this.install({...r,report:a})})).exitCode()}async install(e){let r=this.configuration.get("nodeLinker");ze.telemetry?.reportInstall(r);let s=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{this.configuration.get("enableOfflineMode")&&e.report.reportWarning(90,"Offline work is enabled; Yarn won't fetch packages from the remote registry if it can avoid it"),await this.configuration.triggerHook(E=>E.validateProject,this,{reportWarning:(E,C)=>{e.report.reportWarning(E,C)},reportError:(E,C)=>{e.report.reportError(E,C),s=!0}})}),s)return;let a=await this.configuration.getPackageExtensions();for(let E of a.values())for(let[,C]of E)for(let S of C)S.status="inactive";let n=K.join(this.cwd,Er.lockfile),c=null;if(e.immutable)try{c=await le.readFilePromise(n,"utf8")}catch(E){throw E.code==="ENOENT"?new Yt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):E}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{Kwt(this,e.report);for(let[,E]of a)for(let[,C]of E)for(let S of C)if(S.userProvided){let P=Ut(this.configuration,S,Ct.PACKAGE_EXTENSION);switch(S.status){case"inactive":e.report.reportWarning(68,`${P}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${P}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(c!==null){let E=Id(c,this.generateLockfile());if(E!==c){let C=CCe(n,n,c,E,void 0,void 0,{maxEditLength:100});if(C){e.report.reportSeparator();for(let S of C.hunks){e.report.reportInfo(null,`@@ -${S.oldStart},${S.oldLines} +${S.newStart},${S.newLines} @@`);for(let P of S.lines)P.startsWith("+")?e.report.reportError(28,Ut(this.configuration,P,Ct.ADDED)):P.startsWith("-")?e.report.reportError(28,Ut(this.configuration,P,Ct.REMOVED)):e.report.reportInfo(null,Ut(this.configuration,P,"grey"))}e.report.reportSeparator()}throw new Yt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let E of a.values())for(let[,C]of E)for(let S of C)S.userProvided&&S.status==="active"&&ze.telemetry?.reportPackageExtension(Zd(S,Ct.PACKAGE_EXTENSION));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e)});let f=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],p=await Promise.all(f.map(async E=>DQ(E,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Ut(this.configuration,"mode=update-lockfile",Ct.CODE)}`);return}await this.linkEverything(e);let E=await Promise.all(f.map(async C=>DQ(C,{cwd:this.cwd})));for(let C=0;C{await this.configuration.triggerHook(E=>E.validateProjectAfterInstall,this,{reportWarning:(E,C)=>{e.report.reportWarning(E,C)},reportError:(E,C)=>{e.report.reportError(E,C),h=!0}})}),!h&&await this.configuration.triggerHook(E=>E.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,c]of this.storedResolutions.entries()){let f=e.get(c);f||e.set(c,f=new Set),f.add(n)}let r={},{cacheKey:s}=Jr.getCacheKey(this.configuration);r.__metadata={version:KR,cacheKey:s};for(let[n,c]of e.entries()){let f=this.originalPackages.get(n);if(!f)continue;let p=[];for(let C of c){let S=this.storedDescriptors.get(C);if(!S)throw new Error("Assertion failed: The descriptor should have been registered");p.push(S)}let h=p.map(C=>ll(C)).sort().join(", "),E=new Ht;E.version=f.linkType==="HARD"?f.version:"0.0.0-use.local",E.languageName=f.languageName,E.dependencies=new Map(f.dependencies),E.peerDependencies=new Map(f.peerDependencies),E.dependenciesMeta=new Map(f.dependenciesMeta),E.peerDependenciesMeta=new Map(f.peerDependenciesMeta),E.bin=new Map(f.bin),r[h]={...E.exportTo({},{compatibilityMode:!1}),linkType:f.linkType.toLowerCase(),resolution:cl(f),checksum:this.storedChecksums.get(f.locatorHash),conditions:f.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+il(r)}async persistLockfile(){let e=K.join(this.cwd,Er.lockfile),r="";try{r=await le.readFilePromise(e,"utf8")}catch{}let s=this.generateLockfile(),a=Id(r,s);a!==r&&(await le.writeFilePromise(e,a),this.lockFileChecksum=iwe(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let c of Object.values(bG))e.push(...c);let r=(0,YR.default)(this,e),s=PG.default.serialize(r),a=us(s);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await le.mkdirPromise(K.dirname(n),{recursive:!0}),await le.writeFilePromise(n,await Gwt(s)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:s=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let c=await Wwt(await le.readFilePromise(a));n=PG.default.deserialize(c),this.installStateChecksum=us(c)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),s&&Object.assign(this,(0,YR.default)(n,bG.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,YR.default)(n,bG.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Wi}),await this.persistInstallStateFile()}async persist(){let e=(0,VR.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(r=>e(()=>r.persistManifest()))])}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return null;let s=new Set([".gitignore"]);if(!hH(e.cwd,this.cwd)||!await le.existsPromise(e.cwd))return null;let a=[];for(let c of await le.readdirPromise(e.cwd)){if(s.has(c))continue;let f=K.resolve(e.cwd,c);e.markedFiles.has(f)||(e.immutable?r.reportError(56,`${Ut(this.configuration,K.basename(f),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):a.push(le.lstatPromise(f).then(async p=>(await le.removePromise(f),p.size))))}if(a.length===0)return null;let n=await Promise.all(a);return{count:a.length,size:n.reduce((c,f)=>c+f,0)}}}});function Jwt(t){let s=Math.floor(t.timeNow/864e5),a=t.updateInterval*864e5,n=t.state.lastUpdate??t.timeNow+a+Math.floor(a*t.randomInitialInterval),c=n+a,f=t.state.lastTips??s*864e5,p=f+864e5+8*36e5-t.timeZone,h=c<=t.timeNow,E=p<=t.timeNow,C=null;return(h||E||!t.state.lastUpdate||!t.state.lastTips)&&(C={},C.lastUpdate=h?t.timeNow:n,C.lastTips=f,C.blocks=h?{}:t.state.blocks,C.displayedTips=t.state.displayedTips),{nextState:C,triggerUpdate:h,triggerTips:E,nextTips:E?s*864e5:f}}var eC,awe=It(()=>{bt();Rv();I0();pT();kc();Np();eC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.nextTips=0;this.displayedTips=[];this.shouldCommitTips=!1;this.configuration=e;let s=this.getRegistryPath();this.isNew=!le.existsSync(s),this.shouldShowTips=!1,this.sendReport(r),this.startBuffer()}commitTips(){this.shouldShowTips&&(this.shouldCommitTips=!0)}selectTip(e){let r=new Set(this.displayedTips),s=f=>f&&un?eA(un,f):!1,a=e.map((f,p)=>p).filter(f=>e[f]&&s(e[f]?.selector));if(a.length===0)return null;let n=a.filter(f=>!r.has(f));if(n.length===0){let f=Math.floor(a.length*.2);this.displayedTips=f>0?this.displayedTips.slice(-f):[],n=a.filter(p=>!r.has(p))}let c=n[Math.floor(Math.random()*n.length)];return this.displayedTips.push(c),this.commitTips(),e[c]}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){xp(this.values,e).add(r)}reportEnumerator(e,r){xp(this.enumerators,e).add(us(r))}reportHit(e,r="*"){let s=A3(this.hits,e),a=Vl(s,r,()=>0);s.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return K.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),s;try{s=le.readJsonSync(r)}catch{s={}}let{nextState:a,triggerUpdate:n,triggerTips:c,nextTips:f}=Jwt({state:s,timeNow:Date.now(),timeZone:new Date().getTimezoneOffset()*60*1e3,randomInitialInterval:Math.random(),updateInterval:this.configuration.get("telemetryInterval")});if(this.nextTips=f,this.displayedTips=s.displayedTips??[],a!==null)try{le.mkdirSync(K.dirname(r),{recursive:!0}),le.writeJsonSync(r,a)}catch{return!1}if(c&&this.configuration.get("enableTips")&&(this.shouldShowTips=!0),n){let p=s.blocks??{};if(Object.keys(p).length===0){let h=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,E=C=>Qj(h,C,{configuration:this.configuration}).catch(()=>{});for(let[C,S]of Object.entries(s.blocks??{})){if(Object.keys(S).length===0)continue;let P=S;P.userId=C,P.reportType="primary";for(let N of Object.keys(P.enumerators??{}))P.enumerators[N]=P.enumerators[N].length;E(P);let I=new Map,R=20;for(let[N,U]of Object.entries(P.values))U.length>0&&I.set(N,U.slice(0,R));for(;I.size>0;){let N={};N.userId=C,N.reportType="secondary",N.metrics={};for(let[U,W]of I)N.metrics[U]=W.shift(),W.length===0&&I.delete(U);E(N)}}}}return!0}applyChanges(){let e=this.getRegistryPath(),r;try{r=le.readJsonSync(e)}catch{r={}}let s=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[s]=a[s]??{};for(let c of this.hits.keys()){let f=n.hits=n.hits??{},p=f[c]=f[c]??{};for(let[h,E]of this.hits.get(c))p[h]=(p[h]??0)+E}for(let c of["values","enumerators"])for(let f of this[c].keys()){let p=n[c]=n[c]??{};p[f]=[...new Set([...p[f]??[],...this[c].get(f)??[]])]}this.shouldCommitTips&&(r.lastTips=this.nextTips,r.displayedTips=this.displayedTips),le.mkdirSync(K.dirname(e),{recursive:!0}),le.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var nS={};Vt(nS,{BuildDirectiveType:()=>HR,CACHE_CHECKPOINT:()=>lG,CACHE_VERSION:()=>UR,Cache:()=>Jr,Configuration:()=>ze,DEFAULT_RC_FILENAME:()=>Mj,FormatType:()=>Lde,InstallMode:()=>ec,LEGACY_PLUGINS:()=>Ev,LOCKFILE_VERSION:()=>KR,LegacyMigrationResolver:()=>zI,LightReport:()=>uA,LinkType:()=>VE,LockfileResolver:()=>ZI,Manifest:()=>Ht,MessageName:()=>Dr,MultiFetcher:()=>lI,PackageExtensionStatus:()=>d3,PackageExtensionType:()=>g3,PeerWarningType:()=>JR,Project:()=>Tt,Report:()=>ho,ReportError:()=>Yt,SettingsType:()=>Iv,StreamReport:()=>Ot,TAG_REGEXP:()=>Hp,TelemetryManager:()=>eC,ThrowReport:()=>Wi,VirtualFetcher:()=>cI,WindowsLinkType:()=>IT,Workspace:()=>$I,WorkspaceFetcher:()=>uI,WorkspaceResolver:()=>yi,YarnVersion:()=>un,execUtils:()=>Gr,folderUtils:()=>OQ,formatUtils:()=>he,hashUtils:()=>Nn,httpUtils:()=>An,miscUtils:()=>je,nodeUtils:()=>As,parseMessageName:()=>rk,reportOptionDeprecations:()=>DI,scriptUtils:()=>In,semverUtils:()=>Or,stringifyMessageName:()=>Vf,structUtils:()=>q,tgzUtils:()=>hs,treeUtils:()=>ks});var Ve=It(()=>{dT();LQ();Qc();I0();pT();kc();gT();w6();Np();Yo();oCe();pCe();cG();Cv();Cv();dCe();uG();mCe();fG();oI();nk();nH();owe();Fc();Fv();awe();SG();sH();oH();tm();DG();Rv();BAe()});var pwe=L((hnr,sS)=>{"use strict";var Zwt=process.env.TERM_PROGRAM==="Hyper",Xwt=process.platform==="win32",uwe=process.platform==="linux",QG={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},fwe=Object.assign({},QG,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Awe=Object.assign({},QG,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:uwe?"\u25B8":"\u276F",pointerSmall:uwe?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});sS.exports=Xwt&&!Zwt?fwe:Awe;Reflect.defineProperty(sS.exports,"common",{enumerable:!1,value:QG});Reflect.defineProperty(sS.exports,"windows",{enumerable:!1,value:fwe});Reflect.defineProperty(sS.exports,"other",{enumerable:!1,value:Awe})});var Ju=L((gnr,TG)=>{"use strict";var $wt=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),e1t=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,hwe=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let c=n.open=`\x1B[${n.codes[0]}m`,f=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,E)=>{h.includes(f)&&(h=h.replace(p,f+c));let C=c+h+f;return E?C.replace(/\r*\n/g,`${f}$&${c}`):C},n},r=(n,c,f)=>typeof n=="function"?n(c):n.wrap(c,f),s=(n,c)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let f=""+n,p=f.includes(` +`),h=c.length;for(h>0&&c.includes("unstyle")&&(c=[...new Set(["unstyle",...c])].reverse());h-- >0;)f=r(t.styles[c[h]],f,p);return f},a=(n,c,f)=>{t.styles[n]=e({name:n,codes:c}),(t.keys[f]||(t.keys[f]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=E=>s(E,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=e1t,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,c)=>{let f=typeof c=="string"?t[c]:c;if(typeof f!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");f.stack||(Reflect.defineProperty(f,"name",{value:n}),t.styles[n]=f,f.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>s(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(f.stack):f.stack,p}})},t.theme=n=>{if(!$wt(n))throw new TypeError("Expected theme to be an object");for(let c of Object.keys(n))t.alias(c,n[c]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=pwe(),t.define=a,t};TG.exports=hwe();TG.exports.create=hwe});var $o=L(pn=>{"use strict";var t1t=Object.prototype.toString,Gc=Ju(),gwe=!1,RG=[],dwe={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};pn.longest=(t,e)=>t.reduce((r,s)=>Math.max(r,e?s[e].length:s.length),0);pn.hasColor=t=>!!t&&Gc.hasColor(t);var ZR=pn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);pn.nativeType=t=>t1t.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");pn.isAsyncFn=t=>pn.nativeType(t)==="asyncfunction";pn.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";pn.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;pn.scrollDown=(t=[])=>[...t.slice(1),t[0]];pn.scrollUp=(t=[])=>[t.pop(),...t];pn.reorder=(t=[])=>{let e=t.slice();return e.sort((r,s)=>r.index>s.index?1:r.index{let s=t.length,a=r===s?0:r<0?s-1:r,n=t[e];t[e]=t[a],t[a]=n};pn.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};pn.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};pn.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:s=` +`+r,width:a=80}=e,n=(s+r).match(/[^\S\n]/g)||[];a-=n.length;let c=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,f=t.trim(),p=new RegExp(c,"g"),h=f.match(p)||[];return h=h.map(E=>E.replace(/\n$/,"")),e.padEnd&&(h=h.map(E=>E.padEnd(a," "))),e.padStart&&(h=h.map(E=>E.padStart(a," "))),r+h.join(s)};pn.unmute=t=>{let e=t.stack.find(s=>Gc.keys.color.includes(s));return e?Gc[e]:t.stack.find(s=>s.slice(2)==="bg")?Gc[e.slice(2)]:s=>s};pn.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";pn.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(s=>Gc.keys.color.includes(s));if(e){let s=Gc["bg"+pn.pascal(e)];return s?s.black:t}let r=t.stack.find(s=>s.slice(0,2)==="bg");return r?Gc[r.slice(2).toLowerCase()]||t:Gc.none};pn.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(s=>Gc.keys.color.includes(s)),r=t.stack.find(s=>s.slice(0,2)==="bg");if(e&&!r)return Gc[dwe[e]||e];if(r){let s=r.slice(2).toLowerCase(),a=dwe[s];return a&&Gc["bg"+pn.pascal(a)]||t}return Gc.none};pn.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),s=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+s};pn.set=(t={},e="",r)=>e.split(".").reduce((s,a,n,c)=>{let f=c.length-1>n?s[a]||{}:r;return!pn.isObject(f)&&n{let s=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return s??r};pn.mixin=(t,e)=>{if(!ZR(t))return e;if(!ZR(e))return t;for(let r of Object.keys(e)){let s=Object.getOwnPropertyDescriptor(e,r);if(s.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&ZR(s.value)){let a=Object.getOwnPropertyDescriptor(t,r);ZR(a.value)?t[r]=pn.merge({},t[r],e[r]):Reflect.defineProperty(t,r,s)}else Reflect.defineProperty(t,r,s);else Reflect.defineProperty(t,r,s)}return t};pn.merge=(...t)=>{let e={};for(let r of t)pn.mixin(e,r);return e};pn.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let s of Object.keys(r)){let a=r[s];typeof a=="function"?pn.define(t,s,a.bind(e)):pn.define(t,s,a)}};pn.onExit=t=>{let e=(r,s)=>{gwe||(gwe=!0,RG.forEach(a=>a()),r===!0&&process.exit(128+s))};RG.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),RG.push(t)};pn.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};pn.defineExport=(t,e,r)=>{let s;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){s=a},get(){return s?s():r()}})}});var mwe=L(iC=>{"use strict";iC.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};iC.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};iC.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};iC.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};iC.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var Iwe=L((ynr,Ewe)=>{"use strict";var ywe=ye("readline"),r1t=mwe(),n1t=/^(?:\x1b)([a-zA-Z0-9])$/,i1t=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,s1t={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function o1t(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function a1t(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var XR=(t="",e={})=>{let r,s={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=s.sequence||""),s.sequence=s.sequence||t||s.name,t==="\r")s.raw=void 0,s.name="return";else if(t===` +`)s.name="enter";else if(t===" ")s.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")s.name="backspace",s.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")s.name="escape",s.meta=t.length===2;else if(t===" "||t==="\x1B ")s.name="space",s.meta=t.length===2;else if(t<="")s.name=String.fromCharCode(t.charCodeAt(0)+97-1),s.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")s.name="number";else if(t.length===1&&t>="a"&&t<="z")s.name=t;else if(t.length===1&&t>="A"&&t<="Z")s.name=t.toLowerCase(),s.shift=!0;else if(r=n1t.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(r[1]);else if(r=i1t.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(s.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),c=(r[3]||r[5]||1)-1;s.ctrl=!!(c&4),s.meta=!!(c&10),s.shift=!!(c&1),s.code=n,s.name=s1t[n],s.shift=o1t(n)||s.shift,s.ctrl=a1t(n)||s.ctrl}return s};XR.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let s=ywe.createInterface({terminal:!0,input:r});ywe.emitKeypressEvents(r,s);let a=(f,p)=>e(f,XR(f,p),s),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),s.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),s.pause(),s.close()}};XR.action=(t,e,r)=>{let s={...r1t,...r};return e.ctrl?(e.action=s.ctrl[e.name],e):e.option&&s.option?(e.action=s.option[e.name],e):e.shift?(e.action=s.shift[e.name],e):(e.action=s.keys[e.name],e)};Ewe.exports=XR});var wwe=L((Enr,Cwe)=>{"use strict";Cwe.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(e)for(let r of Object.keys(e)){let s=e[r];typeof s=="number"&&(s={interval:s}),l1t(t,r,s)}};function l1t(t,e,r={}){let s=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;s.frames=r.frames||[],s.loading=!0;let n=setInterval(()=>{s.ms=Date.now()-s.start,s.tick++,t.render()},a);return s.stop=()=>{s.loading=!1,clearInterval(n)},Reflect.defineProperty(s,"interval",{value:n}),t.once("close",()=>s.stop()),s.stop}});var vwe=L((Inr,Bwe)=>{"use strict";var{define:c1t,width:u1t}=$o(),FG=class{constructor(e){let r=e.options;c1t(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=u1t(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};Bwe.exports=FG});var Dwe=L((Cnr,Swe)=>{"use strict";var NG=$o(),mo=Ju(),OG={default:mo.noop,noop:mo.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||NG.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||NG.complement(this.primary)},primary:mo.cyan,success:mo.green,danger:mo.magenta,strong:mo.bold,warning:mo.yellow,muted:mo.dim,disabled:mo.gray,dark:mo.dim.gray,underline:mo.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};OG.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(mo.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(mo.visible=t.styles.visible);let e=NG.merge({},OG,t.styles);delete e.merge;for(let r of Object.keys(mo))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>mo[r]});for(let r of Object.keys(mo.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>mo[r]});return e};Swe.exports=OG});var Pwe=L((wnr,bwe)=>{"use strict";var LG=process.platform==="win32",$p=Ju(),f1t=$o(),MG={...$p.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:$p.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:$p.symbols.question,submitted:$p.symbols.check,cancelled:$p.symbols.cross},separator:{pending:$p.symbols.pointerSmall,submitted:$p.symbols.middot,cancelled:$p.symbols.middot},radio:{off:LG?"( )":"\u25EF",on:LG?"(*)":"\u25C9",disabled:LG?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};MG.merge=t=>{let e=f1t.merge({},$p.symbols,MG,t.symbols);return delete e.merge,e};bwe.exports=MG});var kwe=L((Bnr,xwe)=>{"use strict";var A1t=Dwe(),p1t=Pwe(),h1t=$o();xwe.exports=t=>{t.options=h1t.merge({},t.options.theme,t.options),t.symbols=p1t.merge(t.options),t.styles=A1t.merge(t.options)}});var Nwe=L((Rwe,Fwe)=>{"use strict";var Qwe=process.env.TERM_PROGRAM==="Apple_Terminal",g1t=Ju(),_G=$o(),zu=Fwe.exports=Rwe,Mi="\x1B[",Twe="\x07",UG=!1,q0=zu.code={bell:Twe,beep:Twe,beginning:`${Mi}G`,down:`${Mi}J`,esc:Mi,getPosition:`${Mi}6n`,hide:`${Mi}?25l`,line:`${Mi}2K`,lineEnd:`${Mi}K`,lineStart:`${Mi}1K`,restorePosition:Mi+(Qwe?"8":"u"),savePosition:Mi+(Qwe?"7":"s"),screen:`${Mi}2J`,show:`${Mi}?25h`,up:`${Mi}1J`},Bm=zu.cursor={get hidden(){return UG},hide(){return UG=!0,q0.hide},show(){return UG=!1,q0.show},forward:(t=1)=>`${Mi}${t}C`,backward:(t=1)=>`${Mi}${t}D`,nextLine:(t=1)=>`${Mi}E`.repeat(t),prevLine:(t=1)=>`${Mi}F`.repeat(t),up:(t=1)=>t?`${Mi}${t}A`:"",down:(t=1)=>t?`${Mi}${t}B`:"",right:(t=1)=>t?`${Mi}${t}C`:"",left:(t=1)=>t?`${Mi}${t}D`:"",to(t,e){return e?`${Mi}${e+1};${t+1}H`:`${Mi}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Bm.left(-t):t>0?Bm.right(t):"",r+=e<0?Bm.up(-e):e>0?Bm.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:s,input:a,prompt:n,size:c,value:f}=t;if(s=_G.isPrimitive(s)?String(s):"",a=_G.isPrimitive(a)?String(a):"",f=_G.isPrimitive(f)?String(f):"",c){let p=zu.cursor.up(c)+zu.cursor.to(n.length),h=a.length-r;return h>0&&(p+=zu.cursor.left(h)),p}if(f||e){let p=!a&&s?-s.length:-a.length+r;return e&&(p-=e.length),a===""&&s&&!n.includes(s)&&(p+=s.length),zu.cursor.move(p)}}},HG=zu.erase={screen:q0.screen,up:q0.up,down:q0.down,line:q0.line,lineEnd:q0.lineEnd,lineStart:q0.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return HG.line+Bm.to(0);let r=n=>[...g1t.unstyle(n)].length,s=t.split(/\r?\n/),a=0;for(let n of s)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(HG.line+Bm.prevLine()).repeat(a-1)+HG.line+Bm.to(0)}});var sC=L((vnr,Lwe)=>{"use strict";var d1t=ye("events"),Owe=Ju(),jG=Iwe(),m1t=wwe(),y1t=vwe(),E1t=kwe(),hl=$o(),vm=Nwe(),qG=class t extends d1t{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,E1t(this),m1t(this),this.state=new y1t(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=C1t(this.options.margin),this.setMaxListeners(0),I1t(this)}async keypress(e,r={}){this.keypressed=!0;let s=jG.action(e,jG(e,r),this.options.actions);this.state.keypress=s,this.emit("keypress",e,s),this.emit("state",this.state.clone());let a=this.options[s.action]||this[s.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,s);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(vm.code.beep)}cursorHide(){this.stdout.write(vm.cursor.hide()),hl.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(vm.cursor.show())}write(e){e&&(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(vm.cursor.down(e)+vm.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:s}=this.sections(),{cursor:a,initial:n="",input:c="",value:f=""}=this,p=this.state.size=s.length,h={after:r,cursor:a,initial:n,input:c,prompt:e,size:p,value:f},E=vm.cursor.restore(h);E&&this.stdout.write(E)}sections(){let{buffer:e,input:r,prompt:s}=this.state;s=Owe.unstyle(s);let a=Owe.unstyle(e),n=a.indexOf(s),c=a.slice(0,n),p=a.slice(n).split(` +`),h=p[0],E=p[p.length-1],S=(s+(r?" "+r:"")).length,P=Se.call(this,this.value),this.result=()=>s.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,s){let{options:a,state:n,symbols:c,timers:f}=this,p=f&&f[e];n.timer=p;let h=a[e]||n[e]||c[e],E=r&&r[e]!=null?r[e]:await h;if(E==="")return E;let C=await this.resolve(E,n,r,s);return!C&&r&&r[e]?this.resolve(h,n,r,s):C}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,s=this.state;return s.timer=r,hl.isObject(e)&&(e=e[s.status]||e.pending),hl.hasColor(e)?e:(this.styles[s.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return hl.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,s=this.state;s.timer=r;let a=e[s.status]||e.pending||s.separator,n=await this.resolve(a,s);return hl.isObject(n)&&(n=n[s.status]||n.pending),hl.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let s=await this.element("pointer",e,r);if(typeof s=="string"&&hl.hasColor(s))return s;if(s){let a=this.styles,n=this.index===r,c=n?a.primary:h=>h,f=await this.resolve(s[n?"on":"off"]||s,this.state),p=hl.hasColor(f)?f:c(f);return n?p:" ".repeat(f.length)}}async indicator(e,r){let s=await this.element("indicator",e,r);if(typeof s=="string"&&hl.hasColor(s))return s;if(s){let a=this.styles,n=e.enabled===!0,c=n?a.success:a.dark,f=s[n?"on":"off"]||s;return hl.hasColor(f)?f:c(f)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return hl.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return hl.resolve(this,e,...r)}get base(){return t.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||hl.height(this.stdout,25)}get width(){return this.options.columns||hl.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,s=[r,e].find(this.isValue.bind(this));return this.isValue(s)?s:this.initial}static get prompt(){return e=>new this(e).run()}};function I1t(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],s=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?s.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function C1t(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?` +`:" ",s=[];for(let a=0;a<4;a++){let n=r(a);e[a]?s.push(n.repeat(e[a])):s.push("")}return s}Lwe.exports=qG});var Uwe=L((Snr,_we)=>{"use strict";var w1t=$o(),Mwe={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return Mwe.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};_we.exports=(t,e={})=>{let r=w1t.merge({},Mwe,e.roles);return r[t]||r.default}});var oS=L((Dnr,qwe)=>{"use strict";var B1t=Ju(),v1t=sC(),S1t=Uwe(),$R=$o(),{reorder:GG,scrollUp:D1t,scrollDown:b1t,isObject:Hwe,swap:P1t}=$R,WG=class extends v1t{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:s,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Hwe(r)&&(r=Object.keys(r)),Array.isArray(r)?(s!=null&&(this.index=this.findIndex(s)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(s!=null&&(r=s),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let s=[],a=0,n=async(c,f)=>{typeof c=="function"&&(c=await c.call(this)),c instanceof Promise&&(c=await c);for(let p=0;p(this.state.loadingChoices=!1,c))}async toChoice(e,r,s){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=S1t(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,$R.define(e,"parent",s),e.level=s?s.level+1:1,e.indent==null&&(e.indent=s?s.indent+" ":e.indent||""),e.path=s?s.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,B1t.unstyle(e.message).length));let c={...e};return e.reset=(f=c.input,p=c.value)=>{for(let h of Object.keys(c))e[h]=c[h];e.input=f,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,s){let a=await this.toChoice(e,r,s);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,s){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,s);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let s=e.parent;for(;s;){let a=s.choices.filter(n=>this.isDisabled(n));s.enabled=a.every(n=>n.enabled===!0),s=s.parent}return jwe(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=s=>{let a=Number(s);if(a>this.choices.length-1)return this.alert();let n=this.focused,c=this.choices.find(f=>a===f.index);if(!c.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(c)===-1){let f=GG(this.choices),p=f.indexOf(c);if(n.index>p){let h=f.slice(p,p+this.limit),E=f.filter(C=>!h.includes(C));this.choices=h.concat(E)}else{let h=p-this.limit+1;this.choices=f.slice(h).concat(f.slice(0,h))}}return this.index=this.choices.indexOf(c),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(s=>{let a=this.choices.length,n=this.num,c=(f=!1,p)=>{clearTimeout(this.numberTimeout),f&&(p=r(n)),this.num="",s(p)};if(n==="0"||n.length===1&&+(n+"0")>a)return c(!0);if(Number(n)>a)return c(!1,this.alert());this.numberTimeout=setTimeout(()=>c(!0),this.delay)})}home(){return this.choices=GG(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=GG(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,s=this.index;return this.options.scroll===!1&&s===0?this.alert():e>r&&s===0?this.scrollUp():(this.index=(s-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,s=this.index;return this.options.scroll===!1&&s===r-1?this.alert():e>r&&s===r-1?this.scrollDown():(this.index=(s+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=D1t(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=b1t(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){P1t(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(s=>e[s]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(s=>!this.isDisabled(s));return e.enabled&&r.every(s=>this.isEnabled(s))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((s,a)=>(s[a]=this.find(a,r),s),{})}filter(e,r){let a=typeof e=="function"?e:(f,p)=>[f.name,p].includes(e),c=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?c.map(f=>f[r]):c}find(e,r){if(Hwe(e))return r?e[r]:e;let a=typeof e=="function"?e:(c,f)=>[c.name,f].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(c=>c.newChoice))return this.alert();let{reorder:r,sort:s}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&s!==!0&&(n=$R.reorder(n)),this.value=a?n.map(c=>c.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(s=>s.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let s=this.find(r);s&&(this.initial=s.index,this.focus(s,!0))}}}get choices(){return jwe(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:s}=this,a=e.limit||this._limit||r.limit||s.length;return Math.min(a,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function jwe(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if($R.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let s=r.choices.filter(a=>!t.isDisabled(a));r.enabled=s.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}qwe.exports=WG});var G0=L((bnr,Gwe)=>{"use strict";var x1t=oS(),YG=$o(),VG=class extends x1t{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let s=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!YG.hasColor(s)&&(s=this.styles.strong(s)),this.resolve(s,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let s=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),c=await this.resolve(e.hint,this.state,e,r);c&&!YG.hasColor(c)&&(c=this.styles.muted(c));let f=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],f+a+n,p,this.margin[1],c].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(YG.hasColor(p)||(p=this.styles.disabled(p)),h()):(s&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,c)=>await this.renderChoice(n,c)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let s=this.margin[0]+r.join(` +`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,s].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,s="",a=await this.header(),n=await this.prefix(),c=await this.separator(),f=await this.message();this.options.promptLine!==!1&&(s=[n,f,c,""].join(" "),this.state.prompt=s);let p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),C=await this.footer();p&&(s+=p),h&&!s.includes(h)&&(s+=" "+h),e&&!p&&!E.trim()&&this.multiple&&this.emptyError!=null&&(s+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,s,E,C].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Gwe.exports=VG});var Ywe=L((Pnr,Wwe)=>{"use strict";var k1t=G0(),Q1t=(t,e)=>{let r=t.toLowerCase();return s=>{let n=s.toLowerCase().indexOf(r),c=e(s.slice(n,n+r.length));return n>=0?s.slice(0,n)+c+s.slice(n+r.length):s}},KG=class extends k1t{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:s}=this.state;return this.input=s.slice(0,r)+e+s.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let s=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(s))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=Q1t(this.input,e),s=this.choices;this.choices=s.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=s}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Wwe.exports=KG});var zG=L((xnr,Vwe)=>{"use strict";var JG=$o();Vwe.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:s="",pos:a,showCursor:n=!0,color:c}=e,f=c||t.styles.placeholder,p=JG.inverse(t.styles.primary),h=R=>p(t.styles.black(R)),E=r,C=" ",S=h(C);if(t.blink&&t.blink.off===!0&&(h=R=>R,S=""),n&&a===0&&s===""&&r==="")return h(C);if(n&&a===0&&(r===s||r===""))return h(s[0])+f(s.slice(1));s=JG.isPrimitive(s)?`${s}`:"",r=JG.isPrimitive(r)?`${r}`:"";let P=s&&s.startsWith(r)&&s!==r,I=P?h(s[r.length]):S;if(a!==r.length&&n===!0&&(E=r.slice(0,a)+h(r[a])+r.slice(a+1),I=""),n===!1&&(I=""),P){let R=t.styles.unstyle(E+I);return E+I+f(s.slice(R.length))}return E+I}});var eF=L((knr,Kwe)=>{"use strict";var T1t=Ju(),R1t=G0(),F1t=zG(),ZG=class extends R1t{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:s,input:a}=r;return r.value=r.input=a.slice(0,s)+e+a.slice(s),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:s}=e;return e.value=e.input=s.slice(0,r-1)+s.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:s}=e;if(s[r]===void 0)return this.alert();let a=`${s}`.slice(0,r)+`${s}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:s}=e;return r&&r.startsWith(s)&&s!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let s=await this.resolve(e.separator,this.state,e,r)||":";return s?" "+this.styles.disabled(s):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:s,styles:a}=this,{cursor:n,initial:c="",name:f,hint:p,input:h=""}=e,{muted:E,submitted:C,primary:S,danger:P}=a,I=p,R=this.index===r,N=e.validate||(()=>!0),U=await this.choiceSeparator(e,r),W=e.message;this.align==="right"&&(W=W.padStart(this.longest+1," ")),this.align==="left"&&(W=W.padEnd(this.longest+1," "));let te=this.values[f]=h||c,ie=h?"success":"dark";await N.call(e,te,this.state)!==!0&&(ie="danger");let Ae=a[ie],ce=Ae(await this.indicator(e,r))+(e.pad||""),me=this.indent(e),pe=()=>[me,ce,W+U,h,I].filter(Boolean).join(" ");if(s.submitted)return W=T1t.unstyle(W),h=C(h),I="",pe();if(e.format)h=await e.format.call(this,h,e,r);else{let Be=this.styles.muted;h=F1t(this,{input:h,initial:c,pos:n,showCursor:R,color:Be})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[f]=await e.result.call(this,te,e,r)),R&&(W=S(W)),e.error?h+=(h?" ":"")+P(e.error.trim()):e.hint&&(h+=(h?" ":"")+E(e.hint.trim())),pe()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Kwe.exports=ZG});var XG=L((Qnr,zwe)=>{"use strict";var N1t=eF(),O1t=()=>{throw new Error("expected prompt to have a custom authenticate method")},Jwe=(t=O1t)=>{class e extends N1t{constructor(s){super(s)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(s){return Jwe(s)}}return e};zwe.exports=Jwe()});var $we=L((Tnr,Xwe)=>{"use strict";var L1t=XG();function M1t(t,e){return t.username===this.options.username&&t.password===this.options.password}var Zwe=(t=M1t)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(s){return this.options.showPassword?s:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(s.length))}}];class r extends L1t.create(t){constructor(a){super({...a,choices:e})}static create(a){return Zwe(a)}}return r};Xwe.exports=Zwe()});var tF=L((Rnr,e1e)=>{"use strict";var _1t=sC(),{isPrimitive:U1t,hasColor:H1t}=$o(),$G=class extends _1t{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:s}=this;return s.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return U1t(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return H1t(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,s=await this.prefix(),a=await this.separator(),n=await this.message(),c=this.styles.muted(this.default),f=[s,n,c,a].filter(Boolean).join(" ");this.state.prompt=f;let p=await this.header(),h=this.value=this.cast(e),E=await this.format(h),C=await this.error()||await this.hint(),S=await this.footer();C&&!f.includes(C)&&(E+=" "+C),f+=" "+E,this.clear(r),this.write([p,f,S].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};e1e.exports=$G});var r1e=L((Fnr,t1e)=>{"use strict";var j1t=tF(),e5=class extends j1t{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};t1e.exports=e5});var i1e=L((Nnr,n1e)=>{"use strict";var q1t=G0(),G1t=eF(),oC=G1t.prototype,t5=class extends q1t{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let s=this.focused,a=s.parent||{};return!s.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():oC.dispatch.call(this,e,r)}append(e,r){return oC.append.call(this,e,r)}delete(e,r){return oC.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?oC.next.call(this):super.next()}prev(){return this.focused.editable?oC.prev.call(this):super.prev()}async indicator(e,r){let s=e.indicator||"",a=e.editable?s:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?oC.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let s=r.parent?this.value[r.parent.name]:this.value;if(r.editable?s=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(s=r.enabled===!0),e=await r.validate(s,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};n1e.exports=t5});var Sm=L((Onr,s1e)=>{"use strict";var W1t=sC(),Y1t=zG(),{isPrimitive:V1t}=$o(),r5=class extends W1t{constructor(e){super(e),this.initial=V1t(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let s=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!s||s.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:s}=this.state;this.input=`${s}`.slice(0,r)+e+`${s}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),s=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=s,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):Y1t(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),s=await this.separator(),a=await this.message(),n=[r,a,s].filter(Boolean).join(" ");this.state.prompt=n;let c=await this.header(),f=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!f.includes(p)&&(f+=" "+p),n+=" "+f,this.clear(e),this.write([c,n,h].filter(Boolean).join(` +`)),this.restore()}};s1e.exports=r5});var a1e=L((Lnr,o1e)=>{"use strict";var K1t=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),rF=t=>K1t(t).filter(Boolean);o1e.exports=(t,e={},r="")=>{let{past:s=[],present:a=""}=e,n,c;switch(t){case"prev":case"undo":return n=s.slice(0,s.length-1),c=s[s.length-1]||"",{past:rF([r,...n]),present:c};case"next":case"redo":return n=s.slice(1),c=s[0]||"",{past:rF([...n,r]),present:c};case"save":return{past:rF([...s,r]),present:""};case"remove":return c=rF(s.filter(f=>f!==r)),a="",c.length&&(a=c.pop()),{past:c,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var i5=L((Mnr,c1e)=>{"use strict";var J1t=Sm(),l1e=a1e(),n5=class extends J1t{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let s=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:s},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=l1e(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){this.store&&(this.data=l1e("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};c1e.exports=n5});var f1e=L((_nr,u1e)=>{"use strict";var z1t=Sm(),s5=class extends z1t{format(){return""}};u1e.exports=s5});var p1e=L((Unr,A1e)=>{"use strict";var Z1t=Sm(),o5=class extends Z1t{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};A1e.exports=o5});var g1e=L((Hnr,h1e)=>{"use strict";var X1t=G0(),a5=class extends X1t{constructor(e){super({...e,multiple:!0})}};h1e.exports=a5});var c5=L((jnr,d1e)=>{"use strict";var $1t=Sm(),l5=class extends $1t{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,s=this.toNumber(this.input);return s>this.max+r?this.alert():(this.input=`${s+r}`,this.render())}down(e){let r=e||this.minor,s=this.toNumber(this.input);return sthis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};d1e.exports=l5});var y1e=L((qnr,m1e)=>{m1e.exports=c5()});var I1e=L((Gnr,E1e)=>{"use strict";var e2t=Sm(),u5=class extends e2t{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};E1e.exports=u5});var B1e=L((Wnr,w1e)=>{"use strict";var t2t=Ju(),r2t=oS(),C1e=$o(),f5=class extends r2t{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((s,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let s=0;s=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(s=>` ${s.name} - ${s.message}`)].map(s=>this.styles.muted(s)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let s=this.scaleLength-r.join("").length,a=Math.round(s/(r.length-1)),c=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),f=" ".repeat(this.widths[0]);return this.margin[3]+f+this.margin[1]+c}scaleIndicator(e,r,s){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,s);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let s=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return s.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let s=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!C1e.hasColor(n)&&(n=this.styles.muted(n));let c=I=>this.margin[3]+I.replace(/\s+$/,"").padEnd(this.widths[0]," "),f=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),E=await this.renderScale(e,r),C=this.margin[1]+this.margin[3];this.scaleLength=t2t.unstyle(E).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-C.length);let P=C1e.wordWrap(h,{width:this.widths[0],newline:f}).split(` +`).map(I=>c(I)+this.margin[1]);return s&&(E=this.styles.info(E),P=P.map(I=>this.styles.info(I))),P[0]+=E,this.linebreak&&P.push(""),[p+a,P.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),s=await this.renderScaleHeading();return this.margin[0]+[s,...r.map(a=>a.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,s=await this.prefix(),a=await this.separator(),n=await this.message(),c="";this.options.promptLine!==!1&&(c=[s,n,a,""].join(" "),this.state.prompt=c);let f=await this.header(),p=await this.format(),h=await this.renderScaleKey(),E=await this.error()||await this.hint(),C=await this.renderChoices(),S=await this.footer(),P=this.emptyError;p&&(c+=p),E&&!c.includes(E)&&(c+=" "+E),e&&!p&&!C.trim()&&this.multiple&&P!=null&&(c+=this.styles.danger(P)),this.clear(r),this.write([f,c,h,C,S].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};w1e.exports=f5});var D1e=L((Ynr,S1e)=>{"use strict";var v1e=Ju(),n2t=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",p5=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=n2t(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},i2t=async(t={},e={},r=s=>s)=>{let s=new Set,a=t.fields||[],n=t.template,c=[],f=[],p=[],h=1;typeof n=="function"&&(n=await n());let E=-1,C=()=>n[++E],S=()=>n[E+1],P=I=>{I.line=h,c.push(I)};for(P({type:"bos",value:""});Eie.name===U.key);U.field=a.find(ie=>ie.name===U.key),te||(te=new p5(U),f.push(te)),te.lines.push(U.line-1);continue}let R=c[c.length-1];R.type==="text"&&R.line===h?R.value+=I:P({type:"text",value:I})}return P({type:"eos",value:""}),{input:n,tabstops:c,unique:s,keys:p,items:f}};S1e.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),s={...e.values,...e.initial},{tabstops:a,items:n,keys:c}=await i2t(e,s),f=A5("result",t,e),p=A5("format",t,e),h=A5("validate",t,e,!0),E=t.isValue.bind(t);return async(C={},S=!1)=>{let P=0;C.required=r,C.items=n,C.keys=c,C.output="";let I=async(W,te,ie,Ae)=>{let ce=await h(W,te,ie,Ae);return ce===!1?"Invalid field "+ie.name:ce};for(let W of a){let te=W.value,ie=W.key;if(W.type!=="template"){te&&(C.output+=te);continue}if(W.type==="template"){let Ae=n.find(Ce=>Ce.name===ie);e.required===!0&&C.required.add(Ae.name);let ce=[Ae.input,C.values[Ae.value],Ae.value,te].find(E),pe=(Ae.field||{}).message||W.inner;if(S){let Ce=await I(C.values[ie],C,Ae,P);if(Ce&&typeof Ce=="string"||Ce===!1){C.invalid.set(ie,Ce);continue}C.invalid.delete(ie);let g=await f(C.values[ie],C,Ae,P);C.output+=v1e.unstyle(g);continue}Ae.placeholder=!1;let Be=te;te=await p(te,C,Ae,P),ce!==te?(C.values[ie]=ce,te=t.styles.typing(ce),C.missing.delete(pe)):(C.values[ie]=void 0,ce=`<${pe}>`,te=t.styles.primary(ce),Ae.placeholder=!0,C.required.has(ie)&&C.missing.add(pe)),C.missing.has(pe)&&C.validating&&(te=t.styles.warning(ce)),C.invalid.has(ie)&&C.validating&&(te=t.styles.danger(ce)),P===C.index&&(Be!==te?te=t.styles.underline(te):te=t.styles.heading(v1e.unstyle(te))),P++}te&&(C.output+=te)}let R=C.output.split(` +`).map(W=>" "+W),N=n.length,U=0;for(let W of n)C.invalid.has(W.name)&&W.lines.forEach(te=>{R[te][0]===" "&&(R[te]=C.styles.danger(C.symbols.bullet)+R[te].slice(1))}),t.isValue(C.values[W.name])&&U++;return C.completed=(U/N*100).toFixed(0),C.output=R.join(` +`),C.output}};function A5(t,e,r,s){return(a,n,c,f)=>typeof c.field[t]=="function"?c.field[t].call(e,a,n,c,f):[s,a].find(p=>e.isValue(p))}});var P1e=L((Vnr,b1e)=>{"use strict";var s2t=Ju(),o2t=D1e(),a2t=sC(),h5=class extends a2t{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await o2t(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let s=this.getItem(),a=s.input.slice(0,this.cursor),n=s.input.slice(this.cursor);this.input=s.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),s=e.input.slice(0,this.cursor-1);this.input=e.input=`${s}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:s,size:a}=this.state,n=[this.options.newline,` +`].find(W=>W!=null),c=await this.prefix(),f=await this.separator(),p=await this.message(),h=[c,p,f].filter(Boolean).join(" ");this.state.prompt=h;let E=await this.header(),C=await this.error()||"",S=await this.hint()||"",P=s?"":await this.interpolate(this.state),I=this.state.key=r[e]||"",R=await this.format(I),N=await this.footer();R&&(h+=" "+R),S&&!R&&this.state.completed===0&&(h+=" "+S),this.clear(a);let U=[E,h,P,N,C.trim()];this.write(U.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:s,index:a}=this.state,n=r.find(c=>c.name===s[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:s,values:a}=this.state;if(e.size){let f="";for(let[p,h]of e)f+=`Invalid ${p}: ${h} +`;return this.state.error=f,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let c=s2t.unstyle(s).split(` +`).map(f=>f.slice(1)).join(` +`);return this.value={values:a,result:c},super.submit()}};b1e.exports=h5});var k1e=L((Knr,x1e)=>{"use strict";var l2t="(Use + to sort)",c2t=G0(),g5=class extends c2t{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,l2t].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let s=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+s:n+s}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};x1e.exports=g5});var T1e=L((Jnr,Q1e)=>{"use strict";var u2t=oS(),d5=class extends u2t{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(s=>this.styles.muted(s)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let s of r)s.scale=f2t(5,this.options),s.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],s=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!s,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let s=this.index===r,a=this.term==="Hyper",n=a?9:8,c=a?"":" ",f=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=te=>(te?this.styles.success("\u25C9"):"\u25EF")+c,E=r+1+".",C=s?this.styles.heading:this.styles.noop,S=await this.resolve(e.message,this.state,e,r),P=this.indent(e),I=P+e.scale.map((te,ie)=>h(ie===e.scaleIdx)).join(f),R=te=>te===e.scaleIdx?C(te):te,N=P+e.scale.map((te,ie)=>R(ie)).join(p),U=()=>[E,S].filter(Boolean).join(" "),W=()=>[U(),I,N," "].filter(Boolean).join(` +`);return s&&(I=this.styles.cyan(I),N=this.styles.cyan(N)),W()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(s,a)=>await this.renderChoice(s,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,s=await this.prefix(),a=await this.separator(),n=await this.message(),c=[s,n,a].filter(Boolean).join(" ");this.state.prompt=c;let f=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),C=await this.footer();(p||!h)&&(c+=" "+p),h&&!c.includes(h)&&(c+=" "+h),e&&!p&&!E&&this.multiple&&this.type!=="form"&&(c+=this.styles.danger(this.emptyError)),this.clear(r),this.write([c,f,E,C].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function f2t(t,e={}){if(Array.isArray(e.scale))return e.scale.map(s=>({...s}));let r=[];for(let s=1;s{R1e.exports=i5()});var O1e=L((Znr,N1e)=>{"use strict";var A2t=tF(),m5=class extends A2t{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=s=>this.styles.primary.underline(s);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),s=await this.prefix(),a=await this.separator(),n=await this.message(),c=await this.format(),f=await this.error()||await this.hint(),p=await this.footer(),h=[s,n,a,c].join(" ");this.state.prompt=h,f&&!h.includes(f)&&(h+=" "+f),this.clear(e),this.write([r,h,p].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};N1e.exports=m5});var M1e=L((Xnr,L1e)=>{"use strict";var p2t=G0(),y5=class extends p2t{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let s=await super.toChoices(e,r);if(s.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>s.length)throw new Error("Please specify the index of the correct answer from the list of choices");return s}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};L1e.exports=y5});var U1e=L(E5=>{"use strict";var _1e=$o(),Qs=(t,e)=>{_1e.defineExport(E5,t,e),_1e.defineExport(E5,t.toLowerCase(),e)};Qs("AutoComplete",()=>Ywe());Qs("BasicAuth",()=>$we());Qs("Confirm",()=>r1e());Qs("Editable",()=>i1e());Qs("Form",()=>eF());Qs("Input",()=>i5());Qs("Invisible",()=>f1e());Qs("List",()=>p1e());Qs("MultiSelect",()=>g1e());Qs("Numeral",()=>y1e());Qs("Password",()=>I1e());Qs("Scale",()=>B1e());Qs("Select",()=>G0());Qs("Snippet",()=>P1e());Qs("Sort",()=>k1e());Qs("Survey",()=>T1e());Qs("Text",()=>F1e());Qs("Toggle",()=>O1e());Qs("Quiz",()=>M1e())});var j1e=L((eir,H1e)=>{H1e.exports={ArrayPrompt:oS(),AuthPrompt:XG(),BooleanPrompt:tF(),NumberPrompt:c5(),StringPrompt:Sm()}});var lS=L((tir,G1e)=>{"use strict";var q1e=ye("assert"),C5=ye("events"),W0=$o(),Zu=class extends C5{constructor(e,r){super(),this.options=W0.merge({},e),this.answers={...r}}register(e,r){if(W0.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}q1e.equal(typeof r,"function","expected a function");let s=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[s]=r:this.prompts[s]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(W0.merge({},this.options,r))}catch(s){return Promise.reject(s)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=W0.merge({},this.options,e),{type:s,name:a}=e,{set:n,get:c}=W0;if(typeof s=="function"&&(s=await s.call(this,e,this.answers)),!s)return this.answers[a];q1e(this.prompts[s],`Prompt "${s}" is not registered`);let f=new this.prompts[s](r),p=c(this.answers,a);f.state.answers=this.answers,f.enquirer=this,a&&f.on("submit",E=>{this.emit("answer",a,E,f),n(this.answers,a,E)});let h=f.emit.bind(f);return f.emit=(...E)=>(this.emit.call(this,...E),h(...E)),this.emit("prompt",f,this),r.autofill&&p!=null?(f.value=f.input=p,r.autofill==="show"&&await f.submit()):p=f.value=await f.run(),p}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||sC()}static get prompts(){return U1e()}static get types(){return j1e()}static get prompt(){let e=(r,...s)=>{let a=new this(...s),n=a.emit.bind(a);return a.emit=(...c)=>(e.emit(...c),n(...c)),a.prompt(r)};return W0.mixinEmitter(e,new C5),e}};W0.mixinEmitter(Zu,new C5);var I5=Zu.prompts;for(let t of Object.keys(I5)){let e=t.toLowerCase(),r=s=>new I5[t](s).run();Zu.prompt[e]=r,Zu[e]=r,Zu[t]||Reflect.defineProperty(Zu,t,{get:()=>I5[t]})}var aS=t=>{W0.defineExport(Zu,t,()=>Zu.types[t])};aS("ArrayPrompt");aS("AuthPrompt");aS("BooleanPrompt");aS("NumberPrompt");aS("StringPrompt");G1e.exports=Zu});var AS=L((Lir,Z1e)=>{var I2t=qR();function C2t(t,e,r){var s=t==null?void 0:I2t(t,e);return s===void 0?r:s}Z1e.exports=C2t});var e2e=L((qir,$1e)=>{function w2t(t,e){for(var r=-1,s=t==null?0:t.length;++r{var B2t=Jd(),v2t=Uk();function S2t(t,e){return t&&B2t(e,v2t(e),t)}t2e.exports=S2t});var i2e=L((Wir,n2e)=>{var D2t=Jd(),b2t=qE();function P2t(t,e){return t&&D2t(e,b2t(e),t)}n2e.exports=P2t});var o2e=L((Yir,s2e)=>{var x2t=Jd(),k2t=Fk();function Q2t(t,e){return x2t(t,k2t(t),e)}s2e.exports=Q2t});var b5=L((Vir,a2e)=>{var T2t=Rk(),R2t=Wk(),F2t=Fk(),N2t=_4(),O2t=Object.getOwnPropertySymbols,L2t=O2t?function(t){for(var e=[];t;)T2t(e,F2t(t)),t=R2t(t);return e}:N2t;a2e.exports=L2t});var c2e=L((Kir,l2e)=>{var M2t=Jd(),_2t=b5();function U2t(t,e){return M2t(t,_2t(t),e)}l2e.exports=U2t});var P5=L((Jir,u2e)=>{var H2t=M4(),j2t=b5(),q2t=qE();function G2t(t){return H2t(t,q2t,j2t)}u2e.exports=G2t});var A2e=L((zir,f2e)=>{var W2t=Object.prototype,Y2t=W2t.hasOwnProperty;function V2t(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&Y2t.call(t,"index")&&(r.index=t.index,r.input=t.input),r}f2e.exports=V2t});var h2e=L((Zir,p2e)=>{var K2t=qk();function J2t(t,e){var r=e?K2t(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}p2e.exports=J2t});var d2e=L((Xir,g2e)=>{var z2t=/\w*$/;function Z2t(t){var e=new t.constructor(t.source,z2t.exec(t));return e.lastIndex=t.lastIndex,e}g2e.exports=Z2t});var C2e=L(($ir,I2e)=>{var m2e=Yd(),y2e=m2e?m2e.prototype:void 0,E2e=y2e?y2e.valueOf:void 0;function X2t(t){return E2e?Object(E2e.call(t)):{}}I2e.exports=X2t});var B2e=L((esr,w2e)=>{var $2t=qk(),eBt=h2e(),tBt=d2e(),rBt=C2e(),nBt=$4(),iBt="[object Boolean]",sBt="[object Date]",oBt="[object Map]",aBt="[object Number]",lBt="[object RegExp]",cBt="[object Set]",uBt="[object String]",fBt="[object Symbol]",ABt="[object ArrayBuffer]",pBt="[object DataView]",hBt="[object Float32Array]",gBt="[object Float64Array]",dBt="[object Int8Array]",mBt="[object Int16Array]",yBt="[object Int32Array]",EBt="[object Uint8Array]",IBt="[object Uint8ClampedArray]",CBt="[object Uint16Array]",wBt="[object Uint32Array]";function BBt(t,e,r){var s=t.constructor;switch(e){case ABt:return $2t(t);case iBt:case sBt:return new s(+t);case pBt:return eBt(t,r);case hBt:case gBt:case dBt:case mBt:case yBt:case EBt:case IBt:case CBt:case wBt:return nBt(t,r);case oBt:return new s;case aBt:case uBt:return new s(t);case lBt:return tBt(t);case cBt:return new s;case fBt:return rBt(t)}}w2e.exports=BBt});var S2e=L((tsr,v2e)=>{var vBt=_B(),SBt=zf(),DBt="[object Map]";function bBt(t){return SBt(t)&&vBt(t)==DBt}v2e.exports=bBt});var x2e=L((rsr,P2e)=>{var PBt=S2e(),xBt=Ok(),D2e=Lk(),b2e=D2e&&D2e.isMap,kBt=b2e?xBt(b2e):PBt;P2e.exports=kBt});var Q2e=L((nsr,k2e)=>{var QBt=_B(),TBt=zf(),RBt="[object Set]";function FBt(t){return TBt(t)&&QBt(t)==RBt}k2e.exports=FBt});var N2e=L((isr,F2e)=>{var NBt=Q2e(),OBt=Ok(),T2e=Lk(),R2e=T2e&&T2e.isSet,LBt=R2e?OBt(R2e):NBt;F2e.exports=LBt});var x5=L((ssr,_2e)=>{var MBt=Qk(),_Bt=e2e(),UBt=Yk(),HBt=r2e(),jBt=i2e(),qBt=X4(),GBt=Gk(),WBt=o2e(),YBt=c2e(),VBt=q4(),KBt=P5(),JBt=_B(),zBt=A2e(),ZBt=B2e(),XBt=e3(),$Bt=xc(),evt=FB(),tvt=x2e(),rvt=Wl(),nvt=N2e(),ivt=Uk(),svt=qE(),ovt=1,avt=2,lvt=4,O2e="[object Arguments]",cvt="[object Array]",uvt="[object Boolean]",fvt="[object Date]",Avt="[object Error]",L2e="[object Function]",pvt="[object GeneratorFunction]",hvt="[object Map]",gvt="[object Number]",M2e="[object Object]",dvt="[object RegExp]",mvt="[object Set]",yvt="[object String]",Evt="[object Symbol]",Ivt="[object WeakMap]",Cvt="[object ArrayBuffer]",wvt="[object DataView]",Bvt="[object Float32Array]",vvt="[object Float64Array]",Svt="[object Int8Array]",Dvt="[object Int16Array]",bvt="[object Int32Array]",Pvt="[object Uint8Array]",xvt="[object Uint8ClampedArray]",kvt="[object Uint16Array]",Qvt="[object Uint32Array]",Ii={};Ii[O2e]=Ii[cvt]=Ii[Cvt]=Ii[wvt]=Ii[uvt]=Ii[fvt]=Ii[Bvt]=Ii[vvt]=Ii[Svt]=Ii[Dvt]=Ii[bvt]=Ii[hvt]=Ii[gvt]=Ii[M2e]=Ii[dvt]=Ii[mvt]=Ii[yvt]=Ii[Evt]=Ii[Pvt]=Ii[xvt]=Ii[kvt]=Ii[Qvt]=!0;Ii[Avt]=Ii[L2e]=Ii[Ivt]=!1;function iF(t,e,r,s,a,n){var c,f=e&ovt,p=e&avt,h=e&lvt;if(r&&(c=a?r(t,s,a,n):r(t)),c!==void 0)return c;if(!rvt(t))return t;var E=$Bt(t);if(E){if(c=zBt(t),!f)return GBt(t,c)}else{var C=JBt(t),S=C==L2e||C==pvt;if(evt(t))return qBt(t,f);if(C==M2e||C==O2e||S&&!a){if(c=p||S?{}:XBt(t),!f)return p?YBt(t,jBt(c,t)):WBt(t,HBt(c,t))}else{if(!Ii[C])return a?t:{};c=ZBt(t,C,f)}}n||(n=new MBt);var P=n.get(t);if(P)return P;n.set(t,c),nvt(t)?t.forEach(function(N){c.add(iF(N,e,r,N,t,n))}):tvt(t)&&t.forEach(function(N,U){c.set(U,iF(N,e,r,U,t,n))});var I=h?p?KBt:VBt:p?svt:ivt,R=E?void 0:I(t);return _Bt(R||t,function(N,U){R&&(U=N,N=t[U]),UBt(c,U,iF(N,e,r,U,t,n))}),c}_2e.exports=iF});var k5=L((osr,U2e)=>{var Tvt=x5(),Rvt=1,Fvt=4;function Nvt(t){return Tvt(t,Rvt|Fvt)}U2e.exports=Nvt});var Q5=L((asr,H2e)=>{var Ovt=CG();function Lvt(t,e,r){return t==null?t:Ovt(t,e,r)}H2e.exports=Lvt});var Y2e=L((psr,W2e)=>{var Mvt=Object.prototype,_vt=Mvt.hasOwnProperty;function Uvt(t,e){return t!=null&&_vt.call(t,e)}W2e.exports=Uvt});var K2e=L((hsr,V2e)=>{var Hvt=Y2e(),jvt=wG();function qvt(t,e){return t!=null&&jvt(t,e,Hvt)}V2e.exports=qvt});var z2e=L((gsr,J2e)=>{function Gvt(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}J2e.exports=Gvt});var X2e=L((dsr,Z2e)=>{var Wvt=qR(),Yvt=A6();function Vvt(t,e){return e.length<2?t:Wvt(t,Yvt(e,0,-1))}Z2e.exports=Vvt});var R5=L((msr,$2e)=>{var Kvt=wm(),Jvt=z2e(),zvt=X2e(),Zvt=XI();function Xvt(t,e){return e=Kvt(e,t),t=zvt(t,e),t==null||delete t[Zvt(Jvt(e))]}$2e.exports=Xvt});var F5=L((ysr,eBe)=>{var $vt=R5();function eSt(t,e){return t==null?!0:$vt(t,e)}eBe.exports=eSt});var sBe=L((Vsr,nSt)=>{nSt.exports={name:"@yarnpkg/cli",version:"4.9.1",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-jsr":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^4.0.0",clipanion:"^4.0.0-rc.2",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.14.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-jsr","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"git+https://github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=18.12.0"}}});var q5=L((Dcr,mBe)=>{"use strict";mBe.exports=function(e,r){r===!0&&(r=0);var s="";if(typeof e=="string")try{s=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(s=e.protocol);var a=s.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var EBe=L((bcr,yBe)=>{"use strict";var BSt=q5();function vSt(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=BSt(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}yBe.exports=vSt});var wBe=L((Pcr,CBe)=>{"use strict";var SSt=EBe();function DSt(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var bSt=DSt(SSt),PSt="text/plain",xSt="us-ascii",IBe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),kSt=(t,{stripHash:e})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:s,data:a,hash:n}=r.groups,c=s.split(";");n=e?"":n;let f=!1;c[c.length-1]==="base64"&&(c.pop(),f=!0);let p=(c.shift()||"").toLowerCase(),E=[...c.map(C=>{let[S,P=""]=C.split("=").map(I=>I.trim());return S==="charset"&&(P=P.toLowerCase(),P===xSt)?"":`${S}${P?`=${P}`:""}`}).filter(Boolean)];return f&&E.push("base64"),(E.length>0||p&&p!==PSt)&&E.unshift(p),`data:${E.join(";")},${f?a.trim():a}${n?`#${n}`:""}`};function QSt(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return kSt(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let c=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,f=0,p="";for(;;){let E=c.exec(a.pathname);if(!E)break;let C=E[0],S=E.index,P=a.pathname.slice(f,S);p+=P.replace(/\/{2,}/g,"/"),p+=C,f=S+C.length}let h=a.pathname.slice(f,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let c=a.pathname.split("/"),f=c[c.length-1];IBe(f,e.removeDirectoryIndex)&&(c=c.slice(0,-1),a.pathname=c.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let c of[...a.searchParams.keys()])IBe(c,e.removeQueryParameters)&&a.searchParams.delete(c);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var G5=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,s=n=>{let c=new Error(n);throw c.subject_url=t,c};(typeof t!="string"||!t.trim())&&s("Invalid url."),t.length>G5.MAX_INPUT_LENGTH&&s("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=QSt(t,e));let a=bSt.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):s("URL parsing failed.")}return a};G5.MAX_INPUT_LENGTH=2048;CBe.exports=G5});var SBe=L((xcr,vBe)=>{"use strict";var TSt=q5();function BBe(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=TSt(t);if(t=t.substring(t.indexOf("://")+3),BBe(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@"){"use strict";var RSt=wBe(),DBe=SBe();function FSt(t){var e=RSt(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),DBe(e.protocols)||e.protocols.length===0&&DBe(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}bBe.exports=FSt});var kBe=L((Qcr,xBe)=>{"use strict";var NSt=PBe();function W5(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=NSt(t),s=r.resource.split("."),a=null;switch(r.toString=function(N){return W5.stringify(this,N)},r.source=s.length>2?s.slice(1-s.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=s[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var c=a.indexOf("-",2),f=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),E=a.indexOf("src",2),C=a.indexOf("raw",2),S=a.indexOf("edit",2);n=c>0?c-1:f>0?f-1:p>0?p-1:h>0?h-1:E>0?E-1:C>0?C-1:S>0?S-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var P=a.length>n&&a[n+1]==="-"?n+1:n;a.length>P+2&&["raw","src","blob","tree","edit"].indexOf(a[P+1])>=0&&(r.filepathtype=a[P+1],r.ref=a[P+2],a.length>P+3&&(r.filepath=a.slice(P+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var I=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,R=I.exec(r.pathname);return R!=null&&(r.source="bitbucket-server",R[1]==="users"?r.owner="~"+R[2]:r.owner=R[2],r.organization=r.owner,r.name=R[3],a=R[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}W5.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",s=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+s+"@"+t.resource+r+"/"+t.full_name+a:s+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+s+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?OSt(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+LSt(t)+a;default:return t.href}};function OSt(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function LSt(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}xBe.exports=W5});var YBe=L((ufr,WBe)=>{var KSt=RT(),JSt=Gk(),zSt=xc(),ZSt=aI(),XSt=IG(),$St=XI(),eDt=Tv();function tDt(t){return zSt(t)?KSt(t,$St):ZSt(t)?[t]:JSt(XSt(eDt(t)))}WBe.exports=tDt});function sDt(t,e){return e===1&&iDt.has(t[0])}function ES(t){let e=Array.isArray(t)?t:(0,JBe.default)(t);return e.map((s,a)=>rDt.test(s)?`[${s}]`:nDt.test(s)&&!sDt(e,a)?`.${s}`:`[${JSON.stringify(s)}]`).join("").replace(/^\./,"")}function oDt(t,e){let r=[];if(e.methodName!==null&&r.push(he.pretty(t,e.methodName,he.Type.CODE)),e.file!==null){let s=[];s.push(he.pretty(t,e.file,he.Type.PATH)),e.line!==null&&(s.push(he.pretty(t,e.line,he.Type.NUMBER)),e.column!==null&&s.push(he.pretty(t,e.column,he.Type.NUMBER))),r.push(`(${s.join(he.pretty(t,":","grey"))})`)}return r.join(" ")}function lF(t,{manifestUpdates:e,reportedErrors:r},{fix:s}={}){let a=new Map,n=new Map,c=[...r.keys()].map(f=>[f,new Map]);for(let[f,p]of[...c,...e]){let h=r.get(f)?.map(P=>({text:P,fixable:!1}))??[],E=!1,C=t.getWorkspaceByCwd(f),S=C.manifest.exportTo({});for(let[P,I]of p){if(I.size>1){let R=[...I].map(([N,U])=>{let W=he.pretty(t.configuration,N,he.Type.INSPECT),te=U.size>0?oDt(t.configuration,U.values().next().value):null;return te!==null?` +${W} at ${te}`:` +${W}`}).join("");h.push({text:`Conflict detected in constraint targeting ${he.pretty(t.configuration,P,he.Type.CODE)}; conflicting values are:${R}`,fixable:!1})}else{let[[R]]=I,N=(0,VBe.default)(S,P);if(JSON.stringify(N)===JSON.stringify(R))continue;if(!s){let U=typeof N>"u"?`Missing field ${he.pretty(t.configuration,P,he.Type.CODE)}; expected ${he.pretty(t.configuration,R,he.Type.INSPECT)}`:typeof R>"u"?`Extraneous field ${he.pretty(t.configuration,P,he.Type.CODE)} currently set to ${he.pretty(t.configuration,N,he.Type.INSPECT)}`:`Invalid field ${he.pretty(t.configuration,P,he.Type.CODE)}; expected ${he.pretty(t.configuration,R,he.Type.INSPECT)}, found ${he.pretty(t.configuration,N,he.Type.INSPECT)}`;h.push({text:U,fixable:!0});continue}typeof R>"u"?(0,zBe.default)(S,P):(0,KBe.default)(S,P,R),E=!0}E&&a.set(C,S)}h.length>0&&n.set(C,h)}return{changedWorkspaces:a,remainingErrors:n}}function ZBe(t,{configuration:e}){let r={children:[]};for(let[s,a]of t){let n=[];for(let f of a){let p=f.text.split(/\n/);f.fixable&&(p[0]=`${he.pretty(e,"\u2699","gray")} ${p[0]}`),n.push({value:he.tuple(he.Type.NO_HINT,p[0]),children:p.slice(1).map(h=>({value:he.tuple(he.Type.NO_HINT,h)}))})}let c={value:he.tuple(he.Type.LOCATOR,s.anchoredLocator),children:je.sortMap(n,f=>f.value[1])};r.children.push(c)}return r.children=je.sortMap(r.children,s=>s.value[1]),r}var VBe,KBe,JBe,zBe,VC,rDt,nDt,iDt,IS=It(()=>{Ve();VBe=et(AS()),KBe=et(Q5()),JBe=et(YBe()),zBe=et(F5()),VC=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let s=Object.hasOwn(e,r)?e[r]:void 0;if(typeof s>"u")continue;je.getArrayWithDefault(this.indexes[r],s).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let s=[],a;for(let[c,f]of r){let p=c,h=Object.hasOwn(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){s.push([p,f]);continue}let E=new Set(h.get(f)??[]);if(E.size===0)return[];if(typeof a>"u")a=E;else for(let C of a)E.has(C)||a.delete(C);if(a.size===0)break}let n=[...a??[]];return s.length>0&&(n=n.filter(c=>{for(let[f,p]of s)if(!(typeof p<"u"?Object.hasOwn(c,f)&&c[f]===p:Object.hasOwn(c,f)===!1))return!1;return!0})),n}},rDt=/^[0-9]+$/,nDt=/^[a-zA-Z0-9_]+$/,iDt=new Set(["scripts",...Ht.allDependencies])});var XBe=L((wfr,s9)=>{var aDt;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(s,a,n){var c=n.args[0],f=n.args[1];if(!t.type.is_variable(f)&&!t.type.is_integer(f))s.throw_error(t.error.type("integer",f,n.indicator));else if(t.type.is_integer(f)&&f.value<0)s.throw_error(t.error.domain("not_less_than_zero",f,n.indicator));else{var p=new t.type.Term("length",[c,new t.type.Num(0,!1),f]);t.type.is_integer(f)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),s.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(s,a,n){var c=n.args[0],f=n.args[1],p=n.args[2];if(t.type.is_variable(f))s.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(f))s.throw_error(t.error.type("integer",f,n.indicator));else if(f.value<0)s.throw_error(t.error.domain("not_less_than_zero",f,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))s.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),E=0;E0;C--)E[C].equals(E[C-1])&&E.splice(C,1);for(var S=new t.type.Term("[]"),C=E.length-1;C>=0;C--)S=new t.type.Term(".",[E[C],S]);s.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[S,f])),a.substitution,a)])}}},"msort/2":function(s,a,n){var c=n.args[0],f=n.args[1];if(t.type.is_variable(c))s.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(f)&&!t.type.is_fully_list(f))s.throw_error(t.error.type("list",f,n.indicator));else{for(var p=[],h=c;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))s.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))s.throw_error(t.error.type("list",c,n.indicator));else{for(var E=p.sort(t.compare),C=new t.type.Term("[]"),S=E.length-1;S>=0;S--)C=new t.type.Term(".",[E[S],C]);s.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[C,f])),a.substitution,a)])}}},"keysort/2":function(s,a,n){var c=n.args[0],f=n.args[1];if(t.type.is_variable(c))s.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(f)&&!t.type.is_fully_list(f))s.throw_error(t.error.type("list",f,n.indicator));else{for(var p=[],h,E=c;E.indicator==="./2";){if(h=E.args[0],t.type.is_variable(h)){s.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){s.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),E=E.args[1]}if(t.type.is_variable(E))s.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(E))s.throw_error(t.error.type("list",c,n.indicator));else{for(var C=p.sort(t.compare),S=new t.type.Term("[]"),P=C.length-1;P>=0;P--)S=new t.type.Term(".",[new t.type.Term("-",[C[P],C[P].pair]),S]),delete C[P].pair;s.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[S,f])),a.substitution,a)])}}},"take/3":function(s,a,n){var c=n.args[0],f=n.args[1],p=n.args[2];if(t.type.is_variable(f)||t.type.is_variable(c))s.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(f))s.throw_error(t.error.type("list",f,n.indicator));else if(!t.type.is_integer(c))s.throw_error(t.error.type("integer",c,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))s.throw_error(t.error.type("list",p,n.indicator));else{for(var h=c.value,E=[],C=f;h>0&&C.indicator==="./2";)E.push(C.args[0]),C=C.args[1],h--;if(h===0){for(var S=new t.type.Term("[]"),h=E.length-1;h>=0;h--)S=new t.type.Term(".",[E[h],S]);s.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[S,p])),a.substitution,a)])}}},"drop/3":function(s,a,n){var c=n.args[0],f=n.args[1],p=n.args[2];if(t.type.is_variable(f)||t.type.is_variable(c))s.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(f))s.throw_error(t.error.type("list",f,n.indicator));else if(!t.type.is_integer(c))s.throw_error(t.error.type("integer",c,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))s.throw_error(t.error.type("list",p,n.indicator));else{for(var h=c.value,E=[],C=f;h>0&&C.indicator==="./2";)E.push(C.args[0]),C=C.args[1],h--;h===0&&s.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[C,p])),a.substitution,a)])}},"reverse/2":function(s,a,n){var c=n.args[0],f=n.args[1],p=t.type.is_instantiated_list(c),h=t.type.is_instantiated_list(f);if(t.type.is_variable(c)&&t.type.is_variable(f))s.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(c)&&!t.type.is_fully_list(c))s.throw_error(t.error.type("list",c,n.indicator));else if(!t.type.is_variable(f)&&!t.type.is_fully_list(f))s.throw_error(t.error.type("list",f,n.indicator));else if(!p&&!h)s.throw_error(t.error.instantiation(n.indicator));else{for(var E=p?c:f,C=new t.type.Term("[]",[]);E.indicator==="./2";)C=new t.type.Term(".",[E.args[0],C]),E=E.args[1];s.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[C,p?f:c])),a.substitution,a)])}},"list_to_set/2":function(s,a,n){var c=n.args[0],f=n.args[1];if(t.type.is_variable(c))s.throw_error(t.error.instantiation(n.indicator));else{for(var p=c,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))s.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")s.throw_error(t.error.type("list",c,n.indicator));else{for(var E=[],C=new t.type.Term("[]",[]),S,P=0;P=0;P--)C=new t.type.Term(".",[E[P],C]);s.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[f,C])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof s9<"u"?s9.exports=function(s){t=s,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(aDt)});var pve=L($r=>{"use strict";var Pm=process.platform==="win32",o9="aes-256-cbc",lDt="sha256",tve="The current environment doesn't support interactive reading from TTY.",ii=ye("fs"),$Be=process.binding("tty_wrap").TTY,l9=ye("child_process"),K0=ye("path"),c9={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},eh="none",$u,JC,eve=!1,V0,uF,a9,cDt=0,h9="",bm=[],fF,rve=!1,u9=!1,CS=!1;function nve(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(s){return"#"+s.charCodeAt(0)+";"})}return uF.concat(function(r){var s=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&s.push("--"+a):r[a]==="string"&&t[a]&&s.push("--"+a,e(t[a]))}),s}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function uDt(t,e){function r(U){var W,te="",ie;for(a9=a9||ye("os").tmpdir();;){W=K0.join(a9,U+te);try{ie=ii.openSync(W,"wx")}catch(Ae){if(Ae.code==="EEXIST"){te++;continue}else throw Ae}ii.closeSync(ie);break}return W}var s,a,n,c={},f,p,h=r("readline-sync.stdout"),E=r("readline-sync.stderr"),C=r("readline-sync.exit"),S=r("readline-sync.done"),P=ye("crypto"),I,R,N;I=P.createHash(lDt),I.update(""+process.pid+cDt+++Math.random()),N=I.digest("hex"),R=P.createDecipher(o9,N),s=nve(t),Pm?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+V0+"%Q%"+s.map(function(U){return" %Q%"+U+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+C+"%Q%%Q%) 2>%Q%"+E+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+o9+"%Q% %Q%"+N+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+S+"%Q%"]):(a="/bin/sh",n=["-c",'("'+V0+'"'+s.map(function(U){return" '"+U.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+C+'") 2>"'+E+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+o9+'" "'+N+'" >"'+h+'"; echo 1 >"'+S+'"']),CS&&CS("_execFileSync",s);try{l9.spawn(a,n,e)}catch(U){c.error=new Error(U.message),c.error.method="_execFileSync - spawn",c.error.program=a,c.error.args=n}for(;ii.readFileSync(S,{encoding:t.encoding}).trim()!=="1";);return(f=ii.readFileSync(C,{encoding:t.encoding}).trim())==="0"?c.input=R.update(ii.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+R.final(t.encoding):(p=ii.readFileSync(E,{encoding:t.encoding}).trim(),c.error=new Error(tve+(p?` +`+p:"")),c.error.method="_execFileSync",c.error.program=a,c.error.args=n,c.error.extMessage=p,c.error.exitCode=+f),ii.unlinkSync(h),ii.unlinkSync(E),ii.unlinkSync(C),ii.unlinkSync(S),c}function fDt(t){var e,r={},s,a={env:process.env,encoding:t.encoding};if(V0||(Pm?process.env.PSModulePath?(V0="powershell.exe",uF=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(V0="cscript.exe",uF=["//nologo",__dirname+"\\read.cs.js"]):(V0="/bin/sh",uF=[__dirname+"/read.sh"])),Pm&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),l9.execFileSync){e=nve(t),CS&&CS("execFileSync",e);try{r.input=l9.execFileSync(V0,e,a)}catch(n){s=n.stderr?(n.stderr+"").trim():"",r.error=new Error(tve+(s?` +`+s:"")),r.error.method="execFileSync",r.error.program=V0,r.error.args=e,r.error.extMessage=s,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=uDt(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function f9(t){var e="",r=t.display,s=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=fDt(t);if(n.error)throw n.error;return n.input}return u9&&u9(t),function(){var n,c,f;function p(){return n||(n=process.binding("fs"),c=process.binding("constants")),n}if(typeof eh=="string")if(eh=null,Pm){if(f=function(h){var E=h.replace(/^\D+/,"").split("."),C=0;return(E[0]=+E[0])&&(C+=E[0]*1e4),(E[1]=+E[1])&&(C+=E[1]*100),(E[2]=+E[2])&&(C+=E[2]),C}(process.version),!(f>=20302&&f<40204||f>=5e4&&f<50100||f>=50600&&f<60200)&&process.stdin.isTTY)process.stdin.pause(),eh=process.stdin.fd,JC=process.stdin._handle;else try{eh=p().open("CONIN$",c.O_RDWR,parseInt("0666",8)),JC=new $Be(eh,!0)}catch{}if(process.stdout.isTTY)$u=process.stdout.fd;else{try{$u=ii.openSync("\\\\.\\CON","w")}catch{}if(typeof $u!="number")try{$u=p().open("CONOUT$",c.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{eh=ii.openSync("/dev/tty","r"),JC=process.stdin._handle}catch{}}else try{eh=ii.openSync("/dev/tty","r"),JC=new $Be(eh,!1)}catch{}if(process.stdout.isTTY)$u=process.stdout.fd;else try{$u=ii.openSync("/dev/tty","w")}catch{}}}(),function(){var n,c,f=!t.hideEchoBack&&!t.keyIn,p,h,E,C,S;fF="";function P(I){return I===eve?!0:JC.setRawMode(I)!==0?!1:(eve=I,!0)}if(rve||!JC||typeof $u!="number"&&(t.display||!f)){e=a();return}if(t.display&&(ii.writeSync($u,t.display),t.display=""),!t.displayOnly){if(!P(!f)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(c=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){E=0;try{E=ii.readSync(eh,p,0,h)}catch(I){if(I.code!=="EOF"){P(!1),e+=a();return}}if(E>0?(C=p.toString(t.encoding,0,E),fF+=C):(C=` +`,fF+="\0"),C&&typeof(S=(C.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(C=S,n=!0),C&&(C=C.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),C&&c&&(C=C.replace(c,"")),C&&(f||(t.hideEchoBack?t.mask&&ii.writeSync($u,new Array(C.length+1).join(t.mask)):ii.writeSync($u,C)),e+=C),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!f&&!s&&ii.writeSync($u,` +`),P(!1)}}(),t.print&&!s&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+` +`),t.encoding),t.displayOnly?"":h9=t.keepWhitespace||t.keyIn?e:e.trim()}function ADt(t,e){var r=[];function s(a){a!=null&&(Array.isArray(a)?a.forEach(s):(!e||e(a))&&r.push(a))}return s(t),r}function g9(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function Ks(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(c9),t.unshift(c9))),t.reduce(function(s,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var c;if(a.hasOwnProperty(n))switch(c=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":c=c!=null?c+"":"",c&&n!=="limitMessage"&&(c=c.replace(/[\r\n]/g,"")),s[n]=c;break;case"bufferSize":!isNaN(c=parseInt(c,10))&&typeof c=="number"&&(s[n]=c);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":s[n]=!!c;break;case"limit":case"trueValue":case"falseValue":s[n]=ADt(c,function(f){var p=typeof f;return p==="string"||p==="number"||p==="function"||f instanceof RegExp}).map(function(f){return typeof f=="string"?f.replace(/[\r\n]/g,""):f});break;case"print":case"phContent":case"preCheck":s[n]=typeof c=="function"?c:void 0;break;case"prompt":case"display":s[n]=c??"";break}})),s},{})}function A9(t,e,r){return e.some(function(s){var a=typeof s;return a==="string"?r?t===s:t.toLowerCase()===s.toLowerCase():a==="number"?parseFloat(t)===s:a==="function"?s(t):s instanceof RegExp?s.test(t):!1})}function d9(t,e){var r=K0.normalize(Pm?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=K0.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+g9(r)+"(?=\\/|\\\\|$)",Pm?"i":""),"~")}function zC(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",s=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(c,f,p,h,E,C){var S;return f||typeof(S=e(E))!="string"?p:S?(h||"")+S+(C||""):""}return t.replace(s,n).replace(a,n)}function ive(t,e,r){var s,a=[],n=-1,c=0,f="",p;function h(E,C){return C.length>3?(E.push(C[0]+"..."+C[C.length-1]),p=!0):C.length&&(E=E.concat(C)),E}return s=t.reduce(function(E,C){return E.concat((C+"").split(""))},[]).reduce(function(E,C){var S,P;return e||(C=C.toLowerCase()),S=/^\d$/.test(C)?1:/^[A-Z]$/.test(C)?2:/^[a-z]$/.test(C)?3:0,r&&S===0?f+=C:(P=C.charCodeAt(0),S&&S===n&&P===c+1?a.push(C):(E=h(E,a),a=[C],n=S),c=P),E},[]),s=h(s,a),f&&(s.push(f),p=!0),{values:s,suppressed:p}}function sve(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function ove(t,e){var r,s,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":s=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=ive(s,e.caseSensitive),s=a.values):s=s.filter(function(c){var f=typeof c;return f==="string"||f==="number"}),r=sve(s,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=h9;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=K0.basename(r):t==="cwdHome"&&(r=d9(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(c){return c.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=bm[bm.length-n]||"")}return r}function ave(t){var e=/^(.)-(.)$/.exec(t),r="",s,a,n,c;if(!e)return null;for(s=e[1].charCodeAt(0),a=e[2].charCodeAt(0),c=s +And the length must be: $`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(P){return P==="charlist"?r.text:P==="length"?s+"..."+a:null}}),c,f,p,h,E,C,S;for(e=e||{},c=zC(e.charlist?e.charlist+"":"$",ave),(isNaN(s=parseInt(e.min,10))||typeof s!="number")&&(s=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+g9(c)+"]{"+s+","+a+"}$"),r=ive([c],n.caseSensitive,!0),r.text=sve(r.values,r.suppressed),f=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),E=n.limitMessage;!S;)n.limit=h,n.limitMessage=E,C=$r.question(t,n),n.limit=[C,""],n.limitMessage=p,S=$r.question(f,n);return C};function uve(t,e,r){var s;function a(n){return s=r(n),!isNaN(s)&&typeof s=="number"}return $r.question(t,Ks({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),s}$r.questionInt=function(t,e){return uve(t,e,function(r){return parseInt(r,10)})};$r.questionFloat=function(t,e){return uve(t,e,parseFloat)};$r.questionPath=function(t,e){var r,s="",a=Ks({hideEchoBack:!1,limitMessage:`$Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var c,f,p;n=d9(n,!0),s="";function h(E){E.split(/\/|\\/).reduce(function(C,S){var P=K0.resolve(C+=S+K0.sep);if(!ii.existsSync(P))ii.mkdirSync(P);else if(!ii.statSync(P).isDirectory())throw new Error("Non directory already exists: "+P);return C},"")}try{if(c=ii.existsSync(n),r=c?ii.realpathSync(n):K0.resolve(n),!e.hasOwnProperty("exists")&&!c||typeof e.exists=="boolean"&&e.exists!==c)return s=(c?"Already exists":"No such file or directory")+": "+r,!1;if(!c&&e.create&&(e.isDirectory?h(r):(h(K0.dirname(r)),ii.closeSync(ii.openSync(r,"w"))),r=ii.realpathSync(r)),c&&(e.min||e.max||e.isFile||e.isDirectory)){if(f=ii.statSync(r),e.isFile&&!f.isFile())return s="Not file: "+r,!1;if(e.isDirectory&&!f.isDirectory())return s="Not directory: "+r,!1;if(e.min&&f.size<+e.min||e.max&&f.size>+e.max)return s="Size "+f.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(s=p),!1}catch(E){return s=E+"",!1}return!0},phContent:function(n){return n==="error"?s:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),$r.question(t,a),r};function fve(t,e){var r={},s={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(s[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=p9(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&s.hasOwnProperty(n)?s[n].apply(a,r.args.slice(1)):s.hasOwnProperty("_")?s._.apply(a,r.args):null,{res:a,forceNext:!1}},s.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),s.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=p9(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}$r.promptCL=function(t,e){var r=Ks({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),s=fve(t,r);return r.limit=s.limit,r.preCheck=s.preCheck,$r.prompt(r),s.args};$r.promptLoop=function(t,e){for(var r=Ks({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t($r.prompt(r)););};$r.promptCLLoop=function(t,e){var r=Ks({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),s=fve(t,r);for(r.limit=s.limit,r.preCheck=s.preCheck;$r.prompt(r),!s.hRes;);};$r.promptSimShell=function(t){return $r.prompt(Ks({hideEchoBack:!1,history:!0},t,{prompt:function(){return Pm?"$>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$$ "}()}))};function Ave(t,e,r){var s;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),s=$r.keyIn(t,Ks(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof s=="boolean"?s:""}$r.keyInYN=function(t,e){return Ave(t,e)};$r.keyInYNStrict=function(t,e){return Ave(t,e,"yn")};$r.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),$r.keyIn(t,Ks({limit:null},e,{hideEchoBack:!0,mask:""}))};$r.keyInSelect=function(t,e,r){var s=Ks({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},c=49,f=` +`;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var E=String.fromCharCode(c);a+=E,n[E]=h,f+="["+E+"] "+(p+"").trim()+` +`,c=c===57?97:c+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,f+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` +`),s.limit=a,f+=` +`,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$]: "),f+=e),n[$r.keyIn(f,s).toLowerCase()]};$r.getRawInput=function(){return fF};function wS(t,e){var r;return e.length&&(r={},r[t]=e[0]),$r.setDefaultOptions(r)[t]}$r.setPrint=function(){return wS("print",arguments)};$r.setPrompt=function(){return wS("prompt",arguments)};$r.setEncoding=function(){return wS("encoding",arguments)};$r.setMask=function(){return wS("mask",arguments)};$r.setBufferSize=function(){return wS("bufferSize",arguments)}});var m9=L((vfr,tc)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(w,b,y){var F=tau_file_system.files[w];if(!F){if(y==="read")return null;F={path:w,text:"",type:b,get:function(z,Z){return Z===this.text.length||Z>this.text.length?"end_of_file":this.text.substring(Z,Z+z)},put:function(z,Z){return Z==="end_of_file"?(this.text+=z,!0):Z==="past_end_of_file"?null:(this.text=this.text.substring(0,Z)+z+this.text.substring(Z+z.length),!0)},get_byte:function(z){if(z==="end_of_stream")return-1;var Z=Math.floor(z/2);if(this.text.length<=Z)return-1;var $=n(this.text[Math.floor(z/2)],0);return z%2===0?$&255:$/256>>>0},put_byte:function(z,Z){var $=Z==="end_of_stream"?this.text.length:Math.floor(Z/2);if(this.text.length<$)return null;var oe=this.text.length===$?-1:n(this.text[Math.floor(Z/2)],0);return Z%2===0?(oe=oe/256>>>0,oe=(oe&255)<<8|z&255):(oe=oe&255,oe=(z&255)<<8|oe&255),this.text.length===$?this.text+=c(oe):this.text=this.text.substring(0,$)+c(oe)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var z=tau_file_system.files[this.path];return z?!0:null}},tau_file_system.files[w]=F}return y==="write"&&(F.text=""),F}},tau_user_input={buffer:"",get:function(w,b){for(var y;tau_user_input.buffer.length\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function N(w,b){return w.get_flag("char_conversion").id==="on"?b.replace(/./g,function(y){return w.get_char_conversion(y)}):b}function U(w){this.thread=w,this.text="",this.tokens=[]}U.prototype.set_last_tokens=function(w){return this.tokens=w},U.prototype.new_text=function(w){this.text=w,this.tokens=[]},U.prototype.get_tokens=function(w){var b,y=0,F=0,z=0,Z=[],$=!1;if(w){var oe=this.tokens[w-1];y=oe.len,b=N(this.thread,this.text.substr(oe.len)),F=oe.line,z=oe.start}else b=this.text;if(/^\s*$/.test(b))return null;for(;b!=="";){var xe=[],Te=!1;if(/^\n/.exec(b)!==null){F++,z=0,y++,b=b.replace(/\n/,""),$=!0;continue}for(var lt in R)if(R.hasOwnProperty(lt)){var Et=R[lt].exec(b);Et&&xe.push({value:Et[0],name:lt,matches:Et})}if(!xe.length)return this.set_last_tokens([{value:b,matches:[],name:"lexical",line:F,start:z}]);var oe=r(xe,function(Pr,Ir){return Pr.value.length>=Ir.value.length?Pr:Ir});switch(oe.start=z,oe.line=F,b=b.replace(oe.value,""),z+=oe.value.length,y+=oe.value.length,oe.name){case"atom":oe.raw=oe.value,oe.value.charAt(0)==="'"&&(oe.value=S(oe.value.substr(1,oe.value.length-2),"'"),oe.value===null&&(oe.name="lexical",oe.value="unknown escape sequence"));break;case"number":oe.float=oe.value.substring(0,2)!=="0x"&&oe.value.match(/[.eE]/)!==null&&oe.value!=="0'.",oe.value=I(oe.value),oe.blank=Te;break;case"string":var qt=oe.value.charAt(0);oe.value=S(oe.value.substr(1,oe.value.length-2),qt),oe.value===null&&(oe.name="lexical",oe.value="unknown escape sequence");break;case"whitespace":var ir=Z[Z.length-1];ir&&(ir.space=!0),Te=!0;continue;case"r_bracket":Z.length>0&&Z[Z.length-1].name==="l_bracket"&&(oe=Z.pop(),oe.name="atom",oe.value="{}",oe.raw="{}",oe.space=!1);break;case"r_brace":Z.length>0&&Z[Z.length-1].name==="l_brace"&&(oe=Z.pop(),oe.name="atom",oe.value="[]",oe.raw="[]",oe.space=!1);break}oe.len=y,Z.push(oe),Te=!1}var Pt=this.set_last_tokens(Z);return Pt.length===0?null:Pt};function W(w,b,y,F,z){if(!b[y])return{type:f,value:x.error.syntax(b[y-1],"expression expected",!0)};var Z;if(F==="0"){var $=b[y];switch($.name){case"number":return{type:p,len:y+1,value:new x.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new x.type.Var($.value)};case"string":var oe;switch(w.get_flag("double_quotes").id){case"atom":oe=new j($.value,[]);break;case"codes":oe=new j("[]",[]);for(var xe=$.value.length-1;xe>=0;xe--)oe=new j(".",[new x.type.Num(n($.value,xe),!1),oe]);break;case"chars":oe=new j("[]",[]);for(var xe=$.value.length-1;xe>=0;xe--)oe=new j(".",[new x.type.Term($.value.charAt(xe),[]),oe]);break}return{type:p,len:y+1,value:oe};case"l_paren":var Pt=W(w,b,y+1,w.__get_max_priority(),!0);return Pt.type!==p?Pt:b[Pt.len]&&b[Pt.len].name==="r_paren"?(Pt.len++,Pt):{type:f,derived:!0,value:x.error.syntax(b[Pt.len]?b[Pt.len]:b[Pt.len-1],") or operator expected",!b[Pt.len])};case"l_bracket":var Pt=W(w,b,y+1,w.__get_max_priority(),!0);return Pt.type!==p?Pt:b[Pt.len]&&b[Pt.len].name==="r_bracket"?(Pt.len++,Pt.value=new j("{}",[Pt.value]),Pt):{type:f,derived:!0,value:x.error.syntax(b[Pt.len]?b[Pt.len]:b[Pt.len-1],"} or operator expected",!b[Pt.len])}}var Te=te(w,b,y,z);return Te.type===p||Te.derived||(Te=ie(w,b,y),Te.type===p||Te.derived)?Te:{type:f,derived:!1,value:x.error.syntax(b[y],"unexpected token")}}var lt=w.__get_max_priority(),Et=w.__get_next_priority(F),qt=y;if(b[y].name==="atom"&&b[y+1]&&(b[y].space||b[y+1].name!=="l_paren")){var $=b[y++],ir=w.__lookup_operator_classes(F,$.value);if(ir&&ir.indexOf("fy")>-1){var Pt=W(w,b,y,F,z);if(Pt.type!==f)return $.value==="-"&&!$.space&&x.type.is_number(Pt.value)?{value:new x.type.Num(-Pt.value.value,Pt.value.is_float),len:Pt.len,type:p}:{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};Z=Pt}else if(ir&&ir.indexOf("fx")>-1){var Pt=W(w,b,y,Et,z);if(Pt.type!==f)return{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};Z=Pt}}y=qt;var Pt=W(w,b,y,Et,z);if(Pt.type===p){y=Pt.len;var $=b[y];if(b[y]&&(b[y].name==="atom"&&w.__lookup_operator_classes(F,$.value)||b[y].name==="bar"&&w.__lookup_operator_classes(F,"|"))){var gn=Et,Pr=F,ir=w.__lookup_operator_classes(F,$.value);if(ir.indexOf("xf")>-1)return{value:new x.type.Term($.value,[Pt.value]),len:++Pt.len,type:p};if(ir.indexOf("xfx")>-1){var Ir=W(w,b,y+1,gn,z);return Ir.type===p?{value:new x.type.Term($.value,[Pt.value,Ir.value]),len:Ir.len,type:p}:(Ir.derived=!0,Ir)}else if(ir.indexOf("xfy")>-1){var Ir=W(w,b,y+1,Pr,z);return Ir.type===p?{value:new x.type.Term($.value,[Pt.value,Ir.value]),len:Ir.len,type:p}:(Ir.derived=!0,Ir)}else if(Pt.type!==f)for(;;){y=Pt.len;var $=b[y];if($&&$.name==="atom"&&w.__lookup_operator_classes(F,$.value)){var ir=w.__lookup_operator_classes(F,$.value);if(ir.indexOf("yf")>-1)Pt={value:new x.type.Term($.value,[Pt.value]),len:++y,type:p};else if(ir.indexOf("yfx")>-1){var Ir=W(w,b,++y,gn,z);if(Ir.type===f)return Ir.derived=!0,Ir;y=Ir.len,Pt={value:new x.type.Term($.value,[Pt.value,Ir.value]),len:y,type:p}}else break}else break}}else Z={type:f,value:x.error.syntax(b[Pt.len-1],"operator expected")};return Pt}return Pt}function te(w,b,y,F){if(!b[y]||b[y].name==="atom"&&b[y].raw==="."&&!F&&(b[y].space||!b[y+1]||b[y+1].name!=="l_paren"))return{type:f,derived:!1,value:x.error.syntax(b[y-1],"unfounded token")};var z=b[y],Z=[];if(b[y].name==="atom"&&b[y].raw!==","){if(y++,b[y-1].space)return{type:p,len:y,value:new x.type.Term(z.value,Z)};if(b[y]&&b[y].name==="l_paren"){if(b[y+1]&&b[y+1].name==="r_paren")return{type:f,derived:!0,value:x.error.syntax(b[y+1],"argument expected")};var $=W(w,b,++y,"999",!0);if($.type===f)return $.derived?$:{type:f,derived:!0,value:x.error.syntax(b[y]?b[y]:b[y-1],"argument expected",!b[y])};for(Z.push($.value),y=$.len;b[y]&&b[y].name==="atom"&&b[y].value===",";){if($=W(w,b,y+1,"999",!0),$.type===f)return $.derived?$:{type:f,derived:!0,value:x.error.syntax(b[y+1]?b[y+1]:b[y],"argument expected",!b[y+1])};Z.push($.value),y=$.len}if(b[y]&&b[y].name==="r_paren")y++;else return{type:f,derived:!0,value:x.error.syntax(b[y]?b[y]:b[y-1],", or ) expected",!b[y])}}return{type:p,len:y,value:new x.type.Term(z.value,Z)}}return{type:f,derived:!1,value:x.error.syntax(b[y],"term expected")}}function ie(w,b,y){if(!b[y])return{type:f,derived:!1,value:x.error.syntax(b[y-1],"[ expected")};if(b[y]&&b[y].name==="l_brace"){var F=W(w,b,++y,"999",!0),z=[F.value],Z=void 0;if(F.type===f)return b[y]&&b[y].name==="r_brace"?{type:p,len:y+1,value:new x.type.Term("[]",[])}:{type:f,derived:!0,value:x.error.syntax(b[y],"] expected")};for(y=F.len;b[y]&&b[y].name==="atom"&&b[y].value===",";){if(F=W(w,b,y+1,"999",!0),F.type===f)return F.derived?F:{type:f,derived:!0,value:x.error.syntax(b[y+1]?b[y+1]:b[y],"argument expected",!b[y+1])};z.push(F.value),y=F.len}var $=!1;if(b[y]&&b[y].name==="bar"){if($=!0,F=W(w,b,y+1,"999",!0),F.type===f)return F.derived?F:{type:f,derived:!0,value:x.error.syntax(b[y+1]?b[y+1]:b[y],"argument expected",!b[y+1])};Z=F.value,y=F.len}return b[y]&&b[y].name==="r_brace"?{type:p,len:y+1,value:g(z,Z)}:{type:f,derived:!0,value:x.error.syntax(b[y]?b[y]:b[y-1],$?"] expected":", or | or ] expected",!b[y])}}return{type:f,derived:!1,value:x.error.syntax(b[y],"list expected")}}function Ae(w,b,y){var F=b[y].line,z=W(w,b,y,w.__get_max_priority(),!1),Z=null,$;if(z.type!==f)if(y=z.len,b[y]&&b[y].name==="atom"&&b[y].raw===".")if(y++,x.type.is_term(z.value)){if(z.value.indicator===":-/2"?(Z=new x.type.Rule(z.value.args[0],Ce(z.value.args[1])),$={value:Z,len:y,type:p}):z.value.indicator==="-->/2"?(Z=pe(new x.type.Rule(z.value.args[0],z.value.args[1]),w),Z.body=Ce(Z.body),$={value:Z,len:y,type:x.type.is_rule(Z)?p:f}):(Z=new x.type.Rule(z.value,null),$={value:Z,len:y,type:p}),Z){var oe=Z.singleton_variables();oe.length>0&&w.throw_warning(x.warning.singleton(oe,Z.head.indicator,F))}return $}else return{type:f,value:x.error.syntax(b[y],"callable expected")};else return{type:f,value:x.error.syntax(b[y]?b[y]:b[y-1],". or operator expected")};return z}function ce(w,b,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var F=new U(w),z={},Z;F.new_text(b);var $=0,oe=F.get_tokens($);do{if(oe===null||!oe[$])break;var xe=Ae(w,oe,$);if(xe.type===f)return new j("throw",[xe.value]);if(xe.value.body===null&&xe.value.head.indicator==="?-/1"){var Te=new it(w.session);Te.add_goal(xe.value.head.args[0]),Te.answer(function(Et){x.type.is_error(Et)?w.throw_warning(Et.args[0]):(Et===!1||Et===null)&&w.throw_warning(x.warning.failed_goal(xe.value.head.args[0],xe.len))}),$=xe.len;var lt=!0}else if(xe.value.body===null&&xe.value.head.indicator===":-/1"){var lt=w.run_directive(xe.value.head.args[0]);$=xe.len,xe.value.head.args[0].indicator==="char_conversion/2"&&(oe=F.get_tokens($),$=0)}else{Z=xe.value.head.indicator,y.reconsult!==!1&&z[Z]!==!0&&!w.is_multifile_predicate(Z)&&(w.session.rules[Z]=a(w.session.rules[Z]||[],function(qt){return qt.dynamic}),z[Z]=!0);var lt=w.add_rule(xe.value,y);$=xe.len}if(!lt)return lt}while(!0);return!0}function me(w,b){var y=new U(w);y.new_text(b);var F=0;do{var z=y.get_tokens(F);if(z===null)break;var Z=W(w,z,0,w.__get_max_priority(),!1);if(Z.type!==f){var $=Z.len,oe=$;if(z[$]&&z[$].name==="atom"&&z[$].raw===".")w.add_goal(Ce(Z.value));else{var xe=z[$];return new j("throw",[x.error.syntax(xe||z[$-1],". or operator expected",!xe)])}F=Z.len+1}else return new j("throw",[Z.value])}while(!0);return!0}function pe(w,b){w=w.rename(b);var y=b.next_free_variable(),F=Be(w.body,y,b);return F.error?F.value:(w.body=F.value,w.head.args=w.head.args.concat([y,F.variable]),w.head=new j(w.head.id,w.head.args),w)}function Be(w,b,y){var F;if(x.type.is_term(w)&&w.indicator==="!/0")return{value:w,variable:b,error:!1};if(x.type.is_term(w)&&w.indicator===",/2"){var z=Be(w.args[0],b,y);if(z.error)return z;var Z=Be(w.args[1],z.variable,y);return Z.error?Z:{value:new j(",",[z.value,Z.value]),variable:Z.variable,error:!1}}else{if(x.type.is_term(w)&&w.indicator==="{}/1")return{value:w.args[0],variable:b,error:!1};if(x.type.is_empty_list(w))return{value:new j("true",[]),variable:b,error:!1};if(x.type.is_list(w)){F=y.next_free_variable();for(var $=w,oe;$.indicator==="./2";)oe=$,$=$.args[1];return x.type.is_variable($)?{value:x.error.instantiation("DCG"),variable:b,error:!0}:x.type.is_empty_list($)?(oe.args[1]=F,{value:new j("=",[b,w]),variable:F,error:!1}):{value:x.error.type("list",w,"DCG"),variable:b,error:!0}}else return x.type.is_callable(w)?(F=y.next_free_variable(),w.args=w.args.concat([b,F]),w=new j(w.id,w.args),{value:w,variable:F,error:!1}):{value:x.error.type("callable",w,"DCG"),variable:b,error:!0}}}function Ce(w){return x.type.is_variable(w)?new j("call",[w]):x.type.is_term(w)&&[",/2",";/2","->/2"].indexOf(w.indicator)!==-1?new j(w.id,[Ce(w.args[0]),Ce(w.args[1])]):w}function g(w,b){for(var y=b||new x.type.Term("[]",[]),F=w.length-1;F>=0;F--)y=new x.type.Term(".",[w[F],y]);return y}function we(w,b){for(var y=w.length-1;y>=0;y--)w[y]===b&&w.splice(y,1)}function Ee(w){for(var b={},y=[],F=0;F=0;b--)if(w.charAt(b)==="/")return new j("/",[new j(w.substring(0,b)),new Re(parseInt(w.substring(b+1)),!1)])}function De(w){this.id=w}function Re(w,b){this.is_float=b!==void 0?b:parseInt(w)!==w,this.value=this.is_float?w:parseInt(w)}var gt=0;function j(w,b,y){this.ref=y||++gt,this.id=w,this.args=b||[],this.indicator=w+"/"+this.args.length}var rt=0;function Fe(w,b,y,F,z,Z){this.id=rt++,this.stream=w,this.mode=b,this.alias=y,this.type=F!==void 0?F:"text",this.reposition=z!==void 0?z:!0,this.eof_action=Z!==void 0?Z:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Ne(w){w=w||{},this.links=w}function Pe(w,b,y){b=b||new Ne,y=y||null,this.goal=w,this.substitution=b,this.parent=y}function Ye(w,b,y){this.head=w,this.body=b,this.dynamic=y||!1}function ke(w){w=w===void 0||w<=0?1e3:w,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new it(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=w,this.streams={user_input:new Fe(typeof tc<"u"&&tc.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Fe(typeof tc<"u"&&tc.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof tc<"u"&&tc.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(b){return b.substitution},this.format_error=function(b){return b.goal},this.flag={bounded:x.flag.bounded.value,max_integer:x.flag.max_integer.value,min_integer:x.flag.min_integer.value,integer_rounding_function:x.flag.integer_rounding_function.value,char_conversion:x.flag.char_conversion.value,debug:x.flag.debug.value,max_arity:x.flag.max_arity.value,unknown:x.flag.unknown.value,double_quotes:x.flag.double_quotes.value,occurs_check:x.flag.occurs_check.value,dialect:x.flag.dialect.value,version_data:x.flag.version_data.value,nodejs:x.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function it(w){this.epoch=Date.now(),this.session=w,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function _e(w,b,y){this.id=w,this.rules=b,this.exports=y,x.module[w]=this}_e.prototype.exports_predicate=function(w){return this.exports.indexOf(w)!==-1},De.prototype.unify=function(w,b){if(b&&e(w.variables(),this.id)!==-1&&!x.type.is_variable(w))return null;var y={};return y[this.id]=w,new Ne(y)},Re.prototype.unify=function(w,b){return x.type.is_number(w)&&this.value===w.value&&this.is_float===w.is_float?new Ne:null},j.prototype.unify=function(w,b){if(x.type.is_term(w)&&this.indicator===w.indicator){for(var y=new Ne,F=0;F=0){var F=this.args[0].value,z=Math.floor(F/26),Z=F%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[Z]+(z!==0?z:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(w)+"}";case"./2":for(var $="["+this.args[0].toString(w),oe=this.args[1];oe.indicator==="./2";)$+=", "+oe.args[0].toString(w),oe=oe.args[1];return oe.indicator!=="[]/0"&&($+="|"+oe.toString(w)),$+="]",$;case",/2":return"("+this.args[0].toString(w)+", "+this.args[1].toString(w)+")";default:var xe=this.id,Te=w.session?w.session.lookup_operator(this.id,this.args.length):null;if(w.session===void 0||w.ignore_ops||Te===null)return w.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(xe)&&xe!=="{}"&&xe!=="[]"&&(xe="'"+P(xe)+"'"),xe+(this.args.length?"("+s(this.args,function(ir){return ir.toString(w)}).join(", ")+")":"");var lt=Te.priority>b.priority||Te.priority===b.priority&&(Te.class==="xfy"&&this.indicator!==b.indicator||Te.class==="yfx"&&this.indicator!==b.indicator||this.indicator===b.indicator&&Te.class==="yfx"&&y==="right"||this.indicator===b.indicator&&Te.class==="xfy"&&y==="left");Te.indicator=this.indicator;var Et=lt?"(":"",qt=lt?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Te.class)!==-1?Et+xe+" "+this.args[0].toString(w,Te)+qt:["yf","xf"].indexOf(Te.class)!==-1?Et+this.args[0].toString(w,Te)+" "+xe+qt:Et+this.args[0].toString(w,Te,"left")+" "+this.id+" "+this.args[1].toString(w,Te,"right")+qt}},Fe.prototype.toString=function(w){return"("+this.id+")"},Ne.prototype.toString=function(w){var b="{";for(var y in this.links)this.links.hasOwnProperty(y)&&(b!=="{"&&(b+=", "),b+=y+"/"+this.links[y].toString(w));return b+="}",b},Pe.prototype.toString=function(w){return this.goal===null?"<"+this.substitution.toString(w)+">":"<"+this.goal.toString(w)+", "+this.substitution.toString(w)+">"},Ye.prototype.toString=function(w){return this.body?this.head.toString(w)+" :- "+this.body.toString(w)+".":this.head.toString(w)+"."},ke.prototype.toString=function(w){for(var b="",y=0;y=0;z--)F=new j(".",[b[z],F]);return F}return new j(this.id,s(this.args,function(Z){return Z.apply(w)}),this.ref)},Fe.prototype.apply=function(w){return this},Ye.prototype.apply=function(w){return new Ye(this.head.apply(w),this.body!==null?this.body.apply(w):null)},Ne.prototype.apply=function(w){var b,y={};for(b in this.links)this.links.hasOwnProperty(b)&&(y[b]=this.links[b].apply(w));return new Ne(y)},j.prototype.select=function(){for(var w=this;w.indicator===",/2";)w=w.args[0];return w},j.prototype.replace=function(w){return this.indicator===",/2"?this.args[0].indicator===",/2"?new j(",",[this.args[0].replace(w),this.args[1]]):w===null?this.args[1]:new j(",",[w,this.args[1]]):w},j.prototype.search=function(w){if(x.type.is_term(w)&&w.ref!==void 0&&this.ref===w.ref)return!0;for(var b=0;bb&&F0&&(b=this.head_point().substitution.domain());e(b,x.format_variable(this.session.rename))!==-1;)this.session.rename++;if(w.id==="_")return new De(x.format_variable(this.session.rename));this.session.renamed_variables[w.id]=x.format_variable(this.session.rename)}return new De(this.session.renamed_variables[w.id])},ke.prototype.next_free_variable=function(){return this.thread.next_free_variable()},it.prototype.next_free_variable=function(){this.session.rename++;var w=[];for(this.points.length>0&&(w=this.head_point().substitution.domain());e(w,x.format_variable(this.session.rename))!==-1;)this.session.rename++;return new De(x.format_variable(this.session.rename))},ke.prototype.is_public_predicate=function(w){return!this.public_predicates.hasOwnProperty(w)||this.public_predicates[w]===!0},it.prototype.is_public_predicate=function(w){return this.session.is_public_predicate(w)},ke.prototype.is_multifile_predicate=function(w){return this.multifile_predicates.hasOwnProperty(w)&&this.multifile_predicates[w]===!0},it.prototype.is_multifile_predicate=function(w){return this.session.is_multifile_predicate(w)},ke.prototype.prepend=function(w){return this.thread.prepend(w)},it.prototype.prepend=function(w){for(var b=w.length-1;b>=0;b--)this.points.push(w[b])},ke.prototype.success=function(w,b){return this.thread.success(w,b)},it.prototype.success=function(w,y){var y=typeof y>"u"?w:y;this.prepend([new Pe(w.goal.replace(null),w.substitution,y)])},ke.prototype.throw_error=function(w){return this.thread.throw_error(w)},it.prototype.throw_error=function(w){this.prepend([new Pe(new j("throw",[w]),new Ne,null,null)])},ke.prototype.step_rule=function(w,b){return this.thread.step_rule(w,b)},it.prototype.step_rule=function(w,b){var y=b.indicator;if(w==="user"&&(w=null),w===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var F=w===null?this.session.modules:e(this.session.modules,w)===-1?[]:[w],z=0;z1)&&this.again()},ke.prototype.answers=function(w,b,y){return this.thread.answers(w,b,y)},it.prototype.answers=function(w,b,y){var F=b||1e3,z=this;if(b<=0){y&&y();return}this.answer(function(Z){w(Z),Z!==!1?setTimeout(function(){z.answers(w,b-1,y)},1):y&&y()})},ke.prototype.again=function(w){return this.thread.again(w)},it.prototype.again=function(w){for(var b,y=Date.now();this.__calls.length>0;){for(this.warnings=[],w!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!x.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var F=Date.now();this.cpu_time_last=F-y,this.cpu_time+=this.cpu_time_last;var z=this.__calls.shift();this.current_limit<=0?z(null):this.points.length===0?z(!1):x.type.is_error(this.head_point().goal)?(b=this.session.format_error(this.points.pop()),this.points=[],z(b)):(this.debugger&&this.debugger_states.push(this.head_point()),b=this.session.format_success(this.points.pop()),z(b))}},ke.prototype.unfold=function(w){if(w.body===null)return!1;var b=w.head,y=w.body,F=y.select(),z=new it(this),Z=[];z.add_goal(F),z.step();for(var $=z.points.length-1;$>=0;$--){var oe=z.points[$],xe=b.apply(oe.substitution),Te=y.replace(oe.goal);Te!==null&&(Te=Te.apply(oe.substitution)),Z.push(new Ye(xe,Te))}var lt=this.rules[b.indicator],Et=e(lt,w);return Z.length>0&&Et!==-1?(lt.splice.apply(lt,[Et,1].concat(Z)),!0):!1},it.prototype.unfold=function(w){return this.session.unfold(w)},De.prototype.interpret=function(w){return x.error.instantiation(w.level)},Re.prototype.interpret=function(w){return this},j.prototype.interpret=function(w){return x.type.is_unitary_list(this)?this.args[0].interpret(w):x.operate(w,this)},De.prototype.compare=function(w){return this.idw.id?1:0},Re.prototype.compare=function(w){if(this.value===w.value&&this.is_float===w.is_float)return 0;if(this.valuew.value)return 1},j.prototype.compare=function(w){if(this.args.lengthw.args.length||this.args.length===w.args.length&&this.id>w.id)return 1;for(var b=0;bF)return 1;if(w.constructor===Re){if(w.is_float&&b.is_float)return 0;if(w.is_float)return-1;if(b.is_float)return 1}return 0},is_substitution:function(w){return w instanceof Ne},is_state:function(w){return w instanceof Pe},is_rule:function(w){return w instanceof Ye},is_variable:function(w){return w instanceof De},is_stream:function(w){return w instanceof Fe},is_anonymous_var:function(w){return w instanceof De&&w.id==="_"},is_callable:function(w){return w instanceof j},is_number:function(w){return w instanceof Re},is_integer:function(w){return w instanceof Re&&!w.is_float},is_float:function(w){return w instanceof Re&&w.is_float},is_term:function(w){return w instanceof j},is_atom:function(w){return w instanceof j&&w.args.length===0},is_ground:function(w){if(w instanceof De)return!1;if(w instanceof j){for(var b=0;b0},is_list:function(w){return w instanceof j&&(w.indicator==="[]/0"||w.indicator==="./2")},is_empty_list:function(w){return w instanceof j&&w.indicator==="[]/0"},is_non_empty_list:function(w){return w instanceof j&&w.indicator==="./2"},is_fully_list:function(w){for(;w instanceof j&&w.indicator==="./2";)w=w.args[1];return w instanceof De||w instanceof j&&w.indicator==="[]/0"},is_instantiated_list:function(w){for(;w instanceof j&&w.indicator==="./2";)w=w.args[1];return w instanceof j&&w.indicator==="[]/0"},is_unitary_list:function(w){return w instanceof j&&w.indicator==="./2"&&w.args[1]instanceof j&&w.args[1].indicator==="[]/0"},is_character:function(w){return w instanceof j&&(w.id.length===1||w.id.length>0&&w.id.length<=2&&n(w.id,0)>=65536)},is_character_code:function(w){return w instanceof Re&&!w.is_float&&w.value>=0&&w.value<=1114111},is_byte:function(w){return w instanceof Re&&!w.is_float&&w.value>=0&&w.value<=255},is_operator:function(w){return w instanceof j&&x.arithmetic.evaluation[w.indicator]},is_directive:function(w){return w instanceof j&&x.directive[w.indicator]!==void 0},is_builtin:function(w){return w instanceof j&&x.predicate[w.indicator]!==void 0},is_error:function(w){return w instanceof j&&w.indicator==="throw/1"},is_predicate_indicator:function(w){return w instanceof j&&w.indicator==="//2"&&w.args[0]instanceof j&&w.args[0].args.length===0&&w.args[1]instanceof Re&&w.args[1].is_float===!1},is_flag:function(w){return w instanceof j&&w.args.length===0&&x.flag[w.id]!==void 0},is_value_flag:function(w,b){if(!x.type.is_flag(w))return!1;for(var y in x.flag[w.id].allowed)if(x.flag[w.id].allowed.hasOwnProperty(y)&&x.flag[w.id].allowed[y].equals(b))return!0;return!1},is_io_mode:function(w){return x.type.is_atom(w)&&["read","write","append"].indexOf(w.id)!==-1},is_stream_option:function(w){return x.type.is_term(w)&&(w.indicator==="alias/1"&&x.type.is_atom(w.args[0])||w.indicator==="reposition/1"&&x.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="type/1"&&x.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary")||w.indicator==="eof_action/1"&&x.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))},is_stream_position:function(w){return x.type.is_integer(w)&&w.value>=0||x.type.is_atom(w)&&(w.id==="end_of_stream"||w.id==="past_end_of_stream")},is_stream_property:function(w){return x.type.is_term(w)&&(w.indicator==="input/0"||w.indicator==="output/0"||w.indicator==="alias/1"&&(x.type.is_variable(w.args[0])||x.type.is_atom(w.args[0]))||w.indicator==="file_name/1"&&(x.type.is_variable(w.args[0])||x.type.is_atom(w.args[0]))||w.indicator==="position/1"&&(x.type.is_variable(w.args[0])||x.type.is_stream_position(w.args[0]))||w.indicator==="reposition/1"&&(x.type.is_variable(w.args[0])||x.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))||w.indicator==="type/1"&&(x.type.is_variable(w.args[0])||x.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary"))||w.indicator==="mode/1"&&(x.type.is_variable(w.args[0])||x.type.is_atom(w.args[0])&&(w.args[0].id==="read"||w.args[0].id==="write"||w.args[0].id==="append"))||w.indicator==="eof_action/1"&&(x.type.is_variable(w.args[0])||x.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))||w.indicator==="end_of_stream/1"&&(x.type.is_variable(w.args[0])||x.type.is_atom(w.args[0])&&(w.args[0].id==="at"||w.args[0].id==="past"||w.args[0].id==="not")))},is_streamable:function(w){return w.__proto__.stream!==void 0},is_read_option:function(w){return x.type.is_term(w)&&["variables/1","variable_names/1","singletons/1"].indexOf(w.indicator)!==-1},is_write_option:function(w){return x.type.is_term(w)&&(w.indicator==="quoted/1"&&x.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="ignore_ops/1"&&x.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="numbervars/1"&&x.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))},is_close_option:function(w){return x.type.is_term(w)&&w.indicator==="force/1"&&x.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")},is_modifiable_flag:function(w){return x.type.is_flag(w)&&x.flag[w.id].changeable},is_module:function(w){return w instanceof j&&w.indicator==="library/1"&&w.args[0]instanceof j&&w.args[0].args.length===0&&x.module[w.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(w){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(w){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(w){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(w){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(w,b){return w}},"-/1":{type_args:null,type_result:null,fn:function(w,b){return-w}},"\\/1":{type_args:!1,type_result:!1,fn:function(w,b){return~w}},"abs/1":{type_args:null,type_result:null,fn:function(w,b){return Math.abs(w)}},"sign/1":{type_args:null,type_result:null,fn:function(w,b){return Math.sign(w)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(w,b){return parseInt(w)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(w,b){return w-parseInt(w)}},"float/1":{type_args:null,type_result:!0,fn:function(w,b){return parseFloat(w)}},"floor/1":{type_args:!0,type_result:!1,fn:function(w,b){return Math.floor(w)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(w,b){return parseInt(w)}},"round/1":{type_args:!0,type_result:!1,fn:function(w,b){return Math.round(w)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(w,b){return Math.ceil(w)}},"sin/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.sin(w)}},"cos/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.cos(w)}},"tan/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.tan(w)}},"asin/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.asin(w)}},"acos/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.acos(w)}},"atan/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.atan(w)}},"atan2/2":{type_args:null,type_result:!0,fn:function(w,b,y){return Math.atan2(w,b)}},"exp/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.exp(w)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.sqrt(w)}},"log/1":{type_args:null,type_result:!0,fn:function(w,b){return w>0?Math.log(w):x.error.evaluation("undefined",b.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(w,b,y){return w+b}},"-/2":{type_args:null,type_result:null,fn:function(w,b,y){return w-b}},"*/2":{type_args:null,type_result:null,fn:function(w,b,y){return w*b}},"//2":{type_args:null,type_result:!0,fn:function(w,b,y){return b?w/b:x.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(w,b,y){return b?parseInt(w/b):x.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(w,b,y){return Math.pow(w,b)}},"^/2":{type_args:null,type_result:null,fn:function(w,b,y){return Math.pow(w,b)}},"<>/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return w>>b}},"/\\/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return w&b}},"\\//2":{type_args:!1,type_result:!1,fn:function(w,b,y){return w|b}},"xor/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return w^b}},"rem/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return b?w%b:x.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return b?w-parseInt(w/b)*b:x.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(w,b,y){return Math.max(w,b)}},"min/2":{type_args:null,type_result:null,fn:function(w,b,y){return Math.min(w,b)}}}},directive:{"dynamic/1":function(w,b){var y=b.args[0];if(x.type.is_variable(y))w.throw_error(x.error.instantiation(b.indicator));else if(!x.type.is_compound(y)||y.indicator!=="//2")w.throw_error(x.error.type("predicate_indicator",y,b.indicator));else if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))w.throw_error(x.error.instantiation(b.indicator));else if(!x.type.is_atom(y.args[0]))w.throw_error(x.error.type("atom",y.args[0],b.indicator));else if(!x.type.is_integer(y.args[1]))w.throw_error(x.error.type("integer",y.args[1],b.indicator));else{var F=b.args[0].args[0].id+"/"+b.args[0].args[1].value;w.session.public_predicates[F]=!0,w.session.rules[F]||(w.session.rules[F]=[])}},"multifile/1":function(w,b){var y=b.args[0];x.type.is_variable(y)?w.throw_error(x.error.instantiation(b.indicator)):!x.type.is_compound(y)||y.indicator!=="//2"?w.throw_error(x.error.type("predicate_indicator",y,b.indicator)):x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1])?w.throw_error(x.error.instantiation(b.indicator)):x.type.is_atom(y.args[0])?x.type.is_integer(y.args[1])?w.session.multifile_predicates[b.args[0].args[0].id+"/"+b.args[0].args[1].value]=!0:w.throw_error(x.error.type("integer",y.args[1],b.indicator)):w.throw_error(x.error.type("atom",y.args[0],b.indicator))},"set_prolog_flag/2":function(w,b){var y=b.args[0],F=b.args[1];x.type.is_variable(y)||x.type.is_variable(F)?w.throw_error(x.error.instantiation(b.indicator)):x.type.is_atom(y)?x.type.is_flag(y)?x.type.is_value_flag(y,F)?x.type.is_modifiable_flag(y)?w.session.flag[y.id]=F:w.throw_error(x.error.permission("modify","flag",y)):w.throw_error(x.error.domain("flag_value",new j("+",[y,F]),b.indicator)):w.throw_error(x.error.domain("prolog_flag",y,b.indicator)):w.throw_error(x.error.type("atom",y,b.indicator))},"use_module/1":function(w,b){var y=b.args[0];if(x.type.is_variable(y))w.throw_error(x.error.instantiation(b.indicator));else if(!x.type.is_term(y))w.throw_error(x.error.type("term",y,b.indicator));else if(x.type.is_module(y)){var F=y.args[0].id;e(w.session.modules,F)===-1&&w.session.modules.push(F)}},"char_conversion/2":function(w,b){var y=b.args[0],F=b.args[1];x.type.is_variable(y)||x.type.is_variable(F)?w.throw_error(x.error.instantiation(b.indicator)):x.type.is_character(y)?x.type.is_character(F)?y.id===F.id?delete w.session.__char_conversion[y.id]:w.session.__char_conversion[y.id]=F.id:w.throw_error(x.error.type("character",F,b.indicator)):w.throw_error(x.error.type("character",y,b.indicator))},"op/3":function(w,b){var y=b.args[0],F=b.args[1],z=b.args[2];if(x.type.is_variable(y)||x.type.is_variable(F)||x.type.is_variable(z))w.throw_error(x.error.instantiation(b.indicator));else if(!x.type.is_integer(y))w.throw_error(x.error.type("integer",y,b.indicator));else if(!x.type.is_atom(F))w.throw_error(x.error.type("atom",F,b.indicator));else if(!x.type.is_atom(z))w.throw_error(x.error.type("atom",z,b.indicator));else if(y.value<0||y.value>1200)w.throw_error(x.error.domain("operator_priority",y,b.indicator));else if(z.id===",")w.throw_error(x.error.permission("modify","operator",z,b.indicator));else if(z.id==="|"&&(y.value<1001||F.id.length!==3))w.throw_error(x.error.permission("modify","operator",z,b.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(F.id)===-1)w.throw_error(x.error.domain("operator_specifier",F,b.indicator));else{var Z={prefix:null,infix:null,postfix:null};for(var $ in w.session.__operators)if(w.session.__operators.hasOwnProperty($)){var oe=w.session.__operators[$][z.id];oe&&(e(oe,"fx")!==-1&&(Z.prefix={priority:$,type:"fx"}),e(oe,"fy")!==-1&&(Z.prefix={priority:$,type:"fy"}),e(oe,"xf")!==-1&&(Z.postfix={priority:$,type:"xf"}),e(oe,"yf")!==-1&&(Z.postfix={priority:$,type:"yf"}),e(oe,"xfx")!==-1&&(Z.infix={priority:$,type:"xfx"}),e(oe,"xfy")!==-1&&(Z.infix={priority:$,type:"xfy"}),e(oe,"yfx")!==-1&&(Z.infix={priority:$,type:"yfx"}))}var xe;switch(F.id){case"fy":case"fx":xe="prefix";break;case"yf":case"xf":xe="postfix";break;default:xe="infix";break}if(((Z.prefix&&xe==="prefix"||Z.postfix&&xe==="postfix"||Z.infix&&xe==="infix")&&Z[xe].type!==F.id||Z.infix&&xe==="postfix"||Z.postfix&&xe==="infix")&&y.value!==0)w.throw_error(x.error.permission("create","operator",z,b.indicator));else return Z[xe]&&(we(w.session.__operators[Z[xe].priority][z.id],F.id),w.session.__operators[Z[xe].priority][z.id].length===0&&delete w.session.__operators[Z[xe].priority][z.id]),y.value>0&&(w.session.__operators[y.value]||(w.session.__operators[y.value.toString()]={}),w.session.__operators[y.value][z.id]||(w.session.__operators[y.value][z.id]=[]),w.session.__operators[y.value][z.id].push(F.id)),!0}}},predicate:{"op/3":function(w,b,y){x.directive["op/3"](w,y)&&w.success(b)},"current_op/3":function(w,b,y){var F=y.args[0],z=y.args[1],Z=y.args[2],$=[];for(var oe in w.session.__operators)for(var xe in w.session.__operators[oe])for(var Te=0;Te/2"){var F=w.points,z=w.session.format_success,Z=w.session.format_error;w.session.format_success=function(Te){return Te.substitution},w.session.format_error=function(Te){return Te.goal},w.points=[new Pe(y.args[0].args[0],b.substitution,b)];var $=function(Te){w.points=F,w.session.format_success=z,w.session.format_error=Z,Te===!1?w.prepend([new Pe(b.goal.replace(y.args[1]),b.substitution,b)]):x.type.is_error(Te)?w.throw_error(Te.args[0]):Te===null?(w.prepend([b]),w.__calls.shift()(null)):w.prepend([new Pe(b.goal.replace(y.args[0].args[1]).apply(Te),b.substitution.apply(Te),b)])};w.__calls.unshift($)}else{var oe=new Pe(b.goal.replace(y.args[0]),b.substitution,b),xe=new Pe(b.goal.replace(y.args[1]),b.substitution,b);w.prepend([oe,xe])}},"!/0":function(w,b,y){var F,z,Z=[];for(F=b,z=null;F.parent!==null&&F.parent.goal.search(y);)if(z=F,F=F.parent,F.goal!==null){var $=F.goal.select();if($&&$.id==="call"&&$.search(y)){F=z;break}}for(var oe=w.points.length-1;oe>=0;oe--){for(var xe=w.points[oe],Te=xe.parent;Te!==null&&Te!==F.parent;)Te=Te.parent;Te===null&&Te!==F.parent&&Z.push(xe)}w.points=Z.reverse(),w.success(b)},"\\+/1":function(w,b,y){var F=y.args[0];x.type.is_variable(F)?w.throw_error(x.error.instantiation(w.level)):x.type.is_callable(F)?w.prepend([new Pe(b.goal.replace(new j(",",[new j(",",[new j("call",[F]),new j("!",[])]),new j("fail",[])])),b.substitution,b),new Pe(b.goal.replace(null),b.substitution,b)]):w.throw_error(x.error.type("callable",F,w.level))},"->/2":function(w,b,y){var F=b.goal.replace(new j(",",[y.args[0],new j(",",[new j("!"),y.args[1]])]));w.prepend([new Pe(F,b.substitution,b)])},"fail/0":function(w,b,y){},"false/0":function(w,b,y){},"true/0":function(w,b,y){w.success(b)},"call/1":se(1),"call/2":se(2),"call/3":se(3),"call/4":se(4),"call/5":se(5),"call/6":se(6),"call/7":se(7),"call/8":se(8),"once/1":function(w,b,y){var F=y.args[0];w.prepend([new Pe(b.goal.replace(new j(",",[new j("call",[F]),new j("!",[])])),b.substitution,b)])},"forall/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new Pe(b.goal.replace(new j("\\+",[new j(",",[new j("call",[F]),new j("\\+",[new j("call",[z])])])])),b.substitution,b)])},"repeat/0":function(w,b,y){w.prepend([new Pe(b.goal.replace(null),b.substitution,b),b])},"throw/1":function(w,b,y){x.type.is_variable(y.args[0])?w.throw_error(x.error.instantiation(w.level)):w.throw_error(y.args[0])},"catch/3":function(w,b,y){var F=w.points;w.points=[],w.prepend([new Pe(y.args[0],b.substitution,b)]);var z=w.session.format_success,Z=w.session.format_error;w.session.format_success=function(oe){return oe.substitution},w.session.format_error=function(oe){return oe.goal};var $=function(oe){var xe=w.points;if(w.points=F,w.session.format_success=z,w.session.format_error=Z,x.type.is_error(oe)){for(var Te=[],lt=w.points.length-1;lt>=0;lt--){for(var ir=w.points[lt],Et=ir.parent;Et!==null&&Et!==b.parent;)Et=Et.parent;Et===null&&Et!==b.parent&&Te.push(ir)}w.points=Te;var qt=w.get_flag("occurs_check").indicator==="true/0",ir=new Pe,Pt=x.unify(oe.args[0],y.args[1],qt);Pt!==null?(ir.substitution=b.substitution.apply(Pt),ir.goal=b.goal.replace(y.args[2]).apply(Pt),ir.parent=b,w.prepend([ir])):w.throw_error(oe.args[0])}else if(oe!==!1){for(var gn=oe===null?[]:[new Pe(b.goal.apply(oe).replace(null),b.substitution.apply(oe),b)],Pr=[],lt=xe.length-1;lt>=0;lt--){Pr.push(xe[lt]);var Ir=xe[lt].goal!==null?xe[lt].goal.select():null;if(x.type.is_term(Ir)&&Ir.indicator==="!/0")break}var Nr=s(Pr,function(nn){return nn.goal===null&&(nn.goal=new j("true",[])),nn=new Pe(b.goal.replace(new j("catch",[nn.goal,y.args[1],y.args[2]])),b.substitution.apply(nn.substitution),nn.parent),nn.exclude=y.args[0].variables(),nn}).reverse();w.prepend(Nr),w.prepend(gn),oe===null&&(this.current_limit=0,w.__calls.shift()(null))}};w.__calls.unshift($)},"=/2":function(w,b,y){var F=w.get_flag("occurs_check").indicator==="true/0",z=new Pe,Z=x.unify(y.args[0],y.args[1],F);Z!==null&&(z.goal=b.goal.apply(Z).replace(null),z.substitution=b.substitution.apply(Z),z.parent=b,w.prepend([z]))},"unify_with_occurs_check/2":function(w,b,y){var F=new Pe,z=x.unify(y.args[0],y.args[1],!0);z!==null&&(F.goal=b.goal.apply(z).replace(null),F.substitution=b.substitution.apply(z),F.parent=b,w.prepend([F]))},"\\=/2":function(w,b,y){var F=w.get_flag("occurs_check").indicator==="true/0",z=x.unify(y.args[0],y.args[1],F);z===null&&w.success(b)},"subsumes_term/2":function(w,b,y){var F=w.get_flag("occurs_check").indicator==="true/0",z=x.unify(y.args[1],y.args[0],F);z!==null&&y.args[1].apply(z).equals(y.args[1])&&w.success(b)},"findall/3":function(w,b,y){var F=y.args[0],z=y.args[1],Z=y.args[2];if(x.type.is_variable(z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(z))w.throw_error(x.error.type("callable",z,y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_list(Z))w.throw_error(x.error.type("list",Z,y.indicator));else{var $=w.next_free_variable(),oe=new j(",",[z,new j("=",[$,F])]),xe=w.points,Te=w.session.limit,lt=w.session.format_success;w.session.format_success=function(ir){return ir.substitution},w.add_goal(oe,!0,b);var Et=[],qt=function(ir){if(ir!==!1&&ir!==null&&!x.type.is_error(ir))w.__calls.unshift(qt),Et.push(ir.links[$.id]),w.session.limit=w.current_limit;else if(w.points=xe,w.session.limit=Te,w.session.format_success=lt,x.type.is_error(ir))w.throw_error(ir.args[0]);else if(w.current_limit>0){for(var Pt=new j("[]"),gn=Et.length-1;gn>=0;gn--)Pt=new j(".",[Et[gn],Pt]);w.prepend([new Pe(b.goal.replace(new j("=",[Z,Pt])),b.substitution,b)])}};w.__calls.unshift(qt)}},"bagof/3":function(w,b,y){var F,z=y.args[0],Z=y.args[1],$=y.args[2];if(x.type.is_variable(Z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(Z))w.throw_error(x.error.type("callable",Z,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))w.throw_error(x.error.type("list",$,y.indicator));else{var oe=w.next_free_variable(),xe;Z.indicator==="^/2"?(xe=Z.args[0].variables(),Z=Z.args[1]):xe=[],xe=xe.concat(z.variables());for(var Te=Z.variables().filter(function(Nr){return e(xe,Nr)===-1}),lt=new j("[]"),Et=Te.length-1;Et>=0;Et--)lt=new j(".",[new De(Te[Et]),lt]);var qt=new j(",",[Z,new j("=",[oe,new j(",",[lt,z])])]),ir=w.points,Pt=w.session.limit,gn=w.session.format_success;w.session.format_success=function(Nr){return Nr.substitution},w.add_goal(qt,!0,b);var Pr=[],Ir=function(Nr){if(Nr!==!1&&Nr!==null&&!x.type.is_error(Nr)){w.__calls.unshift(Ir);var nn=!1,oi=Nr.links[oe.id].args[0],wo=Nr.links[oe.id].args[1];for(var rs in Pr)if(Pr.hasOwnProperty(rs)){var eo=Pr[rs];if(eo.variables.equals(oi)){eo.answers.push(wo),nn=!0;break}}nn||Pr.push({variables:oi,answers:[wo]}),w.session.limit=w.current_limit}else if(w.points=ir,w.session.limit=Pt,w.session.format_success=gn,x.type.is_error(Nr))w.throw_error(Nr.args[0]);else if(w.current_limit>0){for(var Bo=[],Hi=0;Hi=0;vo--)to=new j(".",[Nr[vo],to]);Bo.push(new Pe(b.goal.replace(new j(",",[new j("=",[lt,Pr[Hi].variables]),new j("=",[$,to])])),b.substitution,b))}w.prepend(Bo)}};w.__calls.unshift(Ir)}},"setof/3":function(w,b,y){var F,z=y.args[0],Z=y.args[1],$=y.args[2];if(x.type.is_variable(Z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(Z))w.throw_error(x.error.type("callable",Z,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))w.throw_error(x.error.type("list",$,y.indicator));else{var oe=w.next_free_variable(),xe;Z.indicator==="^/2"?(xe=Z.args[0].variables(),Z=Z.args[1]):xe=[],xe=xe.concat(z.variables());for(var Te=Z.variables().filter(function(Nr){return e(xe,Nr)===-1}),lt=new j("[]"),Et=Te.length-1;Et>=0;Et--)lt=new j(".",[new De(Te[Et]),lt]);var qt=new j(",",[Z,new j("=",[oe,new j(",",[lt,z])])]),ir=w.points,Pt=w.session.limit,gn=w.session.format_success;w.session.format_success=function(Nr){return Nr.substitution},w.add_goal(qt,!0,b);var Pr=[],Ir=function(Nr){if(Nr!==!1&&Nr!==null&&!x.type.is_error(Nr)){w.__calls.unshift(Ir);var nn=!1,oi=Nr.links[oe.id].args[0],wo=Nr.links[oe.id].args[1];for(var rs in Pr)if(Pr.hasOwnProperty(rs)){var eo=Pr[rs];if(eo.variables.equals(oi)){eo.answers.push(wo),nn=!0;break}}nn||Pr.push({variables:oi,answers:[wo]}),w.session.limit=w.current_limit}else if(w.points=ir,w.session.limit=Pt,w.session.format_success=gn,x.type.is_error(Nr))w.throw_error(Nr.args[0]);else if(w.current_limit>0){for(var Bo=[],Hi=0;Hi=0;vo--)to=new j(".",[Nr[vo],to]);Bo.push(new Pe(b.goal.replace(new j(",",[new j("=",[lt,Pr[Hi].variables]),new j("=",[$,to])])),b.substitution,b))}w.prepend(Bo)}};w.__calls.unshift(Ir)}},"functor/3":function(w,b,y){var F,z=y.args[0],Z=y.args[1],$=y.args[2];if(x.type.is_variable(z)&&(x.type.is_variable(Z)||x.type.is_variable($)))w.throw_error(x.error.instantiation("functor/3"));else if(!x.type.is_variable($)&&!x.type.is_integer($))w.throw_error(x.error.type("integer",y.args[2],"functor/3"));else if(!x.type.is_variable(Z)&&!x.type.is_atomic(Z))w.throw_error(x.error.type("atomic",y.args[1],"functor/3"));else if(x.type.is_integer(Z)&&x.type.is_integer($)&&$.value!==0)w.throw_error(x.error.type("atom",y.args[1],"functor/3"));else if(x.type.is_variable(z)){if(y.args[2].value>=0){for(var oe=[],xe=0;xe<$.value;xe++)oe.push(w.next_free_variable());var Te=x.type.is_integer(Z)?Z:new j(Z.id,oe);w.prepend([new Pe(b.goal.replace(new j("=",[z,Te])),b.substitution,b)])}}else{var lt=x.type.is_integer(z)?z:new j(z.id,[]),Et=x.type.is_integer(z)?new Re(0,!1):new Re(z.args.length,!1),qt=new j(",",[new j("=",[lt,Z]),new j("=",[Et,$])]);w.prepend([new Pe(b.goal.replace(qt),b.substitution,b)])}},"arg/3":function(w,b,y){if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))w.throw_error(x.error.instantiation(y.indicator));else if(y.args[0].value<0)w.throw_error(x.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!x.type.is_compound(y.args[1]))w.throw_error(x.error.type("compound",y.args[1],y.indicator));else{var F=y.args[0].value;if(F>0&&F<=y.args[1].args.length){var z=new j("=",[y.args[1].args[F-1],y.args[2]]);w.prepend([new Pe(b.goal.replace(z),b.substitution,b)])}}},"=../2":function(w,b,y){var F;if(x.type.is_variable(y.args[0])&&(x.type.is_variable(y.args[1])||x.type.is_non_empty_list(y.args[1])&&x.type.is_variable(y.args[1].args[0])))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_fully_list(y.args[1]))w.throw_error(x.error.type("list",y.args[1],y.indicator));else if(x.type.is_variable(y.args[0])){if(!x.type.is_variable(y.args[1])){var Z=[];for(F=y.args[1].args[1];F.indicator==="./2";)Z.push(F.args[0]),F=F.args[1];x.type.is_variable(y.args[0])&&x.type.is_variable(F)?w.throw_error(x.error.instantiation(y.indicator)):Z.length===0&&x.type.is_compound(y.args[1].args[0])?w.throw_error(x.error.type("atomic",y.args[1].args[0],y.indicator)):Z.length>0&&(x.type.is_compound(y.args[1].args[0])||x.type.is_number(y.args[1].args[0]))?w.throw_error(x.error.type("atom",y.args[1].args[0],y.indicator)):Z.length===0?w.prepend([new Pe(b.goal.replace(new j("=",[y.args[1].args[0],y.args[0]],b)),b.substitution,b)]):w.prepend([new Pe(b.goal.replace(new j("=",[new j(y.args[1].args[0].id,Z),y.args[0]])),b.substitution,b)])}}else{if(x.type.is_atomic(y.args[0]))F=new j(".",[y.args[0],new j("[]")]);else{F=new j("[]");for(var z=y.args[0].args.length-1;z>=0;z--)F=new j(".",[y.args[0].args[z],F]);F=new j(".",[new j(y.args[0].id),F])}w.prepend([new Pe(b.goal.replace(new j("=",[F,y.args[1]])),b.substitution,b)])}},"copy_term/2":function(w,b,y){var F=y.args[0].rename(w);w.prepend([new Pe(b.goal.replace(new j("=",[F,y.args[1]])),b.substitution,b.parent)])},"term_variables/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(!x.type.is_fully_list(z))w.throw_error(x.error.type("list",z,y.indicator));else{var Z=g(s(Ee(F.variables()),function($){return new De($)}));w.prepend([new Pe(b.goal.replace(new j("=",[z,Z])),b.substitution,b)])}},"clause/2":function(w,b,y){if(x.type.is_variable(y.args[0]))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))w.throw_error(x.error.type("callable",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_callable(y.args[1]))w.throw_error(x.error.type("callable",y.args[1],y.indicator));else if(w.session.rules[y.args[0].indicator]!==void 0)if(w.is_public_predicate(y.args[0].indicator)){var F=[];for(var z in w.session.rules[y.args[0].indicator])if(w.session.rules[y.args[0].indicator].hasOwnProperty(z)){var Z=w.session.rules[y.args[0].indicator][z];w.session.renamed_variables={},Z=Z.rename(w),Z.body===null&&(Z.body=new j("true"));var $=new j(",",[new j("=",[Z.head,y.args[0]]),new j("=",[Z.body,y.args[1]])]);F.push(new Pe(b.goal.replace($),b.substitution,b))}w.prepend(F)}else w.throw_error(x.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(w,b,y){var F=y.args[0];if(!x.type.is_variable(F)&&(!x.type.is_compound(F)||F.indicator!=="//2"))w.throw_error(x.error.type("predicate_indicator",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[0])&&!x.type.is_atom(F.args[0]))w.throw_error(x.error.type("atom",F.args[0],y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[1])&&!x.type.is_integer(F.args[1]))w.throw_error(x.error.type("integer",F.args[1],y.indicator));else{var z=[];for(var Z in w.session.rules)if(w.session.rules.hasOwnProperty(Z)){var $=Z.lastIndexOf("/"),oe=Z.substr(0,$),xe=parseInt(Z.substr($+1,Z.length-($+1))),Te=new j("/",[new j(oe),new Re(xe,!1)]),lt=new j("=",[Te,F]);z.push(new Pe(b.goal.replace(lt),b.substitution,b))}w.prepend(z)}},"asserta/1":function(w,b,y){if(x.type.is_variable(y.args[0]))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))w.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=Ce(y.args[0].args[1])):(F=y.args[0],z=null),x.type.is_callable(F)?z!==null&&!x.type.is_callable(z)?w.throw_error(x.error.type("callable",z,y.indicator)):w.is_public_predicate(F.indicator)?(w.session.rules[F.indicator]===void 0&&(w.session.rules[F.indicator]=[]),w.session.public_predicates[F.indicator]=!0,w.session.rules[F.indicator]=[new Ye(F,z,!0)].concat(w.session.rules[F.indicator]),w.success(b)):w.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):w.throw_error(x.error.type("callable",F,y.indicator))}},"assertz/1":function(w,b,y){if(x.type.is_variable(y.args[0]))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))w.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=Ce(y.args[0].args[1])):(F=y.args[0],z=null),x.type.is_callable(F)?z!==null&&!x.type.is_callable(z)?w.throw_error(x.error.type("callable",z,y.indicator)):w.is_public_predicate(F.indicator)?(w.session.rules[F.indicator]===void 0&&(w.session.rules[F.indicator]=[]),w.session.public_predicates[F.indicator]=!0,w.session.rules[F.indicator].push(new Ye(F,z,!0)),w.success(b)):w.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):w.throw_error(x.error.type("callable",F,y.indicator))}},"retract/1":function(w,b,y){if(x.type.is_variable(y.args[0]))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))w.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;if(y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=y.args[0].args[1]):(F=y.args[0],z=new j("true")),typeof b.retract>"u")if(w.is_public_predicate(F.indicator)){if(w.session.rules[F.indicator]!==void 0){for(var Z=[],$=0;$w.get_flag("max_arity").value)w.throw_error(x.error.representation("max_arity",y.indicator));else{var F=y.args[0].args[0].id+"/"+y.args[0].args[1].value;w.is_public_predicate(F)?(delete w.session.rules[F],w.success(b)):w.throw_error(x.error.permission("modify","static_procedure",F,y.indicator))}},"atom_length/2":function(w,b,y){if(x.type.is_variable(y.args[0]))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_atom(y.args[0]))w.throw_error(x.error.type("atom",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_integer(y.args[1]))w.throw_error(x.error.type("integer",y.args[1],y.indicator));else if(x.type.is_integer(y.args[1])&&y.args[1].value<0)w.throw_error(x.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var F=new Re(y.args[0].id.length,!1);w.prepend([new Pe(b.goal.replace(new j("=",[F,y.args[1]])),b.substitution,b)])}},"atom_concat/3":function(w,b,y){var F,z,Z=y.args[0],$=y.args[1],oe=y.args[2];if(x.type.is_variable(oe)&&(x.type.is_variable(Z)||x.type.is_variable($)))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_atom(Z))w.throw_error(x.error.type("atom",Z,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_atom($))w.throw_error(x.error.type("atom",$,y.indicator));else if(!x.type.is_variable(oe)&&!x.type.is_atom(oe))w.throw_error(x.error.type("atom",oe,y.indicator));else{var xe=x.type.is_variable(Z),Te=x.type.is_variable($);if(!xe&&!Te)z=new j("=",[oe,new j(Z.id+$.id)]),w.prepend([new Pe(b.goal.replace(z),b.substitution,b)]);else if(xe&&!Te)F=oe.id.substr(0,oe.id.length-$.id.length),F+$.id===oe.id&&(z=new j("=",[Z,new j(F)]),w.prepend([new Pe(b.goal.replace(z),b.substitution,b)]));else if(Te&&!xe)F=oe.id.substr(Z.id.length),Z.id+F===oe.id&&(z=new j("=",[$,new j(F)]),w.prepend([new Pe(b.goal.replace(z),b.substitution,b)]));else{for(var lt=[],Et=0;Et<=oe.id.length;Et++){var qt=new j(oe.id.substr(0,Et)),ir=new j(oe.id.substr(Et));z=new j(",",[new j("=",[qt,Z]),new j("=",[ir,$])]),lt.push(new Pe(b.goal.replace(z),b.substitution,b))}w.prepend(lt)}}},"sub_atom/5":function(w,b,y){var F,z=y.args[0],Z=y.args[1],$=y.args[2],oe=y.args[3],xe=y.args[4];if(x.type.is_variable(z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_integer(Z))w.throw_error(x.error.type("integer",Z,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_integer($))w.throw_error(x.error.type("integer",$,y.indicator));else if(!x.type.is_variable(oe)&&!x.type.is_integer(oe))w.throw_error(x.error.type("integer",oe,y.indicator));else if(x.type.is_integer(Z)&&Z.value<0)w.throw_error(x.error.domain("not_less_than_zero",Z,y.indicator));else if(x.type.is_integer($)&&$.value<0)w.throw_error(x.error.domain("not_less_than_zero",$,y.indicator));else if(x.type.is_integer(oe)&&oe.value<0)w.throw_error(x.error.domain("not_less_than_zero",oe,y.indicator));else{var Te=[],lt=[],Et=[];if(x.type.is_variable(Z))for(F=0;F<=z.id.length;F++)Te.push(F);else Te.push(Z.value);if(x.type.is_variable($))for(F=0;F<=z.id.length;F++)lt.push(F);else lt.push($.value);if(x.type.is_variable(oe))for(F=0;F<=z.id.length;F++)Et.push(F);else Et.push(oe.value);var qt=[];for(var ir in Te)if(Te.hasOwnProperty(ir)){F=Te[ir];for(var Pt in lt)if(lt.hasOwnProperty(Pt)){var gn=lt[Pt],Pr=z.id.length-F-gn;if(e(Et,Pr)!==-1&&F+gn+Pr===z.id.length){var Ir=z.id.substr(F,gn);if(z.id===z.id.substr(0,F)+Ir+z.id.substr(F+gn,Pr)){var Nr=new j("=",[new j(Ir),xe]),nn=new j("=",[Z,new Re(F)]),oi=new j("=",[$,new Re(gn)]),wo=new j("=",[oe,new Re(Pr)]),rs=new j(",",[new j(",",[new j(",",[nn,oi]),wo]),Nr]);qt.push(new Pe(b.goal.replace(rs),b.substitution,b))}}}}w.prepend(qt)}},"atom_chars/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))w.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var oe=z,xe=x.type.is_variable(F),Te="";oe.indicator==="./2";){if(x.type.is_character(oe.args[0]))Te+=oe.args[0].id;else if(x.type.is_variable(oe.args[0])&&xe){w.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(oe.args[0])){w.throw_error(x.error.type("character",oe.args[0],y.indicator));return}oe=oe.args[1]}x.type.is_variable(oe)&&xe?w.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(oe)&&!x.type.is_variable(oe)?w.throw_error(x.error.type("list",z,y.indicator)):w.prepend([new Pe(b.goal.replace(new j("=",[new j(Te),F])),b.substitution,b)])}else{for(var Z=new j("[]"),$=F.id.length-1;$>=0;$--)Z=new j(".",[new j(F.id.charAt($)),Z]);w.prepend([new Pe(b.goal.replace(new j("=",[z,Z])),b.substitution,b)])}},"atom_codes/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))w.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var oe=z,xe=x.type.is_variable(F),Te="";oe.indicator==="./2";){if(x.type.is_character_code(oe.args[0]))Te+=c(oe.args[0].value);else if(x.type.is_variable(oe.args[0])&&xe){w.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(oe.args[0])){w.throw_error(x.error.representation("character_code",y.indicator));return}oe=oe.args[1]}x.type.is_variable(oe)&&xe?w.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(oe)&&!x.type.is_variable(oe)?w.throw_error(x.error.type("list",z,y.indicator)):w.prepend([new Pe(b.goal.replace(new j("=",[new j(Te),F])),b.substitution,b)])}else{for(var Z=new j("[]"),$=F.id.length-1;$>=0;$--)Z=new j(".",[new Re(n(F.id,$),!1),Z]);w.prepend([new Pe(b.goal.replace(new j("=",[z,Z])),b.substitution,b)])}},"char_code/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_character(F))w.throw_error(x.error.type("character",F,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))w.throw_error(x.error.type("integer",z,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character_code(z))w.throw_error(x.error.representation("character_code",y.indicator));else if(x.type.is_variable(z)){var Z=new Re(n(F.id,0),!1);w.prepend([new Pe(b.goal.replace(new j("=",[Z,z])),b.substitution,b)])}else{var $=new j(c(z.value));w.prepend([new Pe(b.goal.replace(new j("=",[$,F])),b.substitution,b)])}},"number_chars/2":function(w,b,y){var F,z=y.args[0],Z=y.args[1];if(x.type.is_variable(z)&&x.type.is_variable(Z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_number(z))w.throw_error(x.error.type("number",z,y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_list(Z))w.throw_error(x.error.type("list",Z,y.indicator));else{var $=x.type.is_variable(z);if(!x.type.is_variable(Z)){var oe=Z,xe=!0;for(F="";oe.indicator==="./2";){if(x.type.is_character(oe.args[0]))F+=oe.args[0].id;else if(x.type.is_variable(oe.args[0]))xe=!1;else if(!x.type.is_variable(oe.args[0])){w.throw_error(x.error.type("character",oe.args[0],y.indicator));return}oe=oe.args[1]}if(xe=xe&&x.type.is_empty_list(oe),!x.type.is_empty_list(oe)&&!x.type.is_variable(oe)){w.throw_error(x.error.type("list",Z,y.indicator));return}if(!xe&&$){w.throw_error(x.error.instantiation(y.indicator));return}else if(xe)if(x.type.is_variable(oe)&&$){w.throw_error(x.error.instantiation(y.indicator));return}else{var Te=w.parse(F),lt=Te.value;!x.type.is_number(lt)||Te.tokens[Te.tokens.length-1].space?w.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new Pe(b.goal.replace(new j("=",[z,lt])),b.substitution,b)]);return}}if(!$){F=z.toString();for(var Et=new j("[]"),qt=F.length-1;qt>=0;qt--)Et=new j(".",[new j(F.charAt(qt)),Et]);w.prepend([new Pe(b.goal.replace(new j("=",[Z,Et])),b.substitution,b)])}}},"number_codes/2":function(w,b,y){var F,z=y.args[0],Z=y.args[1];if(x.type.is_variable(z)&&x.type.is_variable(Z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_number(z))w.throw_error(x.error.type("number",z,y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_list(Z))w.throw_error(x.error.type("list",Z,y.indicator));else{var $=x.type.is_variable(z);if(!x.type.is_variable(Z)){var oe=Z,xe=!0;for(F="";oe.indicator==="./2";){if(x.type.is_character_code(oe.args[0]))F+=c(oe.args[0].value);else if(x.type.is_variable(oe.args[0]))xe=!1;else if(!x.type.is_variable(oe.args[0])){w.throw_error(x.error.type("character_code",oe.args[0],y.indicator));return}oe=oe.args[1]}if(xe=xe&&x.type.is_empty_list(oe),!x.type.is_empty_list(oe)&&!x.type.is_variable(oe)){w.throw_error(x.error.type("list",Z,y.indicator));return}if(!xe&&$){w.throw_error(x.error.instantiation(y.indicator));return}else if(xe)if(x.type.is_variable(oe)&&$){w.throw_error(x.error.instantiation(y.indicator));return}else{var Te=w.parse(F),lt=Te.value;!x.type.is_number(lt)||Te.tokens[Te.tokens.length-1].space?w.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new Pe(b.goal.replace(new j("=",[z,lt])),b.substitution,b)]);return}}if(!$){F=z.toString();for(var Et=new j("[]"),qt=F.length-1;qt>=0;qt--)Et=new j(".",[new Re(n(F,qt),!1),Et]);w.prepend([new Pe(b.goal.replace(new j("=",[Z,Et])),b.substitution,b)])}}},"upcase_atom/2":function(w,b,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)?w.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(z)&&!x.type.is_atom(z)?w.throw_error(x.error.type("atom",z,y.indicator)):w.prepend([new Pe(b.goal.replace(new j("=",[z,new j(F.id.toUpperCase(),[])])),b.substitution,b)]):w.throw_error(x.error.type("atom",F,y.indicator))},"downcase_atom/2":function(w,b,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)?w.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(z)&&!x.type.is_atom(z)?w.throw_error(x.error.type("atom",z,y.indicator)):w.prepend([new Pe(b.goal.replace(new j("=",[z,new j(F.id.toLowerCase(),[])])),b.substitution,b)]):w.throw_error(x.error.type("atom",F,y.indicator))},"atomic_list_concat/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new Pe(b.goal.replace(new j("atomic_list_concat",[F,new j("",[]),z])),b.substitution,b)])},"atomic_list_concat/3":function(w,b,y){var F=y.args[0],z=y.args[1],Z=y.args[2];if(x.type.is_variable(z)||x.type.is_variable(F)&&x.type.is_variable(Z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_list(F))w.throw_error(x.error.type("list",F,y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_atom(Z))w.throw_error(x.error.type("atom",Z,y.indicator));else if(x.type.is_variable(Z)){for(var oe="",xe=F;x.type.is_term(xe)&&xe.indicator==="./2";){if(!x.type.is_atom(xe.args[0])&&!x.type.is_number(xe.args[0])){w.throw_error(x.error.type("atomic",xe.args[0],y.indicator));return}oe!==""&&(oe+=z.id),x.type.is_atom(xe.args[0])?oe+=xe.args[0].id:oe+=""+xe.args[0].value,xe=xe.args[1]}oe=new j(oe,[]),x.type.is_variable(xe)?w.throw_error(x.error.instantiation(y.indicator)):!x.type.is_term(xe)||xe.indicator!=="[]/0"?w.throw_error(x.error.type("list",F,y.indicator)):w.prepend([new Pe(b.goal.replace(new j("=",[oe,Z])),b.substitution,b)])}else{var $=g(s(Z.id.split(z.id),function(Te){return new j(Te,[])}));w.prepend([new Pe(b.goal.replace(new j("=",[$,F])),b.substitution,b)])}},"@=/2":function(w,b,y){x.compare(y.args[0],y.args[1])>0&&w.success(b)},"@>=/2":function(w,b,y){x.compare(y.args[0],y.args[1])>=0&&w.success(b)},"compare/3":function(w,b,y){var F=y.args[0],z=y.args[1],Z=y.args[2];if(!x.type.is_variable(F)&&!x.type.is_atom(F))w.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_atom(F)&&["<",">","="].indexOf(F.id)===-1)w.throw_error(x.type.domain("order",F,y.indicator));else{var $=x.compare(z,Z);$=$===0?"=":$===-1?"<":">",w.prepend([new Pe(b.goal.replace(new j("=",[F,new j($,[])])),b.substitution,b)])}},"is/2":function(w,b,y){var F=y.args[1].interpret(w);x.type.is_number(F)?w.prepend([new Pe(b.goal.replace(new j("=",[y.args[0],F],w.level)),b.substitution,b)]):w.throw_error(F)},"between/3":function(w,b,y){var F=y.args[0],z=y.args[1],Z=y.args[2];if(x.type.is_variable(F)||x.type.is_variable(z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_integer(F))w.throw_error(x.error.type("integer",F,y.indicator));else if(!x.type.is_integer(z))w.throw_error(x.error.type("integer",z,y.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_integer(Z))w.throw_error(x.error.type("integer",Z,y.indicator));else if(x.type.is_variable(Z)){var $=[new Pe(b.goal.replace(new j("=",[Z,F])),b.substitution,b)];F.value=Z.value&&w.success(b)},"succ/2":function(w,b,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)&&x.type.is_variable(z)?w.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_integer(F)?w.throw_error(x.error.type("integer",F,y.indicator)):!x.type.is_variable(z)&&!x.type.is_integer(z)?w.throw_error(x.error.type("integer",z,y.indicator)):!x.type.is_variable(F)&&F.value<0?w.throw_error(x.error.domain("not_less_than_zero",F,y.indicator)):!x.type.is_variable(z)&&z.value<0?w.throw_error(x.error.domain("not_less_than_zero",z,y.indicator)):(x.type.is_variable(z)||z.value>0)&&(x.type.is_variable(F)?w.prepend([new Pe(b.goal.replace(new j("=",[F,new Re(z.value-1,!1)])),b.substitution,b)]):w.prepend([new Pe(b.goal.replace(new j("=",[z,new Re(F.value+1,!1)])),b.substitution,b)]))},"=:=/2":function(w,b,y){var F=x.arithmetic_compare(w,y.args[0],y.args[1]);x.type.is_term(F)?w.throw_error(F):F===0&&w.success(b)},"=\\=/2":function(w,b,y){var F=x.arithmetic_compare(w,y.args[0],y.args[1]);x.type.is_term(F)?w.throw_error(F):F!==0&&w.success(b)},"/2":function(w,b,y){var F=x.arithmetic_compare(w,y.args[0],y.args[1]);x.type.is_term(F)?w.throw_error(F):F>0&&w.success(b)},">=/2":function(w,b,y){var F=x.arithmetic_compare(w,y.args[0],y.args[1]);x.type.is_term(F)?w.throw_error(F):F>=0&&w.success(b)},"var/1":function(w,b,y){x.type.is_variable(y.args[0])&&w.success(b)},"atom/1":function(w,b,y){x.type.is_atom(y.args[0])&&w.success(b)},"atomic/1":function(w,b,y){x.type.is_atomic(y.args[0])&&w.success(b)},"compound/1":function(w,b,y){x.type.is_compound(y.args[0])&&w.success(b)},"integer/1":function(w,b,y){x.type.is_integer(y.args[0])&&w.success(b)},"float/1":function(w,b,y){x.type.is_float(y.args[0])&&w.success(b)},"number/1":function(w,b,y){x.type.is_number(y.args[0])&&w.success(b)},"nonvar/1":function(w,b,y){x.type.is_variable(y.args[0])||w.success(b)},"ground/1":function(w,b,y){y.variables().length===0&&w.success(b)},"acyclic_term/1":function(w,b,y){for(var F=b.substitution.apply(b.substitution),z=y.args[0].variables(),Z=0;Z0?Pt[Pt.length-1]:null,Pt!==null&&(qt=W(w,Pt,0,w.__get_max_priority(),!1))}if(qt.type===p&&qt.len===Pt.length-1&&gn.value==="."){qt=qt.value.rename(w);var Pr=new j("=",[z,qt]);if(oe.variables){var Ir=g(s(Ee(qt.variables()),function(Nr){return new De(Nr)}));Pr=new j(",",[Pr,new j("=",[oe.variables,Ir])])}if(oe.variable_names){var Ir=g(s(Ee(qt.variables()),function(nn){var oi;for(oi in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(oi)&&w.session.renamed_variables[oi]===nn)break;return new j("=",[new j(oi,[]),new De(nn)])}));Pr=new j(",",[Pr,new j("=",[oe.variable_names,Ir])])}if(oe.singletons){var Ir=g(s(new Ye(qt,null).singleton_variables(),function(nn){var oi;for(oi in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(oi)&&w.session.renamed_variables[oi]===nn)break;return new j("=",[new j(oi,[]),new De(nn)])}));Pr=new j(",",[Pr,new j("=",[oe.singletons,Ir])])}w.prepend([new Pe(b.goal.replace(Pr),b.substitution,b)])}else qt.type===p?w.throw_error(x.error.syntax(Pt[qt.len],"unexpected token",!1)):w.throw_error(qt.value)}}},"write/1":function(w,b,y){var F=y.args[0];w.prepend([new Pe(b.goal.replace(new j(",",[new j("current_output",[new De("S")]),new j("write",[new De("S"),F])])),b.substitution,b)])},"write/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new Pe(b.goal.replace(new j("write_term",[F,z,new j(".",[new j("quoted",[new j("false",[])]),new j(".",[new j("ignore_ops",[new j("false")]),new j(".",[new j("numbervars",[new j("true")]),new j("[]",[])])])])])),b.substitution,b)])},"writeq/1":function(w,b,y){var F=y.args[0];w.prepend([new Pe(b.goal.replace(new j(",",[new j("current_output",[new De("S")]),new j("writeq",[new De("S"),F])])),b.substitution,b)])},"writeq/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new Pe(b.goal.replace(new j("write_term",[F,z,new j(".",[new j("quoted",[new j("true",[])]),new j(".",[new j("ignore_ops",[new j("false")]),new j(".",[new j("numbervars",[new j("true")]),new j("[]",[])])])])])),b.substitution,b)])},"write_canonical/1":function(w,b,y){var F=y.args[0];w.prepend([new Pe(b.goal.replace(new j(",",[new j("current_output",[new De("S")]),new j("write_canonical",[new De("S"),F])])),b.substitution,b)])},"write_canonical/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new Pe(b.goal.replace(new j("write_term",[F,z,new j(".",[new j("quoted",[new j("true",[])]),new j(".",[new j("ignore_ops",[new j("true")]),new j(".",[new j("numbervars",[new j("false")]),new j("[]",[])])])])])),b.substitution,b)])},"write_term/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new Pe(b.goal.replace(new j(",",[new j("current_output",[new De("S")]),new j("write_term",[new De("S"),F,z])])),b.substitution,b)])},"write_term/3":function(w,b,y){var F=y.args[0],z=y.args[1],Z=y.args[2],$=x.type.is_stream(F)?F:w.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(Z))w.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(Z))w.throw_error(x.error.type("list",Z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))w.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream($)||$.stream===null)w.throw_error(x.error.existence("stream",F,y.indicator));else if($.input)w.throw_error(x.error.permission("output","stream",F,y.indicator));else if($.type==="binary")w.throw_error(x.error.permission("output","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")w.throw_error(x.error.permission("output","past_end_of_stream",F,y.indicator));else{for(var oe={},xe=Z,Te;x.type.is_term(xe)&&xe.indicator==="./2";){if(Te=xe.args[0],x.type.is_variable(Te)){w.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_write_option(Te)){w.throw_error(x.error.domain("write_option",Te,y.indicator));return}oe[Te.id]=Te.args[0].id==="true",xe=xe.args[1]}if(xe.indicator!=="[]/0"){x.type.is_variable(xe)?w.throw_error(x.error.instantiation(y.indicator)):w.throw_error(x.error.type("list",Z,y.indicator));return}else{oe.session=w.session;var lt=z.toString(oe);$.stream.put(lt,$.position),typeof $.position=="number"&&($.position+=lt.length),w.success(b)}}},"halt/0":function(w,b,y){w.points=[]},"halt/1":function(w,b,y){var F=y.args[0];x.type.is_variable(F)?w.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(F)?w.points=[]:w.throw_error(x.error.type("integer",F,y.indicator))},"current_prolog_flag/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(!x.type.is_variable(F)&&!x.type.is_atom(F))w.throw_error(x.error.type("atom",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_flag(F))w.throw_error(x.error.domain("prolog_flag",F,y.indicator));else{var Z=[];for(var $ in x.flag)if(x.flag.hasOwnProperty($)){var oe=new j(",",[new j("=",[new j($),F]),new j("=",[w.get_flag($),z])]);Z.push(new Pe(b.goal.replace(oe),b.substitution,b))}w.prepend(Z)}},"set_prolog_flag/2":function(w,b,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)||x.type.is_variable(z)?w.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?x.type.is_flag(F)?x.type.is_value_flag(F,z)?x.type.is_modifiable_flag(F)?(w.session.flag[F.id]=z,w.success(b)):w.throw_error(x.error.permission("modify","flag",F)):w.throw_error(x.error.domain("flag_value",new j("+",[F,z]),y.indicator)):w.throw_error(x.error.domain("prolog_flag",F,y.indicator)):w.throw_error(x.error.type("atom",F,y.indicator))}},flag:{bounded:{allowed:[new j("true"),new j("false")],value:new j("true"),changeable:!1},max_integer:{allowed:[new Re(Number.MAX_SAFE_INTEGER)],value:new Re(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new Re(Number.MIN_SAFE_INTEGER)],value:new Re(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new j("down"),new j("toward_zero")],value:new j("toward_zero"),changeable:!1},char_conversion:{allowed:[new j("on"),new j("off")],value:new j("on"),changeable:!0},debug:{allowed:[new j("on"),new j("off")],value:new j("off"),changeable:!0},max_arity:{allowed:[new j("unbounded")],value:new j("unbounded"),changeable:!1},unknown:{allowed:[new j("error"),new j("fail"),new j("warning")],value:new j("error"),changeable:!0},double_quotes:{allowed:[new j("chars"),new j("codes"),new j("atom")],value:new j("codes"),changeable:!0},occurs_check:{allowed:[new j("false"),new j("true")],value:new j("false"),changeable:!0},dialect:{allowed:[new j("tau")],value:new j("tau"),changeable:!1},version_data:{allowed:[new j("tau",[new Re(t.major,!1),new Re(t.minor,!1),new Re(t.patch,!1),new j(t.status)])],value:new j("tau",[new Re(t.major,!1),new Re(t.minor,!1),new Re(t.patch,!1),new j(t.status)]),changeable:!1},nodejs:{allowed:[new j("yes"),new j("no")],value:new j(typeof tc<"u"&&tc.exports?"yes":"no"),changeable:!1}},unify:function(w,b,y){y=y===void 0?!1:y;for(var F=[{left:w,right:b}],z={};F.length!==0;){var Z=F.pop();if(w=Z.left,b=Z.right,x.type.is_term(w)&&x.type.is_term(b)){if(w.indicator!==b.indicator)return null;for(var $=0;$z.value?1:0:z}else return F},operate:function(w,b){if(x.type.is_operator(b)){for(var y=x.type.is_operator(b),F=[],z,Z=!1,$=0;$w.get_flag("max_integer").value||z0?w.start+w.matches[0].length:w.start,z=y?new j("token_not_found"):new j("found",[new j(w.value.toString())]),Z=new j(".",[new j("line",[new Re(w.line+1)]),new j(".",[new j("column",[new Re(F+1)]),new j(".",[z,new j("[]",[])])])]);return new j("error",[new j("syntax_error",[new j(b)]),Z])},syntax_by_predicate:function(w,b){return new j("error",[new j("syntax_error",[new j(w)]),X(b)])}},warning:{singleton:function(w,b,y){for(var F=new j("[]"),z=w.length-1;z>=0;z--)F=new j(".",[new De(w[z]),F]);return new j("warning",[new j("singleton_variables",[F,X(b)]),new j(".",[new j("line",[new Re(y,!1)]),new j("[]")])])},failed_goal:function(w,b){return new j("warning",[new j("failed_goal",[w]),new j(".",[new j("line",[new Re(b,!1)]),new j("[]")])])}},format_variable:function(w){return"_"+w},format_answer:function(w,b,F){b instanceof ke&&(b=b.thread);var F=F||{};if(F.session=b?b.session:void 0,x.type.is_error(w))return"uncaught exception: "+w.args[0].toString();if(w===!1)return"false.";if(w===null)return"limit exceeded ;";var z=0,Z="";if(x.type.is_substitution(w)){var $=w.domain(!0);w=w.filter(function(Te,lt){return!x.type.is_variable(lt)||$.indexOf(lt.id)!==-1&&Te!==lt.id})}for(var oe in w.links)w.links.hasOwnProperty(oe)&&(z++,Z!==""&&(Z+=", "),Z+=oe.toString(F)+" = "+w.links[oe].toString(F));var xe=typeof b>"u"||b.points.length>0?" ;":".";return z===0?"true"+xe:Z+xe},flatten_error:function(w){if(!x.type.is_error(w))return null;w=w.args[0];var b={};return b.type=w.args[0].id,b.thrown=b.type==="syntax_error"?null:w.args[1].id,b.expected=null,b.found=null,b.representation=null,b.existence=null,b.existence_type=null,b.line=null,b.column=null,b.permission_operation=null,b.permission_type=null,b.evaluation_type=null,b.type==="type_error"||b.type==="domain_error"?(b.expected=w.args[0].args[0].id,b.found=w.args[0].args[1].toString()):b.type==="syntax_error"?w.args[1].indicator==="./2"?(b.expected=w.args[0].args[0].id,b.found=w.args[1].args[1].args[1].args[0],b.found=b.found.id==="token_not_found"?b.found.id:b.found.args[0].id,b.line=w.args[1].args[0].args[0].value,b.column=w.args[1].args[1].args[0].args[0].value):b.thrown=w.args[1].id:b.type==="permission_error"?(b.found=w.args[0].args[2].toString(),b.permission_operation=w.args[0].args[0].id,b.permission_type=w.args[0].args[1].id):b.type==="evaluation_error"?b.evaluation_type=w.args[0].args[0].id:b.type==="representation_error"?b.representation=w.args[0].args[0].id:b.type==="existence_error"&&(b.existence=w.args[0].args[1].toString(),b.existence_type=w.args[0].args[0].id),b},create:function(w){return new x.type.Session(w)}};typeof tc<"u"?tc.exports=x:window.pl=x})()});function hve(t,e,r){t.prepend(r.map(s=>new gl.default.type.State(e.goal.replace(s),e.substitution,e)))}function y9(t){let e=dve.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function mve(t,e){dve.set(t,e),t.consult(`:- use_module(library(${gDt.id})).`)}var E9,gl,gve,J0,pDt,hDt,dve,gDt,yve=It(()=>{Ve();E9=et(AS()),gl=et(m9()),gve=et(ye("vm")),{is_atom:J0,is_variable:pDt,is_instantiated_list:hDt}=gl.default.type;dve=new WeakMap;gDt=new gl.default.type.Module("constraints",{"project_workspaces_by_descriptor/3":(t,e,r)=>{let[s,a,n]=r.args;if(!J0(s)||!J0(a)){t.throw_error(gl.default.error.instantiation(r.indicator));return}let c=q.parseIdent(s.id),f=q.makeDescriptor(c,a.id),h=y9(t).tryWorkspaceByDescriptor(f);pDt(n)&&h!==null&&hve(t,e,[new gl.default.type.Term("=",[n,new gl.default.type.Term(String(h.relativeCwd))])]),J0(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},"workspace_field/3":(t,e,r)=>{let[s,a,n]=r.args;if(!J0(s)||!J0(a)){t.throw_error(gl.default.error.instantiation(r.indicator));return}let f=y9(t).tryWorkspaceByCwd(s.id);if(f==null)return;let p=(0,E9.default)(f.manifest.raw,a.id);typeof p>"u"||hve(t,e,[new gl.default.type.Term("=",[n,new gl.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},"workspace_field_test/3":(t,e,r)=>{let[s,a,n]=r.args;t.prepend([new gl.default.type.State(e.goal.replace(new gl.default.type.Term("workspace_field_test",[s,a,n,new gl.default.type.Term("[]",[])])),e.substitution,e)])},"workspace_field_test/4":(t,e,r)=>{let[s,a,n,c]=r.args;if(!J0(s)||!J0(a)||!J0(n)||!hDt(c)){t.throw_error(gl.default.error.instantiation(r.indicator));return}let p=y9(t).tryWorkspaceByCwd(s.id);if(p==null)return;let h=(0,E9.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let E={$$:h};for(let[S,P]of c.toJavaScript().entries())E[`$${S}`]=P;gve.default.runInNewContext(n.id,E)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var BS={};Vt(BS,{Constraints:()=>C9,DependencyType:()=>wve});function yo(t){if(t instanceof ZC.default.type.Num)return t.value;if(t instanceof ZC.default.type.Term)switch(t.indicator){case"throw/1":return yo(t.args[0]);case"error/1":return yo(t.args[0]);case"error/2":if(t.args[0]instanceof ZC.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(yo(t.args[0]),...yo(t.args[1]));{let e=yo(t.args[0]);return e.message+=` (in ${yo(t.args[1])})`,e}case"syntax_error/1":return new Yt(43,`Syntax error: ${yo(t.args[0])}`);case"existence_error/2":return new Yt(44,`Existence error: ${yo(t.args[0])} ${yo(t.args[1])} not found`);case"instantiation_error/0":return new Yt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:yo(t.args[0])};case"column/1":return{column:yo(t.args[0])};case"found/1":return{found:yo(t.args[0])};case"./2":return[yo(t.args[0])].concat(yo(t.args[1]));case"//2":return`${yo(t.args[0])}/${yo(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function Ive(t){let e;try{e=yo(t)}catch(r){throw typeof r=="string"?new Yt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function xm(t){return t.id==="null"?null:`${t.toJavaScript()}`}function dDt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function z0(t){return typeof t=="string"?`'${t}'`:"[]"}var Cve,ZC,wve,Eve,I9,C9,vS=It(()=>{Ve();Ve();bt();Cve=et(XBe()),ZC=et(m9());IS();yve();(0,Cve.default)(ZC.default);wve=(s=>(s.Dependencies="dependencies",s.DevDependencies="devDependencies",s.PeerDependencies="peerDependencies",s))(wve||{}),Eve=["dependencies","devDependencies","peerDependencies"];I9=class{constructor(e,r){let s=1e3*e.workspaces.length;this.session=ZC.default.create(s),mve(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw Ive(r);for(;;){let s=await this.fetchNextAnswer();if(s===null)throw new Yt(79,"Resolution limit exceeded");if(!s)break;if(s.id==="throw")throw Ive(s);yield s}}};C9=class t{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");le.existsSync(r)&&(this.source=le.readFileSync(r,"utf8"))}static async find(e){return new t(e)}getProjectDatabase(){let e="";for(let r of Eve)e+=`dependency_type(${r}). +`;for(let r of this.project.workspacesByCwd.values()){let s=r.relativeCwd;e+=`workspace(${z0(s)}). +`,e+=`workspace_ident(${z0(s)}, ${z0(q.stringifyIdent(r.anchoredLocator))}). +`,e+=`workspace_version(${z0(s)}, ${z0(r.manifest.version)}). +`;for(let a of Eve)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${z0(s)}, ${z0(q.stringifyIdent(n))}, ${z0(n.range)}, ${a}). +`}return e+=`workspace(_) :- false. +`,e+=`workspace_ident(_, _) :- false. +`,e+=`workspace_version(_, _) :- false. +`,e+=`workspace_has_dependency(_, _, _, _) :- false. +`,e}getDeclarations(){let e="";return e+=`gen_enforced_dependency(_, _, _, _) :- false. +`,e+=`gen_enforced_field(_, _, _) :- false. +`,e}get fullSource(){return`${this.getProjectDatabase()} +${this.source} +${this.getDeclarations()}`}createSession(){return new I9(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),s=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:c,dependencyType:f}of e){let p=ES([f,q.stringifyIdent(n)]),h=je.getMapWithDefault(s,a.cwd);je.getMapWithDefault(h,p).set(c??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:c}of r){let f=ES(n),p=je.getMapWithDefault(s,a.cwd);je.getMapWithDefault(p,f).set(JSON.parse(c)??void 0,new Set)}return{manifestUpdates:s,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let s of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=K.resolve(this.project.cwd,xm(s.links.WorkspaceCwd)),n=xm(s.links.DependencyIdent),c=xm(s.links.DependencyRange),f=xm(s.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=q.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:c,dependencyType:f})}return je.sortMap(r,[({dependencyRange:s})=>s!==null?"0":"1",({workspace:s})=>q.stringifyIdent(s.anchoredLocator),({dependencyIdent:s})=>q.stringifyIdent(s)])}async genEnforcedFields(e){let r=[];for await(let s of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=K.resolve(this.project.cwd,xm(s.links.WorkspaceCwd)),n=xm(s.links.FieldPath),c=dDt(s.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let f=this.project.getWorkspaceByCwd(a);r.push({workspace:f,fieldPath:n,fieldValue:c})}return je.sortMap(r,[({workspace:s})=>q.stringifyIdent(s.anchoredLocator),({fieldPath:s})=>s])}async*query(e){let r=this.createSession();for await(let s of r.makeQuery(e)){let a={};for(let[n,c]of Object.entries(s.links))n!=="_"&&(a[n]=xm(c));yield a}}}});var Qve=L(gF=>{"use strict";Object.defineProperty(gF,"__esModule",{value:!0});function US(t){let e=[...t.caches],r=e.shift();return r===void 0?kve():{get(s,a,n={miss:()=>Promise.resolve()}){return r.get(s,a,n).catch(()=>US({caches:e}).get(s,a,n))},set(s,a){return r.set(s,a).catch(()=>US({caches:e}).set(s,a))},delete(s){return r.delete(s).catch(()=>US({caches:e}).delete(s))},clear(){return r.clear().catch(()=>US({caches:e}).clear())}}}function kve(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}gF.createFallbackableCache=US;gF.createNullCache=kve});var Rve=L((ihr,Tve)=>{Tve.exports=Qve()});var Fve=L(N9=>{"use strict";Object.defineProperty(N9,"__esModule",{value:!0});function NDt(t={serializable:!0}){let e={};return{get(r,s,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let c=s(),f=a&&a.miss||(()=>Promise.resolve());return c.then(p=>f(p)).then(()=>c)},set(r,s){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(s):s,Promise.resolve(s)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}N9.createInMemoryCache=NDt});var Ove=L((ohr,Nve)=>{Nve.exports=Fve()});var Mve=L(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});function ODt(t,e,r){let s={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===O9.WithinHeaders?s:{}},queryParameters(){return t===O9.WithinQueryParameters?s:{}}}}function LDt(t){let e=0,r=()=>(e++,new Promise(s=>{setTimeout(()=>{s(t(r))},Math.min(100*e,1e3))}));return t(r)}function Lve(t,e=(r,s)=>Promise.resolve()){return Object.assign(t,{wait(r){return Lve(t.then(s=>Promise.all([e(s,r),s])).then(s=>s[1]))}})}function MDt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[r],t[r]=s}return t}function _Dt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function UDt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var HDt="4.22.1",jDt=t=>()=>t.transporter.requester.destroy(),O9={WithinQueryParameters:0,WithinHeaders:1};ef.AuthMode=O9;ef.addMethods=_Dt;ef.createAuth=ODt;ef.createRetryablePromise=LDt;ef.createWaitablePromise=Lve;ef.destroy=jDt;ef.encode=UDt;ef.shuffle=MDt;ef.version=HDt});var HS=L((lhr,_ve)=>{_ve.exports=Mve()});var Uve=L(L9=>{"use strict";Object.defineProperty(L9,"__esModule",{value:!0});var qDt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};L9.MethodEnum=qDt});var jS=L((uhr,Hve)=>{Hve.exports=Uve()});var rSe=L(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});var qve=jS();function M9(t,e){let r=t||{},s=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(s[a]=r[a])}),{data:Object.entries(s).length>0?s:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var qS={Read:1,Write:2,Any:3},aw={Up:1,Down:2,Timeouted:3},Gve=2*60*1e3;function U9(t,e=aw.Up){return{...t,status:e,lastUpdate:Date.now()}}function Wve(t){return t.status===aw.Up||Date.now()-t.lastUpdate>Gve}function Yve(t){return t.status===aw.Timeouted&&Date.now()-t.lastUpdate<=Gve}function H9(t){return typeof t=="string"?{protocol:"https",url:t,accept:qS.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||qS.Any}}function GDt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(U9(r))))).then(r=>{let s=r.filter(f=>Wve(f)),a=r.filter(f=>Yve(f)),n=[...s,...a],c=n.length>0?n.map(f=>H9(f)):e;return{getTimeout(f,p){return(a.length===0&&f===0?1:a.length+3+f)*p},statelessHosts:c}})}var WDt=({isTimedOut:t,status:e})=>!t&&~~e===0,YDt=t=>{let e=t.status;return t.isTimedOut||WDt(t)||~~(e/100)!==2&&~~(e/100)!==4},VDt=({status:t})=>~~(t/100)===2,KDt=(t,e)=>YDt(t)?e.onRetry(t):VDt(t)?e.onSuccess(t):e.onFail(t);function jve(t,e,r,s){let a=[],n=Zve(r,s),c=Xve(t,s),f=r.method,p=r.method!==qve.MethodEnum.Get?{}:{...r.data,...s.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...s.queryParameters},E=0,C=(S,P)=>{let I=S.pop();if(I===void 0)throw tSe(_9(a));let R={data:n,headers:c,method:f,url:Jve(I,r.path,h),connectTimeout:P(E,t.timeouts.connect),responseTimeout:P(E,s.timeout)},N=W=>{let te={request:R,response:W,host:I,triesLeft:S.length};return a.push(te),te},U={onSuccess:W=>Vve(W),onRetry(W){let te=N(W);return W.isTimedOut&&E++,Promise.all([t.logger.info("Retryable failure",j9(te)),t.hostsCache.set(I,U9(I,W.isTimedOut?aw.Timeouted:aw.Down))]).then(()=>C(S,P))},onFail(W){throw N(W),Kve(W,_9(a))}};return t.requester.send(R).then(W=>KDt(W,U))};return GDt(t.hostsCache,e).then(S=>C([...S.statelessHosts].reverse(),S.getTimeout))}function JDt(t){let{hostsCache:e,logger:r,requester:s,requestsCache:a,responsesCache:n,timeouts:c,userAgent:f,hosts:p,queryParameters:h,headers:E}=t,C={hostsCache:e,logger:r,requester:s,requestsCache:a,responsesCache:n,timeouts:c,userAgent:f,headers:E,queryParameters:h,hosts:p.map(S=>H9(S)),read(S,P){let I=M9(P,C.timeouts.read),R=()=>jve(C,C.hosts.filter(W=>(W.accept&qS.Read)!==0),S,I);if((I.cacheable!==void 0?I.cacheable:S.cacheable)!==!0)return R();let U={request:S,mappedRequestOptions:I,transporter:{queryParameters:C.queryParameters,headers:C.headers}};return C.responsesCache.get(U,()=>C.requestsCache.get(U,()=>C.requestsCache.set(U,R()).then(W=>Promise.all([C.requestsCache.delete(U),W]),W=>Promise.all([C.requestsCache.delete(U),Promise.reject(W)])).then(([W,te])=>te)),{miss:W=>C.responsesCache.set(U,W)})},write(S,P){return jve(C,C.hosts.filter(I=>(I.accept&qS.Write)!==0),S,M9(P,C.timeouts.write))}};return C}function zDt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let s=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(s)===-1&&(e.value=`${e.value}${s}`),e}};return e}function Vve(t){try{return JSON.parse(t.content)}catch(e){throw eSe(e.message,t)}}function Kve({content:t,status:e},r){let s=t;try{s=JSON.parse(t).message}catch{}return $ve(s,e,r)}function ZDt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function Jve(t,e,r){let s=zve(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return s.length&&(a+=`?${s}`),a}function zve(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>ZDt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function Zve(t,e){if(t.method===qve.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function Xve(t,e){let r={...t.headers,...e.headers},s={};return Object.keys(r).forEach(a=>{let n=r[a];s[a.toLowerCase()]=n}),s}function _9(t){return t.map(e=>j9(e))}function j9(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function $ve(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function eSe(t,e){return{name:"DeserializationError",message:t,response:e}}function tSe(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}Yi.CallEnum=qS;Yi.HostStatusEnum=aw;Yi.createApiError=$ve;Yi.createDeserializationError=eSe;Yi.createMappedRequestOptions=M9;Yi.createRetryError=tSe;Yi.createStatefulHost=U9;Yi.createStatelessHost=H9;Yi.createTransporter=JDt;Yi.createUserAgent=zDt;Yi.deserializeFailure=Kve;Yi.deserializeSuccess=Vve;Yi.isStatefulHostTimeouted=Yve;Yi.isStatefulHostUp=Wve;Yi.serializeData=Zve;Yi.serializeHeaders=Xve;Yi.serializeQueryParameters=zve;Yi.serializeUrl=Jve;Yi.stackFrameWithoutCredentials=j9;Yi.stackTraceWithoutCredentials=_9});var GS=L((Ahr,nSe)=>{nSe.exports=rSe()});var iSe=L(X0=>{"use strict";Object.defineProperty(X0,"__esModule",{value:!0});var lw=HS(),XDt=GS(),WS=jS(),$Dt=t=>{let e=t.region||"us",r=lw.createAuth(lw.AuthMode.WithinHeaders,t.appId,t.apiKey),s=XDt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return lw.addMethods({appId:a,transporter:s},t.methods)},ebt=t=>(e,r)=>t.transporter.write({method:WS.MethodEnum.Post,path:"2/abtests",data:e},r),tbt=t=>(e,r)=>t.transporter.write({method:WS.MethodEnum.Delete,path:lw.encode("2/abtests/%s",e)},r),rbt=t=>(e,r)=>t.transporter.read({method:WS.MethodEnum.Get,path:lw.encode("2/abtests/%s",e)},r),nbt=t=>e=>t.transporter.read({method:WS.MethodEnum.Get,path:"2/abtests"},e),ibt=t=>(e,r)=>t.transporter.write({method:WS.MethodEnum.Post,path:lw.encode("2/abtests/%s/stop",e)},r);X0.addABTest=ebt;X0.createAnalyticsClient=$Dt;X0.deleteABTest=tbt;X0.getABTest=rbt;X0.getABTests=nbt;X0.stopABTest=ibt});var oSe=L((hhr,sSe)=>{sSe.exports=iSe()});var lSe=L(YS=>{"use strict";Object.defineProperty(YS,"__esModule",{value:!0});var q9=HS(),sbt=GS(),aSe=jS(),obt=t=>{let e=t.region||"us",r=q9.createAuth(q9.AuthMode.WithinHeaders,t.appId,t.apiKey),s=sbt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return q9.addMethods({appId:t.appId,transporter:s},t.methods)},abt=t=>e=>t.transporter.read({method:aSe.MethodEnum.Get,path:"1/strategies/personalization"},e),lbt=t=>(e,r)=>t.transporter.write({method:aSe.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);YS.createPersonalizationClient=obt;YS.getPersonalizationStrategy=abt;YS.setPersonalizationStrategy=lbt});var uSe=L((dhr,cSe)=>{cSe.exports=lSe()});var vSe=L(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Kt=HS(),dl=GS(),br=jS(),cbt=ye("crypto");function dF(t){let e=r=>t.request(r).then(s=>{if(t.batch!==void 0&&t.batch(s.hits),!t.shouldStop(s))return s.cursor?e({cursor:s.cursor}):e({page:(r.page||0)+1})});return e({})}var ubt=t=>{let e=t.appId,r=Kt.createAuth(t.authMode!==void 0?t.authMode:Kt.AuthMode.WithinHeaders,e,t.apiKey),s=dl.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:dl.CallEnum.Read},{url:`${e}.algolia.net`,accept:dl.CallEnum.Write}].concat(Kt.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:s,appId:e,addAlgoliaAgent(n,c){s.userAgent.add({segment:n,version:c})},clearCache(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then(()=>{})}};return Kt.addMethods(a,t.methods)};function fSe(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function ASe(){return{name:"ObjectNotFoundError",message:"Object not found."}}function pSe(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var fbt=t=>(e,r)=>{let{queryParameters:s,...a}=r||{},n={acl:e,...s!==void 0?{queryParameters:s}:{}},c=(f,p)=>Kt.createRetryablePromise(h=>VS(t)(f.key,p).catch(E=>{if(E.status!==404)throw E;return h()}));return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:"1/keys",data:n},a),c)},Abt=t=>(e,r,s)=>{let a=dl.createMappedRequestOptions(s);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:br.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},pbt=t=>(e,r,s)=>t.transporter.write({method:br.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},s),hbt=t=>(e,r)=>Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(s,a)=>cw(t)(s.taskID,a)),mF=t=>(e,r,s)=>{let a=(n,c)=>KS(t)(e,{methods:{waitTask:gs}}).waitTask(n.taskID,c);return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},s),a)},gbt=t=>(e,r,s)=>mF(t)(e,r,{...s,scope:[EF.Rules]}),dbt=t=>(e,r,s)=>mF(t)(e,r,{...s,scope:[EF.Settings]}),mbt=t=>(e,r,s)=>mF(t)(e,r,{...s,scope:[EF.Synonyms]}),ybt=t=>(e,r)=>e.method===br.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),Ebt=t=>(e,r)=>{let s=(a,n)=>Kt.createRetryablePromise(c=>VS(t)(e,n).then(c).catch(f=>{if(f.status!==404)throw f}));return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Delete,path:Kt.encode("1/keys/%s",e)},r),s)},Ibt=t=>(e,r,s)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},s),(n,c)=>cw(t)(n.taskID,c))},Cbt=()=>(t,e)=>{let r=dl.serializeQueryParameters(e),s=cbt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(s+r).toString("base64")},VS=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Get,path:Kt.encode("1/keys/%s",e)},r),hSe=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Get,path:Kt.encode("1/task/%s",e.toString())},r),wbt=t=>e=>t.transporter.read({method:br.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),Bbt=t=>e=>t.transporter.read({method:br.MethodEnum.Get,path:"1/logs"},e),vbt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,s=e.match(r);if(s===null)throw pSe();return parseInt(s[1],10)-Math.round(new Date().getTime()/1e3)},Sbt=t=>e=>t.transporter.read({method:br.MethodEnum.Get,path:"1/clusters/mapping/top"},e),Dbt=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Get,path:Kt.encode("1/clusters/mapping/%s",e)},r),bbt=t=>e=>{let{retrieveMappings:r,...s}=e||{};return r===!0&&(s.getClusters=!0),t.transporter.read({method:br.MethodEnum.Get,path:"1/clusters/mapping/pending"},s)},KS=t=>(e,r={})=>{let s={transporter:t.transporter,appId:t.appId,indexName:e};return Kt.addMethods(s,r.methods)},Pbt=t=>e=>t.transporter.read({method:br.MethodEnum.Get,path:"1/keys"},e),xbt=t=>e=>t.transporter.read({method:br.MethodEnum.Get,path:"1/clusters"},e),kbt=t=>e=>t.transporter.read({method:br.MethodEnum.Get,path:"1/indexes"},e),Qbt=t=>e=>t.transporter.read({method:br.MethodEnum.Get,path:"1/clusters/mapping"},e),Tbt=t=>(e,r,s)=>{let a=(n,c)=>KS(t)(e,{methods:{waitTask:gs}}).waitTask(n.taskID,c);return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},s),a)},Rbt=t=>(e,r)=>{let s=(a,n)=>Promise.all(Object.keys(a.taskID).map(c=>KS(t)(c,{methods:{waitTask:gs}}).waitTask(a.taskID[c],n)));return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),s)},Fbt=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),Nbt=t=>(e,r)=>{let s=e.map(a=>({...a,params:dl.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:br.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:s},cacheable:!0},r)},Obt=t=>(e,r)=>Promise.all(e.map(s=>{let{facetName:a,facetQuery:n,...c}=s.params;return KS(t)(s.indexName,{methods:{searchForFacetValues:CSe}}).searchForFacetValues(a,n,{...r,...c})})),Lbt=t=>(e,r)=>{let s=dl.createMappedRequestOptions(r);return s.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:br.MethodEnum.Delete,path:"1/clusters/mapping"},s)},Mbt=t=>(e,r,s)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},s),(n,c)=>cw(t)(n.taskID,c))},_bt=t=>(e,r)=>{let s=(a,n)=>Kt.createRetryablePromise(c=>VS(t)(e,n).catch(f=>{if(f.status!==404)throw f;return c()}));return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/keys/%s/restore",e)},r),s)},Ubt=t=>(e,r,s)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},s),(n,c)=>cw(t)(n.taskID,c))},Hbt=t=>(e,r,s)=>t.transporter.read({method:br.MethodEnum.Post,path:Kt.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},s),jbt=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),qbt=t=>(e,r)=>Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(s,a)=>cw(t)(s.taskID,a)),Gbt=t=>(e,r)=>{let s=Object.assign({},r),{queryParameters:a,...n}=r||{},c=a?{queryParameters:a}:{},f=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=E=>Object.keys(s).filter(C=>f.indexOf(C)!==-1).every(C=>{if(Array.isArray(E[C])&&Array.isArray(s[C])){let S=E[C];return S.length===s[C].length&&S.every((P,I)=>P===s[C][I])}else return E[C]===s[C]}),h=(E,C)=>Kt.createRetryablePromise(S=>VS(t)(e,C).then(P=>p(P)?Promise.resolve():S()));return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Put,path:Kt.encode("1/keys/%s",e),data:c},n),h)},cw=t=>(e,r)=>Kt.createRetryablePromise(s=>hSe(t)(e,r).then(a=>a.status!=="published"?s():void 0)),gSe=t=>(e,r)=>{let s=(a,n)=>gs(t)(a.taskID,n);return Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),s)},Wbt=t=>e=>dF({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),Ybt=t=>e=>{let r={hitsPerPage:1e3,...e};return dF({shouldStop:s=>s.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Vbt=t=>e=>{let r={hitsPerPage:1e3,...e};return dF({shouldStop:s=>s.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},yF=t=>(e,r,s)=>{let{batchSize:a,...n}=s||{},c={taskIDs:[],objectIDs:[]},f=(p=0)=>{let h=[],E;for(E=p;E({action:r,body:C})),n).then(C=>(c.objectIDs=c.objectIDs.concat(C.objectIDs),c.taskIDs.push(C.taskID),E++,f(E)))};return Kt.createWaitablePromise(f(),(p,h)=>Promise.all(p.taskIDs.map(E=>gs(t)(E,h))))},Kbt=t=>e=>Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/clear",t.indexName)},e),(r,s)=>gs(t)(r.taskID,s)),Jbt=t=>e=>{let{forwardToReplicas:r,...s}=e||{},a=dl.createMappedRequestOptions(s);return r&&(a.queryParameters.forwardToReplicas=1),Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,c)=>gs(t)(n.taskID,c))},zbt=t=>e=>{let{forwardToReplicas:r,...s}=e||{},a=dl.createMappedRequestOptions(s);return r&&(a.queryParameters.forwardToReplicas=1),Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,c)=>gs(t)(n.taskID,c))},Zbt=t=>(e,r)=>Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(s,a)=>gs(t)(s.taskID,a)),Xbt=t=>e=>Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Delete,path:Kt.encode("1/indexes/%s",t.indexName)},e),(r,s)=>gs(t)(r.taskID,s)),$bt=t=>(e,r)=>Kt.createWaitablePromise(dSe(t)([e],r).then(s=>({taskID:s.taskIDs[0]})),(s,a)=>gs(t)(s.taskID,a)),dSe=t=>(e,r)=>{let s=e.map(a=>({objectID:a}));return yF(t)(s,Qm.DeleteObject,r)},ePt=t=>(e,r)=>{let{forwardToReplicas:s,...a}=r||{},n=dl.createMappedRequestOptions(a);return s&&(n.queryParameters.forwardToReplicas=1),Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Delete,path:Kt.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(c,f)=>gs(t)(c.taskID,f))},tPt=t=>(e,r)=>{let{forwardToReplicas:s,...a}=r||{},n=dl.createMappedRequestOptions(a);return s&&(n.queryParameters.forwardToReplicas=1),Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Delete,path:Kt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(c,f)=>gs(t)(c.taskID,f))},rPt=t=>e=>mSe(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),nPt=t=>(e,r,s)=>t.transporter.read({method:br.MethodEnum.Post,path:Kt.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},s),iPt=t=>(e,r)=>{let{query:s,paginate:a,...n}=r||{},c=0,f=()=>ISe(t)(s||"",{...n,page:c}).then(p=>{for(let[h,E]of Object.entries(p.hits))if(e(E))return{object:E,position:parseInt(h,10),page:c};if(c++,a===!1||c>=p.nbPages)throw ASe();return f()});return f()},sPt=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Get,path:Kt.encode("1/indexes/%s/%s",t.indexName,e)},r),oPt=()=>(t,e)=>{for(let[r,s]of Object.entries(t.hits))if(s.objectID===e)return parseInt(r,10);return-1},aPt=t=>(e,r)=>{let{attributesToRetrieve:s,...a}=r||{},n=e.map(c=>({indexName:t.indexName,objectID:c,...s?{attributesToRetrieve:s}:{}}));return t.transporter.read({method:br.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},lPt=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Get,path:Kt.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),mSe=t=>e=>t.transporter.read({method:br.MethodEnum.Get,path:Kt.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),cPt=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Get,path:Kt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),ySe=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Get,path:Kt.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),uPt=t=>(e,r)=>Kt.createWaitablePromise(ESe(t)([e],r).then(s=>({objectID:s.objectIDs[0],taskID:s.taskIDs[0]})),(s,a)=>gs(t)(s.taskID,a)),ESe=t=>(e,r)=>{let{createIfNotExists:s,...a}=r||{},n=s?Qm.PartialUpdateObject:Qm.PartialUpdateObjectNoCreate;return yF(t)(e,n,a)},fPt=t=>(e,r)=>{let{safe:s,autoGenerateObjectIDIfNotExist:a,batchSize:n,...c}=r||{},f=(I,R,N,U)=>Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/operation",I),data:{operation:N,destination:R}},U),(W,te)=>gs(t)(W.taskID,te)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,E=G9({appId:t.appId,transporter:t.transporter,indexName:h}),C=[],S=f(t.indexName,h,"copy",{...c,scope:["settings","synonyms","rules"]});C.push(S);let P=(s?S.wait(c):S).then(()=>{let I=E(e,{...c,autoGenerateObjectIDIfNotExist:a,batchSize:n});return C.push(I),s?I.wait(c):I}).then(()=>{let I=f(h,t.indexName,"move",c);return C.push(I),s?I.wait(c):I}).then(()=>Promise.all(C)).then(([I,R,N])=>({objectIDs:R.objectIDs,taskIDs:[I.taskID,...R.taskIDs,N.taskID]}));return Kt.createWaitablePromise(P,(I,R)=>Promise.all(C.map(N=>N.wait(R))))},APt=t=>(e,r)=>W9(t)(e,{...r,clearExistingRules:!0}),pPt=t=>(e,r)=>Y9(t)(e,{...r,clearExistingSynonyms:!0}),hPt=t=>(e,r)=>Kt.createWaitablePromise(G9(t)([e],r).then(s=>({objectID:s.objectIDs[0],taskID:s.taskIDs[0]})),(s,a)=>gs(t)(s.taskID,a)),G9=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:s,...a}=r||{},n=s?Qm.AddObject:Qm.UpdateObject;if(n===Qm.UpdateObject){for(let c of e)if(c.objectID===void 0)return Kt.createWaitablePromise(Promise.reject(fSe()))}return yF(t)(e,n,a)},gPt=t=>(e,r)=>W9(t)([e],r),W9=t=>(e,r)=>{let{forwardToReplicas:s,clearExistingRules:a,...n}=r||{},c=dl.createMappedRequestOptions(n);return s&&(c.queryParameters.forwardToReplicas=1),a&&(c.queryParameters.clearExistingRules=1),Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/rules/batch",t.indexName),data:e},c),(f,p)=>gs(t)(f.taskID,p))},dPt=t=>(e,r)=>Y9(t)([e],r),Y9=t=>(e,r)=>{let{forwardToReplicas:s,clearExistingSynonyms:a,replaceExistingSynonyms:n,...c}=r||{},f=dl.createMappedRequestOptions(c);return s&&(f.queryParameters.forwardToReplicas=1),(n||a)&&(f.queryParameters.replaceExistingSynonyms=1),Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},f),(p,h)=>gs(t)(p.taskID,h))},ISe=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),CSe=t=>(e,r,s)=>t.transporter.read({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},s),wSe=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),BSe=t=>(e,r)=>t.transporter.read({method:br.MethodEnum.Post,path:Kt.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),mPt=t=>(e,r)=>{let{forwardToReplicas:s,...a}=r||{},n=dl.createMappedRequestOptions(a);return s&&(n.queryParameters.forwardToReplicas=1),Kt.createWaitablePromise(t.transporter.write({method:br.MethodEnum.Put,path:Kt.encode("1/indexes/%s/settings",t.indexName),data:e},n),(c,f)=>gs(t)(c.taskID,f))},gs=t=>(e,r)=>Kt.createRetryablePromise(s=>ySe(t)(e,r).then(a=>a.status!=="published"?s():void 0)),yPt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",Inference:"inference",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},Qm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},EF={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},EPt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},IPt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Ft.ApiKeyACLEnum=yPt;Ft.BatchActionEnum=Qm;Ft.ScopeEnum=EF;Ft.StrategyEnum=EPt;Ft.SynonymEnum=IPt;Ft.addApiKey=fbt;Ft.assignUserID=Abt;Ft.assignUserIDs=pbt;Ft.batch=gSe;Ft.browseObjects=Wbt;Ft.browseRules=Ybt;Ft.browseSynonyms=Vbt;Ft.chunkedBatch=yF;Ft.clearDictionaryEntries=hbt;Ft.clearObjects=Kbt;Ft.clearRules=Jbt;Ft.clearSynonyms=zbt;Ft.copyIndex=mF;Ft.copyRules=gbt;Ft.copySettings=dbt;Ft.copySynonyms=mbt;Ft.createBrowsablePromise=dF;Ft.createMissingObjectIDError=fSe;Ft.createObjectNotFoundError=ASe;Ft.createSearchClient=ubt;Ft.createValidUntilNotFoundError=pSe;Ft.customRequest=ybt;Ft.deleteApiKey=Ebt;Ft.deleteBy=Zbt;Ft.deleteDictionaryEntries=Ibt;Ft.deleteIndex=Xbt;Ft.deleteObject=$bt;Ft.deleteObjects=dSe;Ft.deleteRule=ePt;Ft.deleteSynonym=tPt;Ft.exists=rPt;Ft.findAnswers=nPt;Ft.findObject=iPt;Ft.generateSecuredApiKey=Cbt;Ft.getApiKey=VS;Ft.getAppTask=hSe;Ft.getDictionarySettings=wbt;Ft.getLogs=Bbt;Ft.getObject=sPt;Ft.getObjectPosition=oPt;Ft.getObjects=aPt;Ft.getRule=lPt;Ft.getSecuredApiKeyRemainingValidity=vbt;Ft.getSettings=mSe;Ft.getSynonym=cPt;Ft.getTask=ySe;Ft.getTopUserIDs=Sbt;Ft.getUserID=Dbt;Ft.hasPendingMappings=bbt;Ft.initIndex=KS;Ft.listApiKeys=Pbt;Ft.listClusters=xbt;Ft.listIndices=kbt;Ft.listUserIDs=Qbt;Ft.moveIndex=Tbt;Ft.multipleBatch=Rbt;Ft.multipleGetObjects=Fbt;Ft.multipleQueries=Nbt;Ft.multipleSearchForFacetValues=Obt;Ft.partialUpdateObject=uPt;Ft.partialUpdateObjects=ESe;Ft.removeUserID=Lbt;Ft.replaceAllObjects=fPt;Ft.replaceAllRules=APt;Ft.replaceAllSynonyms=pPt;Ft.replaceDictionaryEntries=Mbt;Ft.restoreApiKey=_bt;Ft.saveDictionaryEntries=Ubt;Ft.saveObject=hPt;Ft.saveObjects=G9;Ft.saveRule=gPt;Ft.saveRules=W9;Ft.saveSynonym=dPt;Ft.saveSynonyms=Y9;Ft.search=ISe;Ft.searchDictionaryEntries=Hbt;Ft.searchForFacetValues=CSe;Ft.searchRules=wSe;Ft.searchSynonyms=BSe;Ft.searchUserIDs=jbt;Ft.setDictionarySettings=qbt;Ft.setSettings=mPt;Ft.updateApiKey=Gbt;Ft.waitAppTask=cw;Ft.waitTask=gs});var DSe=L((yhr,SSe)=>{SSe.exports=vSe()});var bSe=L(IF=>{"use strict";Object.defineProperty(IF,"__esModule",{value:!0});function CPt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var wPt={Debug:1,Info:2,Error:3};IF.LogLevelEnum=wPt;IF.createNullLogger=CPt});var xSe=L((Ihr,PSe)=>{PSe.exports=bSe()});var RSe=L(V9=>{"use strict";Object.defineProperty(V9,"__esModule",{value:!0});var kSe=ye("http"),QSe=ye("https"),BPt=ye("url"),TSe={keepAlive:!0},vPt=new kSe.Agent(TSe),SPt=new QSe.Agent(TSe);function DPt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:s={}}={}){let a=e||t||vPt,n=r||t||SPt;return{send(c){return new Promise(f=>{let p=BPt.parse(c.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,E={...s,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:c.method,headers:{...s&&s.headers?s.headers:{},...c.headers},...p.port!==void 0?{port:p.port||""}:{}},C=(p.protocol==="https:"?QSe:kSe).request(E,R=>{let N=[];R.on("data",U=>{N=N.concat(U)}),R.on("end",()=>{clearTimeout(P),clearTimeout(I),f({status:R.statusCode||0,content:Buffer.concat(N).toString(),isTimedOut:!1})})}),S=(R,N)=>setTimeout(()=>{C.abort(),f({status:0,content:N,isTimedOut:!0})},R*1e3),P=S(c.connectTimeout,"Connection timeout"),I;C.on("error",R=>{clearTimeout(P),clearTimeout(I),f({status:0,content:R.message,isTimedOut:!1})}),C.once("response",()=>{clearTimeout(P),I=S(c.responseTimeout,"Socket timeout")}),c.data!==void 0&&C.write(c.data),C.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}V9.createNodeHttpRequester=DPt});var NSe=L((whr,FSe)=>{FSe.exports=RSe()});var _Se=L((Bhr,MSe)=>{"use strict";var OSe=Rve(),bPt=Ove(),uw=oSe(),J9=HS(),K9=uSe(),jt=DSe(),PPt=xSe(),xPt=NSe(),kPt=GS();function LSe(t,e,r){let s={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:xPt.createNodeHttpRequester(),logger:PPt.createNullLogger(),responsesCache:OSe.createNullCache(),requestsCache:OSe.createNullCache(),hostsCache:bPt.createInMemoryCache(),userAgent:kPt.createUserAgent(J9.version).add({segment:"Node.js",version:process.versions.node})},a={...s,...r},n=()=>c=>K9.createPersonalizationClient({...s,...c,methods:{getPersonalizationStrategy:K9.getPersonalizationStrategy,setPersonalizationStrategy:K9.setPersonalizationStrategy}});return jt.createSearchClient({...a,methods:{search:jt.multipleQueries,searchForFacetValues:jt.multipleSearchForFacetValues,multipleBatch:jt.multipleBatch,multipleGetObjects:jt.multipleGetObjects,multipleQueries:jt.multipleQueries,copyIndex:jt.copyIndex,copySettings:jt.copySettings,copyRules:jt.copyRules,copySynonyms:jt.copySynonyms,moveIndex:jt.moveIndex,listIndices:jt.listIndices,getLogs:jt.getLogs,listClusters:jt.listClusters,multipleSearchForFacetValues:jt.multipleSearchForFacetValues,getApiKey:jt.getApiKey,addApiKey:jt.addApiKey,listApiKeys:jt.listApiKeys,updateApiKey:jt.updateApiKey,deleteApiKey:jt.deleteApiKey,restoreApiKey:jt.restoreApiKey,assignUserID:jt.assignUserID,assignUserIDs:jt.assignUserIDs,getUserID:jt.getUserID,searchUserIDs:jt.searchUserIDs,listUserIDs:jt.listUserIDs,getTopUserIDs:jt.getTopUserIDs,removeUserID:jt.removeUserID,hasPendingMappings:jt.hasPendingMappings,generateSecuredApiKey:jt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:jt.getSecuredApiKeyRemainingValidity,destroy:J9.destroy,clearDictionaryEntries:jt.clearDictionaryEntries,deleteDictionaryEntries:jt.deleteDictionaryEntries,getDictionarySettings:jt.getDictionarySettings,getAppTask:jt.getAppTask,replaceDictionaryEntries:jt.replaceDictionaryEntries,saveDictionaryEntries:jt.saveDictionaryEntries,searchDictionaryEntries:jt.searchDictionaryEntries,setDictionarySettings:jt.setDictionarySettings,waitAppTask:jt.waitAppTask,customRequest:jt.customRequest,initIndex:c=>f=>jt.initIndex(c)(f,{methods:{batch:jt.batch,delete:jt.deleteIndex,findAnswers:jt.findAnswers,getObject:jt.getObject,getObjects:jt.getObjects,saveObject:jt.saveObject,saveObjects:jt.saveObjects,search:jt.search,searchForFacetValues:jt.searchForFacetValues,waitTask:jt.waitTask,setSettings:jt.setSettings,getSettings:jt.getSettings,partialUpdateObject:jt.partialUpdateObject,partialUpdateObjects:jt.partialUpdateObjects,deleteObject:jt.deleteObject,deleteObjects:jt.deleteObjects,deleteBy:jt.deleteBy,clearObjects:jt.clearObjects,browseObjects:jt.browseObjects,getObjectPosition:jt.getObjectPosition,findObject:jt.findObject,exists:jt.exists,saveSynonym:jt.saveSynonym,saveSynonyms:jt.saveSynonyms,getSynonym:jt.getSynonym,searchSynonyms:jt.searchSynonyms,browseSynonyms:jt.browseSynonyms,deleteSynonym:jt.deleteSynonym,clearSynonyms:jt.clearSynonyms,replaceAllObjects:jt.replaceAllObjects,replaceAllSynonyms:jt.replaceAllSynonyms,searchRules:jt.searchRules,getRule:jt.getRule,deleteRule:jt.deleteRule,saveRule:jt.saveRule,saveRules:jt.saveRules,replaceAllRules:jt.replaceAllRules,browseRules:jt.browseRules,clearRules:jt.clearRules}}),initAnalytics:()=>c=>uw.createAnalyticsClient({...s,...c,methods:{addABTest:uw.addABTest,getABTest:uw.getABTest,getABTests:uw.getABTests,stopABTest:uw.stopABTest,deleteABTest:uw.deleteABTest}}),initPersonalization:n,initRecommendation:()=>c=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(c))}})}LSe.version=J9.version;MSe.exports=LSe});var Z9=L((vhr,z9)=>{var USe=_Se();z9.exports=USe;z9.exports.default=USe});var eW=L((Dhr,qSe)=>{"use strict";var jSe=Object.getOwnPropertySymbols,TPt=Object.prototype.hasOwnProperty,RPt=Object.prototype.propertyIsEnumerable;function FPt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function NPt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var s=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(s.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}qSe.exports=NPt()?Object.assign:function(t,e){for(var r,s=FPt(t),a,n=1;n{"use strict";var rW=eW(),fw=60103,YSe=60106;Dn.Fragment=60107;Dn.StrictMode=60108;Dn.Profiler=60114;var VSe=60109,KSe=60110,JSe=60112;Dn.Suspense=60113;var zSe=60115,ZSe=60116;typeof Symbol=="function"&&Symbol.for&&(Wc=Symbol.for,fw=Wc("react.element"),YSe=Wc("react.portal"),Dn.Fragment=Wc("react.fragment"),Dn.StrictMode=Wc("react.strict_mode"),Dn.Profiler=Wc("react.profiler"),VSe=Wc("react.provider"),KSe=Wc("react.context"),JSe=Wc("react.forward_ref"),Dn.Suspense=Wc("react.suspense"),zSe=Wc("react.memo"),ZSe=Wc("react.lazy"));var Wc,GSe=typeof Symbol=="function"&&Symbol.iterator;function OPt(t){return t===null||typeof t!="object"?null:(t=GSe&&t[GSe]||t["@@iterator"],typeof t=="function"?t:null)}function JS(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r{"use strict";oDe.exports=sDe()});var lW=L((xhr,aW)=>{"use strict";var Cn=aW.exports;aW.exports.default=Cn;var Zn="\x1B[",zS="\x1B]",pw="\x07",BF=";",aDe=process.env.TERM_PROGRAM==="Apple_Terminal";Cn.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?Zn+(t+1)+"G":Zn+(e+1)+";"+(t+1)+"H"};Cn.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=Zn+-t+"D":t>0&&(r+=Zn+t+"C"),e<0?r+=Zn+-e+"A":e>0&&(r+=Zn+e+"B"),r};Cn.cursorUp=(t=1)=>Zn+t+"A";Cn.cursorDown=(t=1)=>Zn+t+"B";Cn.cursorForward=(t=1)=>Zn+t+"C";Cn.cursorBackward=(t=1)=>Zn+t+"D";Cn.cursorLeft=Zn+"G";Cn.cursorSavePosition=aDe?"\x1B7":Zn+"s";Cn.cursorRestorePosition=aDe?"\x1B8":Zn+"u";Cn.cursorGetPosition=Zn+"6n";Cn.cursorNextLine=Zn+"E";Cn.cursorPrevLine=Zn+"F";Cn.cursorHide=Zn+"?25l";Cn.cursorShow=Zn+"?25h";Cn.eraseLines=t=>{let e="";for(let r=0;r[zS,"8",BF,BF,e,pw,t,zS,"8",BF,BF,pw].join("");Cn.image=(t,e={})=>{let r=`${zS}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+pw};Cn.iTerm={setCwd:(t=process.cwd())=>`${zS}50;CurrentDir=${t}${pw}`,annotation:(t,e={})=>{let r=`${zS}1337;`,s=typeof e.x<"u",a=typeof e.y<"u";if((s||a)&&!(s&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(s?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+pw}}});var cDe=L((khr,cW)=>{"use strict";var lDe=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};cW.exports=lDe;cW.exports.default=lDe});var fDe=L((Qhr,SF)=>{"use strict";var HPt=cDe(),vF=new WeakMap,uDe=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,s=0,a=t.displayName||t.name||"",n=function(...c){if(vF.set(n,++s),s===1)r=t.apply(this,c),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return HPt(n,t),vF.set(n,s),n};SF.exports=uDe;SF.exports.default=uDe;SF.exports.callCount=t=>{if(!vF.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return vF.get(t)}});var ADe=L((Thr,DF)=>{DF.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&DF.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&DF.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var AW=L((Rhr,dw)=>{var Qi=global.process,Tm=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};Tm(Qi)?(pDe=ye("assert"),hw=ADe(),hDe=/^win/i.test(Qi.platform),ZS=ye("events"),typeof ZS!="function"&&(ZS=ZS.EventEmitter),Qi.__signal_exit_emitter__?Js=Qi.__signal_exit_emitter__:(Js=Qi.__signal_exit_emitter__=new ZS,Js.count=0,Js.emitted={}),Js.infinite||(Js.setMaxListeners(1/0),Js.infinite=!0),dw.exports=function(t,e){if(!Tm(global.process))return function(){};pDe.equal(typeof t,"function","a callback must be provided for exit handler"),gw===!1&&uW();var r="exit";e&&e.alwaysLast&&(r="afterexit");var s=function(){Js.removeListener(r,t),Js.listeners("exit").length===0&&Js.listeners("afterexit").length===0&&bF()};return Js.on(r,t),s},bF=function(){!gw||!Tm(global.process)||(gw=!1,hw.forEach(function(e){try{Qi.removeListener(e,PF[e])}catch{}}),Qi.emit=xF,Qi.reallyExit=fW,Js.count-=1)},dw.exports.unload=bF,Rm=function(e,r,s){Js.emitted[e]||(Js.emitted[e]=!0,Js.emit(e,r,s))},PF={},hw.forEach(function(t){PF[t]=function(){if(Tm(global.process)){var r=Qi.listeners(t);r.length===Js.count&&(bF(),Rm("exit",null,t),Rm("afterexit",null,t),hDe&&t==="SIGHUP"&&(t="SIGINT"),Qi.kill(Qi.pid,t))}}}),dw.exports.signals=function(){return hw},gw=!1,uW=function(){gw||!Tm(global.process)||(gw=!0,Js.count+=1,hw=hw.filter(function(e){try{return Qi.on(e,PF[e]),!0}catch{return!1}}),Qi.emit=dDe,Qi.reallyExit=gDe)},dw.exports.load=uW,fW=Qi.reallyExit,gDe=function(e){Tm(global.process)&&(Qi.exitCode=e||0,Rm("exit",Qi.exitCode,null),Rm("afterexit",Qi.exitCode,null),fW.call(Qi,Qi.exitCode))},xF=Qi.emit,dDe=function(e,r){if(e==="exit"&&Tm(global.process)){r!==void 0&&(Qi.exitCode=r);var s=xF.apply(this,arguments);return Rm("exit",Qi.exitCode,null),Rm("afterexit",Qi.exitCode,null),s}else return xF.apply(this,arguments)}):dw.exports=function(){return function(){}};var pDe,hw,hDe,ZS,Js,bF,Rm,PF,gw,uW,fW,gDe,xF,dDe});var yDe=L((Fhr,mDe)=>{"use strict";var jPt=fDe(),qPt=AW();mDe.exports=jPt(()=>{qPt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var pW=L(mw=>{"use strict";var GPt=yDe(),kF=!1;mw.show=(t=process.stderr)=>{t.isTTY&&(kF=!1,t.write("\x1B[?25h"))};mw.hide=(t=process.stderr)=>{t.isTTY&&(GPt(),kF=!0,t.write("\x1B[?25l"))};mw.toggle=(t,e)=>{t!==void 0&&(kF=t),kF?mw.show(e):mw.hide(e)}});var wDe=L(XS=>{"use strict";var CDe=XS&&XS.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(XS,"__esModule",{value:!0});var EDe=CDe(lW()),IDe=CDe(pW()),WPt=(t,{showCursor:e=!1}={})=>{let r=0,s="",a=!1,n=c=>{!e&&!a&&(IDe.default.hide(),a=!0);let f=c+` +`;f!==s&&(s=f,t.write(EDe.default.eraseLines(r)+f),r=f.split(` +`).length)};return n.clear=()=>{t.write(EDe.default.eraseLines(r)),s="",r=0},n.done=()=>{s="",r=0,e||(IDe.default.show(),a=!1)},n};XS.default={create:WPt}});var BDe=L((Lhr,YPt)=>{YPt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var DDe=L(rc=>{"use strict";var SDe=BDe(),AA=process.env;Object.defineProperty(rc,"_vendors",{value:SDe.map(function(t){return t.constant})});rc.name=null;rc.isPR=null;SDe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(s){return vDe(s)});if(rc[t.constant]=r,r)switch(rc.name=t.name,typeof t.pr){case"string":rc.isPR=!!AA[t.pr];break;case"object":"env"in t.pr?rc.isPR=t.pr.env in AA&&AA[t.pr.env]!==t.pr.ne:"any"in t.pr?rc.isPR=t.pr.any.some(function(s){return!!AA[s]}):rc.isPR=vDe(t.pr);break;default:rc.isPR=null}});rc.isCI=!!(AA.CI||AA.CONTINUOUS_INTEGRATION||AA.BUILD_NUMBER||AA.RUN_ID||rc.name);function vDe(t){return typeof t=="string"?!!AA[t]:Object.keys(t).every(function(e){return AA[e]===t[e]})}});var PDe=L((_hr,bDe)=>{"use strict";bDe.exports=DDe().isCI});var kDe=L((Uhr,xDe)=>{"use strict";var VPt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};xDe.exports=(t,{include:e,exclude:r}={})=>{let s=a=>{let n=c=>typeof c=="string"?a===c:c.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of VPt(t.constructor.prototype)){if(n==="constructor"||!s(n))continue;let c=Reflect.getOwnPropertyDescriptor(a,n);c&&typeof c.value=="function"&&(t[n]=t[n].bind(t))}return t}});var ODe=L(Vn=>{"use strict";var Ew,tD,FF,IW;typeof performance=="object"&&typeof performance.now=="function"?(QDe=performance,Vn.unstable_now=function(){return QDe.now()}):(hW=Date,TDe=hW.now(),Vn.unstable_now=function(){return hW.now()-TDe});var QDe,hW,TDe;typeof window>"u"||typeof MessageChannel!="function"?(yw=null,gW=null,dW=function(){if(yw!==null)try{var t=Vn.unstable_now();yw(!0,t),yw=null}catch(e){throw setTimeout(dW,0),e}},Ew=function(t){yw!==null?setTimeout(Ew,0,t):(yw=t,setTimeout(dW,0))},tD=function(t,e){gW=setTimeout(t,e)},FF=function(){clearTimeout(gW)},Vn.unstable_shouldYield=function(){return!1},IW=Vn.unstable_forceFrameRate=function(){}):(RDe=window.setTimeout,FDe=window.clearTimeout,typeof console<"u"&&(NDe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof NDe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")),$S=!1,eD=null,QF=-1,mW=5,yW=0,Vn.unstable_shouldYield=function(){return Vn.unstable_now()>=yW},IW=function(){},Vn.unstable_forceFrameRate=function(t){0>t||125>>1,a=t[s];if(a!==void 0&&0RF(c,r))p!==void 0&&0>RF(p,c)?(t[s]=p,t[f]=r,s=f):(t[s]=c,t[n]=r,s=n);else if(p!==void 0&&0>RF(p,r))t[s]=p,t[f]=r,s=f;else break e}}return e}return null}function RF(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var pA=[],$0=[],KPt=1,Yc=null,ea=3,OF=!1,Fm=!1,rD=!1;function wW(t){for(var e=tf($0);e!==null;){if(e.callback===null)NF($0);else if(e.startTime<=t)NF($0),e.sortIndex=e.expirationTime,CW(pA,e);else break;e=tf($0)}}function BW(t){if(rD=!1,wW(t),!Fm)if(tf(pA)!==null)Fm=!0,Ew(vW);else{var e=tf($0);e!==null&&tD(BW,e.startTime-t)}}function vW(t,e){Fm=!1,rD&&(rD=!1,FF()),OF=!0;var r=ea;try{for(wW(e),Yc=tf(pA);Yc!==null&&(!(Yc.expirationTime>e)||t&&!Vn.unstable_shouldYield());){var s=Yc.callback;if(typeof s=="function"){Yc.callback=null,ea=Yc.priorityLevel;var a=s(Yc.expirationTime<=e);e=Vn.unstable_now(),typeof a=="function"?Yc.callback=a:Yc===tf(pA)&&NF(pA),wW(e)}else NF(pA);Yc=tf(pA)}if(Yc!==null)var n=!0;else{var c=tf($0);c!==null&&tD(BW,c.startTime-e),n=!1}return n}finally{Yc=null,ea=r,OF=!1}}var JPt=IW;Vn.unstable_IdlePriority=5;Vn.unstable_ImmediatePriority=1;Vn.unstable_LowPriority=4;Vn.unstable_NormalPriority=3;Vn.unstable_Profiling=null;Vn.unstable_UserBlockingPriority=2;Vn.unstable_cancelCallback=function(t){t.callback=null};Vn.unstable_continueExecution=function(){Fm||OF||(Fm=!0,Ew(vW))};Vn.unstable_getCurrentPriorityLevel=function(){return ea};Vn.unstable_getFirstCallbackNode=function(){return tf(pA)};Vn.unstable_next=function(t){switch(ea){case 1:case 2:case 3:var e=3;break;default:e=ea}var r=ea;ea=e;try{return t()}finally{ea=r}};Vn.unstable_pauseExecution=function(){};Vn.unstable_requestPaint=JPt;Vn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=ea;ea=t;try{return e()}finally{ea=r}};Vn.unstable_scheduleCallback=function(t,e,r){var s=Vn.unstable_now();switch(typeof r=="object"&&r!==null?(r=r.delay,r=typeof r=="number"&&0s?(t.sortIndex=r,CW($0,t),tf(pA)===null&&t===tf($0)&&(rD?FF():rD=!0,tD(BW,r-s))):(t.sortIndex=a,CW(pA,t),Fm||OF||(Fm=!0,Ew(vW))),t};Vn.unstable_wrapCallback=function(t){var e=ea;return function(){var r=ea;ea=e;try{return t.apply(this,arguments)}finally{ea=r}}}});var SW=L((jhr,LDe)=>{"use strict";LDe.exports=ODe()});var MDe=L((qhr,nD)=>{nD.exports=function(e){var r={},s=eW(),a=hn(),n=SW();function c(v){for(var D="https://reactjs.org/docs/error-decoder.html?invariant="+v,Q=1;QUe||V[Se]!==ne[Ue])return` +`+V[Se].replace(" at new "," at ");while(1<=Se&&0<=Ue);break}}}finally{ve=!1,Error.prepareStackTrace=Q}return(v=v?v.displayName||v.name:"")?ac(v):""}var lc=[],Ni=-1;function io(v){return{current:v}}function Rt(v){0>Ni||(v.current=lc[Ni],lc[Ni]=null,Ni--)}function xn(v,D){Ni++,lc[Ni]=v.current,v.current=D}var ca={},ji=io(ca),Oi=io(!1),Oa=ca;function dn(v,D){var Q=v.type.contextTypes;if(!Q)return ca;var H=v.stateNode;if(H&&H.__reactInternalMemoizedUnmaskedChildContext===D)return H.__reactInternalMemoizedMaskedChildContext;var V={},ne;for(ne in Q)V[ne]=D[ne];return H&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=D,v.__reactInternalMemoizedMaskedChildContext=V),V}function Jn(v){return v=v.childContextTypes,v!=null}function hu(){Rt(Oi),Rt(ji)}function Ch(v,D,Q){if(ji.current!==ca)throw Error(c(168));xn(ji,D),xn(Oi,Q)}function La(v,D,Q){var H=v.stateNode;if(v=D.childContextTypes,typeof H.getChildContext!="function")return Q;H=H.getChildContext();for(var V in H)if(!(V in v))throw Error(c(108,g(D)||"Unknown",V));return s({},Q,H)}function Ma(v){return v=(v=v.stateNode)&&v.__reactInternalMemoizedMergedChildContext||ca,Oa=ji.current,xn(ji,v),xn(Oi,Oi.current),!0}function Ua(v,D,Q){var H=v.stateNode;if(!H)throw Error(c(169));Q?(v=La(v,D,Oa),H.__reactInternalMemoizedMergedChildContext=v,Rt(Oi),Rt(ji),xn(ji,v)):Rt(Oi),xn(Oi,Q)}var Xe=null,Ha=null,gf=n.unstable_now;gf();var cc=0,wn=8;function ua(v){if(1&v)return wn=15,1;if(2&v)return wn=14,2;if(4&v)return wn=13,4;var D=24&v;return D!==0?(wn=12,D):v&32?(wn=11,32):(D=192&v,D!==0?(wn=10,D):v&256?(wn=9,256):(D=3584&v,D!==0?(wn=8,D):v&4096?(wn=7,4096):(D=4186112&v,D!==0?(wn=6,D):(D=62914560&v,D!==0?(wn=5,D):v&67108864?(wn=4,67108864):v&134217728?(wn=3,134217728):(D=805306368&v,D!==0?(wn=2,D):1073741824&v?(wn=1,1073741824):(wn=8,v))))))}function _A(v){switch(v){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function UA(v){switch(v){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(c(358,v))}}function fa(v,D){var Q=v.pendingLanes;if(Q===0)return wn=0;var H=0,V=0,ne=v.expiredLanes,Se=v.suspendedLanes,Ue=v.pingedLanes;if(ne!==0)H=ne,V=wn=15;else if(ne=Q&134217727,ne!==0){var At=ne&~Se;At!==0?(H=ua(At),V=wn):(Ue&=ne,Ue!==0&&(H=ua(Ue),V=wn))}else ne=Q&~Se,ne!==0?(H=ua(ne),V=wn):Ue!==0&&(H=ua(Ue),V=wn);if(H===0)return 0;if(H=31-ns(H),H=Q&((0>H?0:1<Q;Q++)D.push(v);return D}function ja(v,D,Q){v.pendingLanes|=D;var H=D-1;v.suspendedLanes&=H,v.pingedLanes&=H,v=v.eventTimes,D=31-ns(D),v[D]=Q}var ns=Math.clz32?Math.clz32:fc,uc=Math.log,gu=Math.LN2;function fc(v){return v===0?32:31-(uc(v)/gu|0)|0}var qa=n.unstable_runWithPriority,Li=n.unstable_scheduleCallback,Cs=n.unstable_cancelCallback,Sl=n.unstable_shouldYield,df=n.unstable_requestPaint,Ac=n.unstable_now,wi=n.unstable_getCurrentPriorityLevel,Qn=n.unstable_ImmediatePriority,pc=n.unstable_UserBlockingPriority,Je=n.unstable_NormalPriority,st=n.unstable_LowPriority,St=n.unstable_IdlePriority,lr={},ee=df!==void 0?df:function(){},Ie=null,Oe=null,ht=!1,mt=Ac(),Dt=1e4>mt?Ac:function(){return Ac()-mt};function tr(){switch(wi()){case Qn:return 99;case pc:return 98;case Je:return 97;case st:return 96;case St:return 95;default:throw Error(c(332))}}function fn(v){switch(v){case 99:return Qn;case 98:return pc;case 97:return Je;case 96:return st;case 95:return St;default:throw Error(c(332))}}function ai(v,D){return v=fn(v),qa(v,D)}function qi(v,D,Q){return v=fn(v),Li(v,D,Q)}function Tn(){if(Oe!==null){var v=Oe;Oe=null,Cs(v)}Ga()}function Ga(){if(!ht&&Ie!==null){ht=!0;var v=0;try{var D=Ie;ai(99,function(){for(;vRn?(Un=kr,kr=null):Un=kr.sibling;var zr=Xt($e,kr,pt[Rn],Zt);if(zr===null){kr===null&&(kr=Un);break}v&&kr&&zr.alternate===null&&D($e,kr),qe=ne(zr,qe,Rn),Xn===null?Sr=zr:Xn.sibling=zr,Xn=zr,kr=Un}if(Rn===pt.length)return Q($e,kr),Sr;if(kr===null){for(;RnRn?(Un=kr,kr=null):Un=kr.sibling;var li=Xt($e,kr,zr.value,Zt);if(li===null){kr===null&&(kr=Un);break}v&&kr&&li.alternate===null&&D($e,kr),qe=ne(li,qe,Rn),Xn===null?Sr=li:Xn.sibling=li,Xn=li,kr=Un}if(zr.done)return Q($e,kr),Sr;if(kr===null){for(;!zr.done;Rn++,zr=pt.next())zr=Lr($e,zr.value,Zt),zr!==null&&(qe=ne(zr,qe,Rn),Xn===null?Sr=zr:Xn.sibling=zr,Xn=zr);return Sr}for(kr=H($e,kr);!zr.done;Rn++,zr=pt.next())zr=zn(kr,$e,Rn,zr.value,Zt),zr!==null&&(v&&zr.alternate!==null&&kr.delete(zr.key===null?Rn:zr.key),qe=ne(zr,qe,Rn),Xn===null?Sr=zr:Xn.sibling=zr,Xn=zr);return v&&kr.forEach(function(Pu){return D($e,Pu)}),Sr}return function($e,qe,pt,Zt){var Sr=typeof pt=="object"&&pt!==null&&pt.type===E&&pt.key===null;Sr&&(pt=pt.props.children);var Xn=typeof pt=="object"&&pt!==null;if(Xn)switch(pt.$$typeof){case p:e:{for(Xn=pt.key,Sr=qe;Sr!==null;){if(Sr.key===Xn){switch(Sr.tag){case 7:if(pt.type===E){Q($e,Sr.sibling),qe=V(Sr,pt.props.children),qe.return=$e,$e=qe;break e}break;default:if(Sr.elementType===pt.type){Q($e,Sr.sibling),qe=V(Sr,pt.props),qe.ref=dt($e,Sr,pt),qe.return=$e,$e=qe;break e}}Q($e,Sr);break}else D($e,Sr);Sr=Sr.sibling}pt.type===E?(qe=Qf(pt.props.children,$e.mode,Zt,pt.key),qe.return=$e,$e=qe):(Zt=od(pt.type,pt.key,pt.props,null,$e.mode,Zt),Zt.ref=dt($e,qe,pt),Zt.return=$e,$e=Zt)}return Se($e);case h:e:{for(Sr=pt.key;qe!==null;){if(qe.key===Sr)if(qe.tag===4&&qe.stateNode.containerInfo===pt.containerInfo&&qe.stateNode.implementation===pt.implementation){Q($e,qe.sibling),qe=V(qe,pt.children||[]),qe.return=$e,$e=qe;break e}else{Q($e,qe);break}else D($e,qe);qe=qe.sibling}qe=Ro(pt,$e.mode,Zt),qe.return=$e,$e=qe}return Se($e)}if(typeof pt=="string"||typeof pt=="number")return pt=""+pt,qe!==null&&qe.tag===6?(Q($e,qe.sibling),qe=V(qe,pt),qe.return=$e,$e=qe):(Q($e,qe),qe=k2(pt,$e.mode,Zt),qe.return=$e,$e=qe),Se($e);if(yf(pt))return mi($e,qe,pt,Zt);if(Ce(pt))return Za($e,qe,pt,Zt);if(Xn&&mu($e,pt),typeof pt>"u"&&!Sr)switch($e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(c(152,g($e.type)||"Component"))}return Q($e,qe)}}var _g=By(!0),n2=By(!1),bh={},ur=io(bh),zi=io(bh),Ef=io(bh);function Wa(v){if(v===bh)throw Error(c(174));return v}function Ug(v,D){xn(Ef,D),xn(zi,v),xn(ur,bh),v=gt(D),Rt(ur),xn(ur,v)}function yu(){Rt(ur),Rt(zi),Rt(Ef)}function If(v){var D=Wa(Ef.current),Q=Wa(ur.current);D=j(Q,v.type,D),Q!==D&&(xn(zi,v),xn(ur,D))}function wt(v){zi.current===v&&(Rt(ur),Rt(zi))}var gi=io(0);function WA(v){for(var D=v;D!==null;){if(D.tag===13){var Q=D.memoizedState;if(Q!==null&&(Q=Q.dehydrated,Q===null||gr(Q)||So(Q)))return D}else if(D.tag===19&&D.memoizedProps.revealOrder!==void 0){if(D.flags&64)return D}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===v)break;for(;D.sibling===null;){if(D.return===null||D.return===v)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}var Ya=null,pa=null,Va=!1;function Hg(v,D){var Q=za(5,null,null,0);Q.elementType="DELETED",Q.type="DELETED",Q.stateNode=D,Q.return=v,Q.flags=8,v.lastEffect!==null?(v.lastEffect.nextEffect=Q,v.lastEffect=Q):v.firstEffect=v.lastEffect=Q}function Ph(v,D){switch(v.tag){case 5:return D=la(D,v.type,v.pendingProps),D!==null?(v.stateNode=D,!0):!1;case 6:return D=OA(D,v.pendingProps),D!==null?(v.stateNode=D,!0):!1;case 13:return!1;default:return!1}}function jg(v){if(Va){var D=pa;if(D){var Q=D;if(!Ph(v,D)){if(D=Me(Q),!D||!Ph(v,D)){v.flags=v.flags&-1025|2,Va=!1,Ya=v;return}Hg(Ya,Q)}Ya=v,pa=fu(D)}else v.flags=v.flags&-1025|2,Va=!1,Ya=v}}function vy(v){for(v=v.return;v!==null&&v.tag!==5&&v.tag!==3&&v.tag!==13;)v=v.return;Ya=v}function YA(v){if(!Z||v!==Ya)return!1;if(!Va)return vy(v),Va=!0,!1;var D=v.type;if(v.tag!==5||D!=="head"&&D!=="body"&&!it(D,v.memoizedProps))for(D=pa;D;)Hg(v,D),D=Me(D);if(vy(v),v.tag===13){if(!Z)throw Error(c(316));if(v=v.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(c(317));pa=LA(v)}else pa=Ya?Me(v.stateNode):null;return!0}function qg(){Z&&(pa=Ya=null,Va=!1)}var Eu=[];function Iu(){for(var v=0;vne))throw Error(c(301));ne+=1,xi=is=null,D.updateQueue=null,Cf.current=re,v=Q(H,V)}while(wf)}if(Cf.current=kt,D=is!==null&&is.next!==null,Cu=0,xi=is=qn=null,VA=!1,D)throw Error(c(300));return v}function ss(){var v={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return xi===null?qn.memoizedState=xi=v:xi=xi.next=v,xi}function xl(){if(is===null){var v=qn.alternate;v=v!==null?v.memoizedState:null}else v=is.next;var D=xi===null?qn.memoizedState:xi.next;if(D!==null)xi=D,is=v;else{if(v===null)throw Error(c(310));is=v,v={memoizedState:is.memoizedState,baseState:is.baseState,baseQueue:is.baseQueue,queue:is.queue,next:null},xi===null?qn.memoizedState=xi=v:xi=xi.next=v}return xi}function ko(v,D){return typeof D=="function"?D(v):D}function Bf(v){var D=xl(),Q=D.queue;if(Q===null)throw Error(c(311));Q.lastRenderedReducer=v;var H=is,V=H.baseQueue,ne=Q.pending;if(ne!==null){if(V!==null){var Se=V.next;V.next=ne.next,ne.next=Se}H.baseQueue=V=ne,Q.pending=null}if(V!==null){V=V.next,H=H.baseState;var Ue=Se=ne=null,At=V;do{var Gt=At.lane;if((Cu&Gt)===Gt)Ue!==null&&(Ue=Ue.next={lane:0,action:At.action,eagerReducer:At.eagerReducer,eagerState:At.eagerState,next:null}),H=At.eagerReducer===v?At.eagerState:v(H,At.action);else{var vr={lane:Gt,action:At.action,eagerReducer:At.eagerReducer,eagerState:At.eagerState,next:null};Ue===null?(Se=Ue=vr,ne=H):Ue=Ue.next=vr,qn.lanes|=Gt,$g|=Gt}At=At.next}while(At!==null&&At!==V);Ue===null?ne=H:Ue.next=Se,Do(H,D.memoizedState)||(Ke=!0),D.memoizedState=H,D.baseState=ne,D.baseQueue=Ue,Q.lastRenderedState=H}return[D.memoizedState,Q.dispatch]}function vf(v){var D=xl(),Q=D.queue;if(Q===null)throw Error(c(311));Q.lastRenderedReducer=v;var H=Q.dispatch,V=Q.pending,ne=D.memoizedState;if(V!==null){Q.pending=null;var Se=V=V.next;do ne=v(ne,Se.action),Se=Se.next;while(Se!==V);Do(ne,D.memoizedState)||(Ke=!0),D.memoizedState=ne,D.baseQueue===null&&(D.baseState=ne),Q.lastRenderedState=ne}return[ne,H]}function kl(v,D,Q){var H=D._getVersion;H=H(D._source);var V=y?D._workInProgressVersionPrimary:D._workInProgressVersionSecondary;if(V!==null?v=V===H:(v=v.mutableReadLanes,(v=(Cu&v)===v)&&(y?D._workInProgressVersionPrimary=H:D._workInProgressVersionSecondary=H,Eu.push(D))),v)return Q(D._source);throw Eu.push(D),Error(c(350))}function yn(v,D,Q,H){var V=oo;if(V===null)throw Error(c(349));var ne=D._getVersion,Se=ne(D._source),Ue=Cf.current,At=Ue.useState(function(){return kl(V,D,Q)}),Gt=At[1],vr=At[0];At=xi;var Lr=v.memoizedState,Xt=Lr.refs,zn=Xt.getSnapshot,mi=Lr.source;Lr=Lr.subscribe;var Za=qn;return v.memoizedState={refs:Xt,source:D,subscribe:H},Ue.useEffect(function(){Xt.getSnapshot=Q,Xt.setSnapshot=Gt;var $e=ne(D._source);if(!Do(Se,$e)){$e=Q(D._source),Do(vr,$e)||(Gt($e),$e=vs(Za),V.mutableReadLanes|=$e&V.pendingLanes),$e=V.mutableReadLanes,V.entangledLanes|=$e;for(var qe=V.entanglements,pt=$e;0Q?98:Q,function(){v(!0)}),ai(97I2&&(D.flags|=64,V=!0,$A(H,!1),D.lanes=33554432)}else{if(!V)if(v=WA(ne),v!==null){if(D.flags|=64,V=!0,v=v.updateQueue,v!==null&&(D.updateQueue=v,D.flags|=4),$A(H,!0),H.tail===null&&H.tailMode==="hidden"&&!ne.alternate&&!Va)return D=D.lastEffect=H.lastEffect,D!==null&&(D.nextEffect=null),null}else 2*Dt()-H.renderingStartTime>I2&&Q!==1073741824&&(D.flags|=64,V=!0,$A(H,!1),D.lanes=33554432);H.isBackwards?(ne.sibling=D.child,D.child=ne):(v=H.last,v!==null?v.sibling=ne:D.child=ne,H.last=ne)}return H.tail!==null?(v=H.tail,H.rendering=v,H.tail=v.sibling,H.lastEffect=D.lastEffect,H.renderingStartTime=Dt(),v.sibling=null,D=gi.current,xn(gi,V?D&1|2:D&1),v):null;case 23:case 24:return D2(),v!==null&&v.memoizedState!==null!=(D.memoizedState!==null)&&H.mode!=="unstable-defer-without-hiding"&&(D.flags|=4),null}throw Error(c(156,D.tag))}function $L(v){switch(v.tag){case 1:Jn(v.type)&&hu();var D=v.flags;return D&4096?(v.flags=D&-4097|64,v):null;case 3:if(yu(),Rt(Oi),Rt(ji),Iu(),D=v.flags,D&64)throw Error(c(285));return v.flags=D&-4097|64,v;case 5:return wt(v),null;case 13:return Rt(gi),D=v.flags,D&4096?(v.flags=D&-4097|64,v):null;case 19:return Rt(gi),null;case 4:return yu(),null;case 10:return Lg(v),null;case 23:case 24:return D2(),null;default:return null}}function Vg(v,D){try{var Q="",H=D;do Q+=r2(H),H=H.return;while(H);var V=Q}catch(ne){V=` +Error generating stack: `+ne.message+` +`+ne.stack}return{value:v,source:D,stack:V}}function Kg(v,D){try{console.error(D.value)}catch(Q){setTimeout(function(){throw Q})}}var eM=typeof WeakMap=="function"?WeakMap:Map;function a2(v,D,Q){Q=bl(-1,Q),Q.tag=3,Q.payload={element:null};var H=D.value;return Q.callback=function(){Uy||(Uy=!0,C2=H),Kg(v,D)},Q}function Jg(v,D,Q){Q=bl(-1,Q),Q.tag=3;var H=v.type.getDerivedStateFromError;if(typeof H=="function"){var V=D.value;Q.payload=function(){return Kg(v,D),H(V)}}var ne=v.stateNode;return ne!==null&&typeof ne.componentDidCatch=="function"&&(Q.callback=function(){typeof H!="function"&&(gc===null?gc=new Set([this]):gc.add(this),Kg(v,D));var Se=D.stack;this.componentDidCatch(D.value,{componentStack:Se!==null?Se:""})}),Q}var tM=typeof WeakSet=="function"?WeakSet:Set;function l2(v){var D=v.ref;if(D!==null)if(typeof D=="function")try{D(null)}catch(Q){kf(v,Q)}else D.current=null}function xy(v,D){switch(D.tag){case 0:case 11:case 15:case 22:return;case 1:if(D.flags&256&&v!==null){var Q=v.memoizedProps,H=v.memoizedState;v=D.stateNode,D=v.getSnapshotBeforeUpdate(D.elementType===D.type?Q:bo(D.type,Q),H),v.__reactInternalSnapshotBeforeUpdate=D}return;case 3:F&&D.flags&256&&Rs(D.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(c(163))}function Nh(v,D){if(D=D.updateQueue,D=D!==null?D.lastEffect:null,D!==null){var Q=D=D.next;do{if((Q.tag&v)===v){var H=Q.destroy;Q.destroy=void 0,H!==void 0&&H()}Q=Q.next}while(Q!==D)}}function vP(v,D,Q){switch(Q.tag){case 0:case 11:case 15:case 22:if(D=Q.updateQueue,D=D!==null?D.lastEffect:null,D!==null){v=D=D.next;do{if((v.tag&3)===3){var H=v.create;v.destroy=H()}v=v.next}while(v!==D)}if(D=Q.updateQueue,D=D!==null?D.lastEffect:null,D!==null){v=D=D.next;do{var V=v;H=V.next,V=V.tag,V&4&&V&1&&(MP(Q,v),uM(Q,v)),v=H}while(v!==D)}return;case 1:v=Q.stateNode,Q.flags&4&&(D===null?v.componentDidMount():(H=Q.elementType===Q.type?D.memoizedProps:bo(Q.type,D.memoizedProps),v.componentDidUpdate(H,D.memoizedState,v.__reactInternalSnapshotBeforeUpdate))),D=Q.updateQueue,D!==null&&Cy(Q,D,v);return;case 3:if(D=Q.updateQueue,D!==null){if(v=null,Q.child!==null)switch(Q.child.tag){case 5:v=Re(Q.child.stateNode);break;case 1:v=Q.child.stateNode}Cy(Q,D,v)}return;case 5:v=Q.stateNode,D===null&&Q.flags&4&&eo(v,Q.type,Q.memoizedProps,Q);return;case 6:return;case 4:return;case 12:return;case 13:Z&&Q.memoizedState===null&&(Q=Q.alternate,Q!==null&&(Q=Q.memoizedState,Q!==null&&(Q=Q.dehydrated,Q!==null&&Au(Q))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(c(163))}function SP(v,D){if(F)for(var Q=v;;){if(Q.tag===5){var H=Q.stateNode;D?Eh(H):ro(Q.stateNode,Q.memoizedProps)}else if(Q.tag===6)H=Q.stateNode,D?Ih(H):jn(H,Q.memoizedProps);else if((Q.tag!==23&&Q.tag!==24||Q.memoizedState===null||Q===v)&&Q.child!==null){Q.child.return=Q,Q=Q.child;continue}if(Q===v)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===v)return;Q=Q.return}Q.sibling.return=Q.return,Q=Q.sibling}}function ky(v,D){if(Ha&&typeof Ha.onCommitFiberUnmount=="function")try{Ha.onCommitFiberUnmount(Xe,D)}catch{}switch(D.tag){case 0:case 11:case 14:case 15:case 22:if(v=D.updateQueue,v!==null&&(v=v.lastEffect,v!==null)){var Q=v=v.next;do{var H=Q,V=H.destroy;if(H=H.tag,V!==void 0)if(H&4)MP(D,Q);else{H=D;try{V()}catch(ne){kf(H,ne)}}Q=Q.next}while(Q!==v)}break;case 1:if(l2(D),v=D.stateNode,typeof v.componentWillUnmount=="function")try{v.props=D.memoizedProps,v.state=D.memoizedState,v.componentWillUnmount()}catch(ne){kf(D,ne)}break;case 5:l2(D);break;case 4:F?xP(v,D):z&&z&&(D=D.stateNode.containerInfo,v=lu(D),FA(D,v))}}function DP(v,D){for(var Q=D;;)if(ky(v,Q),Q.child===null||F&&Q.tag===4){if(Q===D)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===D)return;Q=Q.return}Q.sibling.return=Q.return,Q=Q.sibling}else Q.child.return=Q,Q=Q.child}function Qy(v){v.alternate=null,v.child=null,v.dependencies=null,v.firstEffect=null,v.lastEffect=null,v.memoizedProps=null,v.memoizedState=null,v.pendingProps=null,v.return=null,v.updateQueue=null}function bP(v){return v.tag===5||v.tag===3||v.tag===4}function PP(v){if(F){e:{for(var D=v.return;D!==null;){if(bP(D))break e;D=D.return}throw Error(c(160))}var Q=D;switch(D=Q.stateNode,Q.tag){case 5:var H=!1;break;case 3:D=D.containerInfo,H=!0;break;case 4:D=D.containerInfo,H=!0;break;default:throw Error(c(161))}Q.flags&16&&(pf(D),Q.flags&=-17);e:t:for(Q=v;;){for(;Q.sibling===null;){if(Q.return===null||bP(Q.return)){Q=null;break e}Q=Q.return}for(Q.sibling.return=Q.return,Q=Q.sibling;Q.tag!==5&&Q.tag!==6&&Q.tag!==18;){if(Q.flags&2||Q.child===null||Q.tag===4)continue t;Q.child.return=Q,Q=Q.child}if(!(Q.flags&2)){Q=Q.stateNode;break e}}H?c2(v,Q,D):u2(v,Q,D)}}function c2(v,D,Q){var H=v.tag,V=H===5||H===6;if(V)v=V?v.stateNode:v.stateNode.instance,D?to(Q,v,D):wo(Q,v);else if(H!==4&&(v=v.child,v!==null))for(c2(v,D,Q),v=v.sibling;v!==null;)c2(v,D,Q),v=v.sibling}function u2(v,D,Q){var H=v.tag,V=H===5||H===6;if(V)v=V?v.stateNode:v.stateNode.instance,D?Hi(Q,v,D):oi(Q,v);else if(H!==4&&(v=v.child,v!==null))for(u2(v,D,Q),v=v.sibling;v!==null;)u2(v,D,Q),v=v.sibling}function xP(v,D){for(var Q=D,H=!1,V,ne;;){if(!H){H=Q.return;e:for(;;){if(H===null)throw Error(c(160));switch(V=H.stateNode,H.tag){case 5:ne=!1;break e;case 3:V=V.containerInfo,ne=!0;break e;case 4:V=V.containerInfo,ne=!0;break e}H=H.return}H=!0}if(Q.tag===5||Q.tag===6)DP(v,Q),ne?RA(V,Q.stateNode):vo(V,Q.stateNode);else if(Q.tag===4){if(Q.child!==null){V=Q.stateNode.containerInfo,ne=!0,Q.child.return=Q,Q=Q.child;continue}}else if(ky(v,Q),Q.child!==null){Q.child.return=Q,Q=Q.child;continue}if(Q===D)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===D)return;Q=Q.return,Q.tag===4&&(H=!1)}Q.sibling.return=Q.return,Q=Q.sibling}}function f2(v,D){if(F){switch(D.tag){case 0:case 11:case 14:case 15:case 22:Nh(3,D);return;case 1:return;case 5:var Q=D.stateNode;if(Q!=null){var H=D.memoizedProps;v=v!==null?v.memoizedProps:H;var V=D.type,ne=D.updateQueue;D.updateQueue=null,ne!==null&&Bo(Q,ne,V,v,H,D)}return;case 6:if(D.stateNode===null)throw Error(c(162));Q=D.memoizedProps,rs(D.stateNode,v!==null?v.memoizedProps:Q,Q);return;case 3:Z&&(D=D.stateNode,D.hydrate&&(D.hydrate=!1,MA(D.containerInfo)));return;case 12:return;case 13:kP(D),zg(D);return;case 19:zg(D);return;case 17:return;case 23:case 24:SP(D,D.memoizedState!==null);return}throw Error(c(163))}switch(D.tag){case 0:case 11:case 14:case 15:case 22:Nh(3,D);return;case 12:return;case 13:kP(D),zg(D);return;case 19:zg(D);return;case 3:Z&&(Q=D.stateNode,Q.hydrate&&(Q.hydrate=!1,MA(Q.containerInfo)));break;case 23:case 24:return}e:if(z){switch(D.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:D=D.stateNode,FA(D.containerInfo,D.pendingChildren);break e}throw Error(c(163))}}function kP(v){v.memoizedState!==null&&(E2=Dt(),F&&SP(v.child,!0))}function zg(v){var D=v.updateQueue;if(D!==null){v.updateQueue=null;var Q=v.stateNode;Q===null&&(Q=v.stateNode=new tM),D.forEach(function(H){var V=AM.bind(null,v,H);Q.has(H)||(Q.add(H),H.then(V,V))})}}function rM(v,D){return v!==null&&(v=v.memoizedState,v===null||v.dehydrated!==null)?(D=D.memoizedState,D!==null&&D.dehydrated===null):!1}var Ty=0,Ry=1,Fy=2,Zg=3,Ny=4;if(typeof Symbol=="function"&&Symbol.for){var Xg=Symbol.for;Ty=Xg("selector.component"),Ry=Xg("selector.has_pseudo_class"),Fy=Xg("selector.role"),Zg=Xg("selector.test_id"),Ny=Xg("selector.text")}function Oy(v){var D=$(v);if(D!=null){if(typeof D.memoizedProps["data-testname"]!="string")throw Error(c(364));return D}if(v=ir(v),v===null)throw Error(c(362));return v.stateNode.current}function Df(v,D){switch(D.$$typeof){case Ty:if(v.type===D.value)return!0;break;case Ry:e:{D=D.value,v=[v,0];for(var Q=0;Q";case Ry:return":has("+(bf(v)||"")+")";case Fy:return'[role="'+v.value+'"]';case Ny:return'"'+v.value+'"';case Zg:return'[data-testname="'+v.value+'"]';default:throw Error(c(365,v))}}function A2(v,D){var Q=[];v=[v,0];for(var H=0;HV&&(V=Se),Q&=~ne}if(Q=V,Q=Dt()-Q,Q=(120>Q?120:480>Q?480:1080>Q?1080:1920>Q?1920:3e3>Q?3e3:4320>Q?4320:1960*iM(Q/1960))-Q,10 component higher in the tree to provide a loading indicator or placeholder to display.`)}Bs!==5&&(Bs=2),At=Vg(At,Ue),Xt=Se;do{switch(Xt.tag){case 3:ne=At,Xt.flags|=4096,D&=-D,Xt.lanes|=D;var Xn=a2(Xt,ne,D);Iy(Xt,Xn);break e;case 1:ne=At;var kr=Xt.type,Rn=Xt.stateNode;if(!(Xt.flags&64)&&(typeof kr.getDerivedStateFromError=="function"||Rn!==null&&typeof Rn.componentDidCatch=="function"&&(gc===null||!gc.has(Rn)))){Xt.flags|=4096,D&=-D,Xt.lanes|=D;var Un=Jg(Xt,ne,D);Iy(Xt,Un);break e}}Xt=Xt.return}while(Xt!==null)}LP(Q)}catch(zr){D=zr,Zi===Q&&Q!==null&&(Zi=Q=Q.return);continue}break}while(!0)}function NP(){var v=My.current;return My.current=kt,v===null?kt:v}function sd(v,D){var Q=xr;xr|=16;var H=NP();oo===v&&Os===D||_h(v,D);do try{oM();break}catch(V){FP(v,V)}while(!0);if(Ng(),xr=Q,My.current=H,Zi!==null)throw Error(c(261));return oo=null,Os=0,Bs}function oM(){for(;Zi!==null;)OP(Zi)}function aM(){for(;Zi!==null&&!Sl();)OP(Zi)}function OP(v){var D=HP(v.alternate,v,ep);v.memoizedProps=v.pendingProps,D===null?LP(v):Zi=D,h2.current=null}function LP(v){var D=v;do{var Q=D.alternate;if(v=D.return,D.flags&2048){if(Q=$L(D),Q!==null){Q.flags&=2047,Zi=Q;return}v!==null&&(v.firstEffect=v.lastEffect=null,v.flags|=2048)}else{if(Q=XL(Q,D,ep),Q!==null){Zi=Q;return}if(Q=D,Q.tag!==24&&Q.tag!==23||Q.memoizedState===null||ep&1073741824||!(Q.mode&4)){for(var H=0,V=Q.child;V!==null;)H|=V.lanes|V.childLanes,V=V.sibling;Q.childLanes=H}v!==null&&!(v.flags&2048)&&(v.firstEffect===null&&(v.firstEffect=D.firstEffect),D.lastEffect!==null&&(v.lastEffect!==null&&(v.lastEffect.nextEffect=D.firstEffect),v.lastEffect=D.lastEffect),1Dt()-E2?_h(v,0):m2|=Q),da(v,D)}function AM(v,D){var Q=v.stateNode;Q!==null&&Q.delete(D),D=0,D===0&&(D=v.mode,D&2?D&4?(Su===0&&(Su=Oh),D=kn(62914560&~Su),D===0&&(D=4194304)):D=tr()===99?1:2:D=1),Q=To(),v=qy(v,D),v!==null&&(ja(v,D,Q),da(v,Q))}var HP;HP=function(v,D,Q){var H=D.lanes;if(v!==null)if(v.memoizedProps!==D.pendingProps||Oi.current)Ke=!0;else if(Q&H)Ke=!!(v.flags&16384);else{switch(Ke=!1,D.tag){case 3:by(D),qg();break;case 5:If(D);break;case 1:Jn(D.type)&&Ma(D);break;case 4:Ug(D,D.stateNode.containerInfo);break;case 10:Og(D,D.memoizedProps.value);break;case 13:if(D.memoizedState!==null)return Q&D.child.childLanes?s2(v,D,Q):(xn(gi,gi.current&1),D=Gn(v,D,Q),D!==null?D.sibling:null);xn(gi,gi.current&1);break;case 19:if(H=(Q&D.childLanes)!==0,v.flags&64){if(H)return BP(v,D,Q);D.flags|=64}var V=D.memoizedState;if(V!==null&&(V.rendering=null,V.tail=null,V.lastEffect=null),xn(gi,gi.current),H)break;return null;case 23:case 24:return D.lanes=0,di(v,D,Q)}return Gn(v,D,Q)}else Ke=!1;switch(D.lanes=0,D.tag){case 2:if(H=D.type,v!==null&&(v.alternate=null,D.alternate=null,D.flags|=2),v=D.pendingProps,V=dn(D,ji.current),mf(D,Q),V=Wg(null,D,H,v,V,Q),D.flags|=1,typeof V=="object"&&V!==null&&typeof V.render=="function"&&V.$$typeof===void 0){if(D.tag=1,D.memoizedState=null,D.updateQueue=null,Jn(H)){var ne=!0;Ma(D)}else ne=!1;D.memoizedState=V.state!==null&&V.state!==void 0?V.state:null,Dh(D);var Se=H.getDerivedStateFromProps;typeof Se=="function"&&jA(D,H,Se,v),V.updater=qA,D.stateNode=V,V._reactInternals=D,xo(D,H,v,Q),D=i2(null,D,H,!0,ne,Q)}else D.tag=0,ft(null,D,V,Q),D=D.child;return D;case 16:V=D.elementType;e:{switch(v!==null&&(v.alternate=null,D.alternate=null,D.flags|=2),v=D.pendingProps,ne=V._init,V=ne(V._payload),D.type=V,ne=D.tag=hM(V),v=bo(V,v),ne){case 0:D=zA(null,D,V,v,Q);break e;case 1:D=wP(null,D,V,v,Q);break e;case 11:D=dr(null,D,V,v,Q);break e;case 14:D=Br(null,D,V,bo(V.type,v),H,Q);break e}throw Error(c(306,V,""))}return D;case 0:return H=D.type,V=D.pendingProps,V=D.elementType===H?V:bo(H,V),zA(v,D,H,V,Q);case 1:return H=D.type,V=D.pendingProps,V=D.elementType===H?V:bo(H,V),wP(v,D,H,V,Q);case 3:if(by(D),H=D.updateQueue,v===null||H===null)throw Error(c(282));if(H=D.pendingProps,V=D.memoizedState,V=V!==null?V.element:null,Mg(v,D),HA(D,H,null,Q),H=D.memoizedState.element,H===V)qg(),D=Gn(v,D,Q);else{if(V=D.stateNode,(ne=V.hydrate)&&(Z?(pa=fu(D.stateNode.containerInfo),Ya=D,ne=Va=!0):ne=!1),ne){if(Z&&(v=V.mutableSourceEagerHydrationData,v!=null))for(V=0;V=Gt&&ne>=Lr&&V<=vr&&Se<=Xt){v.splice(D,1);break}else if(H!==Gt||Q.width!==At.width||XtSe){if(!(ne!==Lr||Q.height!==At.height||vrV)){Gt>H&&(At.width+=Gt-H,At.x=H),vrne&&(At.height+=Lr-ne,At.y=ne),XtQ&&(Q=Se)),Se ")+` + +No matching component was found for: + `)+v.join(" > ")}return null},r.getPublicRootInstance=function(v){if(v=v.current,!v.child)return null;switch(v.child.tag){case 5:return Re(v.child.stateNode);default:return v.child.stateNode}},r.injectIntoDevTools=function(v){if(v={bundleType:v.bundleType,version:v.version,rendererPackageName:v.rendererPackageName,rendererConfig:v.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:f.ReactCurrentDispatcher,findHostInstanceByFiber:dM,findFiberByHostInstance:v.findFiberByHostInstance||mM,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")v=!1;else{var D=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!D.isDisabled&&D.supportsFiber)try{Xe=D.inject(v),Ha=D}catch{}v=!0}return v},r.observeVisibleRects=function(v,D,Q,H){if(!qt)throw Error(c(363));v=p2(v,D);var V=nn(v,Q,H).disconnect;return{disconnect:function(){V()}}},r.registerMutableSourceForHydration=function(v,D){var Q=D._getVersion;Q=Q(D._source),v.mutableSourceEagerHydrationData==null?v.mutableSourceEagerHydrationData=[D,Q]:v.mutableSourceEagerHydrationData.push(D,Q)},r.runWithPriority=function(v,D){var Q=cc;try{return cc=v,D()}finally{cc=Q}},r.shouldSuspend=function(){return!1},r.unbatchedUpdates=function(v,D){var Q=xr;xr&=-2,xr|=8;try{return v(D)}finally{xr=Q,xr===0&&(Pf(),Tn())}},r.updateContainer=function(v,D,Q,H){var V=D.current,ne=To(),Se=vs(V);e:if(Q){Q=Q._reactInternals;t:{if(we(Q)!==Q||Q.tag!==1)throw Error(c(170));var Ue=Q;do{switch(Ue.tag){case 3:Ue=Ue.stateNode.context;break t;case 1:if(Jn(Ue.type)){Ue=Ue.stateNode.__reactInternalMemoizedMergedChildContext;break t}}Ue=Ue.return}while(Ue!==null);throw Error(c(171))}if(Q.tag===1){var At=Q.type;if(Jn(At)){Q=La(Q,At,Ue);break e}}Q=Ue}else Q=ca;return D.context===null?D.context=Q:D.pendingContext=Q,D=bl(ne,Se),D.payload={element:v},H=H===void 0?null:H,H!==null&&(D.callback=H),Pl(V,D),Rl(V,Se,ne),Se},r}});var UDe=L((Ghr,_De)=>{"use strict";_De.exports=MDe()});var jDe=L((Whr,HDe)=>{"use strict";var zPt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};HDe.exports=zPt});var YDe=L((Yhr,WDe)=>{"use strict";var ZPt=Object.assign||function(t){for(var e=1;e"}}]),t}(),qDe=function(){LF(t,null,[{key:"fromJS",value:function(r){var s=r.width,a=r.height;return new t(s,a)}}]);function t(e,r){bW(this,t),this.width=e,this.height=r}return LF(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return""}}]),t}(),GDe=function(){function t(e,r){bW(this,t),this.unit=e,this.value=r}return LF(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case rf.UNIT_POINT:return String(this.value);case rf.UNIT_PERCENT:return this.value+"%";case rf.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();WDe.exports=function(t,e){function r(c,f,p){var h=c[f];c[f]=function(){for(var E=arguments.length,C=Array(E),S=0;S1?C-1:0),P=1;P1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:rf.DIRECTION_LTR;return c.call(this,f,p,h)}),ZPt({Config:e.Config,Node:e.Node,Layout:t("Layout",XPt),Size:t("Size",qDe),Value:t("Value",GDe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},rf)}});var VDe=L((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof ye=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var s=nodeFS.readFileSync(e);return r?s:s.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,s){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):s()},a.onerror=s,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(t,e){throw e}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var s=enlargeMemory();if(!s)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var s=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return s},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,s,a,n){var c=getCFunc(e),f=[],p=0;if(a)for(var h=0;h>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(t,e,r,s){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var c=typeof e=="string"?e:null,f;if(r==ALLOC_NONE?f=s:f=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,c?1:e.length)),a){var s=f,p;for(assert((f&3)==0),p=f+(n&-4);s>2]=0;for(p=f+n;s>0]=0;return f}if(c==="i8")return t.subarray||t.slice?HEAPU8.set(t,f):HEAPU8.set(new Uint8Array(t),f),f;for(var h=0,E,C,S;h>0],r|=s,!(s==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var c=1024,f;e>0;)f=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,c))),n=n?n+f:f,t+=c,e-=c;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var s,a,n,c,f,p,h="";;){if(s=t[e++],!s)return h;if(!(s&128)){h+=String.fromCharCode(s);continue}if(a=t[e++]&63,(s&224)==192){h+=String.fromCharCode((s&31)<<6|a);continue}if(n=t[e++]&63,(s&240)==224?s=(s&15)<<12|a<<6|n:(c=t[e++]&63,(s&248)==240?s=(s&7)<<18|a<<12|n<<6|c:(f=t[e++]&63,(s&252)==248?s=(s&3)<<24|a<<18|n<<12|c<<6|f:(p=t[e++]&63,s=(s&1)<<30|a<<24|n<<18|c<<12|f<<6|p))),s<65536)h+=String.fromCharCode(s);else{var E=s-65536;h+=String.fromCharCode(55296|E>>10,56320|E&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,s){if(!(s>0))return 0;for(var a=r,n=r+s-1,c=0;c=55296&&f<=57343&&(f=65536+((f&1023)<<10)|t.charCodeAt(++c)&1023),f<=127){if(r>=n)break;e[r++]=f}else if(f<=2047){if(r+1>=n)break;e[r++]=192|f>>6,e[r++]=128|f&63}else if(f<=65535){if(r+2>=n)break;e[r++]=224|f>>12,e[r++]=128|f>>6&63,e[r++]=128|f&63}else if(f<=2097151){if(r+3>=n)break;e[r++]=240|f>>18,e[r++]=128|f>>12&63,e[r++]=128|f>>6&63,e[r++]=128|f&63}else if(f<=67108863){if(r+4>=n)break;e[r++]=248|f>>24,e[r++]=128|f>>18&63,e[r++]=128|f>>12&63,e[r++]=128|f>>6&63,e[r++]=128|f&63}else{if(r+5>=n)break;e[r++]=252|f>>30,e[r++]=128|f>>24&63,e[r++]=128|f>>18&63,e[r++]=128|f>>12&63,e[r++]=128|f>>6&63,e[r++]=128|f&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r=55296&&s<=57343&&(s=65536+((s&1023)<<10)|t.charCodeAt(++r)&1023),s<=127?++e:s<=2047?e+=2:s<=65535?e+=3:s<=2097151?e+=4:s<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),s=lengthBytesUTF8(r)+1,a=_malloc(s);stringToUTF8(r,a,s);var n=_malloc(4),c=e(a,0,0,n);if(getValue(n,"i32")===0&&c)return Pointer_stringify(c)}catch{}finally{a&&_free(a),n&&_free(n),c&&_free(c)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var s=demangle(r);return r===s?r:r+" ["+s+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=` +`+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var s=r>0?r:lengthBytesUTF8(t)+1,a=new Array(s),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r255&&(s&=255),e.push(String.fromCharCode(s))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var s,a;r&&(a=e+lengthBytesUTF8(t),s=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=s)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var s=0;s>0]=t.charCodeAt(s);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var s=e>>>16,a=e&65535,n=r>>>16,c=r&65535;return a*c+(s*c+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,s,a,n,c,f){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,s,a,n,c,f){return ASM_CONSTS[t](e,r,s,a,n,c,f)}function _emscripten_asm_const_iiiii(t,e,r,s,a){return ASM_CONSTS[t](e,r,s,a)}function _emscripten_asm_const_iiidddddd(t,e,r,s,a,n,c,f,p){return ASM_CONSTS[t](e,r,s,a,n,c,f,p)}function _emscripten_asm_const_iiididi(t,e,r,s,a,n,c){return ASM_CONSTS[t](e,r,s,a,n,c)}function _emscripten_asm_const_iiii(t,e,r,s){return ASM_CONSTS[t](e,r,s)}function _emscripten_asm_const_iiiid(t,e,r,s,a){return ASM_CONSTS[t](e,r,s,a)}function _emscripten_asm_const_iiiiii(t,e,r,s,a,n){return ASM_CONSTS[t](e,r,s,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(t,e){__ATEXIT__.unshift({func:t,arg:e})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(t,e,r,s){var a=arguments.length,n=a<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,r):s,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,s);else for(var f=t.length-1;f>=0;f--)(c=t[f])&&(n=(a<3?c(n):a>3?c(e,r,n):c(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,s){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=s/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var c=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,c)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(c){c.source===window&&c.data===s&&(c.stopPropagation(),r.shift()())};var a=n,r=[],s="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(f){r.push(f),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(f),window.postMessage({target:s})):window.postMessage(s,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(t,e,r,s,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=t,Browser.mainLoop.arg=s;var n;typeof s<"u"?n=function(){Module.dynCall_vi(t,s)}:n=function(){Module.dynCall_v(t)};var c=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var E=Browser.mainLoop.remainingBlockers,C=E%1==0?E-1:Math.floor(E);h.counted?Browser.mainLoop.remainingBlockers=C:(C=C+.5,Browser.mainLoop.remainingBlockers=(8*E+C)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),c1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(c0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,c,f,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(c)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(c)}))}catch(P){Runtime.warnOnce("Blob constructor present but fails: "+P+"; falling back to blob builder")}if(!h){var E=new Browser.BlobBuilder;E.append(new Uint8Array(n).buffer),h=E.getBlob()}var C=Browser.URLObject.createObjectURL(h),S=new Image;S.onload=function(){assert(S.complete,"Image "+c+" could not be decoded");var I=document.createElement("canvas");I.width=S.width,I.height=S.height;var R=I.getContext("2d");R.drawImage(S,0,0),Module.preloadedImages[c]=I,Browser.URLObject.revokeObjectURL(C),f&&f(n)},S.onerror=function(I){console.log("Image "+C+" could not be decoded"),p&&p()},S.src=C},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,c,f,p){var h=!1;function E(R){h||(h=!0,Module.preloadedAudios[c]=R,f&&f(n))}function C(){h||(h=!0,Module.preloadedAudios[c]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var S=new Blob([n],{type:Browser.getMimetype(c)})}catch{return C()}var P=Browser.URLObject.createObjectURL(S),I=new Audio;I.addEventListener("canplaythrough",function(){E(I)},!1),I.onerror=function(N){if(h)return;console.log("warning: browser could not fully decode audio "+c+", trying slower base64 approach");function U(W){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ie="=",Ae="",ce=0,me=0,pe=0;pe=6;){var Be=ce>>me-6&63;me-=6,Ae+=te[Be]}return me==2?(Ae+=te[(ce&3)<<4],Ae+=ie+ie):me==4&&(Ae+=te[(ce&15)<<2],Ae+=ie),Ae}I.src="data:audio/x-"+c.substr(-3)+";base64,"+U(n),E(I)},I.src=P,Browser.safeSetTimeout(function(){E(I)},1e4)}else return C()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var s=Module.canvas;s&&(s.requestPointerLock=s.requestPointerLock||s.mozRequestPointerLock||s.webkitRequestPointerLock||s.msRequestPointerLock||function(){},s.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},s.exitPointerLock=s.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&s.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,s){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var c={antialias:!1,alpha:!1};if(s)for(var f in s)c[f]=s[f];n=GL.createContext(t,c),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var s=Module.canvas;function a(){Browser.isFullscreen=!1;var c=s.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===c?(s.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},s.exitFullscreen=s.exitFullscreen.bind(document),Browser.lockPointer&&s.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(c.parentNode.insertBefore(s,c),c.parentNode.removeChild(c),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(s)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");s.parentNode.insertBefore(n,s),n.appendChild(s),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(s,a,n){return Browser.requestFullscreen(s,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,s=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var c=t.touch;if(c===void 0)return;var f=c.pageX-(a+e.left),p=c.pageY-(n+e.top);f=f*(r/e.width),p=p*(s/e.height);var h={x:f,y:p};if(t.type==="touchstart")Browser.lastTouches[c.identifier]=h,Browser.touches[c.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var E=Browser.touches[c.identifier];E||(E=h),Browser.lastTouches[c.identifier]=E,Browser.touches[c.identifier]=h}return}var C=t.pageX-(a+e.left),S=t.pageY-(n+e.top);C=C*(r/e.width),S=S*(s/e.height),Browser.mouseMovementX=C-Browser.mouseX,Browser.mouseMovementY=S-Browser.mouseY,Browser.mouseX=C,Browser.mouseY=S}},asyncLoad:function(t,e,r,s){var a=s?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var s=Module.canvas;Browser.updateCanvasDimensions(s,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var s=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(s/a>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(s){return(typeof FS>"u"||!(s instanceof FS.ErrnoError))&&abort(s),-s.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function r(p,h,E,C,S,P){if(h==1){var I=C&896;(I==128||I==256||I==384)&&(p="X const")}var R;return P?R=E.replace("X",p).replace("Y",S):R=p.replace("X",E).replace("Y",S),R.replace(/([*&]) (?=[*&])/g,"$1")}function s(p,h,E,C,S){throw new Error(p+" type "+E.replace("X",h+"?")+(C?" with flag "+C:"")+" in "+S)}function a(p,h,E,C,S,P,I,R){P===void 0&&(P="X"),R===void 0&&(R=1);var N=E(p);if(N)return N;var U=C(p),W=U.placeholderFlag,te=e[W];I&&te&&(P=r(I[2],I[0],P,te[0],"?",!0));var ie;W==0&&(ie="Unbound"),W>=10&&(ie="Corrupt"),R>20&&(ie="Deeply nested"),ie&&s(ie,p,P,W,S||"?");var Ae=U.paramList[0],ce=a(Ae,h,E,C,S,P,te,R+1),me,pe={flags:te[0],id:p,name:"",paramList:[ce]},Be=[],Ce="?";switch(U.placeholderFlag){case 1:me=ce.spec;break;case 2:if((ce.flags&15360)==1024&&ce.spec.ptrSize==1){pe.flags=7168;break}case 3:case 6:case 5:me=ce.spec,ce.flags&15360;break;case 8:Ce=""+U.paramList[1],pe.paramList.push(U.paramList[1]);break;case 9:for(var g=0,we=U.paramList[1];g>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),s=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),c=SYSCALLS.get(),f=a;return FS.llseek(r,f,c),HEAP32[n>>2]=r.position,r.getdents&&f===0&&c===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),s=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(E,C){var S=___syscall146.buffers[E];assert(S),C===0||C===10?((E===1?Module.print:Module.printErr)(UTF8ArrayToString(S,0)),S.length=0):S.push(C)});for(var c=0;c>2],p=HEAP32[s+(c*8+4)>>2],h=0;h"u"||!(E instanceof FS.ErrnoError))&&abort(E),-E.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;tt.pageSize/2||e>t.pageSize-r){var s=_nbind.typeNameTbl.NBind.proto;return s.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var s=HEAPU32[t.pagePtr];if(s){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],s=new r(e);return typeIdTbl[e.id]=s,_nbind.typeNameTbl[e.name]=s,s}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var s=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(s=[s[0],s.slice(1)]),{paramList:s,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},s=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+s];if(!a)throw new Error("dynCall_"+s+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,s){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,s)):(r.arity=s,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var s=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return s.heap=a[r.ptrSize*8],s.ptrSize=r.ptrSize,s}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,s){return s&&s.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,s=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,s,r),s}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,s){return function(a){return pushCString(a,s)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(s){return!!s},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,s){return s&&s.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(s){__extends(a,s);function a(n,c,f,p){var h=s.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var E=c,C=f,S=p;if(n!==_nbind.ptrMarker){var P=h.__nbindConstructor.apply(h,arguments);E=4608,S=HEAPU32[P/4],C=HEAPU32[P/4+1]}var I={configurable:!0,enumerable:!1,value:null,writable:!1},R={__nbindFlags:E,__nbindPtr:C};S&&(R.__nbindShared=S,_nbind.mark(h));for(var N=0,U=Object.keys(R);N>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t=3?c=Buffer.from(n):c=new Buffer(n),c.copy(s)}else getBuffer(s).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,s,a,n){try{Module.dynCall_viiiii(t,e,r,s,a,n)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,s){try{return Module.dynCall_fiff(t,e,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,s,a){try{Module.dynCall_viddi(t,e,r,s,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,s){try{Module.dynCall_vidd(t,e,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,s){try{return Module.dynCall_iiii(t,e,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,s){try{return Module.dynCall_diii(t,e,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,s,a,n){try{Module.dynCall_viiddi(t,e,r,s,a,n)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,s,a,n,c){try{Module.dynCall_viiiiii(t,e,r,s,a,n,c)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,s,a,n){try{return Module.dynCall_iiiiii(t,e,r,s,a,n)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,s,a){try{Module.dynCall_viiid(t,e,r,s,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,s,a,n,c){try{Module.dynCall_viififi(t,e,r,s,a,n,c)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viii(t,e,r,s){try{Module.dynCall_viii(t,e,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,s){try{Module.dynCall_viid(t,e,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,s,a){try{Module.dynCall_viiii(t,e,r,s,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(t,e,r){var s=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),c=new t.Uint8Array(r),f=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),E=new t.Float64Array(r),C=e.DYNAMICTOP_PTR|0,S=e.tempDoublePtr|0,P=e.ABORT|0,I=e.STACKTOP|0,R=e.STACK_MAX|0,N=e.cttz_i8|0,U=e.___dso_handle|0,W=0,te=0,ie=0,Ae=0,ce=t.NaN,me=t.Infinity,pe=0,Be=0,Ce=0,g=0,we=0,Ee=0,fe=t.Math.floor,se=t.Math.abs,X=t.Math.sqrt,De=t.Math.pow,Re=t.Math.cos,gt=t.Math.sin,j=t.Math.tan,rt=t.Math.acos,Fe=t.Math.asin,Ne=t.Math.atan,Pe=t.Math.atan2,Ye=t.Math.exp,ke=t.Math.log,it=t.Math.ceil,_e=t.Math.imul,x=t.Math.min,w=t.Math.max,b=t.Math.clz32,y=t.Math.fround,F=e.abort,z=e.assert,Z=e.enlargeMemory,$=e.getTotalMemory,oe=e.abortOnCannotGrowMemory,xe=e.invoke_viiiii,Te=e.invoke_vif,lt=e.invoke_vid,Et=e.invoke_fiff,qt=e.invoke_vi,ir=e.invoke_vii,Pt=e.invoke_ii,gn=e.invoke_viddi,Pr=e.invoke_vidd,Ir=e.invoke_iiii,Nr=e.invoke_diii,nn=e.invoke_di,oi=e.invoke_iid,wo=e.invoke_iii,rs=e.invoke_viiddi,eo=e.invoke_viiiiii,Bo=e.invoke_dii,Hi=e.invoke_i,to=e.invoke_iiiiii,vo=e.invoke_viiid,RA=e.invoke_viififi,pf=e.invoke_viii,Eh=e.invoke_v,Ih=e.invoke_viid,ro=e.invoke_idd,jn=e.invoke_viiii,Rs=e._emscripten_asm_const_iiiii,no=e._emscripten_asm_const_iiidddddd,lu=e._emscripten_asm_const_iiiid,cu=e.__nbind_reference_external,uu=e._emscripten_asm_const_iiiiiiii,FA=e._removeAccessorPrefix,NA=e._typeModule,aa=e.__nbind_register_pool,la=e.__decorate,OA=e._llvm_stackrestore,gr=e.___cxa_atexit,So=e.__extends,Me=e.__nbind_get_value_object,fu=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Cr=e._emscripten_set_main_loop_timing,hf=e.__nbind_register_primitive,LA=e.__nbind_register_type,MA=e._emscripten_memcpy_big,Au=e.__nbind_register_function,pu=e.___setErrNo,ac=e.__nbind_register_class,ve=e.__nbind_finish,Nt=e._abort,lc=e._nbind_value,Ni=e._llvm_stacksave,io=e.___syscall54,Rt=e._defineHidden,xn=e._emscripten_set_main_loop,ca=e._emscripten_get_now,ji=e.__nbind_register_callback_signature,Oi=e._emscripten_asm_const_iiiiii,Oa=e.__nbind_free_external,dn=e._emscripten_asm_const_iiii,Jn=e._emscripten_asm_const_iiididi,hu=e.___syscall6,Ch=e._atexit,La=e.___syscall140,Ma=e.___syscall146,Ua=y(0);let Xe=y(0);function Ha(o){o=o|0;var l=0;return l=I,I=I+o|0,I=I+15&-16,l|0}function gf(){return I|0}function cc(o){o=o|0,I=o}function wn(o,l){o=o|0,l=l|0,I=o,R=l}function ua(o,l){o=o|0,l=l|0,W||(W=o,te=l)}function _A(o){o=o|0,Ee=o}function UA(){return Ee|0}function fa(){var o=0,l=0;Qr(8104,8,400)|0,Qr(8504,408,540)|0,o=9044,l=o+44|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));s[9088]=0,s[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,gr(17,8104,U|0)|0}function vl(o){o=o|0,ht(o+948|0)}function Mt(o){return o=y(o),((SP(o)|0)&2147483647)>>>0>2139095040|0}function kn(o,l,u){o=o|0,l=l|0,u=u|0;e:do if(n[o+(l<<3)+4>>2]|0)o=o+(l<<3)|0;else{if((l|2|0)==3&&n[o+60>>2]|0){o=o+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[o+52>>2]|0){o=o+48|0;break e}break}default:}if(n[o+68>>2]|0){o=o+64|0;break}else{o=(l|1|0)==5?948:u;break}}while(!1);return o|0}function Aa(o){o=o|0;var l=0;return l=ex(1e3)|0,ja(o,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,Qr(l|0,8104,1e3)|0,s[o+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=o,l|0}function ja(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;d=I,I=I+16|0,A=d,l||(n[A>>2]=u,Yg(o,5,3197,A)),I=d}function ns(){return Aa(956)|0}function uc(o){o=o|0;var l=0;return l=Jt(1e3)|0,gu(l,o),ja(n[o+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function gu(o,l){o=o|0,l=l|0;var u=0;Qr(o|0,l|0,948)|0,Dy(o+948|0,l+948|0),u=o+960|0,o=l+960|0,l=u+40|0;do n[u>>2]=n[o>>2],u=u+4|0,o=o+4|0;while((u|0)<(l|0))}function fc(o){o=o|0;var l=0,u=0,A=0,d=0;if(l=o+944|0,u=n[l>>2]|0,u|0&&(qa(u+948|0,o)|0,n[l>>2]=0),u=Li(o)|0,u|0){l=0;do n[(Cs(o,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(u|0))}u=o+948|0,A=n[u>>2]|0,d=o+952|0,l=n[d>>2]|0,(l|0)!=(A|0)&&(n[d>>2]=l+(~((l+-4-A|0)>>>2)<<2)),Sl(u),tx(o),n[2276]=(n[2276]|0)+-1}function qa(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0;A=n[o>>2]|0,k=o+4|0,u=n[k>>2]|0,m=u;e:do if((A|0)==(u|0))d=A,B=4;else for(o=A;;){if((n[o>>2]|0)==(l|0)){d=o,B=4;break e}if(o=o+4|0,(o|0)==(u|0)){o=0;break}}while(!1);return(B|0)==4&&((d|0)!=(u|0)?(A=d+4|0,o=m-A|0,l=o>>2,l&&(F2(d|0,A|0,o|0)|0,u=n[k>>2]|0),o=d+(l<<2)|0,(u|0)==(o|0)||(n[k>>2]=u+(~((u+-4-o|0)>>>2)<<2)),o=1):o=0),o|0}function Li(o){return o=o|0,(n[o+952>>2]|0)-(n[o+948>>2]|0)>>2|0}function Cs(o,l){o=o|0,l=l|0;var u=0;return u=n[o+948>>2]|0,(n[o+952>>2]|0)-u>>2>>>0>l>>>0?o=n[u+(l<<2)>>2]|0:o=0,o|0}function Sl(o){o=o|0;var l=0,u=0,A=0,d=0;A=I,I=I+32|0,l=A,d=n[o>>2]|0,u=(n[o+4>>2]|0)-d|0,((n[o+8>>2]|0)-d|0)>>>0>u>>>0&&(d=u>>2,ky(l,d,d,o+8|0),DP(o,l),Qy(l)),I=A}function df(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0;_=Li(o)|0;do if(_|0){if((n[(Cs(o,0)|0)+944>>2]|0)==(o|0)){if(!(qa(o+948|0,l)|0))break;Qr(l+400|0,8504,540)|0,n[l+944>>2]=0,Oe(o);break}B=n[(n[o+976>>2]|0)+12>>2]|0,k=o+948|0,T=(B|0)==0,u=0,m=0;do A=n[(n[k>>2]|0)+(m<<2)>>2]|0,(A|0)==(l|0)?Oe(o):(d=uc(A)|0,n[(n[k>>2]|0)+(u<<2)>>2]=d,n[d+944>>2]=o,T||S_[B&15](A,d,o,u),u=u+1|0),m=m+1|0;while((m|0)!=(_|0));if(u>>>0<_>>>0){T=o+948|0,k=o+952|0,B=u,u=n[k>>2]|0;do m=(n[T>>2]|0)+(B<<2)|0,A=m+4|0,d=u-A|0,l=d>>2,l&&(F2(m|0,A|0,d|0)|0,u=n[k>>2]|0),d=u,A=m+(l<<2)|0,(d|0)!=(A|0)&&(u=d+(~((d+-4-A|0)>>>2)<<2)|0,n[k>>2]=u),B=B+1|0;while((B|0)!=(_|0))}}while(!1)}function Ac(o){o=o|0;var l=0,u=0,A=0,d=0;wi(o,(Li(o)|0)==0,2491),wi(o,(n[o+944>>2]|0)==0,2545),l=o+948|0,u=n[l>>2]|0,A=o+952|0,d=n[A>>2]|0,(d|0)!=(u|0)&&(n[A>>2]=d+(~((d+-4-u|0)>>>2)<<2)),Sl(l),l=o+976|0,u=n[l>>2]|0,Qr(o|0,8104,1e3)|0,s[u+2>>0]|0&&(n[o+4>>2]=2,n[o+12>>2]=4),n[l>>2]=u}function wi(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;d=I,I=I+16|0,A=d,l||(n[A>>2]=u,Qo(o,5,3197,A)),I=d}function Qn(){return n[2276]|0}function pc(){var o=0;return o=ex(20)|0,Je((o|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[o>>2]=n[239],n[o+4>>2]=n[240],n[o+8>>2]=n[241],n[o+12>>2]=n[242],n[o+16>>2]=n[243],o|0}function Je(o,l){o=o|0,l=l|0;var u=0,A=0;A=I,I=I+16|0,u=A,o||(n[u>>2]=l,Qo(0,5,3197,u)),I=A}function st(o){o=o|0,tx(o),n[2277]=(n[2277]|0)+-1}function St(o,l){o=o|0,l=l|0;var u=0;l?(wi(o,(Li(o)|0)==0,2629),u=1):(u=0,l=0),n[o+964>>2]=l,n[o+988>>2]=u}function lr(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,m=A+8|0,d=A+4|0,B=A,n[d>>2]=l,wi(o,(n[l+944>>2]|0)==0,2709),wi(o,(n[o+964>>2]|0)==0,2763),ee(o),l=o+948|0,n[B>>2]=(n[l>>2]|0)+(u<<2),n[m>>2]=n[B>>2],Ie(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=o,Oe(o),I=A}function ee(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0;if(u=Li(o)|0,u|0&&(n[(Cs(o,0)|0)+944>>2]|0)!=(o|0)){A=n[(n[o+976>>2]|0)+12>>2]|0,d=o+948|0,m=(A|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,k=uc(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=k,n[k+944>>2]=o,m||S_[A&15](B,k,o,l),l=l+1|0;while((l|0)!=(u|0))}}function Ie(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0,Qe=0,tt=0,Ze=0;tt=I,I=I+64|0,G=tt+52|0,k=tt+48|0,ae=tt+28|0,We=tt+24|0,Le=tt+20|0,Qe=tt,A=n[o>>2]|0,m=A,l=A+((n[l>>2]|0)-m>>2<<2)|0,A=o+4|0,d=n[A>>2]|0,B=o+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[u>>2],n[A>>2]=(n[A>>2]|0)+4;break}bP(o,l,d,l+4|0),l>>>0<=u>>>0&&(u=(n[A>>2]|0)>>>0>u>>>0?u+4|0:u),n[l>>2]=n[u>>2]}else{A=(d-m>>2)+1|0,d=O(o)|0,d>>>0>>0&&sn(o),M=n[o>>2]|0,_=(n[B>>2]|0)-M|0,m=_>>1,ky(Qe,_>>2>>>0>>1>>>0?m>>>0>>0?A:m:d,l-M>>2,o+8|0),M=Qe+8|0,A=n[M>>2]|0,m=Qe+12|0,_=n[m>>2]|0,B=_,T=A;do if((A|0)==(_|0)){if(_=Qe+4|0,A=n[_>>2]|0,Ze=n[Qe>>2]|0,d=Ze,A>>>0<=Ze>>>0){A=B-d>>1,A=A|0?A:1,ky(ae,A,A>>>2,n[Qe+16>>2]|0),n[We>>2]=n[_>>2],n[Le>>2]=n[M>>2],n[k>>2]=n[We>>2],n[G>>2]=n[Le>>2],c2(ae,k,G),A=n[Qe>>2]|0,n[Qe>>2]=n[ae>>2],n[ae>>2]=A,A=ae+4|0,Ze=n[_>>2]|0,n[_>>2]=n[A>>2],n[A>>2]=Ze,A=ae+8|0,Ze=n[M>>2]|0,n[M>>2]=n[A>>2],n[A>>2]=Ze,A=ae+12|0,Ze=n[m>>2]|0,n[m>>2]=n[A>>2],n[A>>2]=Ze,Qy(ae),A=n[M>>2]|0;break}m=A,B=((m-d>>2)+1|0)/-2|0,k=A+(B<<2)|0,d=T-m|0,m=d>>2,m&&(F2(k|0,A|0,d|0)|0,A=n[_>>2]|0),Ze=k+(m<<2)|0,n[M>>2]=Ze,n[_>>2]=A+(B<<2),A=Ze}while(!1);n[A>>2]=n[u>>2],n[M>>2]=(n[M>>2]|0)+4,l=PP(o,Qe,l)|0,Qy(Qe)}while(!1);return I=tt,l|0}function Oe(o){o=o|0;var l=0;do{if(l=o+984|0,s[l>>0]|0)break;s[l>>0]=1,h[o+504>>2]=y(ce),o=n[o+944>>2]|0}while(o|0)}function ht(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-4-A|0)>>>2)<<2)),yt(u))}function mt(o){return o=o|0,n[o+944>>2]|0}function Dt(o){o=o|0,wi(o,(n[o+964>>2]|0)!=0,2832),Oe(o)}function tr(o){return o=o|0,(s[o+984>>0]|0)!=0|0}function fn(o,l){o=o|0,l=l|0,qYe(o,l,400)|0&&(Qr(o|0,l|0,400)|0,Oe(o))}function ai(o){o=o|0;var l=Xe;return l=y(h[o+44>>2]),o=Mt(l)|0,y(o?y(0):l)}function qi(o){o=o|0;var l=Xe;return l=y(h[o+48>>2]),Mt(l)|0&&(l=s[(n[o+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function Tn(o,l){o=o|0,l=l|0,n[o+980>>2]=l}function Ga(o){return o=o|0,n[o+980>>2]|0}function my(o,l){o=o|0,l=l|0;var u=0;u=o+4|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function t2(o){return o=o|0,n[o+4>>2]|0}function Do(o,l){o=o|0,l=l|0;var u=0;u=o+8|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function yy(o){return o=o|0,n[o+8>>2]|0}function wh(o,l){o=o|0,l=l|0;var u=0;u=o+12|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function r2(o){return o=o|0,n[o+12>>2]|0}function bo(o,l){o=o|0,l=l|0;var u=0;u=o+16|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Bh(o){return o=o|0,n[o+16>>2]|0}function vh(o,l){o=o|0,l=l|0;var u=0;u=o+20|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function du(o){return o=o|0,n[o+20>>2]|0}function Sh(o,l){o=o|0,l=l|0;var u=0;u=o+24|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Ng(o){return o=o|0,n[o+24>>2]|0}function Og(o,l){o=o|0,l=l|0;var u=0;u=o+28|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Lg(o){return o=o|0,n[o+28>>2]|0}function Ey(o,l){o=o|0,l=l|0;var u=0;u=o+32|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function mf(o){return o=o|0,n[o+32>>2]|0}function Po(o,l){o=o|0,l=l|0;var u=0;u=o+36|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Dl(o){return o=o|0,n[o+36>>2]|0}function Dh(o,l){o=o|0,l=y(l);var u=0;u=o+40|0,y(h[u>>2])!=l&&(h[u>>2]=l,Oe(o))}function Mg(o,l){o=o|0,l=y(l);var u=0;u=o+44|0,y(h[u>>2])!=l&&(h[u>>2]=l,Oe(o))}function bl(o,l){o=o|0,l=y(l);var u=0;u=o+48|0,y(h[u>>2])!=l&&(h[u>>2]=l,Oe(o))}function Pl(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=(m^1)&1,A=o+52|0,d=o+56|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function Iy(o,l){o=o|0,l=y(l);var u=0,A=0;A=o+52|0,u=o+56|0,y(h[A>>2])==l&&(n[u>>2]|0)==2||(h[A>>2]=l,A=Mt(l)|0,n[u>>2]=A?3:2,Oe(o))}function HA(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+52|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function Cy(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Mt(u)|0,A=(m^1)&1,d=o+132+(l<<3)|0,l=o+132+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function wy(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Mt(u)|0,A=m?0:2,d=o+132+(l<<3)|0,l=o+132+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function jA(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=l+132+(u<<3)|0,l=n[A+4>>2]|0,u=o,n[u>>2]=n[A>>2],n[u+4>>2]=l}function qA(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Mt(u)|0,A=(m^1)&1,d=o+60+(l<<3)|0,l=o+60+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function Y(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Mt(u)|0,A=m?0:2,d=o+60+(l<<3)|0,l=o+60+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function xt(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=l+60+(u<<3)|0,l=n[A+4>>2]|0,u=o,n[u>>2]=n[A>>2],n[u+4>>2]=l}function GA(o,l){o=o|0,l=l|0;var u=0;u=o+60+(l<<3)+4|0,(n[u>>2]|0)!=3&&(h[o+60+(l<<3)>>2]=y(ce),n[u>>2]=3,Oe(o))}function xo(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Mt(u)|0,A=(m^1)&1,d=o+204+(l<<3)|0,l=o+204+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function yf(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Mt(u)|0,A=m?0:2,d=o+204+(l<<3)|0,l=o+204+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function dt(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=l+204+(u<<3)|0,l=n[A+4>>2]|0,u=o,n[u>>2]=n[A>>2],n[u+4>>2]=l}function mu(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Mt(u)|0,A=(m^1)&1,d=o+276+(l<<3)|0,l=o+276+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function By(o,l){return o=o|0,l=l|0,y(h[o+276+(l<<3)>>2])}function _g(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=(m^1)&1,A=o+348|0,d=o+352|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function n2(o,l){o=o|0,l=y(l);var u=0,A=0;A=o+348|0,u=o+352|0,y(h[A>>2])==l&&(n[u>>2]|0)==2||(h[A>>2]=l,A=Mt(l)|0,n[u>>2]=A?3:2,Oe(o))}function bh(o){o=o|0;var l=0;l=o+352|0,(n[l>>2]|0)!=3&&(h[o+348>>2]=y(ce),n[l>>2]=3,Oe(o))}function ur(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+348|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function zi(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=(m^1)&1,A=o+356|0,d=o+360|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function Ef(o,l){o=o|0,l=y(l);var u=0,A=0;A=o+356|0,u=o+360|0,y(h[A>>2])==l&&(n[u>>2]|0)==2||(h[A>>2]=l,A=Mt(l)|0,n[u>>2]=A?3:2,Oe(o))}function Wa(o){o=o|0;var l=0;l=o+360|0,(n[l>>2]|0)!=3&&(h[o+356>>2]=y(ce),n[l>>2]=3,Oe(o))}function Ug(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+356|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function yu(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=(m^1)&1,A=o+364|0,d=o+368|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function If(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=m?0:2,A=o+364|0,d=o+368|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function wt(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+364|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function gi(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=(m^1)&1,A=o+372|0,d=o+376|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function WA(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=m?0:2,A=o+372|0,d=o+376|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function Ya(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+372|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function pa(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=(m^1)&1,A=o+380|0,d=o+384|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function Va(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=m?0:2,A=o+380|0,d=o+384|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function Hg(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+380|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function Ph(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=(m^1)&1,A=o+388|0,d=o+392|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function jg(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Mt(l)|0,u=m?0:2,A=o+388|0,d=o+392|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function vy(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+388|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function YA(o,l){o=o|0,l=y(l);var u=0;u=o+396|0,y(h[u>>2])!=l&&(h[u>>2]=l,Oe(o))}function qg(o){return o=o|0,y(h[o+396>>2])}function Eu(o){return o=o|0,y(h[o+400>>2])}function Iu(o){return o=o|0,y(h[o+404>>2])}function Cf(o){return o=o|0,y(h[o+408>>2])}function Fs(o){return o=o|0,y(h[o+412>>2])}function Cu(o){return o=o|0,y(h[o+416>>2])}function qn(o){return o=o|0,y(h[o+420>>2])}function is(o,l){switch(o=o|0,l=l|0,wi(o,(l|0)<6,2918),l|0){case 0:{l=(n[o+496>>2]|0)==2?5:4;break}case 2:{l=(n[o+496>>2]|0)==2?4:5;break}default:}return y(h[o+424+(l<<2)>>2])}function xi(o,l){switch(o=o|0,l=l|0,wi(o,(l|0)<6,2918),l|0){case 0:{l=(n[o+496>>2]|0)==2?5:4;break}case 2:{l=(n[o+496>>2]|0)==2?4:5;break}default:}return y(h[o+448+(l<<2)>>2])}function VA(o,l){switch(o=o|0,l=l|0,wi(o,(l|0)<6,2918),l|0){case 0:{l=(n[o+496>>2]|0)==2?5:4;break}case 2:{l=(n[o+496>>2]|0)==2?4:5;break}default:}return y(h[o+472+(l<<2)>>2])}function wf(o,l){o=o|0,l=l|0;var u=0,A=Xe;return u=n[o+4>>2]|0,(u|0)==(n[l+4>>2]|0)?u?(A=y(h[o>>2]),o=y(se(y(A-y(h[l>>2]))))>2]=0,n[A+4>>2]=0,n[A+8>>2]=0,fu(A|0,o|0,l|0,0),Qo(o,3,(s[A+11>>0]|0)<0?n[A>>2]|0:A,u),AVe(A),I=u}function ss(o,l,u,A){o=y(o),l=y(l),u=u|0,A=A|0;var d=Xe;o=y(o*l),d=y(E_(o,y(1)));do if(mn(d,y(0))|0)o=y(o-d);else{if(o=y(o-d),mn(d,y(1))|0){o=y(o+y(1));break}if(u){o=y(o+y(1));break}A||(d>y(.5)?d=y(1):(A=mn(d,y(.5))|0,d=y(A?1:0)),o=y(o+d))}while(!1);return y(o/l)}function xl(o,l,u,A,d,m,B,k,T,_,M,G,ae){o=o|0,l=y(l),u=u|0,A=y(A),d=d|0,m=y(m),B=B|0,k=y(k),T=y(T),_=y(_),M=y(M),G=y(G),ae=ae|0;var We=0,Le=Xe,Qe=Xe,tt=Xe,Ze=Xe,ct=Xe,He=Xe;return T>2]),Le!=y(0))?(tt=y(ss(l,Le,0,0)),Ze=y(ss(A,Le,0,0)),Qe=y(ss(m,Le,0,0)),Le=y(ss(k,Le,0,0))):(Qe=m,tt=l,Le=k,Ze=A),(d|0)==(o|0)?We=mn(Qe,tt)|0:We=0,(B|0)==(u|0)?ae=mn(Le,Ze)|0:ae=0,!We&&(ct=y(l-M),!(ko(o,ct,T)|0))&&!(Bf(o,ct,d,T)|0)?We=vf(o,ct,d,m,T)|0:We=1,!ae&&(He=y(A-G),!(ko(u,He,_)|0))&&!(Bf(u,He,B,_)|0)?ae=vf(u,He,B,k,_)|0:ae=1,ae=We&ae),ae|0}function ko(o,l,u){return o=o|0,l=y(l),u=y(u),(o|0)==1?o=mn(l,u)|0:o=0,o|0}function Bf(o,l,u,A){return o=o|0,l=y(l),u=u|0,A=y(A),(o|0)==2&(u|0)==0?l>=A?o=1:o=mn(l,A)|0:o=0,o|0}function vf(o,l,u,A,d){return o=o|0,l=y(l),u=u|0,A=y(A),d=y(d),(o|0)==2&(u|0)==2&A>l?d<=l?o=1:o=mn(l,d)|0:o=0,o|0}function kl(o,l,u,A,d,m,B,k,T,_,M){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=m|0,B=y(B),k=y(k),T=T|0,_=_|0,M=M|0;var G=0,ae=0,We=0,Le=0,Qe=Xe,tt=Xe,Ze=0,ct=0,He=0,Ge=0,Lt=0,qr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0,Hn=Xe,Fo=Xe,No=Xe,Oo=0,$a=0;cr=I,I=I+160|0,$t=cr+152|0,fr=cr+120|0,qr=cr+104|0,He=cr+72|0,Le=cr+56|0,Lt=cr+8|0,ct=cr,Ge=(n[2279]|0)+1|0,n[2279]=Ge,Tr=o+984|0,s[Tr>>0]|0&&(n[o+512>>2]|0)!=(n[2278]|0)?Ze=4:(n[o+516>>2]|0)==(A|0)?Hr=0:Ze=4,(Ze|0)==4&&(n[o+520>>2]=0,n[o+924>>2]=-1,n[o+928>>2]=-1,h[o+932>>2]=y(-1),h[o+936>>2]=y(-1),Hr=1);e:do if(n[o+964>>2]|0)if(Qe=y(yn(o,2,B)),tt=y(yn(o,0,B)),G=o+916|0,No=y(h[G>>2]),Fo=y(h[o+920>>2]),Hn=y(h[o+932>>2]),xl(d,l,m,u,n[o+924>>2]|0,No,n[o+928>>2]|0,Fo,Hn,y(h[o+936>>2]),Qe,tt,M)|0)Ze=22;else if(We=n[o+520>>2]|0,!We)Ze=21;else for(ae=0;;){if(G=o+524+(ae*24|0)|0,Hn=y(h[G>>2]),Fo=y(h[o+524+(ae*24|0)+4>>2]),No=y(h[o+524+(ae*24|0)+16>>2]),xl(d,l,m,u,n[o+524+(ae*24|0)+8>>2]|0,Hn,n[o+524+(ae*24|0)+12>>2]|0,Fo,No,y(h[o+524+(ae*24|0)+20>>2]),Qe,tt,M)|0){Ze=22;break e}if(ae=ae+1|0,ae>>>0>=We>>>0){Ze=21;break}}else{if(T){if(G=o+916|0,!(mn(y(h[G>>2]),l)|0)){Ze=21;break}if(!(mn(y(h[o+920>>2]),u)|0)){Ze=21;break}if((n[o+924>>2]|0)!=(d|0)){Ze=21;break}G=(n[o+928>>2]|0)==(m|0)?G:0,Ze=22;break}if(We=n[o+520>>2]|0,!We)Ze=21;else for(ae=0;;){if(G=o+524+(ae*24|0)|0,mn(y(h[G>>2]),l)|0&&mn(y(h[o+524+(ae*24|0)+4>>2]),u)|0&&(n[o+524+(ae*24|0)+8>>2]|0)==(d|0)&&(n[o+524+(ae*24|0)+12>>2]|0)==(m|0)){Ze=22;break e}if(ae=ae+1|0,ae>>>0>=We>>>0){Ze=21;break}}}while(!1);do if((Ze|0)==21)s[11697]|0?(G=0,Ze=28):(G=0,Ze=31);else if((Ze|0)==22){if(ae=(s[11697]|0)!=0,!((G|0)!=0&(Hr^1)))if(ae){Ze=28;break}else{Ze=31;break}Le=G+16|0,n[o+908>>2]=n[Le>>2],We=G+20|0,n[o+912>>2]=n[We>>2],(s[11698]|0)==0|ae^1||(n[ct>>2]=wu(Ge)|0,n[ct+4>>2]=Ge,Qo(o,4,2972,ct),ae=n[o+972>>2]|0,ae|0&&op[ae&127](o),d=ha(d,T)|0,m=ha(m,T)|0,$a=+y(h[Le>>2]),Oo=+y(h[We>>2]),n[Lt>>2]=d,n[Lt+4>>2]=m,E[Lt+8>>3]=+l,E[Lt+16>>3]=+u,E[Lt+24>>3]=$a,E[Lt+32>>3]=Oo,n[Lt+40>>2]=_,Qo(o,4,2989,Lt))}while(!1);return(Ze|0)==28&&(ae=wu(Ge)|0,n[Le>>2]=ae,n[Le+4>>2]=Ge,n[Le+8>>2]=Hr?3047:11699,Qo(o,4,3038,Le),ae=n[o+972>>2]|0,ae|0&&op[ae&127](o),Lt=ha(d,T)|0,Ze=ha(m,T)|0,n[He>>2]=Lt,n[He+4>>2]=Ze,E[He+8>>3]=+l,E[He+16>>3]=+u,n[He+24>>2]=_,Qo(o,4,3049,He),Ze=31),(Ze|0)==31&&(Ns(o,l,u,A,d,m,B,k,T,M),s[11697]|0&&(ae=n[2279]|0,Lt=wu(ae)|0,n[qr>>2]=Lt,n[qr+4>>2]=ae,n[qr+8>>2]=Hr?3047:11699,Qo(o,4,3083,qr),ae=n[o+972>>2]|0,ae|0&&op[ae&127](o),Lt=ha(d,T)|0,qr=ha(m,T)|0,Oo=+y(h[o+908>>2]),$a=+y(h[o+912>>2]),n[fr>>2]=Lt,n[fr+4>>2]=qr,E[fr+8>>3]=Oo,E[fr+16>>3]=$a,n[fr+24>>2]=_,Qo(o,4,3092,fr)),n[o+516>>2]=A,G||(ae=o+520|0,G=n[ae>>2]|0,(G|0)==16&&(s[11697]|0&&Qo(o,4,3124,$t),n[ae>>2]=0,G=0),T?G=o+916|0:(n[ae>>2]=G+1,G=o+524+(G*24|0)|0),h[G>>2]=l,h[G+4>>2]=u,n[G+8>>2]=d,n[G+12>>2]=m,n[G+16>>2]=n[o+908>>2],n[G+20>>2]=n[o+912>>2],G=0)),T&&(n[o+416>>2]=n[o+908>>2],n[o+420>>2]=n[o+912>>2],s[o+985>>0]=1,s[Tr>>0]=0),n[2279]=(n[2279]|0)+-1,n[o+512>>2]=n[2278],I=cr,Hr|(G|0)==0|0}function yn(o,l,u){o=o|0,l=l|0,u=y(u);var A=Xe;return A=y(J(o,l,u)),y(A+y(re(o,l,u)))}function Qo(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=I,I=I+16|0,d=m,n[d>>2]=A,o?A=n[o+976>>2]|0:A=0,Qh(A,o,l,u,d),I=m}function wu(o){return o=o|0,(o>>>0>60?3201:3201+(60-o)|0)|0}function ha(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;return d=I,I=I+32|0,u=d+12|0,A=d,n[u>>2]=n[254],n[u+4>>2]=n[255],n[u+8>>2]=n[256],n[A>>2]=n[257],n[A+4>>2]=n[258],n[A+8>>2]=n[259],(o|0)>2?o=11699:o=n[(l?A:u)+(o<<2)>>2]|0,I=d,o|0}function Ns(o,l,u,A,d,m,B,k,T,_){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=m|0,B=y(B),k=y(k),T=T|0,_=_|0;var M=0,G=0,ae=0,We=0,Le=Xe,Qe=Xe,tt=Xe,Ze=Xe,ct=Xe,He=Xe,Ge=Xe,Lt=0,qr=0,fr=0,$t=Xe,Tr=Xe,Hr=0,cr=Xe,Hn=0,Fo=0,No=0,Oo=0,$a=0,Kh=0,Jh=0,dc=0,zh=0,Ff=0,Nf=0,Zh=0,Xh=0,$h=0,on=0,mc=0,e0=0,ku=0,t0=Xe,r0=Xe,Of=Xe,Lf=Xe,Qu=Xe,ao=0,Ml=0,ya=0,yc=0,lp=0,cp=Xe,Mf=Xe,up=Xe,fp=Xe,lo=Xe,_s=Xe,Ec=0,Wn=Xe,Ap=Xe,Lo=Xe,Tu=Xe,Mo=Xe,Ru=Xe,pp=0,hp=0,Fu=Xe,co=Xe,Ic=0,gp=0,dp=0,mp=0,Fr=Xe,ci=0,Us=0,_o=0,uo=0,Mr=0,Ar=0,Cc=0,zt=Xe,yp=0,Bi=0;Cc=I,I=I+16|0,ao=Cc+12|0,Ml=Cc+8|0,ya=Cc+4|0,yc=Cc,wi(o,(d|0)==0|(Mt(l)|0)^1,3326),wi(o,(m|0)==0|(Mt(u)|0)^1,3406),Us=ft(o,A)|0,n[o+496>>2]=Us,Mr=dr(2,Us)|0,Ar=dr(0,Us)|0,h[o+440>>2]=y(J(o,Mr,B)),h[o+444>>2]=y(re(o,Mr,B)),h[o+428>>2]=y(J(o,Ar,B)),h[o+436>>2]=y(re(o,Ar,B)),h[o+464>>2]=y(Br(o,Mr)),h[o+468>>2]=y(_n(o,Mr)),h[o+452>>2]=y(Br(o,Ar)),h[o+460>>2]=y(_n(o,Ar)),h[o+488>>2]=y(di(o,Mr,B)),h[o+492>>2]=y(ws(o,Mr,B)),h[o+476>>2]=y(di(o,Ar,B)),h[o+484>>2]=y(ws(o,Ar,B));do if(n[o+964>>2]|0)zA(o,l,u,d,m,B,k);else{if(_o=o+948|0,uo=(n[o+952>>2]|0)-(n[_o>>2]|0)>>2,!uo){wP(o,l,u,d,m,B,k);break}if(!T&&i2(o,l,u,d,m,B,k)|0)break;ee(o),mc=o+508|0,s[mc>>0]=0,Mr=dr(n[o+4>>2]|0,Us)|0,Ar=by(Mr,Us)|0,ci=de(Mr)|0,e0=n[o+8>>2]|0,gp=o+28|0,ku=(n[gp>>2]|0)!=0,Mo=ci?B:k,Fu=ci?k:B,t0=y(Rh(o,Mr,B)),r0=y(s2(o,Mr,B)),Le=y(Rh(o,Ar,B)),Ru=y(Ka(o,Mr,B)),co=y(Ka(o,Ar,B)),fr=ci?d:m,Ic=ci?m:d,Fr=ci?Ru:co,ct=ci?co:Ru,Tu=y(yn(o,2,B)),Ze=y(yn(o,0,B)),Qe=y(y(Xr(o+364|0,B))-Fr),tt=y(y(Xr(o+380|0,B))-Fr),He=y(y(Xr(o+372|0,k))-ct),Ge=y(y(Xr(o+388|0,k))-ct),Of=ci?Qe:He,Lf=ci?tt:Ge,Tu=y(l-Tu),l=y(Tu-Fr),Mt(l)|0?Fr=l:Fr=y($n(y(hd(l,tt)),Qe)),Ap=y(u-Ze),l=y(Ap-ct),Mt(l)|0?Lo=l:Lo=y($n(y(hd(l,Ge)),He)),Qe=ci?Fr:Lo,Wn=ci?Lo:Fr;e:do if((fr|0)==1)for(A=0,G=0;;){if(M=Cs(o,G)|0,!A)y(ZA(M))>y(0)&&y(Fh(M))>y(0)?A=M:A=0;else if(o2(M)|0){We=0;break e}if(G=G+1|0,G>>>0>=uo>>>0){We=A;break}}else We=0;while(!1);Lt=We+500|0,qr=We+504|0,A=0,M=0,l=y(0),ae=0;do{if(G=n[(n[_o>>2]|0)+(ae<<2)>>2]|0,(n[G+36>>2]|0)==1)Py(G),s[G+985>>0]=1,s[G+984>>0]=0;else{Sf(G),T&&kh(G,ft(G,Us)|0,Qe,Wn,Fr);do if((n[G+24>>2]|0)!=1)if((G|0)==(We|0)){n[Lt>>2]=n[2278],h[qr>>2]=y(0);break}else{BP(o,G,Fr,d,Lo,Fr,Lo,m,Us,_);break}else M|0&&(n[M+960>>2]=G),n[G+960>>2]=0,M=G,A=A|0?A:G;while(!1);_s=y(h[G+504>>2]),l=y(l+y(_s+y(yn(G,Mr,Fr))))}ae=ae+1|0}while((ae|0)!=(uo|0));for(No=l>Qe,Ec=ku&((fr|0)==2&No)?1:fr,Hn=(Ic|0)==1,$a=Hn&(T^1),Kh=(Ec|0)==1,Jh=(Ec|0)==2,dc=976+(Mr<<2)|0,zh=(Ic|2|0)==2,$h=Hn&(ku^1),Ff=1040+(Ar<<2)|0,Nf=1040+(Mr<<2)|0,Zh=976+(Ar<<2)|0,Xh=(Ic|0)!=1,No=ku&((fr|0)!=0&No),Fo=o+976|0,Hn=Hn^1,l=Qe,Hr=0,Oo=0,_s=y(0),Qu=y(0);;){e:do if(Hr>>>0>>0)for(qr=n[_o>>2]|0,ae=0,Ge=y(0),He=y(0),tt=y(0),Qe=y(0),G=0,M=0,We=Hr;;){if(Lt=n[qr+(We<<2)>>2]|0,(n[Lt+36>>2]|0)!=1&&(n[Lt+940>>2]=Oo,(n[Lt+24>>2]|0)!=1)){if(Ze=y(yn(Lt,Mr,Fr)),on=n[dc>>2]|0,u=y(Xr(Lt+380+(on<<3)|0,Mo)),ct=y(h[Lt+504>>2]),u=y(hd(u,ct)),u=y($n(y(Xr(Lt+364+(on<<3)|0,Mo)),u)),ku&(ae|0)!=0&y(Ze+y(He+u))>l){m=ae,Ze=Ge,fr=We;break e}Ze=y(Ze+u),u=y(He+Ze),Ze=y(Ge+Ze),o2(Lt)|0&&(tt=y(tt+y(ZA(Lt))),Qe=y(Qe-y(ct*y(Fh(Lt))))),M|0&&(n[M+960>>2]=Lt),n[Lt+960>>2]=0,ae=ae+1|0,M=Lt,G=G|0?G:Lt}else Ze=Ge,u=He;if(We=We+1|0,We>>>0>>0)Ge=Ze,He=u;else{m=ae,fr=We;break}}else m=0,Ze=y(0),tt=y(0),Qe=y(0),G=0,fr=Hr;while(!1);on=tt>y(0)&tty(0)&QeLf&((Mt(Lf)|0)^1))l=Lf,on=51;else if(s[(n[Fo>>2]|0)+3>>0]|0)on=51;else{if($t!=y(0)&&y(ZA(o))!=y(0)){on=53;break}l=Ze,on=53}while(!1);if((on|0)==51&&(on=0,Mt(l)|0?on=53:(Tr=y(l-Ze),cr=l)),(on|0)==53&&(on=0,Ze>2]|0,We=Try(0),He=y(Tr/$t),tt=y(0),Ze=y(0),l=y(0),M=G;do u=y(Xr(M+380+(ae<<3)|0,Mo)),Qe=y(Xr(M+364+(ae<<3)|0,Mo)),Qe=y(hd(u,y($n(Qe,y(h[M+504>>2]))))),We?(u=y(Qe*y(Fh(M))),u!=y(-0)&&(zt=y(Qe-y(ct*u)),cp=y(Gn(M,Mr,zt,cr,Fr)),zt!=cp)&&(tt=y(tt-y(cp-Qe)),l=y(l+u))):Lt&&(Mf=y(ZA(M)),Mf!=y(0))&&(zt=y(Qe+y(He*Mf)),up=y(Gn(M,Mr,zt,cr,Fr)),zt!=up)&&(tt=y(tt-y(up-Qe)),Ze=y(Ze-Mf)),M=n[M+960>>2]|0;while(M|0);if(l=y(Ge+l),Qe=y(Tr+tt),lp)l=y(0);else{ct=y($t+Ze),We=n[dc>>2]|0,Lt=Qey(0),ct=y(Qe/ct),l=y(0);do{zt=y(Xr(G+380+(We<<3)|0,Mo)),tt=y(Xr(G+364+(We<<3)|0,Mo)),tt=y(hd(zt,y($n(tt,y(h[G+504>>2]))))),Lt?(zt=y(tt*y(Fh(G))),Qe=y(-zt),zt!=y(-0)?(zt=y(He*Qe),Qe=y(Gn(G,Mr,y(tt+(qr?Qe:zt)),cr,Fr))):Qe=tt):ae&&(fp=y(ZA(G)),fp!=y(0))?Qe=y(Gn(G,Mr,y(tt+y(ct*fp)),cr,Fr)):Qe=tt,l=y(l-y(Qe-tt)),Ze=y(yn(G,Mr,Fr)),u=y(yn(G,Ar,Fr)),Qe=y(Qe+Ze),h[Ml>>2]=Qe,n[yc>>2]=1,tt=y(h[G+396>>2]);e:do if(Mt(tt)|0){M=Mt(Wn)|0;do if(!M){if(No|(so(G,Ar,Wn)|0|Hn)||(os(o,G)|0)!=4||(n[(Ql(G,Ar)|0)+4>>2]|0)==3||(n[(Tl(G,Ar)|0)+4>>2]|0)==3)break;h[ao>>2]=Wn,n[ya>>2]=1;break e}while(!1);if(so(G,Ar,Wn)|0){M=n[G+992+(n[Zh>>2]<<2)>>2]|0,zt=y(u+y(Xr(M,Wn))),h[ao>>2]=zt,M=Xh&(n[M+4>>2]|0)==2,n[ya>>2]=((Mt(zt)|0|M)^1)&1;break}else{h[ao>>2]=Wn,n[ya>>2]=M?0:2;break}}else zt=y(Qe-Ze),$t=y(zt/tt),zt=y(tt*zt),n[ya>>2]=1,h[ao>>2]=y(u+(ci?$t:zt));while(!1);Bu(G,Mr,cr,Fr,yc,Ml),Bu(G,Ar,Wn,Fr,ya,ao);do if(!(so(G,Ar,Wn)|0)&&(os(o,G)|0)==4){if((n[(Ql(G,Ar)|0)+4>>2]|0)==3){M=0;break}M=(n[(Tl(G,Ar)|0)+4>>2]|0)!=3}else M=0;while(!1);zt=y(h[Ml>>2]),$t=y(h[ao>>2]),yp=n[yc>>2]|0,Bi=n[ya>>2]|0,kl(G,ci?zt:$t,ci?$t:zt,Us,ci?yp:Bi,ci?Bi:yp,Fr,Lo,T&(M^1),3488,_)|0,s[mc>>0]=s[mc>>0]|s[G+508>>0],G=n[G+960>>2]|0}while(G|0)}}else l=y(0);if(l=y(Tr+l),Bi=l>0]=Bi|c[mc>>0],Jh&l>y(0)?(M=n[dc>>2]|0,n[o+364+(M<<3)+4>>2]|0&&(lo=y(Xr(o+364+(M<<3)|0,Mo)),lo>=y(0))?Qe=y($n(y(0),y(lo-y(cr-l)))):Qe=y(0)):Qe=l,Lt=Hr>>>0>>0,Lt){We=n[_o>>2]|0,ae=Hr,M=0;do G=n[We+(ae<<2)>>2]|0,n[G+24>>2]|0||(M=((n[(Ql(G,Mr)|0)+4>>2]|0)==3&1)+M|0,M=M+((n[(Tl(G,Mr)|0)+4>>2]|0)==3&1)|0),ae=ae+1|0;while((ae|0)!=(fr|0));M?(Ze=y(0),u=y(0)):on=101}else on=101;e:do if((on|0)==101)switch(on=0,e0|0){case 1:{M=0,Ze=y(Qe*y(.5)),u=y(0);break e}case 2:{M=0,Ze=Qe,u=y(0);break e}case 3:{if(m>>>0<=1){M=0,Ze=y(0),u=y(0);break e}u=y((m+-1|0)>>>0),M=0,Ze=y(0),u=y(y($n(Qe,y(0)))/u);break e}case 5:{u=y(Qe/y((m+1|0)>>>0)),M=0,Ze=u;break e}case 4:{u=y(Qe/y(m>>>0)),M=0,Ze=y(u*y(.5));break e}default:{M=0,Ze=y(0),u=y(0);break e}}while(!1);if(l=y(t0+Ze),Lt){tt=y(Qe/y(M|0)),ae=n[_o>>2]|0,G=Hr,Qe=y(0);do{M=n[ae+(G<<2)>>2]|0;e:do if((n[M+36>>2]|0)!=1){switch(n[M+24>>2]|0){case 1:{if(ga(M,Mr)|0){if(!T)break e;zt=y(XA(M,Mr,cr)),zt=y(zt+y(Br(o,Mr))),zt=y(zt+y(J(M,Mr,Fr))),h[M+400+(n[Nf>>2]<<2)>>2]=zt;break e}break}case 0:if(Bi=(n[(Ql(M,Mr)|0)+4>>2]|0)==3,zt=y(tt+l),l=Bi?zt:l,T&&(Bi=M+400+(n[Nf>>2]<<2)|0,h[Bi>>2]=y(l+y(h[Bi>>2]))),Bi=(n[(Tl(M,Mr)|0)+4>>2]|0)==3,zt=y(tt+l),l=Bi?zt:l,$a){zt=y(u+y(yn(M,Mr,Fr))),Qe=Wn,l=y(l+y(zt+y(h[M+504>>2])));break e}else{l=y(l+y(u+y($A(M,Mr,Fr)))),Qe=y($n(Qe,y($A(M,Ar,Fr))));break e}default:}T&&(zt=y(Ze+y(Br(o,Mr))),Bi=M+400+(n[Nf>>2]<<2)|0,h[Bi>>2]=y(zt+y(h[Bi>>2])))}while(!1);G=G+1|0}while((G|0)!=(fr|0))}else Qe=y(0);if(u=y(r0+l),zh?Ze=y(y(Gn(o,Ar,y(co+Qe),Fu,B))-co):Ze=Wn,tt=y(y(Gn(o,Ar,y(co+($h?Wn:Qe)),Fu,B))-co),Lt&T){G=Hr;do{ae=n[(n[_o>>2]|0)+(G<<2)>>2]|0;do if((n[ae+36>>2]|0)!=1){if((n[ae+24>>2]|0)==1){if(ga(ae,Ar)|0){if(zt=y(XA(ae,Ar,Wn)),zt=y(zt+y(Br(o,Ar))),zt=y(zt+y(J(ae,Ar,Fr))),M=n[Ff>>2]|0,h[ae+400+(M<<2)>>2]=zt,!(Mt(zt)|0))break}else M=n[Ff>>2]|0;zt=y(Br(o,Ar)),h[ae+400+(M<<2)>>2]=y(zt+y(J(ae,Ar,Fr)));break}M=os(o,ae)|0;do if((M|0)==4){if((n[(Ql(ae,Ar)|0)+4>>2]|0)==3){on=139;break}if((n[(Tl(ae,Ar)|0)+4>>2]|0)==3){on=139;break}if(so(ae,Ar,Wn)|0){l=Le;break}yp=n[ae+908+(n[dc>>2]<<2)>>2]|0,n[ao>>2]=yp,l=y(h[ae+396>>2]),Bi=Mt(l)|0,Qe=(n[S>>2]=yp,y(h[S>>2])),Bi?l=tt:(Tr=y(yn(ae,Ar,Fr)),zt=y(Qe/l),l=y(l*Qe),l=y(Tr+(ci?zt:l))),h[Ml>>2]=l,h[ao>>2]=y(y(yn(ae,Mr,Fr))+Qe),n[ya>>2]=1,n[yc>>2]=1,Bu(ae,Mr,cr,Fr,ya,ao),Bu(ae,Ar,Wn,Fr,yc,Ml),l=y(h[ao>>2]),Tr=y(h[Ml>>2]),zt=ci?l:Tr,l=ci?Tr:l,Bi=((Mt(zt)|0)^1)&1,kl(ae,zt,l,Us,Bi,((Mt(l)|0)^1)&1,Fr,Lo,1,3493,_)|0,l=Le}else on=139;while(!1);e:do if((on|0)==139){on=0,l=y(Ze-y($A(ae,Ar,Fr)));do if((n[(Ql(ae,Ar)|0)+4>>2]|0)==3){if((n[(Tl(ae,Ar)|0)+4>>2]|0)!=3)break;l=y(Le+y($n(y(0),y(l*y(.5)))));break e}while(!1);if((n[(Tl(ae,Ar)|0)+4>>2]|0)==3){l=Le;break}if((n[(Ql(ae,Ar)|0)+4>>2]|0)==3){l=y(Le+y($n(y(0),l)));break}switch(M|0){case 1:{l=Le;break e}case 2:{l=y(Le+y(l*y(.5)));break e}default:{l=y(Le+l);break e}}}while(!1);zt=y(_s+l),Bi=ae+400+(n[Ff>>2]<<2)|0,h[Bi>>2]=y(zt+y(h[Bi>>2]))}while(!1);G=G+1|0}while((G|0)!=(fr|0))}if(_s=y(_s+tt),Qu=y($n(Qu,u)),m=Oo+1|0,fr>>>0>=uo>>>0)break;l=cr,Hr=fr,Oo=m}do if(T){if(M=m>>>0>1,!M&&!(XL(o)|0))break;if(!(Mt(Wn)|0)){l=y(Wn-_s);e:do switch(n[o+12>>2]|0){case 3:{Le=y(Le+l),He=y(0);break}case 2:{Le=y(Le+y(l*y(.5))),He=y(0);break}case 4:{Wn>_s?He=y(l/y(m>>>0)):He=y(0);break}case 7:if(Wn>_s){Le=y(Le+y(l/y(m<<1>>>0))),He=y(l/y(m>>>0)),He=M?He:y(0);break e}else{Le=y(Le+y(l*y(.5))),He=y(0);break e}case 6:{He=y(l/y(Oo>>>0)),He=Wn>_s&M?He:y(0);break}default:He=y(0)}while(!1);if(m|0)for(Lt=1040+(Ar<<2)|0,qr=976+(Ar<<2)|0,We=0,G=0;;){e:do if(G>>>0>>0)for(Qe=y(0),tt=y(0),l=y(0),ae=G;;){M=n[(n[_o>>2]|0)+(ae<<2)>>2]|0;do if((n[M+36>>2]|0)!=1&&!(n[M+24>>2]|0)){if((n[M+940>>2]|0)!=(We|0))break e;if($L(M,Ar)|0&&(zt=y(h[M+908+(n[qr>>2]<<2)>>2]),l=y($n(l,y(zt+y(yn(M,Ar,Fr)))))),(os(o,M)|0)!=5)break;lo=y(Vg(M)),lo=y(lo+y(J(M,0,Fr))),zt=y(h[M+912>>2]),zt=y(y(zt+y(yn(M,0,Fr)))-lo),lo=y($n(tt,lo)),zt=y($n(Qe,zt)),Qe=zt,tt=lo,l=y($n(l,y(lo+zt)))}while(!1);if(M=ae+1|0,M>>>0>>0)ae=M;else{ae=M;break}}else tt=y(0),l=y(0),ae=G;while(!1);if(ct=y(He+l),u=Le,Le=y(Le+ct),G>>>0>>0){Ze=y(u+tt),M=G;do{G=n[(n[_o>>2]|0)+(M<<2)>>2]|0;e:do if((n[G+36>>2]|0)!=1&&!(n[G+24>>2]|0))switch(os(o,G)|0){case 1:{zt=y(u+y(J(G,Ar,Fr))),h[G+400+(n[Lt>>2]<<2)>>2]=zt;break e}case 3:{zt=y(y(Le-y(re(G,Ar,Fr)))-y(h[G+908+(n[qr>>2]<<2)>>2])),h[G+400+(n[Lt>>2]<<2)>>2]=zt;break e}case 2:{zt=y(u+y(y(ct-y(h[G+908+(n[qr>>2]<<2)>>2]))*y(.5))),h[G+400+(n[Lt>>2]<<2)>>2]=zt;break e}case 4:{if(zt=y(u+y(J(G,Ar,Fr))),h[G+400+(n[Lt>>2]<<2)>>2]=zt,so(G,Ar,Wn)|0||(ci?(Qe=y(h[G+908>>2]),l=y(Qe+y(yn(G,Mr,Fr))),tt=ct):(tt=y(h[G+912>>2]),tt=y(tt+y(yn(G,Ar,Fr))),l=ct,Qe=y(h[G+908>>2])),mn(l,Qe)|0&&mn(tt,y(h[G+912>>2]))|0))break e;kl(G,l,tt,Us,1,1,Fr,Lo,1,3501,_)|0;break e}case 5:{h[G+404>>2]=y(y(Ze-y(Vg(G)))+y(XA(G,0,Wn)));break e}default:break e}while(!1);M=M+1|0}while((M|0)!=(ae|0))}if(We=We+1|0,(We|0)==(m|0))break;G=ae}}}while(!1);if(h[o+908>>2]=y(Gn(o,2,Tu,B,B)),h[o+912>>2]=y(Gn(o,0,Ap,k,B)),Ec|0&&(pp=n[o+32>>2]|0,hp=(Ec|0)==2,!(hp&(pp|0)!=2))?hp&(pp|0)==2&&(l=y(Ru+cr),l=y($n(y(hd(l,y(Kg(o,Mr,Qu,Mo)))),Ru)),on=198):(l=y(Gn(o,Mr,Qu,Mo,B)),on=198),(on|0)==198&&(h[o+908+(n[976+(Mr<<2)>>2]<<2)>>2]=l),Ic|0&&(dp=n[o+32>>2]|0,mp=(Ic|0)==2,!(mp&(dp|0)!=2))?mp&(dp|0)==2&&(l=y(co+Wn),l=y($n(y(hd(l,y(Kg(o,Ar,y(co+_s),Fu)))),co)),on=204):(l=y(Gn(o,Ar,y(co+_s),Fu,B)),on=204),(on|0)==204&&(h[o+908+(n[976+(Ar<<2)>>2]<<2)>>2]=l),T){if((n[gp>>2]|0)==2){G=976+(Ar<<2)|0,ae=1040+(Ar<<2)|0,M=0;do We=Cs(o,M)|0,n[We+24>>2]|0||(yp=n[G>>2]|0,zt=y(h[o+908+(yp<<2)>>2]),Bi=We+400+(n[ae>>2]<<2)|0,zt=y(zt-y(h[Bi>>2])),h[Bi>>2]=y(zt-y(h[We+908+(yp<<2)>>2]))),M=M+1|0;while((M|0)!=(uo|0))}if(A|0){M=ci?Ec:d;do eM(o,A,Fr,M,Lo,Us,_),A=n[A+960>>2]|0;while(A|0)}if(M=(Mr|2|0)==3,G=(Ar|2|0)==3,M|G){A=0;do ae=n[(n[_o>>2]|0)+(A<<2)>>2]|0,(n[ae+36>>2]|0)!=1&&(M&&a2(o,ae,Mr),G&&a2(o,ae,Ar)),A=A+1|0;while((A|0)!=(uo|0))}}}while(!1);I=Cc}function xh(o,l){o=o|0,l=y(l);var u=0;ja(o,l>=y(0),3147),u=l==y(0),h[o+4>>2]=u?y(0):l}function KA(o,l,u,A){o=o|0,l=y(l),u=y(u),A=A|0;var d=Xe,m=Xe,B=0,k=0,T=0;n[2278]=(n[2278]|0)+1,Sf(o),so(o,2,l)|0?(d=y(Xr(n[o+992>>2]|0,l)),T=1,d=y(d+y(yn(o,2,l)))):(d=y(Xr(o+380|0,l)),d>=y(0)?T=2:(T=((Mt(l)|0)^1)&1,d=l)),so(o,0,u)|0?(m=y(Xr(n[o+996>>2]|0,u)),k=1,m=y(m+y(yn(o,0,l)))):(m=y(Xr(o+388|0,u)),m>=y(0)?k=2:(k=((Mt(u)|0)^1)&1,m=u)),B=o+976|0,kl(o,d,m,A,T,k,l,u,1,3189,n[B>>2]|0)|0&&(kh(o,n[o+496>>2]|0,l,u,l),JA(o,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),s[11696]|0)&&Gg(o,7)}function Sf(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;k=I,I=I+32|0,B=k+24|0,m=k+16|0,A=k+8|0,d=k,u=0;do l=o+380+(u<<3)|0,n[o+380+(u<<3)+4>>2]|0&&(T=l,_=n[T+4>>2]|0,M=A,n[M>>2]=n[T>>2],n[M+4>>2]=_,M=o+364+(u<<3)|0,_=n[M+4>>2]|0,T=d,n[T>>2]=n[M>>2],n[T+4>>2]=_,n[m>>2]=n[A>>2],n[m+4>>2]=n[A+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],wf(m,B)|0)||(l=o+348+(u<<3)|0),n[o+992+(u<<2)>>2]=l,u=u+1|0;while((u|0)!=2);I=k}function so(o,l,u){o=o|0,l=l|0,u=y(u);var A=0;switch(o=n[o+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[o+4>>2]|0){case 0:case 3:{o=0;break}case 1:{y(h[o>>2])>2])>2]|0){case 2:{l=y(y(y(h[o>>2])*l)/y(100));break}case 1:{l=y(h[o>>2]);break}default:l=y(ce)}return y(l)}function kh(o,l,u,A,d){o=o|0,l=l|0,u=y(u),A=y(A),d=y(d);var m=0,B=Xe;l=n[o+944>>2]|0?l:1,m=dr(n[o+4>>2]|0,l)|0,l=by(m,l)|0,u=y(vP(o,m,u)),A=y(vP(o,l,A)),B=y(u+y(J(o,m,d))),h[o+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,u=y(u+y(re(o,m,d))),h[o+400+(n[1e3+(m<<2)>>2]<<2)>>2]=u,u=y(A+y(J(o,l,d))),h[o+400+(n[1040+(l<<2)>>2]<<2)>>2]=u,d=y(A+y(re(o,l,d))),h[o+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function JA(o,l,u,A){o=o|0,l=y(l),u=y(u),A=y(A);var d=0,m=0,B=Xe,k=Xe,T=0,_=0,M=Xe,G=0,ae=Xe,We=Xe,Le=Xe,Qe=Xe;if(l!=y(0)&&(d=o+400|0,Qe=y(h[d>>2]),m=o+404|0,Le=y(h[m>>2]),G=o+416|0,We=y(h[G>>2]),_=o+420|0,B=y(h[_>>2]),ae=y(Qe+u),M=y(Le+A),A=y(ae+We),k=y(M+B),T=(n[o+988>>2]|0)==1,h[d>>2]=y(ss(Qe,l,0,T)),h[m>>2]=y(ss(Le,l,0,T)),u=y(E_(y(We*l),y(1))),mn(u,y(0))|0?m=0:m=(mn(u,y(1))|0)^1,u=y(E_(y(B*l),y(1))),mn(u,y(0))|0?d=0:d=(mn(u,y(1))|0)^1,Qe=y(ss(A,l,T&m,T&(m^1))),h[G>>2]=y(Qe-y(ss(ae,l,0,T))),Qe=y(ss(k,l,T&d,T&(d^1))),h[_>>2]=y(Qe-y(ss(M,l,0,T))),m=(n[o+952>>2]|0)-(n[o+948>>2]|0)>>2,m|0)){d=0;do JA(Cs(o,d)|0,l,ae,M),d=d+1|0;while((d|0)!=(m|0))}}function Sy(o,l,u,A,d){switch(o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,u|0){case 5:case 0:{o=n$(n[489]|0,A,d)|0;break}default:o=lVe(A,d)|0}return o|0}function Yg(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;d=I,I=I+16|0,m=d,n[m>>2]=A,Qh(o,0,l,u,m),I=d}function Qh(o,l,u,A,d){if(o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,o=o|0?o:956,v$[n[o+8>>2]&1](o,l,u,A,d)|0,(u|0)==5)Nt();else return}function hc(o,l,u){o=o|0,l=l|0,u=u|0,s[o+l>>0]=u&1}function Dy(o,l){o=o|0,l=l|0;var u=0,A=0;n[o>>2]=0,n[o+4>>2]=0,n[o+8>>2]=0,u=l+4|0,A=(n[u>>2]|0)-(n[l>>2]|0)>>2,A|0&&(Th(o,A),kt(o,n[l>>2]|0,n[u>>2]|0,A))}function Th(o,l){o=o|0,l=l|0;var u=0;if((O(o)|0)>>>0>>0&&sn(o),l>>>0>1073741823)Nt();else{u=Jt(l<<2)|0,n[o+4>>2]=u,n[o>>2]=u,n[o+8>>2]=u+(l<<2);return}}function kt(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,A=o+4|0,o=u-l|0,(o|0)>0&&(Qr(n[A>>2]|0,l|0,o|0)|0,n[A>>2]=(n[A>>2]|0)+(o>>>2<<2))}function O(o){return o=o|0,1073741823}function J(o,l,u){return o=o|0,l=l|0,u=y(u),de(l)|0&&n[o+96>>2]|0?o=o+92|0:o=kn(o+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(Ke(o,u))}function re(o,l,u){return o=o|0,l=l|0,u=y(u),de(l)|0&&n[o+104>>2]|0?o=o+100|0:o=kn(o+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(Ke(o,u))}function de(o){return o=o|0,(o|1|0)==3|0}function Ke(o,l){return o=o|0,l=y(l),(n[o+4>>2]|0)==3?l=y(0):l=y(Xr(o,l)),y(l)}function ft(o,l){return o=o|0,l=l|0,o=n[o>>2]|0,(o|0?o:(l|0)>1?l:1)|0}function dr(o,l){o=o|0,l=l|0;var u=0;e:do if((l|0)==2){switch(o|0){case 2:{o=3;break e}case 3:break;default:{u=4;break e}}o=2}else u=4;while(!1);return o|0}function Br(o,l){o=o|0,l=l|0;var u=Xe;return de(l)|0&&n[o+312>>2]|0&&(u=y(h[o+308>>2]),u>=y(0))||(u=y($n(y(h[(kn(o+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(u)}function _n(o,l){o=o|0,l=l|0;var u=Xe;return de(l)|0&&n[o+320>>2]|0&&(u=y(h[o+316>>2]),u>=y(0))||(u=y($n(y(h[(kn(o+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(u)}function di(o,l,u){o=o|0,l=l|0,u=y(u);var A=Xe;return de(l)|0&&n[o+240>>2]|0&&(A=y(Xr(o+236|0,u)),A>=y(0))||(A=y($n(y(Xr(kn(o+204|0,n[1040+(l<<2)>>2]|0,992)|0,u)),y(0)))),y(A)}function ws(o,l,u){o=o|0,l=l|0,u=y(u);var A=Xe;return de(l)|0&&n[o+248>>2]|0&&(A=y(Xr(o+244|0,u)),A>=y(0))||(A=y($n(y(Xr(kn(o+204|0,n[1e3+(l<<2)>>2]|0,992)|0,u)),y(0)))),y(A)}function zA(o,l,u,A,d,m,B){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=y(m),B=y(B);var k=Xe,T=Xe,_=Xe,M=Xe,G=Xe,ae=Xe,We=0,Le=0,Qe=0;Qe=I,I=I+16|0,We=Qe,Le=o+964|0,wi(o,(n[Le>>2]|0)!=0,3519),k=y(Ka(o,2,l)),T=y(Ka(o,0,l)),_=y(yn(o,2,l)),M=y(yn(o,0,l)),Mt(l)|0?G=l:G=y($n(y(0),y(y(l-_)-k))),Mt(u)|0?ae=u:ae=y($n(y(0),y(y(u-M)-T))),(A|0)==1&(d|0)==1?(h[o+908>>2]=y(Gn(o,2,y(l-_),m,m)),l=y(Gn(o,0,y(u-M),B,m))):(S$[n[Le>>2]&1](We,o,G,A,ae,d),G=y(k+y(h[We>>2])),ae=y(l-_),h[o+908>>2]=y(Gn(o,2,(A|2|0)==2?G:ae,m,m)),ae=y(T+y(h[We+4>>2])),l=y(u-M),l=y(Gn(o,0,(d|2|0)==2?ae:l,B,m))),h[o+912>>2]=l,I=Qe}function wP(o,l,u,A,d,m,B){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=y(m),B=y(B);var k=Xe,T=Xe,_=Xe,M=Xe;_=y(Ka(o,2,m)),k=y(Ka(o,0,m)),M=y(yn(o,2,m)),T=y(yn(o,0,m)),l=y(l-M),h[o+908>>2]=y(Gn(o,2,(A|2|0)==2?_:l,m,m)),u=y(u-T),h[o+912>>2]=y(Gn(o,0,(d|2|0)==2?k:u,B,m))}function i2(o,l,u,A,d,m,B){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=y(m),B=y(B);var k=0,T=Xe,_=Xe;return k=(A|0)==2,!(l<=y(0)&k)&&!(u<=y(0)&(d|0)==2)&&!((A|0)==1&(d|0)==1)?o=0:(T=y(yn(o,0,m)),_=y(yn(o,2,m)),k=l>2]=y(Gn(o,2,k?y(0):l,m,m)),l=y(u-T),k=u>2]=y(Gn(o,0,k?y(0):l,B,m)),o=1),o|0}function by(o,l){return o=o|0,l=l|0,Jg(o)|0?o=dr(2,l)|0:o=0,o|0}function Rh(o,l,u){return o=o|0,l=l|0,u=y(u),u=y(di(o,l,u)),y(u+y(Br(o,l)))}function s2(o,l,u){return o=o|0,l=l|0,u=y(u),u=y(ws(o,l,u)),y(u+y(_n(o,l)))}function Ka(o,l,u){o=o|0,l=l|0,u=y(u);var A=Xe;return A=y(Rh(o,l,u)),y(A+y(s2(o,l,u)))}function o2(o){return o=o|0,n[o+24>>2]|0?o=0:y(ZA(o))!=y(0)?o=1:o=y(Fh(o))!=y(0),o|0}function ZA(o){o=o|0;var l=Xe;if(n[o+944>>2]|0){if(l=y(h[o+44>>2]),Mt(l)|0)return l=y(h[o+40>>2]),o=l>y(0)&((Mt(l)|0)^1),y(o?l:y(0))}else l=y(0);return y(l)}function Fh(o){o=o|0;var l=Xe,u=0,A=Xe;do if(n[o+944>>2]|0){if(l=y(h[o+48>>2]),Mt(l)|0){if(u=s[(n[o+976>>2]|0)+2>>0]|0,!(u<<24>>24)&&(A=y(h[o+40>>2]),A>24?y(1):y(0)}}else l=y(0);while(!1);return y(l)}function Py(o){o=o|0;var l=0,u=0;if(eE(o+400|0,0,540)|0,s[o+985>>0]=1,ee(o),u=Li(o)|0,u|0){l=o+948|0,o=0;do Py(n[(n[l>>2]|0)+(o<<2)>>2]|0),o=o+1|0;while((o|0)!=(u|0))}}function BP(o,l,u,A,d,m,B,k,T,_){o=o|0,l=l|0,u=y(u),A=A|0,d=y(d),m=y(m),B=y(B),k=k|0,T=T|0,_=_|0;var M=0,G=Xe,ae=0,We=0,Le=Xe,Qe=Xe,tt=0,Ze=Xe,ct=0,He=Xe,Ge=0,Lt=0,qr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0,Hn=0,Fo=0;Hn=I,I=I+16|0,qr=Hn+12|0,fr=Hn+8|0,$t=Hn+4|0,Tr=Hn,cr=dr(n[o+4>>2]|0,T)|0,Ge=de(cr)|0,G=y(Xr(tM(l)|0,Ge?m:B)),Lt=so(l,2,m)|0,Hr=so(l,0,B)|0;do if(!(Mt(G)|0)&&!(Mt(Ge?u:d)|0)){if(M=l+504|0,!(Mt(y(h[M>>2]))|0)&&(!(l2(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[M>>2]=y($n(G,y(Ka(l,cr,m))))}else ae=7;while(!1);do if((ae|0)==7){if(ct=Ge^1,!(ct|Lt^1)){B=y(Xr(n[l+992>>2]|0,m)),h[l+504>>2]=y($n(B,y(Ka(l,2,m))));break}if(!(Ge|Hr^1)){B=y(Xr(n[l+996>>2]|0,B)),h[l+504>>2]=y($n(B,y(Ka(l,0,m))));break}h[qr>>2]=y(ce),h[fr>>2]=y(ce),n[$t>>2]=0,n[Tr>>2]=0,Ze=y(yn(l,2,m)),He=y(yn(l,0,m)),Lt?(Le=y(Ze+y(Xr(n[l+992>>2]|0,m))),h[qr>>2]=Le,n[$t>>2]=1,We=1):(We=0,Le=y(ce)),Hr?(G=y(He+y(Xr(n[l+996>>2]|0,B))),h[fr>>2]=G,n[Tr>>2]=1,M=1):(M=0,G=y(ce)),ae=n[o+32>>2]|0,Ge&(ae|0)==2?ae=2:Mt(Le)|0&&!(Mt(u)|0)&&(h[qr>>2]=u,n[$t>>2]=2,We=2,Le=u),!((ae|0)==2&ct)&&Mt(G)|0&&!(Mt(d)|0)&&(h[fr>>2]=d,n[Tr>>2]=2,M=2,G=d),Qe=y(h[l+396>>2]),tt=Mt(Qe)|0;do if(tt)ae=We;else{if((We|0)==1&ct){h[fr>>2]=y(y(Le-Ze)/Qe),n[Tr>>2]=1,M=1,ae=1;break}Ge&(M|0)==1?(h[qr>>2]=y(Qe*y(G-He)),n[$t>>2]=1,M=1,ae=1):ae=We}while(!1);Fo=Mt(u)|0,We=(os(o,l)|0)!=4,!(Ge|Lt|((A|0)!=1|Fo)|(We|(ae|0)==1))&&(h[qr>>2]=u,n[$t>>2]=1,!tt)&&(h[fr>>2]=y(y(u-Ze)/Qe),n[Tr>>2]=1,M=1),!(Hr|ct|((k|0)!=1|(Mt(d)|0))|(We|(M|0)==1))&&(h[fr>>2]=d,n[Tr>>2]=1,!tt)&&(h[qr>>2]=y(Qe*y(d-He)),n[$t>>2]=1),Bu(l,2,m,m,$t,qr),Bu(l,0,B,m,Tr,fr),u=y(h[qr>>2]),d=y(h[fr>>2]),kl(l,u,d,T,n[$t>>2]|0,n[Tr>>2]|0,m,B,0,3565,_)|0,B=y(h[l+908+(n[976+(cr<<2)>>2]<<2)>>2]),h[l+504>>2]=y($n(B,y(Ka(l,cr,m))))}while(!1);n[l+500>>2]=n[2278],I=Hn}function Gn(o,l,u,A,d){return o=o|0,l=l|0,u=y(u),A=y(A),d=y(d),A=y(Kg(o,l,u,A)),y($n(A,y(Ka(o,l,d))))}function os(o,l){return o=o|0,l=l|0,l=l+20|0,l=n[(n[l>>2]|0?l:o+16|0)>>2]|0,(l|0)==5&&Jg(n[o+4>>2]|0)|0&&(l=1),l|0}function Ql(o,l){return o=o|0,l=l|0,de(l)|0&&n[o+96>>2]|0?l=4:l=n[1040+(l<<2)>>2]|0,o+60+(l<<3)|0}function Tl(o,l){return o=o|0,l=l|0,de(l)|0&&n[o+104>>2]|0?l=5:l=n[1e3+(l<<2)>>2]|0,o+60+(l<<3)|0}function Bu(o,l,u,A,d,m){switch(o=o|0,l=l|0,u=y(u),A=y(A),d=d|0,m=m|0,u=y(Xr(o+380+(n[976+(l<<2)>>2]<<3)|0,u)),u=y(u+y(yn(o,l,A))),n[d>>2]|0){case 2:case 1:{d=Mt(u)|0,A=y(h[m>>2]),h[m>>2]=d|A>2]=2,h[m>>2]=u);break}default:}}function ga(o,l){return o=o|0,l=l|0,o=o+132|0,de(l)|0&&n[(kn(o,4,948)|0)+4>>2]|0?o=1:o=(n[(kn(o,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,o|0}function XA(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0;return o=o+132|0,de(l)|0&&(A=kn(o,4,948)|0,(n[A+4>>2]|0)!=0)?d=4:(A=kn(o,n[1040+(l<<2)>>2]|0,948)|0,n[A+4>>2]|0?d=4:u=y(0)),(d|0)==4&&(u=y(Xr(A,u))),y(u)}function $A(o,l,u){o=o|0,l=l|0,u=y(u);var A=Xe;return A=y(h[o+908+(n[976+(l<<2)>>2]<<2)>>2]),A=y(A+y(J(o,l,u))),y(A+y(re(o,l,u)))}function XL(o){o=o|0;var l=0,u=0,A=0;e:do if(Jg(n[o+4>>2]|0)|0)l=0;else if((n[o+16>>2]|0)!=5)if(u=Li(o)|0,!u)l=0;else for(l=0;;){if(A=Cs(o,l)|0,!(n[A+24>>2]|0)&&(n[A+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=u>>>0){l=0;break}}else l=1;while(!1);return l|0}function $L(o,l){o=o|0,l=l|0;var u=Xe;return u=y(h[o+908+(n[976+(l<<2)>>2]<<2)>>2]),u>=y(0)&((Mt(u)|0)^1)|0}function Vg(o){o=o|0;var l=Xe,u=0,A=0,d=0,m=0,B=0,k=0,T=Xe;if(u=n[o+968>>2]|0,u)T=y(h[o+908>>2]),l=y(h[o+912>>2]),l=y(I$[u&0](o,T,l)),wi(o,(Mt(l)|0)^1,3573);else{m=Li(o)|0;do if(m|0){for(u=0,d=0;;){if(A=Cs(o,d)|0,n[A+940>>2]|0){B=8;break}if((n[A+24>>2]|0)!=1)if(k=(os(o,A)|0)==5,k){u=A;break}else u=u|0?u:A;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!u)break;return l=y(Vg(u)),y(l+y(h[u+404>>2]))}while(!1);l=y(h[o+912>>2])}return y(l)}function Kg(o,l,u,A){o=o|0,l=l|0,u=y(u),A=y(A);var d=Xe,m=0;return Jg(l)|0?(l=1,m=3):de(l)|0?(l=0,m=3):(A=y(ce),d=y(ce)),(m|0)==3&&(d=y(Xr(o+364+(l<<3)|0,A)),A=y(Xr(o+380+(l<<3)|0,A))),m=A=y(0)&((Mt(A)|0)^1)),u=m?A:u,m=d>=y(0)&((Mt(d)|0)^1)&u>2]|0,m)|0,Le=by(tt,m)|0,Qe=de(tt)|0,G=y(yn(l,2,u)),ae=y(yn(l,0,u)),so(l,2,u)|0?k=y(G+y(Xr(n[l+992>>2]|0,u))):ga(l,2)|0&&xy(l,2)|0?(k=y(h[o+908>>2]),T=y(Br(o,2)),T=y(k-y(T+y(_n(o,2)))),k=y(XA(l,2,u)),k=y(Gn(l,2,y(T-y(k+y(Nh(l,2,u)))),u,u))):k=y(ce),so(l,0,d)|0?T=y(ae+y(Xr(n[l+996>>2]|0,d))):ga(l,0)|0&&xy(l,0)|0?(T=y(h[o+912>>2]),ct=y(Br(o,0)),ct=y(T-y(ct+y(_n(o,0)))),T=y(XA(l,0,d)),T=y(Gn(l,0,y(ct-y(T+y(Nh(l,0,d)))),d,u))):T=y(ce),_=Mt(k)|0,M=Mt(T)|0;do if(_^M&&(We=y(h[l+396>>2]),!(Mt(We)|0)))if(_){k=y(G+y(y(T-ae)*We));break}else{ct=y(ae+y(y(k-G)/We)),T=M?ct:T;break}while(!1);M=Mt(k)|0,_=Mt(T)|0,M|_&&(He=(M^1)&1,A=u>y(0)&((A|0)!=0&M),k=Qe?k:A?u:k,kl(l,k,T,m,Qe?He:A?2:He,M&(_^1)&1,k,T,0,3623,B)|0,k=y(h[l+908>>2]),k=y(k+y(yn(l,2,u))),T=y(h[l+912>>2]),T=y(T+y(yn(l,0,u)))),kl(l,k,T,m,1,1,k,T,1,3635,B)|0,xy(l,tt)|0&&!(ga(l,tt)|0)?(He=n[976+(tt<<2)>>2]|0,ct=y(h[o+908+(He<<2)>>2]),ct=y(ct-y(h[l+908+(He<<2)>>2])),ct=y(ct-y(_n(o,tt))),ct=y(ct-y(re(l,tt,u))),ct=y(ct-y(Nh(l,tt,Qe?u:d))),h[l+400+(n[1040+(tt<<2)>>2]<<2)>>2]=ct):Ze=21;do if((Ze|0)==21){if(!(ga(l,tt)|0)&&(n[o+8>>2]|0)==1){He=n[976+(tt<<2)>>2]|0,ct=y(h[o+908+(He<<2)>>2]),ct=y(y(ct-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(tt<<2)>>2]<<2)>>2]=ct;break}!(ga(l,tt)|0)&&(n[o+8>>2]|0)==2&&(He=n[976+(tt<<2)>>2]|0,ct=y(h[o+908+(He<<2)>>2]),ct=y(ct-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(tt<<2)>>2]<<2)>>2]=ct)}while(!1);xy(l,Le)|0&&!(ga(l,Le)|0)?(He=n[976+(Le<<2)>>2]|0,ct=y(h[o+908+(He<<2)>>2]),ct=y(ct-y(h[l+908+(He<<2)>>2])),ct=y(ct-y(_n(o,Le))),ct=y(ct-y(re(l,Le,u))),ct=y(ct-y(Nh(l,Le,Qe?d:u))),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=ct):Ze=30;do if((Ze|0)==30&&!(ga(l,Le)|0)){if((os(o,l)|0)==2){He=n[976+(Le<<2)>>2]|0,ct=y(h[o+908+(He<<2)>>2]),ct=y(y(ct-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=ct;break}He=(os(o,l)|0)==3,He^(n[o+28>>2]|0)==2&&(He=n[976+(Le<<2)>>2]|0,ct=y(h[o+908+(He<<2)>>2]),ct=y(ct-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=ct)}while(!1)}function a2(o,l,u){o=o|0,l=l|0,u=u|0;var A=Xe,d=0;d=n[976+(u<<2)>>2]|0,A=y(h[l+908+(d<<2)>>2]),A=y(y(h[o+908+(d<<2)>>2])-A),A=y(A-y(h[l+400+(n[1040+(u<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(u<<2)>>2]<<2)>>2]=A}function Jg(o){return o=o|0,(o|1|0)==1|0}function tM(o){o=o|0;var l=Xe;switch(n[o+56>>2]|0){case 0:case 3:{l=y(h[o+40>>2]),l>y(0)&((Mt(l)|0)^1)?o=s[(n[o+976>>2]|0)+2>>0]|0?1056:992:o=1056;break}default:o=o+52|0}return o|0}function l2(o,l){return o=o|0,l=l|0,(s[o+l>>0]|0)!=0|0}function xy(o,l){return o=o|0,l=l|0,o=o+132|0,de(l)|0&&n[(kn(o,5,948)|0)+4>>2]|0?o=1:o=(n[(kn(o,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,o|0}function Nh(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0;return o=o+132|0,de(l)|0&&(A=kn(o,5,948)|0,(n[A+4>>2]|0)!=0)?d=4:(A=kn(o,n[1e3+(l<<2)>>2]|0,948)|0,n[A+4>>2]|0?d=4:u=y(0)),(d|0)==4&&(u=y(Xr(A,u))),y(u)}function vP(o,l,u){return o=o|0,l=l|0,u=y(u),ga(o,l)|0?u=y(XA(o,l,u)):u=y(-y(Nh(o,l,u))),y(u)}function SP(o){return o=y(o),h[S>>2]=o,n[S>>2]|0|0}function ky(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>1073741823)Nt();else{d=Jt(l<<2)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<2)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<2)}function DP(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function Qy(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-4-l|0)>>>2)<<2)),o=n[o>>2]|0,o|0&&yt(o)}function bP(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;if(B=o+4|0,k=n[B>>2]|0,d=k-A|0,m=d>>2,o=l+(m<<2)|0,o>>>0>>0){A=k;do n[A>>2]=n[o>>2],o=o+4|0,A=(n[B>>2]|0)+4|0,n[B>>2]=A;while(o>>>0>>0)}m|0&&F2(k+(0-m<<2)|0,l|0,d|0)|0}function PP(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0;return k=l+4|0,T=n[k>>2]|0,d=n[o>>2]|0,B=u,m=B-d|0,A=T+(0-(m>>2)<<2)|0,n[k>>2]=A,(m|0)>0&&Qr(A|0,d|0,m|0)|0,d=o+4|0,m=l+8|0,A=(n[d>>2]|0)-B|0,(A|0)>0&&(Qr(n[m>>2]|0,u|0,A|0)|0,n[m>>2]=(n[m>>2]|0)+(A>>>2<<2)),B=n[o>>2]|0,n[o>>2]=n[k>>2],n[k>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=o+8|0,u=l+12|0,o=n[B>>2]|0,n[B>>2]=n[u>>2],n[u>>2]=o,n[l>>2]=n[k>>2],T|0}function c2(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[u>>2]|0,(B|0)!=(m|0)){d=o+8|0,u=((m+-4-B|0)>>>2)+1|0,o=B,A=n[d>>2]|0;do n[A>>2]=n[o>>2],A=(n[d>>2]|0)+4|0,n[d>>2]=A,o=o+4|0;while((o|0)!=(m|0));n[l>>2]=B+(u<<2)}}function u2(){fa()}function xP(){var o=0;return o=Jt(4)|0,f2(o),o|0}function f2(o){o=o|0,n[o>>2]=pc()|0}function kP(o){o=o|0,o|0&&(zg(o),yt(o))}function zg(o){o=o|0,st(n[o>>2]|0)}function rM(o,l,u){o=o|0,l=l|0,u=u|0,hc(n[o>>2]|0,l,u)}function Ty(o,l){o=o|0,l=y(l),xh(n[o>>2]|0,l)}function Ry(o,l){return o=o|0,l=l|0,l2(n[o>>2]|0,l)|0}function Fy(){var o=0;return o=Jt(8)|0,Zg(o,0),o|0}function Zg(o,l){o=o|0,l=l|0,l?l=Aa(n[l>>2]|0)|0:l=ns()|0,n[o>>2]=l,n[o+4>>2]=0,Tn(l,o)}function Ny(o){o=o|0;var l=0;return l=Jt(8)|0,Zg(l,o),l|0}function Xg(o){o=o|0,o|0&&(Oy(o),yt(o))}function Oy(o){o=o|0;var l=0;fc(n[o>>2]|0),l=o+4|0,o=n[l>>2]|0,n[l>>2]=0,o|0&&(Df(o),yt(o))}function Df(o){o=o|0,bf(o)}function bf(o){o=o|0,o=n[o>>2]|0,o|0&&Oa(o|0)}function A2(o){return o=o|0,Ga(o)|0}function p2(o){o=o|0;var l=0,u=0;u=o+4|0,l=n[u>>2]|0,n[u>>2]=0,l|0&&(Df(l),yt(l)),Ac(n[o>>2]|0)}function Ly(o,l){o=o|0,l=l|0,fn(n[o>>2]|0,n[l>>2]|0)}function nM(o,l){o=o|0,l=l|0,Sh(n[o>>2]|0,l)}function iM(o,l,u){o=o|0,l=l|0,u=+u,Cy(n[o>>2]|0,l,y(u))}function My(o,l,u){o=o|0,l=l|0,u=+u,wy(n[o>>2]|0,l,y(u))}function h2(o,l){o=o|0,l=l|0,wh(n[o>>2]|0,l)}function g2(o,l){o=o|0,l=l|0,bo(n[o>>2]|0,l)}function xr(o,l){o=o|0,l=l|0,vh(n[o>>2]|0,l)}function oo(o,l){o=o|0,l=l|0,my(n[o>>2]|0,l)}function Zi(o,l){o=o|0,l=l|0,Og(n[o>>2]|0,l)}function Os(o,l){o=o|0,l=l|0,Do(n[o>>2]|0,l)}function ep(o,l,u){o=o|0,l=l|0,u=+u,qA(n[o>>2]|0,l,y(u))}function d2(o,l,u){o=o|0,l=l|0,u=+u,Y(n[o>>2]|0,l,y(u))}function Bs(o,l){o=o|0,l=l|0,GA(n[o>>2]|0,l)}function _y(o,l){o=o|0,l=l|0,Ey(n[o>>2]|0,l)}function Oh(o,l){o=o|0,l=l|0,Po(n[o>>2]|0,l)}function $g(o,l){o=o|0,l=+l,Dh(n[o>>2]|0,y(l))}function Lh(o,l){o=o|0,l=+l,Pl(n[o>>2]|0,y(l))}function m2(o,l){o=o|0,l=+l,Iy(n[o>>2]|0,y(l))}function y2(o,l){o=o|0,l=+l,Mg(n[o>>2]|0,y(l))}function E2(o,l){o=o|0,l=+l,bl(n[o>>2]|0,y(l))}function I2(o,l){o=o|0,l=+l,_g(n[o>>2]|0,y(l))}function Pf(o,l){o=o|0,l=+l,n2(n[o>>2]|0,y(l))}function sr(o){o=o|0,bh(n[o>>2]|0)}function Uy(o,l){o=o|0,l=+l,zi(n[o>>2]|0,y(l))}function C2(o,l){o=o|0,l=+l,Ef(n[o>>2]|0,y(l))}function gc(o){o=o|0,Wa(n[o>>2]|0)}function xf(o,l){o=o|0,l=+l,yu(n[o>>2]|0,y(l))}function ed(o,l){o=o|0,l=+l,If(n[o>>2]|0,y(l))}function td(o,l){o=o|0,l=+l,gi(n[o>>2]|0,y(l))}function w2(o,l){o=o|0,l=+l,WA(n[o>>2]|0,y(l))}function B2(o,l){o=o|0,l=+l,pa(n[o>>2]|0,y(l))}function vu(o,l){o=o|0,l=+l,Va(n[o>>2]|0,y(l))}function rd(o,l){o=o|0,l=+l,Ph(n[o>>2]|0,y(l))}function v2(o,l){o=o|0,l=+l,jg(n[o>>2]|0,y(l))}function Hy(o,l){o=o|0,l=+l,YA(n[o>>2]|0,y(l))}function Su(o,l,u){o=o|0,l=l|0,u=+u,mu(n[o>>2]|0,l,y(u))}function jy(o,l,u){o=o|0,l=l|0,u=+u,xo(n[o>>2]|0,l,y(u))}function nd(o,l,u){o=o|0,l=l|0,u=+u,yf(n[o>>2]|0,l,y(u))}function id(o){return o=o|0,Ng(n[o>>2]|0)|0}function To(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;A=I,I=I+16|0,d=A,jA(d,n[l>>2]|0,u),vs(o,d),I=A}function vs(o,l){o=o|0,l=l|0,Rl(o,n[l+4>>2]|0,+y(h[l>>2]))}function Rl(o,l,u){o=o|0,l=l|0,u=+u,n[o>>2]=l,E[o+8>>3]=u}function qy(o){return o=o|0,r2(n[o>>2]|0)|0}function da(o){return o=o|0,Bh(n[o>>2]|0)|0}function QP(o){return o=o|0,du(n[o>>2]|0)|0}function Mh(o){return o=o|0,t2(n[o>>2]|0)|0}function S2(o){return o=o|0,Lg(n[o>>2]|0)|0}function sM(o){return o=o|0,yy(n[o>>2]|0)|0}function TP(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;A=I,I=I+16|0,d=A,xt(d,n[l>>2]|0,u),vs(o,d),I=A}function RP(o){return o=o|0,mf(n[o>>2]|0)|0}function Gy(o){return o=o|0,Dl(n[o>>2]|0)|0}function D2(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,HA(A,n[l>>2]|0),vs(o,A),I=u}function _h(o){return o=o|0,+ +y(ai(n[o>>2]|0))}function FP(o){return o=o|0,+ +y(qi(n[o>>2]|0))}function NP(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,ur(A,n[l>>2]|0),vs(o,A),I=u}function sd(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,Ug(A,n[l>>2]|0),vs(o,A),I=u}function oM(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,wt(A,n[l>>2]|0),vs(o,A),I=u}function aM(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,Ya(A,n[l>>2]|0),vs(o,A),I=u}function OP(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,Hg(A,n[l>>2]|0),vs(o,A),I=u}function LP(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,vy(A,n[l>>2]|0),vs(o,A),I=u}function tp(o){return o=o|0,+ +y(qg(n[o>>2]|0))}function lM(o,l){return o=o|0,l=l|0,+ +y(By(n[o>>2]|0,l))}function cM(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;A=I,I=I+16|0,d=A,dt(d,n[l>>2]|0,u),vs(o,d),I=A}function Du(o,l,u){o=o|0,l=l|0,u=u|0,lr(n[o>>2]|0,n[l>>2]|0,u)}function uM(o,l){o=o|0,l=l|0,df(n[o>>2]|0,n[l>>2]|0)}function MP(o){return o=o|0,Li(n[o>>2]|0)|0}function fM(o){return o=o|0,o=mt(n[o>>2]|0)|0,o?o=A2(o)|0:o=0,o|0}function _P(o,l){return o=o|0,l=l|0,o=Cs(n[o>>2]|0,l)|0,o?o=A2(o)|0:o=0,o|0}function kf(o,l){o=o|0,l=l|0;var u=0,A=0;A=Jt(4)|0,UP(A,l),u=o+4|0,l=n[u>>2]|0,n[u>>2]=A,l|0&&(Df(l),yt(l)),St(n[o>>2]|0,1)}function UP(o,l){o=o|0,l=l|0,gM(o,l)}function AM(o,l,u,A,d,m){o=o|0,l=l|0,u=y(u),A=A|0,d=y(d),m=m|0;var B=0,k=0;B=I,I=I+16|0,k=B,HP(k,Ga(l)|0,+u,A,+d,m),h[o>>2]=y(+E[k>>3]),h[o+4>>2]=y(+E[k+8>>3]),I=B}function HP(o,l,u,A,d,m){o=o|0,l=l|0,u=+u,A=A|0,d=+d,m=m|0;var B=0,k=0,T=0,_=0,M=0;B=I,I=I+32|0,M=B+8|0,_=B+20|0,T=B,k=B+16|0,E[M>>3]=u,n[_>>2]=A,E[T>>3]=d,n[k>>2]=m,Wy(o,n[l+4>>2]|0,M,_,T,k),I=B}function Wy(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0;B=I,I=I+16|0,k=B,Nl(k),l=Ls(l)|0,jP(o,l,+E[u>>3],n[A>>2]|0,+E[d>>3],n[m>>2]|0),Ol(k),I=B}function Ls(o){return o=o|0,n[o>>2]|0}function jP(o,l,u,A,d,m){o=o|0,l=l|0,u=+u,A=A|0,d=+d,m=m|0;var B=0;B=ma(b2()|0)|0,u=+Ja(u),A=Yy(A)|0,d=+Ja(d),pM(o,Jn(0,B|0,l|0,+u,A|0,+d,Yy(m)|0)|0)}function b2(){var o=0;return s[7608]|0||(x2(9120),o=7608,n[o>>2]=1,n[o+4>>2]=0),9120}function ma(o){return o=o|0,n[o+8>>2]|0}function Ja(o){return o=+o,+ +Qf(o)}function Yy(o){return o=o|0,od(o)|0}function pM(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;d=I,I=I+32|0,u=d,A=l,A&1?(za(u,0),Me(A|0,u|0)|0,P2(o,u),hM(u)):(n[o>>2]=n[l>>2],n[o+4>>2]=n[l+4>>2],n[o+8>>2]=n[l+8>>2],n[o+12>>2]=n[l+12>>2]),I=d}function za(o,l){o=o|0,l=l|0,bu(o,l),n[o+8>>2]=0,s[o+24>>0]=0}function P2(o,l){o=o|0,l=l|0,l=l+8|0,n[o>>2]=n[l>>2],n[o+4>>2]=n[l+4>>2],n[o+8>>2]=n[l+8>>2],n[o+12>>2]=n[l+12>>2]}function hM(o){o=o|0,s[o+24>>0]=0}function bu(o,l){o=o|0,l=l|0,n[o>>2]=l}function od(o){return o=o|0,o|0}function Qf(o){return o=+o,+o}function x2(o){o=o|0,Ro(o,k2()|0,4)}function k2(){return 1064}function Ro(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u,n[o+8>>2]=ji(l|0,u+1|0)|0}function gM(o,l){o=o|0,l=l|0,l=n[l>>2]|0,n[o>>2]=l,cu(l|0)}function qP(o){o=o|0;var l=0,u=0;u=o+4|0,l=n[u>>2]|0,n[u>>2]=0,l|0&&(Df(l),yt(l)),St(n[o>>2]|0,0)}function GP(o){o=o|0,Dt(n[o>>2]|0)}function Vy(o){return o=o|0,tr(n[o>>2]|0)|0}function dM(o,l,u,A){o=o|0,l=+l,u=+u,A=A|0,KA(n[o>>2]|0,y(l),y(u),A)}function mM(o){return o=o|0,+ +y(Eu(n[o>>2]|0))}function v(o){return o=o|0,+ +y(Cf(n[o>>2]|0))}function D(o){return o=o|0,+ +y(Iu(n[o>>2]|0))}function Q(o){return o=o|0,+ +y(Fs(n[o>>2]|0))}function H(o){return o=o|0,+ +y(Cu(n[o>>2]|0))}function V(o){return o=o|0,+ +y(qn(n[o>>2]|0))}function ne(o,l){o=o|0,l=l|0,E[o>>3]=+y(Eu(n[l>>2]|0)),E[o+8>>3]=+y(Cf(n[l>>2]|0)),E[o+16>>3]=+y(Iu(n[l>>2]|0)),E[o+24>>3]=+y(Fs(n[l>>2]|0)),E[o+32>>3]=+y(Cu(n[l>>2]|0)),E[o+40>>3]=+y(qn(n[l>>2]|0))}function Se(o,l){return o=o|0,l=l|0,+ +y(is(n[o>>2]|0,l))}function Ue(o,l){return o=o|0,l=l|0,+ +y(xi(n[o>>2]|0,l))}function At(o,l){return o=o|0,l=l|0,+ +y(VA(n[o>>2]|0,l))}function Gt(){return Qn()|0}function vr(){Lr(),Xt(),zn(),mi(),Za(),$e()}function Lr(){Kqe(11713,4938,1)}function Xt(){pqe(10448)}function zn(){K6e(10408)}function mi(){m6e(10324)}function Za(){SHe(10096)}function $e(){qe(9132)}function qe(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0,Qe=0,tt=0,Ze=0,ct=0,He=0,Ge=0,Lt=0,qr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0,Hn=0,Fo=0,No=0,Oo=0,$a=0,Kh=0,Jh=0,dc=0,zh=0,Ff=0,Nf=0,Zh=0,Xh=0,$h=0,on=0,mc=0,e0=0,ku=0,t0=0,r0=0,Of=0,Lf=0,Qu=0,ao=0,Ml=0,ya=0,yc=0,lp=0,cp=0,Mf=0,up=0,fp=0,lo=0,_s=0,Ec=0,Wn=0,Ap=0,Lo=0,Tu=0,Mo=0,Ru=0,pp=0,hp=0,Fu=0,co=0,Ic=0,gp=0,dp=0,mp=0,Fr=0,ci=0,Us=0,_o=0,uo=0,Mr=0,Ar=0,Cc=0;l=I,I=I+672|0,u=l+656|0,Cc=l+648|0,Ar=l+640|0,Mr=l+632|0,uo=l+624|0,_o=l+616|0,Us=l+608|0,ci=l+600|0,Fr=l+592|0,mp=l+584|0,dp=l+576|0,gp=l+568|0,Ic=l+560|0,co=l+552|0,Fu=l+544|0,hp=l+536|0,pp=l+528|0,Ru=l+520|0,Mo=l+512|0,Tu=l+504|0,Lo=l+496|0,Ap=l+488|0,Wn=l+480|0,Ec=l+472|0,_s=l+464|0,lo=l+456|0,fp=l+448|0,up=l+440|0,Mf=l+432|0,cp=l+424|0,lp=l+416|0,yc=l+408|0,ya=l+400|0,Ml=l+392|0,ao=l+384|0,Qu=l+376|0,Lf=l+368|0,Of=l+360|0,r0=l+352|0,t0=l+344|0,ku=l+336|0,e0=l+328|0,mc=l+320|0,on=l+312|0,$h=l+304|0,Xh=l+296|0,Zh=l+288|0,Nf=l+280|0,Ff=l+272|0,zh=l+264|0,dc=l+256|0,Jh=l+248|0,Kh=l+240|0,$a=l+232|0,Oo=l+224|0,No=l+216|0,Fo=l+208|0,Hn=l+200|0,cr=l+192|0,Hr=l+184|0,Tr=l+176|0,$t=l+168|0,fr=l+160|0,qr=l+152|0,Lt=l+144|0,Ge=l+136|0,He=l+128|0,ct=l+120|0,Ze=l+112|0,tt=l+104|0,Qe=l+96|0,Le=l+88|0,We=l+80|0,ae=l+72|0,G=l+64|0,M=l+56|0,_=l+48|0,T=l+40|0,k=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,A=l,pt(o,3646),Zt(o,3651,2)|0,Sr(o,3665,2)|0,Xn(o,3682,18)|0,n[Cc>>2]=19,n[Cc+4>>2]=0,n[u>>2]=n[Cc>>2],n[u+4>>2]=n[Cc+4>>2],kr(o,3690,u)|0,n[Ar>>2]=1,n[Ar+4>>2]=0,n[u>>2]=n[Ar>>2],n[u+4>>2]=n[Ar+4>>2],Rn(o,3696,u)|0,n[Mr>>2]=2,n[Mr+4>>2]=0,n[u>>2]=n[Mr>>2],n[u+4>>2]=n[Mr+4>>2],Un(o,3706,u)|0,n[uo>>2]=1,n[uo+4>>2]=0,n[u>>2]=n[uo>>2],n[u+4>>2]=n[uo+4>>2],zr(o,3722,u)|0,n[_o>>2]=2,n[_o+4>>2]=0,n[u>>2]=n[_o>>2],n[u+4>>2]=n[_o+4>>2],zr(o,3734,u)|0,n[Us>>2]=3,n[Us+4>>2]=0,n[u>>2]=n[Us>>2],n[u+4>>2]=n[Us+4>>2],Un(o,3753,u)|0,n[ci>>2]=4,n[ci+4>>2]=0,n[u>>2]=n[ci>>2],n[u+4>>2]=n[ci+4>>2],Un(o,3769,u)|0,n[Fr>>2]=5,n[Fr+4>>2]=0,n[u>>2]=n[Fr>>2],n[u+4>>2]=n[Fr+4>>2],Un(o,3783,u)|0,n[mp>>2]=6,n[mp+4>>2]=0,n[u>>2]=n[mp>>2],n[u+4>>2]=n[mp+4>>2],Un(o,3796,u)|0,n[dp>>2]=7,n[dp+4>>2]=0,n[u>>2]=n[dp>>2],n[u+4>>2]=n[dp+4>>2],Un(o,3813,u)|0,n[gp>>2]=8,n[gp+4>>2]=0,n[u>>2]=n[gp>>2],n[u+4>>2]=n[gp+4>>2],Un(o,3825,u)|0,n[Ic>>2]=3,n[Ic+4>>2]=0,n[u>>2]=n[Ic>>2],n[u+4>>2]=n[Ic+4>>2],zr(o,3843,u)|0,n[co>>2]=4,n[co+4>>2]=0,n[u>>2]=n[co>>2],n[u+4>>2]=n[co+4>>2],zr(o,3853,u)|0,n[Fu>>2]=9,n[Fu+4>>2]=0,n[u>>2]=n[Fu>>2],n[u+4>>2]=n[Fu+4>>2],Un(o,3870,u)|0,n[hp>>2]=10,n[hp+4>>2]=0,n[u>>2]=n[hp>>2],n[u+4>>2]=n[hp+4>>2],Un(o,3884,u)|0,n[pp>>2]=11,n[pp+4>>2]=0,n[u>>2]=n[pp>>2],n[u+4>>2]=n[pp+4>>2],Un(o,3896,u)|0,n[Ru>>2]=1,n[Ru+4>>2]=0,n[u>>2]=n[Ru>>2],n[u+4>>2]=n[Ru+4>>2],li(o,3907,u)|0,n[Mo>>2]=2,n[Mo+4>>2]=0,n[u>>2]=n[Mo>>2],n[u+4>>2]=n[Mo+4>>2],li(o,3915,u)|0,n[Tu>>2]=3,n[Tu+4>>2]=0,n[u>>2]=n[Tu>>2],n[u+4>>2]=n[Tu+4>>2],li(o,3928,u)|0,n[Lo>>2]=4,n[Lo+4>>2]=0,n[u>>2]=n[Lo>>2],n[u+4>>2]=n[Lo+4>>2],li(o,3948,u)|0,n[Ap>>2]=5,n[Ap+4>>2]=0,n[u>>2]=n[Ap>>2],n[u+4>>2]=n[Ap+4>>2],li(o,3960,u)|0,n[Wn>>2]=6,n[Wn+4>>2]=0,n[u>>2]=n[Wn>>2],n[u+4>>2]=n[Wn+4>>2],li(o,3974,u)|0,n[Ec>>2]=7,n[Ec+4>>2]=0,n[u>>2]=n[Ec>>2],n[u+4>>2]=n[Ec+4>>2],li(o,3983,u)|0,n[_s>>2]=20,n[_s+4>>2]=0,n[u>>2]=n[_s>>2],n[u+4>>2]=n[_s+4>>2],kr(o,3999,u)|0,n[lo>>2]=8,n[lo+4>>2]=0,n[u>>2]=n[lo>>2],n[u+4>>2]=n[lo+4>>2],li(o,4012,u)|0,n[fp>>2]=9,n[fp+4>>2]=0,n[u>>2]=n[fp>>2],n[u+4>>2]=n[fp+4>>2],li(o,4022,u)|0,n[up>>2]=21,n[up+4>>2]=0,n[u>>2]=n[up>>2],n[u+4>>2]=n[up+4>>2],kr(o,4039,u)|0,n[Mf>>2]=10,n[Mf+4>>2]=0,n[u>>2]=n[Mf>>2],n[u+4>>2]=n[Mf+4>>2],li(o,4053,u)|0,n[cp>>2]=11,n[cp+4>>2]=0,n[u>>2]=n[cp>>2],n[u+4>>2]=n[cp+4>>2],li(o,4065,u)|0,n[lp>>2]=12,n[lp+4>>2]=0,n[u>>2]=n[lp>>2],n[u+4>>2]=n[lp+4>>2],li(o,4084,u)|0,n[yc>>2]=13,n[yc+4>>2]=0,n[u>>2]=n[yc>>2],n[u+4>>2]=n[yc+4>>2],li(o,4097,u)|0,n[ya>>2]=14,n[ya+4>>2]=0,n[u>>2]=n[ya>>2],n[u+4>>2]=n[ya+4>>2],li(o,4117,u)|0,n[Ml>>2]=15,n[Ml+4>>2]=0,n[u>>2]=n[Ml>>2],n[u+4>>2]=n[Ml+4>>2],li(o,4129,u)|0,n[ao>>2]=16,n[ao+4>>2]=0,n[u>>2]=n[ao>>2],n[u+4>>2]=n[ao+4>>2],li(o,4148,u)|0,n[Qu>>2]=17,n[Qu+4>>2]=0,n[u>>2]=n[Qu>>2],n[u+4>>2]=n[Qu+4>>2],li(o,4161,u)|0,n[Lf>>2]=18,n[Lf+4>>2]=0,n[u>>2]=n[Lf>>2],n[u+4>>2]=n[Lf+4>>2],li(o,4181,u)|0,n[Of>>2]=5,n[Of+4>>2]=0,n[u>>2]=n[Of>>2],n[u+4>>2]=n[Of+4>>2],zr(o,4196,u)|0,n[r0>>2]=6,n[r0+4>>2]=0,n[u>>2]=n[r0>>2],n[u+4>>2]=n[r0+4>>2],zr(o,4206,u)|0,n[t0>>2]=7,n[t0+4>>2]=0,n[u>>2]=n[t0>>2],n[u+4>>2]=n[t0+4>>2],zr(o,4217,u)|0,n[ku>>2]=3,n[ku+4>>2]=0,n[u>>2]=n[ku>>2],n[u+4>>2]=n[ku+4>>2],Pu(o,4235,u)|0,n[e0>>2]=1,n[e0+4>>2]=0,n[u>>2]=n[e0>>2],n[u+4>>2]=n[e0+4>>2],yM(o,4251,u)|0,n[mc>>2]=4,n[mc+4>>2]=0,n[u>>2]=n[mc>>2],n[u+4>>2]=n[mc+4>>2],Pu(o,4263,u)|0,n[on>>2]=5,n[on+4>>2]=0,n[u>>2]=n[on>>2],n[u+4>>2]=n[on+4>>2],Pu(o,4279,u)|0,n[$h>>2]=6,n[$h+4>>2]=0,n[u>>2]=n[$h>>2],n[u+4>>2]=n[$h+4>>2],Pu(o,4293,u)|0,n[Xh>>2]=7,n[Xh+4>>2]=0,n[u>>2]=n[Xh>>2],n[u+4>>2]=n[Xh+4>>2],Pu(o,4306,u)|0,n[Zh>>2]=8,n[Zh+4>>2]=0,n[u>>2]=n[Zh>>2],n[u+4>>2]=n[Zh+4>>2],Pu(o,4323,u)|0,n[Nf>>2]=9,n[Nf+4>>2]=0,n[u>>2]=n[Nf>>2],n[u+4>>2]=n[Nf+4>>2],Pu(o,4335,u)|0,n[Ff>>2]=2,n[Ff+4>>2]=0,n[u>>2]=n[Ff>>2],n[u+4>>2]=n[Ff+4>>2],yM(o,4353,u)|0,n[zh>>2]=12,n[zh+4>>2]=0,n[u>>2]=n[zh>>2],n[u+4>>2]=n[zh+4>>2],ad(o,4363,u)|0,n[dc>>2]=1,n[dc+4>>2]=0,n[u>>2]=n[dc>>2],n[u+4>>2]=n[dc+4>>2],rp(o,4376,u)|0,n[Jh>>2]=2,n[Jh+4>>2]=0,n[u>>2]=n[Jh>>2],n[u+4>>2]=n[Jh+4>>2],rp(o,4388,u)|0,n[Kh>>2]=13,n[Kh+4>>2]=0,n[u>>2]=n[Kh>>2],n[u+4>>2]=n[Kh+4>>2],ad(o,4402,u)|0,n[$a>>2]=14,n[$a+4>>2]=0,n[u>>2]=n[$a>>2],n[u+4>>2]=n[$a+4>>2],ad(o,4411,u)|0,n[Oo>>2]=15,n[Oo+4>>2]=0,n[u>>2]=n[Oo>>2],n[u+4>>2]=n[Oo+4>>2],ad(o,4421,u)|0,n[No>>2]=16,n[No+4>>2]=0,n[u>>2]=n[No>>2],n[u+4>>2]=n[No+4>>2],ad(o,4433,u)|0,n[Fo>>2]=17,n[Fo+4>>2]=0,n[u>>2]=n[Fo>>2],n[u+4>>2]=n[Fo+4>>2],ad(o,4446,u)|0,n[Hn>>2]=18,n[Hn+4>>2]=0,n[u>>2]=n[Hn>>2],n[u+4>>2]=n[Hn+4>>2],ad(o,4458,u)|0,n[cr>>2]=3,n[cr+4>>2]=0,n[u>>2]=n[cr>>2],n[u+4>>2]=n[cr+4>>2],rp(o,4471,u)|0,n[Hr>>2]=1,n[Hr+4>>2]=0,n[u>>2]=n[Hr>>2],n[u+4>>2]=n[Hr+4>>2],WP(o,4486,u)|0,n[Tr>>2]=10,n[Tr+4>>2]=0,n[u>>2]=n[Tr>>2],n[u+4>>2]=n[Tr+4>>2],Pu(o,4496,u)|0,n[$t>>2]=11,n[$t+4>>2]=0,n[u>>2]=n[$t>>2],n[u+4>>2]=n[$t+4>>2],Pu(o,4508,u)|0,n[fr>>2]=3,n[fr+4>>2]=0,n[u>>2]=n[fr>>2],n[u+4>>2]=n[fr+4>>2],yM(o,4519,u)|0,n[qr>>2]=4,n[qr+4>>2]=0,n[u>>2]=n[qr>>2],n[u+4>>2]=n[qr+4>>2],rLe(o,4530,u)|0,n[Lt>>2]=19,n[Lt+4>>2]=0,n[u>>2]=n[Lt>>2],n[u+4>>2]=n[Lt+4>>2],nLe(o,4542,u)|0,n[Ge>>2]=12,n[Ge+4>>2]=0,n[u>>2]=n[Ge>>2],n[u+4>>2]=n[Ge+4>>2],iLe(o,4554,u)|0,n[He>>2]=13,n[He+4>>2]=0,n[u>>2]=n[He>>2],n[u+4>>2]=n[He+4>>2],sLe(o,4568,u)|0,n[ct>>2]=2,n[ct+4>>2]=0,n[u>>2]=n[ct>>2],n[u+4>>2]=n[ct+4>>2],oLe(o,4578,u)|0,n[Ze>>2]=20,n[Ze+4>>2]=0,n[u>>2]=n[Ze>>2],n[u+4>>2]=n[Ze+4>>2],aLe(o,4587,u)|0,n[tt>>2]=22,n[tt+4>>2]=0,n[u>>2]=n[tt>>2],n[u+4>>2]=n[tt+4>>2],kr(o,4602,u)|0,n[Qe>>2]=23,n[Qe+4>>2]=0,n[u>>2]=n[Qe>>2],n[u+4>>2]=n[Qe+4>>2],kr(o,4619,u)|0,n[Le>>2]=14,n[Le+4>>2]=0,n[u>>2]=n[Le>>2],n[u+4>>2]=n[Le+4>>2],lLe(o,4629,u)|0,n[We>>2]=1,n[We+4>>2]=0,n[u>>2]=n[We>>2],n[u+4>>2]=n[We+4>>2],cLe(o,4637,u)|0,n[ae>>2]=4,n[ae+4>>2]=0,n[u>>2]=n[ae>>2],n[u+4>>2]=n[ae+4>>2],rp(o,4653,u)|0,n[G>>2]=5,n[G+4>>2]=0,n[u>>2]=n[G>>2],n[u+4>>2]=n[G+4>>2],rp(o,4669,u)|0,n[M>>2]=6,n[M+4>>2]=0,n[u>>2]=n[M>>2],n[u+4>>2]=n[M+4>>2],rp(o,4686,u)|0,n[_>>2]=7,n[_+4>>2]=0,n[u>>2]=n[_>>2],n[u+4>>2]=n[_+4>>2],rp(o,4701,u)|0,n[T>>2]=8,n[T+4>>2]=0,n[u>>2]=n[T>>2],n[u+4>>2]=n[T+4>>2],rp(o,4719,u)|0,n[k>>2]=9,n[k+4>>2]=0,n[u>>2]=n[k>>2],n[u+4>>2]=n[k+4>>2],rp(o,4736,u)|0,n[B>>2]=21,n[B+4>>2]=0,n[u>>2]=n[B>>2],n[u+4>>2]=n[B+4>>2],uLe(o,4754,u)|0,n[m>>2]=2,n[m+4>>2]=0,n[u>>2]=n[m>>2],n[u+4>>2]=n[m+4>>2],WP(o,4772,u)|0,n[d>>2]=3,n[d+4>>2]=0,n[u>>2]=n[d>>2],n[u+4>>2]=n[d+4>>2],WP(o,4790,u)|0,n[A>>2]=4,n[A+4>>2]=0,n[u>>2]=n[A>>2],n[u+4>>2]=n[A+4>>2],WP(o,4808,u)|0,I=l}function pt(o,l){o=o|0,l=l|0;var u=0;u=dHe()|0,n[o>>2]=u,mHe(u,l),Wh(n[o>>2]|0)}function Zt(o,l,u){return o=o|0,l=l|0,u=u|0,rHe(o,Bn(l)|0,u,0),o|0}function Sr(o,l,u){return o=o|0,l=l|0,u=u|0,U8e(o,Bn(l)|0,u,0),o|0}function Xn(o,l,u){return o=o|0,l=l|0,u=u|0,D8e(o,Bn(l)|0,u,0),o|0}function kr(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],u8e(o,l,d),I=A,o|0}function Rn(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],W3e(o,l,d),I=A,o|0}function Un(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],x3e(o,l,d),I=A,o|0}function zr(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],p3e(o,l,d),I=A,o|0}function li(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Z4e(o,l,d),I=A,o|0}function Pu(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],N4e(o,l,d),I=A,o|0}function yM(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],E4e(o,l,d),I=A,o|0}function ad(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],WUe(o,l,d),I=A,o|0}function rp(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xUe(o,l,d),I=A,o|0}function WP(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],pUe(o,l,d),I=A,o|0}function rLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Z_e(o,l,d),I=A,o|0}function nLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],N_e(o,l,d),I=A,o|0}function iLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],I_e(o,l,d),I=A,o|0}function sLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],s_e(o,l,d),I=A,o|0}function oLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],jMe(o,l,d),I=A,o|0}function aLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],SMe(o,l,d),I=A,o|0}function lLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cMe(o,l,d),I=A,o|0}function cLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],WLe(o,l,d),I=A,o|0}function uLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],fLe(o,l,d),I=A,o|0}function fLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ALe(o,u,d,1),I=A}function Bn(o){return o=o|0,o|0}function ALe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=EM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=pLe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,hLe(m,A)|0,A),I=d}function EM(){var o=0,l=0;if(s[7616]|0||(eZ(9136),gr(24,9136,U|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9136)|0)){o=9136,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));eZ(9136)}return 9136}function pLe(o){return o=o|0,0}function hLe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=EM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],$z(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(mLe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function vn(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0;B=I,I=I+32|0,ae=B+24|0,G=B+20|0,T=B+16|0,M=B+12|0,_=B+8|0,k=B+4|0,We=B,n[G>>2]=l,n[T>>2]=u,n[M>>2]=A,n[_>>2]=d,n[k>>2]=m,m=o+28|0,n[We>>2]=n[m>>2],n[ae>>2]=n[We>>2],gLe(o+24|0,ae,G,M,_,T,k)|0,n[m>>2]=n[n[m>>2]>>2],I=B}function gLe(o,l,u,A,d,m,B){return o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,B=B|0,o=dLe(l)|0,l=Jt(24)|0,Xz(l+4|0,n[u>>2]|0,n[A>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[o>>2],n[o>>2]=l,l|0}function dLe(o){return o=o|0,n[o>>2]|0}function Xz(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,n[o>>2]=l,n[o+4>>2]=u,n[o+8>>2]=A,n[o+12>>2]=d,n[o+16>>2]=m}function yr(o,l){return o=o|0,l=l|0,l|o|0}function $z(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function mLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=yLe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,ELe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],$z(m,A,u),n[T>>2]=(n[T>>2]|0)+12,ILe(o,k),CLe(k),I=_;return}}function yLe(o){return o=o|0,357913941}function ELe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function ILe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function CLe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function eZ(o){o=o|0,vLe(o)}function wLe(o){o=o|0,BLe(o+24|0)}function Ur(o){return o=o|0,n[o>>2]|0}function BLe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function vLe(o){o=o|0;var l=0;l=en()|0,tn(o,2,3,l,SLe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function en(){return 9228}function SLe(){return 1140}function DLe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=bLe(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=PLe(l,A)|0,I=u,l|0}function tn(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,n[o>>2]=l,n[o+4>>2]=u,n[o+8>>2]=A,n[o+12>>2]=d,n[o+16>>2]=m}function bLe(o){return o=o|0,(n[(EM()|0)+24>>2]|0)+(o*12|0)|0}function PLe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;return d=I,I=I+48|0,A=d,u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),ap[u&31](A,o),A=xLe(A)|0,I=d,A|0}function xLe(o){o=o|0;var l=0,u=0,A=0,d=0;return d=I,I=I+32|0,l=d+12|0,u=d,A=IM(tZ()|0)|0,A?(CM(l,A),wM(u,l),kLe(o,u),o=BM(l)|0):o=QLe(o)|0,I=d,o|0}function tZ(){var o=0;return s[7632]|0||(HLe(9184),gr(25,9184,U|0)|0,o=7632,n[o>>2]=1,n[o+4>>2]=0),9184}function IM(o){return o=o|0,n[o+36>>2]|0}function CM(o,l){o=o|0,l=l|0,n[o>>2]=l,n[o+4>>2]=o,n[o+8>>2]=0}function wM(o,l){o=o|0,l=l|0,n[o>>2]=n[l>>2],n[o+4>>2]=n[l+4>>2],n[o+8>>2]=0}function kLe(o,l){o=o|0,l=l|0,NLe(l,o,o+8|0,o+16|0,o+24|0,o+32|0,o+40|0)|0}function BM(o){return o=o|0,n[(n[o+4>>2]|0)+8>>2]|0}function QLe(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,T=0;T=I,I=I+16|0,u=T+4|0,A=T,d=Fl(8)|0,m=d,B=Jt(48)|0,k=B,l=k+48|0;do n[k>>2]=n[o>>2],k=k+4|0,o=o+4|0;while((k|0)<(l|0));return l=m+4|0,n[l>>2]=B,k=Jt(8)|0,B=n[l>>2]|0,n[A>>2]=0,n[u>>2]=n[A>>2],rZ(k,B,u),n[d>>2]=k,I=T,m|0}function rZ(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Jt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1092,n[u+12>>2]=l,n[o+4>>2]=u}function TLe(o){o=o|0,$y(o),yt(o)}function RLe(o){o=o|0,o=n[o+12>>2]|0,o|0&&yt(o)}function FLe(o){o=o|0,yt(o)}function NLe(o,l,u,A,d,m,B){return o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,B=B|0,m=OLe(n[o>>2]|0,l,u,A,d,m,B)|0,B=o+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function OLe(o,l,u,A,d,m,B){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,B=B|0;var k=0,T=0;return k=I,I=I+16|0,T=k,Nl(T),o=Ls(o)|0,B=LLe(o,+E[l>>3],+E[u>>3],+E[A>>3],+E[d>>3],+E[m>>3],+E[B>>3])|0,Ol(T),I=k,B|0}function LLe(o,l,u,A,d,m,B){o=o|0,l=+l,u=+u,A=+A,d=+d,m=+m,B=+B;var k=0;return k=ma(MLe()|0)|0,l=+Ja(l),u=+Ja(u),A=+Ja(A),d=+Ja(d),m=+Ja(m),no(0,k|0,o|0,+l,+u,+A,+d,+m,+ +Ja(B))|0}function MLe(){var o=0;return s[7624]|0||(_Le(9172),o=7624,n[o>>2]=1,n[o+4>>2]=0),9172}function _Le(o){o=o|0,Ro(o,ULe()|0,6)}function ULe(){return 1112}function HLe(o){o=o|0,Uh(o)}function jLe(o){o=o|0,nZ(o+24|0),iZ(o+16|0)}function nZ(o){o=o|0,GLe(o)}function iZ(o){o=o|0,qLe(o)}function qLe(o){o=o|0;var l=0,u=0;if(l=n[o>>2]|0,l|0)do u=l,l=n[l>>2]|0,yt(u);while(l|0);n[o>>2]=0}function GLe(o){o=o|0;var l=0,u=0;if(l=n[o>>2]|0,l|0)do u=l,l=n[l>>2]|0,yt(u);while(l|0);n[o>>2]=0}function Uh(o){o=o|0;var l=0;n[o+16>>2]=0,n[o+20>>2]=0,l=o+24|0,n[l>>2]=0,n[o+28>>2]=l,n[o+36>>2]=0,s[o+40>>0]=0,s[o+41>>0]=0}function WLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],YLe(o,u,d,0),I=A}function YLe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=vM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=VLe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,KLe(m,A)|0,A),I=d}function vM(){var o=0,l=0;if(s[7640]|0||(oZ(9232),gr(26,9232,U|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9232)|0)){o=9232,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));oZ(9232)}return 9232}function VLe(o){return o=o|0,0}function KLe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=vM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],sZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(JLe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function sZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function JLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=zLe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,ZLe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],sZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,XLe(o,k),$Le(k),I=_;return}}function zLe(o){return o=o|0,357913941}function ZLe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function XLe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function $Le(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function oZ(o){o=o|0,rMe(o)}function eMe(o){o=o|0,tMe(o+24|0)}function tMe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function rMe(o){o=o|0;var l=0;l=en()|0,tn(o,2,1,l,nMe()|0,3),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function nMe(){return 1144}function iMe(o,l,u,A,d){o=o|0,l=l|0,u=+u,A=+A,d=d|0;var m=0,B=0,k=0,T=0;m=I,I=I+16|0,B=m+8|0,k=m,T=sMe(o)|0,o=n[T+4>>2]|0,n[k>>2]=n[T>>2],n[k+4>>2]=o,n[B>>2]=n[k>>2],n[B+4>>2]=n[k+4>>2],oMe(l,B,u,A,d),I=m}function sMe(o){return o=o|0,(n[(vM()|0)+24>>2]|0)+(o*12|0)|0}function oMe(o,l,u,A,d){o=o|0,l=l|0,u=+u,A=+A,d=d|0;var m=0,B=0,k=0,T=0,_=0;_=I,I=I+16|0,B=_+2|0,k=_+1|0,T=_,m=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(m=n[(n[o>>2]|0)+m>>2]|0),Tf(B,u),u=+Rf(B,u),Tf(k,A),A=+Rf(k,A),np(T,d),T=ip(T,d)|0,C$[m&1](o,u,A,T),I=_}function Tf(o,l){o=o|0,l=+l}function Rf(o,l){return o=o|0,l=+l,+ +lMe(l)}function np(o,l){o=o|0,l=l|0}function ip(o,l){return o=o|0,l=l|0,aMe(l)|0}function aMe(o){return o=o|0,o|0}function lMe(o){return o=+o,+o}function cMe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],uMe(o,u,d,1),I=A}function uMe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=SM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=fMe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,AMe(m,A)|0,A),I=d}function SM(){var o=0,l=0;if(s[7648]|0||(lZ(9268),gr(27,9268,U|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9268)|0)){o=9268,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));lZ(9268)}return 9268}function fMe(o){return o=o|0,0}function AMe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=SM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],aZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(pMe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function aZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function pMe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=hMe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,gMe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],aZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,dMe(o,k),mMe(k),I=_;return}}function hMe(o){return o=o|0,357913941}function gMe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function dMe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function mMe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function lZ(o){o=o|0,IMe(o)}function yMe(o){o=o|0,EMe(o+24|0)}function EMe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function IMe(o){o=o|0;var l=0;l=en()|0,tn(o,2,4,l,CMe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function CMe(){return 1160}function wMe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=BMe(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=vMe(l,A)|0,I=u,l|0}function BMe(o){return o=o|0,(n[(SM()|0)+24>>2]|0)+(o*12|0)|0}function vMe(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),cZ(dd[u&31](o)|0)|0}function cZ(o){return o=o|0,o&1|0}function SMe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],DMe(o,u,d,0),I=A}function DMe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=DM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=bMe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,PMe(m,A)|0,A),I=d}function DM(){var o=0,l=0;if(s[7656]|0||(fZ(9304),gr(28,9304,U|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9304)|0)){o=9304,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));fZ(9304)}return 9304}function bMe(o){return o=o|0,0}function PMe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=DM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],uZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(xMe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function uZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function xMe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=kMe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,QMe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],uZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,TMe(o,k),RMe(k),I=_;return}}function kMe(o){return o=o|0,357913941}function QMe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function TMe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function RMe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function fZ(o){o=o|0,OMe(o)}function FMe(o){o=o|0,NMe(o+24|0)}function NMe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function OMe(o){o=o|0;var l=0;l=en()|0,tn(o,2,5,l,LMe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function LMe(){return 1164}function MMe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=_Me(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],UMe(l,d,u),I=A}function _Me(o){return o=o|0,(n[(DM()|0)+24>>2]|0)+(o*12|0)|0}function UMe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),Hh(d,u),u=jh(d,u)|0,ap[A&31](o,u),qh(d),I=m}function Hh(o,l){o=o|0,l=l|0,HMe(o,l)}function jh(o,l){return o=o|0,l=l|0,o|0}function qh(o){o=o|0,Df(o)}function HMe(o,l){o=o|0,l=l|0,bM(o,l)}function bM(o,l){o=o|0,l=l|0,n[o>>2]=l}function jMe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],qMe(o,u,d,0),I=A}function qMe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=PM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=GMe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,WMe(m,A)|0,A),I=d}function PM(){var o=0,l=0;if(s[7664]|0||(pZ(9340),gr(29,9340,U|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9340)|0)){o=9340,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));pZ(9340)}return 9340}function GMe(o){return o=o|0,0}function WMe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=PM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],AZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(YMe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function AZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function YMe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=VMe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,KMe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],AZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,JMe(o,k),zMe(k),I=_;return}}function VMe(o){return o=o|0,357913941}function KMe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function JMe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function zMe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function pZ(o){o=o|0,$Me(o)}function ZMe(o){o=o|0,XMe(o+24|0)}function XMe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function $Me(o){o=o|0;var l=0;l=en()|0,tn(o,2,4,l,e_e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function e_e(){return 1180}function t_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=r_e(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],u=n_e(l,d,u)|0,I=A,u|0}function r_e(o){return o=o|0,(n[(PM()|0)+24>>2]|0)+(o*12|0)|0}function n_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;return m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),ld(d,u),d=cd(d,u)|0,d=YP(v_[A&15](o,d)|0)|0,I=m,d|0}function ld(o,l){o=o|0,l=l|0}function cd(o,l){return o=o|0,l=l|0,i_e(l)|0}function YP(o){return o=o|0,o|0}function i_e(o){return o=o|0,o|0}function s_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],o_e(o,u,d,0),I=A}function o_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=xM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=a_e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,l_e(m,A)|0,A),I=d}function xM(){var o=0,l=0;if(s[7672]|0||(gZ(9376),gr(30,9376,U|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9376)|0)){o=9376,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));gZ(9376)}return 9376}function a_e(o){return o=o|0,0}function l_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=xM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],hZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(c_e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function hZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function c_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=u_e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,f_e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],hZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,A_e(o,k),p_e(k),I=_;return}}function u_e(o){return o=o|0,357913941}function f_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function A_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function p_e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function gZ(o){o=o|0,d_e(o)}function h_e(o){o=o|0,g_e(o+24|0)}function g_e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function d_e(o){o=o|0;var l=0;l=en()|0,tn(o,2,5,l,dZ()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function dZ(){return 1196}function m_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=y_e(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=E_e(l,A)|0,I=u,l|0}function y_e(o){return o=o|0,(n[(xM()|0)+24>>2]|0)+(o*12|0)|0}function E_e(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),YP(dd[u&31](o)|0)|0}function I_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],C_e(o,u,d,1),I=A}function C_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=kM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=w_e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,B_e(m,A)|0,A),I=d}function kM(){var o=0,l=0;if(s[7680]|0||(yZ(9412),gr(31,9412,U|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9412)|0)){o=9412,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));yZ(9412)}return 9412}function w_e(o){return o=o|0,0}function B_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=kM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],mZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(v_e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function mZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function v_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=S_e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,D_e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],mZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,b_e(o,k),P_e(k),I=_;return}}function S_e(o){return o=o|0,357913941}function D_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function b_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function P_e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function yZ(o){o=o|0,Q_e(o)}function x_e(o){o=o|0,k_e(o+24|0)}function k_e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function Q_e(o){o=o|0;var l=0;l=en()|0,tn(o,2,6,l,EZ()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function EZ(){return 1200}function T_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=R_e(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=F_e(l,A)|0,I=u,l|0}function R_e(o){return o=o|0,(n[(kM()|0)+24>>2]|0)+(o*12|0)|0}function F_e(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),VP(dd[u&31](o)|0)|0}function VP(o){return o=o|0,o|0}function N_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],O_e(o,u,d,0),I=A}function O_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=QM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=L_e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,M_e(m,A)|0,A),I=d}function QM(){var o=0,l=0;if(s[7688]|0||(CZ(9448),gr(32,9448,U|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9448)|0)){o=9448,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));CZ(9448)}return 9448}function L_e(o){return o=o|0,0}function M_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=QM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],IZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(__e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function IZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function __e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=U_e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,H_e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],IZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,j_e(o,k),q_e(k),I=_;return}}function U_e(o){return o=o|0,357913941}function H_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function j_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function q_e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function CZ(o){o=o|0,Y_e(o)}function G_e(o){o=o|0,W_e(o+24|0)}function W_e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function Y_e(o){o=o|0;var l=0;l=en()|0,tn(o,2,6,l,wZ()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function wZ(){return 1204}function V_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=K_e(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],J_e(l,d,u),I=A}function K_e(o){return o=o|0,(n[(QM()|0)+24>>2]|0)+(o*12|0)|0}function J_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),TM(d,u),d=RM(d,u)|0,ap[A&31](o,d),I=m}function TM(o,l){o=o|0,l=l|0}function RM(o,l){return o=o|0,l=l|0,z_e(l)|0}function z_e(o){return o=o|0,o|0}function Z_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],X_e(o,u,d,0),I=A}function X_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=FM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=$_e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,eUe(m,A)|0,A),I=d}function FM(){var o=0,l=0;if(s[7696]|0||(vZ(9484),gr(33,9484,U|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9484)|0)){o=9484,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));vZ(9484)}return 9484}function $_e(o){return o=o|0,0}function eUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=FM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],BZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(tUe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function BZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function tUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=rUe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,nUe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],BZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,iUe(o,k),sUe(k),I=_;return}}function rUe(o){return o=o|0,357913941}function nUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function iUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function sUe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function vZ(o){o=o|0,lUe(o)}function oUe(o){o=o|0,aUe(o+24|0)}function aUe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function lUe(o){o=o|0;var l=0;l=en()|0,tn(o,2,1,l,cUe()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function cUe(){return 1212}function uUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,m=d+8|0,B=d,k=fUe(o)|0,o=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=o,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],AUe(l,m,u,A),I=d}function fUe(o){return o=o|0,(n[(FM()|0)+24>>2]|0)+(o*12|0)|0}function AUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;k=I,I=I+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(d=n[(n[o>>2]|0)+d>>2]|0),TM(m,u),m=RM(m,u)|0,ld(B,A),B=cd(B,A)|0,L2[d&15](o,m,B),I=k}function pUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hUe(o,u,d,1),I=A}function hUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=NM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=gUe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,dUe(m,A)|0,A),I=d}function NM(){var o=0,l=0;if(s[7704]|0||(DZ(9520),gr(34,9520,U|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9520)|0)){o=9520,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));DZ(9520)}return 9520}function gUe(o){return o=o|0,0}function dUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=NM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],SZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(mUe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function SZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function mUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=yUe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,EUe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],SZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,IUe(o,k),CUe(k),I=_;return}}function yUe(o){return o=o|0,357913941}function EUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function IUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function CUe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function DZ(o){o=o|0,vUe(o)}function wUe(o){o=o|0,BUe(o+24|0)}function BUe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function vUe(o){o=o|0;var l=0;l=en()|0,tn(o,2,1,l,SUe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function SUe(){return 1224}function DUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;return d=I,I=I+16|0,m=d+8|0,B=d,k=bUe(o)|0,o=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=o,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],A=+PUe(l,m,u),I=d,+A}function bUe(o){return o=o|0,(n[(NM()|0)+24>>2]|0)+(o*12|0)|0}function PUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),np(d,u),d=ip(d,u)|0,B=+Qf(+B$[A&7](o,d)),I=m,+B}function xUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],kUe(o,u,d,1),I=A}function kUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=OM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=QUe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,TUe(m,A)|0,A),I=d}function OM(){var o=0,l=0;if(s[7712]|0||(PZ(9556),gr(35,9556,U|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9556)|0)){o=9556,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));PZ(9556)}return 9556}function QUe(o){return o=o|0,0}function TUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=OM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],bZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(RUe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function bZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function RUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=FUe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,NUe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],bZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,OUe(o,k),LUe(k),I=_;return}}function FUe(o){return o=o|0,357913941}function NUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function OUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function LUe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function PZ(o){o=o|0,UUe(o)}function MUe(o){o=o|0,_Ue(o+24|0)}function _Ue(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function UUe(o){o=o|0;var l=0;l=en()|0,tn(o,2,5,l,HUe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function HUe(){return 1232}function jUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=qUe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],u=+GUe(l,d),I=A,+u}function qUe(o){return o=o|0,(n[(OM()|0)+24>>2]|0)+(o*12|0)|0}function GUe(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),+ +Qf(+w$[u&15](o))}function WUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],YUe(o,u,d,1),I=A}function YUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=LM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=VUe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,KUe(m,A)|0,A),I=d}function LM(){var o=0,l=0;if(s[7720]|0||(kZ(9592),gr(36,9592,U|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9592)|0)){o=9592,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));kZ(9592)}return 9592}function VUe(o){return o=o|0,0}function KUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=LM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],xZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(JUe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function xZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function JUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=zUe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,ZUe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],xZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,XUe(o,k),$Ue(k),I=_;return}}function zUe(o){return o=o|0,357913941}function ZUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function XUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function $Ue(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function kZ(o){o=o|0,r4e(o)}function e4e(o){o=o|0,t4e(o+24|0)}function t4e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function r4e(o){o=o|0;var l=0;l=en()|0,tn(o,2,7,l,n4e()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function n4e(){return 1276}function i4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=s4e(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=o4e(l,A)|0,I=u,l|0}function s4e(o){return o=o|0,(n[(LM()|0)+24>>2]|0)+(o*12|0)|0}function o4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;return d=I,I=I+16|0,A=d,u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),ap[u&31](A,o),A=QZ(A)|0,I=d,A|0}function QZ(o){o=o|0;var l=0,u=0,A=0,d=0;return d=I,I=I+32|0,l=d+12|0,u=d,A=IM(TZ()|0)|0,A?(CM(l,A),wM(u,l),a4e(o,u),o=BM(l)|0):o=l4e(o)|0,I=d,o|0}function TZ(){var o=0;return s[7736]|0||(y4e(9640),gr(25,9640,U|0)|0,o=7736,n[o>>2]=1,n[o+4>>2]=0),9640}function a4e(o,l){o=o|0,l=l|0,A4e(l,o,o+8|0)|0}function l4e(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0;return u=I,I=I+16|0,d=u+4|0,B=u,A=Fl(8)|0,l=A,k=Jt(16)|0,n[k>>2]=n[o>>2],n[k+4>>2]=n[o+4>>2],n[k+8>>2]=n[o+8>>2],n[k+12>>2]=n[o+12>>2],m=l+4|0,n[m>>2]=k,o=Jt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],MM(o,m,d),n[A>>2]=o,I=u,l|0}function MM(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Jt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1244,n[u+12>>2]=l,n[o+4>>2]=u}function c4e(o){o=o|0,$y(o),yt(o)}function u4e(o){o=o|0,o=n[o+12>>2]|0,o|0&&yt(o)}function f4e(o){o=o|0,yt(o)}function A4e(o,l,u){return o=o|0,l=l|0,u=u|0,l=p4e(n[o>>2]|0,l,u)|0,u=o+4|0,n[(n[u>>2]|0)+8>>2]=l,n[(n[u>>2]|0)+8>>2]|0}function p4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;return A=I,I=I+16|0,d=A,Nl(d),o=Ls(o)|0,u=h4e(o,n[l>>2]|0,+E[u>>3])|0,Ol(d),I=A,u|0}function h4e(o,l,u){o=o|0,l=l|0,u=+u;var A=0;return A=ma(g4e()|0)|0,l=Yy(l)|0,lu(0,A|0,o|0,l|0,+ +Ja(u))|0}function g4e(){var o=0;return s[7728]|0||(d4e(9628),o=7728,n[o>>2]=1,n[o+4>>2]=0),9628}function d4e(o){o=o|0,Ro(o,m4e()|0,2)}function m4e(){return 1264}function y4e(o){o=o|0,Uh(o)}function E4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],I4e(o,u,d,1),I=A}function I4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=_M()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=C4e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,w4e(m,A)|0,A),I=d}function _M(){var o=0,l=0;if(s[7744]|0||(FZ(9684),gr(37,9684,U|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9684)|0)){o=9684,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));FZ(9684)}return 9684}function C4e(o){return o=o|0,0}function w4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=_M()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],RZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(B4e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function RZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function B4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=v4e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,S4e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],RZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,D4e(o,k),b4e(k),I=_;return}}function v4e(o){return o=o|0,357913941}function S4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function D4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function b4e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function FZ(o){o=o|0,k4e(o)}function P4e(o){o=o|0,x4e(o+24|0)}function x4e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function k4e(o){o=o|0;var l=0;l=en()|0,tn(o,2,5,l,Q4e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function Q4e(){return 1280}function T4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=R4e(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],u=F4e(l,d,u)|0,I=A,u|0}function R4e(o){return o=o|0,(n[(_M()|0)+24>>2]|0)+(o*12|0)|0}function F4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return B=I,I=I+32|0,d=B,m=B+16|0,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),np(m,u),m=ip(m,u)|0,L2[A&15](d,o,m),m=QZ(d)|0,I=B,m|0}function N4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],O4e(o,u,d,1),I=A}function O4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=UM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=L4e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,M4e(m,A)|0,A),I=d}function UM(){var o=0,l=0;if(s[7752]|0||(OZ(9720),gr(38,9720,U|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9720)|0)){o=9720,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));OZ(9720)}return 9720}function L4e(o){return o=o|0,0}function M4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=UM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],NZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(_4e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function NZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function _4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=U4e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,H4e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],NZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,j4e(o,k),q4e(k),I=_;return}}function U4e(o){return o=o|0,357913941}function H4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function j4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function q4e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function OZ(o){o=o|0,Y4e(o)}function G4e(o){o=o|0,W4e(o+24|0)}function W4e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function Y4e(o){o=o|0;var l=0;l=en()|0,tn(o,2,8,l,V4e()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function V4e(){return 1288}function K4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=J4e(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=z4e(l,A)|0,I=u,l|0}function J4e(o){return o=o|0,(n[(UM()|0)+24>>2]|0)+(o*12|0)|0}function z4e(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),od(dd[u&31](o)|0)|0}function Z4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],X4e(o,u,d,0),I=A}function X4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=HM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=$4e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,e3e(m,A)|0,A),I=d}function HM(){var o=0,l=0;if(s[7760]|0||(MZ(9756),gr(39,9756,U|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9756)|0)){o=9756,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));MZ(9756)}return 9756}function $4e(o){return o=o|0,0}function e3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=HM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],LZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(t3e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function LZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function t3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=r3e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,n3e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],LZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,i3e(o,k),s3e(k),I=_;return}}function r3e(o){return o=o|0,357913941}function n3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function i3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function s3e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function MZ(o){o=o|0,l3e(o)}function o3e(o){o=o|0,a3e(o+24|0)}function a3e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function l3e(o){o=o|0;var l=0;l=en()|0,tn(o,2,8,l,c3e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function c3e(){return 1292}function u3e(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=f3e(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],A3e(l,d,u),I=A}function f3e(o){return o=o|0,(n[(HM()|0)+24>>2]|0)+(o*12|0)|0}function A3e(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),Tf(d,u),u=+Rf(d,u),E$[A&31](o,u),I=m}function p3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],h3e(o,u,d,0),I=A}function h3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=jM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=g3e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,d3e(m,A)|0,A),I=d}function jM(){var o=0,l=0;if(s[7768]|0||(UZ(9792),gr(40,9792,U|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9792)|0)){o=9792,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));UZ(9792)}return 9792}function g3e(o){return o=o|0,0}function d3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=jM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_Z(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(m3e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function _Z(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function m3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=y3e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,E3e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],_Z(m,A,u),n[T>>2]=(n[T>>2]|0)+12,I3e(o,k),C3e(k),I=_;return}}function y3e(o){return o=o|0,357913941}function E3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function I3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function C3e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function UZ(o){o=o|0,v3e(o)}function w3e(o){o=o|0,B3e(o+24|0)}function B3e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function v3e(o){o=o|0;var l=0;l=en()|0,tn(o,2,1,l,S3e()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function S3e(){return 1300}function D3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=+A;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,m=d+8|0,B=d,k=b3e(o)|0,o=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=o,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],P3e(l,m,u,A),I=d}function b3e(o){return o=o|0,(n[(jM()|0)+24>>2]|0)+(o*12|0)|0}function P3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=+A;var d=0,m=0,B=0,k=0;k=I,I=I+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(d=n[(n[o>>2]|0)+d>>2]|0),np(m,u),m=ip(m,u)|0,Tf(B,A),A=+Rf(B,A),b$[d&15](o,m,A),I=k}function x3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],k3e(o,u,d,0),I=A}function k3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=qM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=Q3e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,T3e(m,A)|0,A),I=d}function qM(){var o=0,l=0;if(s[7776]|0||(jZ(9828),gr(41,9828,U|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9828)|0)){o=9828,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));jZ(9828)}return 9828}function Q3e(o){return o=o|0,0}function T3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=qM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],HZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(R3e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function HZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function R3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=F3e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,N3e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],HZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,O3e(o,k),L3e(k),I=_;return}}function F3e(o){return o=o|0,357913941}function N3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function O3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function L3e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function jZ(o){o=o|0,U3e(o)}function M3e(o){o=o|0,_3e(o+24|0)}function _3e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function U3e(o){o=o|0;var l=0;l=en()|0,tn(o,2,7,l,H3e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function H3e(){return 1312}function j3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=q3e(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],G3e(l,d,u),I=A}function q3e(o){return o=o|0,(n[(qM()|0)+24>>2]|0)+(o*12|0)|0}function G3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),np(d,u),d=ip(d,u)|0,ap[A&31](o,d),I=m}function W3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Y3e(o,u,d,0),I=A}function Y3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=GM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=V3e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,K3e(m,A)|0,A),I=d}function GM(){var o=0,l=0;if(s[7784]|0||(GZ(9864),gr(42,9864,U|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9864)|0)){o=9864,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));GZ(9864)}return 9864}function V3e(o){return o=o|0,0}function K3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=GM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],qZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(J3e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function qZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function J3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=z3e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,Z3e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],qZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,X3e(o,k),$3e(k),I=_;return}}function z3e(o){return o=o|0,357913941}function Z3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function X3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function $3e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function GZ(o){o=o|0,r8e(o)}function e8e(o){o=o|0,t8e(o+24|0)}function t8e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function r8e(o){o=o|0;var l=0;l=en()|0,tn(o,2,8,l,n8e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function n8e(){return 1320}function i8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=s8e(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],o8e(l,d,u),I=A}function s8e(o){return o=o|0,(n[(GM()|0)+24>>2]|0)+(o*12|0)|0}function o8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),a8e(d,u),d=l8e(d,u)|0,ap[A&31](o,d),I=m}function a8e(o,l){o=o|0,l=l|0}function l8e(o,l){return o=o|0,l=l|0,c8e(l)|0}function c8e(o){return o=o|0,o|0}function u8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],f8e(o,u,d,0),I=A}function f8e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=WM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=A8e(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,p8e(m,A)|0,A),I=d}function WM(){var o=0,l=0;if(s[7792]|0||(YZ(9900),gr(43,9900,U|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9900)|0)){o=9900,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));YZ(9900)}return 9900}function A8e(o){return o=o|0,0}function p8e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=WM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],WZ(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(h8e(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function WZ(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function h8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=g8e(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,d8e(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],WZ(m,A,u),n[T>>2]=(n[T>>2]|0)+12,m8e(o,k),y8e(k),I=_;return}}function g8e(o){return o=o|0,357913941}function d8e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function m8e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function y8e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function YZ(o){o=o|0,C8e(o)}function E8e(o){o=o|0,I8e(o+24|0)}function I8e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function C8e(o){o=o|0;var l=0;l=en()|0,tn(o,2,22,l,w8e()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function w8e(){return 1344}function B8e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;u=I,I=I+16|0,A=u+8|0,d=u,m=v8e(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],S8e(l,A),I=u}function v8e(o){return o=o|0,(n[(WM()|0)+24>>2]|0)+(o*12|0)|0}function S8e(o,l){o=o|0,l=l|0;var u=0;u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),op[u&127](o)}function D8e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=YM()|0,o=b8e(u)|0,vn(m,l,d,o,P8e(u,A)|0,A)}function YM(){var o=0,l=0;if(s[7800]|0||(KZ(9936),gr(44,9936,U|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9936)|0)){o=9936,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));KZ(9936)}return 9936}function b8e(o){return o=o|0,o|0}function P8e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=YM()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(VZ(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(x8e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function VZ(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function x8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=k8e(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,Q8e(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,VZ(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,T8e(o,d),R8e(d),I=k;return}}function k8e(o){return o=o|0,536870911}function Q8e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function T8e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function R8e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function KZ(o){o=o|0,O8e(o)}function F8e(o){o=o|0,N8e(o+24|0)}function N8e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function O8e(o){o=o|0;var l=0;l=en()|0,tn(o,1,23,l,wZ()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function L8e(o,l){o=o|0,l=l|0,_8e(n[(M8e(o)|0)>>2]|0,l)}function M8e(o){return o=o|0,(n[(YM()|0)+24>>2]|0)+(o<<3)|0}function _8e(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,TM(A,l),l=RM(A,l)|0,op[o&127](l),I=u}function U8e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=VM()|0,o=H8e(u)|0,vn(m,l,d,o,j8e(u,A)|0,A)}function VM(){var o=0,l=0;if(s[7808]|0||(zZ(9972),gr(45,9972,U|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(Ur(9972)|0)){o=9972,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));zZ(9972)}return 9972}function H8e(o){return o=o|0,o|0}function j8e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=VM()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(JZ(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(q8e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function JZ(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function q8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=G8e(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,W8e(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,JZ(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Y8e(o,d),V8e(d),I=k;return}}function G8e(o){return o=o|0,536870911}function W8e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function Y8e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function V8e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function zZ(o){o=o|0,z8e(o)}function K8e(o){o=o|0,J8e(o+24|0)}function J8e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function z8e(o){o=o|0;var l=0;l=en()|0,tn(o,1,9,l,Z8e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function Z8e(){return 1348}function X8e(o,l){return o=o|0,l=l|0,eHe(n[($8e(o)|0)>>2]|0,l)|0}function $8e(o){return o=o|0,(n[(VM()|0)+24>>2]|0)+(o<<3)|0}function eHe(o,l){o=o|0,l=l|0;var u=0,A=0;return u=I,I=I+16|0,A=u,ZZ(A,l),l=XZ(A,l)|0,l=YP(dd[o&31](l)|0)|0,I=u,l|0}function ZZ(o,l){o=o|0,l=l|0}function XZ(o,l){return o=o|0,l=l|0,tHe(l)|0}function tHe(o){return o=o|0,o|0}function rHe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=KM()|0,o=nHe(u)|0,vn(m,l,d,o,iHe(u,A)|0,A)}function KM(){var o=0,l=0;if(s[7816]|0||(eX(10008),gr(46,10008,U|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10008)|0)){o=10008,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));eX(10008)}return 10008}function nHe(o){return o=o|0,o|0}function iHe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=KM()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?($Z(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(sHe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function $Z(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function sHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=oHe(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,aHe(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,$Z(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,lHe(o,d),cHe(d),I=k;return}}function oHe(o){return o=o|0,536870911}function aHe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function lHe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function cHe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function eX(o){o=o|0,AHe(o)}function uHe(o){o=o|0,fHe(o+24|0)}function fHe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function AHe(o){o=o|0;var l=0;l=en()|0,tn(o,1,15,l,dZ()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function pHe(o){return o=o|0,gHe(n[(hHe(o)|0)>>2]|0)|0}function hHe(o){return o=o|0,(n[(KM()|0)+24>>2]|0)+(o<<3)|0}function gHe(o){return o=o|0,YP(ax[o&7]()|0)|0}function dHe(){var o=0;return s[7832]|0||(vHe(10052),gr(25,10052,U|0)|0,o=7832,n[o>>2]=1,n[o+4>>2]=0),10052}function mHe(o,l){o=o|0,l=l|0,n[o>>2]=yHe()|0,n[o+4>>2]=EHe()|0,n[o+12>>2]=l,n[o+8>>2]=IHe()|0,n[o+32>>2]=2}function yHe(){return 11709}function EHe(){return 1188}function IHe(){return KP()|0}function CHe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(Gh(A,896)|0)==512?u|0&&(wHe(u),yt(u)):l|0&&(Oy(l),yt(l))}function Gh(o,l){return o=o|0,l=l|0,l&o|0}function wHe(o){o=o|0,o=n[o+4>>2]|0,o|0&&Yh(o)}function KP(){var o=0;return s[7824]|0||(n[2511]=BHe()|0,n[2512]=0,o=7824,n[o>>2]=1,n[o+4>>2]=0),10044}function BHe(){return 0}function vHe(o){o=o|0,Uh(o)}function SHe(o){o=o|0;var l=0,u=0,A=0,d=0,m=0;l=I,I=I+32|0,u=l+24|0,m=l+16|0,d=l+8|0,A=l,DHe(o,4827),bHe(o,4834,3)|0,PHe(o,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[u>>2]=n[m>>2],n[u+4>>2]=n[m+4>>2],xHe(o,4841,u)|0,n[d>>2]=1,n[d+4>>2]=0,n[u>>2]=n[d>>2],n[u+4>>2]=n[d+4>>2],kHe(o,4871,u)|0,n[A>>2]=10,n[A+4>>2]=0,n[u>>2]=n[A>>2],n[u+4>>2]=n[A+4>>2],QHe(o,4891,u)|0,I=l}function DHe(o,l){o=o|0,l=l|0;var u=0;u=c6e()|0,n[o>>2]=u,u6e(u,l),Wh(n[o>>2]|0)}function bHe(o,l,u){return o=o|0,l=l|0,u=u|0,Vje(o,Bn(l)|0,u,0),o|0}function PHe(o,l,u){return o=o|0,l=l|0,u=u|0,Tje(o,Bn(l)|0,u,0),o|0}function xHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],pje(o,l,d),I=A,o|0}function kHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KHe(o,l,d),I=A,o|0}function QHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],THe(o,l,d),I=A,o|0}function THe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],RHe(o,u,d,1),I=A}function RHe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=JM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=FHe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,NHe(m,A)|0,A),I=d}function JM(){var o=0,l=0;if(s[7840]|0||(rX(10100),gr(48,10100,U|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10100)|0)){o=10100,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));rX(10100)}return 10100}function FHe(o){return o=o|0,0}function NHe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=JM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],tX(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(OHe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function tX(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function OHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=LHe(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,MHe(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],tX(m,A,u),n[T>>2]=(n[T>>2]|0)+12,_He(o,k),UHe(k),I=_;return}}function LHe(o){return o=o|0,357913941}function MHe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function _He(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function UHe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function rX(o){o=o|0,qHe(o)}function HHe(o){o=o|0,jHe(o+24|0)}function jHe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function qHe(o){o=o|0;var l=0;l=en()|0,tn(o,2,6,l,GHe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function GHe(){return 1364}function WHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=YHe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],u=VHe(l,d,u)|0,I=A,u|0}function YHe(o){return o=o|0,(n[(JM()|0)+24>>2]|0)+(o*12|0)|0}function VHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;return m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),np(d,u),d=ip(d,u)|0,d=cZ(v_[A&15](o,d)|0)|0,I=m,d|0}function KHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],JHe(o,u,d,0),I=A}function JHe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=zM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=zHe(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,ZHe(m,A)|0,A),I=d}function zM(){var o=0,l=0;if(s[7848]|0||(iX(10136),gr(49,10136,U|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10136)|0)){o=10136,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));iX(10136)}return 10136}function zHe(o){return o=o|0,0}function ZHe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=zM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],nX(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(XHe(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function nX(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function XHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=$He(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,eje(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],nX(m,A,u),n[T>>2]=(n[T>>2]|0)+12,tje(o,k),rje(k),I=_;return}}function $He(o){return o=o|0,357913941}function eje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function tje(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function rje(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function iX(o){o=o|0,sje(o)}function nje(o){o=o|0,ije(o+24|0)}function ije(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function sje(o){o=o|0;var l=0;l=en()|0,tn(o,2,9,l,oje()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function oje(){return 1372}function aje(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=lje(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cje(l,d,u),I=A}function lje(o){return o=o|0,(n[(zM()|0)+24>>2]|0)+(o*12|0)|0}function cje(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0,B=Xe;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),uje(d,u),B=y(fje(d,u)),y$[A&1](o,B),I=m}function uje(o,l){o=o|0,l=+l}function fje(o,l){return o=o|0,l=+l,y(Aje(l))}function Aje(o){return o=+o,y(o)}function pje(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Bn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hje(o,u,d,0),I=A}function hje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,T=0,_=0,M=0;d=I,I=I+32|0,m=d+16|0,M=d+8|0,k=d,_=n[u>>2]|0,T=n[u+4>>2]|0,B=n[o>>2]|0,o=ZM()|0,n[M>>2]=_,n[M+4>>2]=T,n[m>>2]=n[M>>2],n[m+4>>2]=n[M+4>>2],u=gje(m)|0,n[k>>2]=_,n[k+4>>2]=T,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],vn(B,l,o,u,dje(m,A)|0,A),I=d}function ZM(){var o=0,l=0;if(s[7856]|0||(oX(10172),gr(50,10172,U|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10172)|0)){o=10172,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));oX(10172)}return 10172}function gje(o){return o=o|0,0}function dje(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0;return M=I,I=I+32|0,d=M+24|0,B=M+16|0,k=M,T=M+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,G=ZM()|0,_=G+24|0,o=yr(l,4)|0,n[T>>2]=o,l=G+28|0,u=n[l>>2]|0,u>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],sX(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(mje(_,k,T),o=n[l>>2]|0),I=M,((o-(n[_>>2]|0)|0)/12|0)+-1|0}function sX(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function mje(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;if(_=I,I=I+48|0,A=_+32|0,B=_+24|0,k=_,T=o+4|0,d=(((n[T>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=yje(o)|0,m>>>0>>0)sn(o);else{M=n[o>>2]|0,ae=((n[o+8>>2]|0)-M|0)/12|0,G=ae<<1,Eje(k,ae>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[T>>2]|0)-M|0)/12|0,o+8|0),T=k+8|0,m=n[T>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],sX(m,A,u),n[T>>2]=(n[T>>2]|0)+12,Ije(o,k),Cje(k),I=_;return}}function yje(o){return o=o|0,357913941}function Eje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Jt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function Ije(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function Cje(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&yt(o)}function oX(o){o=o|0,vje(o)}function wje(o){o=o|0,Bje(o+24|0)}function Bje(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),yt(u))}function vje(o){o=o|0;var l=0;l=en()|0,tn(o,2,3,l,Sje()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function Sje(){return 1380}function Dje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,m=d+8|0,B=d,k=bje(o)|0,o=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=o,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],Pje(l,m,u,A),I=d}function bje(o){return o=o|0,(n[(ZM()|0)+24>>2]|0)+(o*12|0)|0}function Pje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;k=I,I=I+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(d=n[(n[o>>2]|0)+d>>2]|0),np(m,u),m=ip(m,u)|0,xje(B,A),B=kje(B,A)|0,L2[d&15](o,m,B),I=k}function xje(o,l){o=o|0,l=l|0}function kje(o,l){return o=o|0,l=l|0,Qje(l)|0}function Qje(o){return o=o|0,(o|0)!=0|0}function Tje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=XM()|0,o=Rje(u)|0,vn(m,l,d,o,Fje(u,A)|0,A)}function XM(){var o=0,l=0;if(s[7864]|0||(lX(10208),gr(51,10208,U|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10208)|0)){o=10208,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));lX(10208)}return 10208}function Rje(o){return o=o|0,o|0}function Fje(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=XM()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(aX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(Nje(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function aX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function Nje(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=Oje(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,Lje(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,aX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Mje(o,d),_je(d),I=k;return}}function Oje(o){return o=o|0,536870911}function Lje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function Mje(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function _je(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function lX(o){o=o|0,jje(o)}function Uje(o){o=o|0,Hje(o+24|0)}function Hje(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function jje(o){o=o|0;var l=0;l=en()|0,tn(o,1,24,l,qje()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function qje(){return 1392}function Gje(o,l){o=o|0,l=l|0,Yje(n[(Wje(o)|0)>>2]|0,l)}function Wje(o){return o=o|0,(n[(XM()|0)+24>>2]|0)+(o<<3)|0}function Yje(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,ZZ(A,l),l=XZ(A,l)|0,op[o&127](l),I=u}function Vje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=$M()|0,o=Kje(u)|0,vn(m,l,d,o,Jje(u,A)|0,A)}function $M(){var o=0,l=0;if(s[7872]|0||(uX(10244),gr(52,10244,U|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10244)|0)){o=10244,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));uX(10244)}return 10244}function Kje(o){return o=o|0,o|0}function Jje(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=$M()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(cX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(zje(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function cX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function zje(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=Zje(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,Xje(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,cX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,$je(o,d),e6e(d),I=k;return}}function Zje(o){return o=o|0,536870911}function Xje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function $je(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function e6e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function uX(o){o=o|0,n6e(o)}function t6e(o){o=o|0,r6e(o+24|0)}function r6e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function n6e(o){o=o|0;var l=0;l=en()|0,tn(o,1,16,l,i6e()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function i6e(){return 1400}function s6e(o){return o=o|0,a6e(n[(o6e(o)|0)>>2]|0)|0}function o6e(o){return o=o|0,(n[($M()|0)+24>>2]|0)+(o<<3)|0}function a6e(o){return o=o|0,l6e(ax[o&7]()|0)|0}function l6e(o){return o=o|0,o|0}function c6e(){var o=0;return s[7880]|0||(d6e(10280),gr(25,10280,U|0)|0,o=7880,n[o>>2]=1,n[o+4>>2]=0),10280}function u6e(o,l){o=o|0,l=l|0,n[o>>2]=f6e()|0,n[o+4>>2]=A6e()|0,n[o+12>>2]=l,n[o+8>>2]=p6e()|0,n[o+32>>2]=4}function f6e(){return 11711}function A6e(){return 1356}function p6e(){return KP()|0}function h6e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(Gh(A,896)|0)==512?u|0&&(g6e(u),yt(u)):l|0&&(zg(l),yt(l))}function g6e(o){o=o|0,o=n[o+4>>2]|0,o|0&&Yh(o)}function d6e(o){o=o|0,Uh(o)}function m6e(o){o=o|0,y6e(o,4920),E6e(o)|0,I6e(o)|0}function y6e(o,l){o=o|0,l=l|0;var u=0;u=TZ()|0,n[o>>2]=u,H6e(u,l),Wh(n[o>>2]|0)}function E6e(o){o=o|0;var l=0;return l=n[o>>2]|0,ud(l,Q6e()|0),o|0}function I6e(o){o=o|0;var l=0;return l=n[o>>2]|0,ud(l,C6e()|0),o|0}function C6e(){var o=0;return s[7888]|0||(fX(10328),gr(53,10328,U|0)|0,o=7888,n[o>>2]=1,n[o+4>>2]=0),Ur(10328)|0||fX(10328),10328}function ud(o,l){o=o|0,l=l|0,vn(o,0,l,0,0,0)}function fX(o){o=o|0,v6e(o),fd(o,10)}function w6e(o){o=o|0,B6e(o+24|0)}function B6e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function v6e(o){o=o|0;var l=0;l=en()|0,tn(o,5,1,l,P6e()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function S6e(o,l,u){o=o|0,l=l|0,u=+u,D6e(o,l,u)}function fd(o,l){o=o|0,l=l|0,n[o+20>>2]=l}function D6e(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,m=A+8|0,k=A+13|0,d=A,B=A+12|0,np(k,l),n[m>>2]=ip(k,l)|0,Tf(B,u),E[d>>3]=+Rf(B,u),b6e(o,m,d),I=A}function b6e(o,l,u){o=o|0,l=l|0,u=u|0,Rl(o+8|0,n[l>>2]|0,+E[u>>3]),s[o+24>>0]=1}function P6e(){return 1404}function x6e(o,l){return o=o|0,l=+l,k6e(o,l)|0}function k6e(o,l){o=o|0,l=+l;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return A=I,I=I+16|0,m=A+4|0,B=A+8|0,k=A,d=Fl(8)|0,u=d,T=Jt(16)|0,np(m,o),o=ip(m,o)|0,Tf(B,l),Rl(T,o,+Rf(B,l)),B=u+4|0,n[B>>2]=T,o=Jt(8)|0,B=n[B>>2]|0,n[k>>2]=0,n[m>>2]=n[k>>2],MM(o,B,m),n[d>>2]=o,I=A,u|0}function Q6e(){var o=0;return s[7896]|0||(AX(10364),gr(54,10364,U|0)|0,o=7896,n[o>>2]=1,n[o+4>>2]=0),Ur(10364)|0||AX(10364),10364}function AX(o){o=o|0,F6e(o),fd(o,55)}function T6e(o){o=o|0,R6e(o+24|0)}function R6e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function F6e(o){o=o|0;var l=0;l=en()|0,tn(o,5,4,l,M6e()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function N6e(o){o=o|0,O6e(o)}function O6e(o){o=o|0,L6e(o)}function L6e(o){o=o|0,pX(o+8|0),s[o+24>>0]=1}function pX(o){o=o|0,n[o>>2]=0,E[o+8>>3]=0}function M6e(){return 1424}function _6e(){return U6e()|0}function U6e(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0;return l=I,I=I+16|0,d=l+4|0,B=l,u=Fl(8)|0,o=u,A=Jt(16)|0,pX(A),m=o+4|0,n[m>>2]=A,A=Jt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],MM(A,m,d),n[u>>2]=A,I=l,o|0}function H6e(o,l){o=o|0,l=l|0,n[o>>2]=j6e()|0,n[o+4>>2]=q6e()|0,n[o+12>>2]=l,n[o+8>>2]=G6e()|0,n[o+32>>2]=5}function j6e(){return 11710}function q6e(){return 1416}function G6e(){return JP()|0}function W6e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(Gh(A,896)|0)==512?u|0&&(Y6e(u),yt(u)):l|0&&yt(l)}function Y6e(o){o=o|0,o=n[o+4>>2]|0,o|0&&Yh(o)}function JP(){var o=0;return s[7904]|0||(n[2600]=V6e()|0,n[2601]=0,o=7904,n[o>>2]=1,n[o+4>>2]=0),10400}function V6e(){return n[357]|0}function K6e(o){o=o|0,J6e(o,4926),z6e(o)|0}function J6e(o,l){o=o|0,l=l|0;var u=0;u=tZ()|0,n[o>>2]=u,aqe(u,l),Wh(n[o>>2]|0)}function z6e(o){o=o|0;var l=0;return l=n[o>>2]|0,ud(l,Z6e()|0),o|0}function Z6e(){var o=0;return s[7912]|0||(hX(10412),gr(56,10412,U|0)|0,o=7912,n[o>>2]=1,n[o+4>>2]=0),Ur(10412)|0||hX(10412),10412}function hX(o){o=o|0,eqe(o),fd(o,57)}function X6e(o){o=o|0,$6e(o+24|0)}function $6e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function eqe(o){o=o|0;var l=0;l=en()|0,tn(o,5,5,l,iqe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function tqe(o){o=o|0,rqe(o)}function rqe(o){o=o|0,nqe(o)}function nqe(o){o=o|0;var l=0,u=0;l=o+8|0,u=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(u|0));s[o+56>>0]=1}function iqe(){return 1432}function sqe(){return oqe()|0}function oqe(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0,k=0;B=I,I=I+16|0,o=B+4|0,l=B,u=Fl(8)|0,A=u,d=Jt(48)|0,m=d,k=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(k|0));return m=A+4|0,n[m>>2]=d,k=Jt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[o>>2]=n[l>>2],rZ(k,m,o),n[u>>2]=k,I=B,A|0}function aqe(o,l){o=o|0,l=l|0,n[o>>2]=lqe()|0,n[o+4>>2]=cqe()|0,n[o+12>>2]=l,n[o+8>>2]=uqe()|0,n[o+32>>2]=6}function lqe(){return 11704}function cqe(){return 1436}function uqe(){return JP()|0}function fqe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(Gh(A,896)|0)==512?u|0&&(Aqe(u),yt(u)):l|0&&yt(l)}function Aqe(o){o=o|0,o=n[o+4>>2]|0,o|0&&Yh(o)}function pqe(o){o=o|0,hqe(o,4933),gqe(o)|0,dqe(o)|0}function hqe(o,l){o=o|0,l=l|0;var u=0;u=Uqe()|0,n[o>>2]=u,Hqe(u,l),Wh(n[o>>2]|0)}function gqe(o){o=o|0;var l=0;return l=n[o>>2]|0,ud(l,kqe()|0),o|0}function dqe(o){o=o|0;var l=0;return l=n[o>>2]|0,ud(l,mqe()|0),o|0}function mqe(){var o=0;return s[7920]|0||(gX(10452),gr(58,10452,U|0)|0,o=7920,n[o>>2]=1,n[o+4>>2]=0),Ur(10452)|0||gX(10452),10452}function gX(o){o=o|0,Iqe(o),fd(o,1)}function yqe(o){o=o|0,Eqe(o+24|0)}function Eqe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function Iqe(o){o=o|0;var l=0;l=en()|0,tn(o,5,1,l,vqe()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function Cqe(o,l,u){o=o|0,l=+l,u=+u,wqe(o,l,u)}function wqe(o,l,u){o=o|0,l=+l,u=+u;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+32|0,m=A+8|0,k=A+17|0,d=A,B=A+16|0,Tf(k,l),E[m>>3]=+Rf(k,l),Tf(B,u),E[d>>3]=+Rf(B,u),Bqe(o,m,d),I=A}function Bqe(o,l,u){o=o|0,l=l|0,u=u|0,dX(o+8|0,+E[l>>3],+E[u>>3]),s[o+24>>0]=1}function dX(o,l,u){o=o|0,l=+l,u=+u,E[o>>3]=l,E[o+8>>3]=u}function vqe(){return 1472}function Sqe(o,l){return o=+o,l=+l,Dqe(o,l)|0}function Dqe(o,l){o=+o,l=+l;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return A=I,I=I+16|0,B=A+4|0,k=A+8|0,T=A,d=Fl(8)|0,u=d,m=Jt(16)|0,Tf(B,o),o=+Rf(B,o),Tf(k,l),dX(m,o,+Rf(k,l)),k=u+4|0,n[k>>2]=m,m=Jt(8)|0,k=n[k>>2]|0,n[T>>2]=0,n[B>>2]=n[T>>2],mX(m,k,B),n[d>>2]=m,I=A,u|0}function mX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Jt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1452,n[u+12>>2]=l,n[o+4>>2]=u}function bqe(o){o=o|0,$y(o),yt(o)}function Pqe(o){o=o|0,o=n[o+12>>2]|0,o|0&&yt(o)}function xqe(o){o=o|0,yt(o)}function kqe(){var o=0;return s[7928]|0||(yX(10488),gr(59,10488,U|0)|0,o=7928,n[o>>2]=1,n[o+4>>2]=0),Ur(10488)|0||yX(10488),10488}function yX(o){o=o|0,Rqe(o),fd(o,60)}function Qqe(o){o=o|0,Tqe(o+24|0)}function Tqe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function Rqe(o){o=o|0;var l=0;l=en()|0,tn(o,5,6,l,Lqe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function Fqe(o){o=o|0,Nqe(o)}function Nqe(o){o=o|0,Oqe(o)}function Oqe(o){o=o|0,EX(o+8|0),s[o+24>>0]=1}function EX(o){o=o|0,n[o>>2]=0,n[o+4>>2]=0,n[o+8>>2]=0,n[o+12>>2]=0}function Lqe(){return 1492}function Mqe(){return _qe()|0}function _qe(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0;return l=I,I=I+16|0,d=l+4|0,B=l,u=Fl(8)|0,o=u,A=Jt(16)|0,EX(A),m=o+4|0,n[m>>2]=A,A=Jt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],mX(A,m,d),n[u>>2]=A,I=l,o|0}function Uqe(){var o=0;return s[7936]|0||(Vqe(10524),gr(25,10524,U|0)|0,o=7936,n[o>>2]=1,n[o+4>>2]=0),10524}function Hqe(o,l){o=o|0,l=l|0,n[o>>2]=jqe()|0,n[o+4>>2]=qqe()|0,n[o+12>>2]=l,n[o+8>>2]=Gqe()|0,n[o+32>>2]=7}function jqe(){return 11700}function qqe(){return 1484}function Gqe(){return JP()|0}function Wqe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(Gh(A,896)|0)==512?u|0&&(Yqe(u),yt(u)):l|0&&yt(l)}function Yqe(o){o=o|0,o=n[o+4>>2]|0,o|0&&Yh(o)}function Vqe(o){o=o|0,Uh(o)}function Kqe(o,l,u){o=o|0,l=l|0,u=u|0,o=Bn(l)|0,l=Jqe(u)|0,u=zqe(u,0)|0,DGe(o,l,u,e_()|0,0)}function Jqe(o){return o=o|0,o|0}function zqe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=e_()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(CX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(nGe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function e_(){var o=0,l=0;if(s[7944]|0||(IX(10568),gr(61,10568,U|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10568)|0)){o=10568,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));IX(10568)}return 10568}function IX(o){o=o|0,$qe(o)}function Zqe(o){o=o|0,Xqe(o+24|0)}function Xqe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function $qe(o){o=o|0;var l=0;l=en()|0,tn(o,1,17,l,EZ()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function eGe(o){return o=o|0,rGe(n[(tGe(o)|0)>>2]|0)|0}function tGe(o){return o=o|0,(n[(e_()|0)+24>>2]|0)+(o<<3)|0}function rGe(o){return o=o|0,VP(ax[o&7]()|0)|0}function CX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function nGe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=iGe(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,sGe(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,CX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,oGe(o,d),aGe(d),I=k;return}}function iGe(o){return o=o|0,536870911}function sGe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function oGe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function aGe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function lGe(){cGe()}function cGe(){uGe(10604)}function uGe(o){o=o|0,fGe(o,4955)}function fGe(o,l){o=o|0,l=l|0;var u=0;u=AGe()|0,n[o>>2]=u,pGe(u,l),Wh(n[o>>2]|0)}function AGe(){var o=0;return s[7952]|0||(wGe(10612),gr(25,10612,U|0)|0,o=7952,n[o>>2]=1,n[o+4>>2]=0),10612}function pGe(o,l){o=o|0,l=l|0,n[o>>2]=mGe()|0,n[o+4>>2]=yGe()|0,n[o+12>>2]=l,n[o+8>>2]=EGe()|0,n[o+32>>2]=8}function Wh(o){o=o|0;var l=0,u=0;l=I,I=I+16|0,u=l,Ky()|0,n[u>>2]=o,hGe(10608,u),I=l}function Ky(){return s[11714]|0||(n[2652]=0,gr(62,10608,U|0)|0,s[11714]=1),10608}function hGe(o,l){o=o|0,l=l|0;var u=0;u=Jt(8)|0,n[u+4>>2]=n[l>>2],n[u>>2]=n[o>>2],n[o>>2]=u}function gGe(o){o=o|0,dGe(o)}function dGe(o){o=o|0;var l=0,u=0;if(l=n[o>>2]|0,l|0)do u=l,l=n[l>>2]|0,yt(u);while(l|0);n[o>>2]=0}function mGe(){return 11715}function yGe(){return 1496}function EGe(){return KP()|0}function IGe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(Gh(A,896)|0)==512?u|0&&(CGe(u),yt(u)):l|0&&yt(l)}function CGe(o){o=o|0,o=n[o+4>>2]|0,o|0&&Yh(o)}function wGe(o){o=o|0,Uh(o)}function BGe(o,l){o=o|0,l=l|0;var u=0,A=0;Ky()|0,u=n[2652]|0;e:do if(u|0){for(;A=n[u+4>>2]|0,!(A|0&&!(r$(t_(A)|0,o)|0));)if(u=n[u>>2]|0,!u)break e;vGe(A,l)}while(!1)}function t_(o){return o=o|0,n[o+12>>2]|0}function vGe(o,l){o=o|0,l=l|0;var u=0;o=o+36|0,u=n[o>>2]|0,u|0&&(Df(u),yt(u)),u=Jt(4)|0,UP(u,l),n[o>>2]=u}function r_(){return s[11716]|0||(n[2664]=0,gr(63,10656,U|0)|0,s[11716]=1),10656}function wX(){var o=0;return s[11717]|0?o=n[2665]|0:(SGe(),n[2665]=1504,s[11717]=1,o=1504),o|0}function SGe(){s[11740]|0||(s[11718]=yr(yr(8,0)|0,0)|0,s[11719]=yr(yr(0,0)|0,0)|0,s[11720]=yr(yr(0,16)|0,0)|0,s[11721]=yr(yr(8,0)|0,0)|0,s[11722]=yr(yr(0,0)|0,0)|0,s[11723]=yr(yr(8,0)|0,0)|0,s[11724]=yr(yr(0,0)|0,0)|0,s[11725]=yr(yr(8,0)|0,0)|0,s[11726]=yr(yr(0,0)|0,0)|0,s[11727]=yr(yr(8,0)|0,0)|0,s[11728]=yr(yr(0,0)|0,0)|0,s[11729]=yr(yr(0,0)|0,32)|0,s[11730]=yr(yr(0,0)|0,32)|0,s[11740]=1)}function BX(){return 1572}function DGe(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,T=0,_=0,M=0;m=I,I=I+32|0,M=m+16|0,_=m+12|0,T=m+8|0,k=m+4|0,B=m,n[M>>2]=o,n[_>>2]=l,n[T>>2]=u,n[k>>2]=A,n[B>>2]=d,r_()|0,bGe(10656,M,_,T,k,B),I=m}function bGe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0;B=Jt(24)|0,Xz(B+4|0,n[l>>2]|0,n[u>>2]|0,n[A>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[o>>2],n[o>>2]=B}function vX(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0,Qe=0,tt=0,Ze=0,ct=0;if(ct=I,I=I+32|0,Le=ct+20|0,Qe=ct+8|0,tt=ct+4|0,Ze=ct,l=n[l>>2]|0,l|0){We=Le+4|0,T=Le+8|0,_=Qe+4|0,M=Qe+8|0,G=Qe+8|0,ae=Le+8|0;do{if(B=l+4|0,k=n_(B)|0,k|0){if(d=Q2(k)|0,n[Le>>2]=0,n[We>>2]=0,n[T>>2]=0,A=(T2(k)|0)+1|0,PGe(Le,A),A|0)for(;A=A+-1|0,xu(Qe,n[d>>2]|0),m=n[We>>2]|0,m>>>0<(n[ae>>2]|0)>>>0?(n[m>>2]=n[Qe>>2],n[We>>2]=(n[We>>2]|0)+4):i_(Le,Qe),A;)d=d+4|0;A=R2(k)|0,n[Qe>>2]=0,n[_>>2]=0,n[M>>2]=0;e:do if(n[A>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?xGe(Qe,A):(n[d>>2]=n[A>>2],n[_>>2]=(n[_>>2]|0)+4),A=A+4|0,!(n[A>>2]|0))break e;d=n[_>>2]|0,m=n[G>>2]|0}while(!1);n[tt>>2]=zP(B)|0,n[Ze>>2]=Ur(k)|0,kGe(u,o,tt,Ze,Le,Qe),s_(Qe),sp(Le)}l=n[l>>2]|0}while(l|0)}I=ct}function n_(o){return o=o|0,n[o+12>>2]|0}function Q2(o){return o=o|0,n[o+12>>2]|0}function T2(o){return o=o|0,n[o+16>>2]|0}function PGe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;d=I,I=I+32|0,u=d,A=n[o>>2]|0,(n[o+8>>2]|0)-A>>2>>>0>>0&&(TX(u,l,(n[o+4>>2]|0)-A>>2,o+8|0),RX(o,u),FX(u)),I=d}function i_(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0;if(B=I,I=I+32|0,u=B,A=o+4|0,d=((n[A>>2]|0)-(n[o>>2]|0)>>2)+1|0,m=QX(o)|0,m>>>0>>0)sn(o);else{k=n[o>>2]|0,_=(n[o+8>>2]|0)-k|0,T=_>>1,TX(u,_>>2>>>0>>1>>>0?T>>>0>>0?d:T:m,(n[A>>2]|0)-k>>2,o+8|0),m=u+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,RX(o,u),FX(u),I=B;return}}function R2(o){return o=o|0,n[o+8>>2]|0}function xGe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0;if(B=I,I=I+32|0,u=B,A=o+4|0,d=((n[A>>2]|0)-(n[o>>2]|0)>>2)+1|0,m=kX(o)|0,m>>>0>>0)sn(o);else{k=n[o>>2]|0,_=(n[o+8>>2]|0)-k|0,T=_>>1,JGe(u,_>>2>>>0>>1>>>0?T>>>0>>0?d:T:m,(n[A>>2]|0)-k>>2,o+8|0),m=u+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,zGe(o,u),ZGe(u),I=B;return}}function zP(o){return o=o|0,n[o>>2]|0}function kGe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,QGe(o,l,u,A,d,m)}function s_(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-4-A|0)>>>2)<<2)),yt(u))}function sp(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-4-A|0)>>>2)<<2)),yt(u))}function QGe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,T=0,_=0,M=0,G=0;B=I,I=I+48|0,M=B+40|0,k=B+32|0,G=B+24|0,T=B+12|0,_=B,Nl(k),o=Ls(o)|0,n[G>>2]=n[l>>2],u=n[u>>2]|0,A=n[A>>2]|0,o_(T,d),TGe(_,m),n[M>>2]=n[G>>2],RGe(o,M,u,A,T,_),s_(_),sp(T),Ol(k),I=B}function o_(o,l){o=o|0,l=l|0;var u=0,A=0;n[o>>2]=0,n[o+4>>2]=0,n[o+8>>2]=0,u=l+4|0,A=(n[u>>2]|0)-(n[l>>2]|0)>>2,A|0&&(VGe(o,A),KGe(o,n[l>>2]|0,n[u>>2]|0,A))}function TGe(o,l){o=o|0,l=l|0;var u=0,A=0;n[o>>2]=0,n[o+4>>2]=0,n[o+8>>2]=0,u=l+4|0,A=(n[u>>2]|0)-(n[l>>2]|0)>>2,A|0&&(WGe(o,A),YGe(o,n[l>>2]|0,n[u>>2]|0,A))}function RGe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,T=0,_=0,M=0,G=0;B=I,I=I+32|0,M=B+28|0,G=B+24|0,k=B+12|0,T=B,_=ma(FGe()|0)|0,n[G>>2]=n[l>>2],n[M>>2]=n[G>>2],l=Ad(M)|0,u=SX(u)|0,A=a_(A)|0,n[k>>2]=n[d>>2],M=d+4|0,n[k+4>>2]=n[M>>2],G=d+8|0,n[k+8>>2]=n[G>>2],n[G>>2]=0,n[M>>2]=0,n[d>>2]=0,d=l_(k)|0,n[T>>2]=n[m>>2],M=m+4|0,n[T+4>>2]=n[M>>2],G=m+8|0,n[T+8>>2]=n[G>>2],n[G>>2]=0,n[M>>2]=0,n[m>>2]=0,uu(0,_|0,o|0,l|0,u|0,A|0,d|0,NGe(T)|0)|0,s_(T),sp(k),I=B}function FGe(){var o=0;return s[7968]|0||(qGe(10708),o=7968,n[o>>2]=1,n[o+4>>2]=0),10708}function Ad(o){return o=o|0,bX(o)|0}function SX(o){return o=o|0,DX(o)|0}function a_(o){return o=o|0,VP(o)|0}function l_(o){return o=o|0,LGe(o)|0}function NGe(o){return o=o|0,OGe(o)|0}function OGe(o){o=o|0;var l=0,u=0,A=0;if(A=(n[o+4>>2]|0)-(n[o>>2]|0)|0,u=A>>2,A=Fl(A+4|0)|0,n[A>>2]=u,u|0){l=0;do n[A+4+(l<<2)>>2]=DX(n[(n[o>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(u|0))}return A|0}function DX(o){return o=o|0,o|0}function LGe(o){o=o|0;var l=0,u=0,A=0;if(A=(n[o+4>>2]|0)-(n[o>>2]|0)|0,u=A>>2,A=Fl(A+4|0)|0,n[A>>2]=u,u|0){l=0;do n[A+4+(l<<2)>>2]=bX((n[o>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(u|0))}return A|0}function bX(o){o=o|0;var l=0,u=0,A=0,d=0;return d=I,I=I+32|0,l=d+12|0,u=d,A=IM(PX()|0)|0,A?(CM(l,A),wM(u,l),EYe(o,u),o=BM(l)|0):o=MGe(o)|0,I=d,o|0}function PX(){var o=0;return s[7960]|0||(jGe(10664),gr(25,10664,U|0)|0,o=7960,n[o>>2]=1,n[o+4>>2]=0),10664}function MGe(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0;return u=I,I=I+16|0,d=u+4|0,B=u,A=Fl(8)|0,l=A,k=Jt(4)|0,n[k>>2]=n[o>>2],m=l+4|0,n[m>>2]=k,o=Jt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],xX(o,m,d),n[A>>2]=o,I=u,l|0}function xX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Jt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1656,n[u+12>>2]=l,n[o+4>>2]=u}function _Ge(o){o=o|0,$y(o),yt(o)}function UGe(o){o=o|0,o=n[o+12>>2]|0,o|0&&yt(o)}function HGe(o){o=o|0,yt(o)}function jGe(o){o=o|0,Uh(o)}function qGe(o){o=o|0,Ro(o,GGe()|0,5)}function GGe(){return 1676}function WGe(o,l){o=o|0,l=l|0;var u=0;if((kX(o)|0)>>>0>>0&&sn(o),l>>>0>1073741823)Nt();else{u=Jt(l<<2)|0,n[o+4>>2]=u,n[o>>2]=u,n[o+8>>2]=u+(l<<2);return}}function YGe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,A=o+4|0,o=u-l|0,(o|0)>0&&(Qr(n[A>>2]|0,l|0,o|0)|0,n[A>>2]=(n[A>>2]|0)+(o>>>2<<2))}function kX(o){return o=o|0,1073741823}function VGe(o,l){o=o|0,l=l|0;var u=0;if((QX(o)|0)>>>0>>0&&sn(o),l>>>0>1073741823)Nt();else{u=Jt(l<<2)|0,n[o+4>>2]=u,n[o>>2]=u,n[o+8>>2]=u+(l<<2);return}}function KGe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,A=o+4|0,o=u-l|0,(o|0)>0&&(Qr(n[A>>2]|0,l|0,o|0)|0,n[A>>2]=(n[A>>2]|0)+(o>>>2<<2))}function QX(o){return o=o|0,1073741823}function JGe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>1073741823)Nt();else{d=Jt(l<<2)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<2)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<2)}function zGe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function ZGe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-4-l|0)>>>2)<<2)),o=n[o>>2]|0,o|0&&yt(o)}function TX(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>1073741823)Nt();else{d=Jt(l<<2)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<2)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<2)}function RX(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function FX(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-4-l|0)>>>2)<<2)),o=n[o>>2]|0,o|0&&yt(o)}function XGe(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0,Qe=0;if(Qe=I,I=I+32|0,M=Qe+20|0,G=Qe+12|0,_=Qe+16|0,ae=Qe+4|0,We=Qe,Le=Qe+8|0,k=wX()|0,m=n[k>>2]|0,B=n[m>>2]|0,B|0)for(T=n[k+8>>2]|0,k=n[k+4>>2]|0;xu(M,B),$Ge(o,M,k,T),m=m+4|0,B=n[m>>2]|0,B;)T=T+1|0,k=k+1|0;if(m=BX()|0,B=n[m>>2]|0,B|0)do xu(M,B),n[G>>2]=n[m+4>>2],e5e(l,M,G),m=m+8|0,B=n[m>>2]|0;while(B|0);if(m=n[(Ky()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,xu(M,n[(Jy(l)|0)>>2]|0),n[G>>2]=t_(l)|0,t5e(u,M,G),m=n[m>>2]|0;while(m|0);if(xu(_,0),m=r_()|0,n[M>>2]=n[_>>2],vX(M,m,d),m=n[(Ky()|0)>>2]|0,m|0){o=M+4|0,l=M+8|0,u=M+8|0;do{if(T=n[m+4>>2]|0,xu(G,n[(Jy(T)|0)>>2]|0),r5e(ae,NX(T)|0),B=n[ae>>2]|0,B|0){n[M>>2]=0,n[o>>2]=0,n[l>>2]=0;do xu(We,n[(Jy(n[B+4>>2]|0)|0)>>2]|0),k=n[o>>2]|0,k>>>0<(n[u>>2]|0)>>>0?(n[k>>2]=n[We>>2],n[o>>2]=(n[o>>2]|0)+4):i_(M,We),B=n[B>>2]|0;while(B|0);n5e(A,G,M),sp(M)}n[Le>>2]=n[G>>2],_=OX(T)|0,n[M>>2]=n[Le>>2],vX(M,_,d),iZ(ae),m=n[m>>2]|0}while(m|0)}I=Qe}function $Ge(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,g5e(o,l,u,A)}function e5e(o,l,u){o=o|0,l=l|0,u=u|0,h5e(o,l,u)}function Jy(o){return o=o|0,o|0}function t5e(o,l,u){o=o|0,l=l|0,u=u|0,u5e(o,l,u)}function NX(o){return o=o|0,o+16|0}function r5e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;if(m=I,I=I+16|0,d=m+8|0,u=m,n[o>>2]=0,A=n[l>>2]|0,n[d>>2]=A,n[u>>2]=o,u=c5e(u)|0,A|0){if(A=Jt(12)|0,B=(LX(d)|0)+4|0,o=n[B+4>>2]|0,l=A+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=o,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)o=A;else for(l=A;o=Jt(12)|0,T=(LX(d)|0)+4|0,k=n[T+4>>2]|0,B=o+4|0,n[B>>2]=n[T>>2],n[B+4>>2]=k,n[l>>2]=o,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=o;n[o>>2]=n[u>>2],n[u>>2]=A}I=m}function n5e(o,l,u){o=o|0,l=l|0,u=u|0,i5e(o,l,u)}function OX(o){return o=o|0,o+24|0}function i5e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+32|0,B=A+24|0,d=A+16|0,k=A+12|0,m=A,Nl(d),o=Ls(o)|0,n[k>>2]=n[l>>2],o_(m,u),n[B>>2]=n[k>>2],s5e(o,B,m),sp(m),Ol(d),I=A}function s5e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+32|0,B=A+16|0,k=A+12|0,d=A,m=ma(o5e()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=Ad(B)|0,n[d>>2]=n[u>>2],B=u+4|0,n[d+4>>2]=n[B>>2],k=u+8|0,n[d+8>>2]=n[k>>2],n[k>>2]=0,n[B>>2]=0,n[u>>2]=0,Rs(0,m|0,o|0,l|0,l_(d)|0)|0,sp(d),I=A}function o5e(){var o=0;return s[7976]|0||(a5e(10720),o=7976,n[o>>2]=1,n[o+4>>2]=0),10720}function a5e(o){o=o|0,Ro(o,l5e()|0,2)}function l5e(){return 1732}function c5e(o){return o=o|0,n[o>>2]|0}function LX(o){return o=o|0,n[o>>2]|0}function u5e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+32|0,m=A+16|0,d=A+8|0,B=A,Nl(d),o=Ls(o)|0,n[B>>2]=n[l>>2],u=n[u>>2]|0,n[m>>2]=n[B>>2],MX(o,m,u),Ol(d),I=A}function MX(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,m=A+4|0,B=A,d=ma(f5e()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=Ad(m)|0,Rs(0,d|0,o|0,l|0,SX(u)|0)|0,I=A}function f5e(){var o=0;return s[7984]|0||(A5e(10732),o=7984,n[o>>2]=1,n[o+4>>2]=0),10732}function A5e(o){o=o|0,Ro(o,p5e()|0,2)}function p5e(){return 1744}function h5e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+32|0,m=A+16|0,d=A+8|0,B=A,Nl(d),o=Ls(o)|0,n[B>>2]=n[l>>2],u=n[u>>2]|0,n[m>>2]=n[B>>2],MX(o,m,u),Ol(d),I=A}function g5e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+32|0,B=d+16|0,m=d+8|0,k=d,Nl(m),o=Ls(o)|0,n[k>>2]=n[l>>2],u=s[u>>0]|0,A=s[A>>0]|0,n[B>>2]=n[k>>2],d5e(o,B,u,A),Ol(m),I=d}function d5e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,B=d+4|0,k=d,m=ma(m5e()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=Ad(B)|0,u=zy(u)|0,Oi(0,m|0,o|0,l|0,u|0,zy(A)|0)|0,I=d}function m5e(){var o=0;return s[7992]|0||(E5e(10744),o=7992,n[o>>2]=1,n[o+4>>2]=0),10744}function zy(o){return o=o|0,y5e(o)|0}function y5e(o){return o=o|0,o&255|0}function E5e(o){o=o|0,Ro(o,I5e()|0,3)}function I5e(){return 1756}function C5e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;switch(ae=I,I=I+32|0,k=ae+8|0,T=ae+4|0,_=ae+20|0,M=ae,bM(o,0),A=yYe(l)|0,n[k>>2]=0,G=k+4|0,n[G>>2]=0,n[k+8>>2]=0,A<<24>>24){case 0:{s[_>>0]=0,w5e(T,u,_),ZP(o,T)|0,bf(T);break}case 8:{G=h_(l)|0,s[_>>0]=8,xu(M,n[G+4>>2]|0),B5e(T,u,_,M,G+8|0),ZP(o,T)|0,bf(T);break}case 9:{if(m=h_(l)|0,l=n[m+4>>2]|0,l|0)for(B=k+8|0,d=m+12|0;l=l+-1|0,xu(T,n[d>>2]|0),A=n[G>>2]|0,A>>>0<(n[B>>2]|0)>>>0?(n[A>>2]=n[T>>2],n[G>>2]=(n[G>>2]|0)+4):i_(k,T),l;)d=d+4|0;s[_>>0]=9,xu(M,n[m+8>>2]|0),v5e(T,u,_,M,k),ZP(o,T)|0,bf(T);break}default:G=h_(l)|0,s[_>>0]=A,xu(M,n[G+4>>2]|0),S5e(T,u,_,M),ZP(o,T)|0,bf(T)}sp(k),I=ae}function w5e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;A=I,I=I+16|0,d=A,Nl(d),l=Ls(l)|0,M5e(o,l,s[u>>0]|0),Ol(d),I=A}function ZP(o,l){o=o|0,l=l|0;var u=0;return u=n[o>>2]|0,u|0&&Oa(u|0),n[o>>2]=n[l>>2],n[l>>2]=0,o|0}function B5e(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,T=0;m=I,I=I+32|0,k=m+16|0,B=m+8|0,T=m,Nl(B),l=Ls(l)|0,u=s[u>>0]|0,n[T>>2]=n[A>>2],d=n[d>>2]|0,n[k>>2]=n[T>>2],F5e(o,l,u,k,d),Ol(B),I=m}function v5e(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,T=0,_=0;m=I,I=I+32|0,T=m+24|0,B=m+16|0,_=m+12|0,k=m,Nl(B),l=Ls(l)|0,u=s[u>>0]|0,n[_>>2]=n[A>>2],o_(k,d),n[T>>2]=n[_>>2],k5e(o,l,u,T,k),sp(k),Ol(B),I=m}function S5e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+32|0,B=d+16|0,m=d+8|0,k=d,Nl(m),l=Ls(l)|0,u=s[u>>0]|0,n[k>>2]=n[A>>2],n[B>>2]=n[k>>2],D5e(o,l,u,B),Ol(m),I=d}function D5e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,m=d+4|0,k=d,B=ma(b5e()|0)|0,u=zy(u)|0,n[k>>2]=n[A>>2],n[m>>2]=n[k>>2],XP(o,Rs(0,B|0,l|0,u|0,Ad(m)|0)|0),I=d}function b5e(){var o=0;return s[8e3]|0||(P5e(10756),o=8e3,n[o>>2]=1,n[o+4>>2]=0),10756}function XP(o,l){o=o|0,l=l|0,bM(o,l)}function P5e(o){o=o|0,Ro(o,x5e()|0,2)}function x5e(){return 1772}function k5e(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,T=0,_=0;m=I,I=I+32|0,T=m+16|0,_=m+12|0,B=m,k=ma(Q5e()|0)|0,u=zy(u)|0,n[_>>2]=n[A>>2],n[T>>2]=n[_>>2],A=Ad(T)|0,n[B>>2]=n[d>>2],T=d+4|0,n[B+4>>2]=n[T>>2],_=d+8|0,n[B+8>>2]=n[_>>2],n[_>>2]=0,n[T>>2]=0,n[d>>2]=0,XP(o,Oi(0,k|0,l|0,u|0,A|0,l_(B)|0)|0),sp(B),I=m}function Q5e(){var o=0;return s[8008]|0||(T5e(10768),o=8008,n[o>>2]=1,n[o+4>>2]=0),10768}function T5e(o){o=o|0,Ro(o,R5e()|0,3)}function R5e(){return 1784}function F5e(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,T=0;m=I,I=I+16|0,k=m+4|0,T=m,B=ma(N5e()|0)|0,u=zy(u)|0,n[T>>2]=n[A>>2],n[k>>2]=n[T>>2],A=Ad(k)|0,XP(o,Oi(0,B|0,l|0,u|0,A|0,a_(d)|0)|0),I=m}function N5e(){var o=0;return s[8016]|0||(O5e(10780),o=8016,n[o>>2]=1,n[o+4>>2]=0),10780}function O5e(o){o=o|0,Ro(o,L5e()|0,3)}function L5e(){return 1800}function M5e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=ma(_5e()|0)|0,XP(o,dn(0,A|0,l|0,zy(u)|0)|0)}function _5e(){var o=0;return s[8024]|0||(U5e(10792),o=8024,n[o>>2]=1,n[o+4>>2]=0),10792}function U5e(o){o=o|0,Ro(o,H5e()|0,1)}function H5e(){return 1816}function j5e(){q5e(),G5e(),W5e()}function q5e(){n[2702]=A$(65536)|0}function G5e(){f9e(10856)}function W5e(){Y5e(10816)}function Y5e(o){o=o|0,V5e(o,5044),K5e(o)|0}function V5e(o,l){o=o|0,l=l|0;var u=0;u=PX()|0,n[o>>2]=u,s9e(u,l),Wh(n[o>>2]|0)}function K5e(o){o=o|0;var l=0;return l=n[o>>2]|0,ud(l,J5e()|0),o|0}function J5e(){var o=0;return s[8032]|0||(_X(10820),gr(64,10820,U|0)|0,o=8032,n[o>>2]=1,n[o+4>>2]=0),Ur(10820)|0||_X(10820),10820}function _X(o){o=o|0,X5e(o),fd(o,25)}function z5e(o){o=o|0,Z5e(o+24|0)}function Z5e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function X5e(o){o=o|0;var l=0;l=en()|0,tn(o,5,18,l,r9e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function $5e(o,l){o=o|0,l=l|0,e9e(o,l)}function e9e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;u=I,I=I+16|0,A=u,d=u+4|0,ld(d,l),n[A>>2]=cd(d,l)|0,t9e(o,A),I=u}function t9e(o,l){o=o|0,l=l|0,UX(o+4|0,n[l>>2]|0),s[o+8>>0]=1}function UX(o,l){o=o|0,l=l|0,n[o>>2]=l}function r9e(){return 1824}function n9e(o){return o=o|0,i9e(o)|0}function i9e(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0;return u=I,I=I+16|0,d=u+4|0,B=u,A=Fl(8)|0,l=A,k=Jt(4)|0,ld(d,o),UX(k,cd(d,o)|0),m=l+4|0,n[m>>2]=k,o=Jt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],xX(o,m,d),n[A>>2]=o,I=u,l|0}function Fl(o){o=o|0;var l=0,u=0;return o=o+7&-8,o>>>0<=32768&&(l=n[2701]|0,o>>>0<=(65536-l|0)>>>0)?(u=(n[2702]|0)+l|0,n[2701]=l+o,o=u):(o=A$(o+8|0)|0,n[o>>2]=n[2703],n[2703]=o,o=o+8|0),o|0}function s9e(o,l){o=o|0,l=l|0,n[o>>2]=o9e()|0,n[o+4>>2]=a9e()|0,n[o+12>>2]=l,n[o+8>>2]=l9e()|0,n[o+32>>2]=9}function o9e(){return 11744}function a9e(){return 1832}function l9e(){return JP()|0}function c9e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(Gh(A,896)|0)==512?u|0&&(u9e(u),yt(u)):l|0&&yt(l)}function u9e(o){o=o|0,o=n[o+4>>2]|0,o|0&&Yh(o)}function f9e(o){o=o|0,A9e(o,5052),p9e(o)|0,h9e(o,5058,26)|0,g9e(o,5069,1)|0,d9e(o,5077,10)|0,m9e(o,5087,19)|0,y9e(o,5094,27)|0}function A9e(o,l){o=o|0,l=l|0;var u=0;u=uYe()|0,n[o>>2]=u,fYe(u,l),Wh(n[o>>2]|0)}function p9e(o){o=o|0;var l=0;return l=n[o>>2]|0,ud(l,zWe()|0),o|0}function h9e(o,l,u){return o=o|0,l=l|0,u=u|0,TWe(o,Bn(l)|0,u,0),o|0}function g9e(o,l,u){return o=o|0,l=l|0,u=u|0,mWe(o,Bn(l)|0,u,0),o|0}function d9e(o,l,u){return o=o|0,l=l|0,u=u|0,J9e(o,Bn(l)|0,u,0),o|0}function m9e(o,l,u){return o=o|0,l=l|0,u=u|0,F9e(o,Bn(l)|0,u,0),o|0}function HX(o,l){o=o|0,l=l|0;var u=0,A=0;e:for(;;){for(u=n[2703]|0;;){if((u|0)==(l|0))break e;if(A=n[u>>2]|0,n[2703]=A,!u)u=A;else break}yt(u)}n[2701]=o}function y9e(o,l,u){return o=o|0,l=l|0,u=u|0,E9e(o,Bn(l)|0,u,0),o|0}function E9e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=c_()|0,o=I9e(u)|0,vn(m,l,d,o,C9e(u,A)|0,A)}function c_(){var o=0,l=0;if(s[8040]|0||(qX(10860),gr(65,10860,U|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10860)|0)){o=10860,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));qX(10860)}return 10860}function I9e(o){return o=o|0,o|0}function C9e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=c_()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(jX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(w9e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function jX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function w9e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=B9e(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,v9e(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,jX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,S9e(o,d),D9e(d),I=k;return}}function B9e(o){return o=o|0,536870911}function v9e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function S9e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function D9e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function qX(o){o=o|0,x9e(o)}function b9e(o){o=o|0,P9e(o+24|0)}function P9e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function x9e(o){o=o|0;var l=0;l=en()|0,tn(o,1,11,l,k9e()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function k9e(){return 1840}function Q9e(o,l,u){o=o|0,l=l|0,u=u|0,R9e(n[(T9e(o)|0)>>2]|0,l,u)}function T9e(o){return o=o|0,(n[(c_()|0)+24>>2]|0)+(o<<3)|0}function R9e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;A=I,I=I+16|0,m=A+1|0,d=A,ld(m,l),l=cd(m,l)|0,ld(d,u),u=cd(d,u)|0,ap[o&31](l,u),I=A}function F9e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=u_()|0,o=N9e(u)|0,vn(m,l,d,o,O9e(u,A)|0,A)}function u_(){var o=0,l=0;if(s[8048]|0||(WX(10896),gr(66,10896,U|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10896)|0)){o=10896,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));WX(10896)}return 10896}function N9e(o){return o=o|0,o|0}function O9e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=u_()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(GX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(L9e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function GX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function L9e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=M9e(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,_9e(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,GX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,U9e(o,d),H9e(d),I=k;return}}function M9e(o){return o=o|0,536870911}function _9e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function U9e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function H9e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function WX(o){o=o|0,G9e(o)}function j9e(o){o=o|0,q9e(o+24|0)}function q9e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function G9e(o){o=o|0;var l=0;l=en()|0,tn(o,1,11,l,W9e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function W9e(){return 1852}function Y9e(o,l){return o=o|0,l=l|0,K9e(n[(V9e(o)|0)>>2]|0,l)|0}function V9e(o){return o=o|0,(n[(u_()|0)+24>>2]|0)+(o<<3)|0}function K9e(o,l){o=o|0,l=l|0;var u=0,A=0;return u=I,I=I+16|0,A=u,ld(A,l),l=cd(A,l)|0,l=VP(dd[o&31](l)|0)|0,I=u,l|0}function J9e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=f_()|0,o=z9e(u)|0,vn(m,l,d,o,Z9e(u,A)|0,A)}function f_(){var o=0,l=0;if(s[8056]|0||(VX(10932),gr(67,10932,U|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10932)|0)){o=10932,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));VX(10932)}return 10932}function z9e(o){return o=o|0,o|0}function Z9e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=f_()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(YX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(X9e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function YX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function X9e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=$9e(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,eWe(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,YX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,tWe(o,d),rWe(d),I=k;return}}function $9e(o){return o=o|0,536870911}function eWe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function tWe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function rWe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function VX(o){o=o|0,sWe(o)}function nWe(o){o=o|0,iWe(o+24|0)}function iWe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function sWe(o){o=o|0;var l=0;l=en()|0,tn(o,1,7,l,oWe()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function oWe(){return 1860}function aWe(o,l,u){return o=o|0,l=l|0,u=u|0,cWe(n[(lWe(o)|0)>>2]|0,l,u)|0}function lWe(o){return o=o|0,(n[(f_()|0)+24>>2]|0)+(o<<3)|0}function cWe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0;return A=I,I=I+32|0,B=A+12|0,m=A+8|0,k=A,T=A+16|0,d=A+4|0,uWe(T,l),fWe(k,T,l),Hh(d,u),u=jh(d,u)|0,n[B>>2]=n[k>>2],L2[o&15](m,B,u),u=AWe(m)|0,bf(m),qh(d),I=A,u|0}function uWe(o,l){o=o|0,l=l|0}function fWe(o,l,u){o=o|0,l=l|0,u=u|0,pWe(o,u)}function AWe(o){return o=o|0,Ls(o)|0}function pWe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;d=I,I=I+16|0,u=d,A=l,A&1?(hWe(u,0),Me(A|0,u|0)|0,gWe(o,u),dWe(u)):n[o>>2]=n[l>>2],I=d}function hWe(o,l){o=o|0,l=l|0,bu(o,l),n[o+4>>2]=0,s[o+8>>0]=0}function gWe(o,l){o=o|0,l=l|0,n[o>>2]=n[l+4>>2]}function dWe(o){o=o|0,s[o+8>>0]=0}function mWe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=A_()|0,o=yWe(u)|0,vn(m,l,d,o,EWe(u,A)|0,A)}function A_(){var o=0,l=0;if(s[8064]|0||(JX(10968),gr(68,10968,U|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(Ur(10968)|0)){o=10968,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));JX(10968)}return 10968}function yWe(o){return o=o|0,o|0}function EWe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=A_()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(KX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(IWe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function KX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function IWe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=CWe(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,wWe(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,KX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,BWe(o,d),vWe(d),I=k;return}}function CWe(o){return o=o|0,536870911}function wWe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function BWe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function vWe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function JX(o){o=o|0,bWe(o)}function SWe(o){o=o|0,DWe(o+24|0)}function DWe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function bWe(o){o=o|0;var l=0;l=en()|0,tn(o,1,1,l,PWe()|0,5),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function PWe(){return 1872}function xWe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,QWe(n[(kWe(o)|0)>>2]|0,l,u,A,d,m)}function kWe(o){return o=o|0,(n[(A_()|0)+24>>2]|0)+(o<<3)|0}function QWe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,T=0,_=0,M=0,G=0;B=I,I=I+32|0,k=B+16|0,T=B+12|0,_=B+8|0,M=B+4|0,G=B,Hh(k,l),l=jh(k,l)|0,Hh(T,u),u=jh(T,u)|0,Hh(_,A),A=jh(_,A)|0,Hh(M,d),d=jh(M,d)|0,Hh(G,m),m=jh(G,m)|0,m$[o&1](l,u,A,d,m),qh(G),qh(M),qh(_),qh(T),qh(k),I=B}function TWe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=p_()|0,o=RWe(u)|0,vn(m,l,d,o,FWe(u,A)|0,A)}function p_(){var o=0,l=0;if(s[8072]|0||(ZX(11004),gr(69,11004,U|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(Ur(11004)|0)){o=11004,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));ZX(11004)}return 11004}function RWe(o){return o=o|0,o|0}function FWe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,T=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,T=p_()|0,B=T+24|0,l=yr(l,4)|0,n[m>>2]=l,u=T+28|0,A=n[u>>2]|0,A>>>0<(n[T+32>>2]|0)>>>0?(zX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(NWe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function zX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function NWe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=OWe(o)|0,A>>>0>>0)sn(o);else{T=n[o>>2]|0,M=(n[o+8>>2]|0)-T|0,_=M>>2,LWe(d,M>>3>>>0>>1>>>0?_>>>0>>0?B:_:A,(n[m>>2]|0)-T>>3,o+8|0),B=d+8|0,zX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,MWe(o,d),_We(d),I=k;return}}function OWe(o){return o=o|0,536870911}function LWe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Jt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function MWe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Qr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function _We(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&yt(o)}function ZX(o){o=o|0,jWe(o)}function UWe(o){o=o|0,HWe(o+24|0)}function HWe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function jWe(o){o=o|0;var l=0;l=en()|0,tn(o,1,12,l,qWe()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function qWe(){return 1896}function GWe(o,l,u){o=o|0,l=l|0,u=u|0,YWe(n[(WWe(o)|0)>>2]|0,l,u)}function WWe(o){return o=o|0,(n[(p_()|0)+24>>2]|0)+(o<<3)|0}function YWe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;A=I,I=I+16|0,m=A+4|0,d=A,VWe(m,l),l=KWe(m,l)|0,Hh(d,u),u=jh(d,u)|0,ap[o&31](l,u),qh(d),I=A}function VWe(o,l){o=o|0,l=l|0}function KWe(o,l){return o=o|0,l=l|0,JWe(l)|0}function JWe(o){return o=o|0,o|0}function zWe(){var o=0;return s[8080]|0||(XX(11040),gr(70,11040,U|0)|0,o=8080,n[o>>2]=1,n[o+4>>2]=0),Ur(11040)|0||XX(11040),11040}function XX(o){o=o|0,$We(o),fd(o,71)}function ZWe(o){o=o|0,XWe(o+24|0)}function XWe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),yt(u))}function $We(o){o=o|0;var l=0;l=en()|0,tn(o,5,7,l,nYe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function eYe(o){o=o|0,tYe(o)}function tYe(o){o=o|0,rYe(o)}function rYe(o){o=o|0,s[o+8>>0]=1}function nYe(){return 1936}function iYe(){return sYe()|0}function sYe(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0;return l=I,I=I+16|0,d=l+4|0,B=l,u=Fl(8)|0,o=u,m=o+4|0,n[m>>2]=Jt(1)|0,A=Jt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],oYe(A,m,d),n[u>>2]=A,I=l,o|0}function oYe(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Jt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1916,n[u+12>>2]=l,n[o+4>>2]=u}function aYe(o){o=o|0,$y(o),yt(o)}function lYe(o){o=o|0,o=n[o+12>>2]|0,o|0&&yt(o)}function cYe(o){o=o|0,yt(o)}function uYe(){var o=0;return s[8088]|0||(mYe(11076),gr(25,11076,U|0)|0,o=8088,n[o>>2]=1,n[o+4>>2]=0),11076}function fYe(o,l){o=o|0,l=l|0,n[o>>2]=AYe()|0,n[o+4>>2]=pYe()|0,n[o+12>>2]=l,n[o+8>>2]=hYe()|0,n[o+32>>2]=10}function AYe(){return 11745}function pYe(){return 1940}function hYe(){return KP()|0}function gYe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(Gh(A,896)|0)==512?u|0&&(dYe(u),yt(u)):l|0&&yt(l)}function dYe(o){o=o|0,o=n[o+4>>2]|0,o|0&&Yh(o)}function mYe(o){o=o|0,Uh(o)}function xu(o,l){o=o|0,l=l|0,n[o>>2]=l}function h_(o){return o=o|0,n[o>>2]|0}function yYe(o){return o=o|0,s[n[o>>2]>>0]|0}function EYe(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,n[A>>2]=n[o>>2],IYe(l,A)|0,I=u}function IYe(o,l){o=o|0,l=l|0;var u=0;return u=CYe(n[o>>2]|0,l)|0,l=o+4|0,n[(n[l>>2]|0)+8>>2]=u,n[(n[l>>2]|0)+8>>2]|0}function CYe(o,l){o=o|0,l=l|0;var u=0,A=0;return u=I,I=I+16|0,A=u,Nl(A),o=Ls(o)|0,l=wYe(o,n[l>>2]|0)|0,Ol(A),I=u,l|0}function Nl(o){o=o|0,n[o>>2]=n[2701],n[o+4>>2]=n[2703]}function wYe(o,l){o=o|0,l=l|0;var u=0;return u=ma(BYe()|0)|0,dn(0,u|0,o|0,a_(l)|0)|0}function Ol(o){o=o|0,HX(n[o>>2]|0,n[o+4>>2]|0)}function BYe(){var o=0;return s[8096]|0||(vYe(11120),o=8096,n[o>>2]=1,n[o+4>>2]=0),11120}function vYe(o){o=o|0,Ro(o,SYe()|0,1)}function SYe(){return 1948}function DYe(){bYe()}function bYe(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0,Qe=0;if(Le=I,I=I+16|0,M=Le+4|0,G=Le,aa(65536,10804,n[2702]|0,10812),u=wX()|0,l=n[u>>2]|0,o=n[l>>2]|0,o|0)for(A=n[u+8>>2]|0,u=n[u+4>>2]|0;hf(o|0,c[u>>0]|0|0,s[A>>0]|0),l=l+4|0,o=n[l>>2]|0,o;)A=A+1|0,u=u+1|0;if(o=BX()|0,l=n[o>>2]|0,l|0)do LA(l|0,n[o+4>>2]|0),o=o+8|0,l=n[o>>2]|0;while(l|0);LA(PYe()|0,5167),_=Ky()|0,o=n[_>>2]|0;e:do if(o|0){do xYe(n[o+4>>2]|0),o=n[o>>2]|0;while(o|0);if(o=n[_>>2]|0,o|0){T=_;do{for(;d=o,o=n[o>>2]|0,d=n[d+4>>2]|0,!!(kYe(d)|0);)if(n[G>>2]=T,n[M>>2]=n[G>>2],QYe(_,M)|0,!o)break e;if(TYe(d),T=n[T>>2]|0,l=$X(d)|0,m=Ni()|0,B=I,I=I+((1*(l<<2)|0)+15&-16)|0,k=I,I=I+((1*(l<<2)|0)+15&-16)|0,l=n[(NX(d)|0)>>2]|0,l|0)for(u=B,A=k;n[u>>2]=n[(Jy(n[l+4>>2]|0)|0)>>2],n[A>>2]=n[l+8>>2],l=n[l>>2]|0,l;)u=u+4|0,A=A+4|0;Qe=Jy(d)|0,l=RYe(d)|0,u=$X(d)|0,A=FYe(d)|0,ac(Qe|0,l|0,B|0,k|0,u|0,A|0,t_(d)|0),OA(m|0)}while(o|0)}}while(!1);if(o=n[(r_()|0)>>2]|0,o|0)do Qe=o+4|0,_=n_(Qe)|0,d=R2(_)|0,m=Q2(_)|0,B=(T2(_)|0)+1|0,k=$P(_)|0,T=e$(Qe)|0,_=Ur(_)|0,M=zP(Qe)|0,G=g_(Qe)|0,Au(0,d|0,m|0,B|0,k|0,T|0,_|0,M|0,G|0,d_(Qe)|0),o=n[o>>2]|0;while(o|0);o=n[(Ky()|0)>>2]|0;e:do if(o|0){t:for(;;){if(l=n[o+4>>2]|0,l|0&&(ae=n[(Jy(l)|0)>>2]|0,We=n[(OX(l)|0)>>2]|0,We|0)){u=We;do{l=u+4|0,A=n_(l)|0;r:do if(A|0)switch(Ur(A)|0){case 0:break t;case 4:case 3:case 2:{k=R2(A)|0,T=Q2(A)|0,_=(T2(A)|0)+1|0,M=$P(A)|0,G=Ur(A)|0,Qe=zP(l)|0,Au(ae|0,k|0,T|0,_|0,M|0,0,G|0,Qe|0,g_(l)|0,d_(l)|0);break r}case 1:{B=R2(A)|0,k=Q2(A)|0,T=(T2(A)|0)+1|0,_=$P(A)|0,M=e$(l)|0,G=Ur(A)|0,Qe=zP(l)|0,Au(ae|0,B|0,k|0,T|0,_|0,M|0,G|0,Qe|0,g_(l)|0,d_(l)|0);break r}case 5:{_=R2(A)|0,M=Q2(A)|0,G=(T2(A)|0)+1|0,Qe=$P(A)|0,Au(ae|0,_|0,M|0,G|0,Qe|0,NYe(A)|0,Ur(A)|0,0,0,0);break r}default:break r}while(!1);u=n[u>>2]|0}while(u|0)}if(o=n[o>>2]|0,!o)break e}Nt()}while(!1);ve(),I=Le}function PYe(){return 11703}function xYe(o){o=o|0,s[o+40>>0]=0}function kYe(o){return o=o|0,(s[o+40>>0]|0)!=0|0}function QYe(o,l){return o=o|0,l=l|0,l=OYe(l)|0,o=n[l>>2]|0,n[l>>2]=n[o>>2],yt(o),n[l>>2]|0}function TYe(o){o=o|0,s[o+40>>0]=1}function $X(o){return o=o|0,n[o+20>>2]|0}function RYe(o){return o=o|0,n[o+8>>2]|0}function FYe(o){return o=o|0,n[o+32>>2]|0}function $P(o){return o=o|0,n[o+4>>2]|0}function e$(o){return o=o|0,n[o+4>>2]|0}function g_(o){return o=o|0,n[o+8>>2]|0}function d_(o){return o=o|0,n[o+16>>2]|0}function NYe(o){return o=o|0,n[o+20>>2]|0}function OYe(o){return o=o|0,n[o>>2]|0}function ex(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0,Qe=0,tt=0,Ze=0,ct=0,He=0,Ge=0,Lt=0;Lt=I,I=I+16|0,ae=Lt;do if(o>>>0<245){if(_=o>>>0<11?16:o+11&-8,o=_>>>3,G=n[2783]|0,u=G>>>o,u&3|0)return l=(u&1^1)+o|0,o=11172+(l<<1<<2)|0,u=o+8|0,A=n[u>>2]|0,d=A+8|0,m=n[d>>2]|0,(o|0)==(m|0)?n[2783]=G&~(1<>2]=o,n[u>>2]=m),Ge=l<<3,n[A+4>>2]=Ge|3,Ge=A+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1,Ge=d,I=Lt,Ge|0;if(M=n[2785]|0,_>>>0>M>>>0){if(u|0)return l=2<>>12&16,l=l>>>B,u=l>>>5&8,l=l>>>u,d=l>>>2&4,l=l>>>d,o=l>>>1&2,l=l>>>o,A=l>>>1&1,A=(u|B|d|o|A)+(l>>>A)|0,l=11172+(A<<1<<2)|0,o=l+8|0,d=n[o>>2]|0,B=d+8|0,u=n[B>>2]|0,(l|0)==(u|0)?(o=G&~(1<>2]=l,n[o>>2]=u,o=G),m=(A<<3)-_|0,n[d+4>>2]=_|3,A=d+_|0,n[A+4>>2]=m|1,n[A+m>>2]=m,M|0&&(d=n[2788]|0,l=M>>>3,u=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=o|l,l=u,o=u+8|0),n[o>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=u),n[2785]=m,n[2788]=A,Ge=B,I=Lt,Ge|0;if(k=n[2784]|0,k){if(u=(k&0-k)+-1|0,B=u>>>12&16,u=u>>>B,m=u>>>5&8,u=u>>>m,T=u>>>2&4,u=u>>>T,A=u>>>1&2,u=u>>>A,o=u>>>1&1,o=n[11436+((m|B|T|A|o)+(u>>>o)<<2)>>2]|0,u=(n[o+4>>2]&-8)-_|0,A=n[o+16+(((n[o+16>>2]|0)==0&1)<<2)>>2]|0,!A)T=o,m=u;else{do B=(n[A+4>>2]&-8)-_|0,T=B>>>0>>0,u=T?B:u,o=T?A:o,A=n[A+16+(((n[A+16>>2]|0)==0&1)<<2)>>2]|0;while(A|0);T=o,m=u}if(B=T+_|0,T>>>0>>0){d=n[T+24>>2]|0,l=n[T+12>>2]|0;do if((l|0)==(T|0)){if(o=T+20|0,l=n[o>>2]|0,!l&&(o=T+16|0,l=n[o>>2]|0,!l)){u=0;break}for(;;){if(u=l+20|0,A=n[u>>2]|0,A|0){l=A,o=u;continue}if(u=l+16|0,A=n[u>>2]|0,A)l=A,o=u;else break}n[o>>2]=0,u=l}else u=n[T+8>>2]|0,n[u+12>>2]=l,n[l+8>>2]=u,u=l;while(!1);do if(d|0){if(l=n[T+28>>2]|0,o=11436+(l<<2)|0,(T|0)==(n[o>>2]|0)){if(n[o>>2]=u,!u){n[2784]=k&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=u,!u)break;n[u+24>>2]=d,l=n[T+16>>2]|0,l|0&&(n[u+16>>2]=l,n[l+24>>2]=u),l=n[T+20>>2]|0,l|0&&(n[u+20>>2]=l,n[l+24>>2]=u)}while(!1);return m>>>0<16?(Ge=m+_|0,n[T+4>>2]=Ge|3,Ge=T+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1):(n[T+4>>2]=_|3,n[B+4>>2]=m|1,n[B+m>>2]=m,M|0&&(A=n[2788]|0,l=M>>>3,u=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=G|l,l=u,o=u+8|0),n[o>>2]=A,n[l+12>>2]=A,n[A+8>>2]=l,n[A+12>>2]=u),n[2785]=m,n[2788]=B),Ge=T+8|0,I=Lt,Ge|0}else G=_}else G=_}else G=_}else if(o>>>0<=4294967231)if(o=o+11|0,_=o&-8,T=n[2784]|0,T){A=0-_|0,o=o>>>8,o?_>>>0>16777215?k=31:(G=(o+1048320|0)>>>16&8,He=o<>>16&4,He=He<>>16&2,k=14-(M|G|k)+(He<>>15)|0,k=_>>>(k+7|0)&1|k<<1):k=0,u=n[11436+(k<<2)>>2]|0;e:do if(!u)u=0,o=0,He=57;else for(o=0,B=_<<((k|0)==31?0:25-(k>>>1)|0),m=0;;){if(d=(n[u+4>>2]&-8)-_|0,d>>>0>>0)if(d)o=u,A=d;else{o=u,A=0,d=u,He=61;break e}if(d=n[u+20>>2]|0,u=n[u+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(u|0)?m:d,d=(u|0)==0,d){u=m,He=57;break}else B=B<<((d^1)&1)}while(!1);if((He|0)==57){if((u|0)==0&(o|0)==0){if(o=2<>>12&16,G=G>>>B,m=G>>>5&8,G=G>>>m,k=G>>>2&4,G=G>>>k,M=G>>>1&2,G=G>>>M,u=G>>>1&1,o=0,u=n[11436+((m|B|k|M|u)+(G>>>u)<<2)>>2]|0}u?(d=u,He=61):(k=o,B=A)}if((He|0)==61)for(;;)if(He=0,u=(n[d+4>>2]&-8)-_|0,G=u>>>0>>0,u=G?u:A,o=G?d:o,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)A=u,He=61;else{k=o,B=u;break}if(k|0&&B>>>0<((n[2785]|0)-_|0)>>>0){if(m=k+_|0,k>>>0>=m>>>0)return Ge=0,I=Lt,Ge|0;d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(o=k+20|0,l=n[o>>2]|0,!l&&(o=k+16|0,l=n[o>>2]|0,!l)){l=0;break}for(;;){if(u=l+20|0,A=n[u>>2]|0,A|0){l=A,o=u;continue}if(u=l+16|0,A=n[u>>2]|0,A)l=A,o=u;else break}n[o>>2]=0}else Ge=n[k+8>>2]|0,n[Ge+12>>2]=l,n[l+8>>2]=Ge;while(!1);do if(d){if(o=n[k+28>>2]|0,u=11436+(o<<2)|0,(k|0)==(n[u>>2]|0)){if(n[u>>2]=l,!l){A=T&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=l,!l){A=T;break}n[l+24>>2]=d,o=n[k+16>>2]|0,o|0&&(n[l+16>>2]=o,n[o+24>>2]=l),o=n[k+20>>2]|0,o&&(n[l+20>>2]=o,n[o+24>>2]=l),A=T}else A=T;while(!1);do if(B>>>0>=16){if(n[k+4>>2]=_|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){u=11172+(l<<1<<2)|0,o=n[2783]|0,l=1<>2]|0):(n[2783]=o|l,l=u,o=u+8|0),n[o>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=u;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(He=(l+1048320|0)>>>16&8,Ge=l<>>16&4,Ge=Ge<>>16&2,l=14-(ct|He|l)+(Ge<>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,u=11436+(l<<2)|0,n[m+28>>2]=l,o=m+16|0,n[o+4>>2]=0,n[o>>2]=0,o=1<>2]=m,n[m+24>>2]=u,n[m+12>>2]=m,n[m+8>>2]=m;break}for(o=B<<((l|0)==31?0:25-(l>>>1)|0),u=n[u>>2]|0;;){if((n[u+4>>2]&-8|0)==(B|0)){He=97;break}if(A=u+16+(o>>>31<<2)|0,l=n[A>>2]|0,l)o=o<<1,u=l;else{He=96;break}}if((He|0)==96){n[A>>2]=m,n[m+24>>2]=u,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((He|0)==97){He=u+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=m,n[He>>2]=m,n[m+8>>2]=Ge,n[m+12>>2]=u,n[m+24>>2]=0;break}}else Ge=B+_|0,n[k+4>>2]=Ge|3,Ge=k+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1;while(!1);return Ge=k+8|0,I=Lt,Ge|0}else G=_}else G=_;else G=-1;while(!1);if(u=n[2785]|0,u>>>0>=G>>>0)return l=u-G|0,o=n[2788]|0,l>>>0>15?(Ge=o+G|0,n[2788]=Ge,n[2785]=l,n[Ge+4>>2]=l|1,n[Ge+l>>2]=l,n[o+4>>2]=G|3):(n[2785]=0,n[2788]=0,n[o+4>>2]=u|3,Ge=o+u+4|0,n[Ge>>2]=n[Ge>>2]|1),Ge=o+8|0,I=Lt,Ge|0;if(B=n[2786]|0,B>>>0>G>>>0)return ct=B-G|0,n[2786]=ct,Ge=n[2789]|0,He=Ge+G|0,n[2789]=He,n[He+4>>2]=ct|1,n[Ge+4>>2]=G|3,Ge=Ge+8|0,I=Lt,Ge|0;if(n[2901]|0?o=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,o=ae&-16^1431655768,n[ae>>2]=o,n[2901]=o,o=4096),k=G+48|0,T=G+47|0,m=o+T|0,d=0-o|0,_=m&d,_>>>0<=G>>>0||(o=n[2893]|0,o|0&&(M=n[2891]|0,ae=M+_|0,ae>>>0<=M>>>0|ae>>>0>o>>>0)))return Ge=0,I=Lt,Ge|0;e:do if(n[2894]&4)l=0,He=133;else{u=n[2789]|0;t:do if(u){for(A=11580;o=n[A>>2]|0,!(o>>>0<=u>>>0&&(Qe=A+4|0,(o+(n[Qe>>2]|0)|0)>>>0>u>>>0));)if(o=n[A+8>>2]|0,o)A=o;else{He=118;break t}if(l=m-B&d,l>>>0<2147483647)if(o=Vh(l|0)|0,(o|0)==((n[A>>2]|0)+(n[Qe>>2]|0)|0)){if((o|0)!=-1){B=l,m=o,He=135;break e}}else A=o,He=126;else l=0}else He=118;while(!1);do if((He|0)==118)if(u=Vh(0)|0,(u|0)!=-1&&(l=u,We=n[2902]|0,Le=We+-1|0,l=(Le&l|0?(Le+l&0-We)-l|0:0)+_|0,We=n[2891]|0,Le=l+We|0,l>>>0>G>>>0&l>>>0<2147483647)){if(Qe=n[2893]|0,Qe|0&&Le>>>0<=We>>>0|Le>>>0>Qe>>>0){l=0;break}if(o=Vh(l|0)|0,(o|0)==(u|0)){B=l,m=u,He=135;break e}else A=o,He=126}else l=0;while(!1);do if((He|0)==126){if(u=0-l|0,!(k>>>0>l>>>0&(l>>>0<2147483647&(A|0)!=-1)))if((A|0)==-1){l=0;break}else{B=l,m=A,He=135;break e}if(o=n[2903]|0,o=T-l+o&0-o,o>>>0>=2147483647){B=l,m=A,He=135;break e}if((Vh(o|0)|0)==-1){Vh(u|0)|0,l=0;break}else{B=o+l|0,m=A,He=135;break e}}while(!1);n[2894]=n[2894]|4,He=133}while(!1);if((He|0)==133&&_>>>0<2147483647&&(ct=Vh(_|0)|0,Qe=Vh(0)|0,tt=Qe-ct|0,Ze=tt>>>0>(G+40|0)>>>0,!((ct|0)==-1|Ze^1|ct>>>0>>0&((ct|0)!=-1&(Qe|0)!=-1)^1))&&(B=Ze?tt:l,m=ct,He=135),(He|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),T=n[2789]|0;do if(T){for(l=11580;;){if(o=n[l>>2]|0,u=l+4|0,A=n[u>>2]|0,(m|0)==(o+A|0)){He=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((He|0)==145&&!(n[l+12>>2]&8|0)&&T>>>0>>0&T>>>0>=o>>>0){n[u>>2]=A+B,Ge=T+8|0,Ge=Ge&7|0?0-Ge&7:0,He=T+Ge|0,Ge=(n[2786]|0)+(B-Ge)|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),u=m+B|0,l=11580;;){if((n[l>>2]|0)==(u|0)){He=153;break}if(o=n[l+8>>2]|0,o)l=o;else break}if((He|0)==153&&!(n[l+12>>2]&8|0)){n[l>>2]=m,M=l+4|0,n[M>>2]=(n[M>>2]|0)+B,M=m+8|0,M=m+(M&7|0?0-M&7:0)|0,l=u+8|0,l=u+(l&7|0?0-l&7:0)|0,_=M+G|0,k=l-M-G|0,n[M+4>>2]=G|3;do if((l|0)!=(T|0)){if((l|0)==(n[2788]|0)){Ge=(n[2785]|0)+k|0,n[2785]=Ge,n[2788]=_,n[_+4>>2]=Ge|1,n[_+Ge>>2]=Ge;break}if(o=n[l+4>>2]|0,(o&3|0)==1){B=o&-8,A=o>>>3;e:do if(o>>>0<256)if(o=n[l+8>>2]|0,u=n[l+12>>2]|0,(u|0)==(o|0)){n[2783]=n[2783]&~(1<>2]=u,n[u+8>>2]=o;break}else{m=n[l+24>>2]|0,o=n[l+12>>2]|0;do if((o|0)==(l|0)){if(A=l+16|0,u=A+4|0,o=n[u>>2]|0,!o)if(o=n[A>>2]|0,o)u=A;else{o=0;break}for(;;){if(A=o+20|0,d=n[A>>2]|0,d|0){o=d,u=A;continue}if(A=o+16|0,d=n[A>>2]|0,d)o=d,u=A;else break}n[u>>2]=0}else Ge=n[l+8>>2]|0,n[Ge+12>>2]=o,n[o+8>>2]=Ge;while(!1);if(!m)break;u=n[l+28>>2]|0,A=11436+(u<<2)|0;do if((l|0)!=(n[A>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=o,!o)break e}else{if(n[A>>2]=o,o|0)break;n[2784]=n[2784]&~(1<>2]=m,u=l+16|0,A=n[u>>2]|0,A|0&&(n[o+16>>2]=A,n[A+24>>2]=o),u=n[u+4>>2]|0,!u)break;n[o+20>>2]=u,n[u+24>>2]=o}while(!1);l=l+B|0,d=B+k|0}else d=k;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[_+4>>2]=d|1,n[_+d>>2]=d,l=d>>>3,d>>>0<256){u=11172+(l<<1<<2)|0,o=n[2783]|0,l=1<>2]|0):(n[2783]=o|l,l=u,o=u+8|0),n[o>>2]=_,n[l+12>>2]=_,n[_+8>>2]=l,n[_+12>>2]=u;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}He=(l+1048320|0)>>>16&8,Ge=l<>>16&4,Ge=Ge<>>16&2,l=14-(ct|He|l)+(Ge<>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(!1);if(A=11436+(l<<2)|0,n[_+28>>2]=l,o=_+16|0,n[o+4>>2]=0,n[o>>2]=0,o=n[2784]|0,u=1<>2]=_,n[_+24>>2]=A,n[_+12>>2]=_,n[_+8>>2]=_;break}for(o=d<<((l|0)==31?0:25-(l>>>1)|0),u=n[A>>2]|0;;){if((n[u+4>>2]&-8|0)==(d|0)){He=194;break}if(A=u+16+(o>>>31<<2)|0,l=n[A>>2]|0,l)o=o<<1,u=l;else{He=193;break}}if((He|0)==193){n[A>>2]=_,n[_+24>>2]=u,n[_+12>>2]=_,n[_+8>>2]=_;break}else if((He|0)==194){He=u+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=_,n[He>>2]=_,n[_+8>>2]=Ge,n[_+12>>2]=u,n[_+24>>2]=0;break}}else Ge=(n[2786]|0)+k|0,n[2786]=Ge,n[2789]=_,n[_+4>>2]=Ge|1;while(!1);return Ge=M+8|0,I=Lt,Ge|0}for(l=11580;o=n[l>>2]|0,!(o>>>0<=T>>>0&&(Ge=o+(n[l+4>>2]|0)|0,Ge>>>0>T>>>0));)l=n[l+8>>2]|0;d=Ge+-47|0,o=d+8|0,o=d+(o&7|0?0-o&7:0)|0,d=T+16|0,o=o>>>0>>0?T:o,l=o+8|0,u=m+8|0,u=u&7|0?0-u&7:0,He=m+u|0,u=B+-40-u|0,n[2789]=He,n[2786]=u,n[He+4>>2]=u|1,n[He+u+4>>2]=40,n[2790]=n[2905],u=o+4|0,n[u>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=o+24|0;do He=l,l=l+4|0,n[l>>2]=7;while((He+8|0)>>>0>>0);if((o|0)!=(T|0)){if(m=o-T|0,n[u>>2]=n[u>>2]&-2,n[T+4>>2]=m|1,n[o>>2]=m,l=m>>>3,m>>>0<256){u=11172+(l<<1<<2)|0,o=n[2783]|0,l=1<>2]|0):(n[2783]=o|l,l=u,o=u+8|0),n[o>>2]=T,n[l+12>>2]=T,n[T+8>>2]=l,n[T+12>>2]=u;break}if(l=m>>>8,l?m>>>0>16777215?u=31:(He=(l+1048320|0)>>>16&8,Ge=l<>>16&4,Ge=Ge<>>16&2,u=14-(ct|He|u)+(Ge<>>15)|0,u=m>>>(u+7|0)&1|u<<1):u=0,A=11436+(u<<2)|0,n[T+28>>2]=u,n[T+20>>2]=0,n[d>>2]=0,l=n[2784]|0,o=1<>2]=T,n[T+24>>2]=A,n[T+12>>2]=T,n[T+8>>2]=T;break}for(o=m<<((u|0)==31?0:25-(u>>>1)|0),u=n[A>>2]|0;;){if((n[u+4>>2]&-8|0)==(m|0)){He=216;break}if(A=u+16+(o>>>31<<2)|0,l=n[A>>2]|0,l)o=o<<1,u=l;else{He=215;break}}if((He|0)==215){n[A>>2]=T,n[T+24>>2]=u,n[T+12>>2]=T,n[T+8>>2]=T;break}else if((He|0)==216){He=u+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=T,n[He>>2]=T,n[T+8>>2]=Ge,n[T+12>>2]=u,n[T+24>>2]=0;break}}}else{Ge=n[2787]|0,(Ge|0)==0|m>>>0>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do Ge=11172+(l<<1<<2)|0,n[Ge+12>>2]=Ge,n[Ge+8>>2]=Ge,l=l+1|0;while((l|0)!=32);Ge=m+8|0,Ge=Ge&7|0?0-Ge&7:0,He=m+Ge|0,Ge=B+-40-Ge|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905]}while(!1);if(l=n[2786]|0,l>>>0>G>>>0)return ct=l-G|0,n[2786]=ct,Ge=n[2789]|0,He=Ge+G|0,n[2789]=He,n[He+4>>2]=ct|1,n[Ge+4>>2]=G|3,Ge=Ge+8|0,I=Lt,Ge|0}return n[(Zy()|0)>>2]=12,Ge=0,I=Lt,Ge|0}function tx(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,T=0;if(o){u=o+-8|0,d=n[2787]|0,o=n[o+-4>>2]|0,l=o&-8,T=u+l|0;do if(o&1)k=u,B=u;else{if(A=n[u>>2]|0,!(o&3)||(B=u+(0-A)|0,m=A+l|0,B>>>0>>0))return;if((B|0)==(n[2788]|0)){if(o=T+4|0,l=n[o>>2]|0,(l&3|0)!=3){k=B,l=m;break}n[2785]=m,n[o>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(u=A>>>3,A>>>0<256)if(o=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(o|0)){n[2783]=n[2783]&~(1<>2]=l,n[l+8>>2]=o,k=B,l=m;break}d=n[B+24>>2]|0,o=n[B+12>>2]|0;do if((o|0)==(B|0)){if(u=B+16|0,l=u+4|0,o=n[l>>2]|0,!o)if(o=n[u>>2]|0,o)l=u;else{o=0;break}for(;;){if(u=o+20|0,A=n[u>>2]|0,A|0){o=A,l=u;continue}if(u=o+16|0,A=n[u>>2]|0,A)o=A,l=u;else break}n[l>>2]=0}else k=n[B+8>>2]|0,n[k+12>>2]=o,n[o+8>>2]=k;while(!1);if(d){if(l=n[B+28>>2]|0,u=11436+(l<<2)|0,(B|0)==(n[u>>2]|0)){if(n[u>>2]=o,!o){n[2784]=n[2784]&~(1<>2]|0)!=(B|0)&1)<<2)>>2]=o,!o){k=B,l=m;break}n[o+24>>2]=d,l=B+16|0,u=n[l>>2]|0,u|0&&(n[o+16>>2]=u,n[u+24>>2]=o),l=n[l+4>>2]|0,l?(n[o+20>>2]=l,n[l+24>>2]=o,k=B,l=m):(k=B,l=m)}else k=B,l=m}while(!1);if(!(B>>>0>=T>>>0)&&(o=T+4|0,A=n[o>>2]|0,!!(A&1))){if(A&2)n[o>>2]=A&-2,n[k+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(o=n[2788]|0,(T|0)==(n[2789]|0)){if(T=(n[2786]|0)+l|0,n[2786]=T,n[2789]=k,n[k+4>>2]=T|1,(k|0)!=(o|0))return;n[2788]=0,n[2785]=0;return}if((T|0)==(o|0)){T=(n[2785]|0)+l|0,n[2785]=T,n[2788]=B,n[k+4>>2]=T|1,n[B+T>>2]=T;return}d=(A&-8)+l|0,u=A>>>3;do if(A>>>0<256)if(l=n[T+8>>2]|0,o=n[T+12>>2]|0,(o|0)==(l|0)){n[2783]=n[2783]&~(1<>2]=o,n[o+8>>2]=l;break}else{m=n[T+24>>2]|0,o=n[T+12>>2]|0;do if((o|0)==(T|0)){if(u=T+16|0,l=u+4|0,o=n[l>>2]|0,!o)if(o=n[u>>2]|0,o)l=u;else{u=0;break}for(;;){if(u=o+20|0,A=n[u>>2]|0,A|0){o=A,l=u;continue}if(u=o+16|0,A=n[u>>2]|0,A)o=A,l=u;else break}n[l>>2]=0,u=o}else u=n[T+8>>2]|0,n[u+12>>2]=o,n[o+8>>2]=u,u=o;while(!1);if(m|0){if(o=n[T+28>>2]|0,l=11436+(o<<2)|0,(T|0)==(n[l>>2]|0)){if(n[l>>2]=u,!u){n[2784]=n[2784]&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=u,!u)break;n[u+24>>2]=m,o=T+16|0,l=n[o>>2]|0,l|0&&(n[u+16>>2]=l,n[l+24>>2]=u),o=n[o+4>>2]|0,o|0&&(n[u+20>>2]=o,n[o+24>>2]=u)}}while(!1);if(n[k+4>>2]=d|1,n[B+d>>2]=d,(k|0)==(n[2788]|0)){n[2785]=d;return}}if(o=d>>>3,d>>>0<256){u=11172+(o<<1<<2)|0,l=n[2783]|0,o=1<>2]|0):(n[2783]=l|o,o=u,l=u+8|0),n[l>>2]=k,n[o+12>>2]=k,n[k+8>>2]=o,n[k+12>>2]=u;return}o=d>>>8,o?d>>>0>16777215?o=31:(B=(o+1048320|0)>>>16&8,T=o<>>16&4,T=T<>>16&2,o=14-(m|B|o)+(T<>>15)|0,o=d>>>(o+7|0)&1|o<<1):o=0,A=11436+(o<<2)|0,n[k+28>>2]=o,n[k+20>>2]=0,n[k+16>>2]=0,l=n[2784]|0,u=1<>>1)|0),u=n[A>>2]|0;;){if((n[u+4>>2]&-8|0)==(d|0)){o=73;break}if(A=u+16+(l>>>31<<2)|0,o=n[A>>2]|0,o)l=l<<1,u=o;else{o=72;break}}if((o|0)==72){n[A>>2]=k,n[k+24>>2]=u,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((o|0)==73){B=u+8|0,T=n[B>>2]|0,n[T+12>>2]=k,n[B>>2]=k,n[k+8>>2]=T,n[k+12>>2]=u,n[k+24>>2]=0;break}}else n[2784]=l|u,n[A>>2]=k,n[k+24>>2]=A,n[k+12>>2]=k,n[k+8>>2]=k;while(!1);if(T=(n[2791]|0)+-1|0,n[2791]=T,!T)o=11588;else return;for(;o=n[o>>2]|0,o;)o=o+8|0;n[2791]=-1}}}function LYe(){return 11628}function MYe(o){o=o|0;var l=0,u=0;return l=I,I=I+16|0,u=l,n[u>>2]=HYe(n[o+60>>2]|0)|0,o=rx(hu(6,u|0)|0)|0,I=l,o|0}function t$(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0;G=I,I=I+48|0,_=G+16|0,m=G,d=G+32|0,k=o+28|0,A=n[k>>2]|0,n[d>>2]=A,T=o+20|0,A=(n[T>>2]|0)-A|0,n[d+4>>2]=A,n[d+8>>2]=l,n[d+12>>2]=u,A=A+u|0,B=o+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=rx(Ma(146,m|0)|0)|0;e:do if((A|0)!=(m|0)){for(l=2;!((m|0)<0);)if(A=A-m|0,We=n[d+4>>2]|0,ae=m>>>0>We>>>0,d=ae?d+8|0:d,l=(ae<<31>>31)+l|0,We=m-(ae?We:0)|0,n[d>>2]=(n[d>>2]|0)+We,ae=d+4|0,n[ae>>2]=(n[ae>>2]|0)-We,n[_>>2]=n[B>>2],n[_+4>>2]=d,n[_+8>>2]=l,m=rx(Ma(146,_|0)|0)|0,(A|0)==(m|0)){M=3;break e}n[o+16>>2]=0,n[k>>2]=0,n[T>>2]=0,n[o>>2]=n[o>>2]|32,(l|0)==2?u=0:u=u-(n[d+4>>2]|0)|0}else M=3;while(!1);return(M|0)==3&&(We=n[o+44>>2]|0,n[o+16>>2]=We+(n[o+48>>2]|0),n[k>>2]=We,n[T>>2]=We),I=G,u|0}function _Ye(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;return d=I,I=I+32|0,m=d,A=d+20|0,n[m>>2]=n[o+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=A,n[m+16>>2]=u,(rx(La(140,m|0)|0)|0)<0?(n[A>>2]=-1,o=-1):o=n[A>>2]|0,I=d,o|0}function rx(o){return o=o|0,o>>>0>4294963200&&(n[(Zy()|0)>>2]=0-o,o=-1),o|0}function Zy(){return(UYe()|0)+64|0}function UYe(){return m_()|0}function m_(){return 2084}function HYe(o){return o=o|0,o|0}function jYe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;return d=I,I=I+32|0,A=d,n[o+36>>2]=1,!(n[o>>2]&64|0)&&(n[A>>2]=n[o+60>>2],n[A+4>>2]=21523,n[A+8>>2]=d+16,io(54,A|0)|0)&&(s[o+75>>0]=-1),A=t$(o,l,u)|0,I=d,A|0}function r$(o,l){o=o|0,l=l|0;var u=0,A=0;if(u=s[o>>0]|0,A=s[l>>0]|0,!(u<<24>>24)||u<<24>>24!=A<<24>>24)o=A;else{do o=o+1|0,l=l+1|0,u=s[o>>0]|0,A=s[l>>0]|0;while(!(!(u<<24>>24)||u<<24>>24!=A<<24>>24));o=A}return(u&255)-(o&255)|0}function qYe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;e:do if(!u)o=0;else{for(;A=s[o>>0]|0,d=s[l>>0]|0,A<<24>>24==d<<24>>24;)if(u=u+-1|0,u)o=o+1|0,l=l+1|0;else{o=0;break e}o=(A&255)-(d&255)|0}while(!1);return o|0}function n$(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0,Qe=0;Qe=I,I=I+224|0,M=Qe+120|0,G=Qe+80|0,We=Qe,Le=Qe+136|0,A=G,d=A+40|0;do n[A>>2]=0,A=A+4|0;while((A|0)<(d|0));return n[M>>2]=n[u>>2],(y_(0,l,M,We,G)|0)<0?u=-1:((n[o+76>>2]|0)>-1?ae=GYe(o)|0:ae=0,u=n[o>>2]|0,_=u&32,(s[o+74>>0]|0)<1&&(n[o>>2]=u&-33),A=o+48|0,n[A>>2]|0?u=y_(o,l,M,We,G)|0:(d=o+44|0,m=n[d>>2]|0,n[d>>2]=Le,B=o+28|0,n[B>>2]=Le,k=o+20|0,n[k>>2]=Le,n[A>>2]=80,T=o+16|0,n[T>>2]=Le+80,u=y_(o,l,M,We,G)|0,m&&(ox[n[o+36>>2]&7](o,0,0)|0,u=n[k>>2]|0?u:-1,n[d>>2]=m,n[A>>2]=0,n[T>>2]=0,n[B>>2]=0,n[k>>2]=0)),A=n[o>>2]|0,n[o>>2]=A|_,ae|0&&WYe(o),u=A&32|0?-1:u),I=Qe,u|0}function y_(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0,Qe=0,tt=0,Ze=0,ct=0,He=0,Ge=0,Lt=0,qr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0;cr=I,I=I+64|0,fr=cr+16|0,$t=cr,Lt=cr+24|0,Tr=cr+8|0,Hr=cr+20|0,n[fr>>2]=l,ct=(o|0)!=0,He=Lt+40|0,Ge=He,Lt=Lt+39|0,qr=Tr+4|0,B=0,m=0,M=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(Zy()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(!1);if(B=s[l>>0]|0,B<<24>>24)k=l;else{Ze=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=k,Ze=9;break t}case 0:{B=k;break t}default:}tt=k+1|0,n[fr>>2]=tt,B=s[tt>>0]|0,k=tt}t:do if((Ze|0)==9)for(;;){if(Ze=0,(s[k+1>>0]|0)!=37)break t;if(B=B+1|0,k=k+2|0,n[fr>>2]=k,(s[k>>0]|0)==37)Ze=9;else break}while(!1);if(B=B-l|0,ct&&Ss(o,l,B),B|0){l=k;continue}T=k+1|0,B=(s[T>>0]|0)+-48|0,B>>>0<10?(tt=(s[k+2>>0]|0)==36,Qe=tt?B:-1,M=tt?1:M,T=tt?k+3|0:T):Qe=-1,n[fr>>2]=T,B=s[T>>0]|0,k=(B<<24>>24)+-32|0;t:do if(k>>>0<32)for(_=0,G=B;;){if(B=1<>2]=T,B=s[T>>0]|0,k=(B<<24>>24)+-32|0,k>>>0>=32)break;G=B}else _=0;while(!1);if(B<<24>>24==42){if(k=T+1|0,B=(s[k>>0]|0)+-48|0,B>>>0<10&&(s[T+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[A+((s[k>>0]|0)+-48<<3)>>2]|0,M=1,T=T+3|0;else{if(M|0){m=-1;break}ct?(M=(n[u>>2]|0)+3&-4,B=n[M>>2]|0,n[u>>2]=M+4,M=0,T=k):(B=0,M=0,T=k)}n[fr>>2]=T,tt=(B|0)<0,B=tt?0-B|0:B,_=tt?_|8192:_}else{if(B=i$(fr)|0,(B|0)<0){m=-1;break}T=n[fr>>2]|0}do if((s[T>>0]|0)==46){if((s[T+1>>0]|0)!=42){n[fr>>2]=T+1,k=i$(fr)|0,T=n[fr>>2]|0;break}if(G=T+2|0,k=(s[G>>0]|0)+-48|0,k>>>0<10&&(s[T+3>>0]|0)==36){n[d+(k<<2)>>2]=10,k=n[A+((s[G>>0]|0)+-48<<3)>>2]|0,T=T+4|0,n[fr>>2]=T;break}if(M|0){m=-1;break e}ct?(tt=(n[u>>2]|0)+3&-4,k=n[tt>>2]|0,n[u>>2]=tt+4):k=0,n[fr>>2]=G,T=G}else k=-1;while(!1);for(Le=0;;){if(((s[T>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(tt=T+1|0,n[fr>>2]=tt,G=s[(s[T>>0]|0)+-65+(5178+(Le*58|0))>>0]|0,ae=G&255,(ae+-1|0)>>>0<8)Le=ae,T=tt;else break}if(!(G<<24>>24)){m=-1;break}We=(Qe|0)>-1;do if(G<<24>>24==19)if(We){m=-1;break e}else Ze=49;else{if(We){n[d+(Qe<<2)>>2]=ae,We=A+(Qe<<3)|0,Qe=n[We+4>>2]|0,Ze=$t,n[Ze>>2]=n[We>>2],n[Ze+4>>2]=Qe,Ze=49;break}if(!ct){m=0;break e}s$($t,ae,u)}while(!1);if((Ze|0)==49&&(Ze=0,!ct)){B=0,l=tt;continue}T=s[T>>0]|0,T=(Le|0)!=0&(T&15|0)==3?T&-33:T,We=_&-65537,Qe=_&8192|0?We:_;t:do switch(T|0){case 110:switch((Le&255)<<24>>24){case 0:{n[n[$t>>2]>>2]=m,B=0,l=tt;continue e}case 1:{n[n[$t>>2]>>2]=m,B=0,l=tt;continue e}case 2:{B=n[$t>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=tt;continue e}case 3:{a[n[$t>>2]>>1]=m,B=0,l=tt;continue e}case 4:{s[n[$t>>2]>>0]=m,B=0,l=tt;continue e}case 6:{n[n[$t>>2]>>2]=m,B=0,l=tt;continue e}case 7:{B=n[$t>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=tt;continue e}default:{B=0,l=tt;continue e}}case 112:{T=120,k=k>>>0>8?k:8,l=Qe|8,Ze=61;break}case 88:case 120:{l=Qe,Ze=61;break}case 111:{T=$t,l=n[T>>2]|0,T=n[T+4>>2]|0,ae=VYe(l,T,He)|0,We=Ge-ae|0,_=0,G=5642,k=(Qe&8|0)==0|(k|0)>(We|0)?k:We+1|0,We=Qe,Ze=67;break}case 105:case 100:if(T=$t,l=n[T>>2]|0,T=n[T+4>>2]|0,(T|0)<0){l=nx(0,0,l|0,T|0)|0,T=Ee,_=$t,n[_>>2]=l,n[_+4>>2]=T,_=1,G=5642,Ze=66;break t}else{_=(Qe&2049|0)!=0&1,G=Qe&2048|0?5643:Qe&1|0?5644:5642,Ze=66;break t}case 117:{T=$t,_=0,G=5642,l=n[T>>2]|0,T=n[T+4>>2]|0,Ze=66;break}case 99:{s[Lt>>0]=n[$t>>2],l=Lt,_=0,G=5642,ae=He,T=1,k=We;break}case 109:{T=KYe(n[(Zy()|0)>>2]|0)|0,Ze=71;break}case 115:{T=n[$t>>2]|0,T=T|0?T:5652,Ze=71;break}case 67:{n[Tr>>2]=n[$t>>2],n[qr>>2]=0,n[$t>>2]=Tr,ae=-1,T=Tr,Ze=75;break}case 83:{l=n[$t>>2]|0,k?(ae=k,T=l,Ze=75):(Ms(o,32,B,0,Qe),l=0,Ze=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=zYe(o,+E[$t>>3],B,k,Qe,T)|0,l=tt;continue e}default:_=0,G=5642,ae=He,T=k,k=Qe}while(!1);t:do if((Ze|0)==61)Qe=$t,Le=n[Qe>>2]|0,Qe=n[Qe+4>>2]|0,ae=YYe(Le,Qe,He,T&32)|0,G=(l&8|0)==0|(Le|0)==0&(Qe|0)==0,_=G?0:2,G=G?5642:5642+(T>>4)|0,We=l,l=Le,T=Qe,Ze=67;else if((Ze|0)==66)ae=Xy(l,T,He)|0,We=Qe,Ze=67;else if((Ze|0)==71)Ze=0,Qe=JYe(T,0,k)|0,Le=(Qe|0)==0,l=T,_=0,G=5642,ae=Le?T+k|0:Qe,T=Le?k:Qe-T|0,k=We;else if((Ze|0)==75){for(Ze=0,G=T,l=0,k=0;_=n[G>>2]|0,!(!_||(k=o$(Hr,_)|0,(k|0)<0|k>>>0>(ae-l|0)>>>0));)if(l=k+l|0,ae>>>0>l>>>0)G=G+4|0;else break;if((k|0)<0){m=-1;break e}if(Ms(o,32,B,l,Qe),!l)l=0,Ze=84;else for(_=0;;){if(k=n[T>>2]|0,!k){Ze=84;break t}if(k=o$(Hr,k)|0,_=k+_|0,(_|0)>(l|0)){Ze=84;break t}if(Ss(o,Hr,k),_>>>0>=l>>>0){Ze=84;break}else T=T+4|0}}while(!1);if((Ze|0)==67)Ze=0,T=(l|0)!=0|(T|0)!=0,Qe=(k|0)!=0|T,T=((T^1)&1)+(Ge-ae)|0,l=Qe?ae:He,ae=He,T=Qe?(k|0)>(T|0)?k:T:k,k=(k|0)>-1?We&-65537:We;else if((Ze|0)==84){Ze=0,Ms(o,32,B,l,Qe^8192),B=(B|0)>(l|0)?B:l,l=tt;continue}Le=ae-l|0,We=(T|0)<(Le|0)?Le:T,Qe=We+_|0,B=(B|0)<(Qe|0)?Qe:B,Ms(o,32,B,Qe,k),Ss(o,G,_),Ms(o,48,B,Qe,k^65536),Ms(o,48,We,Le,0),Ss(o,l,Le),Ms(o,32,B,Qe,k^8192),l=tt}e:do if((Ze|0)==87&&!o)if(!M)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(s$(A+(m<<3)|0,l,u),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(!1);return I=cr,m|0}function GYe(o){return o=o|0,0}function WYe(o){o=o|0}function Ss(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]&32||sVe(l,u,o)|0}function i$(o){o=o|0;var l=0,u=0,A=0;if(u=n[o>>2]|0,A=(s[u>>0]|0)+-48|0,A>>>0<10){l=0;do l=A+(l*10|0)|0,u=u+1|0,n[o>>2]=u,A=(s[u>>0]|0)+-48|0;while(A>>>0<10)}else l=0;return l|0}function s$(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{A=(n[u>>2]|0)+3&-4,l=n[A>>2]|0,n[u>>2]=A+4,n[o>>2]=l;break e}case 10:{A=(n[u>>2]|0)+3&-4,l=n[A>>2]|0,n[u>>2]=A+4,A=o,n[A>>2]=l,n[A+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{A=(n[u>>2]|0)+3&-4,l=n[A>>2]|0,n[u>>2]=A+4,A=o,n[A>>2]=l,n[A+4>>2]=0;break e}case 12:{A=(n[u>>2]|0)+7&-8,l=A,d=n[l>>2]|0,l=n[l+4>>2]|0,n[u>>2]=A+8,A=o,n[A>>2]=d,n[A+4>>2]=l;break e}case 13:{d=(n[u>>2]|0)+3&-4,A=n[d>>2]|0,n[u>>2]=d+4,A=(A&65535)<<16>>16,d=o,n[d>>2]=A,n[d+4>>2]=((A|0)<0)<<31>>31;break e}case 14:{d=(n[u>>2]|0)+3&-4,A=n[d>>2]|0,n[u>>2]=d+4,d=o,n[d>>2]=A&65535,n[d+4>>2]=0;break e}case 15:{d=(n[u>>2]|0)+3&-4,A=n[d>>2]|0,n[u>>2]=d+4,A=(A&255)<<24>>24,d=o,n[d>>2]=A,n[d+4>>2]=((A|0)<0)<<31>>31;break e}case 16:{d=(n[u>>2]|0)+3&-4,A=n[d>>2]|0,n[u>>2]=d+4,d=o,n[d>>2]=A&255,n[d+4>>2]=0;break e}case 17:{d=(n[u>>2]|0)+7&-8,m=+E[d>>3],n[u>>2]=d+8,E[o>>3]=m;break e}case 18:{d=(n[u>>2]|0)+7&-8,m=+E[d>>3],n[u>>2]=d+8,E[o>>3]=m;break e}default:break e}while(!1);while(!1)}function YYe(o,l,u,A){if(o=o|0,l=l|0,u=u|0,A=A|0,!((o|0)==0&(l|0)==0))do u=u+-1|0,s[u>>0]=c[5694+(o&15)>>0]|0|A,o=ix(o|0,l|0,4)|0,l=Ee;while(!((o|0)==0&(l|0)==0));return u|0}function VYe(o,l,u){if(o=o|0,l=l|0,u=u|0,!((o|0)==0&(l|0)==0))do u=u+-1|0,s[u>>0]=o&7|48,o=ix(o|0,l|0,3)|0,l=Ee;while(!((o|0)==0&(l|0)==0));return u|0}function Xy(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;if(l>>>0>0|(l|0)==0&o>>>0>4294967295){for(;A=w_(o|0,l|0,10,0)|0,u=u+-1|0,s[u>>0]=A&255|48,A=o,o=C_(o|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&A>>>0>4294967295;)l=Ee;l=o}else l=o;if(l)for(;u=u+-1|0,s[u>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return u|0}function KYe(o){return o=o|0,tVe(o,n[(eVe()|0)+188>>2]|0)|0}function JYe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;m=l&255,A=(u|0)!=0;e:do if(A&(o&3|0)!=0)for(d=l&255;;){if((s[o>>0]|0)==d<<24>>24){B=6;break e}if(o=o+1|0,u=u+-1|0,A=(u|0)!=0,!(A&(o&3|0)!=0)){B=5;break}}else B=5;while(!1);(B|0)==5&&(A?B=6:u=0);e:do if((B|0)==6&&(d=l&255,(s[o>>0]|0)!=d<<24>>24)){A=_e(m,16843009)|0;t:do if(u>>>0>3){for(;m=n[o>>2]^A,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(o=o+4|0,u=u+-4|0,u>>>0<=3){B=11;break t}}else B=11;while(!1);if((B|0)==11&&!u){u=0;break}for(;;){if((s[o>>0]|0)==d<<24>>24)break e;if(o=o+1|0,u=u+-1|0,!u){u=0;break}}}while(!1);return(u|0?o:0)|0}function Ms(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0;if(B=I,I=I+256|0,m=B,(u|0)>(A|0)&(d&73728|0)==0){if(d=u-A|0,eE(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=u-A|0;do Ss(o,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}Ss(o,m,d)}I=B}function o$(o,l){return o=o|0,l=l|0,o?o=XYe(o,l,0)|0:o=0,o|0}function zYe(o,l,u,A,d,m){o=o|0,l=+l,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0,Qe=0,tt=0,Ze=0,ct=0,He=0,Ge=0,Lt=0,qr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0,Hn=0;Hn=I,I=I+560|0,T=Hn+8|0,tt=Hn,cr=Hn+524|0,Hr=cr,_=Hn+512|0,n[tt>>2]=0,Tr=_+12|0,a$(l)|0,(Ee|0)<0?(l=-l,fr=1,qr=5659):(fr=(d&2049|0)!=0&1,qr=d&2048|0?5662:d&1|0?5665:5660),a$(l)|0,$t=Ee&2146435072;do if($t>>>0<2146435072|($t|0)==2146435072&!1){if(We=+ZYe(l,tt)*2,B=We!=0,B&&(n[tt>>2]=(n[tt>>2]|0)+-1),ct=m|32,(ct|0)==97){Le=m&32,ae=Le|0?qr+9|0:qr,G=fr|2,B=12-A|0;do if(A>>>0>11|(B|0)==0)l=We;else{l=8;do B=B+-1|0,l=l*16;while(B|0);if((s[ae>>0]|0)==45){l=-(l+(-We-l));break}else{l=We+l-l;break}}while(!1);k=n[tt>>2]|0,B=(k|0)<0?0-k|0:k,B=Xy(B,((B|0)<0)<<31>>31,Tr)|0,(B|0)==(Tr|0)&&(B=_+11|0,s[B>>0]=48),s[B+-1>>0]=(k>>31&2)+43,M=B+-2|0,s[M>>0]=m+15,_=(A|0)<1,T=(d&8|0)==0,B=cr;do $t=~~l,k=B+1|0,s[B>>0]=c[5694+$t>>0]|Le,l=(l-+($t|0))*16,(k-Hr|0)==1&&!(T&(_&l==0))?(s[k>>0]=46,B=B+2|0):B=k;while(l!=0);$t=B-Hr|0,Hr=Tr-M|0,Tr=(A|0)!=0&($t+-2|0)<(A|0)?A+2|0:$t,B=Hr+G+Tr|0,Ms(o,32,u,B,d),Ss(o,ae,G),Ms(o,48,u,B,d^65536),Ss(o,cr,$t),Ms(o,48,Tr-$t|0,0,0),Ss(o,M,Hr),Ms(o,32,u,B,d^8192);break}k=(A|0)<0?6:A,B?(B=(n[tt>>2]|0)+-28|0,n[tt>>2]=B,l=We*268435456):(l=We,B=n[tt>>2]|0),$t=(B|0)<0?T:T+288|0,T=$t;do Ge=~~l>>>0,n[T>>2]=Ge,T=T+4|0,l=(l-+(Ge>>>0))*1e9;while(l!=0);if((B|0)>0)for(_=$t,G=T;;){if(M=(B|0)<29?B:29,B=G+-4|0,B>>>0>=_>>>0){T=0;do He=p$(n[B>>2]|0,0,M|0)|0,He=I_(He|0,Ee|0,T|0,0)|0,Ge=Ee,Ze=w_(He|0,Ge|0,1e9,0)|0,n[B>>2]=Ze,T=C_(He|0,Ge|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=_>>>0);T&&(_=_+-4|0,n[_>>2]=T)}for(T=G;!(T>>>0<=_>>>0);)if(B=T+-4|0,!(n[B>>2]|0))T=B;else break;if(B=(n[tt>>2]|0)-M|0,n[tt>>2]=B,(B|0)>0)G=T;else break}else _=$t;if((B|0)<0){A=((k+25|0)/9|0)+1|0,Qe=(ct|0)==102;do{if(Le=0-B|0,Le=(Le|0)<9?Le:9,_>>>0>>0){M=(1<>>Le,ae=0,B=_;do Ge=n[B>>2]|0,n[B>>2]=(Ge>>>Le)+ae,ae=_e(Ge&M,G)|0,B=B+4|0;while(B>>>0>>0);B=n[_>>2]|0?_:_+4|0,ae?(n[T>>2]=ae,_=B,B=T+4|0):(_=B,B=T)}else _=n[_>>2]|0?_:_+4|0,B=T;T=Qe?$t:_,T=(B-T>>2|0)>(A|0)?T+(A<<2)|0:B,B=(n[tt>>2]|0)+Le|0,n[tt>>2]=B}while((B|0)<0);B=_,A=T}else B=_,A=T;if(Ge=$t,B>>>0>>0){if(T=(Ge-B>>2)*9|0,M=n[B>>2]|0,M>>>0>=10){_=10;do _=_*10|0,T=T+1|0;while(M>>>0>=_>>>0)}}else T=0;if(Qe=(ct|0)==103,Ze=(k|0)!=0,_=k-((ct|0)!=102?T:0)+((Ze&Qe)<<31>>31)|0,(_|0)<(((A-Ge>>2)*9|0)+-9|0)){if(_=_+9216|0,Le=$t+4+(((_|0)/9|0)+-1024<<2)|0,_=((_|0)%9|0)+1|0,(_|0)<9){M=10;do M=M*10|0,_=_+1|0;while((_|0)!=9)}else M=10;if(G=n[Le>>2]|0,ae=(G>>>0)%(M>>>0)|0,_=(Le+4|0)==(A|0),_&(ae|0)==0)_=Le;else if(We=((G>>>0)/(M>>>0)|0)&1|0?9007199254740994:9007199254740992,He=(M|0)/2|0,l=ae>>>0>>0?.5:_&(ae|0)==(He|0)?1:1.5,fr&&(He=(s[qr>>0]|0)==45,l=He?-l:l,We=He?-We:We),_=G-ae|0,n[Le>>2]=_,We+l!=We){if(He=_+M|0,n[Le>>2]=He,He>>>0>999999999)for(T=Le;_=T+-4|0,n[T>>2]=0,_>>>0>>0&&(B=B+-4|0,n[B>>2]=0),He=(n[_>>2]|0)+1|0,n[_>>2]=He,He>>>0>999999999;)T=_;else _=Le;if(T=(Ge-B>>2)*9|0,G=n[B>>2]|0,G>>>0>=10){M=10;do M=M*10|0,T=T+1|0;while(G>>>0>=M>>>0)}}else _=Le;_=_+4|0,_=A>>>0>_>>>0?_:A,He=B}else _=A,He=B;for(ct=_;;){if(ct>>>0<=He>>>0){tt=0;break}if(B=ct+-4|0,!(n[B>>2]|0))ct=B;else{tt=1;break}}A=0-T|0;do if(Qe)if(B=((Ze^1)&1)+k|0,(B|0)>(T|0)&(T|0)>-5?(M=m+-1|0,k=B+-1-T|0):(M=m+-2|0,k=B+-1|0),B=d&8,B)Le=B;else{if(tt&&(Lt=n[ct+-4>>2]|0,(Lt|0)!=0))if((Lt>>>0)%10|0)_=0;else{_=0,B=10;do B=B*10|0,_=_+1|0;while(!((Lt>>>0)%(B>>>0)|0|0))}else _=9;if(B=((ct-Ge>>2)*9|0)+-9|0,(M|32|0)==102){Le=B-_|0,Le=(Le|0)>0?Le:0,k=(k|0)<(Le|0)?k:Le,Le=0;break}else{Le=B+T-_|0,Le=(Le|0)>0?Le:0,k=(k|0)<(Le|0)?k:Le,Le=0;break}}else M=m,Le=d&8;while(!1);if(Qe=k|Le,G=(Qe|0)!=0&1,ae=(M|32|0)==102,ae)Ze=0,B=(T|0)>0?T:0;else{if(B=(T|0)<0?A:T,B=Xy(B,((B|0)<0)<<31>>31,Tr)|0,_=Tr,(_-B|0)<2)do B=B+-1|0,s[B>>0]=48;while((_-B|0)<2);s[B+-1>>0]=(T>>31&2)+43,B=B+-2|0,s[B>>0]=M,Ze=B,B=_-B|0}if(B=fr+1+k+G+B|0,Ms(o,32,u,B,d),Ss(o,qr,fr),Ms(o,48,u,B,d^65536),ae){M=He>>>0>$t>>>0?$t:He,Le=cr+9|0,G=Le,ae=cr+8|0,_=M;do{if(T=Xy(n[_>>2]|0,0,Le)|0,(_|0)==(M|0))(T|0)==(Le|0)&&(s[ae>>0]=48,T=ae);else if(T>>>0>cr>>>0){eE(cr|0,48,T-Hr|0)|0;do T=T+-1|0;while(T>>>0>cr>>>0)}Ss(o,T,G-T|0),_=_+4|0}while(_>>>0<=$t>>>0);if(Qe|0&&Ss(o,5710,1),_>>>0>>0&(k|0)>0)for(;;){if(T=Xy(n[_>>2]|0,0,Le)|0,T>>>0>cr>>>0){eE(cr|0,48,T-Hr|0)|0;do T=T+-1|0;while(T>>>0>cr>>>0)}if(Ss(o,T,(k|0)<9?k:9),_=_+4|0,T=k+-9|0,_>>>0>>0&(k|0)>9)k=T;else{k=T;break}}Ms(o,48,k+9|0,9,0)}else{if(Qe=tt?ct:He+4|0,(k|0)>-1){tt=cr+9|0,Le=(Le|0)==0,A=tt,G=0-Hr|0,ae=cr+8|0,M=He;do{T=Xy(n[M>>2]|0,0,tt)|0,(T|0)==(tt|0)&&(s[ae>>0]=48,T=ae);do if((M|0)==(He|0)){if(_=T+1|0,Ss(o,T,1),Le&(k|0)<1){T=_;break}Ss(o,5710,1),T=_}else{if(T>>>0<=cr>>>0)break;eE(cr|0,48,T+G|0)|0;do T=T+-1|0;while(T>>>0>cr>>>0)}while(!1);Hr=A-T|0,Ss(o,T,(k|0)>(Hr|0)?Hr:k),k=k-Hr|0,M=M+4|0}while(M>>>0>>0&(k|0)>-1)}Ms(o,48,k+18|0,18,0),Ss(o,Ze,Tr-Ze|0)}Ms(o,32,u,B,d^8192)}else cr=(m&32|0)!=0,B=fr+3|0,Ms(o,32,u,B,d&-65537),Ss(o,qr,fr),Ss(o,l!=l|!1?cr?5686:5690:cr?5678:5682,3),Ms(o,32,u,B,d^8192);while(!1);return I=Hn,((B|0)<(u|0)?u:B)|0}function a$(o){o=+o;var l=0;return E[S>>3]=o,l=n[S>>2]|0,Ee=n[S+4>>2]|0,l|0}function ZYe(o,l){return o=+o,l=l|0,+ +l$(o,l)}function l$(o,l){o=+o,l=l|0;var u=0,A=0,d=0;switch(E[S>>3]=o,u=n[S>>2]|0,A=n[S+4>>2]|0,d=ix(u|0,A|0,52)|0,d&2047){case 0:{o!=0?(o=+l$(o*18446744073709552e3,l),u=(n[l>>2]|0)+-64|0):u=0,n[l>>2]=u;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[S>>2]=u,n[S+4>>2]=A&-2146435073|1071644672,o=+E[S>>3]}return+o}function XYe(o,l,u){o=o|0,l=l|0,u=u|0;do if(o){if(l>>>0<128){s[o>>0]=l,o=1;break}if(!(n[n[($Ye()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){s[o>>0]=l,o=1;break}else{n[(Zy()|0)>>2]=84,o=-1;break}if(l>>>0<2048){s[o>>0]=l>>>6|192,s[o+1>>0]=l&63|128,o=2;break}if(l>>>0<55296|(l&-8192|0)==57344){s[o>>0]=l>>>12|224,s[o+1>>0]=l>>>6&63|128,s[o+2>>0]=l&63|128,o=3;break}if((l+-65536|0)>>>0<1048576){s[o>>0]=l>>>18|240,s[o+1>>0]=l>>>12&63|128,s[o+2>>0]=l>>>6&63|128,s[o+3>>0]=l&63|128,o=4;break}else{n[(Zy()|0)>>2]=84,o=-1;break}}else o=1;while(!1);return o|0}function $Ye(){return m_()|0}function eVe(){return m_()|0}function tVe(o,l){o=o|0,l=l|0;var u=0,A=0;for(A=0;;){if((c[5712+A>>0]|0)==(o|0)){o=2;break}if(u=A+1|0,(u|0)==87){u=5800,A=87,o=5;break}else A=u}if((o|0)==2&&(A?(u=5800,o=5):u=5800),(o|0)==5)for(;;){do o=u,u=u+1|0;while(s[o>>0]|0);if(A=A+-1|0,A)o=5;else break}return rVe(u,n[l+20>>2]|0)|0}function rVe(o,l){return o=o|0,l=l|0,nVe(o,l)|0}function nVe(o,l){return o=o|0,l=l|0,l?l=iVe(n[l>>2]|0,n[l+4>>2]|0,o)|0:l=0,(l|0?l:o)|0}function iVe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0;ae=(n[o>>2]|0)+1794895138|0,m=pd(n[o+8>>2]|0,ae)|0,A=pd(n[o+12>>2]|0,ae)|0,d=pd(n[o+16>>2]|0,ae)|0;e:do if(m>>>0>>2>>>0&&(G=l-(m<<2)|0,A>>>0>>0&d>>>0>>0)&&!((d|A)&3|0)){for(G=A>>>2,M=d>>>2,_=0;;){if(k=m>>>1,T=_+k|0,B=T<<1,d=B+G|0,A=pd(n[o+(d<<2)>>2]|0,ae)|0,d=pd(n[o+(d+1<<2)>>2]|0,ae)|0,!(d>>>0>>0&A>>>0<(l-d|0)>>>0)){A=0;break e}if(s[o+(d+A)>>0]|0){A=0;break e}if(A=r$(u,o+d|0)|0,!A)break;if(A=(A|0)<0,(m|0)==1){A=0;break e}else _=A?_:T,m=A?k:m-k|0}A=B+M|0,d=pd(n[o+(A<<2)>>2]|0,ae)|0,A=pd(n[o+(A+1<<2)>>2]|0,ae)|0,A>>>0>>0&d>>>0<(l-A|0)>>>0?A=s[o+(A+d)>>0]|0?0:o+A|0:A=0}else A=0;while(!1);return A|0}function pd(o,l){o=o|0,l=l|0;var u=0;return u=d$(o|0)|0,(l|0?u:o)|0}function sVe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=u+16|0,d=n[A>>2]|0,d?m=5:oVe(u)|0?A=0:(d=n[A>>2]|0,m=5);e:do if((m|0)==5){if(k=u+20|0,B=n[k>>2]|0,A=B,(d-B|0)>>>0>>0){A=ox[n[u+36>>2]&7](u,o,l)|0;break}t:do if((s[u+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=o;break t}if(d=B+-1|0,(s[o+d>>0]|0)==10)break;B=d}if(A=ox[n[u+36>>2]&7](u,o,B)|0,A>>>0>>0)break e;m=B,d=o+B|0,l=l-B|0,A=n[k>>2]|0}else m=0,d=o;while(!1);Qr(A|0,d|0,l|0)|0,n[k>>2]=(n[k>>2]|0)+l,A=m+l|0}while(!1);return A|0}function oVe(o){o=o|0;var l=0,u=0;return l=o+74|0,u=s[l>>0]|0,s[l>>0]=u+255|u,l=n[o>>2]|0,l&8?(n[o>>2]=l|32,o=-1):(n[o+8>>2]=0,n[o+4>>2]=0,u=n[o+44>>2]|0,n[o+28>>2]=u,n[o+20>>2]=u,n[o+16>>2]=u+(n[o+48>>2]|0),o=0),o|0}function $n(o,l){o=y(o),l=y(l);var u=0,A=0;u=c$(o)|0;do if((u&2147483647)>>>0<=2139095040){if(A=c$(l)|0,(A&2147483647)>>>0<=2139095040)if((A^u|0)<0){o=(u|0)<0?l:o;break}else{o=o>2]=o,n[S>>2]|0|0}function hd(o,l){o=y(o),l=y(l);var u=0,A=0;u=u$(o)|0;do if((u&2147483647)>>>0<=2139095040){if(A=u$(l)|0,(A&2147483647)>>>0<=2139095040)if((A^u|0)<0){o=(u|0)<0?o:l;break}else{o=o>2]=o,n[S>>2]|0|0}function E_(o,l){o=y(o),l=y(l);var u=0,A=0,d=0,m=0,B=0,k=0,T=0,_=0;m=(h[S>>2]=o,n[S>>2]|0),k=(h[S>>2]=l,n[S>>2]|0),u=m>>>23&255,B=k>>>23&255,T=m&-2147483648,d=k<<1;e:do if(d|0&&!((u|0)==255|((aVe(l)|0)&2147483647)>>>0>2139095040)){if(A=m<<1,A>>>0<=d>>>0)return l=y(o*y(0)),y((A|0)==(d|0)?l:o);if(u)A=m&8388607|8388608;else{if(u=m<<9,(u|0)>-1){A=u,u=0;do u=u+-1|0,A=A<<1;while((A|0)>-1)}else u=0;A=m<<1-u}if(B)k=k&8388607|8388608;else{if(m=k<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,k=k<<1-d}d=A-k|0,m=(d|0)>-1;t:do if((u|0)>(B|0)){for(;;){if(m)if(d)A=d;else break;if(A=A<<1,u=u+-1|0,d=A-k|0,m=(d|0)>-1,(u|0)<=(B|0))break t}l=y(o*y(0));break e}while(!1);if(m)if(d)A=d;else{l=y(o*y(0));break}if(A>>>0<8388608)do A=A<<1,u=u+-1|0;while(A>>>0<8388608);(u|0)>0?u=A+-8388608|u<<23:u=A>>>(1-u|0),l=(n[S>>2]=u|T,y(h[S>>2]))}else _=3;while(!1);return(_|0)==3&&(l=y(o*l),l=y(l/l)),y(l)}function aVe(o){return o=y(o),h[S>>2]=o,n[S>>2]|0|0}function lVe(o,l){return o=o|0,l=l|0,n$(n[582]|0,o,l)|0}function sn(o){o=o|0,Nt()}function $y(o){o=o|0}function cVe(o,l){return o=o|0,l=l|0,0}function uVe(o){return o=o|0,(f$(o+4|0)|0)==-1?(op[n[(n[o>>2]|0)+8>>2]&127](o),o=1):o=0,o|0}function f$(o){o=o|0;var l=0;return l=n[o>>2]|0,n[o>>2]=l+-1,l+-1|0}function Yh(o){o=o|0,uVe(o)|0&&fVe(o)}function fVe(o){o=o|0;var l=0;l=o+8|0,n[l>>2]|0&&(f$(l)|0)!=-1||op[n[(n[o>>2]|0)+16>>2]&127](o)}function Jt(o){o=o|0;var l=0;for(l=o|0?o:1;o=ex(l)|0,!(o|0);){if(o=pVe()|0,!o){o=0;break}D$[o&0]()}return o|0}function A$(o){return o=o|0,Jt(o)|0}function yt(o){o=o|0,tx(o)}function AVe(o){o=o|0,(s[o+11>>0]|0)<0&&yt(n[o>>2]|0)}function pVe(){var o=0;return o=n[2923]|0,n[2923]=o+0,o|0}function hVe(){}function nx(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,A=l-A-(u>>>0>o>>>0|0)>>>0,Ee=A,o-u>>>0|0|0}function I_(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,u=o+u>>>0,Ee=l+A+(u>>>0>>0|0)>>>0,u|0|0}function eE(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;if(m=o+u|0,l=l&255,(u|0)>=67){for(;o&3;)s[o>>0]=l,o=o+1|0;for(A=m&-4|0,d=A-64|0,B=l|l<<8|l<<16|l<<24;(o|0)<=(d|0);)n[o>>2]=B,n[o+4>>2]=B,n[o+8>>2]=B,n[o+12>>2]=B,n[o+16>>2]=B,n[o+20>>2]=B,n[o+24>>2]=B,n[o+28>>2]=B,n[o+32>>2]=B,n[o+36>>2]=B,n[o+40>>2]=B,n[o+44>>2]=B,n[o+48>>2]=B,n[o+52>>2]=B,n[o+56>>2]=B,n[o+60>>2]=B,o=o+64|0;for(;(o|0)<(A|0);)n[o>>2]=B,o=o+4|0}for(;(o|0)<(m|0);)s[o>>0]=l,o=o+1|0;return m-u|0}function p$(o,l,u){return o=o|0,l=l|0,u=u|0,(u|0)<32?(Ee=l<>>32-u,o<>>u,o>>>u|(l&(1<>>u-32|0)}function Qr(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;if((u|0)>=8192)return MA(o|0,l|0,u|0)|0;if(m=o|0,d=o+u|0,(o&3)==(l&3)){for(;o&3;){if(!u)return m|0;s[o>>0]=s[l>>0]|0,o=o+1|0,l=l+1|0,u=u-1|0}for(u=d&-4|0,A=u-64|0;(o|0)<=(A|0);)n[o>>2]=n[l>>2],n[o+4>>2]=n[l+4>>2],n[o+8>>2]=n[l+8>>2],n[o+12>>2]=n[l+12>>2],n[o+16>>2]=n[l+16>>2],n[o+20>>2]=n[l+20>>2],n[o+24>>2]=n[l+24>>2],n[o+28>>2]=n[l+28>>2],n[o+32>>2]=n[l+32>>2],n[o+36>>2]=n[l+36>>2],n[o+40>>2]=n[l+40>>2],n[o+44>>2]=n[l+44>>2],n[o+48>>2]=n[l+48>>2],n[o+52>>2]=n[l+52>>2],n[o+56>>2]=n[l+56>>2],n[o+60>>2]=n[l+60>>2],o=o+64|0,l=l+64|0;for(;(o|0)<(u|0);)n[o>>2]=n[l>>2],o=o+4|0,l=l+4|0}else for(u=d-4|0;(o|0)<(u|0);)s[o>>0]=s[l>>0]|0,s[o+1>>0]=s[l+1>>0]|0,s[o+2>>0]=s[l+2>>0]|0,s[o+3>>0]=s[l+3>>0]|0,o=o+4|0,l=l+4|0;for(;(o|0)<(d|0);)s[o>>0]=s[l>>0]|0,o=o+1|0,l=l+1|0;return m|0}function h$(o){o=o|0;var l=0;return l=s[N+(o&255)>>0]|0,(l|0)<8?l|0:(l=s[N+(o>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=s[N+(o>>16&255)>>0]|0,(l|0)<8?l+16|0:(s[N+(o>>>24)>>0]|0)+24|0))}function g$(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,T=0,_=0,M=0,G=0,ae=0,We=0,Le=0;if(M=o,T=l,_=T,B=u,ae=A,k=ae,!_)return m=(d|0)!=0,k?m?(n[d>>2]=o|0,n[d+4>>2]=l&0,ae=0,d=0,Ee=ae,d|0):(ae=0,d=0,Ee=ae,d|0):(m&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),ae=0,d=(M>>>0)/(B>>>0)>>>0,Ee=ae,d|0);m=(k|0)==0;do if(B){if(!m){if(m=(b(k|0)|0)-(b(_|0)|0)|0,m>>>0<=31){G=m+1|0,k=31-m|0,l=m-31>>31,B=G,o=M>>>(G>>>0)&l|_<>>(G>>>0)&l,m=0,k=M<>2]=o|0,n[d+4>>2]=T|l&0,ae=0,d=0,Ee=ae,d|0):(ae=0,d=0,Ee=ae,d|0)}if(m=B-1|0,m&B|0){k=(b(B|0)|0)+33-(b(_|0)|0)|0,Le=64-k|0,G=32-k|0,T=G>>31,We=k-32|0,l=We>>31,B=k,o=G-1>>31&_>>>(We>>>0)|(_<>>(k>>>0))&l,l=l&_>>>(k>>>0),m=M<>>(We>>>0))&T|M<>31;break}return d|0&&(n[d>>2]=m&M,n[d+4>>2]=0),(B|0)==1?(We=T|l&0,Le=o|0|0,Ee=We,Le|0):(Le=h$(B|0)|0,We=_>>>(Le>>>0)|0,Le=_<<32-Le|M>>>(Le>>>0)|0,Ee=We,Le|0)}else{if(m)return d|0&&(n[d>>2]=(_>>>0)%(B>>>0),n[d+4>>2]=0),We=0,Le=(_>>>0)/(B>>>0)>>>0,Ee=We,Le|0;if(!M)return d|0&&(n[d>>2]=0,n[d+4>>2]=(_>>>0)%(k>>>0)),We=0,Le=(_>>>0)/(k>>>0)>>>0,Ee=We,Le|0;if(m=k-1|0,!(m&k))return d|0&&(n[d>>2]=o|0,n[d+4>>2]=m&_|l&0),We=0,Le=_>>>((h$(k|0)|0)>>>0),Ee=We,Le|0;if(m=(b(k|0)|0)-(b(_|0)|0)|0,m>>>0<=30){l=m+1|0,k=31-m|0,B=l,o=_<>>(l>>>0),l=_>>>(l>>>0),m=0,k=M<>2]=o|0,n[d+4>>2]=T|l&0,We=0,Le=0,Ee=We,Le|0):(We=0,Le=0,Ee=We,Le|0)}while(!1);if(!B)_=k,T=0,k=0;else{G=u|0|0,M=ae|A&0,_=I_(G|0,M|0,-1,-1)|0,u=Ee,T=k,k=0;do A=T,T=m>>>31|T<<1,m=k|m<<1,A=o<<1|A>>>31|0,ae=o>>>31|l<<1|0,nx(_|0,u|0,A|0,ae|0)|0,Le=Ee,We=Le>>31|((Le|0)<0?-1:0)<<1,k=We&1,o=nx(A|0,ae|0,We&G|0,(((Le|0)<0?-1:0)>>31|((Le|0)<0?-1:0)<<1)&M|0)|0,l=Ee,B=B-1|0;while(B|0);_=T,T=0}return B=0,d|0&&(n[d>>2]=o,n[d+4>>2]=l),We=(m|0)>>>31|(_|B)<<1|(B<<1|m>>>31)&0|T,Le=(m<<1|0)&-2|k,Ee=We,Le|0}function C_(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,g$(o,l,u,A,0)|0}function Vh(o){o=o|0;var l=0,u=0;return u=o+15&-16|0,l=n[C>>2]|0,o=l+u|0,(u|0)>0&(o|0)<(l|0)|(o|0)<0?(oe()|0,pu(12),-1):(n[C>>2]=o,(o|0)>($()|0)&&!(Z()|0)?(n[C>>2]=l,pu(12),-1):l|0)}function F2(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;if((l|0)<(o|0)&(o|0)<(l+u|0)){for(A=o,l=l+u|0,o=o+u|0;(u|0)>0;)o=o-1|0,l=l-1|0,u=u-1|0,s[o>>0]=s[l>>0]|0;o=A}else Qr(o,l,u)|0;return o|0}function w_(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;return m=I,I=I+16|0,d=m|0,g$(o,l,u,A,d)|0,I=m,Ee=n[d+4>>2]|0,n[d>>2]|0|0}function d$(o){return o=o|0,(o&255)<<24|(o>>8&255)<<16|(o>>16&255)<<8|o>>>24|0}function gVe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,m$[o&1](l|0,u|0,A|0,d|0,m|0)}function dVe(o,l,u){o=o|0,l=l|0,u=y(u),y$[o&1](l|0,y(u))}function mVe(o,l,u){o=o|0,l=l|0,u=+u,E$[o&31](l|0,+u)}function yVe(o,l,u,A){return o=o|0,l=l|0,u=y(u),A=y(A),y(I$[o&0](l|0,y(u),y(A)))}function EVe(o,l){o=o|0,l=l|0,op[o&127](l|0)}function IVe(o,l,u){o=o|0,l=l|0,u=u|0,ap[o&31](l|0,u|0)}function CVe(o,l){return o=o|0,l=l|0,dd[o&31](l|0)|0}function wVe(o,l,u,A,d){o=o|0,l=l|0,u=+u,A=+A,d=d|0,C$[o&1](l|0,+u,+A,d|0)}function BVe(o,l,u,A){o=o|0,l=l|0,u=+u,A=+A,n7e[o&1](l|0,+u,+A)}function vVe(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,ox[o&7](l|0,u|0,A|0)|0}function SVe(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,+i7e[o&1](l|0,u|0,A|0)}function DVe(o,l){return o=o|0,l=l|0,+w$[o&15](l|0)}function bVe(o,l,u){return o=o|0,l=l|0,u=+u,s7e[o&1](l|0,+u)|0}function PVe(o,l,u){return o=o|0,l=l|0,u=u|0,v_[o&15](l|0,u|0)|0}function xVe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=+A,d=+d,m=m|0,o7e[o&1](l|0,u|0,+A,+d,m|0)}function kVe(o,l,u,A,d,m,B){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,B=B|0,a7e[o&1](l|0,u|0,A|0,d|0,m|0,B|0)}function QVe(o,l,u){return o=o|0,l=l|0,u=u|0,+B$[o&7](l|0,u|0)}function TVe(o){return o=o|0,ax[o&7]()|0}function RVe(o,l,u,A,d,m){return o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,v$[o&1](l|0,u|0,A|0,d|0,m|0)|0}function FVe(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=+d,l7e[o&1](l|0,u|0,A|0,+d)}function NVe(o,l,u,A,d,m,B){o=o|0,l=l|0,u=u|0,A=y(A),d=d|0,m=y(m),B=B|0,S$[o&1](l|0,u|0,y(A),d|0,y(m),B|0)}function OVe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,L2[o&15](l|0,u|0,A|0)}function LVe(o){o=o|0,D$[o&0]()}function MVe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=+A,b$[o&15](l|0,u|0,+A)}function _Ve(o,l,u){return o=o|0,l=+l,u=+u,c7e[o&1](+l,+u)|0}function UVe(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,S_[o&15](l|0,u|0,A|0,d|0)}function HVe(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,F(0)}function jVe(o,l){o=o|0,l=y(l),F(1)}function Xa(o,l){o=o|0,l=+l,F(2)}function qVe(o,l,u){return o=o|0,l=y(l),u=y(u),F(3),Xe}function wr(o){o=o|0,F(4)}function N2(o,l){o=o|0,l=l|0,F(5)}function Ll(o){return o=o|0,F(6),0}function GVe(o,l,u,A){o=o|0,l=+l,u=+u,A=A|0,F(7)}function WVe(o,l,u){o=o|0,l=+l,u=+u,F(8)}function YVe(o,l,u){return o=o|0,l=l|0,u=u|0,F(9),0}function VVe(o,l,u){return o=o|0,l=l|0,u=u|0,F(10),0}function gd(o){return o=o|0,F(11),0}function KVe(o,l){return o=o|0,l=+l,F(12),0}function O2(o,l){return o=o|0,l=l|0,F(13),0}function JVe(o,l,u,A,d){o=o|0,l=l|0,u=+u,A=+A,d=d|0,F(14)}function zVe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,F(15)}function B_(o,l){return o=o|0,l=l|0,F(16),0}function ZVe(){return F(17),0}function XVe(o,l,u,A,d){return o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,F(18),0}function $Ve(o,l,u,A){o=o|0,l=l|0,u=u|0,A=+A,F(19)}function e7e(o,l,u,A,d,m){o=o|0,l=l|0,u=y(u),A=A|0,d=y(d),m=m|0,F(20)}function sx(o,l,u){o=o|0,l=l|0,u=u|0,F(21)}function t7e(){F(22)}function tE(o,l,u){o=o|0,l=l|0,u=+u,F(23)}function r7e(o,l){return o=+o,l=+l,F(24),0}function rE(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,F(25)}var m$=[HVe,XGe],y$=[jVe,Ty],E$=[Xa,$g,Lh,m2,y2,E2,I2,Pf,Uy,C2,xf,ed,td,w2,B2,vu,rd,v2,Hy,Xa,Xa,Xa,Xa,Xa,Xa,Xa,Xa,Xa,Xa,Xa,Xa,Xa],I$=[qVe],op=[wr,$y,TLe,RLe,FLe,c4e,u4e,f4e,bqe,Pqe,xqe,_Ge,UGe,HGe,aYe,lYe,cYe,vl,Xg,p2,sr,gc,qP,GP,wLe,jLe,eMe,yMe,FMe,ZMe,h_e,x_e,G_e,oUe,wUe,MUe,e4e,P4e,G4e,o3e,w3e,M3e,e8e,E8e,F8e,K8e,uHe,kP,HHe,nje,wje,Uje,t6e,w6e,T6e,N6e,X6e,tqe,yqe,Qqe,Fqe,Zqe,gGe,nZ,z5e,b9e,j9e,nWe,SWe,UWe,ZWe,eYe,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr],ap=[N2,Ly,nM,h2,g2,xr,oo,Zi,Os,Bs,_y,Oh,D2,NP,sd,oM,aM,OP,LP,uM,kf,ne,B8e,L8e,Gje,$5e,BGe,HX,N2,N2,N2,N2],dd=[Ll,MYe,Ny,id,qy,da,QP,Mh,S2,sM,RP,Gy,MP,fM,Vy,pHe,s6e,eGe,n9e,Fl,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll],C$=[GVe,dM],n7e=[WVe,Cqe],ox=[YVe,t$,_Ye,jYe,t_e,T4e,WHe,aWe],i7e=[VVe,DUe],w$=[gd,_h,FP,tp,mM,v,D,Q,H,V,gd,gd,gd,gd,gd,gd],s7e=[KVe,x6e],v_=[O2,cVe,_P,DLe,wMe,m_e,T_e,i4e,K4e,X8e,Ry,Y9e,O2,O2,O2,O2],o7e=[JVe,iMe],a7e=[zVe,xWe],B$=[B_,lM,Se,Ue,At,jUe,B_,B_],ax=[ZVe,Gt,Fy,xP,_6e,sqe,Mqe,iYe],v$=[XVe,Sy],l7e=[$Ve,D3e],S$=[e7e,AM],L2=[sx,To,TP,cM,Du,MMe,V_e,j3e,i8e,rM,C5e,Q9e,GWe,sx,sx,sx],D$=[t7e],b$=[tE,iM,My,ep,d2,Su,jy,nd,u3e,aje,S6e,tE,tE,tE,tE,tE],c7e=[r7e,Sqe],S_=[rE,uUe,CHe,Dje,h6e,W6e,fqe,Wqe,IGe,c9e,gYe,rE,rE,rE,rE,rE];return{_llvm_bswap_i32:d$,dynCall_idd:_Ve,dynCall_i:TVe,_i64Subtract:nx,___udivdi3:C_,dynCall_vif:dVe,setThrew:ua,dynCall_viii:OVe,_bitshift64Lshr:ix,_bitshift64Shl:p$,dynCall_vi:EVe,dynCall_viiddi:xVe,dynCall_diii:SVe,dynCall_iii:PVe,_memset:eE,_sbrk:Vh,_memcpy:Qr,__GLOBAL__sub_I_Yoga_cpp:u2,dynCall_vii:IVe,___uremdi3:w_,dynCall_vid:mVe,stackAlloc:Ha,_nbind_init:DYe,getTempRet0:UA,dynCall_di:DVe,dynCall_iid:bVe,setTempRet0:_A,_i64Add:I_,dynCall_fiff:yVe,dynCall_iiii:vVe,_emscripten_get_global_libc:LYe,dynCall_viid:MVe,dynCall_viiid:FVe,dynCall_viififi:NVe,dynCall_ii:CVe,__GLOBAL__sub_I_Binding_cc:j5e,dynCall_viiii:UVe,dynCall_iiiiii:RVe,stackSave:gf,dynCall_viiiii:gVe,__GLOBAL__sub_I_nbind_cc:vr,dynCall_vidd:BVe,_free:tx,runPostSets:hVe,dynCall_viiiiii:kVe,establishStackSpace:wn,_memmove:F2,stackRestore:cc,_malloc:ex,__GLOBAL__sub_I_common_cc:lGe,dynCall_viddi:wVe,dynCall_dii:QVe,dynCall_v:LVe}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function s(){for(var p=0;p<3;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];s();for(var n=0;n0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(s){r=s(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var Nm=L((Khr,KDe)=>{"use strict";var $Pt=YDe(),ext=VDe(),PW=!1,xW=null;ext({},function(t,e){if(!PW){if(PW=!0,t)throw t;xW=e}});if(!PW)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");KDe.exports=$Pt(xW.bind,xW.lib)});var QW=L((Jhr,kW)=>{"use strict";var JDe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);kW.exports=JDe;kW.exports.default=JDe});var ZDe=L((zhr,zDe)=>{"use strict";zDe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var iD=L((Zhr,TW)=>{"use strict";var txt=bk(),rxt=QW(),nxt=ZDe(),XDe=t=>{if(typeof t!="string"||t.length===0||(t=txt(t),t.length===0))return 0;t=t.replace(nxt()," ");let e=0;for(let r=0;r=127&&s<=159||s>=768&&s<=879||(s>65535&&r++,e+=rxt(s)?2:1)}return e};TW.exports=XDe;TW.exports.default=XDe});var FW=L((Xhr,RW)=>{"use strict";var ixt=iD(),$De=t=>{let e=0;for(let r of t.split(` +`))e=Math.max(e,ixt(r));return e};RW.exports=$De;RW.exports.default=$De});var ebe=L(sD=>{"use strict";var sxt=sD&&sD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(sD,"__esModule",{value:!0});var oxt=sxt(FW()),NW={};sD.default=t=>{if(t.length===0)return{width:0,height:0};if(NW[t])return NW[t];let e=oxt.default(t),r=t.split(` +`).length;return NW[t]={width:e,height:r},{width:e,height:r}}});var tbe=L(oD=>{"use strict";var axt=oD&&oD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(oD,"__esModule",{value:!0});var bn=axt(Nm()),lxt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?bn.default.POSITION_TYPE_ABSOLUTE:bn.default.POSITION_TYPE_RELATIVE)},cxt=(t,e)=>{"marginLeft"in e&&t.setMargin(bn.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(bn.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(bn.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(bn.default.EDGE_BOTTOM,e.marginBottom||0)},uxt=(t,e)=>{"paddingLeft"in e&&t.setPadding(bn.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(bn.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(bn.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(bn.default.EDGE_BOTTOM,e.paddingBottom||0)},fxt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(bn.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(bn.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(bn.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(bn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(bn.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(bn.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(bn.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(bn.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(bn.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(bn.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(bn.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(bn.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(bn.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(bn.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(bn.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(bn.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(bn.default.JUSTIFY_SPACE_AROUND))},Axt=(t,e)=>{var r,s;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((s=e.minHeight)!==null&&s!==void 0?s:0))},pxt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?bn.default.DISPLAY_FLEX:bn.default.DISPLAY_NONE)},hxt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(bn.default.EDGE_TOP,r),t.setBorder(bn.default.EDGE_BOTTOM,r),t.setBorder(bn.default.EDGE_LEFT,r),t.setBorder(bn.default.EDGE_RIGHT,r)}};oD.default=(t,e={})=>{lxt(t,e),cxt(t,e),uxt(t,e),fxt(t,e),Axt(t,e),pxt(t,e),hxt(t,e)}});var ibe=L((t0r,nbe)=>{"use strict";var aD=iD(),gxt=bk(),dxt=IB(),LW=new Set(["\x1B","\x9B"]),mxt=39,rbe=t=>`${LW.values().next().value}[${t}m`,yxt=t=>t.split(" ").map(e=>aD(e)),OW=(t,e,r)=>{let s=[...e],a=!1,n=aD(gxt(t[t.length-1]));for(let[c,f]of s.entries()){let p=aD(f);if(n+p<=r?t[t.length-1]+=f:(t.push(f),n=0),LW.has(f))a=!0;else if(a&&f==="m"){a=!1;continue}a||(n+=p,n===r&&c0&&t.length>1&&(t[t.length-2]+=t.pop())},Ext=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(aD(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},Ixt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let s="",a="",n,c=yxt(t),f=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(f[f.length-1]=f[f.length-1].trimLeft());let E=aD(f[f.length-1]);if(p!==0&&(E>=e&&(r.wordWrap===!1||r.trim===!1)&&(f.push(""),E=0),(E>0||r.trim===!1)&&(f[f.length-1]+=" ",E++)),r.hard&&c[p]>e){let C=e-E,S=1+Math.floor((c[p]-C-1)/e);Math.floor((c[p]-1)/e)e&&E>0&&c[p]>0){if(r.wordWrap===!1&&Ee&&r.wordWrap===!1){OW(f,h,e);continue}f[f.length-1]+=h}r.trim!==!1&&(f=f.map(Ext)),s=f.join(` +`);for(let[p,h]of[...s].entries()){if(a+=h,LW.has(h)){let C=parseFloat(/\d[^m]*/.exec(s.slice(p,p+4)));n=C===mxt?null:C}let E=dxt.codes.get(Number(n));n&&E&&(s[p+1]===` +`?a+=rbe(E):h===` +`&&(a+=rbe(n)))}return a};nbe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,` +`).split(` +`).map(s=>Ixt(s,e,r)).join(` +`)});var abe=L((r0r,obe)=>{"use strict";var sbe="[\uD800-\uDBFF][\uDC00-\uDFFF]",Cxt=t=>t&&t.exact?new RegExp(`^${sbe}$`):new RegExp(sbe,"g");obe.exports=Cxt});var MW=L((n0r,fbe)=>{"use strict";var wxt=QW(),Bxt=abe(),lbe=IB(),ube=["\x1B","\x9B"],MF=t=>`${ube[0]}[${t}m`,cbe=(t,e,r)=>{let s=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let c=lbe.codes.get(parseInt(a,10));if(c){let f=t.indexOf(c.toString());f>=0?t.splice(f,1):s.push(MF(e?c:n))}else if(e){s.push(MF(0));break}else s.push(MF(n))}if(e&&(s=s.filter((a,n)=>s.indexOf(a)===n),r!==void 0)){let a=MF(lbe.codes.get(parseInt(r,10)));s=s.reduce((n,c)=>c===a?[c,...n]:[...n,c],[])}return s.join("")};fbe.exports=(t,e,r)=>{let s=[...t.normalize()],a=[];r=typeof r=="number"?r:s.length;let n=!1,c,f=0,p="";for(let[h,E]of s.entries()){let C=!1;if(ube.includes(E)){let S=/\d[^m]*/.exec(t.slice(h,h+18));c=S&&S.length>0?S[0]:void 0,fe&&f<=r)p+=E;else if(f===e&&!n&&c!==void 0)p=cbe(a);else if(f>=r){p+=cbe(a,!0,c);break}}return p}});var pbe=L((i0r,Abe)=>{"use strict";var eg=MW(),vxt=iD();function _F(t,e,r){if(t.charAt(e)===" ")return e;for(let s=1;s<=3;s++)if(r){if(t.charAt(e+s)===" ")return e+s}else if(t.charAt(e-s)===" ")return e-s;return e}Abe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:s,space:a,preferTruncationOnSpace:n}=r,c="\u2026",f=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return c;let p=vxt(t);if(p<=e)return t;if(s==="start"){if(n){let h=_F(t,p-e+1,!0);return c+eg(t,h,p).trim()}return a===!0&&(c+=" ",f=2),c+eg(t,p-e+f,p)}if(s==="middle"){a===!0&&(c=" "+c+" ",f=3);let h=Math.floor(e/2);if(n){let E=_F(t,h),C=_F(t,p-(e-h)+1,!0);return eg(t,0,E)+c+eg(t,C,p).trim()}return eg(t,0,h)+c+eg(t,p-(e-h)+f,p)}if(s==="end"){if(n){let h=_F(t,e-1);return eg(t,0,h)+c}return a===!0&&(c=" "+c,f=2),eg(t,0,e-f)+c}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${s}`)}});var UW=L(lD=>{"use strict";var hbe=lD&&lD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(lD,"__esModule",{value:!0});var Sxt=hbe(ibe()),Dxt=hbe(pbe()),_W={};lD.default=(t,e,r)=>{let s=t+String(e)+String(r);if(_W[s])return _W[s];let a=t;if(r==="wrap"&&(a=Sxt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=Dxt.default(t,e,{position:n})}return _W[s]=a,a}});var jW=L(HW=>{"use strict";Object.defineProperty(HW,"__esModule",{value:!0});var gbe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let s="";r.nodeName==="#text"?s=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(s=gbe(r)),s.length>0&&typeof r.internal_transform=="function"&&(s=r.internal_transform(s))),e+=s}return e};HW.default=gbe});var qW=L(Pi=>{"use strict";var cD=Pi&&Pi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Pi,"__esModule",{value:!0});Pi.setTextNodeValue=Pi.createTextNode=Pi.setStyle=Pi.setAttribute=Pi.removeChildNode=Pi.insertBeforeNode=Pi.appendChildNode=Pi.createNode=Pi.TEXT_NAME=void 0;var bxt=cD(Nm()),dbe=cD(ebe()),Pxt=cD(tbe()),xxt=cD(UW()),kxt=cD(jW());Pi.TEXT_NAME="#text";Pi.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:bxt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(Qxt.bind(null,r))),r};Pi.appendChildNode=(t,e)=>{var r;e.parentNode&&Pi.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&UF(t)};Pi.insertBeforeNode=(t,e,r)=>{var s,a;e.parentNode&&Pi.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((s=t.yogaNode)===null||s===void 0||s.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&UF(t)};Pi.removeChildNode=(t,e)=>{var r,s;e.yogaNode&&((s=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||s===void 0||s.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&UF(t)};Pi.setAttribute=(t,e,r)=>{t.attributes[e]=r};Pi.setStyle=(t,e)=>{t.style=e,t.yogaNode&&Pxt.default(t.yogaNode,e)};Pi.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return Pi.setTextNodeValue(e,t),e};var Qxt=function(t,e){var r,s;let a=t.nodeName==="#text"?t.nodeValue:kxt.default(t),n=dbe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let c=(s=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&s!==void 0?s:"wrap",f=xxt.default(a,e,c);return dbe.default(f)},mbe=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:mbe(t.parentNode)},UF=t=>{let e=mbe(t);e?.markDirty()};Pi.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,UF(t)}});var wbe=L(uD=>{"use strict";var Cbe=uD&&uD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uD,"__esModule",{value:!0});var ybe=SW(),Txt=Cbe(UDe()),Ebe=Cbe(Nm()),ta=qW(),Ibe=t=>{t?.unsetMeasureFunc(),t?.freeRecursive()};uD.default=Txt.default({schedulePassiveEffects:ybe.unstable_scheduleCallback,cancelPassiveEffects:ybe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>null,preparePortalMount:()=>null,clearContainer:()=>!1,shouldDeprioritizeSubtree:()=>!1,resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,s=e==="ink-text"||e==="ink-virtual-text";return r===s?t:{isInsideText:s}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,s)=>{if(s.isInsideText&&t==="ink-box")throw new Error(" can\u2019t be nested inside component");let a=t==="ink-text"&&s.isInsideText?"ink-virtual-text":t,n=ta.createNode(a);for(let[c,f]of Object.entries(e))c!=="children"&&(c==="style"?ta.setStyle(n,f):c==="internal_transform"?n.internal_transform=f:c==="internal_static"?n.internal_static=!0:ta.setAttribute(n,c,f));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside component`);return ta.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{ta.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{ta.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(Ebe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(Ebe.default.DISPLAY_FLEX)},appendInitialChild:ta.appendChildNode,appendChild:ta.appendChildNode,insertBefore:ta.insertBeforeNode,finalizeInitialChildren:(t,e,r,s)=>(t.internal_static&&(s.isStaticDirty=!0,s.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:ta.appendChildNode,insertInContainerBefore:ta.insertBeforeNode,removeChildFromContainer:(t,e)=>{ta.removeChildNode(t,e),Ibe(e.yogaNode)},prepareUpdate:(t,e,r,s,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},c=Object.keys(s);for(let f of c)if(s[f]!==r[f]){if(f==="style"&&typeof s.style=="object"&&typeof r.style=="object"){let h=s.style,E=r.style,C=Object.keys(h);for(let S of C){if(S==="borderStyle"||S==="borderColor"){if(typeof n.style!="object"){let P={};n.style=P}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[S]!==E[S]){if(typeof n.style!="object"){let P={};n.style=P}n.style[S]=h[S]}}continue}n[f]=s[f]}return n},commitUpdate:(t,e)=>{for(let[r,s]of Object.entries(e))r!=="children"&&(r==="style"?ta.setStyle(t,s):r==="internal_transform"?t.internal_transform=s:r==="internal_static"?t.internal_static=!0:ta.setAttribute(t,r,s))},commitTextUpdate:(t,e,r)=>{ta.setTextNodeValue(t,r)},removeChild:(t,e)=>{ta.removeChildNode(t,e),Ibe(e.yogaNode)}})});var vbe=L((c0r,Bbe)=>{"use strict";Bbe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let s=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(s,r.indent.repeat(e))}});var Sbe=L(fD=>{"use strict";var Rxt=fD&&fD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fD,"__esModule",{value:!0});var HF=Rxt(Nm());fD.default=t=>t.getComputedWidth()-t.getComputedPadding(HF.default.EDGE_LEFT)-t.getComputedPadding(HF.default.EDGE_RIGHT)-t.getComputedBorder(HF.default.EDGE_LEFT)-t.getComputedBorder(HF.default.EDGE_RIGHT)});var Dbe=L((f0r,Fxt)=>{Fxt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var Pbe=L((A0r,GW)=>{"use strict";var bbe=Dbe();GW.exports=bbe;GW.exports.default=bbe});var kbe=L((p0r,xbe)=>{"use strict";var Nxt=(t,e,r)=>{let s=t.indexOf(e);if(s===-1)return t;let a=e.length,n=0,c="";do c+=t.substr(n,s-n)+e+r,n=s+a,s=t.indexOf(e,n);while(s!==-1);return c+=t.substr(n),c},Oxt=(t,e,r,s)=>{let a=0,n="";do{let c=t[s-1]==="\r";n+=t.substr(a,(c?s-1:s)-a)+e+(c?`\r +`:` +`)+r,a=s+1,s=t.indexOf(` +`,a)}while(s!==-1);return n+=t.substr(a),n};xbe.exports={stringReplaceAll:Nxt,stringEncaseCRLFWithFirstIndex:Oxt}});var Nbe=L((h0r,Fbe)=>{"use strict";var Lxt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Qbe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Mxt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,_xt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Uxt=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function Rbe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):Uxt.get(t)||t}function Hxt(t,e){let r=[],s=e.trim().split(/\s*,\s*/g),a;for(let n of s){let c=Number(n);if(!Number.isNaN(c))r.push(c);else if(a=n.match(Mxt))r.push(a[2].replace(_xt,(f,p,h)=>p?Rbe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function jxt(t){Qbe.lastIndex=0;let e=[],r;for(;(r=Qbe.exec(t))!==null;){let s=r[1];if(r[2]){let a=Hxt(s,r[2]);e.push([s].concat(a))}else e.push([s])}return e}function Tbe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let s=t;for(let[a,n]of Object.entries(r))if(Array.isArray(n)){if(!(a in s))throw new Error(`Unknown Chalk style: ${a}`);s=n.length>0?s[a](...n):s[a]}return s}Fbe.exports=(t,e)=>{let r=[],s=[],a=[];if(e.replace(Lxt,(n,c,f,p,h,E)=>{if(c)a.push(Rbe(c));else if(p){let C=a.join("");a=[],s.push(r.length===0?C:Tbe(t,r)(C)),r.push({inverse:f,styles:jxt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");s.push(Tbe(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),s.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return s.join("")}});var YF=L((g0r,Hbe)=>{"use strict";var AD=IB(),{stdout:YW,stderr:VW}=c4(),{stringReplaceAll:qxt,stringEncaseCRLFWithFirstIndex:Gxt}=kbe(),{isArray:jF}=Array,Lbe=["ansi","ansi","ansi256","ansi16m"],Iw=Object.create(null),Wxt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=YW?YW.level:0;t.level=e.level===void 0?r:e.level},KW=class{constructor(e){return Mbe(e)}},Mbe=t=>{let e={};return Wxt(e,t),e.template=(...r)=>Ube(e.template,...r),Object.setPrototypeOf(e,qF.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=KW,e.template};function qF(t){return Mbe(t)}for(let[t,e]of Object.entries(AD))Iw[t]={get(){let r=GF(this,JW(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Iw.visible={get(){let t=GF(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var _be=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of _be)Iw[t]={get(){let{level:e}=this;return function(...r){let s=JW(AD.color[Lbe[e]][t](...r),AD.color.close,this._styler);return GF(this,s,this._isEmpty)}}};for(let t of _be){let e="bg"+t[0].toUpperCase()+t.slice(1);Iw[e]={get(){let{level:r}=this;return function(...s){let a=JW(AD.bgColor[Lbe[r]][t](...s),AD.bgColor.close,this._styler);return GF(this,a,this._isEmpty)}}}}var Yxt=Object.defineProperties(()=>{},{...Iw,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),JW=(t,e,r)=>{let s,a;return r===void 0?(s=t,a=e):(s=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:s,closeAll:a,parent:r}},GF=(t,e,r)=>{let s=(...a)=>jF(a[0])&&jF(a[0].raw)?Obe(s,Ube(s,...a)):Obe(s,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(s,Yxt),s._generator=t,s._styler=e,s._isEmpty=r,s},Obe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:s,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=qxt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=Gxt(e,a,s,n)),s+e+a},WW,Ube=(t,...e)=>{let[r]=e;if(!jF(r)||!jF(r.raw))return e.join(" ");let s=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";var Vxt=hD&&hD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hD,"__esModule",{value:!0});var pD=Vxt(YF()),Kxt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Jxt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,VF=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);hD.default=(t,e,r)=>{if(!e)return t;if(e in pD.default){let a=VF(e,r);return pD.default[a](t)}if(e.startsWith("#")){let a=VF("hex",r);return pD.default[a](e)(t)}if(e.startsWith("ansi")){let a=Jxt.exec(e);if(!a)return t;let n=VF(a[1],r),c=Number(a[2]);return pD.default[n](c)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=Kxt.exec(e);if(!a)return t;let n=VF(a[1],r),c=Number(a[2]),f=Number(a[3]),p=Number(a[4]);return pD.default[n](c,f,p)(t)}return t}});var qbe=L(gD=>{"use strict";var jbe=gD&&gD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gD,"__esModule",{value:!0});var zxt=jbe(Pbe()),ZW=jbe(zW());gD.default=(t,e,r,s)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),c=r.style.borderColor,f=zxt.default[r.style.borderStyle],p=ZW.default(f.topLeft+f.horizontal.repeat(a-2)+f.topRight,c,"foreground"),h=(ZW.default(f.vertical,c,"foreground")+` +`).repeat(n-2),E=ZW.default(f.bottomLeft+f.horizontal.repeat(a-2)+f.bottomRight,c,"foreground");s.write(t,e,p,{transformers:[]}),s.write(t,e+1,h,{transformers:[]}),s.write(t+a-1,e+1,h,{transformers:[]}),s.write(t,e+n-1,E,{transformers:[]})}}});var Wbe=L(dD=>{"use strict";var Om=dD&&dD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dD,"__esModule",{value:!0});var Zxt=Om(Nm()),Xxt=Om(FW()),$xt=Om(vbe()),ekt=Om(UW()),tkt=Om(Sbe()),rkt=Om(jW()),nkt=Om(qbe()),ikt=(t,e)=>{var r;let s=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(s){let a=s.getComputedLeft(),n=s.getComputedTop();e=` +`.repeat(n)+$xt.default(e,a)}return e},Gbe=(t,e,r)=>{var s;let{offsetX:a=0,offsetY:n=0,transformers:c=[],skipStaticElements:f}=r;if(f&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===Zxt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),E=n+p.getComputedTop(),C=c;if(typeof t.internal_transform=="function"&&(C=[t.internal_transform,...c]),t.nodeName==="ink-text"){let S=rkt.default(t);if(S.length>0){let P=Xxt.default(S),I=tkt.default(p);if(P>I){let R=(s=t.style.textWrap)!==null&&s!==void 0?s:"wrap";S=ekt.default(S,I,R)}S=ikt(t,S),e.write(h,E,S,{transformers:C})}return}if(t.nodeName==="ink-box"&&nkt.default(h,E,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let S of t.childNodes)Gbe(S,e,{offsetX:h,offsetY:E,transformers:C,skipStaticElements:f})}};dD.default=Gbe});var Kbe=L(mD=>{"use strict";var Vbe=mD&&mD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mD,"__esModule",{value:!0});var Ybe=Vbe(MW()),skt=Vbe(iD()),XW=class{constructor(e){this.writes=[];let{width:r,height:s}=e;this.width=r,this.height=s}write(e,r,s,a){let{transformers:n}=a;s&&this.writes.push({x:e,y:r,text:s,transformers:n})}get(){let e=[];for(let s=0;ss.trimRight()).join(` +`),height:e.length}}};mD.default=XW});var Zbe=L(yD=>{"use strict";var $W=yD&&yD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yD,"__esModule",{value:!0});var okt=$W(Nm()),Jbe=$W(Wbe()),zbe=$W(Kbe());yD.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,okt.default.DIRECTION_LTR);let s=new zbe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});Jbe.default(t,s,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new zbe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),Jbe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:c}=s.get();return{output:n,outputHeight:c,staticOutput:a?`${a.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var tPe=L((C0r,ePe)=>{"use strict";var Xbe=ye("stream"),$be=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],eY={},akt=t=>{let e=new Xbe.PassThrough,r=new Xbe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let s=new console.Console(e,r);for(let a of $be)eY[a]=console[a],console[a]=s[a];return()=>{for(let a of $be)console[a]=eY[a];eY={}}};ePe.exports=akt});var rY=L(tY=>{"use strict";Object.defineProperty(tY,"__esModule",{value:!0});tY.default=new WeakMap});var iY=L(nY=>{"use strict";Object.defineProperty(nY,"__esModule",{value:!0});var lkt=hn(),rPe=lkt.createContext({exit:()=>{}});rPe.displayName="InternalAppContext";nY.default=rPe});var oY=L(sY=>{"use strict";Object.defineProperty(sY,"__esModule",{value:!0});var ckt=hn(),nPe=ckt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});nPe.displayName="InternalStdinContext";sY.default=nPe});var lY=L(aY=>{"use strict";Object.defineProperty(aY,"__esModule",{value:!0});var ukt=hn(),iPe=ukt.createContext({stdout:void 0,write:()=>{}});iPe.displayName="InternalStdoutContext";aY.default=iPe});var uY=L(cY=>{"use strict";Object.defineProperty(cY,"__esModule",{value:!0});var fkt=hn(),sPe=fkt.createContext({stderr:void 0,write:()=>{}});sPe.displayName="InternalStderrContext";cY.default=sPe});var KF=L(fY=>{"use strict";Object.defineProperty(fY,"__esModule",{value:!0});var Akt=hn(),oPe=Akt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{},focus:()=>{}});oPe.displayName="InternalFocusContext";fY.default=oPe});var lPe=L((P0r,aPe)=>{"use strict";var pkt=/[|\\{}()[\]^$+*?.-]/g;aPe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(pkt,"\\$&")}});var APe=L((x0r,fPe)=>{"use strict";var hkt=lPe(),gkt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",uPe=[].concat(ye("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));uPe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var AY=class t{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=t.nodeInternals()),"cwd"in e||(e.cwd=gkt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,dkt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...uPe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(` +`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let s=!1,a=null,n=[];return e.forEach(c=>{if(c=c.replace(/\\/g,"/"),this._internals.some(p=>p.test(c)))return;let f=/^\s*at /.test(c);s?c=c.trimEnd().replace(/^(\s+)at /,"$1"):(c=c.trim(),f&&(c=c.slice(3))),c=c.replace(`${this._cwd}/`,""),c&&(f?(a&&(n.push(a),a=null),n.push(c)):(s=!0,a=c))}),n.map(c=>`${r}${c} +`).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:s}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=s,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:s,stackTraceLimit:a}=Error;Error.prepareStackTrace=(f,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:c}=n;return Object.assign(Error,{prepareStackTrace:s,stackTraceLimit:a}),c}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let s={line:r.getLineNumber(),column:r.getColumnNumber()};cPe(s,r.getFileName(),this._cwd),r.isConstructor()&&(s.constructor=!0),r.isEval()&&(s.evalOrigin=r.getEvalOrigin()),r.isNative()&&(s.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(s.type=a);let n=r.getFunctionName();n&&(s.function=n);let c=r.getMethodName();return c&&n!==c&&(s.method=c),s}parseLine(e){let r=e&&e.match(mkt);if(!r)return null;let s=r[1]==="new",a=r[2],n=r[3],c=r[4],f=Number(r[5]),p=Number(r[6]),h=r[7],E=r[8],C=r[9],S=r[10]==="native",P=r[11]===")",I,R={};if(E&&(R.line=Number(E)),C&&(R.column=Number(C)),P&&h){let N=0;for(let U=h.length-1;U>0;U--)if(h.charAt(U)===")")N++;else if(h.charAt(U)==="("&&h.charAt(U-1)===" "&&(N--,N===-1&&h.charAt(U-1)===" ")){let W=h.slice(0,U-1);h=h.slice(U+1),a+=` (${W}`;break}}if(a){let N=a.match(ykt);N&&(a=N[1],I=N[2])}return cPe(R,h,this._cwd),s&&(R.constructor=!0),n&&(R.evalOrigin=n,R.evalLine=f,R.evalColumn=p,R.evalFile=c&&c.replace(/\\/g,"/")),S&&(R.native=!0),a&&(R.function=a),I&&a!==I&&(R.method=I),R}};function cPe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function dkt(t){if(t.length===0)return[];let e=t.map(r=>hkt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var mkt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),ykt=/^(.*?) \[as (.*?)\]$/;fPe.exports=AY});var hPe=L((k0r,pPe)=>{"use strict";pPe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var dPe=L((Q0r,gPe)=>{"use strict";var Ekt=hPe(),Ikt=(t,e)=>{let r=[],s=t-e,a=t+e;for(let n=s;n<=a;n++)r.push(n);return r};gPe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=Ekt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},Ikt(e,r.around).filter(s=>t[s-1]!==void 0).map(s=>({line:s,value:t[s-1]}))}});var JF=L(nf=>{"use strict";var Ckt=nf&&nf.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),wkt=nf&&nf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Bkt=nf&&nf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&Ckt(e,t,r);return wkt(e,t),e},vkt=nf&&nf.__rest||function(t,e){var r={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(r[s]=t[s]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(t);a{var{children:r}=t,s=vkt(t,["children"]);let a=Object.assign(Object.assign({},s),{marginLeft:s.marginLeft||s.marginX||s.margin||0,marginRight:s.marginRight||s.marginX||s.margin||0,marginTop:s.marginTop||s.marginY||s.margin||0,marginBottom:s.marginBottom||s.marginY||s.margin||0,paddingLeft:s.paddingLeft||s.paddingX||s.padding||0,paddingRight:s.paddingRight||s.paddingX||s.padding||0,paddingTop:s.paddingTop||s.paddingY||s.padding||0,paddingBottom:s.paddingBottom||s.paddingY||s.padding||0});return mPe.default.createElement("ink-box",{ref:e,style:a},r)});pY.displayName="Box";pY.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};nf.default=pY});var dY=L(ED=>{"use strict";var hY=ED&&ED.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ED,"__esModule",{value:!0});var Skt=hY(hn()),Cw=hY(YF()),yPe=hY(zW()),gY=({color:t,backgroundColor:e,dimColor:r,bold:s,italic:a,underline:n,strikethrough:c,inverse:f,wrap:p,children:h})=>{if(h==null)return null;let E=C=>(r&&(C=Cw.default.dim(C)),t&&(C=yPe.default(C,t,"foreground")),e&&(C=yPe.default(C,e,"background")),s&&(C=Cw.default.bold(C)),a&&(C=Cw.default.italic(C)),n&&(C=Cw.default.underline(C)),c&&(C=Cw.default.strikethrough(C)),f&&(C=Cw.default.inverse(C)),C);return Skt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:E},h)};gY.displayName="Text";gY.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};ED.default=gY});var wPe=L(sf=>{"use strict";var Dkt=sf&&sf.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),bkt=sf&&sf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Pkt=sf&&sf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&Dkt(e,t,r);return bkt(e,t),e},ID=sf&&sf.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(sf,"__esModule",{value:!0});var EPe=Pkt(ye("fs")),Ts=ID(hn()),IPe=ID(APe()),xkt=ID(dPe()),rh=ID(JF()),hA=ID(dY()),CPe=new IPe.default({cwd:process.cwd(),internals:IPe.default.nodeInternals()}),kkt=({error:t})=>{let e=t.stack?t.stack.split(` +`).slice(1):void 0,r=e?CPe.parseLine(e[0]):void 0,s,a=0;if(r?.file&&r?.line&&EPe.existsSync(r.file)){let n=EPe.readFileSync(r.file,"utf8");if(s=xkt.default(n,r.line),s)for(let{line:c}of s)a=Math.max(a,String(c).length)}return Ts.default.createElement(rh.default,{flexDirection:"column",padding:1},Ts.default.createElement(rh.default,null,Ts.default.createElement(hA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Ts.default.createElement(hA.default,null," ",t.message)),r&&Ts.default.createElement(rh.default,{marginTop:1},Ts.default.createElement(hA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&s&&Ts.default.createElement(rh.default,{marginTop:1,flexDirection:"column"},s.map(({line:n,value:c})=>Ts.default.createElement(rh.default,{key:n},Ts.default.createElement(rh.default,{width:a+1},Ts.default.createElement(hA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),Ts.default.createElement(hA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+c)))),t.stack&&Ts.default.createElement(rh.default,{marginTop:1,flexDirection:"column"},t.stack.split(` +`).slice(1).map(n=>{let c=CPe.parseLine(n);return c?Ts.default.createElement(rh.default,{key:n},Ts.default.createElement(hA.default,{dimColor:!0},"- "),Ts.default.createElement(hA.default,{dimColor:!0,bold:!0},c.function),Ts.default.createElement(hA.default,{dimColor:!0,color:"gray"}," ","(",c.file,":",c.line,":",c.column,")")):Ts.default.createElement(rh.default,{key:n},Ts.default.createElement(hA.default,{dimColor:!0},"- "),Ts.default.createElement(hA.default,{dimColor:!0,bold:!0},n))})))};sf.default=kkt});var vPe=L(of=>{"use strict";var Qkt=of&&of.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),Tkt=of&&of.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Rkt=of&&of.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&Qkt(e,t,r);return Tkt(e,t),e},Mm=of&&of.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(of,"__esModule",{value:!0});var Lm=Rkt(hn()),BPe=Mm(pW()),Fkt=Mm(iY()),Nkt=Mm(oY()),Okt=Mm(lY()),Lkt=Mm(uY()),Mkt=Mm(KF()),_kt=Mm(wPe()),Ukt=" ",Hkt="\x1B[Z",jkt="\x1B",zF=class extends Lm.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===jkt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===Ukt&&this.focusNext(),e===Hkt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focus=e=>{this.setState(r=>r.focusables.some(a=>a?.id===e)?{activeFocusId:e}:r)},this.focusNext=()=>{this.setState(e=>{var r;let s=(r=e.focusables[0])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findNextFocusable(e)||s}})},this.focusPrevious=()=>{this.setState(e=>{var r;let s=(r=e.focusables[e.focusables.length-1])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findPreviousFocusable(e)||s}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(s=>{let a=s.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...s.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(s=>s.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(s=>s.id!==e?s:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(s=>s.id!==e?s:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{var r;let s=e.focusables.findIndex(a=>a.id===e.activeFocusId);for(let a=s+1;a{var r;let s=e.focusables.findIndex(a=>a.id===e.activeFocusId);for(let a=s-1;a>=0;a--)if(!((r=e.focusables[a])===null||r===void 0)&&r.isActive)return e.focusables[a].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return Lm.default.createElement(Fkt.default.Provider,{value:{exit:this.handleExit}},Lm.default.createElement(Nkt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},Lm.default.createElement(Okt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},Lm.default.createElement(Lkt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},Lm.default.createElement(Mkt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious,focus:this.focus}},this.state.error?Lm.default.createElement(_kt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){BPe.default.hide(this.props.stdout)}componentWillUnmount(){BPe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};of.default=zF;zF.displayName="InternalApp"});var bPe=L(af=>{"use strict";var qkt=af&&af.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),Gkt=af&&af.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Wkt=af&&af.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&qkt(e,t,r);return Gkt(e,t),e},lf=af&&af.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(af,"__esModule",{value:!0});var Ykt=lf(hn()),SPe=rH(),Vkt=lf(wDe()),Kkt=lf(lW()),Jkt=lf(PDe()),zkt=lf(kDe()),mY=lf(wbe()),Zkt=lf(Zbe()),Xkt=lf(AW()),$kt=lf(tPe()),eQt=Wkt(qW()),tQt=lf(rY()),rQt=lf(vPe()),ww=process.env.CI==="false"?!1:Jkt.default,DPe=()=>{},yY=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:s,staticOutput:a}=Zkt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` +`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(ww){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),s>=this.options.stdout.rows){this.options.stdout.write(Kkt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},zkt.default(this),this.options=e,this.rootNode=eQt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:SPe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=Vkt.default.create(e.stdout),this.throttledLog=e.debug?this.log:SPe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=mY.default.createContainer(this.rootNode,0,!1,null),this.unsubscribeExit=Xkt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),ww||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=Ykt.default.createElement(rQt.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);mY.default.updateContainer(r,this.container,null,DPe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(ww){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(ww){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),ww?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,mY.default.updateContainer(null,this.container,null,DPe),tQt.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!ww&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=$kt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};af.default=yY});var xPe=L(CD=>{"use strict";var PPe=CD&&CD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CD,"__esModule",{value:!0});var nQt=PPe(bPe()),ZF=PPe(rY()),iQt=ye("stream"),sQt=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},oQt(e)),s=aQt(r.stdout,()=>new nQt.default(r));return s.render(t),{rerender:s.render,unmount:()=>s.unmount(),waitUntilExit:s.waitUntilExit,cleanup:()=>ZF.default.delete(r.stdout),clear:s.clear}};CD.default=sQt;var oQt=(t={})=>t instanceof iQt.Stream?{stdout:t,stdin:process.stdin}:t,aQt=(t,e)=>{let r;return ZF.default.has(t)?r=ZF.default.get(t):(r=e(),ZF.default.set(t,r)),r}});var QPe=L(nh=>{"use strict";var lQt=nh&&nh.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),cQt=nh&&nh.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),uQt=nh&&nh.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&lQt(e,t,r);return cQt(e,t),e};Object.defineProperty(nh,"__esModule",{value:!0});var wD=uQt(hn()),kPe=t=>{let{items:e,children:r,style:s}=t,[a,n]=wD.useState(0),c=wD.useMemo(()=>e.slice(a),[e,a]);wD.useLayoutEffect(()=>{n(e.length)},[e.length]);let f=c.map((h,E)=>r(h,a+E)),p=wD.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},s),[s]);return wD.default.createElement("ink-box",{internal_static:!0,style:p},f)};kPe.displayName="Static";nh.default=kPe});var RPe=L(BD=>{"use strict";var fQt=BD&&BD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BD,"__esModule",{value:!0});var AQt=fQt(hn()),TPe=({children:t,transform:e})=>t==null?null:AQt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);TPe.displayName="Transform";BD.default=TPe});var NPe=L(vD=>{"use strict";var pQt=vD&&vD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vD,"__esModule",{value:!0});var hQt=pQt(hn()),FPe=({count:t=1})=>hQt.default.createElement("ink-text",null,` +`.repeat(t));FPe.displayName="Newline";vD.default=FPe});var MPe=L(SD=>{"use strict";var OPe=SD&&SD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(SD,"__esModule",{value:!0});var gQt=OPe(hn()),dQt=OPe(JF()),LPe=()=>gQt.default.createElement(dQt.default,{flexGrow:1});LPe.displayName="Spacer";SD.default=LPe});var XF=L(DD=>{"use strict";var mQt=DD&&DD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(DD,"__esModule",{value:!0});var yQt=hn(),EQt=mQt(oY()),IQt=()=>yQt.useContext(EQt.default);DD.default=IQt});var UPe=L(bD=>{"use strict";var CQt=bD&&bD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bD,"__esModule",{value:!0});var _Pe=hn(),wQt=CQt(XF()),BQt=(t,e={})=>{let{stdin:r,setRawMode:s,internal_exitOnCtrlC:a}=wQt.default();_Pe.useEffect(()=>{if(e.isActive!==!1)return s(!0),()=>{s(!1)}},[e.isActive,s]),_Pe.useEffect(()=>{if(e.isActive===!1)return;let n=c=>{let f=String(c),p={upArrow:f==="\x1B[A",downArrow:f==="\x1B[B",leftArrow:f==="\x1B[D",rightArrow:f==="\x1B[C",pageDown:f==="\x1B[6~",pageUp:f==="\x1B[5~",return:f==="\r",escape:f==="\x1B",ctrl:!1,shift:!1,tab:f===" "||f==="\x1B[Z",backspace:f==="\b",delete:f==="\x7F"||f==="\x1B[3~",meta:!1};f<=""&&!p.return&&(f=String.fromCharCode(f.charCodeAt(0)+97-1),p.ctrl=!0),f.startsWith("\x1B")&&(f=f.slice(1),p.meta=!0);let h=f>="A"&&f<="Z",E=f>="\u0410"&&f<="\u042F";f.length===1&&(h||E)&&(p.shift=!0),p.tab&&f==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(f=""),(!(f==="c"&&p.ctrl)||!a)&&t(f,p)};return r?.on("data",n),()=>{r?.off("data",n)}},[e.isActive,r,a,t])};bD.default=BQt});var HPe=L(PD=>{"use strict";var vQt=PD&&PD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(PD,"__esModule",{value:!0});var SQt=hn(),DQt=vQt(iY()),bQt=()=>SQt.useContext(DQt.default);PD.default=bQt});var jPe=L(xD=>{"use strict";var PQt=xD&&xD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xD,"__esModule",{value:!0});var xQt=hn(),kQt=PQt(lY()),QQt=()=>xQt.useContext(kQt.default);xD.default=QQt});var qPe=L(kD=>{"use strict";var TQt=kD&&kD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kD,"__esModule",{value:!0});var RQt=hn(),FQt=TQt(uY()),NQt=()=>RQt.useContext(FQt.default);kD.default=NQt});var WPe=L(TD=>{"use strict";var GPe=TD&&TD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(TD,"__esModule",{value:!0});var QD=hn(),OQt=GPe(KF()),LQt=GPe(XF()),MQt=({isActive:t=!0,autoFocus:e=!1,id:r}={})=>{let{isRawModeSupported:s,setRawMode:a}=LQt.default(),{activeId:n,add:c,remove:f,activate:p,deactivate:h,focus:E}=QD.useContext(OQt.default),C=QD.useMemo(()=>r??Math.random().toString().slice(2,7),[r]);return QD.useEffect(()=>(c(C,{autoFocus:e}),()=>{f(C)}),[C,e]),QD.useEffect(()=>{t?p(C):h(C)},[t,C]),QD.useEffect(()=>{if(!(!s||!t))return a(!0),()=>{a(!1)}},[t]),{isFocused:!!C&&n===C,focus:E}};TD.default=MQt});var YPe=L(RD=>{"use strict";var _Qt=RD&&RD.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RD,"__esModule",{value:!0});var UQt=hn(),HQt=_Qt(KF()),jQt=()=>{let t=UQt.useContext(HQt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious,focus:t.focus}};RD.default=jQt});var VPe=L(EY=>{"use strict";Object.defineProperty(EY,"__esModule",{value:!0});EY.default=t=>{var e,r,s,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(s=t.yogaNode)===null||s===void 0?void 0:s.getComputedHeight())!==null&&a!==void 0?a:0}}});var Vc=L(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});var qQt=xPe();Object.defineProperty(Eo,"render",{enumerable:!0,get:function(){return qQt.default}});var GQt=JF();Object.defineProperty(Eo,"Box",{enumerable:!0,get:function(){return GQt.default}});var WQt=dY();Object.defineProperty(Eo,"Text",{enumerable:!0,get:function(){return WQt.default}});var YQt=QPe();Object.defineProperty(Eo,"Static",{enumerable:!0,get:function(){return YQt.default}});var VQt=RPe();Object.defineProperty(Eo,"Transform",{enumerable:!0,get:function(){return VQt.default}});var KQt=NPe();Object.defineProperty(Eo,"Newline",{enumerable:!0,get:function(){return KQt.default}});var JQt=MPe();Object.defineProperty(Eo,"Spacer",{enumerable:!0,get:function(){return JQt.default}});var zQt=UPe();Object.defineProperty(Eo,"useInput",{enumerable:!0,get:function(){return zQt.default}});var ZQt=HPe();Object.defineProperty(Eo,"useApp",{enumerable:!0,get:function(){return ZQt.default}});var XQt=XF();Object.defineProperty(Eo,"useStdin",{enumerable:!0,get:function(){return XQt.default}});var $Qt=jPe();Object.defineProperty(Eo,"useStdout",{enumerable:!0,get:function(){return $Qt.default}});var eTt=qPe();Object.defineProperty(Eo,"useStderr",{enumerable:!0,get:function(){return eTt.default}});var tTt=WPe();Object.defineProperty(Eo,"useFocus",{enumerable:!0,get:function(){return tTt.default}});var rTt=YPe();Object.defineProperty(Eo,"useFocusManager",{enumerable:!0,get:function(){return rTt.default}});var nTt=VPe();Object.defineProperty(Eo,"measureElement",{enumerable:!0,get:function(){return nTt.default}})});var CY={};Vt(CY,{Gem:()=>IY});var KPe,_m,IY,$F=It(()=>{KPe=et(Vc()),_m=et(hn()),IY=(0,_m.memo)(({active:t})=>{let e=(0,_m.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,_m.useMemo)(()=>t?"green":"yellow",[t]);return _m.default.createElement(KPe.Text,{color:r},e)})});var zPe={};Vt(zPe,{useKeypress:()=>Um});function Um({active:t},e,r){let{stdin:s}=(0,JPe.useStdin)(),a=(0,eN.useCallback)((n,c)=>e(n,c),r);(0,eN.useEffect)(()=>{if(!(!t||!s))return s.on("keypress",a),()=>{s.off("keypress",a)}},[t,a,s])}var JPe,eN,FD=It(()=>{JPe=et(Vc()),eN=et(hn())});var XPe={};Vt(XPe,{FocusRequest:()=>ZPe,useFocusRequest:()=>wY});var ZPe,wY,BY=It(()=>{FD();ZPe=(r=>(r.BEFORE="before",r.AFTER="after",r))(ZPe||{}),wY=function({active:t},e,r){Um({active:t},(s,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var $Pe={};Vt($Pe,{useListInput:()=>ND});var ND,tN=It(()=>{FD();ND=function(t,e,{active:r,minus:s,plus:a,set:n,loop:c=!0}){Um({active:r},(f,p)=>{let h=e.indexOf(t);switch(p.name){case s:{let E=h-1;if(c){n(e[(e.length+E)%e.length]);return}if(E<0)return;n(e[E])}break;case a:{let E=h+1;if(c){n(e[E%e.length]);return}if(E>=e.length)return;n(e[E])}break}},[e,t,a,n,c])}});var rN={};Vt(rN,{ScrollableItems:()=>iTt});var tg,ml,iTt,nN=It(()=>{tg=et(Vc()),ml=et(hn());BY();tN();iTt=({active:t=!0,children:e=[],radius:r=10,size:s=1,loop:a=!0,onFocusRequest:n,willReachEnd:c})=>{let f=N=>{if(N.key===null)throw new Error("Expected all children to have a key");return N.key},p=ml.default.Children.map(e,N=>f(N)),h=p[0],[E,C]=(0,ml.useState)(h),S=p.indexOf(E);(0,ml.useEffect)(()=>{p.includes(E)||C(h)},[e]),(0,ml.useEffect)(()=>{c&&S>=p.length-2&&c()},[S]),wY({active:t&&!!n},N=>{n?.(N)},[n]),ND(E,p,{active:t,minus:"up",plus:"down",set:C,loop:a});let P=S-r,I=S+r;I>p.length&&(P-=I-p.length,I=p.length),P<0&&(I+=-P,P=0),I>=p.length&&(I=p.length-1);let R=[];for(let N=P;N<=I;++N){let U=p[N],W=t&&U===E;R.push(ml.default.createElement(tg.Box,{key:U,height:s},ml.default.createElement(tg.Box,{marginLeft:1,marginRight:1},ml.default.createElement(tg.Text,null,W?ml.default.createElement(tg.Text,{color:"cyan",bold:!0},">"):" ")),ml.default.createElement(tg.Box,null,ml.default.cloneElement(e[N],{active:W}))))}return ml.default.createElement(tg.Box,{flexDirection:"column",width:"100%"},R)}});var exe,ih,txe,vY,rxe,SY=It(()=>{exe=et(Vc()),ih=et(hn()),txe=ye("readline"),vY=ih.default.createContext(null),rxe=({children:t})=>{let{stdin:e,setRawMode:r}=(0,exe.useStdin)();(0,ih.useEffect)(()=>{r&&r(!0),e&&(0,txe.emitKeypressEvents)(e)},[e,r]);let[s,a]=(0,ih.useState)(new Map),n=(0,ih.useMemo)(()=>({getAll:()=>s,get:c=>s.get(c),set:(c,f)=>a(new Map([...s,[c,f]]))}),[s,a]);return ih.default.createElement(vY.Provider,{value:n,children:t})}});var DY={};Vt(DY,{useMinistore:()=>sTt});function sTt(t,e){let r=(0,iN.useContext)(vY);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let s=(0,iN.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,s]}var iN,bY=It(()=>{iN=et(hn());SY()});var oN={};Vt(oN,{renderForm:()=>oTt});async function oTt(t,e,{stdin:r,stdout:s,stderr:a}){let n,c=p=>{let{exit:h}=(0,sN.useApp)();Um({active:!0},(E,C)=>{C.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:f}=(0,sN.render)(PY.default.createElement(rxe,null,PY.default.createElement(t,{...e,useSubmit:c})),{stdin:r,stdout:s,stderr:a});return await f(),n}var sN,PY,aN=It(()=>{sN=et(Vc()),PY=et(hn());SY();FD()});var oxe=L(OD=>{"use strict";Object.defineProperty(OD,"__esModule",{value:!0});OD.UncontrolledTextInput=void 0;var ixe=hn(),xY=hn(),nxe=Vc(),Hm=YF(),sxe=({value:t,placeholder:e="",focus:r=!0,mask:s,highlightPastedText:a=!1,showCursor:n=!0,onChange:c,onSubmit:f})=>{let[{cursorOffset:p,cursorWidth:h},E]=xY.useState({cursorOffset:(t||"").length,cursorWidth:0});xY.useEffect(()=>{E(R=>{if(!r||!n)return R;let N=t||"";return R.cursorOffset>N.length-1?{cursorOffset:N.length,cursorWidth:0}:R})},[t,r,n]);let C=a?h:0,S=s?s.repeat(t.length):t,P=S,I=e?Hm.grey(e):void 0;if(n&&r){I=e.length>0?Hm.inverse(e[0])+Hm.grey(e.slice(1)):Hm.inverse(" "),P=S.length>0?"":Hm.inverse(" ");let R=0;for(let N of S)R>=p-C&&R<=p?P+=Hm.inverse(N):P+=N,R++;S.length>0&&p===S.length&&(P+=Hm.inverse(" "))}return nxe.useInput((R,N)=>{if(N.upArrow||N.downArrow||N.ctrl&&R==="c"||N.tab||N.shift&&N.tab)return;if(N.return){f&&f(t);return}let U=p,W=t,te=0;N.leftArrow?n&&U--:N.rightArrow?n&&U++:N.backspace||N.delete?p>0&&(W=t.slice(0,p-1)+t.slice(p,t.length),U--):(W=t.slice(0,p)+R+t.slice(p,t.length),U+=R.length,R.length>1&&(te=R.length)),p<0&&(U=0),p>t.length&&(U=t.length),E({cursorOffset:U,cursorWidth:te}),W!==t&&c(W)},{isActive:r}),ixe.createElement(nxe.Text,null,e?S.length>0?P:I:P)};OD.default=sxe;OD.UncontrolledTextInput=({initialValue:t="",...e})=>{let[r,s]=xY.useState(t);return ixe.createElement(sxe,Object.assign({},e,{value:r,onChange:s}))}});var cxe={};Vt(cxe,{Pad:()=>kY});var axe,lxe,kY,QY=It(()=>{axe=et(Vc()),lxe=et(hn()),kY=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return lxe.default.createElement(axe.Text,{dimColor:!e},r)}});var uxe={};Vt(uxe,{ItemOptions:()=>aTt});var MD,rg,aTt,fxe=It(()=>{MD=et(Vc()),rg=et(hn());tN();$F();QY();aTt=function({active:t,skewer:e,options:r,value:s,onChange:a,sizes:n=[]}){let c=r.filter(({label:p})=>!!p).map(({value:p})=>p),f=r.findIndex(p=>p.value===s&&p.label!="");return ND(s,c,{active:t,minus:"left",plus:"right",set:a}),rg.default.createElement(rg.default.Fragment,null,r.map(({label:p},h)=>{let E=h===f,C=n[h]-1||0,S=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),P=Math.max(0,C-S.length-2);return p?rg.default.createElement(MD.Box,{key:p,width:C,marginLeft:1},rg.default.createElement(MD.Text,{wrap:"truncate"},rg.default.createElement(IY,{active:E})," ",p),e?rg.default.createElement(kY,{active:t,length:P}):null):rg.default.createElement(MD.Box,{key:`spacer-${h}`,width:C,marginLeft:1})}))}});var Dxe=L((Ndr,Sxe)=>{var jY;Sxe.exports=()=>(typeof jY>"u"&&(jY=ye("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),jY)});var Vxe=L((omr,Yxe)=>{var ZY=Symbol("arg flag"),Kc=class t extends Error{constructor(e,r){super(e),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,t.prototype)}};function tb(t,{argv:e=process.argv.slice(2),permissive:r=!1,stopAtPositional:s=!1}={}){if(!t)throw new Kc("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},c={};for(let f of Object.keys(t)){if(!f)throw new Kc("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(f[0]!=="-")throw new Kc(`argument key must start with '-' but found: '${f}'`,"ARG_CONFIG_NONOPT_KEY");if(f.length===1)throw new Kc(`argument key must have a name; singular '-' keys are not allowed: ${f}`,"ARG_CONFIG_NONAME_KEY");if(typeof t[f]=="string"){n[f]=t[f];continue}let p=t[f],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[E]=p;p=(C,S,P=[])=>(P.push(E(C,S,P[P.length-1])),P),h=E===Boolean||E[ZY]===!0}else if(typeof p=="function")h=p===Boolean||p[ZY]===!0;else throw new Kc(`type missing or not a function or valid array type: ${f}`,"ARG_CONFIG_VAD_TYPE");if(f[1]!=="-"&&f.length>2)throw new Kc(`short argument keys (with a single hyphen) must have only one character: ${f}`,"ARG_CONFIG_SHORTOPT_TOOLONG");c[f]=[p,h]}for(let f=0,p=e.length;f0){a._=a._.concat(e.slice(f));break}if(h==="--"){a._=a._.concat(e.slice(f+1));break}if(h.length>1&&h[0]==="-"){let E=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(C=>`-${C}`);for(let C=0;C1&&e[f+1][0]==="-"&&!(e[f+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(N===Number||typeof BigInt<"u"&&N===BigInt))){let W=P===R?"":` (alias for ${R})`;throw new Kc(`option requires argument: ${P}${W}`,"ARG_MISSING_REQUIRED_LONGARG")}a[R]=N(e[f+1],R,a[R]),++f}else a[R]=N(I,R,a[R])}}else a._.push(h)}return a}tb.flag=t=>(t[ZY]=!0,t);tb.COUNT=tb.flag((t,e,r)=>(r||0)+1);tb.ArgError=Kc;Yxe.exports=tb});var tke=L((Omr,eke)=>{var tV;eke.exports=()=>(typeof tV>"u"&&(tV=ye("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),tV)});var oke=L((aV,lV)=>{(function(t){aV&&typeof aV=="object"&&typeof lV<"u"?lV.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var uke=L((Fyr,cke)=>{"use strict";cV.ifExists=lRt;var xw=ye("util"),Jc=ye("path"),ake=oke(),sRt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,oRt={createPwshFile:!0,createCmdFile:ake(),fs:ye("fs")},aRt=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function lke(t){let e={...oRt,...t},r=e.fs;return e.fs_={chmod:r.chmod?xw.promisify(r.chmod):async()=>{},mkdir:xw.promisify(r.mkdir),readFile:xw.promisify(r.readFile),stat:xw.promisify(r.stat),unlink:xw.promisify(r.unlink),writeFile:xw.promisify(r.writeFile)},e}async function cV(t,e,r){let s=lke(r);await s.fs_.stat(t),await uRt(t,e,s)}function lRt(t,e,r){return cV(t,e,r).catch(()=>{})}function cRt(t,e){return e.fs_.unlink(t).catch(()=>{})}async function uRt(t,e,r){let s=await gRt(t,r);return await fRt(e,r),ARt(t,e,s,r)}function fRt(t,e){return e.fs_.mkdir(Jc.dirname(t),{recursive:!0})}function ARt(t,e,r,s){let a=lke(s),n=[{generator:yRt,extension:""}];return a.createCmdFile&&n.push({generator:mRt,extension:".cmd"}),a.createPwshFile&&n.push({generator:ERt,extension:".ps1"}),Promise.all(n.map(c=>dRt(t,e+c.extension,r,c.generator,a)))}function pRt(t,e){return cRt(t,e)}function hRt(t,e){return IRt(t,e)}async function gRt(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(sRt);if(!a){let n=Jc.extname(t).toLowerCase();return{program:aRt.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function dRt(t,e,r,s,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",c=[r.additionalArgs,n].filter(f=>f).join(" ");return a=Object.assign({},a,{prog:r.program,args:c}),await pRt(e,a),await a.fs_.writeFile(e,s(t,e,a),"utf8"),hRt(e,a)}function mRt(t,e,r){let a=Jc.relative(Jc.dirname(e),t).split("/").join("\\"),n=Jc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,c,f=r.prog,p=r.args||"",h=uV(r.nodePath).win32;f?(c=`"%~dp0\\${f}.exe"`,a=n):(f=n,p="",a="");let E=r.progArgs?`${r.progArgs.join(" ")} `:"",C=h?`@SET NODE_PATH=${h}\r +`:"";return c?C+=`@IF EXIST ${c} (\r + ${c} ${p} ${a} ${E}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${f} ${p} ${a} ${E}%*\r +)\r +`:C+=`@${f} ${p} ${a} ${E}%*\r +`,C}function yRt(t,e,r){let s=Jc.relative(Jc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;s=s.split("\\").join("/");let c=Jc.isAbsolute(s)?`"${s}"`:`"$basedir/${s}"`,f=r.args||"",p=uV(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,s=c):(a=c,f="",s="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",E=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,C=r.nodePath?`export NODE_PATH="${p}" +`:"";return n?E+=`${C}if [ -x ${n} ]; then + exec ${n} ${f} ${s} ${h}"$@" +else + exec ${a} ${f} ${s} ${h}"$@" +fi +`:E+=`${C}${a} ${f} ${s} ${h}"$@" +exit $? +`,E}function ERt(t,e,r){let s=Jc.relative(Jc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,c;s=s.split("\\").join("/");let f=Jc.isAbsolute(s)?`"${s}"`:`"$basedir/${s}"`,p=r.args||"",h=uV(r.nodePath),E=h.win32,C=h.posix;n?(c=`"$basedir/${r.prog}$exe"`,s=f):(n=f,p="",s="");let S=r.progArgs?`${r.progArgs.join(" ")} `:"",P=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${E}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(P+=` else { + $env:NODE_PATH="${C}" +}`),c?P+=` +$ret=0 +if (Test-Path ${c}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${c} ${p} ${s} ${S}$args + } else { + & ${c} ${p} ${s} ${S}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${s} ${S}$args + } else { + & ${n} ${p} ${s} ${S}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:P+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${s} ${S}$args +} else { + & ${n} ${p} ${s} ${S}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,P}function IRt(t,e){return e.fs_.chmod(t,493)}function uV(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(Jc.delimiter):Array.from(t),r={};for(let s=0;s`/mnt/${f.toLowerCase()}`):e[s];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[s]={win32:a,posix:n}}return r}cke.exports=cV});var vV=L((tIr,kke)=>{kke.exports=ye("stream")});var Fke=L((rIr,Rke)=>{"use strict";function Qke(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,s)}return r}function JRt(t){for(var e=1;e0?this.tail.next=s:this.head=s,this.tail=s,++this.length}},{key:"unshift",value:function(r){var s={data:r,next:this.head};this.length===0&&(this.tail=s),this.head=s,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var s=this.head,a=""+s.data;s=s.next;)a+=r+s.data;return a}},{key:"concat",value:function(r){if(this.length===0)return CN.alloc(0);for(var s=CN.allocUnsafe(r>>>0),a=this.head,n=0;a;)rFt(a.data,s,n),n+=a.data.length,a=a.next;return s}},{key:"consume",value:function(r,s){var a;return rc.length?c.length:r;if(f===c.length?n+=c:n+=c.slice(0,r),r-=f,r===0){f===c.length?(++a,s.next?this.head=s.next:this.head=this.tail=null):(this.head=s,s.data=c.slice(f));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var s=CN.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(s),r-=a.data.length;a=a.next;){var c=a.data,f=r>c.length?c.length:r;if(c.copy(s,s.length-r,0,f),r-=f,r===0){f===c.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=c.slice(f));break}++n}return this.length-=n,s}},{key:tFt,value:function(r,s){return SV(this,JRt({},s,{depth:0,customInspect:!1}))}}]),t}()});var bV=L((nIr,Oke)=>{"use strict";function nFt(t,e){var r=this,s=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return s||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(DV,this,t)):process.nextTick(DV,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(wN,r):(r._writableState.errorEmitted=!0,process.nextTick(Nke,r,n)):process.nextTick(Nke,r,n):e?(process.nextTick(wN,r),e(n)):process.nextTick(wN,r)}),this)}function Nke(t,e){DV(t,e),wN(t)}function wN(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function iFt(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function DV(t,e){t.emit("error",e)}function sFt(t,e){var r=t._readableState,s=t._writableState;r&&r.autoDestroy||s&&s.autoDestroy?t.destroy(e):t.emit("error",e)}Oke.exports={destroy:nFt,undestroy:iFt,errorOrDestroy:sFt}});var cg=L((iIr,_ke)=>{"use strict";var Mke={};function Zc(t,e,r){r||(r=Error);function s(n,c,f){return typeof e=="string"?e:e(n,c,f)}class a extends r{constructor(c,f,p){super(s(c,f,p))}}a.prototype.name=r.name,a.prototype.code=t,Mke[t]=a}function Lke(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(s=>String(s)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function oFt(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function aFt(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function lFt(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Zc("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Zc("ERR_INVALID_ARG_TYPE",function(t,e,r){let s;typeof e=="string"&&oFt(e,"not ")?(s="must not be",e=e.replace(/^not /,"")):s="must be";let a;if(aFt(t," argument"))a=`The ${t} ${s} ${Lke(e,"type")}`;else{let n=lFt(t,".")?"property":"argument";a=`The "${t}" ${n} ${s} ${Lke(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);Zc("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Zc("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Zc("ERR_STREAM_PREMATURE_CLOSE","Premature close");Zc("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Zc("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Zc("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Zc("ERR_STREAM_WRITE_AFTER_END","write after end");Zc("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Zc("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Zc("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");_ke.exports.codes=Mke});var PV=L((sIr,Uke)=>{"use strict";var cFt=cg().codes.ERR_INVALID_OPT_VALUE;function uFt(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function fFt(t,e,r,s){var a=uFt(e,s,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=s?r:"highWaterMark";throw new cFt(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}Uke.exports={getHighWaterMark:fFt}});var Hke=L((oIr,xV)=>{typeof Object.create=="function"?xV.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:xV.exports=function(e,r){if(r){e.super_=r;var s=function(){};s.prototype=r.prototype,e.prototype=new s,e.prototype.constructor=e}}});var ug=L((aIr,QV)=>{try{if(kV=ye("util"),typeof kV.inherits!="function")throw"";QV.exports=kV.inherits}catch{QV.exports=Hke()}var kV});var qke=L((lIr,jke)=>{jke.exports=ye("util").deprecate});var FV=L((cIr,Jke)=>{"use strict";Jke.exports=Vi;function Wke(t){var e=this;this.next=null,this.entry=null,this.finish=function(){MFt(e,t)}}var Fw;Vi.WritableState=hb;var AFt={deprecate:qke()},Yke=vV(),vN=ye("buffer").Buffer,pFt=global.Uint8Array||function(){};function hFt(t){return vN.from(t)}function gFt(t){return vN.isBuffer(t)||t instanceof pFt}var RV=bV(),dFt=PV(),mFt=dFt.getHighWaterMark,fg=cg().codes,yFt=fg.ERR_INVALID_ARG_TYPE,EFt=fg.ERR_METHOD_NOT_IMPLEMENTED,IFt=fg.ERR_MULTIPLE_CALLBACK,CFt=fg.ERR_STREAM_CANNOT_PIPE,wFt=fg.ERR_STREAM_DESTROYED,BFt=fg.ERR_STREAM_NULL_VALUES,vFt=fg.ERR_STREAM_WRITE_AFTER_END,SFt=fg.ERR_UNKNOWN_ENCODING,Nw=RV.errorOrDestroy;ug()(Vi,Yke);function DFt(){}function hb(t,e,r){Fw=Fw||Vm(),t=t||{},typeof r!="boolean"&&(r=e instanceof Fw),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=mFt(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=t.decodeStrings===!1;this.decodeStrings=!s,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){RFt(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Wke(this)}hb.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(hb.prototype,"buffer",{get:AFt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var BN;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(BN=Function.prototype[Symbol.hasInstance],Object.defineProperty(Vi,Symbol.hasInstance,{value:function(e){return BN.call(this,e)?!0:this!==Vi?!1:e&&e._writableState instanceof hb}})):BN=function(e){return e instanceof this};function Vi(t){Fw=Fw||Vm();var e=this instanceof Fw;if(!e&&!BN.call(Vi,this))return new Vi(t);this._writableState=new hb(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),Yke.call(this)}Vi.prototype.pipe=function(){Nw(this,new CFt)};function bFt(t,e){var r=new vFt;Nw(t,r),process.nextTick(e,r)}function PFt(t,e,r,s){var a;return r===null?a=new BFt:typeof r!="string"&&!e.objectMode&&(a=new yFt("chunk",["string","Buffer"],r)),a?(Nw(t,a),process.nextTick(s,a),!1):!0}Vi.prototype.write=function(t,e,r){var s=this._writableState,a=!1,n=!s.objectMode&&gFt(t);return n&&!vN.isBuffer(t)&&(t=hFt(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=s.defaultEncoding),typeof r!="function"&&(r=DFt),s.ending?bFt(this,r):(n||PFt(this,s,t,r))&&(s.pendingcb++,a=kFt(this,s,n,t,e,r)),a};Vi.prototype.cork=function(){this._writableState.corked++};Vi.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Vke(this,t))};Vi.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new SFt(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Vi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function xFt(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=vN.from(e,r)),e}Object.defineProperty(Vi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function kFt(t,e,r,s,a,n){if(!r){var c=xFt(e,s,a);s!==c&&(r=!0,a="buffer",s=c)}var f=e.objectMode?1:s.length;e.length+=f;var p=e.length{"use strict";var _Ft=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};Zke.exports=yA;var zke=LV(),OV=FV();ug()(yA,zke);for(NV=_Ft(OV.prototype),SN=0;SN{var bN=ye("buffer"),uh=bN.Buffer;function Xke(t,e){for(var r in t)e[r]=t[r]}uh.from&&uh.alloc&&uh.allocUnsafe&&uh.allocUnsafeSlow?$ke.exports=bN:(Xke(bN,MV),MV.Buffer=Ow);function Ow(t,e,r){return uh(t,e,r)}Xke(uh,Ow);Ow.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return uh(t,e,r)};Ow.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var s=uh(t);return e!==void 0?typeof r=="string"?s.fill(e,r):s.fill(e):s.fill(0),s};Ow.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return uh(t)};Ow.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return bN.SlowBuffer(t)}});var HV=L(rQe=>{"use strict";var UV=eQe().Buffer,tQe=UV.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function jFt(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function qFt(t){var e=jFt(t);if(typeof e!="string"&&(UV.isEncoding===tQe||!tQe(t)))throw new Error("Unknown encoding: "+t);return e||t}rQe.StringDecoder=gb;function gb(t){this.encoding=qFt(t);var e;switch(this.encoding){case"utf16le":this.text=JFt,this.end=zFt,e=4;break;case"utf8":this.fillLast=YFt,e=4;break;case"base64":this.text=ZFt,this.end=XFt,e=3;break;default:this.write=$Ft,this.end=eNt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=UV.allocUnsafe(e)}gb.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function GFt(t,e,r){var s=e.length-1;if(s=0?(a>0&&(t.lastNeed=a-1),a):--s=0?(a>0&&(t.lastNeed=a-2),a):--s=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function WFt(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function YFt(t){var e=this.lastTotal-this.lastNeed,r=WFt(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function VFt(t,e){var r=GFt(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var s=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,s),t.toString("utf8",e,s)}function KFt(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function JFt(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var s=r.charCodeAt(r.length-1);if(s>=55296&&s<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function zFt(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function ZFt(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function XFt(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function $Ft(t){return t.toString(this.encoding)}function eNt(t){return t&&t.length?this.write(t):""}});var PN=L((AIr,sQe)=>{"use strict";var nQe=cg().codes.ERR_STREAM_PREMATURE_CLOSE;function tNt(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,s=new Array(r),a=0;a{"use strict";var xN;function Ag(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var iNt=PN(),pg=Symbol("lastResolve"),Km=Symbol("lastReject"),db=Symbol("error"),kN=Symbol("ended"),Jm=Symbol("lastPromise"),jV=Symbol("handlePromise"),zm=Symbol("stream");function hg(t,e){return{value:t,done:e}}function sNt(t){var e=t[pg];if(e!==null){var r=t[zm].read();r!==null&&(t[Jm]=null,t[pg]=null,t[Km]=null,e(hg(r,!1)))}}function oNt(t){process.nextTick(sNt,t)}function aNt(t,e){return function(r,s){t.then(function(){if(e[kN]){r(hg(void 0,!0));return}e[jV](r,s)},s)}}var lNt=Object.getPrototypeOf(function(){}),cNt=Object.setPrototypeOf((xN={get stream(){return this[zm]},next:function(){var e=this,r=this[db];if(r!==null)return Promise.reject(r);if(this[kN])return Promise.resolve(hg(void 0,!0));if(this[zm].destroyed)return new Promise(function(c,f){process.nextTick(function(){e[db]?f(e[db]):c(hg(void 0,!0))})});var s=this[Jm],a;if(s)a=new Promise(aNt(s,this));else{var n=this[zm].read();if(n!==null)return Promise.resolve(hg(n,!1));a=new Promise(this[jV])}return this[Jm]=a,a}},Ag(xN,Symbol.asyncIterator,function(){return this}),Ag(xN,"return",function(){var e=this;return new Promise(function(r,s){e[zm].destroy(null,function(a){if(a){s(a);return}r(hg(void 0,!0))})})}),xN),lNt),uNt=function(e){var r,s=Object.create(cNt,(r={},Ag(r,zm,{value:e,writable:!0}),Ag(r,pg,{value:null,writable:!0}),Ag(r,Km,{value:null,writable:!0}),Ag(r,db,{value:null,writable:!0}),Ag(r,kN,{value:e._readableState.endEmitted,writable:!0}),Ag(r,jV,{value:function(n,c){var f=s[zm].read();f?(s[Jm]=null,s[pg]=null,s[Km]=null,n(hg(f,!1))):(s[pg]=n,s[Km]=c)},writable:!0}),r));return s[Jm]=null,iNt(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=s[Km];n!==null&&(s[Jm]=null,s[pg]=null,s[Km]=null,n(a)),s[db]=a;return}var c=s[pg];c!==null&&(s[Jm]=null,s[pg]=null,s[Km]=null,c(hg(void 0,!0))),s[kN]=!0}),e.on("readable",oNt.bind(null,s)),s};oQe.exports=uNt});var fQe=L((hIr,uQe)=>{"use strict";function lQe(t,e,r,s,a,n,c){try{var f=t[n](c),p=f.value}catch(h){r(h);return}f.done?e(p):Promise.resolve(p).then(s,a)}function fNt(t){return function(){var e=this,r=arguments;return new Promise(function(s,a){var n=t.apply(e,r);function c(p){lQe(n,s,a,c,f,"next",p)}function f(p){lQe(n,s,a,c,f,"throw",p)}c(void 0)})}}function cQe(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,s)}return r}function ANt(t){for(var e=1;e{"use strict";CQe.exports=Pn;var Lw;Pn.ReadableState=gQe;var gIr=ye("events").EventEmitter,hQe=function(e,r){return e.listeners(r).length},yb=vV(),QN=ye("buffer").Buffer,dNt=global.Uint8Array||function(){};function mNt(t){return QN.from(t)}function yNt(t){return QN.isBuffer(t)||t instanceof dNt}var qV=ye("util"),ln;qV&&qV.debuglog?ln=qV.debuglog("stream"):ln=function(){};var ENt=Fke(),zV=bV(),INt=PV(),CNt=INt.getHighWaterMark,TN=cg().codes,wNt=TN.ERR_INVALID_ARG_TYPE,BNt=TN.ERR_STREAM_PUSH_AFTER_EOF,vNt=TN.ERR_METHOD_NOT_IMPLEMENTED,SNt=TN.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,Mw,GV,WV;ug()(Pn,yb);var mb=zV.errorOrDestroy,YV=["error","close","destroy","pause","resume"];function DNt(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function gQe(t,e,r){Lw=Lw||Vm(),t=t||{},typeof r!="boolean"&&(r=e instanceof Lw),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=CNt(this,t,"readableHighWaterMark",r),this.buffer=new ENt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(Mw||(Mw=HV().StringDecoder),this.decoder=new Mw(t.encoding),this.encoding=t.encoding)}function Pn(t){if(Lw=Lw||Vm(),!(this instanceof Pn))return new Pn(t);var e=this instanceof Lw;this._readableState=new gQe(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),yb.call(this)}Object.defineProperty(Pn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}});Pn.prototype.destroy=zV.destroy;Pn.prototype._undestroy=zV.undestroy;Pn.prototype._destroy=function(t,e){e(t)};Pn.prototype.push=function(t,e){var r=this._readableState,s;return r.objectMode?s=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=QN.from(t,e),e=""),s=!0),dQe(this,t,e,!1,s)};Pn.prototype.unshift=function(t){return dQe(this,t,null,!0,!1)};function dQe(t,e,r,s,a){ln("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,xNt(t,n);else{var c;if(a||(c=bNt(n,e)),c)mb(t,c);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==QN.prototype&&(e=mNt(e)),s)n.endEmitted?mb(t,new SNt):VV(t,n,e,!0);else if(n.ended)mb(t,new BNt);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?VV(t,n,e,!1):JV(t,n)):VV(t,n,e,!1)}else s||(n.reading=!1,JV(t,n))}return!n.ended&&(n.length=AQe?t=AQe:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function pQe(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=PNt(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}Pn.prototype.read=function(t){ln("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return ln("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?KV(this):RN(this),null;if(t=pQe(t,e),t===0&&e.ended)return e.length===0&&KV(this),null;var s=e.needReadable;ln("need readable",s),(e.length===0||e.length-t0?a=EQe(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&KV(this)),a!==null&&this.emit("data",a),a};function xNt(t,e){if(ln("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?RN(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,mQe(t)))}}function RN(t){var e=t._readableState;ln("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(ln("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(mQe,t))}function mQe(t){var e=t._readableState;ln("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,ZV(t)}function JV(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(kNt,t,e))}function kNt(t,e){for(;!e.reading&&!e.ended&&(e.length1&&IQe(s.pipes,t)!==-1)&&!h&&(ln("false write response, pause",s.awaitDrain),s.awaitDrain++),r.pause())}function S(N){ln("onerror",N),R(),t.removeListener("error",S),hQe(t,"error")===0&&mb(t,N)}DNt(t,"error",S);function P(){t.removeListener("finish",I),R()}t.once("close",P);function I(){ln("onfinish"),t.removeListener("close",P),R()}t.once("finish",I);function R(){ln("unpipe"),r.unpipe(t)}return t.emit("pipe",r),s.flowing||(ln("pipe resume"),r.resume()),t};function QNt(t){return function(){var r=t._readableState;ln("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&hQe(t,"data")&&(r.flowing=!0,ZV(t))}}Pn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var s=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n0,s.flowing!==!1&&this.resume()):t==="readable"&&!s.endEmitted&&!s.readableListening&&(s.readableListening=s.needReadable=!0,s.flowing=!1,s.emittedReadable=!1,ln("on readable",s.length,s.reading),s.length?RN(this):s.reading||process.nextTick(TNt,this)),r};Pn.prototype.addListener=Pn.prototype.on;Pn.prototype.removeListener=function(t,e){var r=yb.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(yQe,this),r};Pn.prototype.removeAllListeners=function(t){var e=yb.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(yQe,this),e};function yQe(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function TNt(t){ln("readable nexttick read 0"),t.read(0)}Pn.prototype.resume=function(){var t=this._readableState;return t.flowing||(ln("resume"),t.flowing=!t.readableListening,RNt(this,t)),t.paused=!1,this};function RNt(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(FNt,t,e))}function FNt(t,e){ln("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),ZV(t),e.flowing&&!e.reading&&t.read(0)}Pn.prototype.pause=function(){return ln("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ln("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function ZV(t){var e=t._readableState;for(ln("flow",e.flowing);e.flowing&&t.read()!==null;);}Pn.prototype.wrap=function(t){var e=this,r=this._readableState,s=!1;t.on("end",function(){if(ln("wrapped end"),r.decoder&&!r.ended){var c=r.decoder.end();c&&c.length&&e.push(c)}e.push(null)}),t.on("data",function(c){if(ln("wrapped data"),r.decoder&&(c=r.decoder.write(c)),!(r.objectMode&&c==null)&&!(!r.objectMode&&(!c||!c.length))){var f=e.push(c);f||(s=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(f){return function(){return t[f].apply(t,arguments)}}(a));for(var n=0;n=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function KV(t){var e=t._readableState;ln("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(NNt,e,t))}function NNt(t,e){if(ln("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(Pn.from=function(t,e){return WV===void 0&&(WV=fQe()),WV(Pn,t,e)});function IQe(t,e){for(var r=0,s=t.length;r{"use strict";BQe.exports=fh;var FN=cg().codes,ONt=FN.ERR_METHOD_NOT_IMPLEMENTED,LNt=FN.ERR_MULTIPLE_CALLBACK,MNt=FN.ERR_TRANSFORM_ALREADY_TRANSFORMING,_Nt=FN.ERR_TRANSFORM_WITH_LENGTH_0,NN=Vm();ug()(fh,NN);function UNt(t,e){var r=this._transformState;r.transforming=!1;var s=r.writecb;if(s===null)return this.emit("error",new LNt);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),s(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length{"use strict";SQe.exports=Eb;var vQe=XV();ug()(Eb,vQe);function Eb(t){if(!(this instanceof Eb))return new Eb(t);vQe.call(this,t)}Eb.prototype._transform=function(t,e,r){r(null,t)}});var QQe=L((EIr,kQe)=>{"use strict";var $V;function jNt(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var xQe=cg().codes,qNt=xQe.ERR_MISSING_ARGS,GNt=xQe.ERR_STREAM_DESTROYED;function bQe(t){if(t)throw t}function WNt(t){return t.setHeader&&typeof t.abort=="function"}function YNt(t,e,r,s){s=jNt(s);var a=!1;t.on("close",function(){a=!0}),$V===void 0&&($V=PN()),$V(t,{readable:e,writable:r},function(c){if(c)return s(c);a=!0,s()});var n=!1;return function(c){if(!a&&!n){if(n=!0,WNt(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();s(c||new GNt("pipe"))}}}function PQe(t){t()}function VNt(t,e){return t.pipe(e)}function KNt(t){return!t.length||typeof t[t.length-1]!="function"?bQe:t.pop()}function JNt(){for(var t=arguments.length,e=new Array(t),r=0;r0;return YNt(c,p,h,function(E){a||(a=E),E&&n.forEach(PQe),!p&&(n.forEach(PQe),s(a))})});return e.reduce(VNt)}kQe.exports=JNt});var _w=L((Xc,Cb)=>{var Ib=ye("stream");process.env.READABLE_STREAM==="disable"&&Ib?(Cb.exports=Ib.Readable,Object.assign(Cb.exports,Ib),Cb.exports.Stream=Ib):(Xc=Cb.exports=LV(),Xc.Stream=Ib||Xc,Xc.Readable=Xc,Xc.Writable=FV(),Xc.Duplex=Vm(),Xc.Transform=XV(),Xc.PassThrough=DQe(),Xc.finished=PN(),Xc.pipeline=QQe())});var FQe=L((IIr,RQe)=>{"use strict";var{Buffer:uf}=ye("buffer"),TQe=Symbol.for("BufferList");function Ci(t){if(!(this instanceof Ci))return new Ci(t);Ci._init.call(this,t)}Ci._init=function(e){Object.defineProperty(this,TQe,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Ci.prototype._new=function(e){return new Ci(e)};Ci.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let s=0;sthis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Ci.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Ci.prototype.copy=function(e,r,s,a){if((typeof s!="number"||s<0)&&(s=0),(typeof a!="number"||a>this.length)&&(a=this.length),s>=this.length||a<=0)return e||uf.alloc(0);let n=!!e,c=this._offset(s),f=a-s,p=f,h=n&&r||0,E=c[1];if(s===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:uf.concat(this._bufs,this.length);for(let C=0;CS)this._bufs[C].copy(e,h,E),h+=S;else{this._bufs[C].copy(e,h,E,E+p),h+=S;break}p-=S,E&&(E=0)}return e.length>h?e.slice(0,h):e};Ci.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let s=this._offset(e),a=this._offset(r),n=this._bufs.slice(s[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),s[1]!==0&&(n[0]=n[0].slice(s[1])),this._new(n)};Ci.prototype.toString=function(e,r,s){return this.slice(r,s).toString(e)};Ci.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Ci.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let s=this._offset(e),a=s[0],n=s[1];for(;a=t.length){let p=c.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=c.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};Ci.prototype._match=function(t,e){if(this.length-t{"use strict";var e7=_w().Duplex,zNt=ug(),wb=FQe();function na(t){if(!(this instanceof na))return new na(t);if(typeof t=="function"){this._callback=t;let e=function(s){this._callback&&(this._callback(s),this._callback=null)}.bind(this);this.on("pipe",function(s){s.on("error",e)}),this.on("unpipe",function(s){s.removeListener("error",e)}),t=null}wb._init.call(this,t),e7.call(this)}zNt(na,e7);Object.assign(na.prototype,wb.prototype);na.prototype._new=function(e){return new na(e)};na.prototype._write=function(e,r,s){this._appendBuffer(e),typeof s=="function"&&s()};na.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};na.prototype.end=function(e){e7.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};na.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};na.prototype._isBufferList=function(e){return e instanceof na||e instanceof wb||na.isBufferList(e)};na.isBufferList=wb.isBufferList;ON.exports=na;ON.exports.BufferListStream=na;ON.exports.BufferList=wb});var n7=L(Hw=>{var ZNt=Buffer.alloc,XNt="0000000000000000000",$Nt="7777777777777777777",OQe=48,LQe=Buffer.from("ustar\0","binary"),eOt=Buffer.from("00","binary"),tOt=Buffer.from("ustar ","binary"),rOt=Buffer.from(" \0","binary"),nOt=parseInt("7777",8),Bb=257,r7=263,iOt=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},sOt=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},oOt=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},MQe=function(t,e,r,s){for(;re?$Nt.slice(0,e)+" ":XNt.slice(0,e-t.length)+t+" "};function aOt(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],s=t.length-1;s>0;s--){var a=t[s];e?r.push(a):r.push(255-a)}var n=0,c=r.length;for(s=0;s=Math.pow(10,r)&&r++,e+r+t};Hw.decodeLongPath=function(t,e){return Uw(t,0,t.length,e)};Hw.encodePax=function(t){var e="";t.name&&(e+=t7(" path="+t.name+` +`)),t.linkname&&(e+=t7(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var s in r)e+=t7(" "+s+"="+r[s]+` +`);return Buffer.from(e)};Hw.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var a=r.indexOf("/");if(a===-1)return null;s+=s?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(s)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(gg(t.mode&nOt,6),100),e.write(gg(t.uid,6),108),e.write(gg(t.gid,6),116),e.write(gg(t.size,11),124),e.write(gg(t.mtime.getTime()/1e3|0,11),136),e[156]=OQe+oOt(t.type),t.linkname&&e.write(t.linkname,157),LQe.copy(e,Bb),eOt.copy(e,r7),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(gg(t.devmajor||0,6),329),e.write(gg(t.devminor||0,6),337),s&&e.write(s,345),e.write(gg(_Qe(e),6),148),e)};Hw.decode=function(t,e,r){var s=t[156]===0?0:t[156]-OQe,a=Uw(t,0,100,e),n=dg(t,100,8),c=dg(t,108,8),f=dg(t,116,8),p=dg(t,124,12),h=dg(t,136,12),E=sOt(s),C=t[157]===0?null:Uw(t,157,100,e),S=Uw(t,265,32),P=Uw(t,297,32),I=dg(t,329,8),R=dg(t,337,8),N=_Qe(t);if(N===8*32)return null;if(N!==dg(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(LQe.compare(t,Bb,Bb+6)===0)t[345]&&(a=Uw(t,345,155,e)+"/"+a);else if(!(tOt.compare(t,Bb,Bb+6)===0&&rOt.compare(t,r7,r7+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return s===0&&a&&a[a.length-1]==="/"&&(s=5),{name:a,mode:n,uid:c,gid:f,size:p,mtime:new Date(1e3*h),type:E,linkname:C,uname:S,gname:P,devmajor:I,devminor:R}}});var YQe=L((BIr,WQe)=>{var HQe=ye("util"),lOt=NQe(),vb=n7(),jQe=_w().Writable,qQe=_w().PassThrough,GQe=function(){},UQe=function(t){return t&=511,t&&512-t},cOt=function(t,e){var r=new LN(t,e);return r.end(),r},uOt=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},LN=function(t,e){this._parent=t,this.offset=e,qQe.call(this,{autoDestroy:!1})};HQe.inherits(LN,qQe);LN.prototype.destroy=function(t){this._parent.destroy(t)};var Ah=function(t){if(!(this instanceof Ah))return new Ah(t);jQe.call(this,t),t=t||{},this._offset=0,this._buffer=lOt(),this._missing=0,this._partial=!1,this._onparse=GQe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,s=function(){e._continue()},a=function(S){if(e._locked=!1,S)return e.destroy(S);e._stream||s()},n=function(){e._stream=null;var S=UQe(e._header.size);S?e._parse(S,c):e._parse(512,C),e._locked||s()},c=function(){e._buffer.consume(UQe(e._header.size)),e._parse(512,C),s()},f=function(){var S=e._header.size;e._paxGlobal=vb.decodePax(r.slice(0,S)),r.consume(S),n()},p=function(){var S=e._header.size;e._pax=vb.decodePax(r.slice(0,S)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(S),n()},h=function(){var S=e._header.size;this._gnuLongPath=vb.decodeLongPath(r.slice(0,S),t.filenameEncoding),r.consume(S),n()},E=function(){var S=e._header.size;this._gnuLongLinkPath=vb.decodeLongPath(r.slice(0,S),t.filenameEncoding),r.consume(S),n()},C=function(){var S=e._offset,P;try{P=e._header=vb.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(I){e.emit("error",I)}if(r.consume(512),!P){e._parse(512,C),s();return}if(P.type==="gnu-long-path"){e._parse(P.size,h),s();return}if(P.type==="gnu-long-link-path"){e._parse(P.size,E),s();return}if(P.type==="pax-global-header"){e._parse(P.size,f),s();return}if(P.type==="pax-header"){e._parse(P.size,p),s();return}if(e._gnuLongPath&&(P.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(P.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=P=uOt(P,e._pax),e._pax=null),e._locked=!0,!P.size||P.type==="directory"){e._parse(512,C),e.emit("entry",P,cOt(e,S),a);return}e._stream=new LN(e,S),e.emit("entry",P,e._stream,a),e._parse(P.size,n),s()};this._onheader=C,this._parse(512,C)};HQe.inherits(Ah,jQe);Ah.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};Ah.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};Ah.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=GQe,this._overflow?this._write(this._overflow,void 0,t):t()}};Ah.prototype._write=function(t,e,r){if(!this._destroyed){var s=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.lengthn&&(c=t.slice(n),t=t.slice(0,n)),s?s.end(t):a.append(t),this._overflow=c,this._onparse()}};Ah.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};WQe.exports=Ah});var KQe=L((vIr,VQe)=>{VQe.exports=ye("fs").constants||ye("constants")});var $Qe=L((SIr,XQe)=>{var jw=KQe(),JQe=kH(),_N=ug(),fOt=Buffer.alloc,zQe=_w().Readable,qw=_w().Writable,AOt=ye("string_decoder").StringDecoder,MN=n7(),pOt=parseInt("755",8),hOt=parseInt("644",8),ZQe=fOt(1024),s7=function(){},i7=function(t,e){e&=511,e&&t.push(ZQe.slice(0,512-e))};function gOt(t){switch(t&jw.S_IFMT){case jw.S_IFBLK:return"block-device";case jw.S_IFCHR:return"character-device";case jw.S_IFDIR:return"directory";case jw.S_IFIFO:return"fifo";case jw.S_IFLNK:return"symlink"}return"file"}var UN=function(t){qw.call(this),this.written=0,this._to=t,this._destroyed=!1};_N(UN,qw);UN.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};UN.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var HN=function(){qw.call(this),this.linkname="",this._decoder=new AOt("utf-8"),this._destroyed=!1};_N(HN,qw);HN.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};HN.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Sb=function(){qw.call(this),this._destroyed=!1};_N(Sb,qw);Sb.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};Sb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var EA=function(t){if(!(this instanceof EA))return new EA(t);zQe.call(this,t),this._drain=s7,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};_N(EA,zQe);EA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=s7);var s=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=gOt(t.mode)),t.mode||(t.mode=t.type==="directory"?pOt:hOt),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return i7(s,t.size),a?process.nextTick(r):this._drain=r,new Sb}if(t.type==="symlink"&&!t.linkname){var n=new HN;return JQe(n,function(f){if(f)return s.destroy(),r(f);t.linkname=n.linkname,s._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new Sb;var c=new UN(this);return this._stream=c,JQe(c,function(f){if(s._stream=null,f)return s.destroy(),r(f);if(c.written!==t.size)return s.destroy(),r(new Error("size mismatch"));i7(s,t.size),s._finalizing&&s.finalize(),r()}),c}};EA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(ZQe),this.push(null))};EA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};EA.prototype._encode=function(t){if(!t.pax){var e=MN.encode(t);if(e){this.push(e);return}}this._encodePax(t)};EA.prototype._encodePax=function(t){var e=MN.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(MN.encode(r)),this.push(e),i7(this,e.length),r.size=t.size,r.type=t.type,this.push(MN.encode(r))};EA.prototype._read=function(t){var e=this._drain;this._drain=s7,e()};XQe.exports=EA});var eTe=L(o7=>{o7.extract=YQe();o7.pack=$Qe()});var pTe=L(Ra=>{"use strict";var POt=Ra&&Ra.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ra,"__esModule",{value:!0});Ra.Minipass=Ra.isWritable=Ra.isReadable=Ra.isStream=void 0;var lTe=typeof process=="object"&&process?process:{stdout:null,stderr:null},y7=ye("node:events"),ATe=POt(ye("node:stream")),xOt=ye("node:string_decoder"),kOt=t=>!!t&&typeof t=="object"&&(t instanceof zN||t instanceof ATe.default||(0,Ra.isReadable)(t)||(0,Ra.isWritable)(t));Ra.isStream=kOt;var QOt=t=>!!t&&typeof t=="object"&&t instanceof y7.EventEmitter&&typeof t.pipe=="function"&&t.pipe!==ATe.default.Writable.prototype.pipe;Ra.isReadable=QOt;var TOt=t=>!!t&&typeof t=="object"&&t instanceof y7.EventEmitter&&typeof t.write=="function"&&typeof t.end=="function";Ra.isWritable=TOt;var ph=Symbol("EOF"),hh=Symbol("maybeEmitEnd"),mg=Symbol("emittedEnd"),GN=Symbol("emittingEnd"),Db=Symbol("emittedError"),WN=Symbol("closed"),cTe=Symbol("read"),YN=Symbol("flush"),uTe=Symbol("flushChunk"),ff=Symbol("encoding"),Ww=Symbol("decoder"),zs=Symbol("flowing"),bb=Symbol("paused"),Yw=Symbol("resume"),Zs=Symbol("buffer"),Ta=Symbol("pipes"),Xs=Symbol("bufferLength"),A7=Symbol("bufferPush"),VN=Symbol("bufferShift"),ia=Symbol("objectMode"),ts=Symbol("destroyed"),p7=Symbol("error"),h7=Symbol("emitData"),fTe=Symbol("emitEnd"),g7=Symbol("emitEnd2"),CA=Symbol("async"),d7=Symbol("abort"),KN=Symbol("aborted"),Pb=Symbol("signal"),Zm=Symbol("dataListeners"),nc=Symbol("discarded"),xb=t=>Promise.resolve().then(t),ROt=t=>t(),FOt=t=>t==="end"||t==="finish"||t==="prefinish",NOt=t=>t instanceof ArrayBuffer||!!t&&typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,OOt=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),JN=class{src;dest;opts;ondrain;constructor(e,r,s){this.src=e,this.dest=r,this.opts=s,this.ondrain=()=>e[Yw](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},m7=class extends JN{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,s){super(e,r,s),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}},LOt=t=>!!t.objectMode,MOt=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer",zN=class extends y7.EventEmitter{[zs]=!1;[bb]=!1;[Ta]=[];[Zs]=[];[ia];[ff];[CA];[Ww];[ph]=!1;[mg]=!1;[GN]=!1;[WN]=!1;[Db]=null;[Xs]=0;[ts]=!1;[Pb];[KN]=!1;[Zm]=0;[nc]=!1;writable=!0;readable=!0;constructor(...e){let r=e[0]||{};if(super(),r.objectMode&&typeof r.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");LOt(r)?(this[ia]=!0,this[ff]=null):MOt(r)?(this[ff]=r.encoding,this[ia]=!1):(this[ia]=!1,this[ff]=null),this[CA]=!!r.async,this[Ww]=this[ff]?new xOt.StringDecoder(this[ff]):null,r&&r.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[Zs]}),r&&r.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[Ta]});let{signal:s}=r;s&&(this[Pb]=s,s.aborted?this[d7]():s.addEventListener("abort",()=>this[d7]()))}get bufferLength(){return this[Xs]}get encoding(){return this[ff]}set encoding(e){throw new Error("Encoding must be set at instantiation time")}setEncoding(e){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[ia]}set objectMode(e){throw new Error("objectMode must be set at instantiation time")}get async(){return this[CA]}set async(e){this[CA]=this[CA]||!!e}[d7](){this[KN]=!0,this.emit("abort",this[Pb]?.reason),this.destroy(this[Pb]?.reason)}get aborted(){return this[KN]}set aborted(e){}write(e,r,s){if(this[KN])return!1;if(this[ph])throw new Error("write after end");if(this[ts])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(s=r,r="utf8"),r||(r="utf8");let a=this[CA]?xb:ROt;if(!this[ia]&&!Buffer.isBuffer(e)){if(OOt(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(NOt(e))e=Buffer.from(e);else if(typeof e!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[ia]?(this[zs]&&this[Xs]!==0&&this[YN](!0),this[zs]?this.emit("data",e):this[A7](e),this[Xs]!==0&&this.emit("readable"),s&&a(s),this[zs]):e.length?(typeof e=="string"&&!(r===this[ff]&&!this[Ww]?.lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[ff]&&(e=this[Ww].write(e)),this[zs]&&this[Xs]!==0&&this[YN](!0),this[zs]?this.emit("data",e):this[A7](e),this[Xs]!==0&&this.emit("readable"),s&&a(s),this[zs]):(this[Xs]!==0&&this.emit("readable"),s&&a(s),this[zs])}read(e){if(this[ts])return null;if(this[nc]=!1,this[Xs]===0||e===0||e&&e>this[Xs])return this[hh](),null;this[ia]&&(e=null),this[Zs].length>1&&!this[ia]&&(this[Zs]=[this[ff]?this[Zs].join(""):Buffer.concat(this[Zs],this[Xs])]);let r=this[cTe](e||null,this[Zs][0]);return this[hh](),r}[cTe](e,r){if(this[ia])this[VN]();else{let s=r;e===s.length||e===null?this[VN]():typeof s=="string"?(this[Zs][0]=s.slice(e),r=s.slice(0,e),this[Xs]-=e):(this[Zs][0]=s.subarray(e),r=s.subarray(0,e),this[Xs]-=e)}return this.emit("data",r),!this[Zs].length&&!this[ph]&&this.emit("drain"),r}end(e,r,s){return typeof e=="function"&&(s=e,e=void 0),typeof r=="function"&&(s=r,r="utf8"),e!==void 0&&this.write(e,r),s&&this.once("end",s),this[ph]=!0,this.writable=!1,(this[zs]||!this[bb])&&this[hh](),this}[Yw](){this[ts]||(!this[Zm]&&!this[Ta].length&&(this[nc]=!0),this[bb]=!1,this[zs]=!0,this.emit("resume"),this[Zs].length?this[YN]():this[ph]?this[hh]():this.emit("drain"))}resume(){return this[Yw]()}pause(){this[zs]=!1,this[bb]=!0,this[nc]=!1}get destroyed(){return this[ts]}get flowing(){return this[zs]}get paused(){return this[bb]}[A7](e){this[ia]?this[Xs]+=1:this[Xs]+=e.length,this[Zs].push(e)}[VN](){return this[ia]?this[Xs]-=1:this[Xs]-=this[Zs][0].length,this[Zs].shift()}[YN](e=!1){do;while(this[uTe](this[VN]())&&this[Zs].length);!e&&!this[Zs].length&&!this[ph]&&this.emit("drain")}[uTe](e){return this.emit("data",e),this[zs]}pipe(e,r){if(this[ts])return e;this[nc]=!1;let s=this[mg];return r=r||{},e===lTe.stdout||e===lTe.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,s?r.end&&e.end():(this[Ta].push(r.proxyErrors?new m7(this,e,r):new JN(this,e,r)),this[CA]?xb(()=>this[Yw]()):this[Yw]()),e}unpipe(e){let r=this[Ta].find(s=>s.dest===e);r&&(this[Ta].length===1?(this[zs]&&this[Zm]===0&&(this[zs]=!1),this[Ta]=[]):this[Ta].splice(this[Ta].indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let s=super.on(e,r);if(e==="data")this[nc]=!1,this[Zm]++,!this[Ta].length&&!this[zs]&&this[Yw]();else if(e==="readable"&&this[Xs]!==0)super.emit("readable");else if(FOt(e)&&this[mg])super.emit(e),this.removeAllListeners(e);else if(e==="error"&&this[Db]){let a=r;this[CA]?xb(()=>a.call(this,this[Db])):a.call(this,this[Db])}return s}removeListener(e,r){return this.off(e,r)}off(e,r){let s=super.off(e,r);return e==="data"&&(this[Zm]=this.listeners("data").length,this[Zm]===0&&!this[nc]&&!this[Ta].length&&(this[zs]=!1)),s}removeAllListeners(e){let r=super.removeAllListeners(e);return(e==="data"||e===void 0)&&(this[Zm]=0,!this[nc]&&!this[Ta].length&&(this[zs]=!1)),r}get emittedEnd(){return this[mg]}[hh](){!this[GN]&&!this[mg]&&!this[ts]&&this[Zs].length===0&&this[ph]&&(this[GN]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[WN]&&this.emit("close"),this[GN]=!1)}emit(e,...r){let s=r[0];if(e!=="error"&&e!=="close"&&e!==ts&&this[ts])return!1;if(e==="data")return!this[ia]&&!s?!1:this[CA]?(xb(()=>this[h7](s)),!0):this[h7](s);if(e==="end")return this[fTe]();if(e==="close"){if(this[WN]=!0,!this[mg]&&!this[ts])return!1;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[Db]=s,super.emit(p7,s);let n=!this[Pb]||this.listeners("error").length?super.emit("error",s):!1;return this[hh](),n}else if(e==="resume"){let n=super.emit("resume");return this[hh](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,...r);return this[hh](),a}[h7](e){for(let s of this[Ta])s.dest.write(e)===!1&&this.pause();let r=this[nc]?!1:super.emit("data",e);return this[hh](),r}[fTe](){return this[mg]?!1:(this[mg]=!0,this.readable=!1,this[CA]?(xb(()=>this[g7]()),!0):this[g7]())}[g7](){if(this[Ww]){let r=this[Ww].end();if(r){for(let s of this[Ta])s.dest.write(r);this[nc]||super.emit("data",r)}}for(let r of this[Ta])r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}async collect(){let e=Object.assign([],{dataLength:0});this[ia]||(e.dataLength=0);let r=this.promise();return this.on("data",s=>{e.push(s),this[ia]||(e.dataLength+=s.length)}),await r,e}async concat(){if(this[ia])throw new Error("cannot concat in objectMode");let e=await this.collect();return this[ff]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise((e,r)=>{this.on(ts,()=>r(new Error("stream destroyed"))),this.on("error",s=>r(s)),this.on("end",()=>e())})}[Symbol.asyncIterator](){this[nc]=!1;let e=!1,r=async()=>(this.pause(),e=!0,{value:void 0,done:!0});return{next:()=>{if(e)return r();let a=this.read();if(a!==null)return Promise.resolve({done:!1,value:a});if(this[ph])return r();let n,c,f=C=>{this.off("data",p),this.off("end",h),this.off(ts,E),r(),c(C)},p=C=>{this.off("error",f),this.off("end",h),this.off(ts,E),this.pause(),n({value:C,done:!!this[ph]})},h=()=>{this.off("error",f),this.off("data",p),this.off(ts,E),r(),n({done:!0,value:void 0})},E=()=>f(new Error("stream destroyed"));return new Promise((C,S)=>{c=S,n=C,this.once(ts,E),this.once("error",f),this.once("end",h),this.once("data",p)})},throw:r,return:r,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[nc]=!1;let e=!1,r=()=>(this.pause(),this.off(p7,r),this.off(ts,r),this.off("end",r),e=!0,{done:!0,value:void 0}),s=()=>{if(e)return r();let a=this.read();return a===null?r():{done:!1,value:a}};return this.once("end",r),this.once(p7,r),this.once(ts,r),{next:s,throw:r,return:r,[Symbol.iterator](){return this}}}destroy(e){if(this[ts])return e?this.emit("error",e):this.emit(ts),this;this[ts]=!0,this[nc]=!0,this[Zs].length=0,this[Xs]=0;let r=this;return typeof r.close=="function"&&!this[WN]&&r.close(),e?this.emit("error",e):this.emit(ts),this}static get isStream(){return Ra.isStream}};Ra.Minipass=zN});var dTe=L((YIr,wA)=>{"use strict";var Qb=ye("crypto"),{Minipass:_Ot}=pTe(),I7=["sha512","sha384","sha256"],w7=["sha512"],UOt=/^[a-z0-9+/]+(?:=?=?)$/i,HOt=/^([a-z0-9]+)-([^?]+)([?\S*]*)$/,jOt=/^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)?$/,qOt=/^[\x21-\x7E]+$/,Tb=t=>t?.length?`?${t.join("?")}`:"",C7=class extends _Ot{#t;#r;#i;constructor(e){super(),this.size=0,this.opts=e,this.#e(),e?.algorithms?this.algorithms=[...e.algorithms]:this.algorithms=[...w7],this.algorithm!==null&&!this.algorithms.includes(this.algorithm)&&this.algorithms.push(this.algorithm),this.hashes=this.algorithms.map(Qb.createHash)}#e(){this.sri=this.opts?.integrity?ic(this.opts?.integrity,this.opts):null,this.expectedSize=this.opts?.size,this.sri?this.sri.isHash?(this.goodSri=!0,this.algorithm=this.sri.algorithm):(this.goodSri=!this.sri.isEmpty(),this.algorithm=this.sri.pickAlgorithm(this.opts)):this.algorithm=null,this.digests=this.goodSri?this.sri[this.algorithm]:null,this.optString=Tb(this.opts?.options)}on(e,r){return e==="size"&&this.#r?r(this.#r):e==="integrity"&&this.#t?r(this.#t):e==="verified"&&this.#i?r(this.#i):super.on(e,r)}emit(e,r){return e==="end"&&this.#n(),super.emit(e,r)}write(e){return this.size+=e.length,this.hashes.forEach(r=>r.update(e)),super.write(e)}#n(){this.goodSri||this.#e();let e=ic(this.hashes.map((s,a)=>`${this.algorithms[a]}-${s.digest("base64")}${this.optString}`).join(" "),this.opts),r=this.goodSri&&e.match(this.sri,this.opts);if(typeof this.expectedSize=="number"&&this.size!==this.expectedSize){let s=new Error(`stream size mismatch when checking ${this.sri}. + Wanted: ${this.expectedSize} + Found: ${this.size}`);s.code="EBADSIZE",s.found=this.size,s.expected=this.expectedSize,s.sri=this.sri,this.emit("error",s)}else if(this.sri&&!r){let s=new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${e}. (${this.size} bytes)`);s.code="EINTEGRITY",s.found=e,s.expected=this.digests,s.algorithm=this.algorithm,s.sri=this.sri,this.emit("error",s)}else this.#r=this.size,this.emit("size",this.size),this.#t=e,this.emit("integrity",e),r&&(this.#i=r,this.emit("verified",r))}},gh=class{get isHash(){return!0}constructor(e,r){let s=r?.strict;this.source=e.trim(),this.digest="",this.algorithm="",this.options=[];let a=this.source.match(s?jOt:HOt);if(!a||s&&!I7.includes(a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];n&&(this.options=n.slice(1).split("?"))}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}match(e,r){let s=ic(e,r);if(!s)return!1;if(s.isIntegrity){let a=s.pickAlgorithm(r,[this.algorithm]);if(!a)return!1;let n=s[a].find(c=>c.digest===this.digest);return n||!1}return s.digest===this.digest?s:!1}toString(e){return e?.strict&&!(I7.includes(this.algorithm)&&this.digest.match(UOt)&&this.options.every(r=>r.match(qOt)))?"":`${this.algorithm}-${this.digest}${Tb(this.options)}`}};function hTe(t,e,r,s){let a=t!=="",n=!1,c="",f=s.length-1;for(let h=0;hs[a].find(c=>n.digest===c.digest)))throw new Error("hashes do not match, cannot update integrity")}else this[a]=s[a]}match(e,r){let s=ic(e,r);if(!s)return!1;let a=s.pickAlgorithm(r,Object.keys(this));return!!a&&this[a]&&s[a]&&this[a].find(n=>s[a].find(c=>n.digest===c.digest))||!1}pickAlgorithm(e,r){let s=e?.pickAlgorithm||ZOt,a=Object.keys(this).filter(n=>r?.length?r.includes(n):!0);return a.length?a.reduce((n,c)=>s(n,c)||n):null}};wA.exports.parse=ic;function ic(t,e){if(!t)return null;if(typeof t=="string")return E7(t,e);if(t.algorithm&&t.digest){let r=new Xm;return r[t.algorithm]=[t],E7(kb(r,e),e)}else return E7(kb(t,e),e)}function E7(t,e){if(e?.single)return new gh(t,e);let r=t.trim().split(/\s+/).reduce((s,a)=>{let n=new gh(a,e);if(n.algorithm&&n.digest){let c=n.algorithm;s[c]||(s[c]=[]),s[c].push(n)}return s},new Xm);return r.isEmpty()?null:r}wA.exports.stringify=kb;function kb(t,e){return t.algorithm&&t.digest?gh.prototype.toString.call(t,e):typeof t=="string"?kb(ic(t,e),e):Xm.prototype.toString.call(t,e)}wA.exports.fromHex=GOt;function GOt(t,e,r){let s=Tb(r?.options);return ic(`${e}-${Buffer.from(t,"hex").toString("base64")}${s}`,r)}wA.exports.fromData=WOt;function WOt(t,e){let r=e?.algorithms||[...w7],s=Tb(e?.options);return r.reduce((a,n)=>{let c=Qb.createHash(n).update(t).digest("base64"),f=new gh(`${n}-${c}${s}`,e);if(f.algorithm&&f.digest){let p=f.algorithm;a[p]||(a[p]=[]),a[p].push(f)}return a},new Xm)}wA.exports.fromStream=YOt;function YOt(t,e){let r=B7(e);return new Promise((s,a)=>{t.pipe(r),t.on("error",a),r.on("error",a);let n;r.on("integrity",c=>{n=c}),r.on("end",()=>s(n)),r.resume()})}wA.exports.checkData=VOt;function VOt(t,e,r){if(e=ic(e,r),!e||!Object.keys(e).length){if(r?.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let s=e.pickAlgorithm(r),a=Qb.createHash(s).update(t).digest("base64"),n=ic({algorithm:s,digest:a}),c=n.match(e,r);if(r=r||{},c||!r.error)return c;if(typeof r.size=="number"&&t.length!==r.size){let f=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw f.code="EBADSIZE",f.found=t.length,f.expected=r.size,f.sri=e,f}else{let f=new Error(`Integrity checksum failed when using ${s}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw f.code="EINTEGRITY",f.found=n,f.expected=e,f.algorithm=s,f.sri=e,f}}wA.exports.checkStream=KOt;function KOt(t,e,r){if(r=r||Object.create(null),r.integrity=e,e=ic(e,r),!e||!Object.keys(e).length)return Promise.reject(Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"}));let s=B7(r);return new Promise((a,n)=>{t.pipe(s),t.on("error",n),s.on("error",n);let c;s.on("verified",f=>{c=f}),s.on("end",()=>a(c)),s.resume()})}wA.exports.integrityStream=B7;function B7(t=Object.create(null)){return new C7(t)}wA.exports.create=JOt;function JOt(t){let e=t?.algorithms||[...w7],r=Tb(t?.options),s=e.map(Qb.createHash);return{update:function(a,n){return s.forEach(c=>c.update(a,n)),this},digest:function(){return e.reduce((n,c)=>{let f=s.shift().digest("base64"),p=new gh(`${c}-${f}${r}`,t);if(p.algorithm&&p.digest){let h=p.algorithm;n[h]||(n[h]=[]),n[h].push(p)}return n},new Xm)}}}var zOt=Qb.getHashes(),gTe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>zOt.includes(t));function ZOt(t,e){return gTe.indexOf(t.toLowerCase())>=gTe.indexOf(e.toLowerCase())?t:e}});var v7=L(yg=>{"use strict";Object.defineProperty(yg,"__esModule",{value:!0});yg.Signature=yg.Envelope=void 0;yg.Envelope={fromJSON(t){return{payload:ZN(t.payload)?Buffer.from(mTe(t.payload)):Buffer.alloc(0),payloadType:ZN(t.payloadType)?globalThis.String(t.payloadType):"",signatures:globalThis.Array.isArray(t?.signatures)?t.signatures.map(e=>yg.Signature.fromJSON(e)):[]}},toJSON(t){let e={};return t.payload.length!==0&&(e.payload=yTe(t.payload)),t.payloadType!==""&&(e.payloadType=t.payloadType),t.signatures?.length&&(e.signatures=t.signatures.map(r=>yg.Signature.toJSON(r))),e}};yg.Signature={fromJSON(t){return{sig:ZN(t.sig)?Buffer.from(mTe(t.sig)):Buffer.alloc(0),keyid:ZN(t.keyid)?globalThis.String(t.keyid):""}},toJSON(t){let e={};return t.sig.length!==0&&(e.sig=yTe(t.sig)),t.keyid!==""&&(e.keyid=t.keyid),e}};function mTe(t){return Uint8Array.from(globalThis.Buffer.from(t,"base64"))}function yTe(t){return globalThis.Buffer.from(t).toString("base64")}function ZN(t){return t!=null}});var ITe=L(XN=>{"use strict";Object.defineProperty(XN,"__esModule",{value:!0});XN.Timestamp=void 0;XN.Timestamp={fromJSON(t){return{seconds:ETe(t.seconds)?globalThis.String(t.seconds):"0",nanos:ETe(t.nanos)?globalThis.Number(t.nanos):0}},toJSON(t){let e={};return t.seconds!=="0"&&(e.seconds=t.seconds),t.nanos!==0&&(e.nanos=Math.round(t.nanos)),e}};function ETe(t){return t!=null}});var Vw=L(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.TimeRange=_r.X509CertificateChain=_r.SubjectAlternativeName=_r.X509Certificate=_r.DistinguishedName=_r.ObjectIdentifierValuePair=_r.ObjectIdentifier=_r.PublicKeyIdentifier=_r.PublicKey=_r.RFC3161SignedTimestamp=_r.LogId=_r.MessageSignature=_r.HashOutput=_r.SubjectAlternativeNameType=_r.PublicKeyDetails=_r.HashAlgorithm=void 0;_r.hashAlgorithmFromJSON=wTe;_r.hashAlgorithmToJSON=BTe;_r.publicKeyDetailsFromJSON=vTe;_r.publicKeyDetailsToJSON=STe;_r.subjectAlternativeNameTypeFromJSON=DTe;_r.subjectAlternativeNameTypeToJSON=bTe;var XOt=ITe(),El;(function(t){t[t.HASH_ALGORITHM_UNSPECIFIED=0]="HASH_ALGORITHM_UNSPECIFIED",t[t.SHA2_256=1]="SHA2_256",t[t.SHA2_384=2]="SHA2_384",t[t.SHA2_512=3]="SHA2_512",t[t.SHA3_256=4]="SHA3_256",t[t.SHA3_384=5]="SHA3_384"})(El||(_r.HashAlgorithm=El={}));function wTe(t){switch(t){case 0:case"HASH_ALGORITHM_UNSPECIFIED":return El.HASH_ALGORITHM_UNSPECIFIED;case 1:case"SHA2_256":return El.SHA2_256;case 2:case"SHA2_384":return El.SHA2_384;case 3:case"SHA2_512":return El.SHA2_512;case 4:case"SHA3_256":return El.SHA3_256;case 5:case"SHA3_384":return El.SHA3_384;default:throw new globalThis.Error("Unrecognized enum value "+t+" for enum HashAlgorithm")}}function BTe(t){switch(t){case El.HASH_ALGORITHM_UNSPECIFIED:return"HASH_ALGORITHM_UNSPECIFIED";case El.SHA2_256:return"SHA2_256";case El.SHA2_384:return"SHA2_384";case El.SHA2_512:return"SHA2_512";case El.SHA3_256:return"SHA3_256";case El.SHA3_384:return"SHA3_384";default:throw new globalThis.Error("Unrecognized enum value "+t+" for enum HashAlgorithm")}}var rn;(function(t){t[t.PUBLIC_KEY_DETAILS_UNSPECIFIED=0]="PUBLIC_KEY_DETAILS_UNSPECIFIED",t[t.PKCS1_RSA_PKCS1V5=1]="PKCS1_RSA_PKCS1V5",t[t.PKCS1_RSA_PSS=2]="PKCS1_RSA_PSS",t[t.PKIX_RSA_PKCS1V5=3]="PKIX_RSA_PKCS1V5",t[t.PKIX_RSA_PSS=4]="PKIX_RSA_PSS",t[t.PKIX_RSA_PKCS1V15_2048_SHA256=9]="PKIX_RSA_PKCS1V15_2048_SHA256",t[t.PKIX_RSA_PKCS1V15_3072_SHA256=10]="PKIX_RSA_PKCS1V15_3072_SHA256",t[t.PKIX_RSA_PKCS1V15_4096_SHA256=11]="PKIX_RSA_PKCS1V15_4096_SHA256",t[t.PKIX_RSA_PSS_2048_SHA256=16]="PKIX_RSA_PSS_2048_SHA256",t[t.PKIX_RSA_PSS_3072_SHA256=17]="PKIX_RSA_PSS_3072_SHA256",t[t.PKIX_RSA_PSS_4096_SHA256=18]="PKIX_RSA_PSS_4096_SHA256",t[t.PKIX_ECDSA_P256_HMAC_SHA_256=6]="PKIX_ECDSA_P256_HMAC_SHA_256",t[t.PKIX_ECDSA_P256_SHA_256=5]="PKIX_ECDSA_P256_SHA_256",t[t.PKIX_ECDSA_P384_SHA_384=12]="PKIX_ECDSA_P384_SHA_384",t[t.PKIX_ECDSA_P521_SHA_512=13]="PKIX_ECDSA_P521_SHA_512",t[t.PKIX_ED25519=7]="PKIX_ED25519",t[t.PKIX_ED25519_PH=8]="PKIX_ED25519_PH",t[t.LMS_SHA256=14]="LMS_SHA256",t[t.LMOTS_SHA256=15]="LMOTS_SHA256"})(rn||(_r.PublicKeyDetails=rn={}));function vTe(t){switch(t){case 0:case"PUBLIC_KEY_DETAILS_UNSPECIFIED":return rn.PUBLIC_KEY_DETAILS_UNSPECIFIED;case 1:case"PKCS1_RSA_PKCS1V5":return rn.PKCS1_RSA_PKCS1V5;case 2:case"PKCS1_RSA_PSS":return rn.PKCS1_RSA_PSS;case 3:case"PKIX_RSA_PKCS1V5":return rn.PKIX_RSA_PKCS1V5;case 4:case"PKIX_RSA_PSS":return rn.PKIX_RSA_PSS;case 9:case"PKIX_RSA_PKCS1V15_2048_SHA256":return rn.PKIX_RSA_PKCS1V15_2048_SHA256;case 10:case"PKIX_RSA_PKCS1V15_3072_SHA256":return rn.PKIX_RSA_PKCS1V15_3072_SHA256;case 11:case"PKIX_RSA_PKCS1V15_4096_SHA256":return rn.PKIX_RSA_PKCS1V15_4096_SHA256;case 16:case"PKIX_RSA_PSS_2048_SHA256":return rn.PKIX_RSA_PSS_2048_SHA256;case 17:case"PKIX_RSA_PSS_3072_SHA256":return rn.PKIX_RSA_PSS_3072_SHA256;case 18:case"PKIX_RSA_PSS_4096_SHA256":return rn.PKIX_RSA_PSS_4096_SHA256;case 6:case"PKIX_ECDSA_P256_HMAC_SHA_256":return rn.PKIX_ECDSA_P256_HMAC_SHA_256;case 5:case"PKIX_ECDSA_P256_SHA_256":return rn.PKIX_ECDSA_P256_SHA_256;case 12:case"PKIX_ECDSA_P384_SHA_384":return rn.PKIX_ECDSA_P384_SHA_384;case 13:case"PKIX_ECDSA_P521_SHA_512":return rn.PKIX_ECDSA_P521_SHA_512;case 7:case"PKIX_ED25519":return rn.PKIX_ED25519;case 8:case"PKIX_ED25519_PH":return rn.PKIX_ED25519_PH;case 14:case"LMS_SHA256":return rn.LMS_SHA256;case 15:case"LMOTS_SHA256":return rn.LMOTS_SHA256;default:throw new globalThis.Error("Unrecognized enum value "+t+" for enum PublicKeyDetails")}}function STe(t){switch(t){case rn.PUBLIC_KEY_DETAILS_UNSPECIFIED:return"PUBLIC_KEY_DETAILS_UNSPECIFIED";case rn.PKCS1_RSA_PKCS1V5:return"PKCS1_RSA_PKCS1V5";case rn.PKCS1_RSA_PSS:return"PKCS1_RSA_PSS";case rn.PKIX_RSA_PKCS1V5:return"PKIX_RSA_PKCS1V5";case rn.PKIX_RSA_PSS:return"PKIX_RSA_PSS";case rn.PKIX_RSA_PKCS1V15_2048_SHA256:return"PKIX_RSA_PKCS1V15_2048_SHA256";case rn.PKIX_RSA_PKCS1V15_3072_SHA256:return"PKIX_RSA_PKCS1V15_3072_SHA256";case rn.PKIX_RSA_PKCS1V15_4096_SHA256:return"PKIX_RSA_PKCS1V15_4096_SHA256";case rn.PKIX_RSA_PSS_2048_SHA256:return"PKIX_RSA_PSS_2048_SHA256";case rn.PKIX_RSA_PSS_3072_SHA256:return"PKIX_RSA_PSS_3072_SHA256";case rn.PKIX_RSA_PSS_4096_SHA256:return"PKIX_RSA_PSS_4096_SHA256";case rn.PKIX_ECDSA_P256_HMAC_SHA_256:return"PKIX_ECDSA_P256_HMAC_SHA_256";case rn.PKIX_ECDSA_P256_SHA_256:return"PKIX_ECDSA_P256_SHA_256";case rn.PKIX_ECDSA_P384_SHA_384:return"PKIX_ECDSA_P384_SHA_384";case rn.PKIX_ECDSA_P521_SHA_512:return"PKIX_ECDSA_P521_SHA_512";case rn.PKIX_ED25519:return"PKIX_ED25519";case rn.PKIX_ED25519_PH:return"PKIX_ED25519_PH";case rn.LMS_SHA256:return"LMS_SHA256";case rn.LMOTS_SHA256:return"LMOTS_SHA256";default:throw new globalThis.Error("Unrecognized enum value "+t+" for enum PublicKeyDetails")}}var BA;(function(t){t[t.SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED=0]="SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED",t[t.EMAIL=1]="EMAIL",t[t.URI=2]="URI",t[t.OTHER_NAME=3]="OTHER_NAME"})(BA||(_r.SubjectAlternativeNameType=BA={}));function DTe(t){switch(t){case 0:case"SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED":return BA.SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED;case 1:case"EMAIL":return BA.EMAIL;case 2:case"URI":return BA.URI;case 3:case"OTHER_NAME":return BA.OTHER_NAME;default:throw new globalThis.Error("Unrecognized enum value "+t+" for enum SubjectAlternativeNameType")}}function bTe(t){switch(t){case BA.SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED:return"SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED";case BA.EMAIL:return"EMAIL";case BA.URI:return"URI";case BA.OTHER_NAME:return"OTHER_NAME";default:throw new globalThis.Error("Unrecognized enum value "+t+" for enum SubjectAlternativeNameType")}}_r.HashOutput={fromJSON(t){return{algorithm:ms(t.algorithm)?wTe(t.algorithm):0,digest:ms(t.digest)?Buffer.from($m(t.digest)):Buffer.alloc(0)}},toJSON(t){let e={};return t.algorithm!==0&&(e.algorithm=BTe(t.algorithm)),t.digest.length!==0&&(e.digest=ey(t.digest)),e}};_r.MessageSignature={fromJSON(t){return{messageDigest:ms(t.messageDigest)?_r.HashOutput.fromJSON(t.messageDigest):void 0,signature:ms(t.signature)?Buffer.from($m(t.signature)):Buffer.alloc(0)}},toJSON(t){let e={};return t.messageDigest!==void 0&&(e.messageDigest=_r.HashOutput.toJSON(t.messageDigest)),t.signature.length!==0&&(e.signature=ey(t.signature)),e}};_r.LogId={fromJSON(t){return{keyId:ms(t.keyId)?Buffer.from($m(t.keyId)):Buffer.alloc(0)}},toJSON(t){let e={};return t.keyId.length!==0&&(e.keyId=ey(t.keyId)),e}};_r.RFC3161SignedTimestamp={fromJSON(t){return{signedTimestamp:ms(t.signedTimestamp)?Buffer.from($m(t.signedTimestamp)):Buffer.alloc(0)}},toJSON(t){let e={};return t.signedTimestamp.length!==0&&(e.signedTimestamp=ey(t.signedTimestamp)),e}};_r.PublicKey={fromJSON(t){return{rawBytes:ms(t.rawBytes)?Buffer.from($m(t.rawBytes)):void 0,keyDetails:ms(t.keyDetails)?vTe(t.keyDetails):0,validFor:ms(t.validFor)?_r.TimeRange.fromJSON(t.validFor):void 0}},toJSON(t){let e={};return t.rawBytes!==void 0&&(e.rawBytes=ey(t.rawBytes)),t.keyDetails!==0&&(e.keyDetails=STe(t.keyDetails)),t.validFor!==void 0&&(e.validFor=_r.TimeRange.toJSON(t.validFor)),e}};_r.PublicKeyIdentifier={fromJSON(t){return{hint:ms(t.hint)?globalThis.String(t.hint):""}},toJSON(t){let e={};return t.hint!==""&&(e.hint=t.hint),e}};_r.ObjectIdentifier={fromJSON(t){return{id:globalThis.Array.isArray(t?.id)?t.id.map(e=>globalThis.Number(e)):[]}},toJSON(t){let e={};return t.id?.length&&(e.id=t.id.map(r=>Math.round(r))),e}};_r.ObjectIdentifierValuePair={fromJSON(t){return{oid:ms(t.oid)?_r.ObjectIdentifier.fromJSON(t.oid):void 0,value:ms(t.value)?Buffer.from($m(t.value)):Buffer.alloc(0)}},toJSON(t){let e={};return t.oid!==void 0&&(e.oid=_r.ObjectIdentifier.toJSON(t.oid)),t.value.length!==0&&(e.value=ey(t.value)),e}};_r.DistinguishedName={fromJSON(t){return{organization:ms(t.organization)?globalThis.String(t.organization):"",commonName:ms(t.commonName)?globalThis.String(t.commonName):""}},toJSON(t){let e={};return t.organization!==""&&(e.organization=t.organization),t.commonName!==""&&(e.commonName=t.commonName),e}};_r.X509Certificate={fromJSON(t){return{rawBytes:ms(t.rawBytes)?Buffer.from($m(t.rawBytes)):Buffer.alloc(0)}},toJSON(t){let e={};return t.rawBytes.length!==0&&(e.rawBytes=ey(t.rawBytes)),e}};_r.SubjectAlternativeName={fromJSON(t){return{type:ms(t.type)?DTe(t.type):0,identity:ms(t.regexp)?{$case:"regexp",regexp:globalThis.String(t.regexp)}:ms(t.value)?{$case:"value",value:globalThis.String(t.value)}:void 0}},toJSON(t){let e={};return t.type!==0&&(e.type=bTe(t.type)),t.identity?.$case==="regexp"?e.regexp=t.identity.regexp:t.identity?.$case==="value"&&(e.value=t.identity.value),e}};_r.X509CertificateChain={fromJSON(t){return{certificates:globalThis.Array.isArray(t?.certificates)?t.certificates.map(e=>_r.X509Certificate.fromJSON(e)):[]}},toJSON(t){let e={};return t.certificates?.length&&(e.certificates=t.certificates.map(r=>_r.X509Certificate.toJSON(r))),e}};_r.TimeRange={fromJSON(t){return{start:ms(t.start)?CTe(t.start):void 0,end:ms(t.end)?CTe(t.end):void 0}},toJSON(t){let e={};return t.start!==void 0&&(e.start=t.start.toISOString()),t.end!==void 0&&(e.end=t.end.toISOString()),e}};function $m(t){return Uint8Array.from(globalThis.Buffer.from(t,"base64"))}function ey(t){return globalThis.Buffer.from(t).toString("base64")}function $Ot(t){let e=(globalThis.Number(t.seconds)||0)*1e3;return e+=(t.nanos||0)/1e6,new globalThis.Date(e)}function CTe(t){return t instanceof globalThis.Date?t:typeof t=="string"?new globalThis.Date(t):$Ot(XOt.Timestamp.fromJSON(t))}function ms(t){return t!=null}});var S7=L(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.TransparencyLogEntry=ys.InclusionPromise=ys.InclusionProof=ys.Checkpoint=ys.KindVersion=void 0;var PTe=Vw();ys.KindVersion={fromJSON(t){return{kind:Fa(t.kind)?globalThis.String(t.kind):"",version:Fa(t.version)?globalThis.String(t.version):""}},toJSON(t){let e={};return t.kind!==""&&(e.kind=t.kind),t.version!==""&&(e.version=t.version),e}};ys.Checkpoint={fromJSON(t){return{envelope:Fa(t.envelope)?globalThis.String(t.envelope):""}},toJSON(t){let e={};return t.envelope!==""&&(e.envelope=t.envelope),e}};ys.InclusionProof={fromJSON(t){return{logIndex:Fa(t.logIndex)?globalThis.String(t.logIndex):"0",rootHash:Fa(t.rootHash)?Buffer.from($N(t.rootHash)):Buffer.alloc(0),treeSize:Fa(t.treeSize)?globalThis.String(t.treeSize):"0",hashes:globalThis.Array.isArray(t?.hashes)?t.hashes.map(e=>Buffer.from($N(e))):[],checkpoint:Fa(t.checkpoint)?ys.Checkpoint.fromJSON(t.checkpoint):void 0}},toJSON(t){let e={};return t.logIndex!=="0"&&(e.logIndex=t.logIndex),t.rootHash.length!==0&&(e.rootHash=eO(t.rootHash)),t.treeSize!=="0"&&(e.treeSize=t.treeSize),t.hashes?.length&&(e.hashes=t.hashes.map(r=>eO(r))),t.checkpoint!==void 0&&(e.checkpoint=ys.Checkpoint.toJSON(t.checkpoint)),e}};ys.InclusionPromise={fromJSON(t){return{signedEntryTimestamp:Fa(t.signedEntryTimestamp)?Buffer.from($N(t.signedEntryTimestamp)):Buffer.alloc(0)}},toJSON(t){let e={};return t.signedEntryTimestamp.length!==0&&(e.signedEntryTimestamp=eO(t.signedEntryTimestamp)),e}};ys.TransparencyLogEntry={fromJSON(t){return{logIndex:Fa(t.logIndex)?globalThis.String(t.logIndex):"0",logId:Fa(t.logId)?PTe.LogId.fromJSON(t.logId):void 0,kindVersion:Fa(t.kindVersion)?ys.KindVersion.fromJSON(t.kindVersion):void 0,integratedTime:Fa(t.integratedTime)?globalThis.String(t.integratedTime):"0",inclusionPromise:Fa(t.inclusionPromise)?ys.InclusionPromise.fromJSON(t.inclusionPromise):void 0,inclusionProof:Fa(t.inclusionProof)?ys.InclusionProof.fromJSON(t.inclusionProof):void 0,canonicalizedBody:Fa(t.canonicalizedBody)?Buffer.from($N(t.canonicalizedBody)):Buffer.alloc(0)}},toJSON(t){let e={};return t.logIndex!=="0"&&(e.logIndex=t.logIndex),t.logId!==void 0&&(e.logId=PTe.LogId.toJSON(t.logId)),t.kindVersion!==void 0&&(e.kindVersion=ys.KindVersion.toJSON(t.kindVersion)),t.integratedTime!=="0"&&(e.integratedTime=t.integratedTime),t.inclusionPromise!==void 0&&(e.inclusionPromise=ys.InclusionPromise.toJSON(t.inclusionPromise)),t.inclusionProof!==void 0&&(e.inclusionProof=ys.InclusionProof.toJSON(t.inclusionProof)),t.canonicalizedBody.length!==0&&(e.canonicalizedBody=eO(t.canonicalizedBody)),e}};function $N(t){return Uint8Array.from(globalThis.Buffer.from(t,"base64"))}function eO(t){return globalThis.Buffer.from(t).toString("base64")}function Fa(t){return t!=null}});var D7=L($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.Bundle=$c.VerificationMaterial=$c.TimestampVerificationData=void 0;var xTe=v7(),vA=Vw(),kTe=S7();$c.TimestampVerificationData={fromJSON(t){return{rfc3161Timestamps:globalThis.Array.isArray(t?.rfc3161Timestamps)?t.rfc3161Timestamps.map(e=>vA.RFC3161SignedTimestamp.fromJSON(e)):[]}},toJSON(t){let e={};return t.rfc3161Timestamps?.length&&(e.rfc3161Timestamps=t.rfc3161Timestamps.map(r=>vA.RFC3161SignedTimestamp.toJSON(r))),e}};$c.VerificationMaterial={fromJSON(t){return{content:Eg(t.publicKey)?{$case:"publicKey",publicKey:vA.PublicKeyIdentifier.fromJSON(t.publicKey)}:Eg(t.x509CertificateChain)?{$case:"x509CertificateChain",x509CertificateChain:vA.X509CertificateChain.fromJSON(t.x509CertificateChain)}:Eg(t.certificate)?{$case:"certificate",certificate:vA.X509Certificate.fromJSON(t.certificate)}:void 0,tlogEntries:globalThis.Array.isArray(t?.tlogEntries)?t.tlogEntries.map(e=>kTe.TransparencyLogEntry.fromJSON(e)):[],timestampVerificationData:Eg(t.timestampVerificationData)?$c.TimestampVerificationData.fromJSON(t.timestampVerificationData):void 0}},toJSON(t){let e={};return t.content?.$case==="publicKey"?e.publicKey=vA.PublicKeyIdentifier.toJSON(t.content.publicKey):t.content?.$case==="x509CertificateChain"?e.x509CertificateChain=vA.X509CertificateChain.toJSON(t.content.x509CertificateChain):t.content?.$case==="certificate"&&(e.certificate=vA.X509Certificate.toJSON(t.content.certificate)),t.tlogEntries?.length&&(e.tlogEntries=t.tlogEntries.map(r=>kTe.TransparencyLogEntry.toJSON(r))),t.timestampVerificationData!==void 0&&(e.timestampVerificationData=$c.TimestampVerificationData.toJSON(t.timestampVerificationData)),e}};$c.Bundle={fromJSON(t){return{mediaType:Eg(t.mediaType)?globalThis.String(t.mediaType):"",verificationMaterial:Eg(t.verificationMaterial)?$c.VerificationMaterial.fromJSON(t.verificationMaterial):void 0,content:Eg(t.messageSignature)?{$case:"messageSignature",messageSignature:vA.MessageSignature.fromJSON(t.messageSignature)}:Eg(t.dsseEnvelope)?{$case:"dsseEnvelope",dsseEnvelope:xTe.Envelope.fromJSON(t.dsseEnvelope)}:void 0}},toJSON(t){let e={};return t.mediaType!==""&&(e.mediaType=t.mediaType),t.verificationMaterial!==void 0&&(e.verificationMaterial=$c.VerificationMaterial.toJSON(t.verificationMaterial)),t.content?.$case==="messageSignature"?e.messageSignature=vA.MessageSignature.toJSON(t.content.messageSignature):t.content?.$case==="dsseEnvelope"&&(e.dsseEnvelope=xTe.Envelope.toJSON(t.content.dsseEnvelope)),e}};function Eg(t){return t!=null}});var b7=L(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.ClientTrustConfig=Ti.SigningConfig=Ti.TrustedRoot=Ti.CertificateAuthority=Ti.TransparencyLogInstance=void 0;var Il=Vw();Ti.TransparencyLogInstance={fromJSON(t){return{baseUrl:sa(t.baseUrl)?globalThis.String(t.baseUrl):"",hashAlgorithm:sa(t.hashAlgorithm)?(0,Il.hashAlgorithmFromJSON)(t.hashAlgorithm):0,publicKey:sa(t.publicKey)?Il.PublicKey.fromJSON(t.publicKey):void 0,logId:sa(t.logId)?Il.LogId.fromJSON(t.logId):void 0,checkpointKeyId:sa(t.checkpointKeyId)?Il.LogId.fromJSON(t.checkpointKeyId):void 0}},toJSON(t){let e={};return t.baseUrl!==""&&(e.baseUrl=t.baseUrl),t.hashAlgorithm!==0&&(e.hashAlgorithm=(0,Il.hashAlgorithmToJSON)(t.hashAlgorithm)),t.publicKey!==void 0&&(e.publicKey=Il.PublicKey.toJSON(t.publicKey)),t.logId!==void 0&&(e.logId=Il.LogId.toJSON(t.logId)),t.checkpointKeyId!==void 0&&(e.checkpointKeyId=Il.LogId.toJSON(t.checkpointKeyId)),e}};Ti.CertificateAuthority={fromJSON(t){return{subject:sa(t.subject)?Il.DistinguishedName.fromJSON(t.subject):void 0,uri:sa(t.uri)?globalThis.String(t.uri):"",certChain:sa(t.certChain)?Il.X509CertificateChain.fromJSON(t.certChain):void 0,validFor:sa(t.validFor)?Il.TimeRange.fromJSON(t.validFor):void 0}},toJSON(t){let e={};return t.subject!==void 0&&(e.subject=Il.DistinguishedName.toJSON(t.subject)),t.uri!==""&&(e.uri=t.uri),t.certChain!==void 0&&(e.certChain=Il.X509CertificateChain.toJSON(t.certChain)),t.validFor!==void 0&&(e.validFor=Il.TimeRange.toJSON(t.validFor)),e}};Ti.TrustedRoot={fromJSON(t){return{mediaType:sa(t.mediaType)?globalThis.String(t.mediaType):"",tlogs:globalThis.Array.isArray(t?.tlogs)?t.tlogs.map(e=>Ti.TransparencyLogInstance.fromJSON(e)):[],certificateAuthorities:globalThis.Array.isArray(t?.certificateAuthorities)?t.certificateAuthorities.map(e=>Ti.CertificateAuthority.fromJSON(e)):[],ctlogs:globalThis.Array.isArray(t?.ctlogs)?t.ctlogs.map(e=>Ti.TransparencyLogInstance.fromJSON(e)):[],timestampAuthorities:globalThis.Array.isArray(t?.timestampAuthorities)?t.timestampAuthorities.map(e=>Ti.CertificateAuthority.fromJSON(e)):[]}},toJSON(t){let e={};return t.mediaType!==""&&(e.mediaType=t.mediaType),t.tlogs?.length&&(e.tlogs=t.tlogs.map(r=>Ti.TransparencyLogInstance.toJSON(r))),t.certificateAuthorities?.length&&(e.certificateAuthorities=t.certificateAuthorities.map(r=>Ti.CertificateAuthority.toJSON(r))),t.ctlogs?.length&&(e.ctlogs=t.ctlogs.map(r=>Ti.TransparencyLogInstance.toJSON(r))),t.timestampAuthorities?.length&&(e.timestampAuthorities=t.timestampAuthorities.map(r=>Ti.CertificateAuthority.toJSON(r))),e}};Ti.SigningConfig={fromJSON(t){return{mediaType:sa(t.mediaType)?globalThis.String(t.mediaType):"",caUrl:sa(t.caUrl)?globalThis.String(t.caUrl):"",oidcUrl:sa(t.oidcUrl)?globalThis.String(t.oidcUrl):"",tlogUrls:globalThis.Array.isArray(t?.tlogUrls)?t.tlogUrls.map(e=>globalThis.String(e)):[],tsaUrls:globalThis.Array.isArray(t?.tsaUrls)?t.tsaUrls.map(e=>globalThis.String(e)):[]}},toJSON(t){let e={};return t.mediaType!==""&&(e.mediaType=t.mediaType),t.caUrl!==""&&(e.caUrl=t.caUrl),t.oidcUrl!==""&&(e.oidcUrl=t.oidcUrl),t.tlogUrls?.length&&(e.tlogUrls=t.tlogUrls),t.tsaUrls?.length&&(e.tsaUrls=t.tsaUrls),e}};Ti.ClientTrustConfig={fromJSON(t){return{mediaType:sa(t.mediaType)?globalThis.String(t.mediaType):"",trustedRoot:sa(t.trustedRoot)?Ti.TrustedRoot.fromJSON(t.trustedRoot):void 0,signingConfig:sa(t.signingConfig)?Ti.SigningConfig.fromJSON(t.signingConfig):void 0}},toJSON(t){let e={};return t.mediaType!==""&&(e.mediaType=t.mediaType),t.trustedRoot!==void 0&&(e.trustedRoot=Ti.TrustedRoot.toJSON(t.trustedRoot)),t.signingConfig!==void 0&&(e.signingConfig=Ti.SigningConfig.toJSON(t.signingConfig)),e}};function sa(t){return t!=null}});var RTe=L(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.Input=Vr.Artifact=Vr.ArtifactVerificationOptions_ObserverTimestampOptions=Vr.ArtifactVerificationOptions_TlogIntegratedTimestampOptions=Vr.ArtifactVerificationOptions_TimestampAuthorityOptions=Vr.ArtifactVerificationOptions_CtlogOptions=Vr.ArtifactVerificationOptions_TlogOptions=Vr.ArtifactVerificationOptions=Vr.PublicKeyIdentities=Vr.CertificateIdentities=Vr.CertificateIdentity=void 0;var QTe=D7(),Ig=Vw(),TTe=b7();Vr.CertificateIdentity={fromJSON(t){return{issuer:hi(t.issuer)?globalThis.String(t.issuer):"",san:hi(t.san)?Ig.SubjectAlternativeName.fromJSON(t.san):void 0,oids:globalThis.Array.isArray(t?.oids)?t.oids.map(e=>Ig.ObjectIdentifierValuePair.fromJSON(e)):[]}},toJSON(t){let e={};return t.issuer!==""&&(e.issuer=t.issuer),t.san!==void 0&&(e.san=Ig.SubjectAlternativeName.toJSON(t.san)),t.oids?.length&&(e.oids=t.oids.map(r=>Ig.ObjectIdentifierValuePair.toJSON(r))),e}};Vr.CertificateIdentities={fromJSON(t){return{identities:globalThis.Array.isArray(t?.identities)?t.identities.map(e=>Vr.CertificateIdentity.fromJSON(e)):[]}},toJSON(t){let e={};return t.identities?.length&&(e.identities=t.identities.map(r=>Vr.CertificateIdentity.toJSON(r))),e}};Vr.PublicKeyIdentities={fromJSON(t){return{publicKeys:globalThis.Array.isArray(t?.publicKeys)?t.publicKeys.map(e=>Ig.PublicKey.fromJSON(e)):[]}},toJSON(t){let e={};return t.publicKeys?.length&&(e.publicKeys=t.publicKeys.map(r=>Ig.PublicKey.toJSON(r))),e}};Vr.ArtifactVerificationOptions={fromJSON(t){return{signers:hi(t.certificateIdentities)?{$case:"certificateIdentities",certificateIdentities:Vr.CertificateIdentities.fromJSON(t.certificateIdentities)}:hi(t.publicKeys)?{$case:"publicKeys",publicKeys:Vr.PublicKeyIdentities.fromJSON(t.publicKeys)}:void 0,tlogOptions:hi(t.tlogOptions)?Vr.ArtifactVerificationOptions_TlogOptions.fromJSON(t.tlogOptions):void 0,ctlogOptions:hi(t.ctlogOptions)?Vr.ArtifactVerificationOptions_CtlogOptions.fromJSON(t.ctlogOptions):void 0,tsaOptions:hi(t.tsaOptions)?Vr.ArtifactVerificationOptions_TimestampAuthorityOptions.fromJSON(t.tsaOptions):void 0,integratedTsOptions:hi(t.integratedTsOptions)?Vr.ArtifactVerificationOptions_TlogIntegratedTimestampOptions.fromJSON(t.integratedTsOptions):void 0,observerOptions:hi(t.observerOptions)?Vr.ArtifactVerificationOptions_ObserverTimestampOptions.fromJSON(t.observerOptions):void 0}},toJSON(t){let e={};return t.signers?.$case==="certificateIdentities"?e.certificateIdentities=Vr.CertificateIdentities.toJSON(t.signers.certificateIdentities):t.signers?.$case==="publicKeys"&&(e.publicKeys=Vr.PublicKeyIdentities.toJSON(t.signers.publicKeys)),t.tlogOptions!==void 0&&(e.tlogOptions=Vr.ArtifactVerificationOptions_TlogOptions.toJSON(t.tlogOptions)),t.ctlogOptions!==void 0&&(e.ctlogOptions=Vr.ArtifactVerificationOptions_CtlogOptions.toJSON(t.ctlogOptions)),t.tsaOptions!==void 0&&(e.tsaOptions=Vr.ArtifactVerificationOptions_TimestampAuthorityOptions.toJSON(t.tsaOptions)),t.integratedTsOptions!==void 0&&(e.integratedTsOptions=Vr.ArtifactVerificationOptions_TlogIntegratedTimestampOptions.toJSON(t.integratedTsOptions)),t.observerOptions!==void 0&&(e.observerOptions=Vr.ArtifactVerificationOptions_ObserverTimestampOptions.toJSON(t.observerOptions)),e}};Vr.ArtifactVerificationOptions_TlogOptions={fromJSON(t){return{threshold:hi(t.threshold)?globalThis.Number(t.threshold):0,performOnlineVerification:hi(t.performOnlineVerification)?globalThis.Boolean(t.performOnlineVerification):!1,disable:hi(t.disable)?globalThis.Boolean(t.disable):!1}},toJSON(t){let e={};return t.threshold!==0&&(e.threshold=Math.round(t.threshold)),t.performOnlineVerification!==!1&&(e.performOnlineVerification=t.performOnlineVerification),t.disable!==!1&&(e.disable=t.disable),e}};Vr.ArtifactVerificationOptions_CtlogOptions={fromJSON(t){return{threshold:hi(t.threshold)?globalThis.Number(t.threshold):0,disable:hi(t.disable)?globalThis.Boolean(t.disable):!1}},toJSON(t){let e={};return t.threshold!==0&&(e.threshold=Math.round(t.threshold)),t.disable!==!1&&(e.disable=t.disable),e}};Vr.ArtifactVerificationOptions_TimestampAuthorityOptions={fromJSON(t){return{threshold:hi(t.threshold)?globalThis.Number(t.threshold):0,disable:hi(t.disable)?globalThis.Boolean(t.disable):!1}},toJSON(t){let e={};return t.threshold!==0&&(e.threshold=Math.round(t.threshold)),t.disable!==!1&&(e.disable=t.disable),e}};Vr.ArtifactVerificationOptions_TlogIntegratedTimestampOptions={fromJSON(t){return{threshold:hi(t.threshold)?globalThis.Number(t.threshold):0,disable:hi(t.disable)?globalThis.Boolean(t.disable):!1}},toJSON(t){let e={};return t.threshold!==0&&(e.threshold=Math.round(t.threshold)),t.disable!==!1&&(e.disable=t.disable),e}};Vr.ArtifactVerificationOptions_ObserverTimestampOptions={fromJSON(t){return{threshold:hi(t.threshold)?globalThis.Number(t.threshold):0,disable:hi(t.disable)?globalThis.Boolean(t.disable):!1}},toJSON(t){let e={};return t.threshold!==0&&(e.threshold=Math.round(t.threshold)),t.disable!==!1&&(e.disable=t.disable),e}};Vr.Artifact={fromJSON(t){return{data:hi(t.artifactUri)?{$case:"artifactUri",artifactUri:globalThis.String(t.artifactUri)}:hi(t.artifact)?{$case:"artifact",artifact:Buffer.from(eLt(t.artifact))}:hi(t.artifactDigest)?{$case:"artifactDigest",artifactDigest:Ig.HashOutput.fromJSON(t.artifactDigest)}:void 0}},toJSON(t){let e={};return t.data?.$case==="artifactUri"?e.artifactUri=t.data.artifactUri:t.data?.$case==="artifact"?e.artifact=tLt(t.data.artifact):t.data?.$case==="artifactDigest"&&(e.artifactDigest=Ig.HashOutput.toJSON(t.data.artifactDigest)),e}};Vr.Input={fromJSON(t){return{artifactTrustRoot:hi(t.artifactTrustRoot)?TTe.TrustedRoot.fromJSON(t.artifactTrustRoot):void 0,artifactVerificationOptions:hi(t.artifactVerificationOptions)?Vr.ArtifactVerificationOptions.fromJSON(t.artifactVerificationOptions):void 0,bundle:hi(t.bundle)?QTe.Bundle.fromJSON(t.bundle):void 0,artifact:hi(t.artifact)?Vr.Artifact.fromJSON(t.artifact):void 0}},toJSON(t){let e={};return t.artifactTrustRoot!==void 0&&(e.artifactTrustRoot=TTe.TrustedRoot.toJSON(t.artifactTrustRoot)),t.artifactVerificationOptions!==void 0&&(e.artifactVerificationOptions=Vr.ArtifactVerificationOptions.toJSON(t.artifactVerificationOptions)),t.bundle!==void 0&&(e.bundle=QTe.Bundle.toJSON(t.bundle)),t.artifact!==void 0&&(e.artifact=Vr.Artifact.toJSON(t.artifact)),e}};function eLt(t){return Uint8Array.from(globalThis.Buffer.from(t,"base64"))}function tLt(t){return globalThis.Buffer.from(t).toString("base64")}function hi(t){return t!=null}});var Rb=L(eu=>{"use strict";var rLt=eu&&eu.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),Kw=eu&&eu.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&rLt(e,t,r)};Object.defineProperty(eu,"__esModule",{value:!0});Kw(v7(),eu);Kw(D7(),eu);Kw(Vw(),eu);Kw(S7(),eu);Kw(b7(),eu);Kw(RTe(),eu)});var tO=L(Cl=>{"use strict";Object.defineProperty(Cl,"__esModule",{value:!0});Cl.BUNDLE_V03_MEDIA_TYPE=Cl.BUNDLE_V03_LEGACY_MEDIA_TYPE=Cl.BUNDLE_V02_MEDIA_TYPE=Cl.BUNDLE_V01_MEDIA_TYPE=void 0;Cl.isBundleWithCertificateChain=nLt;Cl.isBundleWithPublicKey=iLt;Cl.isBundleWithMessageSignature=sLt;Cl.isBundleWithDsseEnvelope=oLt;Cl.BUNDLE_V01_MEDIA_TYPE="application/vnd.dev.sigstore.bundle+json;version=0.1";Cl.BUNDLE_V02_MEDIA_TYPE="application/vnd.dev.sigstore.bundle+json;version=0.2";Cl.BUNDLE_V03_LEGACY_MEDIA_TYPE="application/vnd.dev.sigstore.bundle+json;version=0.3";Cl.BUNDLE_V03_MEDIA_TYPE="application/vnd.dev.sigstore.bundle.v0.3+json";function nLt(t){return t.verificationMaterial.content.$case==="x509CertificateChain"}function iLt(t){return t.verificationMaterial.content.$case==="publicKey"}function sLt(t){return t.content.$case==="messageSignature"}function oLt(t){return t.content.$case==="dsseEnvelope"}});var NTe=L(nO=>{"use strict";Object.defineProperty(nO,"__esModule",{value:!0});nO.toMessageSignatureBundle=lLt;nO.toDSSEBundle=cLt;var aLt=Rb(),rO=tO();function lLt(t){return{mediaType:t.certificateChain?rO.BUNDLE_V02_MEDIA_TYPE:rO.BUNDLE_V03_MEDIA_TYPE,content:{$case:"messageSignature",messageSignature:{messageDigest:{algorithm:aLt.HashAlgorithm.SHA2_256,digest:t.digest},signature:t.signature}},verificationMaterial:FTe(t)}}function cLt(t){return{mediaType:t.certificateChain?rO.BUNDLE_V02_MEDIA_TYPE:rO.BUNDLE_V03_MEDIA_TYPE,content:{$case:"dsseEnvelope",dsseEnvelope:uLt(t)},verificationMaterial:FTe(t)}}function uLt(t){return{payloadType:t.artifactType,payload:t.artifact,signatures:[fLt(t)]}}function fLt(t){return{keyid:t.keyHint||"",sig:t.signature}}function FTe(t){return{content:ALt(t),tlogEntries:[],timestampVerificationData:{rfc3161Timestamps:[]}}}function ALt(t){return t.certificate?t.certificateChain?{$case:"x509CertificateChain",x509CertificateChain:{certificates:[{rawBytes:t.certificate}]}}:{$case:"certificate",certificate:{rawBytes:t.certificate}}:{$case:"publicKey",publicKey:{hint:t.keyHint||""}}}});var x7=L(iO=>{"use strict";Object.defineProperty(iO,"__esModule",{value:!0});iO.ValidationError=void 0;var P7=class extends Error{constructor(e,r){super(e),this.fields=r}};iO.ValidationError=P7});var k7=L(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.assertBundle=pLt;ty.assertBundleV01=OTe;ty.isBundleV01=hLt;ty.assertBundleV02=gLt;ty.assertBundleLatest=dLt;var sO=x7();function pLt(t){let e=oO(t);if(e.length>0)throw new sO.ValidationError("invalid bundle",e)}function OTe(t){let e=[];if(e.push(...oO(t)),e.push(...mLt(t)),e.length>0)throw new sO.ValidationError("invalid v0.1 bundle",e)}function hLt(t){try{return OTe(t),!0}catch{return!1}}function gLt(t){let e=[];if(e.push(...oO(t)),e.push(...LTe(t)),e.length>0)throw new sO.ValidationError("invalid v0.2 bundle",e)}function dLt(t){let e=[];if(e.push(...oO(t)),e.push(...LTe(t)),e.push(...yLt(t)),e.length>0)throw new sO.ValidationError("invalid bundle",e)}function oO(t){let e=[];if((t.mediaType===void 0||!t.mediaType.match(/^application\/vnd\.dev\.sigstore\.bundle\+json;version=\d\.\d/)&&!t.mediaType.match(/^application\/vnd\.dev\.sigstore\.bundle\.v\d\.\d\+json/))&&e.push("mediaType"),t.content===void 0)e.push("content");else switch(t.content.$case){case"messageSignature":t.content.messageSignature.messageDigest===void 0?e.push("content.messageSignature.messageDigest"):t.content.messageSignature.messageDigest.digest.length===0&&e.push("content.messageSignature.messageDigest.digest"),t.content.messageSignature.signature.length===0&&e.push("content.messageSignature.signature");break;case"dsseEnvelope":t.content.dsseEnvelope.payload.length===0&&e.push("content.dsseEnvelope.payload"),t.content.dsseEnvelope.signatures.length!==1?e.push("content.dsseEnvelope.signatures"):t.content.dsseEnvelope.signatures[0].sig.length===0&&e.push("content.dsseEnvelope.signatures[0].sig");break}if(t.verificationMaterial===void 0)e.push("verificationMaterial");else{if(t.verificationMaterial.content===void 0)e.push("verificationMaterial.content");else switch(t.verificationMaterial.content.$case){case"x509CertificateChain":t.verificationMaterial.content.x509CertificateChain.certificates.length===0&&e.push("verificationMaterial.content.x509CertificateChain.certificates"),t.verificationMaterial.content.x509CertificateChain.certificates.forEach((r,s)=>{r.rawBytes.length===0&&e.push(`verificationMaterial.content.x509CertificateChain.certificates[${s}].rawBytes`)});break;case"certificate":t.verificationMaterial.content.certificate.rawBytes.length===0&&e.push("verificationMaterial.content.certificate.rawBytes");break}t.verificationMaterial.tlogEntries===void 0?e.push("verificationMaterial.tlogEntries"):t.verificationMaterial.tlogEntries.length>0&&t.verificationMaterial.tlogEntries.forEach((r,s)=>{r.logId===void 0&&e.push(`verificationMaterial.tlogEntries[${s}].logId`),r.kindVersion===void 0&&e.push(`verificationMaterial.tlogEntries[${s}].kindVersion`)})}return e}function mLt(t){let e=[];return t.verificationMaterial&&t.verificationMaterial.tlogEntries?.length>0&&t.verificationMaterial.tlogEntries.forEach((r,s)=>{r.inclusionPromise===void 0&&e.push(`verificationMaterial.tlogEntries[${s}].inclusionPromise`)}),e}function LTe(t){let e=[];return t.verificationMaterial&&t.verificationMaterial.tlogEntries?.length>0&&t.verificationMaterial.tlogEntries.forEach((r,s)=>{r.inclusionProof===void 0?e.push(`verificationMaterial.tlogEntries[${s}].inclusionProof`):r.inclusionProof.checkpoint===void 0&&e.push(`verificationMaterial.tlogEntries[${s}].inclusionProof.checkpoint`)}),e}function yLt(t){let e=[];return t.verificationMaterial?.content?.$case==="x509CertificateChain"&&e.push("verificationMaterial.content.$case"),e}});var _Te=L(SA=>{"use strict";Object.defineProperty(SA,"__esModule",{value:!0});SA.envelopeToJSON=SA.envelopeFromJSON=SA.bundleToJSON=SA.bundleFromJSON=void 0;var aO=Rb(),MTe=tO(),Q7=k7(),ELt=t=>{let e=aO.Bundle.fromJSON(t);switch(e.mediaType){case MTe.BUNDLE_V01_MEDIA_TYPE:(0,Q7.assertBundleV01)(e);break;case MTe.BUNDLE_V02_MEDIA_TYPE:(0,Q7.assertBundleV02)(e);break;default:(0,Q7.assertBundleLatest)(e);break}return e};SA.bundleFromJSON=ELt;var ILt=t=>aO.Bundle.toJSON(t);SA.bundleToJSON=ILt;var CLt=t=>aO.Envelope.fromJSON(t);SA.envelopeFromJSON=CLt;var wLt=t=>aO.Envelope.toJSON(t);SA.envelopeToJSON=wLt});var Nb=L(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.isBundleV01=Zr.assertBundleV02=Zr.assertBundleV01=Zr.assertBundleLatest=Zr.assertBundle=Zr.envelopeToJSON=Zr.envelopeFromJSON=Zr.bundleToJSON=Zr.bundleFromJSON=Zr.ValidationError=Zr.isBundleWithPublicKey=Zr.isBundleWithMessageSignature=Zr.isBundleWithDsseEnvelope=Zr.isBundleWithCertificateChain=Zr.BUNDLE_V03_MEDIA_TYPE=Zr.BUNDLE_V03_LEGACY_MEDIA_TYPE=Zr.BUNDLE_V02_MEDIA_TYPE=Zr.BUNDLE_V01_MEDIA_TYPE=Zr.toMessageSignatureBundle=Zr.toDSSEBundle=void 0;var UTe=NTe();Object.defineProperty(Zr,"toDSSEBundle",{enumerable:!0,get:function(){return UTe.toDSSEBundle}});Object.defineProperty(Zr,"toMessageSignatureBundle",{enumerable:!0,get:function(){return UTe.toMessageSignatureBundle}});var Cg=tO();Object.defineProperty(Zr,"BUNDLE_V01_MEDIA_TYPE",{enumerable:!0,get:function(){return Cg.BUNDLE_V01_MEDIA_TYPE}});Object.defineProperty(Zr,"BUNDLE_V02_MEDIA_TYPE",{enumerable:!0,get:function(){return Cg.BUNDLE_V02_MEDIA_TYPE}});Object.defineProperty(Zr,"BUNDLE_V03_LEGACY_MEDIA_TYPE",{enumerable:!0,get:function(){return Cg.BUNDLE_V03_LEGACY_MEDIA_TYPE}});Object.defineProperty(Zr,"BUNDLE_V03_MEDIA_TYPE",{enumerable:!0,get:function(){return Cg.BUNDLE_V03_MEDIA_TYPE}});Object.defineProperty(Zr,"isBundleWithCertificateChain",{enumerable:!0,get:function(){return Cg.isBundleWithCertificateChain}});Object.defineProperty(Zr,"isBundleWithDsseEnvelope",{enumerable:!0,get:function(){return Cg.isBundleWithDsseEnvelope}});Object.defineProperty(Zr,"isBundleWithMessageSignature",{enumerable:!0,get:function(){return Cg.isBundleWithMessageSignature}});Object.defineProperty(Zr,"isBundleWithPublicKey",{enumerable:!0,get:function(){return Cg.isBundleWithPublicKey}});var BLt=x7();Object.defineProperty(Zr,"ValidationError",{enumerable:!0,get:function(){return BLt.ValidationError}});var lO=_Te();Object.defineProperty(Zr,"bundleFromJSON",{enumerable:!0,get:function(){return lO.bundleFromJSON}});Object.defineProperty(Zr,"bundleToJSON",{enumerable:!0,get:function(){return lO.bundleToJSON}});Object.defineProperty(Zr,"envelopeFromJSON",{enumerable:!0,get:function(){return lO.envelopeFromJSON}});Object.defineProperty(Zr,"envelopeToJSON",{enumerable:!0,get:function(){return lO.envelopeToJSON}});var Fb=k7();Object.defineProperty(Zr,"assertBundle",{enumerable:!0,get:function(){return Fb.assertBundle}});Object.defineProperty(Zr,"assertBundleLatest",{enumerable:!0,get:function(){return Fb.assertBundleLatest}});Object.defineProperty(Zr,"assertBundleV01",{enumerable:!0,get:function(){return Fb.assertBundleV01}});Object.defineProperty(Zr,"assertBundleV02",{enumerable:!0,get:function(){return Fb.assertBundleV02}});Object.defineProperty(Zr,"isBundleV01",{enumerable:!0,get:function(){return Fb.isBundleV01}})});var Ob=L(uO=>{"use strict";Object.defineProperty(uO,"__esModule",{value:!0});uO.ByteStream=void 0;var T7=class extends Error{},cO=class t{constructor(e){this.start=0,e?(this.buf=e,this.view=Buffer.from(e)):(this.buf=new ArrayBuffer(0),this.view=Buffer.from(this.buf))}get buffer(){return this.view.subarray(0,this.start)}get length(){return this.view.byteLength}get position(){return this.start}seek(e){this.start=e}slice(e,r){let s=e+r;if(s>this.length)throw new T7("request past end of buffer");return this.view.subarray(e,s)}appendChar(e){this.ensureCapacity(1),this.view[this.start]=e,this.start+=1}appendUint16(e){this.ensureCapacity(2);let r=new Uint16Array([e]),s=new Uint8Array(r.buffer);this.view[this.start]=s[1],this.view[this.start+1]=s[0],this.start+=2}appendUint24(e){this.ensureCapacity(3);let r=new Uint32Array([e]),s=new Uint8Array(r.buffer);this.view[this.start]=s[2],this.view[this.start+1]=s[1],this.view[this.start+2]=s[0],this.start+=3}appendView(e){this.ensureCapacity(e.length),this.view.set(e,this.start),this.start+=e.length}getBlock(e){if(e<=0)return Buffer.alloc(0);if(this.start+e>this.view.length)throw new Error("request past end of buffer");let r=this.view.subarray(this.start,this.start+e);return this.start+=e,r}getUint8(){return this.getBlock(1)[0]}getUint16(){let e=this.getBlock(2);return e[0]<<8|e[1]}ensureCapacity(e){if(this.start+e>this.view.byteLength){let r=t.BLOCK_SIZE+(e>t.BLOCK_SIZE?e:0);this.realloc(this.view.byteLength+r)}}realloc(e){let r=new ArrayBuffer(e),s=Buffer.from(r);s.set(this.view),this.buf=r,this.view=s}};uO.ByteStream=cO;cO.BLOCK_SIZE=1024});var fO=L(Jw=>{"use strict";Object.defineProperty(Jw,"__esModule",{value:!0});Jw.ASN1TypeError=Jw.ASN1ParseError=void 0;var R7=class extends Error{};Jw.ASN1ParseError=R7;var F7=class extends Error{};Jw.ASN1TypeError=F7});var jTe=L(AO=>{"use strict";Object.defineProperty(AO,"__esModule",{value:!0});AO.decodeLength=vLt;AO.encodeLength=SLt;var HTe=fO();function vLt(t){let e=t.getUint8();if(!(e&128))return e;let r=e&127;if(r>6)throw new HTe.ASN1ParseError("length exceeds 6 byte limit");let s=0;for(let a=0;a0n;)r.unshift(Number(e&255n)),e=e>>8n;return Buffer.from([128|r.length,...r])}});var GTe=L(wg=>{"use strict";Object.defineProperty(wg,"__esModule",{value:!0});wg.parseInteger=PLt;wg.parseStringASCII=qTe;wg.parseTime=xLt;wg.parseOID=kLt;wg.parseBoolean=QLt;wg.parseBitString=TLt;var DLt=/^(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\.\d{3})?Z$/,bLt=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\.\d{3})?Z$/;function PLt(t){let e=0,r=t.length,s=t[e],a=s>127,n=a?255:0;for(;s==n&&++e=50?1900:2e3,s[1]=a.toString()}return new Date(`${s[1]}-${s[2]}-${s[3]}T${s[4]}:${s[5]}:${s[6]}Z`)}function kLt(t){let e=0,r=t.length,s=t[e++],a=Math.floor(s/40),n=s%40,c=`${a}.${n}`,f=0;for(;e=f;--p)a.push(c>>p&1)}return a}});var YTe=L(pO=>{"use strict";Object.defineProperty(pO,"__esModule",{value:!0});pO.ASN1Tag=void 0;var WTe=fO(),ry={BOOLEAN:1,INTEGER:2,BIT_STRING:3,OCTET_STRING:4,OBJECT_IDENTIFIER:6,SEQUENCE:16,SET:17,PRINTABLE_STRING:19,UTC_TIME:23,GENERALIZED_TIME:24},N7={UNIVERSAL:0,APPLICATION:1,CONTEXT_SPECIFIC:2,PRIVATE:3},O7=class{constructor(e){if(this.number=e&31,this.constructed=(e&32)===32,this.class=e>>6,this.number===31)throw new WTe.ASN1ParseError("long form tags not supported");if(this.class===N7.UNIVERSAL&&this.number===0)throw new WTe.ASN1ParseError("unsupported tag 0x00")}isUniversal(){return this.class===N7.UNIVERSAL}isContextSpecific(e){let r=this.class===N7.CONTEXT_SPECIFIC;return e!==void 0?r&&this.number===e:r}isBoolean(){return this.isUniversal()&&this.number===ry.BOOLEAN}isInteger(){return this.isUniversal()&&this.number===ry.INTEGER}isBitString(){return this.isUniversal()&&this.number===ry.BIT_STRING}isOctetString(){return this.isUniversal()&&this.number===ry.OCTET_STRING}isOID(){return this.isUniversal()&&this.number===ry.OBJECT_IDENTIFIER}isUTCTime(){return this.isUniversal()&&this.number===ry.UTC_TIME}isGeneralizedTime(){return this.isUniversal()&&this.number===ry.GENERALIZED_TIME}toDER(){return this.number|(this.constructed?32:0)|this.class<<6}};pO.ASN1Tag=O7});var zTe=L(gO=>{"use strict";Object.defineProperty(gO,"__esModule",{value:!0});gO.ASN1Obj=void 0;var L7=Ob(),ny=fO(),KTe=jTe(),zw=GTe(),RLt=YTe(),hO=class{constructor(e,r,s){this.tag=e,this.value=r,this.subs=s}static parseBuffer(e){return JTe(new L7.ByteStream(e))}toDER(){let e=new L7.ByteStream;if(this.subs.length>0)for(let a of this.subs)e.appendView(a.toDER());else e.appendView(this.value);let r=e.buffer,s=new L7.ByteStream;return s.appendChar(this.tag.toDER()),s.appendView((0,KTe.encodeLength)(r.length)),s.appendView(r),s.buffer}toBoolean(){if(!this.tag.isBoolean())throw new ny.ASN1TypeError("not a boolean");return(0,zw.parseBoolean)(this.value)}toInteger(){if(!this.tag.isInteger())throw new ny.ASN1TypeError("not an integer");return(0,zw.parseInteger)(this.value)}toOID(){if(!this.tag.isOID())throw new ny.ASN1TypeError("not an OID");return(0,zw.parseOID)(this.value)}toDate(){switch(!0){case this.tag.isUTCTime():return(0,zw.parseTime)(this.value,!0);case this.tag.isGeneralizedTime():return(0,zw.parseTime)(this.value,!1);default:throw new ny.ASN1TypeError("not a date")}}toBitString(){if(!this.tag.isBitString())throw new ny.ASN1TypeError("not a bit string");return(0,zw.parseBitString)(this.value)}};gO.ASN1Obj=hO;function JTe(t){let e=new RLt.ASN1Tag(t.getUint8()),r=(0,KTe.decodeLength)(t),s=t.slice(t.position,r),a=t.position,n=[];if(e.constructed)n=VTe(t,r);else if(e.isOctetString())try{n=VTe(t,r)}catch{}return n.length===0&&t.seek(a+r),new hO(e,s,n)}function VTe(t,e){let r=t.position+e;if(r>t.length)throw new ny.ASN1ParseError("invalid length");let s=[];for(;t.position{"use strict";Object.defineProperty(dO,"__esModule",{value:!0});dO.ASN1Obj=void 0;var FLt=zTe();Object.defineProperty(dO,"ASN1Obj",{enumerable:!0,get:function(){return FLt.ASN1Obj}})});var Zw=L(Bg=>{"use strict";var NLt=Bg&&Bg.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Bg,"__esModule",{value:!0});Bg.createPublicKey=OLt;Bg.digest=LLt;Bg.verify=MLt;Bg.bufferEqual=_Lt;var Lb=NLt(ye("crypto"));function OLt(t,e="spki"){return typeof t=="string"?Lb.default.createPublicKey(t):Lb.default.createPublicKey({key:t,format:"der",type:e})}function LLt(t,...e){let r=Lb.default.createHash(t);for(let s of e)r.update(s);return r.digest()}function MLt(t,e,r,s){try{return Lb.default.verify(s,t,e,r)}catch{return!1}}function _Lt(t,e){try{return Lb.default.timingSafeEqual(t,e)}catch{return!1}}});var ZTe=L(M7=>{"use strict";Object.defineProperty(M7,"__esModule",{value:!0});M7.preAuthEncoding=HLt;var ULt="DSSEv1";function HLt(t,e){let r=[ULt,t.length,t,e.length,""].join(" ");return Buffer.concat([Buffer.from(r,"ascii"),e])}});var eRe=L(yO=>{"use strict";Object.defineProperty(yO,"__esModule",{value:!0});yO.base64Encode=jLt;yO.base64Decode=qLt;var XTe="base64",$Te="utf-8";function jLt(t){return Buffer.from(t,$Te).toString(XTe)}function qLt(t){return Buffer.from(t,XTe).toString($Te)}});var tRe=L(U7=>{"use strict";Object.defineProperty(U7,"__esModule",{value:!0});U7.canonicalize=_7;function _7(t){let e="";if(t===null||typeof t!="object"||t.toJSON!=null)e+=JSON.stringify(t);else if(Array.isArray(t)){e+="[";let r=!0;t.forEach(s=>{r||(e+=","),r=!1,e+=_7(s)}),e+="]"}else{e+="{";let r=!0;Object.keys(t).sort().forEach(s=>{r||(e+=","),r=!1,e+=JSON.stringify(s),e+=":",e+=_7(t[s])}),e+="}"}return e}});var H7=L(EO=>{"use strict";Object.defineProperty(EO,"__esModule",{value:!0});EO.toDER=YLt;EO.fromDER=VLt;var GLt=/-----BEGIN (.*)-----/,WLt=/-----END (.*)-----/;function YLt(t){let e="";return t.split(` +`).forEach(r=>{r.match(GLt)||r.match(WLt)||(e+=r)}),Buffer.from(e,"base64")}function VLt(t,e="CERTIFICATE"){let s=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...s,`-----END ${e}-----`].join(` +`).concat(` +`)}});var IO=L(Xw=>{"use strict";Object.defineProperty(Xw,"__esModule",{value:!0});Xw.SHA2_HASH_ALGOS=Xw.ECDSA_SIGNATURE_ALGOS=void 0;Xw.ECDSA_SIGNATURE_ALGOS={"1.2.840.10045.4.3.1":"sha224","1.2.840.10045.4.3.2":"sha256","1.2.840.10045.4.3.3":"sha384","1.2.840.10045.4.3.4":"sha512"};Xw.SHA2_HASH_ALGOS={"2.16.840.1.101.3.4.2.1":"sha256","2.16.840.1.101.3.4.2.2":"sha384","2.16.840.1.101.3.4.2.3":"sha512"}});var q7=L(CO=>{"use strict";Object.defineProperty(CO,"__esModule",{value:!0});CO.RFC3161TimestampVerificationError=void 0;var j7=class extends Error{};CO.RFC3161TimestampVerificationError=j7});var nRe=L(DA=>{"use strict";var KLt=DA&&DA.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),JLt=DA&&DA.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),zLt=DA&&DA.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&KLt(e,t,r);return JLt(e,t),e};Object.defineProperty(DA,"__esModule",{value:!0});DA.TSTInfo=void 0;var rRe=zLt(Zw()),ZLt=IO(),XLt=q7(),G7=class{constructor(e){this.root=e}get version(){return this.root.subs[0].toInteger()}get genTime(){return this.root.subs[4].toDate()}get messageImprintHashAlgorithm(){let e=this.messageImprintObj.subs[0].subs[0].toOID();return ZLt.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=rRe.digest(this.messageImprintHashAlgorithm,e);if(!rRe.bufferEqual(r,this.messageImprintHashedMessage))throw new XLt.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};DA.TSTInfo=G7});var sRe=L(bA=>{"use strict";var $Lt=bA&&bA.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),eMt=bA&&bA.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),tMt=bA&&bA.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&$Lt(e,t,r);return eMt(e,t),e};Object.defineProperty(bA,"__esModule",{value:!0});bA.RFC3161Timestamp=void 0;var rMt=mO(),W7=tMt(Zw()),iRe=IO(),Mb=q7(),nMt=nRe(),iMt="1.2.840.113549.1.7.2",sMt="1.2.840.113549.1.9.16.1.4",oMt="1.2.840.113549.1.9.4",Y7=class t{constructor(e){this.root=e}static parse(e){let r=rMt.ASN1Obj.parseBuffer(e);return new t(r)}get status(){return this.pkiStatusInfoObj.subs[0].toInteger()}get contentType(){return this.contentTypeObj.toOID()}get eContentType(){return this.eContentTypeObj.toOID()}get signingTime(){return this.tstInfo.genTime}get signerIssuer(){return this.signerSidObj.subs[0].value}get signerSerialNumber(){return this.signerSidObj.subs[1].value}get signerDigestAlgorithm(){let e=this.signerDigestAlgorithmObj.subs[0].toOID();return iRe.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return iRe.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new nMt.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new Mb.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==iMt)throw new Mb.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==sMt)throw new Mb.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=W7.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].value;if(!W7.bufferEqual(e,r))throw new Mb.RFC3161TimestampVerificationError("signed data does not match tstInfo")}verifySignature(e){let r=this.signedAttrsObj.toDER();if(r[0]=49,!W7.verify(r,e,this.signatureValue,this.signatureAlgorithm))throw new Mb.RFC3161TimestampVerificationError("signature verification failed")}get pkiStatusInfoObj(){return this.root.subs[0]}get timeStampTokenObj(){return this.root.subs[1]}get contentTypeObj(){return this.timeStampTokenObj.subs[0]}get signedDataObj(){return this.timeStampTokenObj.subs.find(r=>r.tag.isContextSpecific(0)).subs[0]}get encapContentInfoObj(){return this.signedDataObj.subs[2]}get signerInfosObj(){let e=this.signedDataObj;return e.subs[e.subs.length-1]}get signerInfoObj(){return this.signerInfosObj.subs[0]}get eContentTypeObj(){return this.encapContentInfoObj.subs[0]}get eContentObj(){return this.encapContentInfoObj.subs[1]}get signedAttrsObj(){return this.signerInfoObj.subs.find(r=>r.tag.isContextSpecific(0))}get messageDigestAttributeObj(){return this.signedAttrsObj.subs.find(r=>r.subs[0].tag.isOID()&&r.subs[0].toOID()===oMt)}get signerSidObj(){return this.signerInfoObj.subs[1]}get signerDigestAlgorithmObj(){return this.signerInfoObj.subs[2]}get signatureAlgorithmObj(){return this.signerInfoObj.subs[4]}get signatureValueObj(){return this.signerInfoObj.subs[5]}};bA.RFC3161Timestamp=Y7});var oRe=L(wO=>{"use strict";Object.defineProperty(wO,"__esModule",{value:!0});wO.RFC3161Timestamp=void 0;var aMt=sRe();Object.defineProperty(wO,"RFC3161Timestamp",{enumerable:!0,get:function(){return aMt.RFC3161Timestamp}})});var lRe=L(PA=>{"use strict";var lMt=PA&&PA.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),cMt=PA&&PA.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),uMt=PA&&PA.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&lMt(e,t,r);return cMt(e,t),e};Object.defineProperty(PA,"__esModule",{value:!0});PA.SignedCertificateTimestamp=void 0;var fMt=uMt(Zw()),aRe=Ob(),V7=class t{constructor(e){this.version=e.version,this.logID=e.logID,this.timestamp=e.timestamp,this.extensions=e.extensions,this.hashAlgorithm=e.hashAlgorithm,this.signatureAlgorithm=e.signatureAlgorithm,this.signature=e.signature}get datetime(){return new Date(Number(this.timestamp.readBigInt64BE()))}get algorithm(){switch(this.hashAlgorithm){case 0:return"none";case 1:return"md5";case 2:return"sha1";case 3:return"sha224";case 4:return"sha256";case 5:return"sha384";case 6:return"sha512";default:return"unknown"}}verify(e,r){let s=new aRe.ByteStream;return s.appendChar(this.version),s.appendChar(0),s.appendView(this.timestamp),s.appendUint16(1),s.appendView(e),s.appendUint16(this.extensions.byteLength),this.extensions.byteLength>0&&s.appendView(this.extensions),fMt.verify(s.buffer,r,this.signature,this.algorithm)}static parse(e){let r=new aRe.ByteStream(e),s=r.getUint8(),a=r.getBlock(32),n=r.getBlock(8),c=r.getUint16(),f=r.getBlock(c),p=r.getUint8(),h=r.getUint8(),E=r.getUint16(),C=r.getBlock(E);if(r.position!==e.length)throw new Error("SCT buffer length mismatch");return new t({version:s,logID:a,timestamp:n,extensions:f,hashAlgorithm:p,signatureAlgorithm:h,signature:C})}};PA.SignedCertificateTimestamp=V7});var eK=L(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.X509SCTExtension=oa.X509SubjectKeyIDExtension=oa.X509AuthorityKeyIDExtension=oa.X509SubjectAlternativeNameExtension=oa.X509KeyUsageExtension=oa.X509BasicConstraintsExtension=oa.X509Extension=void 0;var AMt=Ob(),pMt=lRe(),dh=class{constructor(e){this.root=e}get oid(){return this.root.subs[0].toOID()}get critical(){return this.root.subs.length===3?this.root.subs[1].toBoolean():!1}get value(){return this.extnValueObj.value}get valueObj(){return this.extnValueObj}get extnValueObj(){return this.root.subs[this.root.subs.length-1]}};oa.X509Extension=dh;var K7=class extends dh{get isCA(){return this.sequence.subs[0]?.toBoolean()??!1}get pathLenConstraint(){return this.sequence.subs.length>1?this.sequence.subs[1].toInteger():void 0}get sequence(){return this.extnValueObj.subs[0]}};oa.X509BasicConstraintsExtension=K7;var J7=class extends dh{get digitalSignature(){return this.bitString[0]===1}get keyCertSign(){return this.bitString[5]===1}get crlSign(){return this.bitString[6]===1}get bitString(){return this.extnValueObj.subs[0].toBitString()}};oa.X509KeyUsageExtension=J7;var z7=class extends dh{get rfc822Name(){return this.findGeneralName(1)?.value.toString("ascii")}get uri(){return this.findGeneralName(6)?.value.toString("ascii")}otherName(e){let r=this.findGeneralName(0);return r===void 0||r.subs[0].toOID()!==e?void 0:r.subs[1].subs[0].value.toString("ascii")}findGeneralName(e){return this.generalNames.find(r=>r.tag.isContextSpecific(e))}get generalNames(){return this.extnValueObj.subs[0].subs}};oa.X509SubjectAlternativeNameExtension=z7;var Z7=class extends dh{get keyIdentifier(){return this.findSequenceMember(0)?.value}findSequenceMember(e){return this.sequence.subs.find(r=>r.tag.isContextSpecific(e))}get sequence(){return this.extnValueObj.subs[0]}};oa.X509AuthorityKeyIDExtension=Z7;var X7=class extends dh{get keyIdentifier(){return this.extnValueObj.subs[0].value}};oa.X509SubjectKeyIDExtension=X7;var $7=class extends dh{constructor(e){super(e)}get signedCertificateTimestamps(){let e=this.extnValueObj.subs[0].value,r=new AMt.ByteStream(e),s=r.getUint16()+2,a=[];for(;r.position{"use strict";var hMt=sc&&sc.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),gMt=sc&&sc.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),uRe=sc&&sc.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&hMt(e,t,r);return gMt(e,t),e};Object.defineProperty(sc,"__esModule",{value:!0});sc.X509Certificate=sc.EXTENSION_OID_SCT=void 0;var dMt=mO(),cRe=uRe(Zw()),mMt=IO(),yMt=uRe(H7()),iy=eK(),EMt="2.5.29.14",IMt="2.5.29.15",CMt="2.5.29.17",wMt="2.5.29.19",BMt="2.5.29.35";sc.EXTENSION_OID_SCT="1.3.6.1.4.1.11129.2.4.2";var tK=class t{constructor(e){this.root=e}static parse(e){let r=typeof e=="string"?yMt.toDER(e):e,s=dMt.ASN1Obj.parseBuffer(r);return new t(s)}get tbsCertificate(){return this.tbsCertificateObj}get version(){return`v${(this.versionObj.subs[0].toInteger()+BigInt(1)).toString()}`}get serialNumber(){return this.serialNumberObj.value}get notBefore(){return this.validityObj.subs[0].toDate()}get notAfter(){return this.validityObj.subs[1].toDate()}get issuer(){return this.issuerObj.value}get subject(){return this.subjectObj.value}get publicKey(){return this.subjectPublicKeyInfoObj.toDER()}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return mMt.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value.subarray(1)}get subjectAltName(){let e=this.extSubjectAltName;return e?.uri||e?.rfc822Name}get extensions(){return this.extensionsObj?.subs[0]?.subs||[]}get extKeyUsage(){let e=this.findExtension(IMt);return e?new iy.X509KeyUsageExtension(e):void 0}get extBasicConstraints(){let e=this.findExtension(wMt);return e?new iy.X509BasicConstraintsExtension(e):void 0}get extSubjectAltName(){let e=this.findExtension(CMt);return e?new iy.X509SubjectAlternativeNameExtension(e):void 0}get extAuthorityKeyID(){let e=this.findExtension(BMt);return e?new iy.X509AuthorityKeyIDExtension(e):void 0}get extSubjectKeyID(){let e=this.findExtension(EMt);return e?new iy.X509SubjectKeyIDExtension(e):void 0}get extSCT(){let e=this.findExtension(sc.EXTENSION_OID_SCT);return e?new iy.X509SCTExtension(e):void 0}get isCA(){let e=this.extBasicConstraints?.isCA||!1;return this.extKeyUsage?e&&this.extKeyUsage.keyCertSign:e}extension(e){let r=this.findExtension(e);return r?new iy.X509Extension(r):void 0}verify(e){let r=e?.publicKey||this.publicKey,s=cRe.createPublicKey(r);return cRe.verify(this.tbsCertificate.toDER(),s,this.signatureValue,this.signatureAlgorithm)}validForDate(e){return this.notBefore<=e&&e<=this.notAfter}equals(e){return this.root.toDER().equals(e.root.toDER())}clone(){let e=this.root.toDER(),r=Buffer.alloc(e.length);return e.copy(r),t.parse(r)}findExtension(e){return this.extensions.find(r=>r.subs[0].toOID()===e)}get tbsCertificateObj(){return this.root.subs[0]}get signatureAlgorithmObj(){return this.root.subs[1]}get signatureValueObj(){return this.root.subs[2]}get versionObj(){return this.tbsCertificateObj.subs[0]}get serialNumberObj(){return this.tbsCertificateObj.subs[1]}get issuerObj(){return this.tbsCertificateObj.subs[3]}get validityObj(){return this.tbsCertificateObj.subs[4]}get subjectObj(){return this.tbsCertificateObj.subs[5]}get subjectPublicKeyInfoObj(){return this.tbsCertificateObj.subs[6]}get extensionsObj(){return this.tbsCertificateObj.subs.find(e=>e.tag.isContextSpecific(3))}};sc.X509Certificate=tK});var pRe=L(vg=>{"use strict";Object.defineProperty(vg,"__esModule",{value:!0});vg.X509SCTExtension=vg.X509Certificate=vg.EXTENSION_OID_SCT=void 0;var ARe=fRe();Object.defineProperty(vg,"EXTENSION_OID_SCT",{enumerable:!0,get:function(){return ARe.EXTENSION_OID_SCT}});Object.defineProperty(vg,"X509Certificate",{enumerable:!0,get:function(){return ARe.X509Certificate}});var vMt=eK();Object.defineProperty(vg,"X509SCTExtension",{enumerable:!0,get:function(){return vMt.X509SCTExtension}})});var wl=L(Kn=>{"use strict";var SMt=Kn&&Kn.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),DMt=Kn&&Kn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),_b=Kn&&Kn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&SMt(e,t,r);return DMt(e,t),e};Object.defineProperty(Kn,"__esModule",{value:!0});Kn.X509SCTExtension=Kn.X509Certificate=Kn.EXTENSION_OID_SCT=Kn.ByteStream=Kn.RFC3161Timestamp=Kn.pem=Kn.json=Kn.encoding=Kn.dsse=Kn.crypto=Kn.ASN1Obj=void 0;var bMt=mO();Object.defineProperty(Kn,"ASN1Obj",{enumerable:!0,get:function(){return bMt.ASN1Obj}});Kn.crypto=_b(Zw());Kn.dsse=_b(ZTe());Kn.encoding=_b(eRe());Kn.json=_b(tRe());Kn.pem=_b(H7());var PMt=oRe();Object.defineProperty(Kn,"RFC3161Timestamp",{enumerable:!0,get:function(){return PMt.RFC3161Timestamp}});var xMt=Ob();Object.defineProperty(Kn,"ByteStream",{enumerable:!0,get:function(){return xMt.ByteStream}});var rK=pRe();Object.defineProperty(Kn,"EXTENSION_OID_SCT",{enumerable:!0,get:function(){return rK.EXTENSION_OID_SCT}});Object.defineProperty(Kn,"X509Certificate",{enumerable:!0,get:function(){return rK.X509Certificate}});Object.defineProperty(Kn,"X509SCTExtension",{enumerable:!0,get:function(){return rK.X509SCTExtension}})});var hRe=L(nK=>{"use strict";Object.defineProperty(nK,"__esModule",{value:!0});nK.extractJWTSubject=QMt;var kMt=wl();function QMt(t){let e=t.split(".",3),r=JSON.parse(kMt.encoding.base64Decode(e[1]));switch(r.iss){case"https://accounts.google.com":case"https://oauth2.sigstore.dev/auth":return r.email;default:return r.sub}}});var gRe=L((kCr,TMt)=>{TMt.exports={name:"@sigstore/sign",version:"3.1.0",description:"Sigstore signing library",main:"dist/index.js",types:"dist/index.d.ts",scripts:{clean:"shx rm -rf dist *.tsbuildinfo",build:"tsc --build",test:"jest"},files:["dist"],author:"bdehamer@github.com",license:"Apache-2.0",repository:{type:"git",url:"git+https://github.com/sigstore/sigstore-js.git"},bugs:{url:"https://github.com/sigstore/sigstore-js/issues"},homepage:"https://github.com/sigstore/sigstore-js/tree/main/packages/sign#readme",publishConfig:{provenance:!0},devDependencies:{"@sigstore/jest":"^0.0.0","@sigstore/mock":"^0.10.0","@sigstore/rekor-types":"^3.0.0","@types/make-fetch-happen":"^10.0.4","@types/promise-retry":"^1.1.6"},dependencies:{"@sigstore/bundle":"^3.1.0","@sigstore/core":"^2.0.0","@sigstore/protobuf-specs":"^0.4.0","make-fetch-happen":"^14.0.2","proc-log":"^5.0.0","promise-retry":"^2.0.1"},engines:{node:"^18.17.0 || >=20.5.0"}}});var mRe=L($w=>{"use strict";var RMt=$w&&$w.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($w,"__esModule",{value:!0});$w.getUserAgent=void 0;var dRe=RMt(ye("os")),FMt=()=>{let t=gRe().version,e=process.version,r=dRe.default.platform(),s=dRe.default.arch();return`sigstore-js/${t} (Node ${e}) (${r}/${s})`};$w.getUserAgent=FMt});var Sg=L(Ki=>{"use strict";var NMt=Ki&&Ki.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),OMt=Ki&&Ki.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),yRe=Ki&&Ki.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[s.length]=a);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),a=0;a{"use strict";Object.defineProperty(BO,"__esModule",{value:!0});BO.BaseBundleBuilder=void 0;var iK=class{constructor(e){this.signer=e.signer,this.witnesses=e.witnesses}async create(e){let r=await this.prepare(e).then(f=>this.signer.sign(f)),s=await this.package(e,r),a=await Promise.all(this.witnesses.map(f=>f.testify(s.content,LMt(r.key)))),n=[],c=[];return a.forEach(({tlogEntries:f,rfc3161Timestamps:p})=>{n.push(...f??[]),c.push(...p??[])}),s.verificationMaterial.tlogEntries=n,s.verificationMaterial.timestampVerificationData={rfc3161Timestamps:c},s}async prepare(e){return e.data}};BO.BaseBundleBuilder=iK;function LMt(t){switch(t.$case){case"publicKey":return t.publicKey;case"x509Certificate":return t.certificate}}});var aK=L(xA=>{"use strict";var MMt=xA&&xA.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),_Mt=xA&&xA.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),UMt=xA&&xA.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[s.length]=a);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),a=0;a{"use strict";Object.defineProperty(vO,"__esModule",{value:!0});vO.DSSEBundleBuilder=void 0;var qMt=Sg(),GMt=sK(),WMt=aK(),lK=class extends GMt.BaseBundleBuilder{constructor(e){super(e),this.certificateChain=e.certificateChain??!1}async prepare(e){let r=IRe(e);return qMt.dsse.preAuthEncoding(r.type,r.data)}async package(e,r){return(0,WMt.toDSSEBundle)(IRe(e),r,this.certificateChain)}};vO.DSSEBundleBuilder=lK;function IRe(t){return{...t,type:t.type??""}}});var wRe=L(SO=>{"use strict";Object.defineProperty(SO,"__esModule",{value:!0});SO.MessageSignatureBundleBuilder=void 0;var YMt=sK(),VMt=aK(),cK=class extends YMt.BaseBundleBuilder{constructor(e){super(e)}async package(e,r){return(0,VMt.toMessageSignatureBundle)(e,r)}};SO.MessageSignatureBundleBuilder=cK});var BRe=L(e1=>{"use strict";Object.defineProperty(e1,"__esModule",{value:!0});e1.MessageSignatureBundleBuilder=e1.DSSEBundleBuilder=void 0;var KMt=CRe();Object.defineProperty(e1,"DSSEBundleBuilder",{enumerable:!0,get:function(){return KMt.DSSEBundleBuilder}});var JMt=wRe();Object.defineProperty(e1,"MessageSignatureBundleBuilder",{enumerable:!0,get:function(){return JMt.MessageSignatureBundleBuilder}})});var bO=L(DO=>{"use strict";Object.defineProperty(DO,"__esModule",{value:!0});DO.HTTPError=void 0;var uK=class extends Error{constructor({status:e,message:r,location:s}){super(`(${e}) ${r}`),this.statusCode=e,this.location=s}};DO.HTTPError=uK});var t1=L(Hb=>{"use strict";Object.defineProperty(Hb,"__esModule",{value:!0});Hb.InternalError=void 0;Hb.internalError=ZMt;var zMt=bO(),PO=class extends Error{constructor({code:e,message:r,cause:s}){super(r),this.name=this.constructor.name,this.cause=s,this.code=e}};Hb.InternalError=PO;function ZMt(t,e,r){throw t instanceof zMt.HTTPError&&(r+=` - ${t.message}`),new PO({code:e,message:r,cause:t})}});var xO=L((UCr,vRe)=>{vRe.exports=fetch});var SRe=L(r1=>{"use strict";var XMt=r1&&r1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(r1,"__esModule",{value:!0});r1.CIContextProvider=void 0;var $Mt=XMt(xO()),e_t=[t_t,r_t],fK=class{constructor(e="sigstore"){this.audience=e}async getToken(){return Promise.any(e_t.map(e=>e(this.audience))).catch(()=>Promise.reject("CI: no tokens available"))}};r1.CIContextProvider=fK;async function t_t(t){if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL||!process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN)return Promise.reject("no token available");let e=new URL(process.env.ACTIONS_ID_TOKEN_REQUEST_URL);return e.searchParams.append("audience",t),(await(0,$Mt.default)(e.href,{retry:2,headers:{Accept:"application/json",Authorization:`Bearer ${process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN}`}})).json().then(s=>s.value)}async function r_t(){return process.env.SIGSTORE_ID_TOKEN?process.env.SIGSTORE_ID_TOKEN:Promise.reject("no token available")}});var DRe=L(kO=>{"use strict";Object.defineProperty(kO,"__esModule",{value:!0});kO.CIContextProvider=void 0;var n_t=SRe();Object.defineProperty(kO,"CIContextProvider",{enumerable:!0,get:function(){return n_t.CIContextProvider}})});var PRe=L((qCr,bRe)=>{var i_t=Symbol("proc-log.meta");bRe.exports={META:i_t,output:{LEVELS:["standard","error","buffer","flush"],KEYS:{standard:"standard",error:"error",buffer:"buffer",flush:"flush"},standard:function(...t){return process.emit("output","standard",...t)},error:function(...t){return process.emit("output","error",...t)},buffer:function(...t){return process.emit("output","buffer",...t)},flush:function(...t){return process.emit("output","flush",...t)}},log:{LEVELS:["notice","error","warn","info","verbose","http","silly","timing","pause","resume"],KEYS:{notice:"notice",error:"error",warn:"warn",info:"info",verbose:"verbose",http:"http",silly:"silly",timing:"timing",pause:"pause",resume:"resume"},error:function(...t){return process.emit("log","error",...t)},notice:function(...t){return process.emit("log","notice",...t)},warn:function(...t){return process.emit("log","warn",...t)},info:function(...t){return process.emit("log","info",...t)},verbose:function(...t){return process.emit("log","verbose",...t)},http:function(...t){return process.emit("log","http",...t)},silly:function(...t){return process.emit("log","silly",...t)},timing:function(...t){return process.emit("log","timing",...t)},pause:function(){return process.emit("log","pause")},resume:function(){return process.emit("log","resume")}},time:{LEVELS:["start","end"],KEYS:{start:"start",end:"end"},start:function(t,e){process.emit("time","start",t);function r(){return process.emit("time","end",t)}if(typeof e=="function"){let s=e();return s&&s.finally?s.finally(r):(r(),s)}return r},end:function(t){return process.emit("time","end",t)}},input:{LEVELS:["start","end","read"],KEYS:{start:"start",end:"end",read:"read"},start:function(t){process.emit("input","start");function e(){return process.emit("input","end")}if(typeof t=="function"){let r=t();return r&&r.finally?r.finally(e):(e(),r)}return e},end:function(){return process.emit("input","end")},read:function(...t){let e,r,s=new Promise((a,n)=>{e=a,r=n});return process.emit("input","read",e,r,...t),s}}}});var QRe=L((GCr,kRe)=>{"use strict";function xRe(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function s_t(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=void 0),e!=null&&(r.code=e);try{return xRe(t,r)}catch{r.message=t.message,r.stack=t.stack;let a=function(){};return a.prototype=Object.create(Object.getPrototypeOf(t)),xRe(new a,r)}}kRe.exports=s_t});var RRe=L((WCr,TRe)=>{function tu(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}TRe.exports=tu;tu.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};tu.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};tu.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),r=this._timeouts.shift();else return!1;var s=this,a=setTimeout(function(){s._attempts++,s._operationTimeoutCb&&(s._timeout=setTimeout(function(){s._operationTimeoutCb(s._attempts)},s._operationTimeout),s._options.unref&&s._timeout.unref()),s._fn(s._attempts)},r);return this._options.unref&&a.unref(),!0};tu.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};tu.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};tu.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};tu.prototype.start=tu.prototype.try;tu.prototype.errors=function(){return this._errors};tu.prototype.attempts=function(){return this._attempts};tu.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,r=0,s=0;s=r&&(e=a,r=c)}return e}});var FRe=L(sy=>{var o_t=RRe();sy.operation=function(t){var e=sy.timeouts(t);return new o_t(e,{forever:t&&t.forever,unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};sy.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var s=[],a=0;a{NRe.exports=FRe()});var _Re=L((KCr,MRe)=>{"use strict";var a_t=QRe(),l_t=ORe(),c_t=Object.prototype.hasOwnProperty;function LRe(t){return t&&t.code==="EPROMISERETRY"&&c_t.call(t,"retried")}function u_t(t,e){var r,s;return typeof t=="object"&&typeof e=="function"&&(r=e,e=t,t=r),s=l_t.operation(e),new Promise(function(a,n){s.attempt(function(c){Promise.resolve().then(function(){return t(function(f){throw LRe(f)&&(f=f.retried),a_t(new Error("Retrying"),"EPROMISERETRY",{retried:f})},c)}).then(a,function(f){LRe(f)&&(f=f.retried,s.retry(f||new Error))||n(f)})})})}MRe.exports=u_t});var QO=L(jb=>{"use strict";var HRe=jb&&jb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jb,"__esModule",{value:!0});jb.fetchWithRetry=w_t;var f_t=ye("http2"),A_t=HRe(xO()),URe=PRe(),p_t=HRe(_Re()),h_t=Sg(),g_t=bO(),{HTTP2_HEADER_LOCATION:d_t,HTTP2_HEADER_CONTENT_TYPE:m_t,HTTP2_HEADER_USER_AGENT:y_t,HTTP_STATUS_INTERNAL_SERVER_ERROR:E_t,HTTP_STATUS_TOO_MANY_REQUESTS:I_t,HTTP_STATUS_REQUEST_TIMEOUT:C_t}=f_t.constants;async function w_t(t,e){return(0,p_t.default)(async(r,s)=>{let a=e.method||"POST",n={[y_t]:h_t.ua.getUserAgent(),...e.headers},c=await(0,A_t.default)(t,{method:a,headers:n,body:e.body,timeout:e.timeout,retry:!1}).catch(f=>(URe.log.http("fetch",`${a} ${t} attempt ${s} failed with ${f}`),r(f)));if(c.ok)return c;{let f=await B_t(c);if(URe.log.http("fetch",`${a} ${t} attempt ${s} failed with ${c.status}`),v_t(c.status))return r(f);throw f}},S_t(e.retry))}var B_t=async t=>{let e=t.statusText,r=t.headers.get(d_t)||void 0;if(t.headers.get(m_t)?.includes("application/json"))try{e=(await t.json()).message||e}catch{}return new g_t.HTTPError({status:t.status,message:e,location:r})},v_t=t=>[C_t,I_t].includes(t)||t>=E_t,S_t=t=>typeof t=="boolean"?{retries:t?1:0}:typeof t=="number"?{retries:t}:{retries:0,...t}});var jRe=L(TO=>{"use strict";Object.defineProperty(TO,"__esModule",{value:!0});TO.Fulcio=void 0;var D_t=QO(),AK=class{constructor(e){this.options=e}async createSigningCertificate(e){let{baseURL:r,retry:s,timeout:a}=this.options,n=`${r}/api/v2/signingCert`;return(await(0,D_t.fetchWithRetry)(n,{headers:{"Content-Type":"application/json"},body:JSON.stringify(e),timeout:a,retry:s})).json()}};TO.Fulcio=AK});var qRe=L(RO=>{"use strict";Object.defineProperty(RO,"__esModule",{value:!0});RO.CAClient=void 0;var b_t=t1(),P_t=jRe(),pK=class{constructor(e){this.fulcio=new P_t.Fulcio({baseURL:e.fulcioBaseURL,retry:e.retry,timeout:e.timeout})}async createSigningCertificate(e,r,s){let a=x_t(e,r,s);try{let n=await this.fulcio.createSigningCertificate(a);return(n.signedCertificateEmbeddedSct?n.signedCertificateEmbeddedSct:n.signedCertificateDetachedSct).chain.certificates}catch(n){(0,b_t.internalError)(n,"CA_CREATE_SIGNING_CERTIFICATE_ERROR","error creating signing certificate")}}};RO.CAClient=pK;function x_t(t,e,r){return{credentials:{oidcIdentityToken:t},publicKeyRequest:{publicKey:{algorithm:"ECDSA",content:e},proofOfPossession:r.toString("base64")}}}});var WRe=L(n1=>{"use strict";var k_t=n1&&n1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n1,"__esModule",{value:!0});n1.EphemeralSigner=void 0;var GRe=k_t(ye("crypto")),Q_t="ec",T_t="P-256",hK=class{constructor(){this.keypair=GRe.default.generateKeyPairSync(Q_t,{namedCurve:T_t})}async sign(e){let r=GRe.default.sign(null,e,this.keypair.privateKey),s=this.keypair.publicKey.export({format:"pem",type:"spki"}).toString("ascii");return{signature:r,key:{$case:"publicKey",publicKey:s}}}};n1.EphemeralSigner=hK});var YRe=L(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});oy.FulcioSigner=oy.DEFAULT_FULCIO_URL=void 0;var gK=t1(),R_t=Sg(),F_t=qRe(),N_t=WRe();oy.DEFAULT_FULCIO_URL="https://fulcio.sigstore.dev";var dK=class{constructor(e){this.ca=new F_t.CAClient({...e,fulcioBaseURL:e.fulcioBaseURL||oy.DEFAULT_FULCIO_URL}),this.identityProvider=e.identityProvider,this.keyHolder=e.keyHolder||new N_t.EphemeralSigner}async sign(e){let r=await this.getIdentityToken(),s;try{s=R_t.oidc.extractJWTSubject(r)}catch(f){throw new gK.InternalError({code:"IDENTITY_TOKEN_PARSE_ERROR",message:`invalid identity token: ${r}`,cause:f})}let a=await this.keyHolder.sign(Buffer.from(s));if(a.key.$case!=="publicKey")throw new gK.InternalError({code:"CA_CREATE_SIGNING_CERTIFICATE_ERROR",message:"unexpected format for signing key"});let n=await this.ca.createSigningCertificate(r,a.key.publicKey,a.signature);return{signature:(await this.keyHolder.sign(e)).signature,key:{$case:"x509Certificate",certificate:n[0]}}}async getIdentityToken(){try{return await this.identityProvider.getToken()}catch(e){throw new gK.InternalError({code:"IDENTITY_TOKEN_READ_ERROR",message:"error retrieving identity token",cause:e})}}};oy.FulcioSigner=dK});var KRe=L(i1=>{"use strict";Object.defineProperty(i1,"__esModule",{value:!0});i1.FulcioSigner=i1.DEFAULT_FULCIO_URL=void 0;var VRe=YRe();Object.defineProperty(i1,"DEFAULT_FULCIO_URL",{enumerable:!0,get:function(){return VRe.DEFAULT_FULCIO_URL}});Object.defineProperty(i1,"FulcioSigner",{enumerable:!0,get:function(){return VRe.FulcioSigner}})});var ZRe=L(FO=>{"use strict";Object.defineProperty(FO,"__esModule",{value:!0});FO.Rekor=void 0;var JRe=QO(),mK=class{constructor(e){this.options=e}async createEntry(e){let{baseURL:r,timeout:s,retry:a}=this.options,n=`${r}/api/v1/log/entries`,f=await(await(0,JRe.fetchWithRetry)(n,{headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e),timeout:s,retry:a})).json();return zRe(f)}async getEntry(e){let{baseURL:r,timeout:s,retry:a}=this.options,n=`${r}/api/v1/log/entries/${e}`,f=await(await(0,JRe.fetchWithRetry)(n,{method:"GET",headers:{Accept:"application/json"},timeout:s,retry:a})).json();return zRe(f)}};FO.Rekor=mK;function zRe(t){let e=Object.entries(t);if(e.length!=1)throw new Error("Received multiple entries in Rekor response");let[r,s]=e[0];return{...s,uuid:r}}});var $Re=L(NO=>{"use strict";Object.defineProperty(NO,"__esModule",{value:!0});NO.TLogClient=void 0;var XRe=t1(),O_t=bO(),L_t=ZRe(),yK=class{constructor(e){this.fetchOnConflict=e.fetchOnConflict??!1,this.rekor=new L_t.Rekor({baseURL:e.rekorBaseURL,retry:e.retry,timeout:e.timeout})}async createEntry(e){let r;try{r=await this.rekor.createEntry(e)}catch(s){if(M_t(s)&&this.fetchOnConflict){let a=s.location.split("/").pop()||"";try{r=await this.rekor.getEntry(a)}catch(n){(0,XRe.internalError)(n,"TLOG_FETCH_ENTRY_ERROR","error fetching tlog entry")}}else(0,XRe.internalError)(s,"TLOG_CREATE_ENTRY_ERROR","error creating tlog entry")}return r}};NO.TLogClient=yK;function M_t(t){return t instanceof O_t.HTTPError&&t.statusCode===409&&t.location!==void 0}});var eFe=L(EK=>{"use strict";Object.defineProperty(EK,"__esModule",{value:!0});EK.toProposedEntry=U_t;var __t=Nb(),Dg=Sg(),qb="sha256";function U_t(t,e,r="dsse"){switch(t.$case){case"dsseEnvelope":return r==="intoto"?q_t(t.dsseEnvelope,e):j_t(t.dsseEnvelope,e);case"messageSignature":return H_t(t.messageSignature,e)}}function H_t(t,e){let r=t.messageDigest.digest.toString("hex"),s=t.signature.toString("base64"),a=Dg.encoding.base64Encode(e);return{apiVersion:"0.0.1",kind:"hashedrekord",spec:{data:{hash:{algorithm:qb,value:r}},signature:{content:s,publicKey:{content:a}}}}}function j_t(t,e){let r=JSON.stringify((0,__t.envelopeToJSON)(t)),s=Dg.encoding.base64Encode(e);return{apiVersion:"0.0.1",kind:"dsse",spec:{proposedContent:{envelope:r,verifiers:[s]}}}}function q_t(t,e){let r=Dg.crypto.digest(qb,t.payload).toString("hex"),s=G_t(t,e),a=Dg.encoding.base64Encode(t.payload.toString("base64")),n=Dg.encoding.base64Encode(t.signatures[0].sig.toString("base64")),c=t.signatures[0].keyid,f=Dg.encoding.base64Encode(e),p={payloadType:t.payloadType,payload:a,signatures:[{sig:n,publicKey:f}]};return c.length>0&&(p.signatures[0].keyid=c),{apiVersion:"0.0.2",kind:"intoto",spec:{content:{envelope:p,hash:{algorithm:qb,value:s},payloadHash:{algorithm:qb,value:r}}}}}function G_t(t,e){let r={payloadType:t.payloadType,payload:t.payload.toString("base64"),signatures:[{sig:t.signatures[0].sig.toString("base64"),publicKey:e}]};return t.signatures[0].keyid.length>0&&(r.signatures[0].keyid=t.signatures[0].keyid),Dg.crypto.digest(qb,Dg.json.canonicalize(r)).toString("hex")}});var tFe=L(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.RekorWitness=ay.DEFAULT_REKOR_URL=void 0;var W_t=Sg(),Y_t=$Re(),V_t=eFe();ay.DEFAULT_REKOR_URL="https://rekor.sigstore.dev";var IK=class{constructor(e){this.entryType=e.entryType,this.tlog=new Y_t.TLogClient({...e,rekorBaseURL:e.rekorBaseURL||ay.DEFAULT_REKOR_URL})}async testify(e,r){let s=(0,V_t.toProposedEntry)(e,r,this.entryType),a=await this.tlog.createEntry(s);return K_t(a)}};ay.RekorWitness=IK;function K_t(t){let e=Buffer.from(t.logID,"hex"),r=W_t.encoding.base64Decode(t.body),s=JSON.parse(r),a=t?.verification?.signedEntryTimestamp?J_t(t.verification.signedEntryTimestamp):void 0,n=t?.verification?.inclusionProof?z_t(t.verification.inclusionProof):void 0;return{tlogEntries:[{logIndex:t.logIndex.toString(),logId:{keyId:e},integratedTime:t.integratedTime.toString(),kindVersion:{kind:s.kind,version:s.apiVersion},inclusionPromise:a,inclusionProof:n,canonicalizedBody:Buffer.from(t.body,"base64")}]}}function J_t(t){return{signedEntryTimestamp:Buffer.from(t,"base64")}}function z_t(t){return{logIndex:t.logIndex.toString(),treeSize:t.treeSize.toString(),rootHash:Buffer.from(t.rootHash,"hex"),hashes:t.hashes.map(e=>Buffer.from(e,"hex")),checkpoint:{envelope:t.checkpoint}}}});var rFe=L(OO=>{"use strict";Object.defineProperty(OO,"__esModule",{value:!0});OO.TimestampAuthority=void 0;var Z_t=QO(),CK=class{constructor(e){this.options=e}async createTimestamp(e){let{baseURL:r,timeout:s,retry:a}=this.options,n=`${r}/api/v1/timestamp`;return(await(0,Z_t.fetchWithRetry)(n,{headers:{"Content-Type":"application/json"},body:JSON.stringify(e),timeout:s,retry:a})).buffer()}};OO.TimestampAuthority=CK});var iFe=L(LO=>{"use strict";Object.defineProperty(LO,"__esModule",{value:!0});LO.TSAClient=void 0;var X_t=t1(),$_t=rFe(),eUt=Sg(),nFe="sha256",wK=class{constructor(e){this.tsa=new $_t.TimestampAuthority({baseURL:e.tsaBaseURL,retry:e.retry,timeout:e.timeout})}async createTimestamp(e){let r={artifactHash:eUt.crypto.digest(nFe,e).toString("base64"),hashAlgorithm:nFe};try{return await this.tsa.createTimestamp(r)}catch(s){(0,X_t.internalError)(s,"TSA_CREATE_TIMESTAMP_ERROR","error creating timestamp")}}};LO.TSAClient=wK});var sFe=L(MO=>{"use strict";Object.defineProperty(MO,"__esModule",{value:!0});MO.TSAWitness=void 0;var tUt=iFe(),BK=class{constructor(e){this.tsa=new tUt.TSAClient({tsaBaseURL:e.tsaBaseURL,retry:e.retry,timeout:e.timeout})}async testify(e){let r=rUt(e);return{rfc3161Timestamps:[{signedTimestamp:await this.tsa.createTimestamp(r)}]}}};MO.TSAWitness=BK;function rUt(t){switch(t.$case){case"dsseEnvelope":return t.dsseEnvelope.signatures[0].sig;case"messageSignature":return t.messageSignature.signature}}});var aFe=L(bg=>{"use strict";Object.defineProperty(bg,"__esModule",{value:!0});bg.TSAWitness=bg.RekorWitness=bg.DEFAULT_REKOR_URL=void 0;var oFe=tFe();Object.defineProperty(bg,"DEFAULT_REKOR_URL",{enumerable:!0,get:function(){return oFe.DEFAULT_REKOR_URL}});Object.defineProperty(bg,"RekorWitness",{enumerable:!0,get:function(){return oFe.RekorWitness}});var nUt=sFe();Object.defineProperty(bg,"TSAWitness",{enumerable:!0,get:function(){return nUt.TSAWitness}})});var SK=L(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.TSAWitness=Es.RekorWitness=Es.DEFAULT_REKOR_URL=Es.FulcioSigner=Es.DEFAULT_FULCIO_URL=Es.CIContextProvider=Es.InternalError=Es.MessageSignatureBundleBuilder=Es.DSSEBundleBuilder=void 0;var lFe=BRe();Object.defineProperty(Es,"DSSEBundleBuilder",{enumerable:!0,get:function(){return lFe.DSSEBundleBuilder}});Object.defineProperty(Es,"MessageSignatureBundleBuilder",{enumerable:!0,get:function(){return lFe.MessageSignatureBundleBuilder}});var iUt=t1();Object.defineProperty(Es,"InternalError",{enumerable:!0,get:function(){return iUt.InternalError}});var sUt=DRe();Object.defineProperty(Es,"CIContextProvider",{enumerable:!0,get:function(){return sUt.CIContextProvider}});var cFe=KRe();Object.defineProperty(Es,"DEFAULT_FULCIO_URL",{enumerable:!0,get:function(){return cFe.DEFAULT_FULCIO_URL}});Object.defineProperty(Es,"FulcioSigner",{enumerable:!0,get:function(){return cFe.FulcioSigner}});var vK=aFe();Object.defineProperty(Es,"DEFAULT_REKOR_URL",{enumerable:!0,get:function(){return vK.DEFAULT_REKOR_URL}});Object.defineProperty(Es,"RekorWitness",{enumerable:!0,get:function(){return vK.RekorWitness}});Object.defineProperty(Es,"TSAWitness",{enumerable:!0,get:function(){return vK.TSAWitness}})});var fFe=L(Gb=>{"use strict";var uFe=Gb&&Gb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Gb,"__esModule",{value:!0});Gb.appDataPath=aUt;var oUt=uFe(ye("os")),s1=uFe(ye("path"));function aUt(t){let e=oUt.default.homedir();switch(process.platform){case"darwin":{let r=s1.default.join(e,"Library","Application Support");return s1.default.join(r,t)}case"win32":{let r=process.env.LOCALAPPDATA||s1.default.join(e,"AppData","Local");return s1.default.join(r,t,"Data")}default:{let r=process.env.XDG_DATA_HOME||s1.default.join(e,".local","share");return s1.default.join(r,t)}}}});var kA=L(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});Bl.UnsupportedAlgorithmError=Bl.CryptoError=Bl.LengthOrHashMismatchError=Bl.UnsignedMetadataError=Bl.RepositoryError=Bl.ValueError=void 0;var DK=class extends Error{};Bl.ValueError=DK;var Wb=class extends Error{};Bl.RepositoryError=Wb;var bK=class extends Wb{};Bl.UnsignedMetadataError=bK;var PK=class extends Wb{};Bl.LengthOrHashMismatchError=PK;var _O=class extends Error{};Bl.CryptoError=_O;var xK=class extends _O{};Bl.UnsupportedAlgorithmError=xK});var pFe=L(Pg=>{"use strict";Object.defineProperty(Pg,"__esModule",{value:!0});Pg.isDefined=lUt;Pg.isObject=AFe;Pg.isStringArray=cUt;Pg.isObjectArray=uUt;Pg.isStringRecord=fUt;Pg.isObjectRecord=AUt;function lUt(t){return t!==void 0}function AFe(t){return typeof t=="object"&&t!==null}function cUt(t){return Array.isArray(t)&&t.every(e=>typeof e=="string")}function uUt(t){return Array.isArray(t)&&t.every(AFe)}function fUt(t){return typeof t=="object"&&t!==null&&Object.keys(t).every(e=>typeof e=="string")&&Object.values(t).every(e=>typeof e=="string")}function AUt(t){return typeof t=="object"&&t!==null&&Object.keys(t).every(e=>typeof e=="string")&&Object.values(t).every(e=>typeof e=="object"&&e!==null)}});var QK=L((pwr,dFe)=>{var hFe=",",pUt=":",hUt="[",gUt="]",dUt="{",mUt="}";function kK(t){let e=[];if(typeof t=="string")e.push(gFe(t));else if(typeof t=="boolean")e.push(JSON.stringify(t));else if(Number.isInteger(t))e.push(JSON.stringify(t));else if(t===null)e.push(JSON.stringify(t));else if(Array.isArray(t)){e.push(hUt);let r=!0;t.forEach(s=>{r||e.push(hFe),r=!1,e.push(kK(s))}),e.push(gUt)}else if(typeof t=="object"){e.push(dUt);let r=!0;Object.keys(t).sort().forEach(s=>{r||e.push(hFe),r=!1,e.push(gFe(s)),e.push(pUt),e.push(kK(t[s]))}),e.push(mUt)}else throw new TypeError("cannot encode "+t.toString());return e.join("")}function gFe(t){return'"'+t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}dFe.exports={canonicalize:kK}});var mFe=L(o1=>{"use strict";var yUt=o1&&o1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(o1,"__esModule",{value:!0});o1.verifySignature=void 0;var EUt=QK(),IUt=yUt(ye("crypto")),CUt=(t,e,r)=>{let s=Buffer.from((0,EUt.canonicalize)(t));return IUt.default.verify(void 0,s,e,Buffer.from(r,"hex"))};o1.verifySignature=CUt});var Af=L(ru=>{"use strict";var wUt=ru&&ru.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),BUt=ru&&ru.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),yFe=ru&&ru.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&wUt(e,t,r);return BUt(e,t),e};Object.defineProperty(ru,"__esModule",{value:!0});ru.crypto=ru.guard=void 0;ru.guard=yFe(pFe());ru.crypto=yFe(mFe())});var ly=L(mh=>{"use strict";var vUt=mh&&mh.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mh,"__esModule",{value:!0});mh.Signed=mh.MetadataKind=void 0;mh.isMetadataKind=DUt;var SUt=vUt(ye("util")),Yb=kA(),TK=Af(),EFe=["1","0","31"],RK;(function(t){t.Root="root",t.Timestamp="timestamp",t.Snapshot="snapshot",t.Targets="targets"})(RK||(mh.MetadataKind=RK={}));function DUt(t){return typeof t=="string"&&Object.values(RK).includes(t)}var FK=class t{constructor(e){this.specVersion=e.specVersion||EFe.join(".");let r=this.specVersion.split(".");if(!(r.length===2||r.length===3)||!r.every(s=>bUt(s)))throw new Yb.ValueError("Failed to parse specVersion");if(r[0]!=EFe[0])throw new Yb.ValueError("Unsupported specVersion");this.expires=e.expires,this.version=e.version,this.unrecognizedFields=e.unrecognizedFields||{}}equals(e){return e instanceof t?this.specVersion===e.specVersion&&this.expires===e.expires&&this.version===e.version&&SUt.default.isDeepStrictEqual(this.unrecognizedFields,e.unrecognizedFields):!1}isExpired(e){return e||(e=new Date),e>=new Date(this.expires)}static commonFieldsFromJSON(e){let{spec_version:r,expires:s,version:a,...n}=e;if(TK.guard.isDefined(r)){if(typeof r!="string")throw new TypeError("spec_version must be a string")}else throw new Yb.ValueError("spec_version is not defined");if(TK.guard.isDefined(s)){if(typeof s!="string")throw new TypeError("expires must be a string")}else throw new Yb.ValueError("expires is not defined");if(TK.guard.isDefined(a)){if(typeof a!="number")throw new TypeError("version must be a number")}else throw new Yb.ValueError("version is not defined");return{specVersion:r,expires:s,version:a,unrecognizedFields:n}}};mh.Signed=FK;function bUt(t){return!isNaN(Number(t))}});var Vb=L(kg=>{"use strict";var IFe=kg&&kg.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kg,"__esModule",{value:!0});kg.TargetFile=kg.MetaFile=void 0;var CFe=IFe(ye("crypto")),HO=IFe(ye("util")),xg=kA(),UO=Af(),NK=class t{constructor(e){if(e.version<=0)throw new xg.ValueError("Metafile version must be at least 1");e.length!==void 0&&wFe(e.length),this.version=e.version,this.length=e.length,this.hashes=e.hashes,this.unrecognizedFields=e.unrecognizedFields||{}}equals(e){return e instanceof t?this.version===e.version&&this.length===e.length&&HO.default.isDeepStrictEqual(this.hashes,e.hashes)&&HO.default.isDeepStrictEqual(this.unrecognizedFields,e.unrecognizedFields):!1}verify(e){if(this.length!==void 0&&e.length!==this.length)throw new xg.LengthOrHashMismatchError(`Expected length ${this.length} but got ${e.length}`);this.hashes&&Object.entries(this.hashes).forEach(([r,s])=>{let a;try{a=CFe.default.createHash(r)}catch{throw new xg.LengthOrHashMismatchError(`Hash algorithm ${r} not supported`)}let n=a.update(e).digest("hex");if(n!==s)throw new xg.LengthOrHashMismatchError(`Expected hash ${s} but got ${n}`)})}toJSON(){let e={version:this.version,...this.unrecognizedFields};return this.length!==void 0&&(e.length=this.length),this.hashes&&(e.hashes=this.hashes),e}static fromJSON(e){let{version:r,length:s,hashes:a,...n}=e;if(typeof r!="number")throw new TypeError("version must be a number");if(UO.guard.isDefined(s)&&typeof s!="number")throw new TypeError("length must be a number");if(UO.guard.isDefined(a)&&!UO.guard.isStringRecord(a))throw new TypeError("hashes must be string keys and values");return new t({version:r,length:s,hashes:a,unrecognizedFields:n})}};kg.MetaFile=NK;var OK=class t{constructor(e){wFe(e.length),this.length=e.length,this.path=e.path,this.hashes=e.hashes,this.unrecognizedFields=e.unrecognizedFields||{}}get custom(){let e=this.unrecognizedFields.custom;return!e||Array.isArray(e)||typeof e!="object"?{}:e}equals(e){return e instanceof t?this.length===e.length&&this.path===e.path&&HO.default.isDeepStrictEqual(this.hashes,e.hashes)&&HO.default.isDeepStrictEqual(this.unrecognizedFields,e.unrecognizedFields):!1}async verify(e){let r=0,s=Object.keys(this.hashes).reduce((a,n)=>{try{a[n]=CFe.default.createHash(n)}catch{throw new xg.LengthOrHashMismatchError(`Hash algorithm ${n} not supported`)}return a},{});for await(let a of e)r+=a.length,Object.values(s).forEach(n=>{n.update(a)});if(r!==this.length)throw new xg.LengthOrHashMismatchError(`Expected length ${this.length} but got ${r}`);Object.entries(s).forEach(([a,n])=>{let c=this.hashes[a],f=n.digest("hex");if(f!==c)throw new xg.LengthOrHashMismatchError(`Expected hash ${c} but got ${f}`)})}toJSON(){return{length:this.length,hashes:this.hashes,...this.unrecognizedFields}}static fromJSON(e,r){let{length:s,hashes:a,...n}=r;if(typeof s!="number")throw new TypeError("length must be a number");if(!UO.guard.isStringRecord(a))throw new TypeError("hashes must have string keys and values");return new t({length:s,path:e,hashes:a,unrecognizedFields:n})}};kg.TargetFile=OK;function wFe(t){if(t<0)throw new xg.ValueError("Length must be at least 0")}});var BFe=L(LK=>{"use strict";Object.defineProperty(LK,"__esModule",{value:!0});LK.encodeOIDString=xUt;var PUt=6;function xUt(t){let e=t.split("."),r=parseInt(e[0],10)*40+parseInt(e[1],10),s=[];e.slice(2).forEach(n=>{let c=kUt(parseInt(n,10));s.push(...c)});let a=Buffer.from([r,...s]);return Buffer.from([PUt,a.length,...a])}function kUt(t){let e=[],r=0;for(;t>0;)e.unshift(t&127|r),t>>=7,r=128;return e}});var bFe=L(Jb=>{"use strict";var QUt=Jb&&Jb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Jb,"__esModule",{value:!0});Jb.getPublicKey=NUt;var a1=QUt(ye("crypto")),Kb=kA(),MK=BFe(),jO=48,vFe=3,SFe=0,TUt="1.3.101.112",RUt="1.2.840.10045.2.1",FUt="1.2.840.10045.3.1.7",_K="-----BEGIN PUBLIC KEY-----";function NUt(t){switch(t.keyType){case"rsa":return OUt(t);case"ed25519":return LUt(t);case"ecdsa":case"ecdsa-sha2-nistp256":case"ecdsa-sha2-nistp384":return MUt(t);default:throw new Kb.UnsupportedAlgorithmError(`Unsupported key type: ${t.keyType}`)}}function OUt(t){if(!t.keyVal.startsWith(_K))throw new Kb.CryptoError("Invalid key format");let e=a1.default.createPublicKey(t.keyVal);switch(t.scheme){case"rsassa-pss-sha256":return{key:e,padding:a1.default.constants.RSA_PKCS1_PSS_PADDING};default:throw new Kb.UnsupportedAlgorithmError(`Unsupported RSA scheme: ${t.scheme}`)}}function LUt(t){let e;if(t.keyVal.startsWith(_K))e=a1.default.createPublicKey(t.keyVal);else{if(!DFe(t.keyVal))throw new Kb.CryptoError("Invalid key format");e=a1.default.createPublicKey({key:_Ut.hexToDER(t.keyVal),format:"der",type:"spki"})}return{key:e}}function MUt(t){let e;if(t.keyVal.startsWith(_K))e=a1.default.createPublicKey(t.keyVal);else{if(!DFe(t.keyVal))throw new Kb.CryptoError("Invalid key format");e=a1.default.createPublicKey({key:UUt.hexToDER(t.keyVal),format:"der",type:"spki"})}return{key:e}}var _Ut={hexToDER:t=>{let e=Buffer.from(t,"hex"),r=(0,MK.encodeOIDString)(TUt),s=Buffer.concat([Buffer.concat([Buffer.from([jO]),Buffer.from([r.length]),r]),Buffer.concat([Buffer.from([vFe]),Buffer.from([e.length+1]),Buffer.from([SFe]),e])]);return Buffer.concat([Buffer.from([jO]),Buffer.from([s.length]),s])}},UUt={hexToDER:t=>{let e=Buffer.from(t,"hex"),r=Buffer.concat([Buffer.from([vFe]),Buffer.from([e.length+1]),Buffer.from([SFe]),e]),s=Buffer.concat([(0,MK.encodeOIDString)(RUt),(0,MK.encodeOIDString)(FUt)]),a=Buffer.concat([Buffer.from([jO]),Buffer.from([s.length]),s]);return Buffer.concat([Buffer.from([jO]),Buffer.from([a.length+r.length]),a,r])}},DFe=t=>/^[0-9a-fA-F]+$/.test(t)});var qO=L(l1=>{"use strict";var HUt=l1&&l1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(l1,"__esModule",{value:!0});l1.Key=void 0;var PFe=HUt(ye("util")),zb=kA(),xFe=Af(),jUt=bFe(),UK=class t{constructor(e){let{keyID:r,keyType:s,scheme:a,keyVal:n,unrecognizedFields:c}=e;this.keyID=r,this.keyType=s,this.scheme=a,this.keyVal=n,this.unrecognizedFields=c||{}}verifySignature(e){let r=e.signatures[this.keyID];if(!r)throw new zb.UnsignedMetadataError("no signature for key found in metadata");if(!this.keyVal.public)throw new zb.UnsignedMetadataError("no public key found");let s=(0,jUt.getPublicKey)({keyType:this.keyType,scheme:this.scheme,keyVal:this.keyVal.public}),a=e.signed.toJSON();try{if(!xFe.crypto.verifySignature(a,s,r.sig))throw new zb.UnsignedMetadataError(`failed to verify ${this.keyID} signature`)}catch(n){throw n instanceof zb.UnsignedMetadataError?n:new zb.UnsignedMetadataError(`failed to verify ${this.keyID} signature`)}}equals(e){return e instanceof t?this.keyID===e.keyID&&this.keyType===e.keyType&&this.scheme===e.scheme&&PFe.default.isDeepStrictEqual(this.keyVal,e.keyVal)&&PFe.default.isDeepStrictEqual(this.unrecognizedFields,e.unrecognizedFields):!1}toJSON(){return{keytype:this.keyType,scheme:this.scheme,keyval:this.keyVal,...this.unrecognizedFields}}static fromJSON(e,r){let{keytype:s,scheme:a,keyval:n,...c}=r;if(typeof s!="string")throw new TypeError("keytype must be a string");if(typeof a!="string")throw new TypeError("scheme must be a string");if(!xFe.guard.isStringRecord(n))throw new TypeError("keyval must be a string record");return new t({keyID:e,keyType:s,scheme:a,keyVal:n,unrecognizedFields:c})}};l1.Key=UK});var FFe=L((Cwr,RFe)=>{"use strict";RFe.exports=QFe;function QFe(t,e,r){t instanceof RegExp&&(t=kFe(t,r)),e instanceof RegExp&&(e=kFe(e,r));var s=TFe(t,e,r);return s&&{start:s[0],end:s[1],pre:r.slice(0,s[0]),body:r.slice(s[0]+t.length,s[1]),post:r.slice(s[1]+e.length)}}function kFe(t,e){var r=e.match(t);return r?r[0]:null}QFe.range=TFe;function TFe(t,e,r){var s,a,n,c,f,p=r.indexOf(t),h=r.indexOf(e,p+1),E=p;if(p>=0&&h>0){for(s=[],n=r.length;E>=0&&!f;)E==p?(s.push(E),p=r.indexOf(t,E+1)):s.length==1?f=[s.pop(),h]:(a=s.pop(),a=0?p:h;s.length&&(f=[n,c])}return f}});var jFe=L((wwr,HFe)=>{var NFe=FFe();HFe.exports=WUt;var OFe="\0SLASH"+Math.random()+"\0",LFe="\0OPEN"+Math.random()+"\0",jK="\0CLOSE"+Math.random()+"\0",MFe="\0COMMA"+Math.random()+"\0",_Fe="\0PERIOD"+Math.random()+"\0";function HK(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function qUt(t){return t.split("\\\\").join(OFe).split("\\{").join(LFe).split("\\}").join(jK).split("\\,").join(MFe).split("\\.").join(_Fe)}function GUt(t){return t.split(OFe).join("\\").split(LFe).join("{").split(jK).join("}").split(MFe).join(",").split(_Fe).join(".")}function UFe(t){if(!t)return[""];var e=[],r=NFe("{","}",t);if(!r)return t.split(",");var s=r.pre,a=r.body,n=r.post,c=s.split(",");c[c.length-1]+="{"+a+"}";var f=UFe(n);return n.length&&(c[c.length-1]+=f.shift(),c.push.apply(c,f)),e.push.apply(e,c),e}function WUt(t){return t?(t.substr(0,2)==="{}"&&(t="\\{\\}"+t.substr(2)),Zb(qUt(t),!0).map(GUt)):[]}function YUt(t){return"{"+t+"}"}function VUt(t){return/^-?0\d/.test(t)}function KUt(t,e){return t<=e}function JUt(t,e){return t>=e}function Zb(t,e){var r=[],s=NFe("{","}",t);if(!s)return[t];var a=s.pre,n=s.post.length?Zb(s.post,!1):[""];if(/\$$/.test(s.pre))for(var c=0;c=0;if(!E&&!C)return s.post.match(/,.*\}/)?(t=s.pre+"{"+s.body+jK+s.post,Zb(t)):[t];var S;if(E)S=s.body.split(/\.\./);else if(S=UFe(s.body),S.length===1&&(S=Zb(S[0],!1).map(YUt),S.length===1))return n.map(function(Ce){return s.pre+S[0]+Ce});var P;if(E){var I=HK(S[0]),R=HK(S[1]),N=Math.max(S[0].length,S[1].length),U=S.length==3?Math.abs(HK(S[2])):1,W=KUt,te=R0){var pe=new Array(me+1).join("0");Ae<0?ce="-"+pe+ce.slice(1):ce=pe+ce}}P.push(ce)}}else{P=[];for(var Be=0;Be{"use strict";Object.defineProperty(GO,"__esModule",{value:!0});GO.assertValidPattern=void 0;var zUt=1024*64,ZUt=t=>{if(typeof t!="string")throw new TypeError("invalid pattern");if(t.length>zUt)throw new TypeError("pattern is too long")};GO.assertValidPattern=ZUt});var WFe=L(WO=>{"use strict";Object.defineProperty(WO,"__esModule",{value:!0});WO.parseClass=void 0;var XUt={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},Xb=t=>t.replace(/[[\]\\-]/g,"\\$&"),$Ut=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),GFe=t=>t.join(""),e4t=(t,e)=>{let r=e;if(t.charAt(r)!=="[")throw new Error("not in a brace expression");let s=[],a=[],n=r+1,c=!1,f=!1,p=!1,h=!1,E=r,C="";e:for(;nC?s.push(Xb(C)+"-"+Xb(R)):R===C&&s.push(Xb(R)),C="",n++;continue}if(t.startsWith("-]",n+1)){s.push(Xb(R+"-")),n+=2;continue}if(t.startsWith("-",n+1)){C=R,n+=2;continue}s.push(Xb(R)),n++}if(E{"use strict";Object.defineProperty(YO,"__esModule",{value:!0});YO.unescape=void 0;var t4t=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");YO.unescape=t4t});var WK=L(zO=>{"use strict";Object.defineProperty(zO,"__esModule",{value:!0});zO.AST=void 0;var r4t=WFe(),KO=VO(),n4t=new Set(["!","?","+","*","@"]),YFe=t=>n4t.has(t),i4t="(?!(?:^|/)\\.\\.?(?:$|/))",JO="(?!\\.)",s4t=new Set(["[","."]),o4t=new Set(["..","."]),a4t=new Set("().*{}+?[]^$\\!"),l4t=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),GK="[^/]",VFe=GK+"*?",KFe=GK+"+?",qK=class t{type;#t;#r;#i=!1;#e=[];#n;#o;#l;#a=!1;#s;#c;#f=!1;constructor(e,r,s={}){this.type=e,e&&(this.#r=!0),this.#n=r,this.#t=this.#n?this.#n.#t:this,this.#s=this.#t===this?s:this.#t.#s,this.#l=this.#t===this?[]:this.#t.#l,e==="!"&&!this.#t.#a&&this.#l.push(this),this.#o=this.#n?this.#n.#e.length:0}get hasMagic(){if(this.#r!==void 0)return this.#r;for(let e of this.#e)if(typeof e!="string"&&(e.type||e.hasMagic))return this.#r=!0;return this.#r}toString(){return this.#c!==void 0?this.#c:this.type?this.#c=this.type+"("+this.#e.map(e=>String(e)).join("|")+")":this.#c=this.#e.map(e=>String(e)).join("")}#p(){if(this!==this.#t)throw new Error("should only call on root");if(this.#a)return this;this.toString(),this.#a=!0;let e;for(;e=this.#l.pop();){if(e.type!=="!")continue;let r=e,s=r.#n;for(;s;){for(let a=r.#o+1;!s.type&&atypeof r=="string"?r:r.toJSON()):[this.type,...this.#e.map(r=>r.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===this.#t||this.#t.#a&&this.#n?.type==="!")&&e.push({}),e}isStart(){if(this.#t===this)return!0;if(!this.#n?.isStart())return!1;if(this.#o===0)return!0;let e=this.#n;for(let r=0;r{let[I,R,N,U]=typeof P=="string"?t.#h(P,this.#r,p):P.toRegExpSource(e);return this.#r=this.#r||N,this.#i=this.#i||U,I}).join(""),E="";if(this.isStart()&&typeof this.#e[0]=="string"&&!(this.#e.length===1&&o4t.has(this.#e[0]))){let I=s4t,R=r&&I.has(h.charAt(0))||h.startsWith("\\.")&&I.has(h.charAt(2))||h.startsWith("\\.\\.")&&I.has(h.charAt(4)),N=!r&&!e&&I.has(h.charAt(0));E=R?i4t:N?JO:""}let C="";return this.isEnd()&&this.#t.#a&&this.#n?.type==="!"&&(C="(?:$|\\/)"),[E+h+C,(0,KO.unescape)(h),this.#r=!!this.#r,this.#i]}let s=this.type==="*"||this.type==="+",a=this.type==="!"?"(?:(?!(?:":"(?:",n=this.#A(r);if(this.isStart()&&this.isEnd()&&!n&&this.type!=="!"){let p=this.toString();return this.#e=[p],this.type=null,this.#r=void 0,[p,(0,KO.unescape)(this.toString()),!1,!1]}let c=!s||e||r||!JO?"":this.#A(!0);c===n&&(c=""),c&&(n=`(?:${n})(?:${c})*?`);let f="";if(this.type==="!"&&this.#f)f=(this.isStart()&&!r?JO:"")+KFe;else{let p=this.type==="!"?"))"+(this.isStart()&&!r&&!e?JO:"")+VFe+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&c?")":this.type==="*"&&c?")?":`)${this.type}`;f=a+n+p}return[f,(0,KO.unescape)(n),this.#r=!!this.#r,this.#i]}#A(e){return this.#e.map(r=>{if(typeof r=="string")throw new Error("string type in extglob ast??");let[s,a,n,c]=r.toRegExpSource(e);return this.#i=this.#i||c,s}).filter(r=>!(this.isStart()&&this.isEnd())||!!r).join("|")}static#h(e,r,s=!1){let a=!1,n="",c=!1;for(let f=0;f{"use strict";Object.defineProperty(ZO,"__esModule",{value:!0});ZO.escape=void 0;var c4t=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&");ZO.escape=c4t});var tNe=L(pr=>{"use strict";var u4t=pr&&pr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pr,"__esModule",{value:!0});pr.unescape=pr.escape=pr.AST=pr.Minimatch=pr.match=pr.makeRe=pr.braceExpand=pr.defaults=pr.filter=pr.GLOBSTAR=pr.sep=pr.minimatch=void 0;var f4t=u4t(jFe()),XO=qFe(),ZFe=WK(),A4t=YK(),p4t=VO(),h4t=(t,e,r={})=>((0,XO.assertValidPattern)(e),!r.nocomment&&e.charAt(0)==="#"?!1:new cy(e,r).match(t));pr.minimatch=h4t;var g4t=/^\*+([^+@!?\*\[\(]*)$/,d4t=t=>e=>!e.startsWith(".")&&e.endsWith(t),m4t=t=>e=>e.endsWith(t),y4t=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),E4t=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),I4t=/^\*+\.\*+$/,C4t=t=>!t.startsWith(".")&&t.includes("."),w4t=t=>t!=="."&&t!==".."&&t.includes("."),B4t=/^\.\*+$/,v4t=t=>t!=="."&&t!==".."&&t.startsWith("."),S4t=/^\*+$/,D4t=t=>t.length!==0&&!t.startsWith("."),b4t=t=>t.length!==0&&t!=="."&&t!=="..",P4t=/^\?+([^+@!?\*\[\(]*)?$/,x4t=([t,e=""])=>{let r=XFe([t]);return e?(e=e.toLowerCase(),s=>r(s)&&s.toLowerCase().endsWith(e)):r},k4t=([t,e=""])=>{let r=$Fe([t]);return e?(e=e.toLowerCase(),s=>r(s)&&s.toLowerCase().endsWith(e)):r},Q4t=([t,e=""])=>{let r=$Fe([t]);return e?s=>r(s)&&s.endsWith(e):r},T4t=([t,e=""])=>{let r=XFe([t]);return e?s=>r(s)&&s.endsWith(e):r},XFe=([t])=>{let e=t.length;return r=>r.length===e&&!r.startsWith(".")},$Fe=([t])=>{let e=t.length;return r=>r.length===e&&r!=="."&&r!==".."},eNe=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",JFe={win32:{sep:"\\"},posix:{sep:"/"}};pr.sep=eNe==="win32"?JFe.win32.sep:JFe.posix.sep;pr.minimatch.sep=pr.sep;pr.GLOBSTAR=Symbol("globstar **");pr.minimatch.GLOBSTAR=pr.GLOBSTAR;var R4t="[^/]",F4t=R4t+"*?",N4t="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",O4t="(?:(?!(?:\\/|^)\\.).)*?",L4t=(t,e={})=>r=>(0,pr.minimatch)(r,t,e);pr.filter=L4t;pr.minimatch.filter=pr.filter;var nu=(t,e={})=>Object.assign({},t,e),M4t=t=>{if(!t||typeof t!="object"||!Object.keys(t).length)return pr.minimatch;let e=pr.minimatch;return Object.assign((s,a,n={})=>e(s,a,nu(t,n)),{Minimatch:class extends e.Minimatch{constructor(a,n={}){super(a,nu(t,n))}static defaults(a){return e.defaults(nu(t,a)).Minimatch}},AST:class extends e.AST{constructor(a,n,c={}){super(a,n,nu(t,c))}static fromGlob(a,n={}){return e.AST.fromGlob(a,nu(t,n))}},unescape:(s,a={})=>e.unescape(s,nu(t,a)),escape:(s,a={})=>e.escape(s,nu(t,a)),filter:(s,a={})=>e.filter(s,nu(t,a)),defaults:s=>e.defaults(nu(t,s)),makeRe:(s,a={})=>e.makeRe(s,nu(t,a)),braceExpand:(s,a={})=>e.braceExpand(s,nu(t,a)),match:(s,a,n={})=>e.match(s,a,nu(t,n)),sep:e.sep,GLOBSTAR:pr.GLOBSTAR})};pr.defaults=M4t;pr.minimatch.defaults=pr.defaults;var _4t=(t,e={})=>((0,XO.assertValidPattern)(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:(0,f4t.default)(t));pr.braceExpand=_4t;pr.minimatch.braceExpand=pr.braceExpand;var U4t=(t,e={})=>new cy(t,e).makeRe();pr.makeRe=U4t;pr.minimatch.makeRe=pr.makeRe;var H4t=(t,e,r={})=>{let s=new cy(e,r);return t=t.filter(a=>s.match(a)),s.options.nonull&&!t.length&&t.push(e),t};pr.match=H4t;pr.minimatch.match=pr.match;var zFe=/[?*]|[+@!]\(.*?\)|\[|\]/,j4t=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),cy=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,r={}){(0,XO.assertValidPattern)(e),r=r||{},this.options=r,this.pattern=e,this.platform=r.platform||eNe,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!r.windowsPathsNoEscape||r.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!r.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!r.nonegate,this.comment=!1,this.empty=!1,this.partial=!!r.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=r.windowsNoMagicRoot!==void 0?r.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let r of e)if(typeof r!="string")return!0;return!1}debug(...e){}make(){let e=this.pattern,r=this.options;if(!r.nocomment&&e.charAt(0)==="#"){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],r.debug&&(this.debug=(...n)=>console.error(...n)),this.debug(this.pattern,this.globSet);let s=this.globSet.map(n=>this.slashSplit(n));this.globParts=this.preprocess(s),this.debug(this.pattern,this.globParts);let a=this.globParts.map((n,c,f)=>{if(this.isWindows&&this.windowsNoMagicRoot){let p=n[0]===""&&n[1]===""&&(n[2]==="?"||!zFe.test(n[2]))&&!zFe.test(n[3]),h=/^[a-z]:/i.test(n[0]);if(p)return[...n.slice(0,4),...n.slice(4).map(E=>this.parse(E))];if(h)return[n[0],...n.slice(1).map(E=>this.parse(E))]}return n.map(p=>this.parse(p))});if(this.debug(this.pattern,a),this.set=a.filter(n=>n.indexOf(!1)===-1),this.isWindows)for(let n=0;n=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):r>=1?e=this.levelOneOptimize(e):e=this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(r=>{let s=-1;for(;(s=r.indexOf("**",s+1))!==-1;){let a=s;for(;r[a+1]==="**";)a++;a!==s&&r.splice(s,a-s)}return r})}levelOneOptimize(e){return e.map(r=>(r=r.reduce((s,a)=>{let n=s[s.length-1];return a==="**"&&n==="**"?s:a===".."&&n&&n!==".."&&n!=="."&&n!=="**"?(s.pop(),s):(s.push(a),s)},[]),r.length===0?[""]:r))}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let r=!1;do{if(r=!1,!this.preserveMultipleSlashes){for(let a=1;aa&&s.splice(a+1,c-a);let f=s[a+1],p=s[a+2],h=s[a+3];if(f!==".."||!p||p==="."||p===".."||!h||h==="."||h==="..")continue;r=!0,s.splice(a,1);let E=s.slice(0);E[a]="**",e.push(E),a--}if(!this.preserveMultipleSlashes){for(let c=1;cr.length)}partsMatch(e,r,s=!1){let a=0,n=0,c=[],f="";for(;ate?r=r.slice(ie):te>ie&&(e=e.slice(te)))}}let{optimizationLevel:n=1}=this.options;n>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:r}),this.debug("matchOne",e.length,r.length);for(var c=0,f=0,p=e.length,h=r.length;c>> no match, partial?`,e,S,r,P),S===p))}let R;if(typeof E=="string"?(R=C===E,this.debug("string match",E,C,R)):(R=E.test(C),this.debug("pattern match",E,C,R)),!R)return!1}if(c===p&&f===h)return!0;if(c===p)return s;if(f===h)return c===p-1&&e[c]==="";throw new Error("wtf?")}braceExpand(){return(0,pr.braceExpand)(this.pattern,this.options)}parse(e){(0,XO.assertValidPattern)(e);let r=this.options;if(e==="**")return pr.GLOBSTAR;if(e==="")return"";let s,a=null;(s=e.match(S4t))?a=r.dot?b4t:D4t:(s=e.match(g4t))?a=(r.nocase?r.dot?E4t:y4t:r.dot?m4t:d4t)(s[1]):(s=e.match(P4t))?a=(r.nocase?r.dot?k4t:x4t:r.dot?Q4t:T4t)(s):(s=e.match(I4t))?a=r.dot?w4t:C4t:(s=e.match(B4t))&&(a=v4t);let n=ZFe.AST.fromGlob(e,this.options).toMMPattern();return a&&typeof n=="object"&&Reflect.defineProperty(n,"test",{value:a}),n}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let r=this.options,s=r.noglobstar?F4t:r.dot?N4t:O4t,a=new Set(r.nocase?["i"]:[]),n=e.map(p=>{let h=p.map(E=>{if(E instanceof RegExp)for(let C of E.flags.split(""))a.add(C);return typeof E=="string"?j4t(E):E===pr.GLOBSTAR?pr.GLOBSTAR:E._src});return h.forEach((E,C)=>{let S=h[C+1],P=h[C-1];E!==pr.GLOBSTAR||P===pr.GLOBSTAR||(P===void 0?S!==void 0&&S!==pr.GLOBSTAR?h[C+1]="(?:\\/|"+s+"\\/)?"+S:h[C]=s:S===void 0?h[C-1]=P+"(?:\\/|"+s+")?":S!==pr.GLOBSTAR&&(h[C-1]=P+"(?:\\/|\\/"+s+"\\/)"+S,h[C+1]=pr.GLOBSTAR))}),h.filter(E=>E!==pr.GLOBSTAR).join("/")}).join("|"),[c,f]=e.length>1?["(?:",")"]:["",""];n="^"+c+n+f+"$",this.negate&&(n="^(?!"+n+").+$");try{this.regexp=new RegExp(n,[...a].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,r=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;let s=this.options;this.isWindows&&(e=e.split("\\").join("/"));let a=this.slashSplit(e);this.debug(this.pattern,"split",a);let n=this.set;this.debug(this.pattern,"set",n);let c=a[a.length-1];if(!c)for(let f=a.length-2;!c&&f>=0;f--)c=a[f];for(let f=0;f{"use strict";var rNe=iu&&iu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iu,"__esModule",{value:!0});iu.SuccinctRoles=iu.DelegatedRole=iu.Role=iu.TOP_LEVEL_ROLE_NAMES=void 0;var nNe=rNe(ye("crypto")),Y4t=tNe(),$O=rNe(ye("util")),eL=kA(),uy=Af();iu.TOP_LEVEL_ROLE_NAMES=["root","targets","snapshot","timestamp"];var $b=class t{constructor(e){let{keyIDs:r,threshold:s,unrecognizedFields:a}=e;if(V4t(r))throw new eL.ValueError("duplicate key IDs found");if(s<1)throw new eL.ValueError("threshold must be at least 1");this.keyIDs=r,this.threshold=s,this.unrecognizedFields=a||{}}equals(e){return e instanceof t?this.threshold===e.threshold&&$O.default.isDeepStrictEqual(this.keyIDs,e.keyIDs)&&$O.default.isDeepStrictEqual(this.unrecognizedFields,e.unrecognizedFields):!1}toJSON(){return{keyids:this.keyIDs,threshold:this.threshold,...this.unrecognizedFields}}static fromJSON(e){let{keyids:r,threshold:s,...a}=e;if(!uy.guard.isStringArray(r))throw new TypeError("keyids must be an array");if(typeof s!="number")throw new TypeError("threshold must be a number");return new t({keyIDs:r,threshold:s,unrecognizedFields:a})}};iu.Role=$b;function V4t(t){return new Set(t).size!==t.length}var VK=class t extends $b{constructor(e){super(e);let{name:r,terminating:s,paths:a,pathHashPrefixes:n}=e;if(this.name=r,this.terminating=s,e.paths&&e.pathHashPrefixes)throw new eL.ValueError("paths and pathHashPrefixes are mutually exclusive");this.paths=a,this.pathHashPrefixes=n}equals(e){return e instanceof t?super.equals(e)&&this.name===e.name&&this.terminating===e.terminating&&$O.default.isDeepStrictEqual(this.paths,e.paths)&&$O.default.isDeepStrictEqual(this.pathHashPrefixes,e.pathHashPrefixes):!1}isDelegatedPath(e){if(this.paths)return this.paths.some(r=>J4t(e,r));if(this.pathHashPrefixes){let s=nNe.default.createHash("sha256").update(e).digest("hex");return this.pathHashPrefixes.some(a=>s.startsWith(a))}return!1}toJSON(){let e={...super.toJSON(),name:this.name,terminating:this.terminating};return this.paths&&(e.paths=this.paths),this.pathHashPrefixes&&(e.path_hash_prefixes=this.pathHashPrefixes),e}static fromJSON(e){let{keyids:r,threshold:s,name:a,terminating:n,paths:c,path_hash_prefixes:f,...p}=e;if(!uy.guard.isStringArray(r))throw new TypeError("keyids must be an array of strings");if(typeof s!="number")throw new TypeError("threshold must be a number");if(typeof a!="string")throw new TypeError("name must be a string");if(typeof n!="boolean")throw new TypeError("terminating must be a boolean");if(uy.guard.isDefined(c)&&!uy.guard.isStringArray(c))throw new TypeError("paths must be an array of strings");if(uy.guard.isDefined(f)&&!uy.guard.isStringArray(f))throw new TypeError("path_hash_prefixes must be an array of strings");return new t({keyIDs:r,threshold:s,name:a,terminating:n,paths:c,pathHashPrefixes:f,unrecognizedFields:p})}};iu.DelegatedRole=VK;var K4t=(t,e)=>t.map((r,s)=>[r,e[s]]);function J4t(t,e){let r=t.split("/"),s=e.split("/");return s.length!=r.length?!1:K4t(r,s).every(([a,n])=>(0,Y4t.minimatch)(a,n))}var KK=class t extends $b{constructor(e){super(e);let{bitLength:r,namePrefix:s}=e;if(r<=0||r>32)throw new eL.ValueError("bitLength must be between 1 and 32");this.bitLength=r,this.namePrefix=s,this.numberOfBins=Math.pow(2,r),this.suffixLen=(this.numberOfBins-1).toString(16).length}equals(e){return e instanceof t?super.equals(e)&&this.bitLength===e.bitLength&&this.namePrefix===e.namePrefix:!1}getRoleForTarget(e){let a=nNe.default.createHash("sha256").update(e).digest().subarray(0,4),n=32-this.bitLength,f=(a.readUInt32BE()>>>n).toString(16).padStart(this.suffixLen,"0");return`${this.namePrefix}-${f}`}*getRoles(){for(let e=0;e{"use strict";var z4t=c1&&c1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(c1,"__esModule",{value:!0});c1.Root=void 0;var iNe=z4t(ye("util")),zK=ly(),sNe=kA(),Z4t=qO(),tL=JK(),rL=Af(),ZK=class t extends zK.Signed{constructor(e){if(super(e),this.type=zK.MetadataKind.Root,this.keys=e.keys||{},this.consistentSnapshot=e.consistentSnapshot??!0,!e.roles)this.roles=tL.TOP_LEVEL_ROLE_NAMES.reduce((r,s)=>({...r,[s]:new tL.Role({keyIDs:[],threshold:1})}),{});else{let r=new Set(Object.keys(e.roles));if(!tL.TOP_LEVEL_ROLE_NAMES.every(s=>r.has(s)))throw new sNe.ValueError("missing top-level role");this.roles=e.roles}}addKey(e,r){if(!this.roles[r])throw new sNe.ValueError(`role ${r} does not exist`);this.roles[r].keyIDs.includes(e.keyID)||this.roles[r].keyIDs.push(e.keyID),this.keys[e.keyID]=e}equals(e){return e instanceof t?super.equals(e)&&this.consistentSnapshot===e.consistentSnapshot&&iNe.default.isDeepStrictEqual(this.keys,e.keys)&&iNe.default.isDeepStrictEqual(this.roles,e.roles):!1}toJSON(){return{_type:this.type,spec_version:this.specVersion,version:this.version,expires:this.expires,keys:X4t(this.keys),roles:$4t(this.roles),consistent_snapshot:this.consistentSnapshot,...this.unrecognizedFields}}static fromJSON(e){let{unrecognizedFields:r,...s}=zK.Signed.commonFieldsFromJSON(e),{keys:a,roles:n,consistent_snapshot:c,...f}=r;if(typeof c!="boolean")throw new TypeError("consistent_snapshot must be a boolean");return new t({...s,keys:e3t(a),roles:t3t(n),consistentSnapshot:c,unrecognizedFields:f})}};c1.Root=ZK;function X4t(t){return Object.entries(t).reduce((e,[r,s])=>({...e,[r]:s.toJSON()}),{})}function $4t(t){return Object.entries(t).reduce((e,[r,s])=>({...e,[r]:s.toJSON()}),{})}function e3t(t){let e;if(rL.guard.isDefined(t)){if(!rL.guard.isObjectRecord(t))throw new TypeError("keys must be an object");e=Object.entries(t).reduce((r,[s,a])=>({...r,[s]:Z4t.Key.fromJSON(s,a)}),{})}return e}function t3t(t){let e;if(rL.guard.isDefined(t)){if(!rL.guard.isObjectRecord(t))throw new TypeError("roles must be an object");e=Object.entries(t).reduce((r,[s,a])=>({...r,[s]:tL.Role.fromJSON(a)}),{})}return e}});var eJ=L(nL=>{"use strict";Object.defineProperty(nL,"__esModule",{value:!0});nL.Signature=void 0;var $K=class t{constructor(e){let{keyID:r,sig:s}=e;this.keyID=r,this.sig=s}toJSON(){return{keyid:this.keyID,sig:this.sig}}static fromJSON(e){let{keyid:r,sig:s}=e;if(typeof r!="string")throw new TypeError("keyid must be a string");if(typeof s!="string")throw new TypeError("sig must be a string");return new t({keyID:r,sig:s})}};nL.Signature=$K});var nJ=L(u1=>{"use strict";var r3t=u1&&u1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(u1,"__esModule",{value:!0});u1.Snapshot=void 0;var n3t=r3t(ye("util")),tJ=ly(),aNe=Vb(),oNe=Af(),rJ=class t extends tJ.Signed{constructor(e){super(e),this.type=tJ.MetadataKind.Snapshot,this.meta=e.meta||{"targets.json":new aNe.MetaFile({version:1})}}equals(e){return e instanceof t?super.equals(e)&&n3t.default.isDeepStrictEqual(this.meta,e.meta):!1}toJSON(){return{_type:this.type,meta:i3t(this.meta),spec_version:this.specVersion,version:this.version,expires:this.expires,...this.unrecognizedFields}}static fromJSON(e){let{unrecognizedFields:r,...s}=tJ.Signed.commonFieldsFromJSON(e),{meta:a,...n}=r;return new t({...s,meta:s3t(a),unrecognizedFields:n})}};u1.Snapshot=rJ;function i3t(t){return Object.entries(t).reduce((e,[r,s])=>({...e,[r]:s.toJSON()}),{})}function s3t(t){let e;if(oNe.guard.isDefined(t))if(oNe.guard.isObjectRecord(t))e=Object.entries(t).reduce((r,[s,a])=>({...r,[s]:aNe.MetaFile.fromJSON(a)}),{});else throw new TypeError("meta field is malformed");return e}});var lNe=L(f1=>{"use strict";var o3t=f1&&f1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(f1,"__esModule",{value:!0});f1.Delegations=void 0;var iL=o3t(ye("util")),a3t=kA(),l3t=qO(),iJ=JK(),sL=Af(),sJ=class t{constructor(e){if(this.keys=e.keys,this.unrecognizedFields=e.unrecognizedFields||{},e.roles&&Object.keys(e.roles).some(r=>iJ.TOP_LEVEL_ROLE_NAMES.includes(r)))throw new a3t.ValueError("Delegated role name conflicts with top-level role name");this.succinctRoles=e.succinctRoles,this.roles=e.roles}equals(e){return e instanceof t?iL.default.isDeepStrictEqual(this.keys,e.keys)&&iL.default.isDeepStrictEqual(this.roles,e.roles)&&iL.default.isDeepStrictEqual(this.unrecognizedFields,e.unrecognizedFields)&&iL.default.isDeepStrictEqual(this.succinctRoles,e.succinctRoles):!1}*rolesForTarget(e){if(this.roles)for(let r of Object.values(this.roles))r.isDelegatedPath(e)&&(yield{role:r.name,terminating:r.terminating});else this.succinctRoles&&(yield{role:this.succinctRoles.getRoleForTarget(e),terminating:!0})}toJSON(){let e={keys:c3t(this.keys),...this.unrecognizedFields};return this.roles?e.roles=u3t(this.roles):this.succinctRoles&&(e.succinct_roles=this.succinctRoles.toJSON()),e}static fromJSON(e){let{keys:r,roles:s,succinct_roles:a,...n}=e,c;return sL.guard.isObject(a)&&(c=iJ.SuccinctRoles.fromJSON(a)),new t({keys:f3t(r),roles:A3t(s),unrecognizedFields:n,succinctRoles:c})}};f1.Delegations=sJ;function c3t(t){return Object.entries(t).reduce((e,[r,s])=>({...e,[r]:s.toJSON()}),{})}function u3t(t){return Object.values(t).map(e=>e.toJSON())}function f3t(t){if(!sL.guard.isObjectRecord(t))throw new TypeError("keys is malformed");return Object.entries(t).reduce((e,[r,s])=>({...e,[r]:l3t.Key.fromJSON(r,s)}),{})}function A3t(t){let e;if(sL.guard.isDefined(t)){if(!sL.guard.isObjectArray(t))throw new TypeError("roles is malformed");e=t.reduce((r,s)=>{let a=iJ.DelegatedRole.fromJSON(s);return{...r,[a.name]:a}},{})}return e}});var lJ=L(A1=>{"use strict";var p3t=A1&&A1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(A1,"__esModule",{value:!0});A1.Targets=void 0;var cNe=p3t(ye("util")),oJ=ly(),h3t=lNe(),g3t=Vb(),oL=Af(),aJ=class t extends oJ.Signed{constructor(e){super(e),this.type=oJ.MetadataKind.Targets,this.targets=e.targets||{},this.delegations=e.delegations}addTarget(e){this.targets[e.path]=e}equals(e){return e instanceof t?super.equals(e)&&cNe.default.isDeepStrictEqual(this.targets,e.targets)&&cNe.default.isDeepStrictEqual(this.delegations,e.delegations):!1}toJSON(){let e={_type:this.type,spec_version:this.specVersion,version:this.version,expires:this.expires,targets:d3t(this.targets),...this.unrecognizedFields};return this.delegations&&(e.delegations=this.delegations.toJSON()),e}static fromJSON(e){let{unrecognizedFields:r,...s}=oJ.Signed.commonFieldsFromJSON(e),{targets:a,delegations:n,...c}=r;return new t({...s,targets:m3t(a),delegations:y3t(n),unrecognizedFields:c})}};A1.Targets=aJ;function d3t(t){return Object.entries(t).reduce((e,[r,s])=>({...e,[r]:s.toJSON()}),{})}function m3t(t){let e;if(oL.guard.isDefined(t))if(oL.guard.isObjectRecord(t))e=Object.entries(t).reduce((r,[s,a])=>({...r,[s]:g3t.TargetFile.fromJSON(s,a)}),{});else throw new TypeError("targets must be an object");return e}function y3t(t){let e;if(oL.guard.isDefined(t))if(oL.guard.isObject(t))e=h3t.Delegations.fromJSON(t);else throw new TypeError("delegations must be an object");return e}});var AJ=L(aL=>{"use strict";Object.defineProperty(aL,"__esModule",{value:!0});aL.Timestamp=void 0;var cJ=ly(),uNe=Vb(),uJ=Af(),fJ=class t extends cJ.Signed{constructor(e){super(e),this.type=cJ.MetadataKind.Timestamp,this.snapshotMeta=e.snapshotMeta||new uNe.MetaFile({version:1})}equals(e){return e instanceof t?super.equals(e)&&this.snapshotMeta.equals(e.snapshotMeta):!1}toJSON(){return{_type:this.type,spec_version:this.specVersion,version:this.version,expires:this.expires,meta:{"snapshot.json":this.snapshotMeta.toJSON()},...this.unrecognizedFields}}static fromJSON(e){let{unrecognizedFields:r,...s}=cJ.Signed.commonFieldsFromJSON(e),{meta:a,...n}=r;return new t({...s,snapshotMeta:E3t(a),unrecognizedFields:n})}};aL.Timestamp=fJ;function E3t(t){let e;if(uJ.guard.isDefined(t)){let r=t["snapshot.json"];if(!uJ.guard.isDefined(r)||!uJ.guard.isObject(r))throw new TypeError("missing snapshot.json in meta");e=uNe.MetaFile.fromJSON(r)}return e}});var ANe=L(h1=>{"use strict";var I3t=h1&&h1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(h1,"__esModule",{value:!0});h1.Metadata=void 0;var C3t=QK(),fNe=I3t(ye("util")),p1=ly(),eP=kA(),w3t=XK(),B3t=eJ(),v3t=nJ(),S3t=lJ(),D3t=AJ(),pJ=Af(),hJ=class t{constructor(e,r,s){this.signed=e,this.signatures=r||{},this.unrecognizedFields=s||{}}sign(e,r=!0){let s=Buffer.from((0,C3t.canonicalize)(this.signed.toJSON())),a=e(s);r||(this.signatures={}),this.signatures[a.keyID]=a}verifyDelegate(e,r){let s,a={};switch(this.signed.type){case p1.MetadataKind.Root:a=this.signed.keys,s=this.signed.roles[e];break;case p1.MetadataKind.Targets:if(!this.signed.delegations)throw new eP.ValueError(`No delegations found for ${e}`);a=this.signed.delegations.keys,this.signed.delegations.roles?s=this.signed.delegations.roles[e]:this.signed.delegations.succinctRoles&&this.signed.delegations.succinctRoles.isDelegatedRole(e)&&(s=this.signed.delegations.succinctRoles);break;default:throw new TypeError("invalid metadata type")}if(!s)throw new eP.ValueError(`no delegation found for ${e}`);let n=new Set;if(s.keyIDs.forEach(c=>{let f=a[c];if(f)try{f.verifySignature(r),n.add(f.keyID)}catch{}}),n.sizer.toJSON()),signed:this.signed.toJSON(),...this.unrecognizedFields}}static fromJSON(e,r){let{signed:s,signatures:a,...n}=r;if(!pJ.guard.isDefined(s)||!pJ.guard.isObject(s))throw new TypeError("signed is not defined");if(e!==s._type)throw new eP.ValueError(`expected '${e}', got ${s._type}`);if(!pJ.guard.isObjectArray(a))throw new TypeError("signatures is not an array");let c;switch(e){case p1.MetadataKind.Root:c=w3t.Root.fromJSON(s);break;case p1.MetadataKind.Timestamp:c=D3t.Timestamp.fromJSON(s);break;case p1.MetadataKind.Snapshot:c=v3t.Snapshot.fromJSON(s);break;case p1.MetadataKind.Targets:c=S3t.Targets.fromJSON(s);break;default:throw new TypeError("invalid metadata type")}let f={};return a.forEach(p=>{let h=B3t.Signature.fromJSON(p);if(f[h.keyID])throw new eP.ValueError(`multiple signatures found for keyid: ${h.keyID}`);f[h.keyID]=h}),new t(c,f,n)}};h1.Metadata=hJ});var lL=L(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.Timestamp=Ri.Targets=Ri.Snapshot=Ri.Signature=Ri.Root=Ri.Metadata=Ri.Key=Ri.TargetFile=Ri.MetaFile=Ri.ValueError=Ri.MetadataKind=void 0;var b3t=ly();Object.defineProperty(Ri,"MetadataKind",{enumerable:!0,get:function(){return b3t.MetadataKind}});var P3t=kA();Object.defineProperty(Ri,"ValueError",{enumerable:!0,get:function(){return P3t.ValueError}});var pNe=Vb();Object.defineProperty(Ri,"MetaFile",{enumerable:!0,get:function(){return pNe.MetaFile}});Object.defineProperty(Ri,"TargetFile",{enumerable:!0,get:function(){return pNe.TargetFile}});var x3t=qO();Object.defineProperty(Ri,"Key",{enumerable:!0,get:function(){return x3t.Key}});var k3t=ANe();Object.defineProperty(Ri,"Metadata",{enumerable:!0,get:function(){return k3t.Metadata}});var Q3t=XK();Object.defineProperty(Ri,"Root",{enumerable:!0,get:function(){return Q3t.Root}});var T3t=eJ();Object.defineProperty(Ri,"Signature",{enumerable:!0,get:function(){return T3t.Signature}});var R3t=nJ();Object.defineProperty(Ri,"Snapshot",{enumerable:!0,get:function(){return R3t.Snapshot}});var F3t=lJ();Object.defineProperty(Ri,"Targets",{enumerable:!0,get:function(){return F3t.Targets}});var N3t=AJ();Object.defineProperty(Ri,"Timestamp",{enumerable:!0,get:function(){return N3t.Timestamp}})});var gNe=L((Uwr,hNe)=>{var g1=1e3,d1=g1*60,m1=d1*60,fy=m1*24,O3t=fy*7,L3t=fy*365.25;hNe.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return M3t(t);if(r==="number"&&isFinite(t))return e.long?U3t(t):_3t(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function M3t(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),s=(e[2]||"ms").toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return r*L3t;case"weeks":case"week":case"w":return r*O3t;case"days":case"day":case"d":return r*fy;case"hours":case"hour":case"hrs":case"hr":case"h":return r*m1;case"minutes":case"minute":case"mins":case"min":case"m":return r*d1;case"seconds":case"second":case"secs":case"sec":case"s":return r*g1;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function _3t(t){var e=Math.abs(t);return e>=fy?Math.round(t/fy)+"d":e>=m1?Math.round(t/m1)+"h":e>=d1?Math.round(t/d1)+"m":e>=g1?Math.round(t/g1)+"s":t+"ms"}function U3t(t){var e=Math.abs(t);return e>=fy?cL(t,e,fy,"day"):e>=m1?cL(t,e,m1,"hour"):e>=d1?cL(t,e,d1,"minute"):e>=g1?cL(t,e,g1,"second"):t+" ms"}function cL(t,e,r,s){var a=e>=r*1.5;return Math.round(t/r)+" "+s+(a?"s":"")}});var gJ=L((Hwr,dNe)=>{function H3t(t){r.debug=r,r.default=r,r.coerce=p,r.disable=c,r.enable=a,r.enabled=f,r.humanize=gNe(),r.destroy=h,Object.keys(t).forEach(E=>{r[E]=t[E]}),r.names=[],r.skips=[],r.formatters={};function e(E){let C=0;for(let S=0;S{if(ce==="%%")return"%";ie++;let pe=r.formatters[me];if(typeof pe=="function"){let Be=N[ie];ce=pe.call(U,Be),N.splice(ie,1),ie--}return ce}),r.formatArgs.call(U,N),(U.log||r.log).apply(U,N)}return R.namespace=E,R.useColors=r.useColors(),R.color=r.selectColor(E),R.extend=s,R.destroy=r.destroy,Object.defineProperty(R,"enabled",{enumerable:!0,configurable:!1,get:()=>S!==null?S:(P!==r.namespaces&&(P=r.namespaces,I=r.enabled(E)),I),set:N=>{S=N}}),typeof r.init=="function"&&r.init(R),R}function s(E,C){let S=r(this.namespace+(typeof C>"u"?":":C)+E);return S.log=this.log,S}function a(E){r.save(E),r.namespaces=E,r.names=[],r.skips=[];let C=(typeof E=="string"?E:"").trim().replace(" ",",").split(",").filter(Boolean);for(let S of C)S[0]==="-"?r.skips.push(S.slice(1)):r.names.push(S)}function n(E,C){let S=0,P=0,I=-1,R=0;for(;S"-"+C)].join(",");return r.enable(""),E}function f(E){for(let C of r.skips)if(n(E,C))return!1;for(let C of r.names)if(n(E,C))return!0;return!1}function p(E){return E instanceof Error?E.stack||E.message:E}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}dNe.exports=H3t});var mNe=L((oc,uL)=>{oc.formatArgs=q3t;oc.save=G3t;oc.load=W3t;oc.useColors=j3t;oc.storage=Y3t();oc.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();oc.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function j3t(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function q3t(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+uL.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,s=0;t[0].replace(/%[a-zA-Z%]/g,a=>{a!=="%%"&&(r++,a==="%c"&&(s=r))}),t.splice(s,0,e)}oc.log=console.debug||console.log||(()=>{});function G3t(t){try{t?oc.storage.setItem("debug",t):oc.storage.removeItem("debug")}catch{}}function W3t(){let t;try{t=oc.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Y3t(){try{return localStorage}catch{}}uL.exports=gJ()(oc);var{formatters:V3t}=uL.exports;V3t.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ENe=L(($s,AL)=>{var K3t=ye("tty"),fL=ye("util");$s.init=t8t;$s.log=X3t;$s.formatArgs=z3t;$s.save=$3t;$s.load=e8t;$s.useColors=J3t;$s.destroy=fL.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");$s.colors=[6,2,3,4,5,1];try{let t=ye("supports-color");t&&(t.stderr||t).level>=2&&($s.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}$s.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(a,n)=>n.toUpperCase()),s=process.env[e];return/^(yes|on|true|enabled)$/i.test(s)?s=!0:/^(no|off|false|disabled)$/i.test(s)?s=!1:s==="null"?s=null:s=Number(s),t[r]=s,t},{});function J3t(){return"colors"in $s.inspectOpts?!!$s.inspectOpts.colors:K3t.isatty(process.stderr.fd)}function z3t(t){let{namespace:e,useColors:r}=this;if(r){let s=this.color,a="\x1B[3"+(s<8?s:"8;5;"+s),n=` ${a};1m${e} \x1B[0m`;t[0]=n+t[0].split(` +`).join(` +`+n),t.push(a+"m+"+AL.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Z3t()+e+" "+t[0]}function Z3t(){return $s.inspectOpts.hideDate?"":new Date().toISOString()+" "}function X3t(...t){return process.stderr.write(fL.formatWithOptions($s.inspectOpts,...t)+` +`)}function $3t(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function e8t(){return process.env.DEBUG}function t8t(t){t.inspectOpts={};let e=Object.keys($s.inspectOpts);for(let r=0;re.trim()).join(" ")};yNe.O=function(t){return this.inspectOpts.colors=this.useColors,fL.inspect(t,this.inspectOpts)}});var mJ=L((jwr,dJ)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?dJ.exports=mNe():dJ.exports=ENe()});var hL=L(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.DownloadHTTPError=Ji.DownloadLengthMismatchError=Ji.DownloadError=Ji.ExpiredMetadataError=Ji.EqualVersionError=Ji.BadVersionError=Ji.RepositoryError=Ji.PersistError=Ji.RuntimeError=Ji.ValueError=void 0;var yJ=class extends Error{};Ji.ValueError=yJ;var EJ=class extends Error{};Ji.RuntimeError=EJ;var IJ=class extends Error{};Ji.PersistError=IJ;var tP=class extends Error{};Ji.RepositoryError=tP;var pL=class extends tP{};Ji.BadVersionError=pL;var CJ=class extends pL{};Ji.EqualVersionError=CJ;var wJ=class extends tP{};Ji.ExpiredMetadataError=wJ;var rP=class extends Error{};Ji.DownloadError=rP;var BJ=class extends rP{};Ji.DownloadLengthMismatchError=BJ;var vJ=class extends rP{constructor(e,r){super(e),this.statusCode=r}};Ji.DownloadHTTPError=vJ});var CNe=L(y1=>{"use strict";var DJ=y1&&y1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(y1,"__esModule",{value:!0});y1.withTempFile=void 0;var SJ=DJ(ye("fs/promises")),r8t=DJ(ye("os")),INe=DJ(ye("path")),n8t=async t=>i8t(async e=>t(INe.default.join(e,"tempfile")));y1.withTempFile=n8t;var i8t=async t=>{let e=await SJ.default.realpath(r8t.default.tmpdir()),r=await SJ.default.mkdtemp(e+INe.default.sep);try{return await t(r)}finally{await SJ.default.rm(r,{force:!0,recursive:!0,maxRetries:3})}}});var PJ=L(Qg=>{"use strict";var dL=Qg&&Qg.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qg,"__esModule",{value:!0});Qg.DefaultFetcher=Qg.BaseFetcher=void 0;var s8t=dL(mJ()),wNe=dL(ye("fs")),o8t=dL(xO()),a8t=dL(ye("util")),BNe=hL(),l8t=CNe(),c8t=(0,s8t.default)("tuf:fetch"),gL=class{async downloadFile(e,r,s){return(0,l8t.withTempFile)(async a=>{let n=await this.fetch(e),c=0,f=wNe.default.createWriteStream(a);try{for await(let p of n){let h=Buffer.from(p);if(c+=h.length,c>r)throw new BNe.DownloadLengthMismatchError("Max length reached");await u8t(f,h)}}finally{await a8t.default.promisify(f.close).bind(f)()}return s(a)})}async downloadBytes(e,r){return this.downloadFile(e,r,async s=>{let a=wNe.default.createReadStream(s),n=[];for await(let c of a)n.push(c);return Buffer.concat(n)})}};Qg.BaseFetcher=gL;var bJ=class extends gL{constructor(e={}){super(),this.timeout=e.timeout,this.retry=e.retry}async fetch(e){c8t("GET %s",e);let r=await(0,o8t.default)(e,{timeout:this.timeout,retry:this.retry});if(!r.ok||!r?.body)throw new BNe.DownloadHTTPError("Failed to download",r.status);return r.body}};Qg.DefaultFetcher=bJ;var u8t=async(t,e)=>new Promise((r,s)=>{t.write(e,a=>{a&&s(a),r(!0)})})});var vNe=L(mL=>{"use strict";Object.defineProperty(mL,"__esModule",{value:!0});mL.defaultConfig=void 0;mL.defaultConfig={maxRootRotations:256,maxDelegations:32,rootMaxLength:512e3,timestampMaxLength:16384,snapshotMaxLength:2e6,targetsMaxLength:5e6,prefixTargetsWithHash:!0,fetchTimeout:1e5,fetchRetries:void 0,fetchRetry:2}});var SNe=L(yL=>{"use strict";Object.defineProperty(yL,"__esModule",{value:!0});yL.TrustedMetadataStore=void 0;var Is=lL(),Ui=hL(),xJ=class{constructor(e){this.trustedSet={},this.referenceTime=new Date,this.loadTrustedRoot(e)}get root(){if(!this.trustedSet.root)throw new ReferenceError("No trusted root metadata");return this.trustedSet.root}get timestamp(){return this.trustedSet.timestamp}get snapshot(){return this.trustedSet.snapshot}get targets(){return this.trustedSet.targets}getRole(e){return this.trustedSet[e]}updateRoot(e){let r=JSON.parse(e.toString("utf8")),s=Is.Metadata.fromJSON(Is.MetadataKind.Root,r);if(s.signed.type!=Is.MetadataKind.Root)throw new Ui.RepositoryError(`Expected 'root', got ${s.signed.type}`);if(this.root.verifyDelegate(Is.MetadataKind.Root,s),s.signed.version!=this.root.signed.version+1)throw new Ui.BadVersionError(`Expected version ${this.root.signed.version+1}, got ${s.signed.version}`);return s.verifyDelegate(Is.MetadataKind.Root,s),this.trustedSet.root=s,s}updateTimestamp(e){if(this.snapshot)throw new Ui.RuntimeError("Cannot update timestamp after snapshot");if(this.root.signed.isExpired(this.referenceTime))throw new Ui.ExpiredMetadataError("Final root.json is expired");let r=JSON.parse(e.toString("utf8")),s=Is.Metadata.fromJSON(Is.MetadataKind.Timestamp,r);if(s.signed.type!=Is.MetadataKind.Timestamp)throw new Ui.RepositoryError(`Expected 'timestamp', got ${s.signed.type}`);if(this.root.verifyDelegate(Is.MetadataKind.Timestamp,s),this.timestamp){if(s.signed.version{let p=n.signed.meta[c];if(!p)throw new Ui.RepositoryError(`Missing file ${c} in new snapshot`);if(p.version{"use strict";Object.defineProperty(kJ,"__esModule",{value:!0});kJ.join=A8t;var f8t=ye("url");function A8t(t,e){return new f8t.URL(p8t(t)+h8t(e)).toString()}function p8t(t){return t.endsWith("/")?t:t+"/"}function h8t(t){return t.startsWith("/")?t.slice(1):t}});var bNe=L(su=>{"use strict";var g8t=su&&su.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),d8t=su&&su.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),RJ=su&&su.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&g8t(e,t,r);return d8t(e,t),e},m8t=su&&su.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(su,"__esModule",{value:!0});su.Updater=void 0;var QA=lL(),y8t=m8t(mJ()),E1=RJ(ye("fs")),EL=RJ(ye("path")),E8t=vNe(),Ay=hL(),I8t=PJ(),C8t=SNe(),nP=RJ(DNe()),QJ=(0,y8t.default)("tuf:cache"),TJ=class{constructor(e){let{metadataDir:r,metadataBaseUrl:s,targetDir:a,targetBaseUrl:n,fetcher:c,config:f}=e;this.dir=r,this.metadataBaseUrl=s,this.targetDir=a,this.targetBaseUrl=n,this.forceCache=e.forceCache??!1;let p=this.loadLocalMetadata(QA.MetadataKind.Root);this.trustedSet=new C8t.TrustedMetadataStore(p),this.config={...E8t.defaultConfig,...f},this.fetcher=c||new I8t.DefaultFetcher({timeout:this.config.fetchTimeout,retry:this.config.fetchRetries??this.config.fetchRetry})}async refresh(){if(this.forceCache)try{await this.loadTimestamp({checkRemote:!1})}catch{await this.loadRoot(),await this.loadTimestamp()}else await this.loadRoot(),await this.loadTimestamp();await this.loadSnapshot(),await this.loadTargets(QA.MetadataKind.Targets,QA.MetadataKind.Root)}async getTargetInfo(e){return this.trustedSet.targets||await this.refresh(),this.preorderDepthFirstWalk(e)}async downloadTarget(e,r,s){let a=r||this.generateTargetPath(e);if(!s){if(!this.targetBaseUrl)throw new Ay.ValueError("Target base URL not set");s=this.targetBaseUrl}let n=e.path;if(this.trustedSet.root.signed.consistentSnapshot&&this.config.prefixTargetsWithHash){let p=Object.values(e.hashes),{dir:h,base:E}=EL.parse(n),C=`${p[0]}.${E}`;n=h?`${h}/${C}`:C}let f=nP.join(s,n);return await this.fetcher.downloadFile(f,e.length,async p=>{await e.verify(E1.createReadStream(p)),QJ("WRITE %s",a),E1.copyFileSync(p,a)}),a}async findCachedTarget(e,r){r||(r=this.generateTargetPath(e));try{if(E1.existsSync(r))return await e.verify(E1.createReadStream(r)),r}catch{return}}loadLocalMetadata(e){let r=EL.join(this.dir,`${e}.json`);return QJ("READ %s",r),E1.readFileSync(r)}async loadRoot(){let r=this.trustedSet.root.signed.version+1,s=r+this.config.maxRootRotations;for(let a=r;a0;){let{roleName:a,parentRoleName:n}=r.pop();if(s.has(a))continue;let c=(await this.loadTargets(a,n))?.signed;if(!c)continue;let f=c.targets?.[e];if(f)return f;if(s.add(a),c.delegations){let p=[],h=c.delegations.rolesForTarget(e);for(let{role:E,terminating:C}of h)if(p.push({roleName:E,parentRoleName:a}),C){r.splice(0);break}p.reverse(),r.push(...p)}}}generateTargetPath(e){if(!this.targetDir)throw new Ay.ValueError("Target directory not set");let r=encodeURIComponent(e.path);return EL.join(this.targetDir,r)}persistMetadata(e,r){let s=encodeURIComponent(e);try{let a=EL.join(this.dir,`${s}.json`);QJ("WRITE %s",a),E1.writeFileSync(a,r.toString("utf8"))}catch(a){throw new Ay.PersistError(`Failed to persist metadata ${s} error: ${a}`)}}};su.Updater=TJ});var PNe=L(Tg=>{"use strict";Object.defineProperty(Tg,"__esModule",{value:!0});Tg.Updater=Tg.BaseFetcher=Tg.TargetFile=void 0;var w8t=lL();Object.defineProperty(Tg,"TargetFile",{enumerable:!0,get:function(){return w8t.TargetFile}});var B8t=PJ();Object.defineProperty(Tg,"BaseFetcher",{enumerable:!0,get:function(){return B8t.BaseFetcher}});var v8t=bNe();Object.defineProperty(Tg,"Updater",{enumerable:!0,get:function(){return v8t.Updater}})});var NJ=L(IL=>{"use strict";Object.defineProperty(IL,"__esModule",{value:!0});IL.TUFError=void 0;var FJ=class extends Error{constructor({code:e,message:r,cause:s}){super(r),this.code=e,this.cause=s,this.name=this.constructor.name}};IL.TUFError=FJ});var xNe=L(iP=>{"use strict";var S8t=iP&&iP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iP,"__esModule",{value:!0});iP.readTarget=b8t;var D8t=S8t(ye("fs")),CL=NJ();async function b8t(t,e){let r=await P8t(t,e);return new Promise((s,a)=>{D8t.default.readFile(r,"utf-8",(n,c)=>{n?a(new CL.TUFError({code:"TUF_READ_TARGET_ERROR",message:`error reading target ${r}`,cause:n})):s(c)})})}async function P8t(t,e){let r;try{r=await t.getTargetInfo(e)}catch(a){throw new CL.TUFError({code:"TUF_REFRESH_METADATA_ERROR",message:"error refreshing TUF metadata",cause:a})}if(!r)throw new CL.TUFError({code:"TUF_FIND_TARGET_ERROR",message:`target ${e} not found`});let s=await t.findCachedTarget(r);if(!s)try{s=await t.downloadTarget(r)}catch(a){throw new CL.TUFError({code:"TUF_DOWNLOAD_TARGET_ERROR",message:`error downloading target ${s}`,cause:a})}return s}});var kNe=L(($wr,x8t)=>{x8t.exports={"https://tuf-repo-cdn.sigstore.dev":{"root.json":"ewogInNpZ25hdHVyZXMiOiBbCiAgewogICAia2V5aWQiOiAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyIsCiAgICJzaWciOiAiMzA0NjAyMjEwMDhhYjFmNmYxN2Q0ZjllNmQ3ZGNmMWM4ODkxMmI2YjUzY2MxMDM4ODY0NGFlMWYwOWJjMzdhMDgyY2QwNjAwM2UwMjIxMDBlMTQ1ZWY0YzdiNzgyZDRlODEwN2I1MzQzN2U2NjlkMDQ3Njg5MmNlOTk5OTAzYWUzM2QxNDQ0ODM2Njk5NmU3IgogIH0sCiAgewogICAia2V5aWQiOiAiZTcxYTU0ZDU0MzgzNWJhODZhZGFkOTQ2MDM3OWM3NjQxZmI4NzI2ZDE2NGVhNzY2ODAxYTFjNTIyYWJhN2VhMiIsCiAgICJzaWciOiAiMzA0NTAyMjEwMGM3NjhiMmY4NmRhOTk1NjkwMTljMTYwYTA4MWRhNTRhZTM2YzM0YzBhMzEyMGQzY2I2OWI1M2I3ZDExMzc1OGUwMjIwNGY2NzE1MThmNjE3YjIwZDQ2NTM3ZmFlNmMzYjYzYmFlODkxM2Y0ZjE5NjIxNTYxMDVjYzRmMDE5YWMzNWM2YSIKICB9LAogIHsKICAgImtleWlkIjogIjIyZjRjYWVjNmQ4ZTZmOTU1NWFmNjZiM2Q0YzNjYjA2YTNiYjIzZmRjN2UzOWM5MTZjNjFmNDYyZTZmNTJiMDYiLAogICAic2lnIjogIjMwNDUwMjIxMDBiNDQzNGU2OTk1ZDM2OGQyM2U3NDc1OWFjZDBjYjkwMTNjODNhNWQzNTExZjBmOTk3ZWM1NGM0NTZhZTQzNTBhMDIyMDE1YjBlMjY1ZDE4MmQyYjYxZGM3NGUxNTVkOThiM2MzZmJlNTY0YmEwNTI4NmFhMTRjOGRmMDJjOWI3NTY1MTYiCiAgfSwKICB7CiAgICJrZXlpZCI6ICI2MTY0MzgzODEyNWI0NDBiNDBkYjY5NDJmNWNiNWEzMWMwZGMwNDM2ODMxNmViMmFhYTU4Yjk1OTA0YTU4MjIyIiwKICAgInNpZyI6ICIzMDQ1MDIyMTAwODJjNTg0MTFkOTg5ZWI5Zjg2MTQxMDg1N2Q0MjM4MTU5MGVjOTQyNGRiZGFhNTFlNzhlZDEzNTE1NDMxOTA0ZTAyMjAxMTgxODVkYTZhNmMyOTQ3MTMxYzE3Nzk3ZTJiYjc2MjBjZTI2ZTVmMzAxZDFjZWFjNWYyYTdlNThmOWRjZjJlIgogIH0sCiAgewogICAia2V5aWQiOiAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCIsCiAgICJzaWciOiAiMzA0NjAyMjEwMGM3ODUxMzg1NGNhZTljMzJlYWE2Yjg4ZTE4OTEyZjQ4MDA2YzI3NTdhMjU4ZjkxNzMxMmNhYmE3NTk0OGViOWUwMjIxMDBkOWUxYjRjZTBhZGZlOWZkMmUyMTQ4ZDdmYTI3YTJmNDBiYTExMjJiZDY5ZGE3NjEyZDhkMTc3NmIwMTNjOTFkIgogIH0sCiAgewogICAia2V5aWQiOiAiZmRmYTgzYTA3YjVhODM1ODliODdkZWQ0MWY3N2YzOWQyMzJhZDkxZjdjY2U1Mjg2OGRhY2QwNmJhMDg5ODQ5ZiIsCiAgICJzaWciOiAiMzA0NTAyMjA1NjQ4M2EyZDVkOWVhOWNlYzZlMTFlYWRmYjMzYzQ4NGI2MTQyOThmYWNhMTVhY2YxYzQzMWIxMWVkN2Y3MzRjMDIyMTAwZDBjMWQ3MjZhZjkyYTg3ZTRlNjY0NTljYTVhZGYzOGEwNWI0NGUxZjk0MzE4NDIzZjk1NGJhZThiY2E1YmIyZSIKICB9LAogIHsKICAgImtleWlkIjogImUyZjU5YWNiOTQ4ODUxOTQwN2UxOGNiZmM5MzI5NTEwYmUwM2MwNGFjYTk5MjlkMmYwMzAxMzQzZmVjODU1MjMiLAogICAic2lnIjogIjMwNDYwMjIxMDBkMDA0ZGU4ODAyNGMzMmRjNTY1M2E5ZjQ4NDNjZmM1MjE1NDI3MDQ4YWQ5NjAwZDJjZjljOTY5ZTZlZGZmM2QyMDIyMTAwZDllYmI3OThmNWZjNjZhZjEwODk5ZGVjZTAxNGE4NjI4Y2NmM2M1NDAyY2Q0YTQyNzAyMDc0NzJmOGY2ZTcxMiIKICB9LAogIHsKICAgImtleWlkIjogIjNjMzQ0YWEwNjhmZDRjYzRlODdkYzUwYjYxMmMwMjQzMWZiYzc3MWU5NTAwMzk5MzY4M2EyYjBiZjI2MGNmMGUiLAogICAic2lnIjogIjMwNDYwMjIxMDBiN2IwOTk5NmM0NWNhMmQ0YjA1NjAzZTU2YmFlZmEyOTcxOGEwYjcxMTQ3Y2Y4YzZlNjYzNDliYWE2MTQ3N2RmMDIyMTAwYzRkYTgwYzcxN2I0ZmE3YmJhMGZkNWM3MmRhOGEwNDk5MzU4YjAxMzU4YjIzMDlmNDFkMTQ1NmVhMWU3ZTFkOSIKICB9LAogIHsKICAgImtleWlkIjogImVjODE2Njk3MzRlMDE3OTk2YzViODVmM2QwMmMzZGUxZGQ0NjM3YTE1MjAxOWZlMWFmMTI1ZDJmOTM2OGI5NWUiLAogICAic2lnIjogIjMwNDYwMjIxMDBiZTk3ODJjMzA3NDRlNDExYTgyZmE4NWI1MTM4ZDYwMWNlMTQ4YmMxOTI1OGFlYzY0ZTdlYzI0NDc4ZjM4ODEyMDIyMTAwY2FlZjYzZGNhZjFhNGI5YTUwMGQzYmQwZTNmMTY0ZWMxOGYxYjYzZDdhOTQ2MGQ5YWNhYjEwNjZkYjBmMDE2ZCIKICB9LAogIHsKICAgImtleWlkIjogIjFlMWQ2NWNlOThiMTBhZGRhZDQ3NjRmZWJmN2RkYTJkMDQzNmIzZDNhMzg5MzU3OWMwZGRkYWVhMjBlNTQ4NDkiLAogICAic2lnIjogIjMwNDUwMjIwNzQ2ZWMzZjg1MzRjZTU1NTMxZDBkMDFmZjY0OTY0ZWY0NDBkMWU3ZDJjNGMxNDI0MDliOGU5NzY5ZjFhZGE2ZjAyMjEwMGUzYjkyOWZjZDkzZWExOGZlYWEwODI1ODg3YTcyMTA0ODk4NzlhNjY3ODBjMDdhODNmNGJkNDZlMmYwOWFiM2IiCiAgfQogXSwKICJzaWduZWQiOiB7CiAgIl90eXBlIjogInJvb3QiLAogICJjb25zaXN0ZW50X3NuYXBzaG90IjogdHJ1ZSwKICAiZXhwaXJlcyI6ICIyMDI1LTAyLTE5VDA4OjA0OjMyWiIsCiAgImtleXMiOiB7CiAgICIyMmY0Y2FlYzZkOGU2Zjk1NTVhZjY2YjNkNGMzY2IwNmEzYmIyM2ZkYzdlMzljOTE2YzYxZjQ2MmU2ZjUyYjA2IjogewogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl0eXBlIjogImVjZHNhIiwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICItLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLVxuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFekJ6Vk9tSENQb2pNVkxTSTM2NFdpaVY4TlByRFxuNklnUnhWbGlza3ovdit5M0pFUjVtY1ZHY09ObGlEY1dNQzVKMmxmSG1qUE5QaGI0SDd4bThMemZTQT09XG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS1cbiIKICAgIH0sCiAgICAic2NoZW1lIjogImVjZHNhLXNoYTItbmlzdHAyNTYiLAogICAgIngtdHVmLW9uLWNpLWtleW93bmVyIjogIkBzYW50aWFnb3RvcnJlcyIKICAgfSwKICAgIjYxNjQzODM4MTI1YjQ0MGI0MGRiNjk0MmY1Y2I1YTMxYzBkYzA0MzY4MzE2ZWIyYWFhNThiOTU5MDRhNTgyMjIiOiB7CiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXR5cGUiOiAiZWNkc2EiLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIi0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXG5NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVpbmlrU3NBUW1Za05lSDVlWXEvQ25JekxhYWNPXG54bFNhYXdRRE93cUt5L3RDcXhxNXh4UFNKYzIxSzRXSWhzOUd5T2tLZnp1ZVkzR0lMemNNSlo0Y1d3PT1cbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLVxuIgogICAgfSwKICAgICJzY2hlbWUiOiAiZWNkc2Etc2hhMi1uaXN0cDI1NiIsCiAgICAieC10dWYtb24tY2kta2V5b3duZXIiOiAiQGJvYmNhbGxhd2F5IgogICB9LAogICAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyI6IHsKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dHlwZSI6ICJlY2RzYSIsCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXk4WEtzbWhCWURJOEpjMEd3ekJ4ZUtheDBjbTVcblNUS0VVNjVIUEZ1blVuNDFzVDhwaTBGak00SWtIei9ZVW13bUxVTzBXdDdseGhqNkJrTElLNHFZQXc9PVxuLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tXG4iCiAgICB9LAogICAgInNjaGVtZSI6ICJlY2RzYS1zaGEyLW5pc3RwMjU2IiwKICAgICJ4LXR1Zi1vbi1jaS1rZXlvd25lciI6ICJAZGxvcmVuYyIKICAgfSwKICAgIjcyNDdmMGRiYWQ4NWIxNDdlMTg2M2JhZGU3NjEyNDNjYzc4NWRjYjdhYTQxMGU3MTA1ZGQzZDJiNjFhMzZkMmMiOiB7CiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXR5cGUiOiAiZWNkc2EiLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIi0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXG5NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVXUmlHcjUraiszSjVTc0grWnRyNW5FMkgyd083XG5CVituTzNzOTNnTGNhMThxVE96SFkxb1d5QUdEeWtNU3NHVFVCU3Q5RCtBbjBLZktzRDJtZlNNNDJRPT1cbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLVxuIgogICAgfSwKICAgICJzY2hlbWUiOiAiZWNkc2Etc2hhMi1uaXN0cDI1NiIsCiAgICAieC10dWYtb24tY2ktb25saW5lLXVyaSI6ICJnY3BrbXM6Ly9wcm9qZWN0cy9zaWdzdG9yZS1yb290LXNpZ25pbmcvbG9jYXRpb25zL2dsb2JhbC9rZXlSaW5ncy9yb290L2NyeXB0b0tleXMvdGltZXN0YW1wIgogICB9LAogICAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCI6IHsKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dHlwZSI6ICJlY2RzYSIsCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTBnaHJoOTJMdzFZcjNpZEdWNVdxQ3RNREI4Q3hcbitEOGhkQzR3MlpMTklwbFZSb1ZHTHNrWWEzZ2hlTXlPamlKOGtQaTE1YVEyLy83UCtvajdVdkpQR3c9PVxuLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tXG4iCiAgICB9LAogICAgInNjaGVtZSI6ICJlY2RzYS1zaGEyLW5pc3RwMjU2IiwKICAgICJ4LXR1Zi1vbi1jaS1rZXlvd25lciI6ICJAam9zaHVhZ2wiCiAgIH0sCiAgICJlNzFhNTRkNTQzODM1YmE4NmFkYWQ5NDYwMzc5Yzc2NDFmYjg3MjZkMTY0ZWE3NjY4MDFhMWM1MjJhYmE3ZWEyIjogewogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl0eXBlIjogImVjZHNhIiwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICItLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLVxuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFRVhzejNTWlhGYjhqTVY0Mmo2cEpseWpialI4S1xuTjNCd29jZXhxNkxNSWI1cXNXS09RdkxOMTZOVWVmTGM0SHN3T291bVJzVlZhYWpTcFFTNmZvYmtSdz09XG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS1cbiIKICAgIH0sCiAgICAic2NoZW1lIjogImVjZHNhLXNoYTItbmlzdHAyNTYiLAogICAgIngtdHVmLW9uLWNpLWtleW93bmVyIjogIkBtbm02NzgiCiAgIH0KICB9LAogICJyb2xlcyI6IHsKICAgInJvb3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI2ZjI2MDA4OWQ1OTIzZGFmMjAxNjZjYTY1N2M1NDNhZjYxODM0NmFiOTcxODg0YTk5OTYyYjAxOTg4YmJlMGMzIiwKICAgICAiZTcxYTU0ZDU0MzgzNWJhODZhZGFkOTQ2MDM3OWM3NjQxZmI4NzI2ZDE2NGVhNzY2ODAxYTFjNTIyYWJhN2VhMiIsCiAgICAgIjIyZjRjYWVjNmQ4ZTZmOTU1NWFmNjZiM2Q0YzNjYjA2YTNiYjIzZmRjN2UzOWM5MTZjNjFmNDYyZTZmNTJiMDYiLAogICAgICI2MTY0MzgzODEyNWI0NDBiNDBkYjY5NDJmNWNiNWEzMWMwZGMwNDM2ODMxNmViMmFhYTU4Yjk1OTA0YTU4MjIyIiwKICAgICAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMwogICB9LAogICAic25hcHNob3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI3MjQ3ZjBkYmFkODViMTQ3ZTE4NjNiYWRlNzYxMjQzY2M3ODVkY2I3YWE0MTBlNzEwNWRkM2QyYjYxYTM2ZDJjIgogICAgXSwKICAgICJ0aHJlc2hvbGQiOiAxLAogICAgIngtdHVmLW9uLWNpLWV4cGlyeS1wZXJpb2QiOiAzNjUwLAogICAgIngtdHVmLW9uLWNpLXNpZ25pbmctcGVyaW9kIjogMzY1CiAgIH0sCiAgICJ0YXJnZXRzIjogewogICAgImtleWlkcyI6IFsKICAgICAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyIsCiAgICAgImU3MWE1NGQ1NDM4MzViYTg2YWRhZDk0NjAzNzljNzY0MWZiODcyNmQxNjRlYTc2NjgwMWExYzUyMmFiYTdlYTIiLAogICAgICIyMmY0Y2FlYzZkOGU2Zjk1NTVhZjY2YjNkNGMzY2IwNmEzYmIyM2ZkYzdlMzljOTE2YzYxZjQ2MmU2ZjUyYjA2IiwKICAgICAiNjE2NDM4MzgxMjViNDQwYjQwZGI2OTQyZjVjYjVhMzFjMGRjMDQzNjgzMTZlYjJhYWE1OGI5NTkwNGE1ODIyMiIsCiAgICAgImE2ODdlNWJmNGZhYjgyYjBlZTU4ZDQ2ZTA1Yzk1MzUxNDVhMmM5YWZiNDU4ZjQzZDQyYjQ1Y2EwZmRjZTJhNzAiCiAgICBdLAogICAgInRocmVzaG9sZCI6IDMKICAgfSwKICAgInRpbWVzdGFtcCI6IHsKICAgICJrZXlpZHMiOiBbCiAgICAgIjcyNDdmMGRiYWQ4NWIxNDdlMTg2M2JhZGU3NjEyNDNjYzc4NWRjYjdhYTQxMGU3MTA1ZGQzZDJiNjFhMzZkMmMiCiAgICBdLAogICAgInRocmVzaG9sZCI6IDEsCiAgICAieC10dWYtb24tY2ktZXhwaXJ5LXBlcmlvZCI6IDcsCiAgICAieC10dWYtb24tY2ktc2lnbmluZy1wZXJpb2QiOiA0CiAgIH0KICB9LAogICJzcGVjX3ZlcnNpb24iOiAiMS4wIiwKICAidmVyc2lvbiI6IDEwLAogICJ4LXR1Zi1vbi1jaS1leHBpcnktcGVyaW9kIjogMTgyLAogICJ4LXR1Zi1vbi1jaS1zaWduaW5nLXBlcmlvZCI6IDMxCiB9Cn0=",targets:{"trusted_root.json":"ewogICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmRldi5zaWdzdG9yZS50cnVzdGVkcm9vdCtqc29uO3ZlcnNpb249MC4xIiwKICAidGxvZ3MiOiBbCiAgICB7CiAgICAgICJiYXNlVXJsIjogImh0dHBzOi8vcmVrb3Iuc2lnc3RvcmUuZGV2IiwKICAgICAgImhhc2hBbGdvcml0aG0iOiAiU0hBMl8yNTYiLAogICAgICAicHVibGljS2V5IjogewogICAgICAgICJyYXdCeXRlcyI6ICJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUyRzJZKzJ0YWJkVFY1QmNHaUJJeDBhOWZBRndya0JibUxTR3RrczRMM3FYNnlZWTB6dWZCbmhDOFVyL2l5NTVHaFdQLzlBL2JZMkxoQzMwTTkrUll0dz09IiwKICAgICAgICAia2V5RGV0YWlscyI6ICJQS0lYX0VDRFNBX1AyNTZfU0hBXzI1NiIsCiAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgInN0YXJ0IjogIjIwMjEtMDEtMTJUMTE6NTM6MjcuMDAwWiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJsb2dJZCI6IHsKICAgICAgICAia2V5SWQiOiAid05JOWF0UUdseitWV2ZPNkxSeWdINFFVZlkvOFc0UkZ3aVQ1aTVXUmdCMD0iCiAgICAgIH0KICAgIH0KICBdLAogICJjZXJ0aWZpY2F0ZUF1dGhvcml0aWVzIjogWwogICAgewogICAgICAic3ViamVjdCI6IHsKICAgICAgICAib3JnYW5pemF0aW9uIjogInNpZ3N0b3JlLmRldiIsCiAgICAgICAgImNvbW1vbk5hbWUiOiAic2lnc3RvcmUiCiAgICAgIH0sCiAgICAgICJ1cmkiOiAiaHR0cHM6Ly9mdWxjaW8uc2lnc3RvcmUuZGV2IiwKICAgICAgImNlcnRDaGFpbiI6IHsKICAgICAgICAiY2VydGlmaWNhdGVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAicmF3Qnl0ZXMiOiAiTUlJQitEQ0NBWDZnQXdJQkFnSVROVmtEWm9DaW9mUERzeTdkZm02Z2VMYnVoekFLQmdncWhrak9QUVFEQXpBcU1SVXdFd1lEVlFRS0V3eHphV2R6ZEc5eVpTNWtaWFl4RVRBUEJnTlZCQU1UQ0hOcFozTjBiM0psTUI0WERUSXhNRE13TnpBek1qQXlPVm9YRFRNeE1ESXlNekF6TWpBeU9Wb3dLakVWTUJNR0ExVUVDaE1NYzJsbmMzUnZjbVV1WkdWMk1SRXdEd1lEVlFRREV3aHphV2R6ZEc5eVpUQjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQkxTeUE3SWk1aytwTk84WkVXWTB5bGVtV0Rvd09rTmEza0wrR1pFNVo1R1dlaEw5L0E5YlJOQTNSYnJzWjVpMEpjYXN0YVJMN1NwNWZwL2pENWR4cWMvVWRUVm5sdlMxNmFuKzJZZnN3ZS9RdUxvbFJVQ3JjT0UyKzJpQTUrdHpkNk5tTUdRd0RnWURWUjBQQVFIL0JBUURBZ0VHTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFFd0hRWURWUjBPQkJZRUZNakZIUUJCbWlRcE1sRWs2dzJ1U3UxS0J0UHNNQjhHQTFVZEl3UVlNQmFBRk1qRkhRQkJtaVFwTWxFazZ3MnVTdTFLQnRQc01Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01IOGxpV0pmTXVpNnZYWEJoakRnWTRNd3NsbU4vVEp4VmUvODNXckZvbXdtTmYwNTZ5MVg0OEY5YzRtM2Ezb3pYQUl4QUtqUmF5NS9hai9qc0tLR0lrbVFhdGpJOHV1cEhyLytDeEZ2YUpXbXBZcU5rTERHUlUrOW9yemg1aEkyUnJjdWFRPT0iCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAidmFsaWRGb3IiOiB7CiAgICAgICAgInN0YXJ0IjogIjIwMjEtMDMtMDdUMDM6MjA6MjkuMDAwWiIsCiAgICAgICAgImVuZCI6ICIyMDIyLTEyLTMxVDIzOjU5OjU5Ljk5OVoiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJzdWJqZWN0IjogewogICAgICAgICJvcmdhbml6YXRpb24iOiAic2lnc3RvcmUuZGV2IiwKICAgICAgICAiY29tbW9uTmFtZSI6ICJzaWdzdG9yZSIKICAgICAgfSwKICAgICAgInVyaSI6ICJodHRwczovL2Z1bGNpby5zaWdzdG9yZS5kZXYiLAogICAgICAiY2VydENoYWluIjogewogICAgICAgICJjZXJ0aWZpY2F0ZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJyYXdCeXRlcyI6ICJNSUlDR2pDQ0FhR2dBd0lCQWdJVUFMblZpVmZuVTBickphc21Sa0hybi9VbmZhUXdDZ1lJS29aSXpqMEVBd013S2pFVk1CTUdBMVVFQ2hNTWMybG5jM1J2Y21VdVpHVjJNUkV3RHdZRFZRUURFd2h6YVdkemRHOXlaVEFlRncweU1qQTBNVE15TURBMk1UVmFGdzB6TVRFd01EVXhNelUyTlRoYU1EY3hGVEFUQmdOVkJBb1RESE5wWjNOMGIzSmxMbVJsZGpFZU1Cd0dBMVVFQXhNVmMybG5jM1J2Y21VdGFXNTBaWEp0WldScFlYUmxNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRThSVlMveXNIK05PdnVEWnlQSVp0aWxnVUY5TmxhcllwQWQ5SFAxdkJCSDFVNUNWNzdMU1M3czBaaUg0bkU3SHY3cHRTNkx2dlIvU1RrNzk4TFZnTXpMbEo0SGVJZkYzdEhTYWV4TGNZcFNBU3Ixa1MwTi9SZ0JKei85aldDaVhubzNzd2VUQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3TXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBREFkQmdOVkhRNEVGZ1FVMzlQcHoxWWtFWmI1cU5qcEtGV2l4aTRZWkQ4d0h3WURWUjBqQkJnd0ZvQVVXTUFlWDVGRnBXYXBlc3lRb1pNaTBDckZ4Zm93Q2dZSUtvWkl6ajBFQXdNRFp3QXdaQUl3UENzUUs0RFlpWllEUElhRGk1SEZLbmZ4WHg2QVNTVm1FUmZzeW5ZQmlYMlg2U0pSblpVODQvOURaZG5GdnZ4bUFqQk90NlFwQmxjNEovMER4dmtUQ3FwY2x2emlMNkJDQ1BuamRsSUIzUHUzQnhzUG15Z1VZN0lpMnpiZENkbGlpb3c9IgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInJhd0J5dGVzIjogIk1JSUI5ekNDQVh5Z0F3SUJBZ0lVQUxaTkFQRmR4SFB3amVEbG9Ed3lZQ2hBTy80d0NnWUlLb1pJemowRUF3TXdLakVWTUJNR0ExVUVDaE1NYzJsbmMzUnZjbVV1WkdWMk1SRXdEd1lEVlFRREV3aHphV2R6ZEc5eVpUQWVGdzB5TVRFd01EY3hNelUyTlRsYUZ3MHpNVEV3TURVeE16VTJOVGhhTUNveEZUQVRCZ05WQkFvVERITnBaM04wYjNKbExtUmxkakVSTUE4R0ExVUVBeE1JYzJsbmMzUnZjbVV3ZGpBUUJnY3Foa2pPUFFJQkJnVXJnUVFBSWdOaUFBVDdYZUZUNHJiM1BRR3dTNElhanRMazMvT2xucGdhbmdhQmNsWXBzWUJyNWkrNHluQjA3Y2ViM0xQME9JT1pkeGV4WDY5YzVpVnV5SlJRK0h6MDV5aStVRjN1QldBbEhwaVM1c2gwK0gyR0hFN1NYcmsxRUM1bTFUcjE5TDlnZzkyall6QmhNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCUll3QjVma1VXbFpxbDZ6SkNoa3lMUUtzWEYrakFmQmdOVkhTTUVHREFXZ0JSWXdCNWZrVVdsWnFsNnpKQ2hreUxRS3NYRitqQUtCZ2dxaGtqT1BRUURBd05wQURCbUFqRUFqMW5IZVhacCsxM05XQk5hK0VEc0RQOEcxV1dnMXRDTVdQL1dIUHFwYVZvMGpoc3dlTkZaZ1NzMGVFN3dZSTRxQWpFQTJXQjlvdDk4c0lrb0YzdlpZZGQzL1Z0V0I1YjlUTk1lYTdJeC9zdEo1VGZjTExlQUJMRTRCTkpPc1E0dm5CSEoiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAidmFsaWRGb3IiOiB7CiAgICAgICAgInN0YXJ0IjogIjIwMjItMDQtMTNUMjA6MDY6MTUuMDAwWiIKICAgICAgfQogICAgfQogIF0sCiAgImN0bG9ncyI6IFsKICAgIHsKICAgICAgImJhc2VVcmwiOiAiaHR0cHM6Ly9jdGZlLnNpZ3N0b3JlLmRldi90ZXN0IiwKICAgICAgImhhc2hBbGdvcml0aG0iOiAiU0hBMl8yNTYiLAogICAgICAicHVibGljS2V5IjogewogICAgICAgICJyYXdCeXRlcyI6ICJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUViZndSK1JKdWRYc2NnUkJScEtYMVhGRHkzUHl1ZER4ei9TZm5SaTFmVDhla3BmQmQyTzF1b3o3anIzWjhuS3p4QTY5RVVRK2VGQ0ZJM3pldWJQV1U3dz09IiwKICAgICAgICAia2V5RGV0YWlscyI6ICJQS0lYX0VDRFNBX1AyNTZfU0hBXzI1NiIsCiAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgInN0YXJ0IjogIjIwMjEtMDMtMTRUMDA6MDA6MDAuMDAwWiIsCiAgICAgICAgICAiZW5kIjogIjIwMjItMTAtMzFUMjM6NTk6NTkuOTk5WiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJsb2dJZCI6IHsKICAgICAgICAia2V5SWQiOiAiQ0dDUzhDaFMvMmhGMGRGcko0U2NSV2NZckJZOXd6alNiZWE4SWdZMmIzST0iCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJiYXNlVXJsIjogImh0dHBzOi8vY3RmZS5zaWdzdG9yZS5kZXYvMjAyMiIsCiAgICAgICJoYXNoQWxnb3JpdGhtIjogIlNIQTJfMjU2IiwKICAgICAgInB1YmxpY0tleSI6IHsKICAgICAgICAicmF3Qnl0ZXMiOiAiTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFaVBTbEZpMENtRlRmRWpDVXFGOUh1Q0VjWVhOS0FhWWFsSUptQlo4eXllelBqVHFoeHJLQnBNbmFvY1Z0TEpCSTFlTTN1WG5RelFHQUpkSjRnczlGeXc9PSIsCiAgICAgICAgImtleURldGFpbHMiOiAiUEtJWF9FQ0RTQV9QMjU2X1NIQV8yNTYiLAogICAgICAgICJ2YWxpZEZvciI6IHsKICAgICAgICAgICJzdGFydCI6ICIyMDIyLTEwLTIwVDAwOjAwOjAwLjAwMFoiCiAgICAgICAgfQogICAgICB9LAogICAgICAibG9nSWQiOiB7CiAgICAgICAgImtleUlkIjogIjNUMHdhc2JIRVRKakdSNGNtV2MzQXFKS1hyamVQSzMvaDRweWdDOHA3bzQ9IgogICAgICB9CiAgICB9CiAgXSwKICAidGltZXN0YW1wQXV0aG9yaXRpZXMiOiBbCiAgICB7CiAgICAgICJzdWJqZWN0IjogewogICAgICAgICJvcmdhbml6YXRpb24iOiAiR2l0SHViLCBJbmMuIiwKICAgICAgICAiY29tbW9uTmFtZSI6ICJJbnRlcm5hbCBTZXJ2aWNlcyBSb290IgogICAgICB9LAogICAgICAiY2VydENoYWluIjogewogICAgICAgICJjZXJ0aWZpY2F0ZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJyYXdCeXRlcyI6ICJNSUlCM0RDQ0FXS2dBd0lCQWdJVWNoa05zSDM2WGEwNGIxTHFJYytxcjlEVmVjTXdDZ1lJS29aSXpqMEVBd013TWpFVk1CTUdBMVVFQ2hNTVIybDBTSFZpTENCSmJtTXVNUmt3RndZRFZRUURFeEJVVTBFZ2FXNTBaWEp0WldScFlYUmxNQjRYRFRJek1EUXhOREF3TURBd01Gb1hEVEkwTURReE16QXdNREF3TUZvd01qRVZNQk1HQTFVRUNoTU1SMmwwU0hWaUxDQkpibU11TVJrd0Z3WURWUVFERXhCVVUwRWdWR2x0WlhOMFlXMXdhVzVuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFVUQ1Wk5iU3FZTWQ2cjhxcE9PRVg5aWJHblpUOUdzdVhPaHIvZjhVOUZKdWdCR0V4S1lwNDBPVUxTMGVyalpXN3hWOXhWNTJObkpmNU9lRHE0ZTVaS3FOV01GUXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CTUdBMVVkSlFRTU1Bb0dDQ3NHQVFVRkJ3TUlNQXdHQTFVZEV3RUIvd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVhVzFSdWRPZ1Z0MGxlcVkwV0tZYnVQcjQ3d0F3Q2dZSUtvWkl6ajBFQXdNRGFBQXdaUUl3YlVIOUh2RDRlakNaSk9XUW5xQWxrcVVSbGx2dTlNOCtWcUxiaVJLK3pTZlpDWndzaWxqUm44TVFRUlNrWEVFNUFqRUFnK1Z4cXRvamZWZnU4RGh6emhDeDlHS0VUYkpIYjE5aVY3Mm1NS1ViREFGbXpaNmJROGI1NFpiOHRpZHk1YVdlIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInJhd0J5dGVzIjogIk1JSUNFRENDQVpXZ0F3SUJBZ0lVWDhaTzVRWFA3dk40ZE1RNWU5c1UzbnViOE9nd0NnWUlLb1pJemowRUF3TXdPREVWTUJNR0ExVUVDaE1NUjJsMFNIVmlMQ0JKYm1NdU1SOHdIUVlEVlFRREV4WkpiblJsY201aGJDQlRaWEoyYVdObGN5QlNiMjkwTUI0WERUSXpNRFF4TkRBd01EQXdNRm9YRFRJNE1EUXhNakF3TURBd01Gb3dNakVWTUJNR0ExVUVDaE1NUjJsMFNIVmlMQ0JKYm1NdU1Sa3dGd1lEVlFRREV4QlVVMEVnYVc1MFpYSnRaV1JwWVhSbE1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFdk1MWS9kVFZidklKWUFOQXVzekV3Sm5RRTFsbGZ0eW55TUtJTWhoNDhIbXFiVnI1eWd5YnpzTFJMVktiQldPZFoyMWFlSnorZ1ppeXRaZXRxY3lGOVdsRVI1TkVNZjZKVjdaTm9qUXB4SHE0UkhHb0dTY2VRdi9xdlRpWnhFREtvMll3WkRBT0JnTlZIUThCQWY4RUJBTUNBUVl3RWdZRFZSMFRBUUgvQkFnd0JnRUIvd0lCQURBZEJnTlZIUTRFRmdRVWFXMVJ1ZE9nVnQwbGVxWTBXS1lidVByNDd3QXdId1lEVlIwakJCZ3dGb0FVOU5ZWWxvYm5BRzRjMC9xanh5SC9scS93eitRd0NnWUlLb1pJemowRUF3TURhUUF3WmdJeEFLMUIxODV5Z0NySVlGbElzM0dqc3dqbndTTUc2TFk4d29MVmRha0tEWnhWYThmOGNxTXMxRGhjeEowKzA5dzk1UUl4QU8rdEJ6Wms3dmpVSjlpSmdENFI2WldUeFFXS3FObTc0ak85OW8rbzlzdjRGSS9TWlRaVEZ5TW4wSUpFSGRObXlBPT0iCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAicmF3Qnl0ZXMiOiAiTUlJQjlEQ0NBWHFnQXdJQkFnSVVhL0pBa2RVaks0SlV3c3F0YWlSSkdXaHFMU293Q2dZSUtvWkl6ajBFQXdNd09ERVZNQk1HQTFVRUNoTU1SMmwwU0hWaUxDQkpibU11TVI4d0hRWURWUVFERXhaSmJuUmxjbTVoYkNCVFpYSjJhV05sY3lCU2IyOTBNQjRYRFRJek1EUXhOREF3TURBd01Gb1hEVE16TURReE1UQXdNREF3TUZvd09ERVZNQk1HQTFVRUNoTU1SMmwwU0hWaUxDQkpibU11TVI4d0hRWURWUVFERXhaSmJuUmxjbTVoYkNCVFpYSjJhV05sY3lCU2IyOTBNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRWY5akZBWHh6NGt4NjhBSFJNT2tGQmhmbERjTVR2emFYejR4L0ZDY1hqSi8xcUVLb24vcVBJR25hVVJza0R0eU5iTkRPcGVKVERERnF0NDhpTVBybnpweDZJWndxZW1mVUpONHhCRVpmemErcFl0L2l5b2QrOXRacjIwUlJXU3YvbzBVd1F6QU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFqQWRCZ05WSFE0RUZnUVU5TllZbG9ibkFHNGMwL3FqeHlIL2xxL3d6K1F3Q2dZSUtvWkl6ajBFQXdNRGFBQXdaUUl4QUxaTFo4QmdSWHpLeExNTU45VklsTytlNGhyQm5OQmdGN3R6N0hucm93djJOZXRaRXJJQUNLRnltQmx2V0R2dE1BSXdaTytraTZzc1ExYnNabzk4TzhtRUFmMk5aN2lpQ2dERFUwVndqZWNvNnp5ZWgwekJUczkvN2dWNkFITlE1M3hEIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgInZhbGlkRm9yIjogewogICAgICAgICJzdGFydCI6ICIyMDIzLTA0LTE0VDAwOjAwOjAwLjAwMFoiCiAgICAgIH0KICAgIH0KICBdCn0K","registry.npmjs.org%2Fkeys.json":"ewogICAgImtleXMiOiBbCiAgICAgICAgewogICAgICAgICAgICAia2V5SWQiOiAiU0hBMjU2OmpsM2J3c3d1ODBQampva0NnaDBvMnc1YzJVNExoUUFFNTdnajljejFrekEiLAogICAgICAgICAgICAia2V5VXNhZ2UiOiAibnBtOnNpZ25hdHVyZXMiLAogICAgICAgICAgICAicHVibGljS2V5IjogewogICAgICAgICAgICAgICAgInJhd0J5dGVzIjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTFPbGIzek1BRkZ4WEtIaUlrUU81Y0ozWWhsNWk2VVBwK0lodXRlQkpidUhjQTVVb2dLbzBFV3RsV3dXNktTYUtvVE5FWUw3SmxDUWlWbmtoQmt0VWdnPT0iLAogICAgICAgICAgICAgICAgImtleURldGFpbHMiOiAiUEtJWF9FQ0RTQV9QMjU2X1NIQV8yNTYiLAogICAgICAgICAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgICAgICAgICAgICJzdGFydCI6ICIxOTk5LTAxLTAxVDAwOjAwOjAwLjAwMFoiLAogICAgICAgICAgICAgICAgICAgICJlbmQiOiAiMjAyNS0wMS0yOVQwMDowMDowMC4wMDBaIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJrZXlJZCI6ICJTSEEyNTY6amwzYndzd3U4MFBqam9rQ2doMG8ydzVjMlU0TGhRQUU1N2dqOWN6MWt6QSIsCiAgICAgICAgICAgICJrZXlVc2FnZSI6ICJucG06YXR0ZXN0YXRpb25zIiwKICAgICAgICAgICAgInB1YmxpY0tleSI6IHsKICAgICAgICAgICAgICAgICJyYXdCeXRlcyI6ICJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUxT2xiM3pNQUZGeFhLSGlJa1FPNWNKM1lobDVpNlVQcCtJaHV0ZUJKYnVIY0E1VW9nS28wRVd0bFd3VzZLU2FLb1RORVlMN0psQ1FpVm5raEJrdFVnZz09IiwKICAgICAgICAgICAgICAgICJrZXlEZXRhaWxzIjogIlBLSVhfRUNEU0FfUDI1Nl9TSEFfMjU2IiwKICAgICAgICAgICAgICAgICJ2YWxpZEZvciI6IHsKICAgICAgICAgICAgICAgICAgICAic3RhcnQiOiAiMjAyMi0xMi0wMVQwMDowMDowMC4wMDBaIiwKICAgICAgICAgICAgICAgICAgICAiZW5kIjogIjIwMjUtMDEtMjlUMDA6MDA6MDAuMDAwWiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAia2V5SWQiOiAiU0hBMjU2OkRoUTh3UjVBUEJ2RkhMRi8rVGMrQVl2UE9kVHBjSURxT2h4c0JIUndDN1UiLAogICAgICAgICAgICAia2V5VXNhZ2UiOiAibnBtOnNpZ25hdHVyZXMiLAogICAgICAgICAgICAicHVibGljS2V5IjogewogICAgICAgICAgICAgICAgInJhd0J5dGVzIjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRVk2WWE3VysrN2FVUHp2TVRyZXpINlljeDNjK0hPS1lDY05HeWJKWlNDSnEvZmQ3UWE4dXVBS3RkSWtVUXRRaUVLRVJoQW1FNWxNTUpoUDhPa0RPYTJnPT0iLAogICAgICAgICAgICAgICAgImtleURldGFpbHMiOiAiUEtJWF9FQ0RTQV9QMjU2X1NIQV8yNTYiLAogICAgICAgICAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgICAgICAgICAgICJzdGFydCI6ICIyMDI1LTAxLTEzVDAwOjAwOjAwLjAwMFoiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgImtleUlkIjogIlNIQTI1NjpEaFE4d1I1QVBCdkZITEYvK1RjK0FZdlBPZFRwY0lEcU9oeHNCSFJ3QzdVIiwKICAgICAgICAgICAgImtleVVzYWdlIjogIm5wbTphdHRlc3RhdGlvbnMiLAogICAgICAgICAgICAicHVibGljS2V5IjogewogICAgICAgICAgICAgICAgInJhd0J5dGVzIjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRVk2WWE3VysrN2FVUHp2TVRyZXpINlljeDNjK0hPS1lDY05HeWJKWlNDSnEvZmQ3UWE4dXVBS3RkSWtVUXRRaUVLRVJoQW1FNWxNTUpoUDhPa0RPYTJnPT0iLAogICAgICAgICAgICAgICAgImtleURldGFpbHMiOiAiUEtJWF9FQ0RTQV9QMjU2X1NIQV8yNTYiLAogICAgICAgICAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgICAgICAgICAgICJzdGFydCI6ICIyMDI1LTAxLTEzVDAwOjAwOjAwLjAwMFoiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICBdCn0K"}}}});var TNe=L(I1=>{"use strict";var QNe=I1&&I1.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(I1,"__esModule",{value:!0});I1.TUFClient=void 0;var Rg=QNe(ye("fs")),sP=QNe(ye("path")),k8t=PNe(),Q8t=wL(),T8t=xNe(),LJ="targets",OJ=class{constructor(e){let r=new URL(e.mirrorURL),s=encodeURIComponent(r.host+r.pathname.replace(/\/$/,"")),a=sP.default.join(e.cachePath,s);R8t(a),F8t({cachePath:a,mirrorURL:e.mirrorURL,tufRootPath:e.rootPath,forceInit:e.forceInit}),this.updater=N8t({mirrorURL:e.mirrorURL,cachePath:a,forceCache:e.forceCache,retry:e.retry,timeout:e.timeout})}async refresh(){return this.updater.refresh()}getTarget(e){return(0,T8t.readTarget)(this.updater,e)}};I1.TUFClient=OJ;function R8t(t){let e=sP.default.join(t,LJ);Rg.default.existsSync(t)||Rg.default.mkdirSync(t,{recursive:!0}),Rg.default.existsSync(e)||Rg.default.mkdirSync(e)}function F8t({cachePath:t,mirrorURL:e,tufRootPath:r,forceInit:s}){let a=sP.default.join(t,"root.json");if(!Rg.default.existsSync(a)||s)if(r)Rg.default.copyFileSync(r,a);else{let c=kNe()[e];if(!c)throw new Q8t.TUFError({code:"TUF_INIT_CACHE_ERROR",message:`No root.json found for mirror: ${e}`});Rg.default.writeFileSync(a,Buffer.from(c["root.json"],"base64")),Object.entries(c.targets).forEach(([f,p])=>{Rg.default.writeFileSync(sP.default.join(t,LJ,f),Buffer.from(p,"base64"))})}}function N8t(t){let e={fetchTimeout:t.timeout,fetchRetry:t.retry};return new k8t.Updater({metadataBaseUrl:t.mirrorURL,targetBaseUrl:`${t.mirrorURL}/targets`,metadataDir:t.cachePath,targetDir:sP.default.join(t.cachePath,LJ),forceCache:t.forceCache,config:e})}});var wL=L(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0});yh.TUFError=yh.DEFAULT_MIRROR_URL=void 0;yh.getTrustedRoot=q8t;yh.initTUF=G8t;var O8t=Rb(),L8t=fFe(),M8t=TNe();yh.DEFAULT_MIRROR_URL="https://tuf-repo-cdn.sigstore.dev";var _8t="sigstore-js",U8t={retries:2},H8t=5e3,j8t="trusted_root.json";async function q8t(t={}){let r=await RNe(t).getTarget(j8t);return O8t.TrustedRoot.fromJSON(JSON.parse(r))}async function G8t(t={}){let e=RNe(t);return e.refresh().then(()=>e)}function RNe(t){return new M8t.TUFClient({cachePath:t.cachePath||(0,L8t.appDataPath)(_8t),rootPath:t.rootPath,mirrorURL:t.mirrorURL||yh.DEFAULT_MIRROR_URL,retry:t.retry??U8t,timeout:t.timeout??H8t,forceCache:t.forceCache??!1,forceInit:t.forceInit??t.force??!1})}var W8t=NJ();Object.defineProperty(yh,"TUFError",{enumerable:!0,get:function(){return W8t.TUFError}})});var FNe=L(BL=>{"use strict";Object.defineProperty(BL,"__esModule",{value:!0});BL.DSSESignatureContent=void 0;var oP=wl(),MJ=class{constructor(e){this.env=e}compareDigest(e){return oP.crypto.bufferEqual(e,oP.crypto.digest("sha256",this.env.payload))}compareSignature(e){return oP.crypto.bufferEqual(e,this.signature)}verifySignature(e){return oP.crypto.verify(this.preAuthEncoding,e,this.signature)}get signature(){return this.env.signatures.length>0?this.env.signatures[0].sig:Buffer.from("")}get preAuthEncoding(){return oP.dsse.preAuthEncoding(this.env.payloadType,this.env.payload)}};BL.DSSESignatureContent=MJ});var NNe=L(vL=>{"use strict";Object.defineProperty(vL,"__esModule",{value:!0});vL.MessageSignatureContent=void 0;var _J=wl(),UJ=class{constructor(e,r){this.signature=e.signature,this.messageDigest=e.messageDigest.digest,this.artifact=r}compareSignature(e){return _J.crypto.bufferEqual(e,this.signature)}compareDigest(e){return _J.crypto.bufferEqual(e,this.messageDigest)}verifySignature(e){return _J.crypto.verify(this.artifact,e,this.signature)}};vL.MessageSignatureContent=UJ});var LNe=L(SL=>{"use strict";Object.defineProperty(SL,"__esModule",{value:!0});SL.toSignedEntity=K8t;SL.signatureContent=ONe;var HJ=wl(),Y8t=FNe(),V8t=NNe();function K8t(t,e){let{tlogEntries:r,timestampVerificationData:s}=t.verificationMaterial,a=[];for(let n of r)a.push({$case:"transparency-log",tlogEntry:n});for(let n of s?.rfc3161Timestamps??[])a.push({$case:"timestamp-authority",timestamp:HJ.RFC3161Timestamp.parse(n.signedTimestamp)});return{signature:ONe(t,e),key:J8t(t),tlogEntries:r,timestamps:a}}function ONe(t,e){switch(t.content.$case){case"dsseEnvelope":return new Y8t.DSSESignatureContent(t.content.dsseEnvelope);case"messageSignature":return new V8t.MessageSignatureContent(t.content.messageSignature,e)}}function J8t(t){switch(t.verificationMaterial.content.$case){case"publicKey":return{$case:"public-key",hint:t.verificationMaterial.content.publicKey.hint};case"x509CertificateChain":return{$case:"certificate",certificate:HJ.X509Certificate.parse(t.verificationMaterial.content.x509CertificateChain.certificates[0].rawBytes)};case"certificate":return{$case:"certificate",certificate:HJ.X509Certificate.parse(t.verificationMaterial.content.certificate.rawBytes)}}}});var Co=L(C1=>{"use strict";Object.defineProperty(C1,"__esModule",{value:!0});C1.PolicyError=C1.VerificationError=void 0;var DL=class extends Error{constructor({code:e,message:r,cause:s}){super(r),this.code=e,this.cause=s,this.name=this.constructor.name}},jJ=class extends DL{};C1.VerificationError=jJ;var qJ=class extends DL{};C1.PolicyError=qJ});var MNe=L(bL=>{"use strict";Object.defineProperty(bL,"__esModule",{value:!0});bL.filterCertAuthorities=z8t;bL.filterTLogAuthorities=Z8t;function z8t(t,e){return t.filter(r=>r.validFor.start<=e.start&&r.validFor.end>=e.end)}function Z8t(t,e){return t.filter(r=>e.logID&&!r.logID.equals(e.logID)?!1:r.validFor.start<=e.targetDate&&e.targetDate<=r.validFor.end)}});var hy=L(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.filterTLogAuthorities=py.filterCertAuthorities=void 0;py.toTrustMaterial=$8t;var GJ=wl(),aP=Rb(),X8t=Co(),WJ=new Date(0),YJ=new Date(864e13),HNe=MNe();Object.defineProperty(py,"filterCertAuthorities",{enumerable:!0,get:function(){return HNe.filterCertAuthorities}});Object.defineProperty(py,"filterTLogAuthorities",{enumerable:!0,get:function(){return HNe.filterTLogAuthorities}});function $8t(t,e){let r=typeof e=="function"?e:eHt(e);return{certificateAuthorities:t.certificateAuthorities.map(UNe),timestampAuthorities:t.timestampAuthorities.map(UNe),tlogs:t.tlogs.map(_Ne),ctlogs:t.ctlogs.map(_Ne),publicKey:r}}function _Ne(t){let e=t.publicKey.keyDetails,r=e===aP.PublicKeyDetails.PKCS1_RSA_PKCS1V5||e===aP.PublicKeyDetails.PKIX_RSA_PKCS1V5||e===aP.PublicKeyDetails.PKIX_RSA_PKCS1V15_2048_SHA256||e===aP.PublicKeyDetails.PKIX_RSA_PKCS1V15_3072_SHA256||e===aP.PublicKeyDetails.PKIX_RSA_PKCS1V15_4096_SHA256?"pkcs1":"spki";return{logID:t.logId.keyId,publicKey:GJ.crypto.createPublicKey(t.publicKey.rawBytes,r),validFor:{start:t.publicKey.validFor?.start||WJ,end:t.publicKey.validFor?.end||YJ}}}function UNe(t){return{certChain:t.certChain.certificates.map(e=>GJ.X509Certificate.parse(e.rawBytes)),validFor:{start:t.validFor?.start||WJ,end:t.validFor?.end||YJ}}}function eHt(t){return e=>{let r=(t||{})[e];if(!r)throw new X8t.VerificationError({code:"PUBLIC_KEY_ERROR",message:`key not found: ${e}`});return{publicKey:GJ.crypto.createPublicKey(r.rawBytes),validFor:s=>(r.validFor?.start||WJ)<=s&&(r.validFor?.end||YJ)>=s}}}});var VJ=L(lP=>{"use strict";Object.defineProperty(lP,"__esModule",{value:!0});lP.CertificateChainVerifier=void 0;lP.verifyCertificateChain=rHt;var gy=Co(),tHt=hy();function rHt(t,e){let r=(0,tHt.filterCertAuthorities)(e,{start:t.notBefore,end:t.notAfter}),s;for(let a of r)try{return new PL({trustedCerts:a.certChain,untrustedCert:t}).verify()}catch(n){s=n}throw new gy.VerificationError({code:"CERTIFICATE_ERROR",message:"Failed to verify certificate chain",cause:s})}var PL=class{constructor(e){this.untrustedCert=e.untrustedCert,this.trustedCerts=e.trustedCerts,this.localCerts=nHt([...e.trustedCerts,e.untrustedCert])}verify(){let e=this.sort();return this.checkPath(e),e}sort(){let e=this.untrustedCert,r=this.buildPaths(e);if(r=r.filter(a=>a.some(n=>this.trustedCerts.includes(n))),r.length===0)throw new gy.VerificationError({code:"CERTIFICATE_ERROR",message:"no trusted certificate path found"});let s=r.reduce((a,n)=>a.length{if(s&&a.extSubjectKeyID){a.extSubjectKeyID.keyIdentifier.equals(s)&&r.push(a);return}a.subject.equals(e.issuer)&&r.push(a)}),r=r.filter(a=>{try{return e.verify(a)}catch{return!1}}),r)}checkPath(e){if(e.length<1)throw new gy.VerificationError({code:"CERTIFICATE_ERROR",message:"certificate chain must contain at least one certificate"});if(!e.slice(1).every(s=>s.isCA))throw new gy.VerificationError({code:"CERTIFICATE_ERROR",message:"intermediate certificate is not a CA"});for(let s=e.length-2;s>=0;s--)if(!e[s].issuer.equals(e[s+1].subject))throw new gy.VerificationError({code:"CERTIFICATE_ERROR",message:"incorrect certificate name chaining"});for(let s=0;s{"use strict";Object.defineProperty(KJ,"__esModule",{value:!0});KJ.verifySCTs=oHt;var xL=wl(),iHt=Co(),sHt=hy();function oHt(t,e,r){let s,a=t.clone();for(let p=0;p{if(!(0,sHt.filterTLogAuthorities)(r,{logID:p.logID,targetDate:p.datetime}).some(C=>p.verify(n.buffer,C.publicKey)))throw new iHt.VerificationError({code:"CERTIFICATE_ERROR",message:"SCT verification failed"});return p.logID})}});var GNe=L(kL=>{"use strict";Object.defineProperty(kL,"__esModule",{value:!0});kL.verifyPublicKey=AHt;kL.verifyCertificate=pHt;var aHt=wl(),qNe=Co(),lHt=VJ(),cHt=jNe(),uHt="1.3.6.1.4.1.57264.1.1",fHt="1.3.6.1.4.1.57264.1.8";function AHt(t,e,r){let s=r.publicKey(t);return e.forEach(a=>{if(!s.validFor(a))throw new qNe.VerificationError({code:"PUBLIC_KEY_ERROR",message:`Public key is not valid for timestamp: ${a.toISOString()}`})}),{key:s.publicKey}}function pHt(t,e,r){let s=(0,lHt.verifyCertificateChain)(t,r.certificateAuthorities);if(!e.every(n=>s.every(c=>c.validForDate(n))))throw new qNe.VerificationError({code:"CERTIFICATE_ERROR",message:"certificate is not valid or expired at the specified date"});return{scts:(0,cHt.verifySCTs)(s[0],s[1],r.ctlogs),signer:hHt(s[0])}}function hHt(t){let e,r=t.extension(fHt);r?e=r.valueObj.subs?.[0]?.value.toString("ascii"):e=t.extension(uHt)?.value.toString("ascii");let s={extensions:{issuer:e},subjectAlternativeName:t.subjectAltName};return{key:aHt.crypto.createPublicKey(t.publicKey),identity:s}}});var YNe=L(QL=>{"use strict";Object.defineProperty(QL,"__esModule",{value:!0});QL.verifySubjectAlternativeName=gHt;QL.verifyExtensions=dHt;var WNe=Co();function gHt(t,e){if(e===void 0||!e.match(t))throw new WNe.PolicyError({code:"UNTRUSTED_SIGNER_ERROR",message:`certificate identity error - expected ${t}, got ${e}`})}function dHt(t,e={}){let r;for(r in t)if(e[r]!==t[r])throw new WNe.PolicyError({code:"UNTRUSTED_SIGNER_ERROR",message:`invalid certificate extension - expected ${r}=${t[r]}, got ${r}=${e[r]}`})}});var VNe=L($J=>{"use strict";Object.defineProperty($J,"__esModule",{value:!0});$J.verifyCheckpoint=EHt;var zJ=wl(),w1=Co(),mHt=hy(),JJ=` + +`,yHt=/\u2014 (\S+) (\S+)\n/g;function EHt(t,e){let r=(0,mHt.filterTLogAuthorities)(e,{targetDate:new Date(Number(t.integratedTime)*1e3)}),s=t.inclusionProof,a=ZJ.fromString(s.checkpoint.envelope),n=XJ.fromString(a.note);if(!IHt(a,r))throw new w1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});if(!zJ.crypto.bufferEqual(n.logHash,s.rootHash))throw new w1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"root hash mismatch"})}function IHt(t,e){let r=Buffer.from(t.note,"utf-8");return t.signatures.every(s=>{let a=e.find(n=>zJ.crypto.bufferEqual(n.logID.subarray(0,4),s.keyHint));return a?zJ.crypto.verify(r,a.publicKey,s.signature):!1})}var ZJ=class t{constructor(e,r){this.note=e,this.signatures=r}static fromString(e){if(!e.includes(JJ))throw new w1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=e.indexOf(JJ),s=e.slice(0,r+1),n=e.slice(r+JJ.length).matchAll(yHt),c=Array.from(n,f=>{let[,p,h]=f,E=Buffer.from(h,"base64");if(E.length<5)throw new w1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"malformed checkpoint signature"});return{name:p,keyHint:E.subarray(0,4),signature:E.subarray(4)}});if(c.length===0)throw new w1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"no signatures found in checkpoint"});return new t(s,c)}},XJ=class t{constructor(e,r,s,a){this.origin=e,this.logSize=r,this.logHash=s,this.rest=a}static fromString(e){let r=e.trimEnd().split(` +`);if(r.length<3)throw new w1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"too few lines in checkpoint header"});let s=r[0],a=BigInt(r[1]),n=Buffer.from(r[2],"base64"),c=r.slice(3);return new t(s,a,n,c)}}});var KNe=L(nz=>{"use strict";Object.defineProperty(nz,"__esModule",{value:!0});nz.verifyMerkleInclusion=BHt;var rz=wl(),ez=Co(),CHt=Buffer.from([0]),wHt=Buffer.from([1]);function BHt(t){let e=t.inclusionProof,r=BigInt(e.logIndex),s=BigInt(e.treeSize);if(r<0n||r>=s)throw new ez.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${r}`});let{inner:a,border:n}=vHt(r,s);if(e.hashes.length!==a+n)throw new ez.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let c=e.hashes.slice(0,a),f=e.hashes.slice(a),p=kHt(t.canonicalizedBody),h=DHt(SHt(p,c,r),f);if(!rz.crypto.bufferEqual(h,e.rootHash))throw new ez.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}function vHt(t,e){let r=bHt(t,e),s=PHt(t>>BigInt(r));return{inner:r,border:s}}function SHt(t,e,r){return e.reduce((s,a,n)=>r>>BigInt(n)&BigInt(1)?tz(a,s):tz(s,a),t)}function DHt(t,e){return e.reduce((r,s)=>tz(s,r),t)}function bHt(t,e){return xHt(t^e-BigInt(1))}function PHt(t){return t.toString(2).split("1").length-1}function xHt(t){return t===0n?0:t.toString(2).length}function tz(t,e){return rz.crypto.digest("sha256",wHt,t,e)}function kHt(t){return rz.crypto.digest("sha256",CHt,t)}});var zNe=L(iz=>{"use strict";Object.defineProperty(iz,"__esModule",{value:!0});iz.verifyTLogSET=RHt;var JNe=wl(),QHt=Co(),THt=hy();function RHt(t,e){if(!(0,THt.filterTLogAuthorities)(e,{logID:t.logId.keyId,targetDate:new Date(Number(t.integratedTime)*1e3)}).some(a=>{let n=FHt(t),c=Buffer.from(JNe.json.canonicalize(n),"utf8"),f=t.inclusionPromise.signedEntryTimestamp;return JNe.crypto.verify(c,a.publicKey,f)}))throw new QHt.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}function FHt(t){let{integratedTime:e,logIndex:r,logId:s,canonicalizedBody:a}=t;return{body:a.toString("base64"),integratedTime:Number(e),logIndex:Number(r),logID:s.keyId.toString("hex")}}});var ZNe=L(az=>{"use strict";Object.defineProperty(az,"__esModule",{value:!0});az.verifyRFC3161Timestamp=LHt;var sz=wl(),oz=Co(),NHt=VJ(),OHt=hy();function LHt(t,e,r){let s=t.signingTime;if(r=(0,OHt.filterCertAuthorities)(r,{start:s,end:s}),r=_Ht(r,{serialNumber:t.signerSerialNumber,issuer:t.signerIssuer}),!r.some(n=>{try{return MHt(t,e,n),!0}catch{return!1}}))throw new oz.VerificationError({code:"TIMESTAMP_ERROR",message:"timestamp could not be verified"})}function MHt(t,e,r){let[s,...a]=r.certChain,n=sz.crypto.createPublicKey(s.publicKey),c=t.signingTime;try{new NHt.CertificateChainVerifier({untrustedCert:s,trustedCerts:a}).verify()}catch{throw new oz.VerificationError({code:"TIMESTAMP_ERROR",message:"invalid certificate chain"})}if(!r.certChain.every(p=>p.validForDate(c)))throw new oz.VerificationError({code:"TIMESTAMP_ERROR",message:"timestamp was signed with an expired certificate"});t.verify(e,n)}function _Ht(t,e){return t.filter(r=>r.certChain.length>0&&sz.crypto.bufferEqual(r.certChain[0].serialNumber,e.serialNumber)&&sz.crypto.bufferEqual(r.certChain[0].issuer,e.issuer))}});var XNe=L(TL=>{"use strict";Object.defineProperty(TL,"__esModule",{value:!0});TL.verifyTSATimestamp=WHt;TL.verifyTLogTimestamp=YHt;var UHt=Co(),HHt=VNe(),jHt=KNe(),qHt=zNe(),GHt=ZNe();function WHt(t,e,r){return(0,GHt.verifyRFC3161Timestamp)(t,e,r),{type:"timestamp-authority",logID:t.signerSerialNumber,timestamp:t.signingTime}}function YHt(t,e){let r=!1;if(VHt(t)&&((0,qHt.verifyTLogSET)(t,e),r=!0),KHt(t)&&((0,jHt.verifyMerkleInclusion)(t),(0,HHt.verifyCheckpoint)(t,e),r=!0),!r)throw new UHt.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"});return{type:"transparency-log",logID:t.logId.keyId,timestamp:new Date(Number(t.integratedTime)*1e3)}}function VHt(t){return t.inclusionPromise!==void 0}function KHt(t){return t.inclusionProof!==void 0}});var $Ne=L(lz=>{"use strict";Object.defineProperty(lz,"__esModule",{value:!0});lz.verifyDSSETLogBody=JHt;var RL=Co();function JHt(t,e){switch(t.apiVersion){case"0.0.1":return zHt(t,e);default:throw new RL.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported dsse version: ${t.apiVersion}`})}}function zHt(t,e){if(t.spec.signatures?.length!==1)throw new RL.VerificationError({code:"TLOG_BODY_ERROR",message:"signature count mismatch"});let r=t.spec.signatures[0].signature;if(!e.compareSignature(Buffer.from(r,"base64")))throw new RL.VerificationError({code:"TLOG_BODY_ERROR",message:"tlog entry signature mismatch"});let s=t.spec.payloadHash?.value||"";if(!e.compareDigest(Buffer.from(s,"hex")))throw new RL.VerificationError({code:"TLOG_BODY_ERROR",message:"DSSE payload hash mismatch"})}});var eOe=L(uz=>{"use strict";Object.defineProperty(uz,"__esModule",{value:!0});uz.verifyHashedRekordTLogBody=ZHt;var cz=Co();function ZHt(t,e){switch(t.apiVersion){case"0.0.1":return XHt(t,e);default:throw new cz.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported hashedrekord version: ${t.apiVersion}`})}}function XHt(t,e){let r=t.spec.signature.content||"";if(!e.compareSignature(Buffer.from(r,"base64")))throw new cz.VerificationError({code:"TLOG_BODY_ERROR",message:"signature mismatch"});let s=t.spec.data.hash?.value||"";if(!e.compareDigest(Buffer.from(s,"hex")))throw new cz.VerificationError({code:"TLOG_BODY_ERROR",message:"digest mismatch"})}});var tOe=L(fz=>{"use strict";Object.defineProperty(fz,"__esModule",{value:!0});fz.verifyIntotoTLogBody=$Ht;var FL=Co();function $Ht(t,e){switch(t.apiVersion){case"0.0.2":return ejt(t,e);default:throw new FL.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported intoto version: ${t.apiVersion}`})}}function ejt(t,e){if(t.spec.content.envelope.signatures?.length!==1)throw new FL.VerificationError({code:"TLOG_BODY_ERROR",message:"signature count mismatch"});let r=tjt(t.spec.content.envelope.signatures[0].sig);if(!e.compareSignature(Buffer.from(r,"base64")))throw new FL.VerificationError({code:"TLOG_BODY_ERROR",message:"tlog entry signature mismatch"});let s=t.spec.content.payloadHash?.value||"";if(!e.compareDigest(Buffer.from(s,"hex")))throw new FL.VerificationError({code:"TLOG_BODY_ERROR",message:"DSSE payload hash mismatch"})}function tjt(t){return Buffer.from(t,"base64").toString("utf-8")}});var nOe=L(Az=>{"use strict";Object.defineProperty(Az,"__esModule",{value:!0});Az.verifyTLogBody=sjt;var rOe=Co(),rjt=$Ne(),njt=eOe(),ijt=tOe();function sjt(t,e){let{kind:r,version:s}=t.kindVersion,a=JSON.parse(t.canonicalizedBody.toString("utf8"));if(r!==a.kind||s!==a.apiVersion)throw new rOe.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${s}, received: ${a.kind}/${a.apiVersion}`});switch(a.kind){case"dsse":return(0,rjt.verifyDSSETLogBody)(a,e);case"intoto":return(0,ijt.verifyIntotoTLogBody)(a,e);case"hashedrekord":return(0,njt.verifyHashedRekordTLogBody)(a,e);default:throw new rOe.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}});var lOe=L(NL=>{"use strict";Object.defineProperty(NL,"__esModule",{value:!0});NL.Verifier=void 0;var ojt=ye("util"),B1=Co(),iOe=GNe(),sOe=YNe(),oOe=XNe(),ajt=nOe(),pz=class{constructor(e,r={}){this.trustMaterial=e,this.options={ctlogThreshold:r.ctlogThreshold??1,tlogThreshold:r.tlogThreshold??1,tsaThreshold:r.tsaThreshold??0}}verify(e,r){let s=this.verifyTimestamps(e),a=this.verifySigningKey(e,s);return this.verifyTLogs(e),this.verifySignature(e,a),r&&this.verifyPolicy(r,a.identity||{}),a}verifyTimestamps(e){let r=0,s=0,a=e.timestamps.map(n=>{switch(n.$case){case"timestamp-authority":return s++,(0,oOe.verifyTSATimestamp)(n.timestamp,e.signature.signature,this.trustMaterial.timestampAuthorities);case"transparency-log":return r++,(0,oOe.verifyTLogTimestamp)(n.tlogEntry,this.trustMaterial.tlogs)}});if(aOe(a))throw new B1.VerificationError({code:"TIMESTAMP_ERROR",message:"duplicate timestamp"});if(rn.timestamp)}verifySigningKey({key:e},r){switch(e.$case){case"public-key":return(0,iOe.verifyPublicKey)(e.hint,r,this.trustMaterial);case"certificate":{let s=(0,iOe.verifyCertificate)(e.certificate,r,this.trustMaterial);if(aOe(s.scts))throw new B1.VerificationError({code:"CERTIFICATE_ERROR",message:"duplicate SCT"});if(s.scts.length(0,ajt.verifyTLogBody)(s,e))}verifySignature(e,r){if(!e.signature.verifySignature(r.key))throw new B1.VerificationError({code:"SIGNATURE_ERROR",message:"signature verification failed"})}verifyPolicy(e,r){e.subjectAlternativeName&&(0,sOe.verifySubjectAlternativeName)(e.subjectAlternativeName,r.subjectAlternativeName),e.extensions&&(0,sOe.verifyExtensions)(e.extensions,r.extensions)}};NL.Verifier=pz;function aOe(t){for(let e=0;e{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});ou.Verifier=ou.toTrustMaterial=ou.VerificationError=ou.PolicyError=ou.toSignedEntity=void 0;var ljt=LNe();Object.defineProperty(ou,"toSignedEntity",{enumerable:!0,get:function(){return ljt.toSignedEntity}});var cOe=Co();Object.defineProperty(ou,"PolicyError",{enumerable:!0,get:function(){return cOe.PolicyError}});Object.defineProperty(ou,"VerificationError",{enumerable:!0,get:function(){return cOe.VerificationError}});var cjt=hy();Object.defineProperty(ou,"toTrustMaterial",{enumerable:!0,get:function(){return cjt.toTrustMaterial}});var ujt=lOe();Object.defineProperty(ou,"Verifier",{enumerable:!0,get:function(){return ujt.Verifier}})});var uOe=L(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.DEFAULT_TIMEOUT=Na.DEFAULT_RETRY=void 0;Na.createBundleBuilder=pjt;Na.createKeyFinder=hjt;Na.createVerificationPolicy=gjt;var fjt=wl(),v1=SK(),Ajt=OL();Na.DEFAULT_RETRY={retries:2};Na.DEFAULT_TIMEOUT=5e3;function pjt(t,e){let r={signer:djt(e),witnesses:yjt(e)};switch(t){case"messageSignature":return new v1.MessageSignatureBundleBuilder(r);case"dsseEnvelope":return new v1.DSSEBundleBuilder({...r,certificateChain:e.legacyCompatibility})}}function hjt(t){return e=>{let r=t(e);if(!r)throw new Ajt.VerificationError({code:"PUBLIC_KEY_ERROR",message:`key not found: ${e}`});return{publicKey:fjt.crypto.createPublicKey(r),validFor:()=>!0}}}function gjt(t){let e={},r=t.certificateIdentityEmail||t.certificateIdentityURI;return r&&(e.subjectAlternativeName=r),t.certificateIssuer&&(e.extensions={issuer:t.certificateIssuer}),e}function djt(t){return new v1.FulcioSigner({fulcioBaseURL:t.fulcioURL,identityProvider:t.identityProvider||mjt(t),retry:t.retry??Na.DEFAULT_RETRY,timeout:t.timeout??Na.DEFAULT_TIMEOUT})}function mjt(t){let e=t.identityToken;return e?{getToken:()=>Promise.resolve(e)}:new v1.CIContextProvider("sigstore")}function yjt(t){let e=[];return Ejt(t)&&e.push(new v1.RekorWitness({rekorBaseURL:t.rekorURL,entryType:t.legacyCompatibility?"intoto":"dsse",fetchOnConflict:!1,retry:t.retry??Na.DEFAULT_RETRY,timeout:t.timeout??Na.DEFAULT_TIMEOUT})),Ijt(t)&&e.push(new v1.TSAWitness({tsaBaseURL:t.tsaServerURL,retry:t.retry??Na.DEFAULT_RETRY,timeout:t.timeout??Na.DEFAULT_TIMEOUT})),e}function Ejt(t){return t.tlogUpload!==!1}function Ijt(t){return t.tsaServerURL!==void 0}});var pOe=L(au=>{"use strict";var Cjt=au&&au.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),wjt=au&&au.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),fOe=au&&au.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[s.length]=a);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),a=0;aa.verify(t,s))}async function AOe(t={}){let e=await Bjt.getTrustedRoot({mirrorURL:t.tufMirrorURL,rootPath:t.tufRootPath,cachePath:t.tufCachePath,forceCache:t.tufForceCache,retry:t.retry??S1.DEFAULT_RETRY,timeout:t.timeout??S1.DEFAULT_TIMEOUT}),r=t.keySelector?S1.createKeyFinder(t.keySelector):void 0,s=(0,hz.toTrustMaterial)(e,r),a={ctlogThreshold:t.ctLogThreshold,tlogThreshold:t.tlogThreshold},n=new hz.Verifier(s,a),c=S1.createVerificationPolicy(t);return{verify:(f,p)=>{let h=(0,gz.bundleFromJSON)(f),E=(0,hz.toSignedEntity)(h,p);n.verify(E,c)}}}});var gOe=L(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.verify=Fi.sign=Fi.createVerifier=Fi.attest=Fi.VerificationError=Fi.PolicyError=Fi.TUFError=Fi.InternalError=Fi.DEFAULT_REKOR_URL=Fi.DEFAULT_FULCIO_URL=Fi.ValidationError=void 0;var bjt=Nb();Object.defineProperty(Fi,"ValidationError",{enumerable:!0,get:function(){return bjt.ValidationError}});var dz=SK();Object.defineProperty(Fi,"DEFAULT_FULCIO_URL",{enumerable:!0,get:function(){return dz.DEFAULT_FULCIO_URL}});Object.defineProperty(Fi,"DEFAULT_REKOR_URL",{enumerable:!0,get:function(){return dz.DEFAULT_REKOR_URL}});Object.defineProperty(Fi,"InternalError",{enumerable:!0,get:function(){return dz.InternalError}});var Pjt=wL();Object.defineProperty(Fi,"TUFError",{enumerable:!0,get:function(){return Pjt.TUFError}});var hOe=OL();Object.defineProperty(Fi,"PolicyError",{enumerable:!0,get:function(){return hOe.PolicyError}});Object.defineProperty(Fi,"VerificationError",{enumerable:!0,get:function(){return hOe.VerificationError}});var LL=pOe();Object.defineProperty(Fi,"attest",{enumerable:!0,get:function(){return LL.attest}});Object.defineProperty(Fi,"createVerifier",{enumerable:!0,get:function(){return LL.createVerifier}});Object.defineProperty(Fi,"sign",{enumerable:!0,get:function(){return LL.sign}});Object.defineProperty(Fi,"verify",{enumerable:!0,get:function(){return LL.verify}})});var GOe=L((xSr,qOe)=>{var M6t=t3();function _6t(t){return M6t(t)?void 0:t}qOe.exports=_6t});var YOe=L((kSr,WOe)=>{var U6t=RT(),H6t=x5(),j6t=R5(),q6t=wm(),G6t=Jd(),W6t=GOe(),Y6t=BG(),V6t=P5(),K6t=1,J6t=2,z6t=4,Z6t=Y6t(function(t,e){var r={};if(t==null)return r;var s=!1;e=U6t(e,function(n){return n=q6t(n,t),s||(s=n.length>1),n}),G6t(t,V6t(t),r),s&&(r=H6t(r,K6t|J6t|z6t,W6t));for(var a=e.length;a--;)j6t(r,e[a]);return r});WOe.exports=Z6t});bt();Ve();bt();var ZOe=ye("child_process"),XOe=et(Nd());Wt();var tC=new Map([]);var iS={};Vt(iS,{BaseCommand:()=>ut,WorkspaceRequiredError:()=>ar,getCli:()=>cwe,getDynamicLibs:()=>lwe,getPluginConfiguration:()=>nC,openWorkspace:()=>rC,pluginCommands:()=>tC,runExit:()=>zR});Wt();var ut=class extends ot{constructor(){super(...arguments);this.cwd=ge.String("--cwd",{hidden:!0})}validateAndExecute(){if(typeof this.cwd<"u")throw new nt("The --cwd option is ambiguous when used anywhere else than the very first parameter provided in the command line, before even the command path");return super.validateAndExecute()}};Ve();bt();Wt();var ar=class extends nt{constructor(e,r){let s=K.relative(e,r),a=K.join(e,Ht.fileName);super(`This command can only be run from within a workspace of your project (${s} isn't a workspace of ${a}).`)}};Ve();bt();rA();Bc();bv();Wt();var zwt=et(fi());Ul();var lwe=()=>new Map([["@yarnpkg/cli",iS],["@yarnpkg/core",nS],["@yarnpkg/fslib",q2],["@yarnpkg/libzip",Sv],["@yarnpkg/parsers",Z2],["@yarnpkg/shell",Qv],["clipanion",cB],["semver",zwt],["typanion",Ia]]);Ve();async function rC(t,e){let{project:r,workspace:s}=await Tt.find(t,e);if(!s)throw new ar(r.cwd,e);return s}Ve();bt();rA();Bc();bv();Wt();var oqt=et(fi());Ul();var $5={};Vt($5,{AddCommand:()=>aC,BinCommand:()=>lC,CacheCleanCommand:()=>cC,ClipanionCommand:()=>gC,ConfigCommand:()=>pC,ConfigGetCommand:()=>uC,ConfigSetCommand:()=>fC,ConfigUnsetCommand:()=>AC,DedupeCommand:()=>hC,EntryCommand:()=>mC,ExecCommand:()=>EC,ExplainCommand:()=>wC,ExplainPeerRequirementsCommand:()=>IC,HelpCommand:()=>dC,InfoCommand:()=>BC,LinkCommand:()=>SC,NodeCommand:()=>DC,PluginCheckCommand:()=>bC,PluginImportCommand:()=>kC,PluginImportSourcesCommand:()=>QC,PluginListCommand:()=>PC,PluginRemoveCommand:()=>TC,PluginRuntimeCommand:()=>RC,RebuildCommand:()=>FC,RemoveCommand:()=>NC,RunCommand:()=>LC,RunIndexCommand:()=>OC,SetResolutionCommand:()=>MC,SetVersionCommand:()=>CC,SetVersionSourcesCommand:()=>xC,UnlinkCommand:()=>_C,UpCommand:()=>UC,VersionCommand:()=>yC,WhyCommand:()=>HC,WorkspaceCommand:()=>YC,WorkspacesListCommand:()=>WC,YarnCommand:()=>vC,dedupeUtils:()=>oF,default:()=>WSt,suggestUtils:()=>Xu});var UBe=et(Nd());Ve();Ve();Ve();Wt();var z1e=et(lS());Ul();var Xu={};Vt(Xu,{Modifier:()=>B5,Strategy:()=>nF,Target:()=>cS,WorkspaceModifier:()=>W1e,applyModifier:()=>d2t,extractDescriptorFromPath:()=>v5,extractRangeModifier:()=>Y1e,fetchDescriptorFrom:()=>S5,findProjectDescriptors:()=>J1e,getModifier:()=>uS,getSuggestedDescriptors:()=>fS,makeWorkspaceDescriptor:()=>K1e,toWorkspaceModifier:()=>V1e});Ve();Ve();bt();var w5=et(fi()),h2t="workspace:",cS=(s=>(s.REGULAR="dependencies",s.DEVELOPMENT="devDependencies",s.PEER="peerDependencies",s))(cS||{}),B5=(s=>(s.CARET="^",s.TILDE="~",s.EXACT="",s))(B5||{}),W1e=(s=>(s.CARET="^",s.TILDE="~",s.EXACT="*",s))(W1e||{}),nF=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(nF||{});function uS(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var g2t=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Y1e(t,{project:e}){let r=t.match(g2t);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function d2t(t,e){let{protocol:r,source:s,params:a,selector:n}=q.parseRange(t.range);return w5.default.valid(n)&&(n=`${e}${t.range}`),q.makeDescriptor(t,q.makeRange({protocol:r,source:s,params:a,selector:n}))}function V1e(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function K1e(t,e){return q.makeDescriptor(t.anchoredDescriptor,`${h2t}${V1e(e)}`)}async function J1e(t,{project:e,target:r}){let s=new Map,a=n=>{let c=s.get(n.descriptorHash);return c||s.set(n.descriptorHash,c={descriptor:n,locators:[]}),c};for(let n of e.workspaces)if(r==="peerDependencies"){let c=n.manifest.peerDependencies.get(t.identHash);c!==void 0&&a(c).locators.push(n.anchoredLocator)}else{let c=n.manifest.dependencies.get(t.identHash),f=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?f!==void 0?a(f).locators.push(n.anchoredLocator):c!==void 0&&a(c).locators.push(n.anchoredLocator):c!==void 0?a(c).locators.push(n.anchoredLocator):f!==void 0&&a(f).locators.push(n.anchoredLocator)}return s}async function v5(t,{cwd:e,workspace:r}){return await y2t(async s=>{K.isAbsolute(t)||(t=K.relative(r.cwd,K.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await S5(q.makeIdent(null,"archive"),t,{project:r.project,cache:s,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let c=new Wi,f=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:s,fetcher:p,report:c,resolver:f},E=f.bindDescriptor(n,r.anchoredLocator,h),C=q.convertDescriptorToLocator(E),S=await p.fetch(C,h),P=await Ht.find(S.prefixPath,{baseFs:S.packageFs});if(!P.name)throw new Error("Target path doesn't have a name");return q.makeDescriptor(P.name,t)})}function m2t(t){if(t.range==="unknown")return{type:"resolve",range:"latest"};if(Or.validRange(t.range))return{type:"fixed",range:t.range};if(Hp.test(t.range))return{type:"resolve",range:t.range};let e=t.range.match(/^(?:jsr:|npm:)(.*)/);if(!e)return{type:"fixed",range:t.range};let[,r]=e,s=`${q.stringifyIdent(t)}@`;return r.startsWith(s)&&(r=r.slice(s.length)),Or.validRange(r)?{type:"fixed",range:t.range}:Hp.test(r)?{type:"resolve",range:t.range}:{type:"fixed",range:t.range}}async function fS(t,{project:e,workspace:r,cache:s,target:a,fixed:n,modifier:c,strategies:f,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let h=!n||t.range==="unknown"?m2t(t):{type:"fixed",range:t.range};if(h.type==="fixed")return{suggestions:[{descriptor:t,name:`Use ${q.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let E=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,C=[],S=[],P=async I=>{try{await I()}catch(R){S.push(R)}};for(let I of f){if(C.length>=p)break;switch(I){case"keep":await P(async()=>{E&&C.push({descriptor:E,name:`Keep ${q.prettyDescriptor(e.configuration,E)}`,reason:"(no changes)"})});break;case"reuse":await P(async()=>{for(let{descriptor:R,locators:N}of(await J1e(t,{project:e,target:a})).values()){if(N.length===1&&N[0].locatorHash===r.anchoredLocator.locatorHash&&f.includes("keep"))continue;let U=`(originally used by ${q.prettyLocator(e.configuration,N[0])}`;U+=N.length>1?` and ${N.length-1} other${N.length>2?"s":""})`:")",C.push({descriptor:R,name:`Reuse ${q.prettyDescriptor(e.configuration,R)}`,reason:U})}});break;case"cache":await P(async()=>{for(let R of e.storedDescriptors.values())R.identHash===t.identHash&&C.push({descriptor:R,name:`Reuse ${q.prettyDescriptor(e.configuration,R)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await P(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let R=e.tryWorkspaceByIdent(t);if(R===null)return;let N=K1e(R,c);C.push({descriptor:N,name:`Attach ${q.prettyDescriptor(e.configuration,N)}`,reason:`(local workspace at ${he.pretty(e.configuration,R.relativeCwd,he.Type.PATH)})`})});break;case"latest":{let R=e.configuration.get("enableNetwork"),N=e.configuration.get("enableOfflineMode");await P(async()=>{if(a==="peerDependencies")C.push({descriptor:q.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!R&&!N)C.push({descriptor:null,name:"Resolve from latest",reason:he.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let U=await S5(t,h.range,{project:e,cache:s,workspace:r,modifier:c});U&&C.push({descriptor:U,name:`Use ${q.prettyDescriptor(e.configuration,U)}`,reason:`(resolved from ${N?"the cache":"latest"})`})}})}break}}return{suggestions:C.slice(0,p),rejections:S.slice(0,p)}}async function S5(t,e,{project:r,cache:s,workspace:a,preserveModifier:n=!0,modifier:c}){let f=r.configuration.normalizeDependency(q.makeDescriptor(t,e)),p=new Wi,h=r.configuration.makeFetcher(),E=r.configuration.makeResolver(),C={project:r,fetcher:h,cache:s,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},S={...C,resolver:E,fetchOptions:C},P=E.bindDescriptor(f,a.anchoredLocator,S),I=await E.getCandidates(P,{},S);if(I.length===0)return null;let R=I[0],{protocol:N,source:U,params:W,selector:te}=q.parseRange(q.convertToManifestRange(R.reference));if(N===r.configuration.get("defaultProtocol")&&(N=null),w5.default.valid(te)){let ie=te;if(typeof c<"u")te=c+te;else if(n!==!1){let me=typeof n=="string"?n:f.range;te=Y1e(me,{project:r})+te}let Ae=q.makeDescriptor(R,q.makeRange({protocol:N,source:U,params:W,selector:te}));(await E.getCandidates(r.configuration.normalizeDependency(Ae),{},S)).length!==1&&(te=ie)}return q.makeDescriptor(R,q.makeRange({protocol:N,source:U,params:W,selector:te}))}async function y2t(t){return await le.mktempPromise(async e=>{let r=ze.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Jr(e,{configuration:r,check:!1,immutable:!1}))})}var aC=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=ge.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=ge.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=ge.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=ge.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=ge.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=ge.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ao(ec)});this.silent=ge.Boolean("--silent",{hidden:!0});this.packages=ge.Rest()}static{this.paths=[["add"]]}static{this.usage=ot.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"],["Add a local package (gzipped tarball format) to the current workspace","$0 add local-package-name@file:../path/to/local-package-name-v0.1.2.tgz"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=this.fixed,f=r.isInteractive({interactive:this.interactive,stdout:this.context.stdout}),p=f||r.get("preferReuse"),h=uS(this,s),E=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(W=>typeof W<"u"),C=f?1/0:1,S=W=>{let te=q.tryParseDescriptor(W.slice(4));return te?te.range==="unknown"?q.makeDescriptor(te,`jsr:${q.stringifyIdent(te)}@latest`):q.makeDescriptor(te,`jsr:${te.range}`):null},P=await Promise.all(this.packages.map(async W=>{let te=W.match(/^\.{0,2}\//)?await v5(W,{cwd:this.context.cwd,workspace:a}):W.startsWith("jsr:")?S(W):q.tryParseDescriptor(W),ie=W.match(/^(https?:|git@github)/);if(ie)throw new nt(`It seems you are trying to add a package using a ${he.pretty(r,`${ie[0]}...`,he.Type.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${he.pretty(r,"yarn add",he.Type.CODE)} ${he.pretty(r,q.makeDescriptor(q.makeIdent(null,"my-package"),`${ie[0]}...`),he.Type.DESCRIPTOR)}`);if(!te)throw new nt(`The ${he.pretty(r,W,he.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let Ae=E2t(a,te,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(Ae.map(async me=>{let pe=await fS(te,{project:s,workspace:a,cache:n,fixed:c,target:me,modifier:h,strategies:E,maxResults:C});return{request:te,suggestedDescriptors:pe,target:me}}))})).then(W=>W.flat()),I=await uA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async W=>{for(let{request:te,suggestedDescriptors:{suggestions:ie,rejections:Ae}}of P)if(ie.filter(me=>me.descriptor!==null).length===0){let[me]=Ae;if(typeof me>"u")throw new Error("Assertion failed: Expected an error to have been set");s.configuration.get("enableNetwork")?W.reportError(27,`${q.prettyDescriptor(r,te)} can't be resolved to a satisfying range`):W.reportError(27,`${q.prettyDescriptor(r,te)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),W.reportSeparator(),W.reportExceptionOnce(me)}});if(I.hasErrors())return I.exitCode();let R=!1,N=[],U=[];for(let{suggestedDescriptors:{suggestions:W},target:te}of P){let ie,Ae=W.filter(Be=>Be.descriptor!==null),ce=Ae[0].descriptor,me=Ae.every(Be=>q.areDescriptorsEqual(Be.descriptor,ce));Ae.length===1||me?ie=ce:(R=!0,{answer:ie}=await(0,z1e.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:W.map(({descriptor:Be,name:Ce,reason:g})=>Be?{name:Ce,hint:g,descriptor:Be}:{name:Ce,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(Be){return this.find(Be,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let pe=a.manifest[te].get(ie.identHash);(typeof pe>"u"||pe.descriptorHash!==ie.descriptorHash)&&(a.manifest[te].set(ie.identHash,ie),this.optional&&(te==="dependencies"?a.manifest.ensureDependencyMeta({...ie,range:"unknown"}).optional=!0:te==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...ie,range:"unknown"}).optional=!0)),typeof pe>"u"?N.push([a,te,ie,E]):U.push([a,te,pe,ie]))}return await r.triggerMultipleHooks(W=>W.afterWorkspaceDependencyAddition,N),await r.triggerMultipleHooks(W=>W.afterWorkspaceDependencyReplacement,U),R&&this.context.stdout.write(` +`),await s.installWithNewReport({json:this.json,stdout:this.context.stdout,quiet:this.context.quiet},{cache:n,mode:this.mode})}};function E2t(t,e,{dev:r,peer:s,preferDev:a,optional:n}){let c=t.manifest.dependencies.has(e.identHash),f=t.manifest.devDependencies.has(e.identHash),p=t.manifest.peerDependencies.has(e.identHash);if((r||s)&&c)throw new nt(`Package "${q.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!s&&p)throw new nt(`Package "${q.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&f)throw new nt(`Package "${q.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!s&&p)throw new nt(`Package "${q.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new nt(`Package "${q.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return s&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:f?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}Ve();Ve();Wt();var lC=class extends ut{constructor(){super(...arguments);this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=ge.String({required:!1})}static{this.paths=[["bin"]]}static{this.usage=ot.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,locator:a}=await Tt.find(r,this.context.cwd);if(await s.restoreInstallState(),this.name){let f=(await In.getPackageAccessibleBinaries(a,{project:s})).get(this.name);if(!f)throw new nt(`Couldn't find a binary named "${this.name}" for package "${q.prettyLocator(r,a)}"`);let[,p]=f;return this.context.stdout.write(`${p} +`),0}return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async c=>{let f=await In.getPackageAccessibleBinaries(a,{project:s}),h=Array.from(f.keys()).reduce((E,C)=>Math.max(E,C.length),0);for(let[E,[C,S]]of f)c.reportJson({name:E,source:q.stringifyIdent(C),path:S});if(this.verbose)for(let[E,[C]]of f)c.reportInfo(null,`${E.padEnd(h," ")} ${q.prettyLocator(r,C)}`);else for(let E of f.keys())c.reportInfo(null,E)})).exitCode()}};Ve();bt();Wt();var cC=class extends ut{constructor(){super(...arguments);this.mirror=ge.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=ge.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}static{this.paths=[["cache","clean"],["cache","clear"]]}static{this.usage=ot.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);if(!r.get("enableCacheClean"))throw new nt("Cache cleaning is currently disabled. To enable it, set `enableCacheClean: true` in your configuration file. Note: Cache cleaning is typically not required and should be avoided when using Zero-Installs.");let s=await Jr.find(r);return(await Ot.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&s.mirrorCwd!==null,c=!this.mirror;n&&(await le.removePromise(s.mirrorCwd),await r.triggerHook(f=>f.cleanGlobalArtifacts,r)),c&&await le.removePromise(s.cwd)})).exitCode()}};Ve();Wt();var X1e=et(AS()),D5=ye("util"),uC=class extends ut{constructor(){super(...arguments);this.why=ge.Boolean("--why",!1,{description:"Print the explanation for why a setting has its value"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=ge.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=ge.String()}static{this.paths=[["config","get"]]}static{this.usage=ot.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(s)>"u")throw new nt(`Couldn't find a configuration settings named "${s}"`);let c=r.getSpecial(s,{hideSecrets:!this.unsafe,getNativePaths:!0}),f=je.convertMapsToIndexableObjects(c),p=a?(0,X1e.default)(f,a):f,h=await Ot.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} +`),h.exitCode();D5.inspect.styles.name="cyan",this.context.stdout.write(`${(0,D5.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} +`)}return h.exitCode()}};Ve();Wt();var j2e=et(k5()),q2e=et(AS()),G2e=et(Q5()),T5=ye("util"),fC=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String();this.value=ge.String()}static{this.paths=[["config","set"]]}static{this.usage=ot.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=()=>{if(!r.projectCwd)throw new nt("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new nt(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new nt("This setting only affects the file it's in, and thus cannot be set from the CLI");let f=this.json?JSON.parse(this.value):this.value;await(this.home?I=>ze.updateHomeConfiguration(I):I=>ze.updateConfiguration(s(),I))(I=>{if(n){let R=(0,j2e.default)(I);return(0,G2e.default)(R,this.name,f),R}else return{...I,[a]:f}});let E=(await ze.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),C=je.convertMapsToIndexableObjects(E),S=n?(0,q2e.default)(C,n):C;return(await Ot.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async I=>{T5.inspect.styles.name="cyan",I.reportInfo(0,`Successfully set ${this.name} to ${(0,T5.inspect)(S,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};Ve();Wt();var tBe=et(k5()),rBe=et(K2e()),nBe=et(F5()),AC=class extends ut{constructor(){super(...arguments);this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String()}static{this.paths=[["config","unset"]]}static{this.usage=ot.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=()=>{if(!r.projectCwd)throw new nt("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new nt(`Couldn't find a configuration settings named "${a}"`);let f=this.home?h=>ze.updateHomeConfiguration(h):h=>ze.updateConfiguration(s(),h);return(await Ot.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let E=!1;await f(C=>{if(!(0,rBe.default)(C,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),E=!0,C;let S=n?(0,tBe.default)(C):{...C};return(0,nBe.default)(S,this.name),S}),E||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};Ve();bt();Wt();var sF=ye("util"),pC=class extends ut{constructor(){super(...arguments);this.noDefaults=ge.Boolean("--no-defaults",!1,{description:"Omit the default values from the display"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.verbose=ge.Boolean("-v,--verbose",{hidden:!0});this.why=ge.Boolean("--why",{hidden:!0});this.names=ge.Rest()}static{this.paths=[["config"]]}static{this.usage=ot.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins,{strict:!1}),s=await DI({configuration:r,stdout:this.context.stdout,forceError:this.json},[{option:this.verbose,message:"The --verbose option is deprecated, the settings' descriptions are now always displayed"},{option:this.why,message:"The --why option is deprecated, the settings' sources are now always displayed"}]);if(s!==null)return s;let a=this.names.length>0?[...new Set(this.names)].sort():[...r.settings.keys()].sort(),n,c=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{if(r.invalid.size>0&&!this.json){for(let[p,h]of r.invalid)f.reportError(34,`Invalid configuration key "${p}" in ${h}`);f.reportSeparator()}if(this.json)for(let p of a){if(this.noDefaults&&!r.sources.has(p))continue;let h=r.settings.get(p);typeof h>"u"&&f.reportError(34,`No configuration key named "${p}"`);let E=r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),C=r.sources.get(p)??"",S=C&&C[0]!=="<"?ue.fromPortablePath(C):C;f.reportJson({key:p,effective:E,source:S,...h})}else{let p={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},h={},E={children:h};for(let C of a){if(this.noDefaults&&!r.sources.has(C))continue;let S=r.settings.get(C),P=r.sources.get(C)??"",I=r.getSpecial(C,{hideSecrets:!0,getNativePaths:!0}),R={Description:{label:"Description",value:he.tuple(he.Type.MARKDOWN,{text:S.description,format:this.cli.format(),paragraphs:!1})},Source:{label:"Source",value:he.tuple(P[0]==="<"?he.Type.CODE:he.Type.PATH,P)}};h[C]={value:he.tuple(he.Type.CODE,C),children:R};let N=(U,W)=>{for(let[te,ie]of W)if(ie instanceof Map){let Ae={};U[te]={children:Ae},N(Ae,ie)}else U[te]={label:te,value:he.tuple(he.Type.NO_HINT,(0,sF.inspect)(ie,p))}};I instanceof Map?N(R,I):R.Value={label:"Value",value:he.tuple(he.Type.NO_HINT,(0,sF.inspect)(I,p))}}a.length!==1&&(n=void 0),ks.emitTree(E,{configuration:r,json:this.json,stdout:this.context.stdout,separators:2})}});if(!this.json&&typeof n<"u"){let f=a[0],p=(0,sF.inspect)(r.getSpecial(f,{hideSecrets:!0,getNativePaths:!0}),{colors:r.get("enableColors")});this.context.stdout.write(` +`),this.context.stdout.write(`${p} +`)}return c.exitCode()}};Ve();Wt();Ul();var oF={};Vt(oF,{Strategy:()=>pS,acceptedStrategies:()=>tSt,dedupe:()=>N5});Ve();Ve();var iBe=et(Sa()),pS=(e=>(e.HIGHEST="highest",e))(pS||{}),tSt=new Set(Object.values(pS)),rSt={highest:async(t,e,{resolver:r,fetcher:s,resolveOptions:a,fetchOptions:n})=>{let c=new Map;for(let[p,h]of t.storedResolutions){let E=t.storedDescriptors.get(p);if(typeof E>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);je.getSetWithDefault(c,E.identHash).add(h)}let f=new Map(je.mapAndFilter(t.storedDescriptors.values(),p=>q.isVirtualDescriptor(p)?je.mapAndFilter.skip:[p.descriptorHash,je.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=f.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let E=t.storedResolutions.get(p.descriptorHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let C=t.originalPackages.get(E);if(typeof C>"u")throw new Error(`Assertion failed: The package (${E}) should have been registered`);Promise.resolve().then(async()=>{let S=r.getResolutionDependencies(p,a),P=Object.fromEntries(await je.allSettledSafe(Object.entries(S).map(async([te,ie])=>{let Ae=f.get(ie.descriptorHash);if(typeof Ae>"u")throw new Error(`Assertion failed: The descriptor (${ie.descriptorHash}) should have been registered`);let ce=await Ae.promise;if(!ce)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[te,ce.updatedPackage]})));if(e.length&&!iBe.default.isMatch(q.stringifyIdent(p),e)||!r.shouldPersistResolution(C,a))return C;let I=c.get(p.identHash);if(typeof I>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(I.size===1)return C;let R=[...I].map(te=>{let ie=t.originalPackages.get(te);if(typeof ie>"u")throw new Error(`Assertion failed: The package (${te}) should have been registered`);return ie}),N=await r.getSatisfying(p,P,R,a),U=N.locators?.[0];if(typeof U>"u"||!N.sorted)return C;let W=t.originalPackages.get(U.locatorHash);if(typeof W>"u")throw new Error(`Assertion failed: The package (${U.locatorHash}) should have been registered`);return W}).then(async S=>{let P=await t.preparePackage(S,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:C,updatedPackage:S,resolvedPackage:P})}).catch(S=>{h.reject(S)})}return[...f.values()].map(p=>p.promise)}};async function N5(t,{strategy:e,patterns:r,cache:s,report:a}){let{configuration:n}=t,c=new Wi,f=n.makeResolver(),p=n.makeFetcher(),h={cache:s,checksums:t.storedChecksums,fetcher:p,project:t,report:c,cacheOptions:{skipIntegrityCheck:!0}},E={project:t,resolver:f,report:c,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let C=rSt[e],S=await C(t,r,{resolver:f,resolveOptions:E,fetcher:p,fetchOptions:h}),P=ho.progressViaCounter(S.length);await a.reportProgress(P);let I=0;await Promise.all(S.map(U=>U.then(W=>{if(W===null||W.currentPackage.locatorHash===W.updatedPackage.locatorHash)return;I++;let{descriptor:te,currentPackage:ie,updatedPackage:Ae}=W;a.reportInfo(0,`${q.prettyDescriptor(n,te)} can be deduped from ${q.prettyLocator(n,ie)} to ${q.prettyLocator(n,Ae)}`),a.reportJson({descriptor:q.stringifyDescriptor(te),currentResolution:q.stringifyLocator(ie),updatedResolution:q.stringifyLocator(Ae)}),t.storedResolutions.set(te.descriptorHash,Ae.locatorHash)}).finally(()=>P.tick())));let R;switch(I){case 0:R="No packages";break;case 1:R="One package";break;default:R=`${I} packages`}let N=he.pretty(n,e,he.Type.CODE);return a.reportInfo(0,`${R} can be deduped using the ${N} strategy`),I})}var hC=class extends ut{constructor(){super(...arguments);this.strategy=ge.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Ao(pS)});this.check=ge.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ao(ec)});this.patterns=ge.Rest()}static{this.paths=[["dedupe"]]}static{this.usage=ot.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Tt.find(r,this.context.cwd),a=await Jr.find(r);await s.restoreInstallState({restoreResolutions:!1});let n=0,c=await Ot.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async f=>{n=await N5(s,{strategy:this.strategy,patterns:this.patterns,cache:a,report:f})});return c.hasErrors()?c.exitCode():this.check?n?1:0:await s.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:a,mode:this.mode})}};Ve();Wt();var gC=class extends ut{static{this.paths=[["--clipanion=definitions"]]}async execute(){let{plugins:e}=await ze.find(this.context.cwd,this.context.plugins),r=[];for(let c of e){let{commands:f}=c[1];if(f){let h=wa.from(f).definitions();r.push([c[0],h])}}let s=this.cli.definitions(),a=(c,f)=>c.split(" ").slice(1).join()===f.split(" ").slice(1).join(),n=sBe()["@yarnpkg/builder"].bundles.standard;for(let c of r){let f=c[1];for(let p of f)s.find(h=>a(h.path,p.path)).plugin={name:c[0],isDefault:n.includes(c[0])}}this.context.stdout.write(`${JSON.stringify(s,null,2)} +`)}};var dC=class extends ut{static{this.paths=[["help"],["--help"],["-h"]]}async execute(){this.context.stdout.write(this.cli.usage(null))}};Ve();bt();Wt();var mC=class extends ut{constructor(){super(...arguments);this.leadingArgument=ge.String();this.args=ge.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!q.tryParseIdent(this.leadingArgument)){let r=K.resolve(this.context.cwd,ue.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};Ve();var yC=class extends ut{static{this.paths=[["-v"],["--version"]]}async execute(){this.context.stdout.write(`${un||""} +`)}};Ve();Ve();Wt();var EC=class extends ut{constructor(){super(...arguments);this.commandName=ge.String();this.args=ge.Proxy()}static{this.paths=[["exec"]]}static{this.usage=ot.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,locator:a}=await Tt.find(r,this.context.cwd);return await s.restoreInstallState(),await In.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:s})}};Ve();Wt();Ul();var IC=class extends ut{constructor(){super(...arguments);this.hash=ge.String({required:!1,validator:Jx(wE(),[tB(/^p[0-9a-f]{5}$/)])})}static{this.paths=[["explain","peer-requirements"]]}static{this.usage=ot.Usage({description:"explain a set of peer requirements",details:` + A peer requirement represents all peer requests that a subject must satisfy when providing a requested package to requesters. + + When the hash argument is specified, this command prints a detailed explanation of the peer requirement corresponding to the hash and whether it is satisfied or not. + + When used without arguments, this command lists all peer requirements and the corresponding hash that can be used to get detailed information about a given requirement. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding peer requirement for a hash","$0 explain peer-requirements p1a4ed"],["List all peer requirements","$0 explain peer-requirements"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Tt.find(r,this.context.cwd);return await s.restoreInstallState({restoreResolutions:!1}),await s.applyLightResolution(),typeof this.hash<"u"?await iSt(this.hash,s,{stdout:this.context.stdout}):await sSt(s,{stdout:this.context.stdout})}};async function iSt(t,e,r){let s=e.peerRequirementNodes.get(t);if(typeof s>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);let a=new Set,n=p=>a.has(p.requester.locatorHash)?{value:he.tuple(he.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:p.children.size>0?[{value:he.tuple(he.Type.NO_HINT,"...")}]:[]}:(a.add(p.requester.locatorHash),{value:he.tuple(he.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:Object.fromEntries(Array.from(p.children.values(),h=>[q.stringifyLocator(h.requester),n(h)]))}),c=e.peerWarnings.find(p=>p.hash===t);return(await Ot.start({configuration:e.configuration,stdout:r.stdout,includeFooter:!1,includePrefix:!1},async p=>{let h=he.mark(e.configuration),E=c?h.Cross:h.Check;if(p.reportInfo(0,`Package ${he.pretty(e.configuration,s.subject,he.Type.LOCATOR)} is requested to provide ${he.pretty(e.configuration,s.ident,he.Type.IDENT)} by its descendants`),p.reportSeparator(),p.reportInfo(0,he.pretty(e.configuration,s.subject,he.Type.LOCATOR)),ks.emitTree({children:Object.fromEntries(Array.from(s.requests.values(),C=>[q.stringifyLocator(C.requester),n(C)]))},{configuration:e.configuration,stdout:r.stdout,json:!1}),p.reportSeparator(),s.provided.range==="missing:"){let C=c?"":" , but all peer requests are optional";p.reportInfo(0,`${E} Package ${he.pretty(e.configuration,s.subject,he.Type.LOCATOR)} does not provide ${he.pretty(e.configuration,s.ident,he.Type.IDENT)}${C}.`)}else{let C=e.storedResolutions.get(s.provided.descriptorHash);if(!C)throw new Error("Assertion failed: Expected the descriptor to be registered");let S=e.storedPackages.get(C);if(!S)throw new Error("Assertion failed: Expected the package to be registered");p.reportInfo(0,`${E} Package ${he.pretty(e.configuration,s.subject,he.Type.LOCATOR)} provides ${he.pretty(e.configuration,s.ident,he.Type.IDENT)} with version ${q.prettyReference(e.configuration,S.version??"0.0.0")}, ${c?"which does not satisfy all requests.":"which satisfies all requests"}`),c?.type===3&&(c.range?p.reportInfo(0,` The combined requested range is ${he.pretty(e.configuration,c.range,he.Type.RANGE)}`):p.reportInfo(0," Unfortunately, the requested ranges have no overlap"))}})).exitCode()}async function sSt(t,e){return(await Ot.start({configuration:t.configuration,stdout:e.stdout,includeFooter:!1,includePrefix:!1},async s=>{let a=he.mark(t.configuration),n=je.sortMap(t.peerRequirementNodes,[([,c])=>q.stringifyLocator(c.subject),([,c])=>q.stringifyIdent(c.ident)]);for(let[,c]of n.values()){if(!c.root)continue;let f=t.peerWarnings.find(E=>E.hash===c.hash),p=[...q.allPeerRequests(c)],h;if(p.length>2?h=` and ${p.length-1} other dependencies`:p.length===2?h=" and 1 other dependency":h="",c.provided.range!=="missing:"){let E=t.storedResolutions.get(c.provided.descriptorHash);if(!E)throw new Error("Assertion failed: Expected the resolution to have been registered");let C=t.storedPackages.get(E);if(!C)throw new Error("Assertion failed: Expected the provided package to have been registered");let S=`${he.pretty(t.configuration,c.hash,he.Type.CODE)} \u2192 ${f?a.Cross:a.Check} ${q.prettyLocator(t.configuration,c.subject)} provides ${q.prettyLocator(t.configuration,C)} to ${q.prettyLocator(t.configuration,p[0].requester)}${h}`;f?s.reportWarning(0,S):s.reportInfo(0,S)}else{let E=`${he.pretty(t.configuration,c.hash,he.Type.CODE)} \u2192 ${f?a.Cross:a.Check} ${q.prettyLocator(t.configuration,c.subject)} doesn't provide ${q.prettyIdent(t.configuration,c.ident)} to ${q.prettyLocator(t.configuration,p[0].requester)}${h}`;f?s.reportWarning(0,E):s.reportInfo(0,E)}}})).exitCode()}Ve();Wt();Ul();Ve();Ve();bt();Wt();var oBe=et(fi()),CC=class extends ut{constructor(){super(...arguments);this.useYarnPath=ge.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=ge.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=ge.String()}static{this.paths=[["set","version"]]}static{this.usage=ot.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let f=r.sources.get("yarnPath");if(!f)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(K.contains(p,f))return 0}let s=()=>{if(typeof un>"u")throw new nt("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(f,p)=>({version:p,url:f.replace(/\{\}/g,p)});if(this.version==="self")a={url:s(),version:un??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await hS(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await hS(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.version))a={url:`file://${K.resolve(ue.toPortablePath(this.version))}`,version:"file"};else if(Or.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Or.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Or.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await oSt(r,this.version));else throw new nt(`Invalid version descriptor "${this.version}"`);return(await Ot.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async f=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(f.reportInfo(0,`Retrieving ${he.pretty(r,a.url,he.Type.PATH)}`),await le.readFilePromise(a.url.slice(h.length))):(f.reportInfo(0,`Downloading ${he.pretty(r,a.url,he.Type.URL)}`),await An.get(a.url,{configuration:r}))};await O5(r,a.version,p,{report:f,useYarnPath:this.useYarnPath})})).exitCode()}};async function oSt(t,e){let s=(await An.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>Or.satisfiesWithPrereleases(a,e));if(s.length===0)throw new nt(`No matching release found for range ${he.pretty(t,e,he.Type.RANGE)}.`);return s[0]}async function hS(t,e){let r=await An.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new nt(`Tag ${he.pretty(t,e,he.Type.RANGE)} not found`);return r.latest[e]}async function O5(t,e,r,{report:s,useYarnPath:a}){let n,c=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let te=await c();await le.mktempPromise(async ie=>{let Ae=K.join(ie,"yarn.cjs");await le.writeFilePromise(Ae,te);let{stdout:ce}=await Gr.execvp(process.execPath,[ue.fromPortablePath(Ae),"--version"],{cwd:ie,env:{...t.env,YARN_IGNORE_PATH:"1"}});if(e=ce.trim(),!oBe.default.valid(e))throw new Error(`Invalid semver version. ${he.pretty(t,"yarn --version",he.Type.CODE)} returned: +${e}`)})}let f=t.projectCwd??t.startingCwd,p=K.resolve(f,".yarn/releases"),h=K.resolve(p,`yarn-${e}.cjs`),E=K.relative(t.startingCwd,h),C=je.isTaggedYarnVersion(e),S=t.get("yarnPath"),P=!C,I=P||!!S||!!a;if(a===!1){if(P)throw new Yt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");I=!1}else!I&&!process.env.COREPACK_ROOT&&(s.reportWarning(0,`You don't seem to have ${he.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${he.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),I=!0);if(I){let te=await c();s.reportInfo(0,`Saving the new release in ${he.pretty(t,E,"magenta")}`),await le.removePromise(K.dirname(h)),await le.mkdirPromise(K.dirname(h),{recursive:!0}),await le.writeFilePromise(h,te,{mode:493}),await ze.updateConfiguration(f,{yarnPath:K.relative(f,h)})}else await le.removePromise(K.dirname(h)),await ze.updateConfiguration(f,{yarnPath:ze.deleteProperty});let R=await Ht.tryFind(f)||new Ht;R.packageManager=`yarn@${C?e:await hS(t,"stable")}`;let N={};R.exportTo(N);let U=K.join(f,Ht.fileName),W=`${JSON.stringify(N,null,R.indent)} +`;return await le.changeFilePromise(U,W,{automaticNewlines:!0}),{bundleVersion:e}}function aBe(t){return Dr[rk(t)]}var aSt=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function lSt(t){let r=`https://repo.yarnpkg.com/${je.isTaggedYarnVersion(un)?un:await hS(t,"canary")}/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx`,s=await An.get(r,{configuration:t});return new Map(Array.from(s.toString().matchAll(aSt),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=aBe(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var wC=class extends ut{constructor(){super(...arguments);this.code=ge.String({required:!1,validator:rB(wE(),[tB(/^YN[0-9]{4}$/)])});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["explain"]]}static{this.usage=ot.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let s=aBe(this.code),a=he.pretty(r,s,he.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),f=(await lSt(r)).get(this.code),p=typeof f<"u"?he.jsonOrPretty(this.json,r,he.tuple(he.Type.MARKDOWN,{text:f,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${he.jsonOrPretty(this.json,r,he.tuple(he.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:s,details:p})} +`):this.context.stdout.write(`${n} + +${p} +`)}else{let s={children:je.mapAndFilter(Object.entries(Dr),([a,n])=>Number.isNaN(Number(a))?je.mapAndFilter.skip:{label:Vf(Number(a)),value:he.tuple(he.Type.CODE,n)})};ks.emitTree(s,{configuration:r,stdout:this.context.stdout,json:this.json})}}};Ve();bt();Wt();var lBe=et(Sa()),BC=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=ge.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=ge.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=ge.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=ge.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=ge.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=ge.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}static{this.paths=[["info"]]}static{this.usage=ot.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a&&!this.all)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let c=new Set(this.extra);this.cache&&c.add("cache"),this.dependents&&c.add("dependents"),this.manifest&&c.add("manifest");let f=(ie,{recursive:Ae})=>{let ce=ie.anchoredLocator.locatorHash,me=new Map,pe=[ce];for(;pe.length>0;){let Be=pe.shift();if(me.has(Be))continue;let Ce=s.storedPackages.get(Be);if(typeof Ce>"u")throw new Error("Assertion failed: Expected the package to be registered");if(me.set(Be,Ce),q.isVirtualLocator(Ce)&&pe.push(q.devirtualizeLocator(Ce).locatorHash),!(!Ae&&Be!==ce))for(let g of Ce.dependencies.values()){let we=s.storedResolutions.get(g.descriptorHash);if(typeof we>"u")throw new Error("Assertion failed: Expected the resolution to be registered");pe.push(we)}}return me.values()},p=({recursive:ie})=>{let Ae=new Map;for(let ce of s.workspaces)for(let me of f(ce,{recursive:ie}))Ae.set(me.locatorHash,me);return Ae.values()},h=({all:ie,recursive:Ae})=>ie&&Ae?s.storedPackages.values():ie?p({recursive:Ae}):f(a,{recursive:Ae}),E=({all:ie,recursive:Ae})=>{let ce=h({all:ie,recursive:Ae}),me=this.patterns.map(Ce=>{let g=q.parseLocator(Ce),we=lBe.default.makeRe(q.stringifyIdent(g)),Ee=q.isVirtualLocator(g),fe=Ee?q.devirtualizeLocator(g):g;return se=>{let X=q.stringifyIdent(se);if(!we.test(X))return!1;if(g.reference==="unknown")return!0;let De=q.isVirtualLocator(se),Re=De?q.devirtualizeLocator(se):se;return!(Ee&&De&&g.reference!==se.reference||fe.reference!==Re.reference)}}),pe=je.sortMap([...ce],Ce=>q.stringifyLocator(Ce));return{selection:pe.filter(Ce=>me.length===0||me.some(g=>g(Ce))),sortedLookup:pe}},{selection:C,sortedLookup:S}=E({all:this.all,recursive:this.recursive});if(C.length===0)throw new nt("No package matched your request");let P=new Map;if(this.dependents)for(let ie of S)for(let Ae of ie.dependencies.values()){let ce=s.storedResolutions.get(Ae.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: Expected the resolution to be registered");je.getArrayWithDefault(P,ce).push(ie)}let I=new Map;for(let ie of S){if(!q.isVirtualLocator(ie))continue;let Ae=q.devirtualizeLocator(ie);je.getArrayWithDefault(I,Ae.locatorHash).push(ie)}let R={},N={children:R},U=r.makeFetcher(),W={project:s,fetcher:U,cache:n,checksums:s.storedChecksums,report:new Wi,cacheOptions:{skipIntegrityCheck:!0}},te=[async(ie,Ae,ce)=>{if(!Ae.has("manifest"))return;let me=await U.fetch(ie,W),pe;try{pe=await Ht.find(me.prefixPath,{baseFs:me.packageFs})}finally{me.releaseFs?.()}ce("Manifest",{License:he.tuple(he.Type.NO_HINT,pe.license),Homepage:he.tuple(he.Type.URL,pe.raw.homepage??null)})},async(ie,Ae,ce)=>{if(!Ae.has("cache"))return;let me=s.storedChecksums.get(ie.locatorHash)??null,pe=n.getLocatorPath(ie,me),Be;if(pe!==null)try{Be=await le.statPromise(pe)}catch{}let Ce=typeof Be<"u"?[Be.size,he.Type.SIZE]:void 0;ce("Cache",{Checksum:he.tuple(he.Type.NO_HINT,me),Path:he.tuple(he.Type.PATH,pe),Size:Ce})}];for(let ie of C){let Ae=q.isVirtualLocator(ie);if(!this.virtuals&&Ae)continue;let ce={},me={value:[ie,he.Type.LOCATOR],children:ce};if(R[q.stringifyLocator(ie)]=me,this.nameOnly){delete me.children;continue}let pe=I.get(ie.locatorHash);typeof pe<"u"&&(ce.Instances={label:"Instances",value:he.tuple(he.Type.NUMBER,pe.length)}),ce.Version={label:"Version",value:he.tuple(he.Type.NO_HINT,ie.version)};let Be=(g,we)=>{let Ee={};if(ce[g]=Ee,Array.isArray(we))Ee.children=we.map(fe=>({value:fe}));else{let fe={};Ee.children=fe;for(let[se,X]of Object.entries(we))typeof X>"u"||(fe[se]={label:se,value:X})}};if(!Ae){for(let g of te)await g(ie,c,Be);await r.triggerHook(g=>g.fetchPackageInfo,ie,c,Be)}ie.bin.size>0&&!Ae&&Be("Exported Binaries",[...ie.bin.keys()].map(g=>he.tuple(he.Type.PATH,g)));let Ce=P.get(ie.locatorHash);typeof Ce<"u"&&Ce.length>0&&Be("Dependents",Ce.map(g=>he.tuple(he.Type.LOCATOR,g))),ie.dependencies.size>0&&!Ae&&Be("Dependencies",[...ie.dependencies.values()].map(g=>{let we=s.storedResolutions.get(g.descriptorHash),Ee=typeof we<"u"?s.storedPackages.get(we)??null:null;return he.tuple(he.Type.RESOLUTION,{descriptor:g,locator:Ee})})),ie.peerDependencies.size>0&&Ae&&Be("Peer dependencies",[...ie.peerDependencies.values()].map(g=>{let we=ie.dependencies.get(g.identHash),Ee=typeof we<"u"?s.storedResolutions.get(we.descriptorHash)??null:null,fe=Ee!==null?s.storedPackages.get(Ee)??null:null;return he.tuple(he.Type.RESOLUTION,{descriptor:g,locator:fe})}))}ks.emitTree(N,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Ve();bt();Bc();var aF=et(Nd());Wt();var L5=et(fi());Ul();var cSt=[{selector:t=>t===-1,name:"nodeLinker",value:"node-modules"},{selector:t=>t!==-1&&t<8,name:"enableGlobalCache",value:!1},{selector:t=>t!==-1&&t<8,name:"compressionLevel",value:"mixed"}],vC=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=ge.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=ge.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=ge.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=ge.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=ge.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=ge.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ao(ec)});this.cacheFolder=ge.String("--cache-folder",{hidden:!0});this.frozenLockfile=ge.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=ge.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=ge.Boolean("--non-interactive",{hidden:!0});this.preferOffline=ge.Boolean("--prefer-offline",{hidden:!0});this.production=ge.Boolean("--production",{hidden:!0});this.registry=ge.String("--registry",{hidden:!0});this.silent=ge.Boolean("--silent",{hidden:!0});this.networkTimeout=ge.String("--network-timeout",{hidden:!0})}static{this.paths=[["install"],ot.Default]}static{this.usage=ot.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the `.pnp.cjs` file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your `.pnp.cjs` file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let s=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=await DI({configuration:r,stdout:this.context.stdout},[{option:this.ignoreEngines,message:"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",error:!aF.default.VERCEL},{option:this.registry,message:"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file"},{option:this.preferOffline,message:"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",error:!aF.default.VERCEL},{option:this.production,message:"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",error:!0},{option:this.nonInteractive,message:"The --non-interactive option is deprecated",error:!s},{option:this.frozenLockfile,message:"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",callback:()=>this.immutable=this.frozenLockfile},{option:this.cacheFolder,message:"The cache-folder option has been deprecated; use rc settings instead",error:!aF.default.NETLIFY}]);if(a!==null)return a;let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new nt(`${he.pretty(r,"--immutable",he.Type.CODE)} and ${he.pretty(r,"--immutable-cache",he.Type.CODE)} cannot be used with ${he.pretty(r,"--mode=update-lockfile",he.Type.CODE)}`);let c=(this.immutable??r.get("enableImmutableInstalls"))&&!n,f=this.immutableCache&&!n;if(r.projectCwd!==null){let R=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async N=>{let U=!1;await ASt(r,c)&&(N.reportInfo(48,"Automatically removed core plugins that are now builtins \u{1F44D}"),U=!0),await fSt(r,c)&&(N.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),U=!0),U&&N.reportSeparator()});if(R.hasErrors())return R.exitCode()}if(r.projectCwd!==null){let R=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async N=>{if(ze.telemetry?.isNew)ze.telemetry.commitTips(),N.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),N.reportInfo(65,`Run ${he.pretty(r,"yarn config set --home enableTelemetry 0",he.Type.CODE)} to disable`),N.reportSeparator();else if(ze.telemetry?.shouldShowTips){let U=await An.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0}).catch(()=>null);if(U!==null){let W=null;if(un!==null){let ie=L5.default.prerelease(un)?"canary":"stable",Ae=U.latest[ie];L5.default.gt(Ae,un)&&(W=[ie,Ae])}if(W)ze.telemetry.commitTips(),N.reportInfo(88,`${he.applyStyle(r,`A new ${W[0]} version of Yarn is available:`,he.Style.BOLD)} ${q.prettyReference(r,W[1])}!`),N.reportInfo(88,`Upgrade now by running ${he.pretty(r,`yarn set version ${W[1]}`,he.Type.CODE)}`),N.reportSeparator();else{let te=ze.telemetry.selectTip(U.tips);te&&(N.reportInfo(89,he.pretty(r,te.message,he.Type.MARKDOWN_INLINE)),te.url&&N.reportInfo(89,`Learn more at ${te.url}`),N.reportSeparator())}}}});if(R.hasErrors())return R.exitCode()}let{project:p,workspace:h}=await Tt.find(r,this.context.cwd),E=p.lockfileLastVersion;if(E!==null){let R=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async N=>{let U={};for(let W of cSt)W.selector(E)&&typeof r.sources.get(W.name)>"u"&&(r.use("",{[W.name]:W.value},p.cwd,{overwrite:!0}),U[W.name]=W.value);Object.keys(U).length>0&&(await ze.updateConfiguration(p.cwd,U),N.reportInfo(87,"Migrated your project to the latest Yarn version \u{1F680}"),N.reportSeparator())});if(R.hasErrors())return R.exitCode()}let C=await Jr.find(r,{immutable:f,check:this.checkCache});if(!h)throw new ar(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let S=r.get("enableHardenedMode");S&&typeof r.sources.get("enableHardenedMode")>"u"&&await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{R.reportWarning(0,"Yarn detected that the current workflow is executed from a public pull request. For safety the hardened mode has been enabled."),R.reportWarning(0,`It will prevent malicious lockfile manipulations, in exchange for a slower install time. You can opt-out if necessary; check our ${he.applyHyperlink(r,"documentation","https://yarnpkg.com/features/security#hardened-mode")} for more details.`),R.reportSeparator()}),(this.refreshLockfile??S)&&(p.lockfileNeedsRefresh=!0);let P=this.checkResolutions??S;return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,forceSectionAlignment:!0,includeLogs:!0,includeVersion:!0},async R=>{await p.install({cache:C,report:R,immutable:c,checkResolutions:P,mode:this.mode})})).exitCode()}},uSt="<<<<<<<";async function fSt(t,e){if(!t.projectCwd)return!1;let r=K.join(t.projectCwd,Er.lockfile);if(!await le.existsPromise(r)||!(await le.readFilePromise(r,"utf8")).includes(uSt))return!1;if(e)throw new Yt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Gr.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Gr.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Gr.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new Yt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async f=>{let p=await Gr.execvp("git",["show",`${f}:./${Er.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new Yt(83,`Git returned an error when trying to access the lockfile content in ${f}`);try{return ls(p.stdout)}catch{throw new Yt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(f=>!!f.__metadata);for(let f of n){if(f.__metadata.version<7)for(let p of Object.keys(f)){if(p==="__metadata")continue;let h=q.parseDescriptor(p,!0),E=t.normalizeDependency(h),C=q.stringifyDescriptor(E);C!==p&&(f[C]=f[p],delete f[p])}for(let p of Object.keys(f)){if(p==="__metadata")continue;let h=f[p].checksum;typeof h>"u"||h.includes("/")||(f[p].checksum=`${f.__metadata.cacheKey}/${h}`)}}let c=Object.assign({},...n);c.__metadata.version=`${Math.min(...n.map(f=>parseInt(f.__metadata.version??0)))}`,c.__metadata.cacheKey="merged";for(let[f,p]of Object.entries(c))typeof p=="string"&&delete c[f];return await le.changeFilePromise(r,il(c),{automaticNewlines:!0}),!0}async function ASt(t,e){if(!t.projectCwd)return!1;let r=[],s=K.join(t.projectCwd,".yarn/plugins/@yarnpkg");return await ze.updateConfiguration(t.projectCwd,{plugins:n=>{if(!Array.isArray(n))return n;let c=n.filter(f=>{if(!f.path)return!0;let p=K.resolve(t.projectCwd,f.path),h=Ev.has(f.spec)&&K.contains(s,p);return h&&r.push(p),!h});return c.length===0?ze.deleteProperty:c.length===n.length?n:c}},{immutable:e})?(await Promise.all(r.map(async n=>{await le.removePromise(n)})),!0):!1}Ve();bt();Wt();var SC=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=ge.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=ge.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=ge.Rest()}static{this.paths=[["link"]]}static{this.usage=ot.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=s.topLevelWorkspace,f=[];for(let p of this.destinations){let h=K.resolve(this.context.cwd,ue.toPortablePath(p)),E=await ze.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:C,workspace:S}=await Tt.find(E,h);if(s.cwd===C.cwd)throw new nt(`Invalid destination '${p}'; Can't link the project to itself`);if(!S)throw new ar(C.cwd,h);if(this.all){let P=!1;for(let I of C.workspaces)I.manifest.name&&(!I.manifest.private||this.private)&&(f.push(I),P=!0);if(!P)throw new nt(`No workspace found to be linked in the target project: ${p}`)}else{if(!S.manifest.name)throw new nt(`The target workspace at '${p}' doesn't have a name and thus cannot be linked`);if(S.manifest.private&&!this.private)throw new nt(`The target workspace at '${p}' is marked private - use the --private flag to link it anyway`);f.push(S)}}for(let p of f){let h=q.stringifyIdent(p.anchoredLocator),E=this.relative?K.relative(s.cwd,p.cwd):p.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${E}`})}return await s.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Wt();var DC=class extends ut{constructor(){super(...arguments);this.args=ge.Proxy()}static{this.paths=[["node"]]}static{this.usage=ot.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]})}async execute(){return this.cli.run(["exec","node",...this.args])}};Ve();Wt();var bC=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","check"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` + Check only the plugins from https. + + If this command detects any plugin differences in the CI environment, it will throw an error. + `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=await ze.findRcFiles(this.context.cwd);return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{for(let c of s)if(c.data?.plugins)for(let f of c.data.plugins){if(!f.checksum||!f.spec.match(/^https?:/))continue;let p=await An.get(f.spec,{configuration:r}),h=Nn.makeHash(p);if(f.checksum===h)continue;let E=he.pretty(r,f.path,he.Type.PATH),C=he.pretty(r,f.spec,he.Type.URL),S=`${E} is different from the file provided by ${C}`;n.reportJson({...f,newChecksum:h}),n.reportError(0,S)}})).exitCode()}};Ve();Ve();bt();Wt();var pBe=ye("os");Ve();bt();Wt();var cBe=ye("os");Ve();Bc();Wt();var pSt="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Dm(t,e){let r=await An.get(pSt,{configuration:t}),s=ls(r.toString());return Object.fromEntries(Object.entries(s).filter(([a,n])=>!e||Or.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var PC=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","list"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Dm(r,un);for(let[c,{experimental:f,...p}]of Object.entries(n)){let h=c;f&&(h+=" [experimental]"),a.reportJson({name:c,experimental:f,...p}),a.reportInfo(null,h)}})).exitCode()}};var hSt=/^[0-9]+$/,gSt=process.platform==="win32";function uBe(t){return hSt.test(t)?`pull/${t}/head`:t}var dSt=({repository:t,branch:e},r)=>[["git","init",ue.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",uBe(e)],["git","reset","--hard","FETCH_HEAD"]],mSt=({branch:t})=>[["git","fetch","origin","--depth=1",uBe(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx","-e","packages/yarnpkg-cli/bundles"]],ySt=({plugins:t,noMinify:e},r,s)=>[["yarn","build:cli",...new Array().concat(...t.map(a=>["--plugin",K.resolve(s,a)])),...e?["--no-minify"]:[],"|"],[gSt?"move":"mv","packages/yarnpkg-cli/bundles/yarn.js",ue.fromPortablePath(r),"|"]],xC=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=ge.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"If set, the bundle will be built but not added to the project"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=ge.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}static{this.paths=[["set","version","from","sources"]]}static{this.usage=ot.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Tt.find(r,this.context.cwd),a=typeof this.installPath<"u"?K.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):K.resolve(ue.toPortablePath((0,cBe.tmpdir)()),"yarnpkg-sources",Nn.makeHash(this.repository).slice(0,6));return(await Ot.start({configuration:r,stdout:this.context.stdout},async c=>{await M5(this,{configuration:r,report:c,target:a}),c.reportSeparator(),c.reportInfo(0,"Building a fresh bundle"),c.reportSeparator();let f=await Gr.execvp("git",["rev-parse","--short","HEAD"],{cwd:a,strict:!0}),p=K.join(a,`packages/yarnpkg-cli/bundles/yarn-${f.stdout.trim()}.js`);le.existsSync(p)||(await gS(ySt(this,p,a),{configuration:r,context:this.context,target:a}),c.reportSeparator());let h=await le.readFilePromise(p);if(!this.dryRun){let{bundleVersion:E}=await O5(r,null,async()=>h,{report:c});this.skipPlugins||await ESt(this,E,{project:s,report:c,target:a})}})).exitCode()}};async function gS(t,{configuration:e,context:r,target:s}){for(let[a,...n]of t){let c=n[n.length-1]==="|";if(c&&n.pop(),c)await Gr.pipevp(a,n,{cwd:s,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${he.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")} +`);try{await Gr.execvp(a,n,{cwd:s,strict:!0})}catch(f){throw r.stdout.write(f.stdout||f.stack),f}}}}async function M5(t,{configuration:e,report:r,target:s}){let a=!1;if(!t.force&&le.existsSync(K.join(s,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await gS(mSt(t),{configuration:e,context:t.context,target:s}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await le.removePromise(s),await le.mkdirPromise(s,{recursive:!0}),await gS(dSt(t,s),{configuration:e,context:t.context,target:s}))}async function ESt(t,e,{project:r,report:s,target:a}){let n=await Dm(r.configuration,e),c=new Set(Object.keys(n));for(let f of r.configuration.plugins.keys())c.has(f)&&await _5(f,t,{project:r,report:s,target:a})}Ve();Ve();bt();Wt();var fBe=et(fi()),ABe=ye("vm");var kC=class extends ut{constructor(){super(...arguments);this.name=ge.String();this.checksum=ge.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}static{this.paths=[["plugin","import"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);return(await Ot.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await Tt.find(r,this.context.cwd),c,f;if(this.name.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.name)){let p=K.resolve(this.context.cwd,ue.toPortablePath(this.name));a.reportInfo(0,`Reading ${he.pretty(r,p,he.Type.PATH)}`),c=K.relative(n.cwd,p),f=await le.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new URL(this.name)}catch{throw new Yt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}c=this.name,p=this.name}else{let h=q.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!fBe.default.valid(h.reference))throw new Yt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let E=q.stringifyIdent(h),C=await Dm(r,un);if(!Object.hasOwn(C,E)){let S=`Couldn't find a plugin named ${q.prettyIdent(r,h)} on the remote registry. +`;throw r.plugins.has(E)?S+=`A plugin named ${q.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:S+=`Note that only the plugins referenced on our website (${he.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",he.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${he.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",he.Type.URL)}).`,new Yt(51,S)}c=E,p=C[E].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${E}/${h.reference}/`):un!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${un}/`))}a.reportInfo(0,`Downloading ${he.pretty(r,p,"green")}`),f=await An.get(p,{configuration:r})}await U5(c,f,{checksum:this.checksum,project:n,report:a})})).exitCode()}};async function U5(t,e,{checksum:r=!0,project:s,report:a}){let{configuration:n}=s,c={},f={exports:c};(0,ABe.runInNewContext)(e.toString(),{module:f,exports:c});let h=`.yarn/plugins/${f.exports.name}.cjs`,E=K.resolve(s.cwd,h);a.reportInfo(0,`Saving the new plugin in ${he.pretty(n,h,"magenta")}`),await le.mkdirPromise(K.dirname(E),{recursive:!0}),await le.writeFilePromise(E,e);let C={path:h,spec:t};r&&(C.checksum=Nn.makeHash(e)),await ze.addPlugin(s.cwd,[C])}var ISt=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],QC=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=ge.String()}static{this.paths=[["plugin","import","from","sources"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=typeof this.installPath<"u"?K.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):K.resolve(ue.toPortablePath((0,pBe.tmpdir)()),"yarnpkg-sources",Nn.makeHash(this.repository).slice(0,6));return(await Ot.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:c}=await Tt.find(r,this.context.cwd),f=q.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=q.stringifyIdent(f),h=await Dm(r,un);if(!Object.hasOwn(h,p))throw new Yt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let E=p;await M5(this,{configuration:r,report:n,target:s}),await _5(E,this,{project:c,report:n,target:s})})).exitCode()}};async function _5(t,{context:e,noMinify:r},{project:s,report:a,target:n}){let c=t.replace(/@yarnpkg\//,""),{configuration:f}=s;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${c}`),a.reportSeparator(),await gS(ISt({pluginName:c,noMinify:r},n),{configuration:f,context:e,target:n}),a.reportSeparator();let p=K.resolve(n,`packages/${c}/bundles/${t}.js`),h=await le.readFilePromise(p);await U5(t,h,{project:s,report:a})}Ve();bt();Wt();var TC=class extends ut{constructor(){super(...arguments);this.name=ge.String()}static{this.paths=[["plugin","remove"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Tt.find(r,this.context.cwd);return(await Ot.start({configuration:r,stdout:this.context.stdout},async n=>{let c=this.name,f=q.parseIdent(c);if(!r.plugins.has(c))throw new nt(`${q.prettyIdent(r,f)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${c}.cjs`,h=K.resolve(s.cwd,p);le.existsSync(h)&&(n.reportInfo(0,`Removing ${he.pretty(r,p,he.Type.PATH)}...`),await le.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await ze.updateConfiguration(s.cwd,{plugins:E=>{if(!Array.isArray(E))return E;let C=E.filter(S=>S.path!==p);return C.length===0?ze.deleteProperty:C.length===E.length?E:C}})})).exitCode()}};Ve();Wt();var RC=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","runtime"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let c=this.context.plugins.plugins.has(n),f=n;c&&(f+=" [builtin]"),a.reportJson({name:n,builtin:c}),a.reportInfo(null,`${f}`)}})).exitCode()}};Ve();Ve();Wt();var FC=class extends ut{constructor(){super(...arguments);this.idents=ge.Rest()}static{this.paths=[["rebuild"]]}static{this.usage=ot.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);let c=new Set;for(let f of this.idents)c.add(q.parseIdent(f).identHash);if(await s.restoreInstallState({restoreResolutions:!1}),await s.resolveEverything({cache:n,report:new Wi}),c.size>0)for(let f of s.storedPackages.values())c.has(f.identHash)&&(s.storedBuildState.delete(f.locatorHash),s.skippedBuilds.delete(f.locatorHash));else s.storedBuildState.clear(),s.skippedBuilds.clear();return await s.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};Ve();Ve();Ve();Wt();var H5=et(Sa());Ul();var NC=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ao(ec)});this.patterns=ge.Rest()}static{this.paths=[["remove"]]}static{this.usage=ot.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=this.all?s.workspaces:[a],f=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,E=[];for(let I of this.patterns){let R=!1,N=q.parseIdent(I);for(let U of c){let W=[...U.manifest.peerDependenciesMeta.keys()];for(let te of(0,H5.default)(W,I))U.manifest.peerDependenciesMeta.delete(te),h=!0,R=!0;for(let te of f){let ie=U.manifest.getForScope(te),Ae=[...ie.values()].map(ce=>q.stringifyIdent(ce));for(let ce of(0,H5.default)(Ae,q.stringifyIdent(N))){let{identHash:me}=q.parseIdent(ce),pe=ie.get(me);if(typeof pe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");U.manifest[te].delete(me),E.push([U,te,pe]),h=!0,R=!0}}}R||p.push(I)}let C=p.length>1?"Patterns":"Pattern",S=p.length>1?"don't":"doesn't",P=this.all?"any":"this";if(p.length>0)throw new nt(`${C} ${he.prettyList(r,p,he.Type.CODE)} ${S} match any packages referenced by ${P} workspace`);return h?(await r.triggerMultipleHooks(I=>I.afterWorkspaceDependencyRemoval,E),await s.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})):0}};Ve();Ve();Wt();var hBe=ye("util"),OC=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["run"]]}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);return(await Ot.start({configuration:r,stdout:this.context.stdout,json:this.json},async c=>{let f=a.manifest.scripts,p=je.sortMap(f.keys(),C=>C),h={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},E=p.reduce((C,S)=>Math.max(C,S.length),0);for(let[C,S]of f.entries())c.reportInfo(null,`${C.padEnd(E," ")} ${(0,hBe.inspect)(S,h)}`),c.reportJson({name:C,script:S})})).exitCode()}};Ve();Ve();Wt();var LC=class extends ut{constructor(){super(...arguments);this.inspect=ge.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=ge.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=ge.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=ge.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=ge.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=ge.Boolean("--silent",{hidden:!0});this.scriptName=ge.String();this.args=ge.Proxy()}static{this.paths=[["run"]]}static{this.usage=ot.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a,locator:n}=await Tt.find(r,this.context.cwd);await s.restoreInstallState();let c=this.topLevel?s.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await In.hasPackageScript(c,this.scriptName,{project:s}))return await In.executePackageScript(c,this.scriptName,this.args,{project:s,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let f=await In.getPackageAccessibleBinaries(c,{project:s});if(f.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await In.executePackageAccessibleBinary(c,this.scriptName,this.args,{cwd:this.context.cwd,project:s,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:f})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let E=(await Promise.all(s.workspaces.map(async C=>C.manifest.scripts.has(this.scriptName)?C:null))).filter(C=>C!==null);if(E.length===1)return await In.executeWorkspaceScript(E[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new nt(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${q.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new nt(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${q.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new nt("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[E,C]of tC)for(let S of C)if(h.length>=S.length&&JSON.stringify(h.slice(0,S.length))===JSON.stringify(S))throw new nt(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${E} plugin. You can install it with "yarn plugin import ${E}".`);throw new nt(`Couldn't find a script named "${this.scriptName}".`)}}};Ve();Ve();Wt();var MC=class extends ut{constructor(){super(...arguments);this.descriptor=ge.String();this.resolution=ge.String()}static{this.paths=[["set","resolution"]]}static{this.usage=ot.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, edit the `resolutions` field in your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 npm:1.5.0"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(await s.restoreInstallState({restoreResolutions:!1}),!a)throw new ar(s.cwd,this.context.cwd);let c=q.parseDescriptor(this.descriptor,!0),f=q.makeDescriptor(c,this.resolution);return s.storedDescriptors.set(c.descriptorHash,c),s.storedDescriptors.set(f.descriptorHash,f),s.resolutionAliases.set(c.descriptorHash,f.descriptorHash),await s.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Ve();bt();Wt();var gBe=et(Sa()),_C=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=ge.Rest()}static{this.paths=[["unlink"]]}static{this.usage=ot.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);let c=s.topLevelWorkspace,f=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:p,reference:h}of c.manifest.resolutions)h.startsWith("portal:")&&f.add(p.descriptor.fullName);if(this.leadingArguments.length>0)for(let p of this.leadingArguments){let h=K.resolve(this.context.cwd,ue.toPortablePath(p));if(je.isPathLike(p)){let E=await ze.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:C,workspace:S}=await Tt.find(E,h);if(!S)throw new ar(C.cwd,h);if(this.all){for(let P of C.workspaces)P.manifest.name&&f.add(q.stringifyIdent(P.anchoredLocator));if(f.size===0)throw new nt("No workspace found to be unlinked in the target project")}else{if(!S.manifest.name)throw new nt("The target workspace doesn't have a name and thus cannot be unlinked");f.add(q.stringifyIdent(S.anchoredLocator))}}else{let E=[...c.manifest.resolutions.map(({pattern:C})=>C.descriptor.fullName)];for(let C of(0,gBe.default)(E,p))f.add(C)}}return c.manifest.resolutions=c.manifest.resolutions.filter(({pattern:p})=>!f.has(p.descriptor.fullName)),await s.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};Ve();Ve();Ve();Wt();var dBe=et(lS()),j5=et(Sa());Ul();var UC=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ao(ec)});this.patterns=ge.Rest()}static{this.paths=[["up"]]}static{this.usage=ot.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]})}static{this.schema=[iB("recursive",Wf.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})]}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=[...s.storedDescriptors.values()],f=c.map(E=>q.stringifyIdent(E)),p=new Set;for(let E of this.patterns){if(q.parseDescriptor(E).range!=="unknown")throw new nt("Ranges aren't allowed when using --recursive");for(let C of(0,j5.default)(f,E)){let S=q.parseIdent(C);p.add(S.identHash)}}let h=c.filter(E=>p.has(E.identHash));for(let E of h)s.storedDescriptors.delete(E.descriptorHash),s.storedResolutions.delete(E.descriptorHash);return await s.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}async executeUpClassic(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=this.fixed,f=r.isInteractive({interactive:this.interactive,stdout:this.context.stdout}),p=uS(this,s),h=f?["keep","reuse","project","latest"]:["project","latest"],E=[],C=[];for(let N of this.patterns){let U=!1,W=q.parseDescriptor(N),te=q.stringifyIdent(W);for(let ie of s.workspaces)for(let Ae of["dependencies","devDependencies"]){let me=[...ie.manifest.getForScope(Ae).values()].map(Be=>q.stringifyIdent(Be)),pe=te==="*"?me:(0,j5.default)(me,te);for(let Be of pe){let Ce=q.parseIdent(Be),g=ie.manifest[Ae].get(Ce.identHash);if(typeof g>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let we=q.makeDescriptor(Ce,W.range);E.push(Promise.resolve().then(async()=>[ie,Ae,g,await fS(we,{project:s,workspace:ie,cache:n,target:Ae,fixed:c,modifier:p,strategies:h})])),U=!0}}U||C.push(N)}if(C.length>1)throw new nt(`Patterns ${he.prettyList(r,C,he.Type.CODE)} don't match any packages referenced by any workspace`);if(C.length>0)throw new nt(`Pattern ${he.prettyList(r,C,he.Type.CODE)} doesn't match any packages referenced by any workspace`);let S=await Promise.all(E),P=await uA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async N=>{for(let[,,U,{suggestions:W,rejections:te}]of S){let ie=W.filter(Ae=>Ae.descriptor!==null);if(ie.length===0){let[Ae]=te;if(typeof Ae>"u")throw new Error("Assertion failed: Expected an error to have been set");let ce=this.cli.error(Ae);s.configuration.get("enableNetwork")?N.reportError(27,`${q.prettyDescriptor(r,U)} can't be resolved to a satisfying range + +${ce}`):N.reportError(27,`${q.prettyDescriptor(r,U)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${ce}`)}else ie.length>1&&!f&&N.reportError(27,`${q.prettyDescriptor(r,U)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(P.hasErrors())return P.exitCode();let I=!1,R=[];for(let[N,U,,{suggestions:W}]of S){let te,ie=W.filter(pe=>pe.descriptor!==null),Ae=ie[0].descriptor,ce=ie.every(pe=>q.areDescriptorsEqual(pe.descriptor,Ae));ie.length===1||ce?te=Ae:(I=!0,{answer:te}=await(0,dBe.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${q.prettyWorkspace(r,N)} \u276F ${U}?`,choices:W.map(({descriptor:pe,name:Be,reason:Ce})=>pe?{name:Be,hint:Ce,descriptor:pe}:{name:Be,hint:Ce,disabled:!0}),onCancel:()=>process.exit(130),result(pe){return this.find(pe,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let me=N.manifest[U].get(te.identHash);if(typeof me>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(me.descriptorHash!==te.descriptorHash)N.manifest[U].set(te.identHash,te),R.push([N,U,me,te]);else{let pe=r.makeResolver(),Be={project:s,resolver:pe},Ce=r.normalizeDependency(me),g=pe.bindDescriptor(Ce,N.anchoredLocator,Be);s.forgetResolution(g)}}return await r.triggerMultipleHooks(N=>N.afterWorkspaceDependencyReplacement,R),I&&this.context.stdout.write(` +`),await s.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}};Ve();Ve();Ve();Wt();var HC=class extends ut{constructor(){super(...arguments);this.recursive=ge.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=ge.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=ge.String()}static{this.paths=[["why"]]}static{this.usage=ot.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let n=q.parseIdent(this.package).identHash,c=this.recursive?wSt(s,n,{configuration:r,peers:this.peers}):CSt(s,n,{configuration:r,peers:this.peers});ks.emitTree(c,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};function CSt(t,e,{configuration:r,peers:s}){let a=je.sortMap(t.storedPackages.values(),f=>q.stringifyLocator(f)),n={},c={children:n};for(let f of a){let p={};for(let E of f.dependencies.values()){if(!s&&f.peerDependencies.has(E.identHash))continue;let C=t.storedResolutions.get(E.descriptorHash);if(!C)throw new Error("Assertion failed: The resolution should have been registered");let S=t.storedPackages.get(C);if(!S)throw new Error("Assertion failed: The package should have been registered");if(S.identHash!==e)continue;{let I=q.stringifyLocator(f);n[I]={value:[f,he.Type.LOCATOR],children:p}}let P=q.stringifyLocator(S);p[P]={value:[{descriptor:E,locator:S},he.Type.DEPENDENT]}}}return c}function wSt(t,e,{configuration:r,peers:s}){let a=je.sortMap(t.workspaces,S=>q.stringifyLocator(S.anchoredLocator)),n=new Set,c=new Set,f=S=>{if(n.has(S.locatorHash))return c.has(S.locatorHash);if(n.add(S.locatorHash),S.identHash===e)return c.add(S.locatorHash),!0;let P=!1;S.identHash===e&&(P=!0);for(let I of S.dependencies.values()){if(!s&&S.peerDependencies.has(I.identHash))continue;let R=t.storedResolutions.get(I.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(R);if(!N)throw new Error("Assertion failed: The package should have been registered");f(N)&&(P=!0)}return P&&c.add(S.locatorHash),P};for(let S of a)f(S.anchoredPackage);let p=new Set,h={},E={children:h},C=(S,P,I)=>{if(!c.has(S.locatorHash))return;let R=I!==null?he.tuple(he.Type.DEPENDENT,{locator:S,descriptor:I}):he.tuple(he.Type.LOCATOR,S),N={},U={value:R,children:N},W=q.stringifyLocator(S);if(P[W]=U,!(I!==null&&t.tryWorkspaceByLocator(S))&&!p.has(S.locatorHash)){p.add(S.locatorHash);for(let te of S.dependencies.values()){if(!s&&S.peerDependencies.has(te.identHash))continue;let ie=t.storedResolutions.get(te.descriptorHash);if(!ie)throw new Error("Assertion failed: The resolution should have been registered");let Ae=t.storedPackages.get(ie);if(!Ae)throw new Error("Assertion failed: The package should have been registered");C(Ae,N,te)}}};for(let S of a)C(S.anchoredPackage,h,null);return E}Ve();var X5={};Vt(X5,{GitFetcher:()=>mS,GitResolver:()=>yS,default:()=>qSt,gitUtils:()=>Qa});Ve();bt();var Qa={};Vt(Qa,{TreeishProtocols:()=>dS,clone:()=>Z5,fetchBase:()=>MBe,fetchChangedFiles:()=>_Be,fetchChangedWorkspaces:()=>HSt,fetchRoot:()=>LBe,isGitUrl:()=>GC,lsRemote:()=>OBe,normalizeLocator:()=>USt,normalizeRepoUrl:()=>jC,resolveUrl:()=>z5,splitRepoUrl:()=>Y0,validateRepoUrl:()=>J5});Ve();bt();Wt();var RBe=et(kBe()),FBe=et(d6()),qC=et(ye("querystring")),V5=et(fi());function Y5(t,e,r){let s=t.indexOf(r);return t.lastIndexOf(e,s>-1?s:1/0)}function QBe(t){try{return new URL(t)}catch{return}}function MSt(t){let e=Y5(t,"@","#"),r=Y5(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),Y5(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function TBe(t){return QBe(t)||QBe(MSt(t))}function jC(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=TBe(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function NBe(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var _St=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],dS=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(dS||{});function GC(t){return t?_St.some(e=>!!t.match(e)):!1}function Y0(t){t=jC(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),s=t.slice(e+1);if(s.match(/^[a-z]+=/)){let a=qC.default.parse(s);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(dS).find(p=>Object.hasOwn(a,p)),[c,f]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(dS))delete a[p];return{repo:r,treeish:{protocol:c,request:f},extra:a}}else{let a=s.indexOf(":"),[n,c]=a===-1?[null,s]:[s.slice(0,a),s.slice(a+1)];return{repo:r,treeish:{protocol:n,request:c},extra:{}}}}function USt(t){return q.makeLocator(t,jC(t.reference))}function J5(t,{configuration:e}){let r=jC(t,{git:!0});if(!An.getNetworkSettings(`https://${(0,RBe.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Yt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function OBe(t,e){let r=J5(t,{configuration:e}),s=await K5("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:NBe()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,c;for(;(c=n.exec(s.stdout))!==null;)a.set(c[2],c[1]);return a}async function z5(t,e){let{repo:r,treeish:{protocol:s,request:a},extra:n}=Y0(t),c=await OBe(r,e),f=(h,E)=>{switch(h){case"commit":{if(!E.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return qC.default.stringify({...n,commit:E})}case"head":{let C=c.get(E==="HEAD"?E:`refs/heads/${E}`);if(typeof C>"u")throw new Error(`Unknown head ("${E}")`);return qC.default.stringify({...n,commit:C})}case"tag":{let C=c.get(`refs/tags/${E}`);if(typeof C>"u")throw new Error(`Unknown tag ("${E}")`);return qC.default.stringify({...n,commit:C})}case"semver":{let C=Or.validRange(E);if(!C)throw new Error(`Invalid range ("${E}")`);let S=new Map([...c.entries()].filter(([I])=>I.startsWith("refs/tags/")).map(([I,R])=>[V5.default.parse(I.slice(10)),R]).filter(I=>I[0]!==null)),P=V5.default.maxSatisfying([...S.keys()],C);if(P===null)throw new Error(`No matching range ("${E}")`);return qC.default.stringify({...n,commit:S.get(P)})}case null:{let C;if((C=p("commit",E))!==null||(C=p("tag",E))!==null||(C=p("head",E))!==null)return C;throw E.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,E)=>{try{return f(h,E)}catch{return null}};return jC(`${r}#${f(s,a)}`)}async function Z5(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:s,request:a}}=Y0(t);if(s!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=J5(r,{configuration:e}),c=await le.mktempPromise(),f={cwd:c,env:NBe()};return await K5("cloning the repository",["clone","-c core.autocrlf=false",n,ue.fromPortablePath(c)],f,{configuration:e,normalizedRepoUrl:n}),await K5("switching branch",["checkout",`${a}`],f,{configuration:e,normalizedRepoUrl:n}),c})}async function LBe(t){let e,r=t;do{if(e=r,await le.existsPromise(K.join(e,".git")))return e;r=K.dirname(e)}while(r!==e);return null}async function MBe(t,{baseRefs:e}){if(e.length===0)throw new nt("Can't run this command with zero base refs specified.");let r=[];for(let f of e){let{code:p}=await Gr.execvp("git",["merge-base",f,"HEAD"],{cwd:t});p===0&&r.push(f)}if(r.length===0)throw new nt(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:s}=await Gr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=s.trim(),{stdout:n}=await Gr.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),c=n.trim();return{hash:a,title:c}}async function _Be(t,{base:e,project:r}){let s=je.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Gr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>K.resolve(t,ue.toPortablePath(h))),{stdout:c}=await Gr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),f=c.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>K.resolve(t,ue.toPortablePath(h))),p=[...new Set([...n,...f].sort())];return s?p.filter(h=>!K.relative(r.cwd,h).match(s)):p}async function HSt({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new nt("This command can only be run from within a Yarn project");let r=[K.resolve(e.cwd,Er.lockfile),K.resolve(e.cwd,e.configuration.get("cacheFolder")),K.resolve(e.cwd,e.configuration.get("installStatePath")),K.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(c=>c.populateYarnPaths,e,c=>{c!=null&&r.push(c)});let s=await LBe(e.configuration.projectCwd);if(s==null)throw new nt("This command can only be run on Git repositories");let a=await MBe(s,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await _Be(s,{base:a.hash,project:e});return new Set(je.mapAndFilter(n,c=>{let f=e.tryWorkspaceByFilePath(c);return f===null?je.mapAndFilter.skip:r.some(p=>c.startsWith(p))?je.mapAndFilter.skip:f}))}async function K5(t,e,r,{configuration:s,normalizedRepoUrl:a}){try{return await Gr.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Gr.ExecError))throw n;let c=n.reportExtra,f=n.stderr.toString();throw new Yt(1,`Failed ${t}`,p=>{p.reportError(1,` ${he.prettyField(s,{label:"Repository URL",value:he.tuple(he.Type.URL,a)})}`);for(let h of f.matchAll(/^(.+?): (.*)$/gm)){let[,E,C]=h;E=E.toLowerCase();let S=E==="error"?"Error":`${(0,FBe.default)(E)} Error`;p.reportError(1,` ${he.prettyField(s,{label:S,value:he.tuple(he.Type.NO_HINT,C)})}`)}c?.(p)})}}var mS=class{supports(e,r){return GC(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,a=new Map(r.checksums);a.set(e.locatorHash,s);let n={...r,checksums:a},c=await this.downloadHosted(e,n);if(c!==null)return c;let[f,p,h]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(e,n),...r.cacheOptions});return{packageFs:f,releaseFs:p,prefixPath:q.getIdentVendorPath(e),checksum:h}}async downloadHosted(e,r){return r.project.configuration.reduceHook(s=>s.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let s=Y0(e.reference),a=await Z5(e.reference,r.project.configuration),n=K.resolve(a,s.extra.cwd??vt.dot),c=K.join(n,"package.tgz");await In.prepareExternalProject(n,c,{configuration:r.project.configuration,report:r.report,workspace:s.extra.workspace,locator:e});let f=await le.readFilePromise(c);return await je.releaseAfterUseAsync(async()=>await hs.convertToZip(f,{configuration:r.project.configuration,prefixPath:q.getIdentVendorPath(e),stripComponents:1}))}};Ve();Ve();var yS=class{supportsDescriptor(e,r){return GC(e.range)}supportsLocator(e,r){return GC(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){let a=await z5(e.range,s.project.configuration);return[q.makeLocator(e,a)]}async getSatisfying(e,r,s,a){let n=Y0(e.range);return{locators:s.filter(f=>{if(f.identHash!==e.identHash)return!1;let p=Y0(f.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await je.releaseAfterUseAsync(async()=>await Ht.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var jSt={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[mS],resolvers:[yS]};var qSt=jSt;Wt();var WC=class extends ut{constructor(){super(...arguments);this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=ge.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["workspaces","list"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Tt.find(r,this.context.cwd);return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let c=this.since?await Qa.fetchChangedWorkspaces({ref:this.since,project:s}):s.workspaces,f=new Set(c);if(this.recursive)for(let p of[...c].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)f.add(h);for(let p of f){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let E;if(this.verbose){let C=new Set,S=new Set;for(let P of Ht.hardDependencies)for(let[I,R]of h.getForScope(P)){let N=s.tryWorkspaceByDescriptor(R);N===null?s.workspacesByIdent.has(I)&&S.add(R):C.add(N)}E={workspaceDependencies:Array.from(C).map(P=>P.relativeCwd),mismatchedWorkspaceDependencies:Array.from(S).map(P=>q.stringifyDescriptor(P))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?q.stringifyIdent(h.name):null,...E})}})).exitCode()}};Ve();Ve();Wt();var YC=class extends ut{constructor(){super(...arguments);this.workspaceName=ge.String();this.commandName=ge.String();this.args=ge.Proxy()}static{this.paths=[["workspace"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);let n=s.workspaces,c=new Map(n.map(p=>[q.stringifyIdent(p.anchoredLocator),p])),f=c.get(this.workspaceName);if(f===void 0){let p=Array.from(c.keys()).sort();throw new nt(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${p.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:f.cwd})}};var GSt={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:UBe.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[cC,uC,fC,AC,MC,xC,CC,WC,gC,dC,mC,yC,aC,lC,pC,hC,EC,IC,wC,BC,vC,SC,_C,DC,bC,QC,kC,TC,PC,RC,FC,NC,OC,LC,UC,HC,YC]},WSt=GSt;var i9={};Vt(i9,{default:()=>VSt});Ve();var Qt={optional:!0},e9=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{"supports-color":Qt}}],["got@<11",{dependencies:{"@types/responselike":"^1.0.0","@types/keyv":"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{"@types/keyv":"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{"vscode-jsonrpc":"^5.0.1","vscode-languageserver-protocol":"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{"postcss-html":Qt,"postcss-jsx":Qt,"postcss-less":Qt,"postcss-markdown":Qt,"postcss-scss":Qt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{"tiny-warning":"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Qt}}],["snowpack@>=3.3.0",{dependencies:{"node-gyp":"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Qt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Qt,"vue-template-compiler":Qt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Qt,"utf-8-validate":Qt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{"babel-polyfill":"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{"cross-spawn":"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{"prop-types":"^15.7.2"}}],["@rebass/forms@*",{dependencies:{"@styled-system/should-forward-prop":"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt,"vuetify-loader":Qt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Qt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Qt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Qt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Qt,tinyliquid:Qt,"liquid-node":Qt,jade:Qt,"then-jade":Qt,dust:Qt,"dustjs-helpers":Qt,"dustjs-linkedin":Qt,swig:Qt,"swig-templates":Qt,"razor-tmpl":Qt,atpl:Qt,liquor:Qt,twig:Qt,ejs:Qt,eco:Qt,jazz:Qt,jqtpl:Qt,hamljs:Qt,hamlet:Qt,whiskers:Qt,"haml-coffee":Qt,"hogan.js":Qt,templayed:Qt,handlebars:Qt,underscore:Qt,lodash:Qt,pug:Qt,"then-pug":Qt,qejs:Qt,walrus:Qt,mustache:Qt,just:Qt,ect:Qt,mote:Qt,toffee:Qt,dot:Qt,"bracket-template":Qt,ractive:Qt,nunjucks:Qt,htmling:Qt,"babel-core":Qt,plates:Qt,"react-dom":Qt,react:Qt,"arc-templates":Qt,vash:Qt,slm:Qt,marko:Qt,teacup:Qt,"coffee-script":Qt,squirrelly:Qt,twing:Qt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt,vue:Qt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Qt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Qt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Qt,"webpack-command":Qt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Qt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Qt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Qt,jimp:Qt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Qt,"eslint-import-resolver-typescript":Qt,"eslint-import-resolver-webpack":Qt,"@typescript-eslint/parser":Qt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Qt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Qt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x <10.0.2",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.7"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Qt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Qt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{"vue-template-compiler":"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{"@parcel/core":"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{"@parcel/core":"*"}}],["parcel@*",{peerDependenciesMeta:{"@parcel/core":Qt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@<5.0.0",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Qt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Qt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Qt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Qt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}],["vite-plugin-vuetify@<=1.0.2",{peerDependencies:{vue:"^3.0.0"}}],["webpack-plugin-vuetify@<=2.0.1",{peerDependencies:{vue:"^3.2.6"}}],["eslint-import-resolver-vite@<2.0.1",{dependencies:{debug:"^4.3.4",resolve:"^1.22.8"}}],["notistack@^3.0.0",{dependencies:{csstype:"^3.0.10"}}]];var t9;function HBe(){return typeof t9>"u"&&(t9=ye("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),t9}var r9;function jBe(){return typeof r9>"u"&&(r9=ye("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),r9}var n9;function qBe(){return typeof n9>"u"&&(n9=ye("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),n9}var GBe=new Map([[q.makeIdent(null,"fsevents").identHash,HBe],[q.makeIdent(null,"resolve").identHash,jBe],[q.makeIdent(null,"typescript").identHash,qBe]]),YSt={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,s]of e9)e(q.parseDescriptor(r,!0),s)},getBuiltinPatch:async(t,e)=>{let r="compat/";if(!e.startsWith(r))return;let s=q.parseIdent(e.slice(r.length)),a=GBe.get(s.identHash)?.();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,s)=>typeof GBe.get(t.identHash)>"u"?t:q.makeDescriptor(t,q.makeRange({protocol:"patch:",source:q.stringifyDescriptor(t),selector:`optional!builtin`,params:null}))}},VSt=YSt;var w9={};Vt(w9,{ConstraintsCheckCommand:()=>ew,ConstraintsQueryCommand:()=>XC,ConstraintsSourceCommand:()=>$C,default:()=>IDt});Ve();Ve();IS();var KC=class{constructor(e){this.project=e}createEnvironment(){let e=new VC(["cwd","ident"]),r=new VC(["workspace","type","ident"]),s=new VC(["ident"]),a={manifestUpdates:new Map,reportedErrors:new Map},n=new Map,c=new Map;for(let f of this.project.storedPackages.values()){let p=Array.from(f.peerDependencies.values(),h=>[q.stringifyIdent(h),h.range]);n.set(f.locatorHash,{workspace:null,ident:q.stringifyIdent(f),version:f.version,dependencies:new Map,peerDependencies:new Map(p.filter(([h])=>f.peerDependenciesMeta.get(h)?.optional!==!0)),optionalPeerDependencies:new Map(p.filter(([h])=>f.peerDependenciesMeta.get(h)?.optional===!0))})}for(let f of this.project.storedPackages.values()){let p=n.get(f.locatorHash);p.dependencies=new Map(Array.from(f.dependencies.values(),h=>{let E=this.project.storedResolutions.get(h.descriptorHash);if(typeof E>"u")throw new Error("Assertion failed: The resolution should have been registered");let C=n.get(E);if(typeof C>"u")throw new Error("Assertion failed: The package should have been registered");return[q.stringifyIdent(h),C]})),p.dependencies.delete(p.ident)}for(let f of this.project.workspaces){let p=q.stringifyIdent(f.anchoredLocator),h=f.manifest.exportTo({}),E=n.get(f.anchoredLocator.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");let C=(R,N,{caller:U=As.getCaller()}={})=>{let W=ES(R),te=je.getMapWithDefault(a.manifestUpdates,f.cwd),ie=je.getMapWithDefault(te,W),Ae=je.getSetWithDefault(ie,N);U!==null&&Ae.add(U)},S=R=>C(R,void 0,{caller:As.getCaller()}),P=R=>{je.getArrayWithDefault(a.reportedErrors,f.cwd).push(R)},I=e.insert({cwd:f.relativeCwd,ident:p,manifest:h,pkg:E,set:C,unset:S,error:P});c.set(f,I);for(let R of Ht.allDependencies)for(let N of f.manifest[R].values()){let U=q.stringifyIdent(N),W=()=>{C([R,U],void 0,{caller:As.getCaller()})},te=Ae=>{C([R,U],Ae,{caller:As.getCaller()})},ie=null;if(R!=="peerDependencies"&&(R!=="dependencies"||!f.manifest.devDependencies.has(N.identHash))){let Ae=f.anchoredPackage.dependencies.get(N.identHash);if(Ae){if(typeof Ae>"u")throw new Error("Assertion failed: The dependency should have been registered");let ce=this.project.storedResolutions.get(Ae.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: The resolution should have been registered");let me=n.get(ce);if(typeof me>"u")throw new Error("Assertion failed: The package should have been registered");ie=me}}r.insert({workspace:I,ident:U,range:N.range,type:R,resolution:ie,update:te,delete:W,error:P})}}for(let f of this.project.storedPackages.values()){let p=this.project.tryWorkspaceByLocator(f);if(!p)continue;let h=c.get(p);if(typeof h>"u")throw new Error("Assertion failed: The workspace should have been registered");let E=n.get(f.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");E.workspace=h}return{workspaces:e,dependencies:r,packages:s,result:a}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependency:a=>e.dependencies.find(a)[0]??null,dependencies:a=>e.dependencies.find(a),package:a=>e.packages.find(a)[0]??null,packages:a=>e.packages.find(a)}},s=await this.project.loadUserConfig();return s?.constraints?(await s.constraints(r),e.result):null}};Ve();Ve();Wt();var XC=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=ge.String()}static{this.paths=[["constraints","query"]]}static{this.usage=ot.Usage({category:"Constraints-related commands",description:"query the constraints fact database",details:` + This command will output all matches to the given prolog query. + `,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(vS(),BS)),s=await ze.find(this.context.cwd,this.context.plugins),{project:a}=await Tt.find(s,this.context.cwd),n=await r.find(a),c=this.query;return c.endsWith(".")||(c=`${c}.`),(await Ot.start({configuration:s,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(c)){let E=Array.from(Object.entries(h)),C=E.length,S=E.reduce((P,[I])=>Math.max(P,I.length),0);for(let P=0;P(vS(),BS)),s=await ze.find(this.context.cwd,this.context.plugins),{project:a}=await Tt.find(s,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};Ve();Ve();Wt();IS();var ew=class extends ut{constructor(){super(...arguments);this.fix=ge.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["constraints"]]}static{this.usage=ot.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` + This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. + + If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. + + For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. + `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Tt.find(r,this.context.cwd);await s.restoreInstallState();let a=await s.loadUserConfig(),n;if(a?.constraints)n=new KC(s);else{let{Constraints:h}=await Promise.resolve().then(()=>(vS(),BS));n=await h.find(s)}let c,f=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let E=await n.process();if(!E)break;let{changedWorkspaces:C,remainingErrors:S}=lF(s,E,{fix:this.fix}),P=[];for(let[I,R]of C){let N=I.manifest.indent;I.manifest=new Ht,I.manifest.indent=N,I.manifest.load(R),P.push(I.persistManifest())}if(await Promise.all(P),!(C.size>0&&h>1)){c=ZBe(S,{configuration:r}),f=!1,p=!0;for(let[,I]of S)for(let R of I)R.fixable?f=!0:p=!1}}if(c.children.length===0)return 0;if(f){let h=p?`Those errors can all be fixed by running ${he.pretty(r,"yarn constraints --fix",he.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${he.pretty(r,"yarn constraints --fix",he.Type.CODE)}`;await Ot.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async E=>{E.reportInfo(0,h),E.reportSeparator()})}return c.children=je.sortMap(c.children,h=>h.value[1]),ks.emitTree(c,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};IS();var EDt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[XC,$C,ew],hooks:{async validateProjectAfterInstall(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),s;if(r?.constraints)s=new KC(t);else{let{Constraints:c}=await Promise.resolve().then(()=>(vS(),BS));s=await c.find(t)}let a=await s.process();if(!a)return;let{remainingErrors:n}=lF(t,a);if(n.size!==0)if(t.configuration.isCI)for(let[c,f]of n)for(let p of f)e(84,`${he.pretty(t.configuration,c.anchoredLocator,he.Type.IDENT)}: ${p.text}`);else e(84,`Constraint check failed; run ${he.pretty(t.configuration,"yarn constraints",he.Type.CODE)} for more details`)}}},IDt=EDt;var B9={};Vt(B9,{CreateCommand:()=>tw,DlxCommand:()=>rw,default:()=>wDt});Ve();Wt();var tw=class extends ut{constructor(){super(...arguments);this.pkg=ge.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}static{this.paths=[["create"]]}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let s=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=q.parseDescriptor(s),n=a.name.match(/^create(-|$)/)?a:a.scope?q.makeIdent(a.scope,`create-${a.name}`):q.makeIdent(null,`create-${a.name}`),c=q.stringifyIdent(n);return a.range!=="unknown"&&(c+=`@${a.range}`),this.cli.run(["dlx",...r,c,...this.args])}};Ve();Ve();bt();Wt();var rw=class extends ut{constructor(){super(...arguments);this.packages=ge.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}static{this.paths=[["dlx"]]}static{this.usage=ot.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]})}async execute(){return ze.telemetry=null,await le.mktempPromise(async r=>{let s=K.join(r,`dlx-${process.pid}`);await le.mkdirPromise(s),await le.writeFilePromise(K.join(s,"package.json"),`{} +`),await le.writeFilePromise(K.join(s,"yarn.lock"),"");let a=K.join(s,".yarnrc.yml"),n=await ze.findProjectCwd(this.context.cwd),f={enableGlobalCache:!(await ze.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Vf(68),level:he.LogLevel.Discard}]},p=n!==null?K.join(n,".yarnrc.yml"):null;p!==null&&le.existsSync(p)?(await le.copyFilePromise(p,a),await ze.updateConfiguration(s,N=>{let U=je.toMerged(N,f);return Array.isArray(N.plugins)&&(U.plugins=N.plugins.map(W=>{let te=typeof W=="string"?W:W.path,ie=ue.isAbsolute(te)?te:ue.resolve(ue.fromPortablePath(n),te);return typeof W=="string"?ie:{path:ie,spec:W.spec}})),U})):await le.writeJsonPromise(a,f);let h=this.packages??[this.command],E=q.parseDescriptor(this.command).name,C=await this.cli.run(["add","--fixed","--",...h],{cwd:s,quiet:this.quiet});if(C!==0)return C;this.quiet||this.context.stdout.write(` +`);let S=await ze.find(s,this.context.plugins),{project:P,workspace:I}=await Tt.find(S,s);if(I===null)throw new ar(P.cwd,s);await P.restoreInstallState();let R=await In.getWorkspaceAccessibleBinaries(I);return R.has(E)===!1&&R.size===1&&typeof this.packages>"u"&&(E=Array.from(R)[0][0]),await In.executeWorkspaceAccessibleBinary(I,E,this.args,{packageAccessibleBinaries:R,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};var CDt={commands:[tw,rw]},wDt=CDt;var D9={};Vt(D9,{ExecFetcher:()=>DS,ExecResolver:()=>bS,default:()=>SDt,execUtils:()=>AF});Ve();Ve();bt();var fA="exec:";var AF={};Vt(AF,{loadGeneratorFile:()=>SS,makeLocator:()=>S9,makeSpec:()=>Bve,parseSpec:()=>v9});Ve();bt();function v9(t){let{params:e,selector:r}=q.parseRange(t),s=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?q.parseLocator(e.locator):null,path:s}}function Bve({parentLocator:t,path:e,generatorHash:r,protocol:s}){let a=t!==null?{locator:q.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return q.makeRange({protocol:s,source:e,selector:e,params:{...n,...a}})}function S9(t,{parentLocator:e,path:r,generatorHash:s,protocol:a}){return q.makeLocator(t,Bve({parentLocator:e,path:r,generatorHash:s,protocol:a}))}async function SS(t,e,r){let{parentLocator:s,path:a}=q.parseFileStyleRange(t,{protocol:e}),n=K.isAbsolute(a)?{packageFs:new Sn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await r.fetcher.fetch(s,r),c=n.localPath?{packageFs:new Sn(vt.root),prefixPath:K.relative(vt.root,n.localPath)}:n;n!==c&&n.releaseFs&&n.releaseFs();let f=c.packageFs,p=K.join(c.prefixPath,a);return await f.readFilePromise(p,"utf8")}var DS=class{supports(e,r){return!!e.reference.startsWith(fA)}getLocalPath(e,r){let{parentLocator:s,path:a}=q.parseFileStyleRange(e.reference,{protocol:fA});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:q.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:c}}async fetchFromDisk(e,r){let s=await SS(e.reference,fA,r);return le.mktempPromise(async a=>{let n=K.join(a,"generator.js");return await le.writeFilePromise(n,s),le.mktempPromise(async c=>{if(await this.generatePackage(c,e,n,r),!le.existsSync(K.join(c,"build")))throw new Error("The script should have generated a build directory");return await hs.makeArchiveFromDirectory(K.join(c,"build"),{prefixPath:q.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,s,a){return await le.mktempPromise(async n=>{let c=await In.makeScriptEnv({project:a.project,binFolder:n}),f=K.join(e,"runtime.js");return await le.mktempPromise(async p=>{let h=K.join(p,"buildfile.log"),E=K.join(e,"generator"),C=K.join(e,"build");await le.mkdirPromise(E),await le.mkdirPromise(C);let S={tempDir:ue.fromPortablePath(E),buildDir:ue.fromPortablePath(C),locator:q.stringifyLocator(r)};await le.writeFilePromise(f,` + // Expose 'Module' as a global variable + Object.defineProperty(global, 'Module', { + get: () => require('module'), + configurable: true, + enumerable: false, + }); + + // Expose non-hidden built-in modules as global variables + for (const name of Module.builtinModules.filter((name) => name !== 'module' && !name.startsWith('_'))) { + Object.defineProperty(global, name, { + get: () => require(name), + configurable: true, + enumerable: false, + }); + } + + // Expose the 'execEnv' global variable + Object.defineProperty(global, 'execEnv', { + value: { + ...${JSON.stringify(S)}, + }, + enumerable: true, + }); + `);let P=c.NODE_OPTIONS||"",I=/\s*--require\s+\S*\.pnp\.c?js\s*/g;P=P.replace(I," ").trim(),c.NODE_OPTIONS=P;let{stdout:R,stderr:N}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${q.stringifyLocator(r)}) +`,prefix:q.prettyLocator(a.project.configuration,r),report:a.report}),{code:U}=await Gr.pipevp(process.execPath,["--require",ue.fromPortablePath(f),ue.fromPortablePath(s),q.stringifyIdent(r)],{cwd:e,env:c,stdin:null,stdout:R,stderr:N});if(U!==0)throw le.detachTemp(p),new Error(`Package generation failed (exit code ${U}, logs can be found here: ${he.pretty(a.project.configuration,h,he.Type.PATH)})`)})})}};Ve();Ve();var BDt=2,bS=class{supportsDescriptor(e,r){return!!e.range.startsWith(fA)}supportsLocator(e,r){return!!e.reference.startsWith(fA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){return q.bindDescriptor(e,{locator:q.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=v9(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let c=await SS(q.makeRange({protocol:fA,source:a,selector:a,params:{locator:q.stringifyLocator(n)}}),fA,s.fetchOptions),f=Nn.makeHash(`${BDt}`,c).slice(0,6);return[S9(e,{parentLocator:n,path:a,generatorHash:f,protocol:fA})]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await je.releaseAfterUseAsync(async()=>await Ht.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var vDt={fetchers:[DS],resolvers:[bS]},SDt=vDt;var P9={};Vt(P9,{FileFetcher:()=>QS,FileResolver:()=>TS,TarballFileFetcher:()=>RS,TarballFileResolver:()=>NS,default:()=>PDt,fileUtils:()=>km});Ve();bt();var nw=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,PS=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,es="file:";var km={};Vt(km,{fetchArchiveFromLocator:()=>kS,makeArchiveFromLocator:()=>pF,makeBufferFromLocator:()=>b9,makeLocator:()=>iw,makeSpec:()=>vve,parseSpec:()=>xS});Ve();bt();function xS(t){let{params:e,selector:r}=q.parseRange(t),s=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?q.parseLocator(e.locator):null,path:s}}function vve({parentLocator:t,path:e,hash:r,protocol:s}){let a=t!==null?{locator:q.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return q.makeRange({protocol:s,source:e,selector:e,params:{...n,...a}})}function iw(t,{parentLocator:e,path:r,hash:s,protocol:a}){return q.makeLocator(t,vve({parentLocator:e,path:r,hash:s,protocol:a}))}async function kS(t,e){let{parentLocator:r,path:s}=q.parseFileStyleRange(t.reference,{protocol:es}),a=K.isAbsolute(s)?{packageFs:new Sn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new Sn(vt.root),prefixPath:K.relative(vt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let c=n.packageFs,f=K.join(n.prefixPath,s);return await je.releaseAfterUseAsync(async()=>await c.readFilePromise(f),n.releaseFs)}async function pF(t,{protocol:e,fetchOptions:r,inMemory:s=!1}){let{parentLocator:a,path:n}=q.parseFileStyleRange(t.reference,{protocol:e}),c=K.isAbsolute(n)?{packageFs:new Sn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await r.fetcher.fetch(a,r),f=c.localPath?{packageFs:new Sn(vt.root),prefixPath:K.relative(vt.root,c.localPath)}:c;c!==f&&c.releaseFs&&c.releaseFs();let p=f.packageFs,h=K.join(f.prefixPath,n);return await je.releaseAfterUseAsync(async()=>await hs.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:q.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:s}),f.releaseFs)}async function b9(t,{protocol:e,fetchOptions:r}){return(await pF(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var QS=class{supports(e,r){return!!e.reference.startsWith(es)}getLocalPath(e,r){let{parentLocator:s,path:a}=q.parseFileStyleRange(e.reference,{protocol:es});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:q.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:c}}async fetchFromDisk(e,r){return pF(e,{protocol:es,fetchOptions:r})}};Ve();Ve();var DDt=2,TS=class{supportsDescriptor(e,r){return e.range.match(nw)?!0:!!e.range.startsWith(es)}supportsLocator(e,r){return!!e.reference.startsWith(es)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){return nw.test(e.range)&&(e=q.makeDescriptor(e,`${es}${e.range}`)),q.bindDescriptor(e,{locator:q.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=xS(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let c=await b9(q.makeLocator(e,q.makeRange({protocol:es,source:a,selector:a,params:{locator:q.stringifyLocator(n)}})),{protocol:es,fetchOptions:s.fetchOptions}),f=Nn.makeHash(`${DDt}`,c).slice(0,6);return[iw(e,{parentLocator:n,path:a,hash:f,protocol:es})]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await je.releaseAfterUseAsync(async()=>await Ht.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};Ve();var RS=class{supports(e,r){return PS.test(e.reference)?!!e.reference.startsWith(es):!1}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:q.getIdentVendorPath(e),checksum:c}}async fetchFromDisk(e,r){let s=await kS(e,r);return await hs.convertToZip(s,{configuration:r.project.configuration,prefixPath:q.getIdentVendorPath(e),stripComponents:1})}};Ve();Ve();Ve();var NS=class{supportsDescriptor(e,r){return PS.test(e.range)?!!(e.range.startsWith(es)||nw.test(e.range)):!1}supportsLocator(e,r){return PS.test(e.reference)?!!e.reference.startsWith(es):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){return nw.test(e.range)&&(e=q.makeDescriptor(e,`${es}${e.range}`)),q.bindDescriptor(e,{locator:q.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=xS(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let c=iw(e,{parentLocator:n,path:a,hash:"",protocol:es}),f=await kS(c,s.fetchOptions),p=Nn.makeHash(f).slice(0,6);return[iw(e,{parentLocator:n,path:a,hash:p,protocol:es})]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await je.releaseAfterUseAsync(async()=>await Ht.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var bDt={fetchers:[RS,QS],resolvers:[NS,TS]},PDt=bDt;var Q9={};Vt(Q9,{GithubFetcher:()=>OS,default:()=>kDt,githubUtils:()=>hF});Ve();bt();var hF={};Vt(hF,{invalidGithubUrlMessage:()=>bve,isGithubUrl:()=>x9,parseGithubUrl:()=>k9});var Sve=et(ye("querystring")),Dve=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function x9(t){return t?Dve.some(e=>!!t.match(e)):!1}function k9(t){let e;for(let f of Dve)if(e=t.match(f),e)break;if(!e)throw new Error(bve(t));let[,r,s,a,n="master"]=e,{commit:c}=Sve.default.parse(n);return n=c||n.replace(/[^:]*:/,""),{auth:r,username:s,reponame:a,treeish:n}}function bve(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var OS=class{supports(e,r){return!!x9(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:q.getIdentVendorPath(e),checksum:c}}async fetchFromNetwork(e,r){let s=await An.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await le.mktempPromise(async a=>{let n=new Sn(a);await hs.extractArchiveTo(s,n,{stripComponents:1});let c=Qa.splitRepoUrl(e.reference),f=K.join(a,"package.tgz");await In.prepareExternalProject(a,f,{configuration:r.project.configuration,report:r.report,workspace:c.extra.workspace,locator:e});let p=await le.readFilePromise(f);return await hs.convertToZip(p,{configuration:r.project.configuration,prefixPath:q.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:s,username:a,reponame:n,treeish:c}=k9(e.reference);return`https://${s?`${s}@`:""}github.com/${a}/${n}/archive/${c}.tar.gz`}};var xDt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let s=new OS;if(!s.supports(e,r))return null;try{return await s.fetch(e,r)}catch{return null}}}},kDt=xDt;var T9={};Vt(T9,{TarballHttpFetcher:()=>MS,TarballHttpResolver:()=>_S,default:()=>TDt});Ve();function LS(t){let e;try{e=new URL(t)}catch{return!1}return!(e.protocol!=="http:"&&e.protocol!=="https:"||!e.pathname.match(/(\.tar\.gz|\.tgz|\/[^.]+)$/))}var MS=class{supports(e,r){return LS(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:q.getIdentVendorPath(e),checksum:c}}async fetchFromNetwork(e,r){let s=await An.get(e.reference,{configuration:r.project.configuration});return await hs.convertToZip(s,{configuration:r.project.configuration,prefixPath:q.getIdentVendorPath(e),stripComponents:1})}};Ve();Ve();var _S=class{supportsDescriptor(e,r){return LS(e.range)}supportsLocator(e,r){return LS(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){return[q.convertDescriptorToLocator(e)]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await je.releaseAfterUseAsync(async()=>await Ht.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var QDt={fetchers:[MS],resolvers:[_S]},TDt=QDt;var R9={};Vt(R9,{InitCommand:()=>Z0,InitInitializerCommand:()=>sw,default:()=>FDt});Wt();Ve();Ve();bt();Wt();var Z0=class extends ut{constructor(){super(...arguments);this.private=ge.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=ge.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=ge.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=ge.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=ge.Boolean("-2",!1,{hidden:!0});this.yes=ge.Boolean("-y,--yes",{hidden:!0})}static{this.paths=[["init"]]}static{this.usage=ot.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return s!==null?await this.executeProxy(r,s):await this.executeRegular(r)}async executeProxy(r,s){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new nt("Cannot use the --install flag from within a project subdirectory");le.existsSync(this.context.cwd)||await le.mkdirPromise(this.context.cwd,{recursive:!0});let a=K.join(this.context.cwd,Er.lockfile);le.existsSync(a)||await le.writeFilePromise(a,"");let n=await this.cli.run(["set","version",s],{quiet:!0});if(n!==0)return n;let c=[];return this.private&&c.push("-p"),this.workspace&&c.push("-w"),this.name&&c.push(`-n=${this.name}`),this.yes&&c.push("-y"),await le.mktempPromise(async f=>{let{code:p}=await Gr.pipevp("yarn",["init",...c],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await In.makeScriptEnv({binFolder:f})});return p})}async initialize(){}async executeRegular(r){let s=null;try{s=(await Tt.find(r,this.context.cwd)).project}catch{s=null}le.existsSync(this.context.cwd)||await le.mkdirPromise(this.context.cwd,{recursive:!0});let a=await Ht.tryFind(this.context.cwd),n=a??new Ht,c=Object.fromEntries(r.get("initFields").entries());n.load(c),n.name=n.name??q.makeIdent(r.get("initScope"),this.name??K.basename(this.context.cwd)),n.packageManager=un&&je.isTaggedYarnVersion(un)?`yarn@${un}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await le.mkdirPromise(K.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let f={};n.exportTo(f);let p=K.join(this.context.cwd,Ht.fileName);await le.changeFilePromise(p,`${JSON.stringify(f,null,2)} +`,{automaticNewlines:!0});let h=[p],E=K.join(this.context.cwd,"README.md");if(le.existsSync(E)||(await le.writeFilePromise(E,`# ${q.stringifyIdent(n.name)} +`),h.push(E)),!s||s.cwd===this.context.cwd){let C=K.join(this.context.cwd,Er.lockfile);le.existsSync(C)||(await le.writeFilePromise(C,""),h.push(C));let P=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Whether you use PnP or not, the node_modules folder is often used to store","# build artifacts that should be gitignored","node_modules","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/caching#zero-installs","","#!.yarn/cache",".pnp.*"].map(Ae=>`${Ae} +`).join(""),I=K.join(this.context.cwd,".gitignore");le.existsSync(I)||(await le.writeFilePromise(I,P),h.push(I));let N=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(Ae=>`${Ae} +`).join(""),U=K.join(this.context.cwd,".gitattributes");le.existsSync(U)||(await le.writeFilePromise(U,N),h.push(U));let W={"*":{charset:"utf-8",endOfLine:"lf",indentSize:2,indentStyle:"space",insertFinalNewline:!0}};je.mergeIntoTarget(W,r.get("initEditorConfig"));let te=`root = true +`;for(let[Ae,ce]of Object.entries(W)){te+=` +[${Ae}] +`;for(let[me,pe]of Object.entries(ce)){let Be=me.replace(/[A-Z]/g,Ce=>`_${Ce.toLowerCase()}`);te+=`${Be} = ${pe} +`}}let ie=K.join(this.context.cwd,".editorconfig");le.existsSync(ie)||(await le.writeFilePromise(ie,te),h.push(ie)),await this.cli.run(["install"],{quiet:!0}),await this.initialize(),le.existsSync(K.join(this.context.cwd,".git"))||(await Gr.execvp("git",["init"],{cwd:this.context.cwd}),await Gr.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Gr.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};var sw=class extends Z0{constructor(){super(...arguments);this.initializer=ge.String();this.argv=ge.Proxy()}static{this.paths=[["init"]]}async initialize(){this.context.stdout.write(` +`),await this.cli.run(["dlx",this.initializer,...this.argv],{quiet:!0})}};var RDt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[Z0,sw]},FDt=RDt;var TY={};Vt(TY,{SearchCommand:()=>Bw,UpgradeInteractiveCommand:()=>vw,default:()=>cTt});Ve();var xve=et(ye("os"));function ow({stdout:t}){if(xve.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}Wt();var HSe=et(Z9()),X9={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},QPt=(0,HSe.default)(X9.appId,X9.apiKey).initIndex(X9.indexName),$9=async(t,e=0)=>await QPt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var LD=["regular","dev","peer"],Bw=class extends ut{static{this.paths=[["search"]]}static{this.usage=ot.Usage({category:"Interactive commands",description:"open the search interface",details:` + This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. + `,examples:[["Open the search window","yarn search"]]})}async execute(){ow(this.context);let{Gem:e}=await Promise.resolve().then(()=>($F(),CY)),{ScrollableItems:r}=await Promise.resolve().then(()=>(nN(),rN)),{useKeypress:s}=await Promise.resolve().then(()=>(FD(),zPe)),{useMinistore:a}=await Promise.resolve().then(()=>(bY(),DY)),{renderForm:n}=await Promise.resolve().then(()=>(aN(),oN)),{default:c}=await Promise.resolve().then(()=>et(oxe())),{Box:f,Text:p}=await Promise.resolve().then(()=>et(Vc())),{default:h,useEffect:E,useState:C}=await Promise.resolve().then(()=>et(hn())),S=await ze.find(this.context.cwd,this.context.plugins),P=()=>h.createElement(f,{flexDirection:"row"},h.createElement(f,{flexDirection:"column",width:48},h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move between packages.")),h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select a package.")),h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," again to change the target."))),h.createElement(f,{flexDirection:"column"},h.createElement(f,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),h.createElement(f,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),I=()=>h.createElement(h.Fragment,null,h.createElement(f,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(f,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(f,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),R=()=>h.createElement(f,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),N=({hit:pe,active:Be})=>{let[Ce,g]=a(pe.name,null);s({active:Be},(fe,se)=>{if(se.name!=="space")return;if(!Ce){g(LD[0]);return}let X=LD.indexOf(Ce)+1;X===LD.length?g(null):g(LD[X])},[Ce,g]);let we=q.parseIdent(pe.name),Ee=q.prettyIdent(S,we);return h.createElement(f,null,h.createElement(f,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Ee)),h.createElement(f,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},pe.owner.name)),h.createElement(f,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},pe.version)),h.createElement(f,{width:16,marginLeft:1},h.createElement(p,null,pe.humanDownloadsLast30Days)))},U=({name:pe,active:Be})=>{let[Ce]=a(pe,null),g=q.parseIdent(pe);return h.createElement(f,null,h.createElement(f,{width:47},h.createElement(p,{bold:!0}," - ",q.prettyIdent(S,g))),LD.map(we=>h.createElement(f,{key:we,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:Ce===we})," ",h.createElement(p,{bold:!0},we)))))},W=()=>h.createElement(f,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),ie=await n(({useSubmit:pe})=>{let Be=a();pe(Be);let Ce=Array.from(Be.keys()).filter(j=>Be.get(j)!==null),[g,we]=C(""),[Ee,fe]=C(0),[se,X]=C([]),De=j=>{j.match(/\t| /)||we(j)},Re=async()=>{fe(0);let j=await $9(g);j.query===g&&X(j.hits)},gt=async()=>{let j=await $9(g,Ee+1);j.query===g&&j.page-1===Ee&&(fe(j.page),X([...se,...j.hits]))};return E(()=>{g?Re():X([])},[g]),h.createElement(f,{flexDirection:"column"},h.createElement(P,null),h.createElement(f,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(f,{width:41},h.createElement(c,{value:g,onChange:De,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(I,null)),se.length?h.createElement(r,{radius:2,loop:!1,children:se.map(j=>h.createElement(N,{key:j.name,hit:j,active:!1})),willReachEnd:gt}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(f,{flexDirection:"row",marginTop:1},h.createElement(f,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(R,null)),Ce.length?Ce.map(j=>h.createElement(U,{key:j,name:j,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(W,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ie>"u")return 1;let Ae=Array.from(ie.keys()).filter(pe=>ie.get(pe)==="regular"),ce=Array.from(ie.keys()).filter(pe=>ie.get(pe)==="dev"),me=Array.from(ie.keys()).filter(pe=>ie.get(pe)==="peer");return Ae.length&&await this.cli.run(["add",...Ae]),ce.length&&await this.cli.run(["add","--dev",...ce]),me&&await this.cli.run(["add","--peer",...me]),0}};Ve();Wt();yG();var pxe=et(fi()),Axe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/;function hxe(t,e){return t.length>0?[t.slice(0,e)].concat(hxe(t.slice(e),e)):[]}var vw=class extends ut{static{this.paths=[["upgrade-interactive"]]}static{this.usage=ot.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` + This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. + `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]})}async execute(){ow(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(fxe(),uxe)),{Pad:r}=await Promise.resolve().then(()=>(QY(),cxe)),{ScrollableItems:s}=await Promise.resolve().then(()=>(nN(),rN)),{useMinistore:a}=await Promise.resolve().then(()=>(bY(),DY)),{renderForm:n}=await Promise.resolve().then(()=>(aN(),oN)),{Box:c,Text:f}=await Promise.resolve().then(()=>et(Vc())),{default:p,useEffect:h,useRef:E,useState:C}=await Promise.resolve().then(()=>et(hn())),S=await ze.find(this.context.cwd,this.context.plugins),{project:P,workspace:I}=await Tt.find(S,this.context.cwd),R=await Jr.find(S);if(!I)throw new ar(P.cwd,this.context.cwd);await P.restoreInstallState({restoreResolutions:!1});let N=this.context.stdout.rows-7,U=(we,Ee)=>{let fe=ICe(we,Ee),se="";for(let X of fe)X.added?se+=he.pretty(S,X.value,"green"):X.removed||(se+=X.value);return se},W=(we,Ee)=>{if(we===Ee)return Ee;let fe=q.parseRange(we),se=q.parseRange(Ee),X=fe.selector.match(Axe),De=se.selector.match(Axe);if(!X||!De)return U(we,Ee);let Re=["gray","red","yellow","green","magenta"],gt=null,j="";for(let rt=1;rt{let se=await Xu.fetchDescriptorFrom(we,fe,{project:P,cache:R,preserveModifier:Ee,workspace:I});return se!==null?se.range:we.range},ie=async we=>{let Ee=pxe.default.valid(we.range)?`^${we.range}`:we.range,[fe,se]=await Promise.all([te(we,we.range,Ee).catch(()=>null),te(we,we.range,"latest").catch(()=>null)]),X=[{value:null,label:we.range}];return fe&&fe!==we.range?X.push({value:fe,label:W(we.range,fe)}):X.push({value:null,label:""}),se&&se!==fe&&se!==we.range?X.push({value:se,label:W(we.range,se)}):X.push({value:null,label:""}),X},Ae=()=>p.createElement(c,{flexDirection:"row"},p.createElement(c,{flexDirection:"column",width:49},p.createElement(c,{marginLeft:1},p.createElement(f,null,"Press ",p.createElement(f,{bold:!0,color:"cyanBright"},""),"/",p.createElement(f,{bold:!0,color:"cyanBright"},"")," to select packages.")),p.createElement(c,{marginLeft:1},p.createElement(f,null,"Press ",p.createElement(f,{bold:!0,color:"cyanBright"},""),"/",p.createElement(f,{bold:!0,color:"cyanBright"},"")," to select versions."))),p.createElement(c,{flexDirection:"column"},p.createElement(c,{marginLeft:1},p.createElement(f,null,"Press ",p.createElement(f,{bold:!0,color:"cyanBright"},"")," to install.")),p.createElement(c,{marginLeft:1},p.createElement(f,null,"Press ",p.createElement(f,{bold:!0,color:"cyanBright"},"")," to abort.")))),ce=()=>p.createElement(c,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(c,{width:50},p.createElement(f,{bold:!0},p.createElement(f,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(c,{width:17},p.createElement(f,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(c,{width:17},p.createElement(f,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(c,{width:17},p.createElement(f,{bold:!0,underline:!0,color:"gray"},"Latest"))),me=({active:we,descriptor:Ee,suggestions:fe})=>{let[se,X]=a(Ee.descriptorHash,null),De=q.stringifyIdent(Ee),Re=Math.max(0,45-De.length);return p.createElement(p.Fragment,null,p.createElement(c,null,p.createElement(c,{width:45},p.createElement(f,{bold:!0},q.prettyIdent(S,Ee)),p.createElement(r,{active:we,length:Re})),p.createElement(e,{active:we,options:fe,value:se,skewer:!0,onChange:X,sizes:[17,17,17]})))},pe=({dependencies:we})=>{let[Ee,fe]=C(we.map(()=>null)),se=E(!0),X=async De=>{let Re=await ie(De);return Re.filter(gt=>gt.label!=="").length<=1?null:{descriptor:De,suggestions:Re}};return h(()=>()=>{se.current=!1},[]),h(()=>{let De=Math.trunc(N*1.75),Re=we.slice(0,De),gt=we.slice(De),j=hxe(gt,N),rt=Re.map(X).reduce(async(Fe,Ne)=>{await Fe;let Pe=await Ne;Pe!==null&&se.current&&fe(Ye=>{let ke=Ye.findIndex(_e=>_e===null),it=[...Ye];return it[ke]=Pe,it})},Promise.resolve());j.reduce((Fe,Ne)=>Promise.all(Ne.map(Pe=>Promise.resolve().then(()=>X(Pe)))).then(async Pe=>{Pe=Pe.filter(Ye=>Ye!==null),await Fe,se.current&&fe(Ye=>{let ke=Ye.findIndex(it=>it===null);return Ye.slice(0,ke).concat(Pe).concat(Ye.slice(ke+Pe.length))})}),rt).then(()=>{se.current&&fe(Fe=>Fe.filter(Ne=>Ne!==null))})},[]),Ee.length?p.createElement(s,{radius:N>>1,children:Ee.map((De,Re)=>De!==null?p.createElement(me,{key:Re,active:!1,descriptor:De.descriptor,suggestions:De.suggestions}):p.createElement(f,{key:Re},"Loading..."))}):p.createElement(f,null,"No upgrades found")},Ce=await n(({useSubmit:we})=>{we(a());let Ee=new Map;for(let se of P.workspaces)for(let X of["dependencies","devDependencies"])for(let De of se.manifest[X].values())P.tryWorkspaceByDescriptor(De)===null&&(De.range.startsWith("link:")||Ee.set(De.descriptorHash,De));let fe=je.sortMap(Ee.values(),se=>q.stringifyDescriptor(se));return p.createElement(c,{flexDirection:"column"},p.createElement(Ae,null),p.createElement(ce,null),p.createElement(pe,{dependencies:fe}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof Ce>"u")return 1;let g=!1;for(let we of P.workspaces)for(let Ee of["dependencies","devDependencies"]){let fe=we.manifest[Ee];for(let se of fe.values()){let X=Ce.get(se.descriptorHash);typeof X<"u"&&X!==null&&(fe.set(se.identHash,q.makeDescriptor(se,X)),g=!0)}}return g?await P.installWithNewReport({quiet:this.context.quiet,stdout:this.context.stdout},{cache:R}):0}};var lTt={commands:[Bw,vw]},cTt=lTt;var FY={};Vt(FY,{default:()=>pTt});Ve();var _D="jsr:";Ve();Ve();function Sw(t){let e=t.range.slice(4);if(Or.validRange(e))return q.makeDescriptor(t,`npm:${q.stringifyIdent(q.wrapIdentIntoScope(t,"jsr"))}@${e}`);let r=q.tryParseDescriptor(e,!0);if(r!==null)return q.makeDescriptor(t,`npm:${q.stringifyIdent(q.wrapIdentIntoScope(r,"jsr"))}@${r.range}`);throw new Error(`Invalid range: ${t.range}`)}function Dw(t){return q.makeLocator(q.wrapIdentIntoScope(t,"jsr"),`npm:${t.reference.slice(4)}`)}function RY(t){return q.makeLocator(q.unwrapIdentFromScope(t,"jsr"),`jsr:${t.reference.slice(4)}`)}var lN=class{supports(e,r){return e.reference.startsWith(_D)}getLocalPath(e,r){let s=Dw(e);return r.fetcher.getLocalPath(s,r)}fetch(e,r){let s=Dw(e);return r.fetcher.fetch(s,r)}};var cN=class{supportsDescriptor(e,r){return!!e.range.startsWith(_D)}supportsLocator(e,r){return!!e.reference.startsWith(_D)}shouldPersistResolution(e,r){let s=Dw(e);return r.resolver.shouldPersistResolution(s,r)}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){return{inner:Sw(e)}}async getCandidates(e,r,s){let a=s.project.configuration.normalizeDependency(Sw(e));return(await s.resolver.getCandidates(a,r,s)).map(c=>RY(c))}async getSatisfying(e,r,s,a){let n=a.project.configuration.normalizeDependency(Sw(e));return a.resolver.getSatisfying(n,r,s,a)}async resolve(e,r){let s=Dw(e),a=await r.resolver.resolve(s,r);return{...a,...RY(a)}}};var uTt=["dependencies","devDependencies","peerDependencies"];function fTt(t,e){for(let r of uTt)for(let s of t.manifest.getForScope(r).values()){if(!s.range.startsWith("jsr:"))continue;let a=Sw(s),n=r==="dependencies"?q.makeDescriptor(s,"unknown"):null,c=n!==null&&t.manifest.ensureDependencyMeta(n).optional?"optionalDependencies":r;e[c][q.stringifyIdent(s)]=a.range}}var ATt={hooks:{beforeWorkspacePacking:fTt},resolvers:[cN],fetchers:[lN]},pTt=ATt;var NY={};Vt(NY,{LinkFetcher:()=>UD,LinkResolver:()=>HD,PortalFetcher:()=>jD,PortalResolver:()=>qD,default:()=>gTt});Ve();bt();var sh="portal:",oh="link:";var UD=class{supports(e,r){return!!e.reference.startsWith(oh)}getLocalPath(e,r){let{parentLocator:s,path:a}=q.parseFileStyleRange(e.reference,{protocol:oh});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let{parentLocator:s,path:a}=q.parseFileStyleRange(e.reference,{protocol:oh}),n=K.isAbsolute(a)?{packageFs:new Sn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await r.fetcher.fetch(s,r),c=n.localPath?{packageFs:new Sn(vt.root),prefixPath:K.relative(vt.root,n.localPath),localPath:vt.root}:n;n!==c&&n.releaseFs&&n.releaseFs();let f=c.packageFs,p=K.resolve(c.localPath??c.packageFs.getRealPath(),c.prefixPath,a);return n.localPath?{packageFs:new Sn(p,{baseFs:f}),releaseFs:c.releaseFs,prefixPath:vt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new jf(p,{baseFs:f}),releaseFs:c.releaseFs,prefixPath:vt.dot,discardFromLookup:!0}}};Ve();bt();var HD=class{supportsDescriptor(e,r){return!!e.range.startsWith(oh)}supportsLocator(e,r){return!!e.reference.startsWith(oh)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){return q.bindDescriptor(e,{locator:q.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){let a=e.range.slice(oh.length);return[q.makeLocator(e,`${oh}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};Ve();bt();var jD=class{supports(e,r){return!!e.reference.startsWith(sh)}getLocalPath(e,r){let{parentLocator:s,path:a}=q.parseFileStyleRange(e.reference,{protocol:sh});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let{parentLocator:s,path:a}=q.parseFileStyleRange(e.reference,{protocol:sh}),n=K.isAbsolute(a)?{packageFs:new Sn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await r.fetcher.fetch(s,r),c=n.localPath?{packageFs:new Sn(vt.root),prefixPath:K.relative(vt.root,n.localPath),localPath:vt.root}:n;n!==c&&n.releaseFs&&n.releaseFs();let f=c.packageFs,p=K.resolve(c.localPath??c.packageFs.getRealPath(),c.prefixPath,a);return n.localPath?{packageFs:new Sn(p,{baseFs:f}),releaseFs:c.releaseFs,prefixPath:vt.dot,localPath:p}:{packageFs:new jf(p,{baseFs:f}),releaseFs:c.releaseFs,prefixPath:vt.dot}}};Ve();Ve();bt();var qD=class{supportsDescriptor(e,r){return!!e.range.startsWith(sh)}supportsLocator(e,r){return!!e.reference.startsWith(sh)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){return q.bindDescriptor(e,{locator:q.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){let a=e.range.slice(sh.length);return[q.makeLocator(e,`${sh}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await je.releaseAfterUseAsync(async()=>await Ht.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var hTt={fetchers:[UD,jD],resolvers:[HD,qD]},gTt=hTt;var yV={};Vt(yV,{NodeModulesLinker:()=>ib,NodeModulesMode:()=>hV,PnpLooseLinker:()=>sb,default:()=>QRt});bt();Ve();bt();bt();var LY=(t,e)=>`${t}@${e}`,gxe=(t,e)=>{let r=e.indexOf("#"),s=r>=0?e.substring(r+1):e;return LY(t,s)};var mxe=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),s=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:s,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},c;n.debugLevel>=0&&(c=Date.now());let f=wTt(t,n),p=!1,h=0;do{let E=MY(f,[f],new Set([f.locator]),new Map,n);p=E.anotherRoundNeeded||E.isGraphChanged,n.fastLookupPossible=!1,h++}while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-c}ms, rounds: ${h}`),n.debugLevel>=1){let E=GD(f);if(MY(f,[f],new Set([f.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${E}, next tree: +${GD(f)}`);let S=yxe(f);if(S)throw new Error(`${S}, after hoisting finished: +${GD(f)}`)}return n.debugLevel>=2&&console.log(GD(f)),BTt(f)},dTt=t=>{let e=t[t.length-1],r=new Map,s=new Set,a=n=>{if(!s.has(n)){s.add(n);for(let c of n.hoistedDependencies.values())r.set(c.name,c);for(let c of n.dependencies.values())n.peerNames.has(c.name)||a(c)}};return a(e),r},mTt=t=>{let e=t[t.length-1],r=new Map,s=new Set,a=new Set,n=(c,f)=>{if(s.has(c))return;s.add(c);for(let h of c.hoistedDependencies.values())if(!f.has(h.name)){let E;for(let C of t)E=C.dependencies.get(h.name),E&&r.set(E.name,E)}let p=new Set;for(let h of c.dependencies.values())p.add(h.name);for(let h of c.dependencies.values())c.peerNames.has(h.name)||n(h,p)};return n(e,a),r},dxe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:s,ident:a,locator:n,dependencies:c,originalDependencies:f,hoistedDependencies:p,peerNames:h,reasons:E,isHoistBorder:C,hoistPriority:S,dependencyKind:P,hoistedFrom:I,hoistedTo:R}=e,N={name:r,references:new Set(s),ident:a,locator:n,dependencies:new Map(c),originalDependencies:new Map(f),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(E),decoupled:!0,isHoistBorder:C,hoistPriority:S,dependencyKind:P,hoistedFrom:new Map(I),hoistedTo:new Map(R)},U=N.dependencies.get(r);return U&&U.ident==N.ident&&N.dependencies.set(r,N),t.dependencies.set(N.name,N),N},yTt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let s=Array.from(e.keys());s.sort((a,n)=>{let c=e.get(a),f=e.get(n);if(f.hoistPriority!==c.hoistPriority)return f.hoistPriority-c.hoistPriority;{let p=c.dependents.size+c.peerDependents.size;return f.dependents.size+f.peerDependents.size-p}});for(let a of s){let n=a.substring(0,a.indexOf("@",1)),c=a.substring(n.length+1);if(!t.peerNames.has(n)){let f=r.get(n);f||(f=[],r.set(n,f)),f.indexOf(c)<0&&f.push(c)}}return r},OY=t=>{let e=new Set,r=(s,a=new Set)=>{if(!a.has(s)){a.add(s);for(let n of s.peerNames)if(!t.peerNames.has(n)){let c=t.dependencies.get(n);c&&!e.has(c)&&r(c,a)}e.add(s)}};for(let s of t.dependencies.values())t.peerNames.has(s.name)||r(s);return e},MY=(t,e,r,s,a,n=new Set)=>{let c=e[e.length-1];if(n.has(c))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(c);let f=vTt(c),p=yTt(c,f),h=t==c?new Map:a.fastLookupPossible?dTt(e):mTt(e),E,C=!1,S=!1,P=new Map(Array.from(p.entries()).map(([R,N])=>[R,N[0]])),I=new Map;do{let R=CTt(t,e,r,h,P,p,s,I,a);R.isGraphChanged&&(S=!0),R.anotherRoundNeeded&&(C=!0),E=!1;for(let[N,U]of p)U.length>1&&!c.dependencies.has(N)&&(P.delete(N),U.shift(),P.set(N,U[0]),E=!0)}while(E);for(let R of c.dependencies.values())if(!c.peerNames.has(R.name)&&!r.has(R.locator)){r.add(R.locator);let N=MY(t,[...e,R],r,I,a);N.isGraphChanged&&(S=!0),N.anotherRoundNeeded&&(C=!0),r.delete(R.locator)}return{anotherRoundNeeded:C,isGraphChanged:S}},ETt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},ITt=(t,e,r,s,a,n,c,f,{outputReason:p,fastLookupPossible:h})=>{let E,C=null,S=new Set;p&&(E=`${Array.from(e).map(N=>Io(N)).join("\u2192")}`);let P=r[r.length-1],R=!(s.ident===P.ident);if(p&&!R&&(C="- self-reference"),R&&(R=s.dependencyKind!==1,p&&!R&&(C="- workspace")),R&&s.dependencyKind===2&&(R=!ETt(s),p&&!R&&(C="- external soft link with unhoisted dependencies")),R&&(R=!t.peerNames.has(s.name),p&&!R&&(C=`- cannot shadow peer: ${Io(t.originalDependencies.get(s.name).locator)} at ${E}`)),R){let N=!1,U=a.get(s.name);if(N=!U||U.ident===s.ident,p&&!N&&(C=`- filled by: ${Io(U.locator)} at ${E}`),N)for(let W=r.length-1;W>=1;W--){let ie=r[W].dependencies.get(s.name);if(ie&&ie.ident!==s.ident){N=!1;let Ae=f.get(P);Ae||(Ae=new Set,f.set(P,Ae)),Ae.add(s.name),p&&(C=`- filled by ${Io(ie.locator)} at ${r.slice(0,W).map(ce=>Io(ce.locator)).join("\u2192")}`);break}}R=N}if(R&&(R=n.get(s.name)===s.ident,p&&!R&&(C=`- filled by: ${Io(c.get(s.name)[0])} at ${E}`)),R){let N=!0,U=new Set(s.peerNames);for(let W=r.length-1;W>=1;W--){let te=r[W];for(let ie of U){if(te.peerNames.has(ie)&&te.originalDependencies.has(ie))continue;let Ae=te.dependencies.get(ie);Ae&&t.dependencies.get(ie)!==Ae&&(W===r.length-1?S.add(Ae):(S=null,N=!1,p&&(C=`- peer dependency ${Io(Ae.locator)} from parent ${Io(te.locator)} was not hoisted to ${E}`))),U.delete(ie)}if(!N)break}R=N}if(R&&!h)for(let N of s.hoistedDependencies.values()){let U=a.get(N.name)||t.dependencies.get(N.name);if(!U||N.ident!==U.ident){R=!1,p&&(C=`- previously hoisted dependency mismatch, needed: ${Io(N.locator)}, available: ${Io(U?.locator)}`);break}}return S!==null&&S.size>0?{isHoistable:2,dependsOn:S,reason:C}:{isHoistable:R?0:1,reason:C}},uN=t=>`${t.name}@${t.locator}`,CTt=(t,e,r,s,a,n,c,f,p)=>{let h=e[e.length-1],E=new Set,C=!1,S=!1,P=(U,W,te,ie,Ae)=>{if(E.has(ie))return;let ce=[...W,uN(ie)],me=[...te,uN(ie)],pe=new Map,Be=new Map;for(let fe of OY(ie)){let se=ITt(h,r,[h,...U,ie],fe,s,a,n,f,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(Be.set(fe,se),se.isHoistable===2)for(let X of se.dependsOn){let De=pe.get(X.name)||new Set;De.add(fe.name),pe.set(X.name,De)}}let Ce=new Set,g=(fe,se,X)=>{if(!Ce.has(fe)){Ce.add(fe),Be.set(fe,{isHoistable:1,reason:X});for(let De of pe.get(fe.name)||[])g(ie.dependencies.get(De),se,p.debugLevel>=2?`- peer dependency ${Io(fe.locator)} from parent ${Io(ie.locator)} was not hoisted`:"")}};for(let[fe,se]of Be)se.isHoistable===1&&g(fe,se,se.reason);let we=!1;for(let fe of Be.keys())if(!Ce.has(fe)){S=!0;let se=c.get(ie);se&&se.has(fe.name)&&(C=!0),we=!0,ie.dependencies.delete(fe.name),ie.hoistedDependencies.set(fe.name,fe),ie.reasons.delete(fe.name);let X=h.dependencies.get(fe.name);if(p.debugLevel>=2){let De=Array.from(W).concat([ie.locator]).map(gt=>Io(gt)).join("\u2192"),Re=h.hoistedFrom.get(fe.name);Re||(Re=[],h.hoistedFrom.set(fe.name,Re)),Re.push(De),ie.hoistedTo.set(fe.name,Array.from(e).map(gt=>Io(gt.locator)).join("\u2192"))}if(!X)h.ident!==fe.ident&&(h.dependencies.set(fe.name,fe),Ae.add(fe));else for(let De of fe.references)X.references.add(De)}if(ie.dependencyKind===2&&we&&(C=!0),p.check){let fe=yxe(t);if(fe)throw new Error(`${fe}, after hoisting dependencies of ${[h,...U,ie].map(se=>Io(se.locator)).join("\u2192")}: +${GD(t)}`)}let Ee=OY(ie);for(let fe of Ee)if(Ce.has(fe)){let se=Be.get(fe);if((a.get(fe.name)===fe.ident||!ie.reasons.has(fe.name))&&se.isHoistable!==0&&ie.reasons.set(fe.name,se.reason),!fe.isHoistBorder&&me.indexOf(uN(fe))<0){E.add(ie);let De=dxe(ie,fe);P([...U,ie],ce,me,De,R),E.delete(ie)}}},I,R=new Set(OY(h)),N=Array.from(e).map(U=>uN(U));do{I=R,R=new Set;for(let U of I){if(U.locator===h.locator||U.isHoistBorder)continue;let W=dxe(h,U);P([],Array.from(r),N,W,R)}}while(R.size>0);return{anotherRoundNeeded:C,isGraphChanged:S}},yxe=t=>{let e=[],r=new Set,s=new Set,a=(n,c,f)=>{if(r.has(n)||(r.add(n),s.has(n)))return;let p=new Map(c);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let E=p.get(h.name),C=()=>`${Array.from(s).concat([n]).map(S=>Io(S.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let S=c.get(h.name);(S!==E||!S||S.ident!==h.ident)&&e.push(`${C()} - broken peer promise: expected ${h.ident} but found ${S&&S.ident}`)}else{let S=f.hoistedFrom.get(n.name),P=n.hoistedTo.get(h.name),I=`${S?` hoisted from ${S.join(", ")}`:""}`,R=`${P?` hoisted to ${P}`:""}`,N=`${C()}${I}`;E?E.ident!==h.ident&&e.push(`${N} - broken require promise for ${h.name}${R}: expected ${h.ident}, but found: ${E.ident}`):e.push(`${N} - broken require promise: no required dependency ${h.name}${R} found`)}}s.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);s.delete(n)};return a(t,t.dependencies,t),e.join(` +`)},wTt=(t,e)=>{let{identName:r,name:s,reference:a,peerNames:n}=t,c={name:s,references:new Set([a]),locator:LY(r,a),ident:gxe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},f=new Map([[t,c]]),p=(h,E)=>{let C=f.get(h),S=!!C;if(!C){let{name:P,identName:I,reference:R,peerNames:N,hoistPriority:U,dependencyKind:W}=h,te=e.hoistingLimits.get(E.locator);C={name:P,references:new Set([R]),locator:LY(I,R),ident:gxe(I,R),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(N),reasons:new Map,decoupled:!0,isHoistBorder:te?te.has(P):!1,hoistPriority:U||0,dependencyKind:W||0,hoistedFrom:new Map,hoistedTo:new Map},f.set(h,C)}if(E.dependencies.set(h.name,C),E.originalDependencies.set(h.name,C),S){let P=new Set,I=R=>{if(!P.has(R)){P.add(R),R.decoupled=!1;for(let N of R.dependencies.values())R.peerNames.has(N.name)||I(N)}};I(C)}else for(let P of h.dependencies)p(P,C)};for(let h of t.dependencies)p(h,c);return c},_Y=t=>t.substring(0,t.indexOf("@",1)),BTt=t=>{let e={name:t.name,identName:_Y(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),s=(a,n,c)=>{let f=r.has(a),p;if(n===a)p=c;else{let{name:h,references:E,locator:C}=a;p={name:h,identName:_Y(C),references:E,dependencies:new Set}}if(c.dependencies.add(p),!f){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||s(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())s(a,t,e);return e},vTt=t=>{let e=new Map,r=new Set([t]),s=c=>`${c.name}@${c.ident}`,a=c=>{let f=s(c),p=e.get(f);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(f,p)),p},n=(c,f)=>{let p=!!r.has(f);if(a(f).dependents.add(c.ident),!p){r.add(f);for(let E of f.dependencies.values()){let C=a(E);C.hoistPriority=Math.max(C.hoistPriority,E.hoistPriority),f.peerNames.has(E.name)?C.peerDependents.add(f.ident):n(f,E)}}};for(let c of t.dependencies.values())t.peerNames.has(c.name)||n(t,c);return e},Io=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let s=t.substring(e+1);if(s==="workspace:.")return".";if(s){let a=(s.indexOf("#")>0?s.split("#")[1]:s).replace("npm:","");return s.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`};var GD=t=>{let e=0,r=(a,n,c="")=>{if(e>5e4||n.has(a))return"";e++;let f=Array.from(a.dependencies.values()).sort((h,E)=>h.name===E.name?0:h.name>E.name?1:-1),p="";n.add(a);for(let h=0;h":"")+(S!==E.name?`a:${E.name}:`:"")+Io(E.locator)+(C?` ${C}`:"")} +`,p+=r(E,n,`${c}${h5e4?` +Tree is too large, part of the tree has been dunped +`:"")};var WD=(s=>(s.WORKSPACES="workspaces",s.DEPENDENCIES="dependencies",s.NONE="none",s))(WD||{}),Exe="node_modules",ng="$wsroot$";var YD=(t,e)=>{let{packageTree:r,hoistingLimits:s,errors:a,preserveSymlinksRequired:n}=DTt(t,e),c=null;if(a.length===0){let f=mxe(r,{hoistingLimits:s});c=PTt(t,f,e)}return{tree:c,errors:a,preserveSymlinksRequired:n}},gA=t=>`${t.name}@${t.reference}`,HY=t=>{let e=new Map;for(let[r,s]of t.entries())if(!s.dirList){let a=e.get(s.locator);a||(a={target:s.target,linkType:s.linkType,locations:[],aliases:s.aliases},e.set(s.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((s,a)=>{let n=s.split(K.delimiter).length,c=a.split(K.delimiter).length;return a===s?0:n!==c?c-n:a>s?1:-1});return e},Ixe=(t,e)=>{let r=q.isVirtualLocator(t)?q.devirtualizeLocator(t):t,s=q.isVirtualLocator(e)?q.devirtualizeLocator(e):e;return q.areLocatorsEqual(r,s)},UY=(t,e,r,s)=>{if(t.linkType!=="SOFT")return!1;let a=ue.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return K.contains(s,a)===null},STt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let s=ue.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},c=t.getDependencyTreeRoots(),f=new Map,p=new Set,h=(S,P)=>{let I=gA(S);if(p.has(I))return;p.add(I);let R=t.getPackageInformation(S);if(R){let N=P?gA(P):"";if(gA(S)!==N&&R.linkType==="SOFT"&&!S.reference.startsWith("link:")&&!UY(R,S,t,s)){let U=Cxe(R,S,t);(!f.get(U)||S.reference.startsWith("workspace:"))&&f.set(U,S)}for(let[U,W]of R.packageDependencies)W!==null&&(R.packagePeers.has(U)||h(t.getLocator(U,W),S))}};for(let S of c)h(S,null);let E=s.split(K.sep);for(let S of f.values()){let P=t.getPackageInformation(S),R=ue.toPortablePath(P.packageLocation.slice(0,-1)).split(K.sep).slice(E.length),N=n;for(let U of R){let W=N.children.get(U);W||(W={children:new Map},N.children.set(U,W)),N=W}N.workspaceLocator=S}let C=(S,P)=>{if(S.workspaceLocator){let I=gA(P),R=a.get(I);R||(R=new Set,a.set(I,R)),R.add(S.workspaceLocator)}for(let I of S.children.values())C(I,S.workspaceLocator||P)};for(let S of n.children.values())C(S,n.workspaceLocator);return a},DTt=(t,e)=>{let r=[],s=!1,a=new Map,n=STt(t),c=t.getPackageInformation(t.topLevel);if(c===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let f=t.findPackageLocator(c.packageLocation);if(f===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=ue.toPortablePath(c.packageLocation.slice(0,-1)),h={name:f.name,identName:f.name,reference:f.reference,peerNames:c.packagePeers,dependencies:new Set,dependencyKind:1},E=new Map,C=(P,I)=>`${gA(I)}:${P}`,S=(P,I,R,N,U,W,te,ie)=>{let Ae=C(P,R),ce=E.get(Ae),me=!!ce;!me&&R.name===f.name&&R.reference===f.reference&&(ce=h,E.set(Ae,h));let pe=UY(I,R,t,p);if(!ce){let fe=0;pe?fe=2:I.linkType==="SOFT"&&R.name.endsWith(ng)&&(fe=1),ce={name:P,identName:R.name,reference:R.reference,dependencies:new Set,peerNames:fe===1?new Set:I.packagePeers,dependencyKind:fe},E.set(Ae,ce)}let Be;if(pe?Be=2:U.linkType==="SOFT"?Be=1:Be=0,ce.hoistPriority=Math.max(ce.hoistPriority||0,Be),ie&&!pe){let fe=gA({name:N.identName,reference:N.reference}),se=a.get(fe)||new Set;a.set(fe,se),se.add(ce.name)}let Ce=new Map(I.packageDependencies);if(e.project){let fe=e.project.workspacesByCwd.get(ue.toPortablePath(I.packageLocation.slice(0,-1)));if(fe){let se=new Set([...Array.from(fe.manifest.peerDependencies.values(),X=>q.stringifyIdent(X)),...Array.from(fe.manifest.peerDependenciesMeta.keys())]);for(let X of se)Ce.has(X)||(Ce.set(X,W.get(X)||null),ce.peerNames.add(X))}}let g=gA({name:R.name.replace(ng,""),reference:R.reference}),we=n.get(g);if(we)for(let fe of we)Ce.set(`${fe.name}${ng}`,fe.reference);(I!==U||I.linkType!=="SOFT"||!pe&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(te)))&&N.dependencies.add(ce);let Ee=R!==f&&I.linkType==="SOFT"&&!R.name.endsWith(ng)&&!pe;if(!me&&!Ee){let fe=new Map;for(let[se,X]of Ce)if(X!==null){let De=t.getLocator(se,X),Re=t.getLocator(se.replace(ng,""),X),gt=t.getPackageInformation(Re);if(gt===null)throw new Error("Assertion failed: Expected the package to have been registered");let j=UY(gt,De,t,p);if(e.validateExternalSoftLinks&&e.project&&j){gt.packageDependencies.size>0&&(s=!0);for(let[Ye,ke]of gt.packageDependencies)if(ke!==null){let it=q.parseLocator(Array.isArray(ke)?`${ke[0]}@${ke[1]}`:`${Ye}@${ke}`);if(gA(it)!==gA(De)){let _e=Ce.get(Ye);if(_e){let x=q.parseLocator(Array.isArray(_e)?`${_e[0]}@${_e[1]}`:`${Ye}@${_e}`);Ixe(x,it)||r.push({messageName:71,text:`Cannot link ${q.prettyIdent(e.project.configuration,q.parseIdent(De.name))} into ${q.prettyLocator(e.project.configuration,q.parseLocator(`${R.name}@${R.reference}`))} dependency ${q.prettyLocator(e.project.configuration,it)} conflicts with parent dependency ${q.prettyLocator(e.project.configuration,x)}`})}else{let x=fe.get(Ye);if(x){let w=x.target,b=q.parseLocator(Array.isArray(w)?`${w[0]}@${w[1]}`:`${Ye}@${w}`);Ixe(b,it)||r.push({messageName:71,text:`Cannot link ${q.prettyIdent(e.project.configuration,q.parseIdent(De.name))} into ${q.prettyLocator(e.project.configuration,q.parseLocator(`${R.name}@${R.reference}`))} dependency ${q.prettyLocator(e.project.configuration,it)} conflicts with dependency ${q.prettyLocator(e.project.configuration,b)} from sibling portal ${q.prettyIdent(e.project.configuration,q.parseIdent(x.portal.name))}`})}else fe.set(Ye,{target:it.reference,portal:De})}}}}let rt=e.hoistingLimitsByCwd?.get(te),Fe=j?te:K.relative(p,ue.toPortablePath(gt.packageLocation))||vt.dot,Ne=e.hoistingLimitsByCwd?.get(Fe);S(se,gt,De,ce,I,Ce,Fe,rt==="dependencies"||Ne==="dependencies"||Ne==="workspaces")}}};return S(f.name,c,f,h,c,c.packageDependencies,vt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:s}};function Cxe(t,e,r){let s=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return ue.toPortablePath(s||t.packageLocation)}function bTt(t,e,r){let s=e.getLocator(t.name.replace(ng,""),t.reference),a=e.getPackageInformation(s);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:ue.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:Cxe(a,t,e)}}var PTt=(t,e,r)=>{let s=new Map,a=(E,C,S)=>{let{linkType:P,target:I}=bTt(E,t,r);return{locator:gA(E),nodePath:C,target:I,linkType:P,aliases:S}},n=E=>{let[C,S]=E.split("/");return S?{scope:C,name:S}:{scope:null,name:C}},c=new Set,f=(E,C,S)=>{if(c.has(E))return;c.add(E);let P=Array.from(E.references).sort().join("#");for(let I of E.dependencies){let R=Array.from(I.references).sort().join("#");if(I.identName===E.identName.replace(ng,"")&&R===P)continue;let N=Array.from(I.references).sort(),U={name:I.identName,reference:N[0]},{name:W,scope:te}=n(I.name),ie=te?[te,W]:[W],Ae=K.join(C,Exe),ce=K.join(Ae,...ie),me=`${S}/${U.name}`,pe=a(U,S,N.slice(1)),Be=!1;if(pe.linkType==="SOFT"&&r.project){let Ce=r.project.workspacesByCwd.get(pe.target.slice(0,-1));Be=!!(Ce&&!Ce.manifest.name)}if(!I.name.endsWith(ng)&&!Be){let Ce=s.get(ce);if(Ce){if(Ce.dirList)throw new Error(`Assertion failed: ${ce} cannot merge dir node with leaf node`);{let Ee=q.parseLocator(Ce.locator),fe=q.parseLocator(pe.locator);if(Ce.linkType!==pe.linkType)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different link types ${Ce.nodePath}/${q.stringifyLocator(Ee)} and ${S}/${q.stringifyLocator(fe)}`);if(Ee.identHash!==fe.identHash)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different idents ${Ce.nodePath}/${q.stringifyLocator(Ee)} and ${S}/s${q.stringifyLocator(fe)}`);pe.aliases=[...pe.aliases,...Ce.aliases,q.parseLocator(Ce.locator).reference]}}s.set(ce,pe);let g=ce.split("/"),we=g.indexOf(Exe);for(let Ee=g.length-1;we>=0&&Ee>we;Ee--){let fe=ue.toPortablePath(g.slice(0,Ee).join(K.sep)),se=g[Ee],X=s.get(fe);if(!X)s.set(fe,{dirList:new Set([se])});else if(X.dirList){if(X.dirList.has(se))break;X.dirList.add(se)}}}f(I,pe.linkType==="SOFT"?pe.target:ce,me)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return s.set(h,p),f(e,h,""),s};Ve();Ve();bt();bt();rA();Bc();var oV={};Vt(oV,{PnpInstaller:()=>Gm,PnpLinker:()=>og,UnplugCommand:()=>Pw,default:()=>iRt,getPnpPath:()=>ag,jsInstallUtils:()=>mA,pnpUtils:()=>nb,quotePathIfNeeded:()=>ske});bt();var ike=ye("url");Ve();Ve();bt();bt();var wxe={DEFAULT:{collapsed:!1,next:{"*":"DEFAULT"}},TOP_LEVEL:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA","*":"DEFAULT"}},FALLBACK_EXCLUSION_LIST:{collapsed:!1,next:{"*":"FALLBACK_EXCLUSION_ENTRIES"}},FALLBACK_EXCLUSION_ENTRIES:{collapsed:!0,next:{"*":"FALLBACK_EXCLUSION_DATA"}},FALLBACK_EXCLUSION_DATA:{collapsed:!0,next:{"*":"DEFAULT"}},PACKAGE_REGISTRY_DATA:{collapsed:!1,next:{"*":"PACKAGE_REGISTRY_ENTRIES"}},PACKAGE_REGISTRY_ENTRIES:{collapsed:!0,next:{"*":"PACKAGE_STORE_DATA"}},PACKAGE_STORE_DATA:{collapsed:!1,next:{"*":"PACKAGE_STORE_ENTRIES"}},PACKAGE_STORE_ENTRIES:{collapsed:!0,next:{"*":"PACKAGE_INFORMATION_DATA"}},PACKAGE_INFORMATION_DATA:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES","*":"DEFAULT"}},PACKAGE_DEPENDENCIES:{collapsed:!1,next:{"*":"PACKAGE_DEPENDENCY"}},PACKAGE_DEPENDENCY:{collapsed:!0,next:{"*":"DEFAULT"}}};function xTt(t,e,r){let s="";s+="[";for(let a=0,n=t.length;a"u"||(f!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=fN(p,h,e,r).replace(/^ +/g,""),f+=1)}return a+="}",a}function TTt(t,e,r){let s=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{ +`;let c=0;for(let f=0,p=s.length;f"u"||(c!==0&&(n+=",",n+=` +`),n+=a,n+=JSON.stringify(h),n+=": ",n+=fN(h,E,e,a).replace(/^ +/g,""),c+=1)}return c!==0&&(n+=` +`),n+=r,n+="}",n}function fN(t,e,r,s){let{next:a}=wxe[r],n=a[t]||a["*"];return Bxe(e,n,s)}function Bxe(t,e,r){let{collapsed:s}=wxe[e];return Array.isArray(t)?s?xTt(t,e,r):kTt(t,e,r):typeof t=="object"&&t!==null?s?QTt(t,e,r):TTt(t,e,r):JSON.stringify(t)}function vxe(t){return Bxe(t,"TOP_LEVEL","")}function VD(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let s=[];for(let n of e)s.push(r.map(c=>n(c)));let a=r.map((n,c)=>c);return a.sort((n,c)=>{for(let f of s){let p=f[n]f[c]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function RTt(t){let e=new Map,r=VD(t.fallbackExclusionList||[],[({name:s,reference:a})=>s,({name:s,reference:a})=>a]);for(let{name:s,reference:a}of r){let n=e.get(s);typeof n>"u"&&e.set(s,n=new Set),n.add(a)}return Array.from(e).map(([s,a])=>[s,Array.from(a)])}function FTt(t){return VD(t.fallbackPool||[],([e])=>e)}function NTt(t){let e=[],r=t.dependencyTreeRoots.find(s=>t.packageRegistry.get(s.name)?.get(s.reference)?.packageLocation==="./");for(let[s,a]of VD(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){if(s===null)continue;let n=[];e.push([s,n]);for(let[c,{packageLocation:f,packageDependencies:p,packagePeers:h,linkType:E,discardFromLookup:C}]of VD(a,([S])=>S===null?"0":`1${S}`)){if(c===null)continue;let S=[];s!==null&&c!==null&&!p.has(s)&&S.push([s,c]);for(let[U,W]of p)S.push([U,W]);let P=VD(S,([U])=>U),I=h&&h.size>0?Array.from(h):void 0,N={packageLocation:f,packageDependencies:P,packagePeers:I,linkType:E,discardFromLookup:C||void 0};n.push([c,N]),r&&s===r.name&&c===r.reference&&e.unshift([null,[[null,N]]])}}return e}function KD(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,pnpZipBackend:t.pnpZipBackend,fallbackExclusionList:RTt(t),fallbackPool:FTt(t),packageRegistryData:NTt(t)}}var bxe=et(Dxe());function Pxe(t,e){return[t?`${t} +`:"",`/* eslint-disable */ +`,`// @ts-nocheck +`,`"use strict"; +`,` +`,e,` +`,(0,bxe.default)()].join("")}function OTt(t){return JSON.stringify(t,null,2)}function LTt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function MTt(t){return[`const RAW_RUNTIME_STATE = +`,`${LTt(vxe(t))}; + +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +`,`} +`].join("")}function _Tt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` const fs = require('fs'); +`,` const path = require('path'); +`,` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(Er.pnpData)}); +`,` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname}); +`,`} +`].join("")}function xxe(t){let e=KD(t),r=MTt(e);return Pxe(t.shebang,r)}function kxe(t){let e=KD(t),r=_Tt(),s=Pxe(t.shebang,r);return{dataFile:OTt(e),loaderFile:s}}bt();function qY(t,{basePath:e}){let r=ue.toPortablePath(e),s=K.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,c=new Map(t.packageRegistryData.map(([C,S])=>[C,new Map(S.map(([P,I])=>{if(C===null!=(P===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let R=I.discardFromLookup??!1,N={name:C,reference:P},U=n.get(I.packageLocation);U?(U.discardFromLookup=U.discardFromLookup&&R,R||(U.locator=N)):n.set(I.packageLocation,{locator:N,discardFromLookup:R});let W=null;return[P,{packageDependencies:new Map(I.packageDependencies),packagePeers:new Set(I.packagePeers),linkType:I.linkType,discardFromLookup:R,get packageLocation(){return W||(W=K.join(s,I.packageLocation))}}]}))])),f=new Map(t.fallbackExclusionList.map(([C,S])=>[C,new Set(S)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,E=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:E,fallbackExclusionList:f,pnpZipBackend:t.pnpZipBackend,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:c}}bt();bt();var lh=ye("module"),qm=ye("url"),$Y=ye("util");var ra=ye("url");var Fxe=et(ye("assert"));var GY=Array.isArray,JD=JSON.stringify,zD=Object.getOwnPropertyNames,jm=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),WY=(t,e)=>RegExp.prototype.exec.call(t,e),YY=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),ig=(t,...e)=>String.prototype.endsWith.apply(t,e),VY=(t,...e)=>String.prototype.includes.apply(t,e),KY=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),ZD=(t,...e)=>String.prototype.indexOf.apply(t,e),Qxe=(t,...e)=>String.prototype.replace.apply(t,e),sg=(t,...e)=>String.prototype.slice.apply(t,e),dA=(t,...e)=>String.prototype.startsWith.apply(t,e),Txe=Map,Rxe=JSON.parse;function XD(t,e,r){return class extends r{constructor(...s){super(e(...s)),this.code=t,this.name=`${r.name} [${t}]`}}}var Nxe=XD("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),JY=XD("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),Oxe=XD("ERR_INVALID_PACKAGE_TARGET",(t,e,r,s=!1,a=void 0)=>{let n=typeof r=="string"&&!s&&r.length&&!dA(r,"./");return e==="."?((0,Fxe.default)(s===!1),`Invalid "exports" main target ${JD(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${s?"imports":"exports"}" target ${JD(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),$D=XD("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error),Lxe=XD("ERR_PACKAGE_PATH_NOT_EXPORTED",(t,e,r=void 0)=>e==="."?`No "exports" main defined in ${t}package.json${r?` imported from ${r}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${t}package.json${r?` imported from ${r}`:""}`,Error);var pN=ye("url");function Mxe(t,e){let r=Object.create(null);for(let s=0;se):t+e}eb(r,t,s,c,a)}WY(Uxe,sg(t,2))!==null&&eb(r,t,s,c,a);let p=new URL(t,s),h=p.pathname,E=new URL(".",s).pathname;if(dA(h,E)||eb(r,t,s,c,a),e==="")return p;if(WY(Uxe,e)!==null){let C=n?Qxe(r,"*",()=>e):r+e;jTt(C,s,c,a)}return n?new URL(YY(Hxe,p.href,()=>e)):new URL(e,p)}function GTt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function bw(t,e,r,s,a,n,c,f){if(typeof e=="string")return qTt(e,r,s,t,a,n,c,f);if(GY(e)){if(e.length===0)return null;let p;for(let h=0;hn?-1:n>a||r===-1?1:s===-1||t.length>e.length?-1:e.length>t.length?1:0}function WTt(t,e,r){if(typeof t=="string"||GY(t))return!0;if(typeof t!="object"||t===null)return!1;let s=zD(t),a=!1,n=0;for(let c=0;c=h.length&&ig(e,C)&&qxe(n,h)===1&&KY(h,"*")===E&&(n=h,c=sg(e,E,e.length-C.length))}}if(n){let p=r[n],h=bw(t,p,c,n,s,!0,!1,a);return h==null&&zY(e,t,s),h}zY(e,t,s)}function Wxe({name:t,base:e,conditions:r,readFileSyncFn:s}){if(t==="#"||dA(t,"#/")||ig(t,"/")){let c="is not a valid internal imports specifier name";throw new JY(t,c,(0,ra.fileURLToPath)(e))}let a,n=_xe(e,s);if(n.exists){a=(0,ra.pathToFileURL)(n.pjsonPath);let c=n.imports;if(c)if(jm(c,t)&&!VY(t,"*")){let f=bw(a,c[t],"",t,e,!1,!0,r);if(f!=null)return f}else{let f="",p,h=zD(c);for(let E=0;E=C.length&&ig(t,P)&&qxe(f,C)===1&&KY(C,"*")===S&&(f=C,p=sg(t,S,t.length-P.length))}}if(f){let E=c[f],C=bw(a,E,p,f,e,!0,!0,r);if(C!=null)return C}}}HTt(t,a,e)}bt();var VTt=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ds(t,e,r={},s){s??=VTt.has(t)?"MODULE_NOT_FOUND":t;let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:s},pnpCode:{...a,value:t},data:{...a,value:r}})}function cf(t){return ue.normalize(ue.fromPortablePath(t))}var Jxe=et(Vxe());function zxe(t){return KTt(),XY[t]}var XY;function KTt(){XY||(XY={"--conditions":[],...Kxe(JTt()),...Kxe(process.execArgv)})}function Kxe(t){return(0,Jxe.default)({"--conditions":[String],"-C":"--conditions"},{argv:t,permissive:!0})}function JTt(){let t=[],e=zTt(process.env.NODE_OPTIONS||"",t);return t.length,e}function zTt(t,e){let r=[],s=!1,a=!0;for(let n=0;nparseInt(t,10)),Zxe=yl>19||yl===19&&ah>=2||yl===18&&ah>=13,lmr=yl===20&&ah<6||yl===19&&ah>=3,cmr=yl>19||yl===19&&ah>=6,umr=yl>=21||yl===20&&ah>=10||yl===18&&ah>=19,fmr=yl>=21||yl===20&&ah>=10||yl===18&&ah>=20,Amr=yl>=22;function Xxe(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>ue.fromPortablePath(fo.resolveVirtual(ue.toPortablePath(e)))),Zxe)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function eV(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,s=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,c=/\/$/,f=/^\.{0,2}\//,p={name:null,reference:null},h=[],E=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Fe of["react-scripts","gatsby"]){let Ne=t.packageRegistry.get(Fe);if(Ne)for(let Pe of Ne.keys()){if(Pe===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Fe,reference:Pe})}}let{ignorePattern:C,packageRegistry:S,packageLocatorsByLocations:P}=t;function I(Fe,Ne){return{fn:Fe,args:Ne,error:null,result:null}}function R(Fe){let Ne=process.stderr?.hasColors?.()??process.stdout.isTTY,Pe=(it,_e)=>`\x1B[${it}m${_e}\x1B[0m`,Ye=Fe.error;console.error(Ye?Pe("31;1",`\u2716 ${Fe.error?.message.replace(/\n.*/s,"")}`):Pe("33;1","\u203C Resolution")),Fe.args.length>0&&console.error();for(let it of Fe.args)console.error(` ${Pe("37;1","In \u2190")} ${(0,$Y.inspect)(it,{colors:Ne,compact:!0})}`);Fe.result&&(console.error(),console.error(` ${Pe("37;1","Out \u2192")} ${(0,$Y.inspect)(Fe.result,{colors:Ne,compact:!0})}`));let ke=new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2)??[];if(ke.length>0){console.error();for(let it of ke)console.error(` ${Pe("38;5;244",it)}`)}console.error()}function N(Fe,Ne){if(e.allowDebug===!1)return Ne;if(Number.isFinite(s)){if(s>=2)return(...Pe)=>{let Ye=I(Fe,Pe);try{return Ye.result=Ne(...Pe)}catch(ke){throw Ye.error=ke}finally{R(Ye)}};if(s>=1)return(...Pe)=>{try{return Ne(...Pe)}catch(Ye){let ke=I(Fe,Pe);throw ke.error=Ye,R(ke),Ye}}}return Ne}function U(Fe){let Ne=g(Fe);if(!Ne)throw ds("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Ne}function W(Fe){if(Fe.name===null)return!0;for(let Ne of t.dependencyTreeRoots)if(Ne.name===Fe.name&&Ne.reference===Fe.reference)return!0;return!1}let te=new Set(["node","require",...zxe("--conditions")]);function ie(Fe,Ne=te,Pe){let Ye=fe(K.join(Fe,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(Ye===null)throw ds("INTERNAL",`The locator that owns the "${Fe}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ke}=U(Ye),it=K.join(ke,Er.manifest);if(!e.fakeFs.existsSync(it))return null;let _e=JSON.parse(e.fakeFs.readFileSync(it,"utf8"));if(_e.exports==null)return null;let x=K.contains(ke,Fe);if(x===null)throw ds("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");x!=="."&&!f.test(x)&&(x=`./${x}`);try{let w=Gxe({packageJSONUrl:(0,qm.pathToFileURL)(ue.fromPortablePath(it)),packageSubpath:x,exports:_e.exports,base:Pe?(0,qm.pathToFileURL)(ue.fromPortablePath(Pe)):null,conditions:Ne});return ue.toPortablePath((0,qm.fileURLToPath)(w))}catch(w){throw ds("EXPORTS_RESOLUTION_FAILED",w.message,{unqualifiedPath:cf(Fe),locator:Ye,pkgJson:_e,subpath:cf(x),conditions:Ne},w.code)}}function Ae(Fe,Ne,{extensions:Pe}){let Ye;try{Ne.push(Fe),Ye=e.fakeFs.statSync(Fe)}catch{}if(Ye&&!Ye.isDirectory())return e.fakeFs.realpathSync(Fe);if(Ye&&Ye.isDirectory()){let ke;try{ke=JSON.parse(e.fakeFs.readFileSync(K.join(Fe,Er.manifest),"utf8"))}catch{}let it;if(ke&&ke.main&&(it=K.resolve(Fe,ke.main)),it&&it!==Fe){let _e=Ae(it,Ne,{extensions:Pe});if(_e!==null)return _e}}for(let ke=0,it=Pe.length;ke{let x=JSON.stringify(_e.name);if(Ye.has(x))return;Ye.add(x);let w=we(_e);for(let b of w)if(U(b).packagePeers.has(Fe))ke(b);else{let F=Pe.get(b.name);typeof F>"u"&&Pe.set(b.name,F=new Set),F.add(b.reference)}};ke(Ne);let it=[];for(let _e of[...Pe.keys()].sort())for(let x of[...Pe.get(_e)].sort())it.push({name:_e,reference:x});return it}function fe(Fe,{resolveIgnored:Ne=!1,includeDiscardFromLookup:Pe=!1}={}){if(pe(Fe)&&!Ne)return null;let Ye=K.relative(t.basePath,Fe);Ye.match(n)||(Ye=`./${Ye}`),Ye.endsWith("/")||(Ye=`${Ye}/`);do{let ke=P.get(Ye);if(typeof ke>"u"||ke.discardFromLookup&&!Pe){Ye=Ye.substring(0,Ye.lastIndexOf("/",Ye.length-2)+1);continue}return ke.locator}while(Ye!=="");return null}function se(Fe){try{return e.fakeFs.readFileSync(ue.toPortablePath(Fe),"utf8")}catch(Ne){if(Ne.code==="ENOENT")return;throw Ne}}function X(Fe,Ne,{considerBuiltins:Pe=!0}={}){if(Fe.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Fe==="pnpapi")return ue.toPortablePath(e.pnpapiResolution);if(Pe&&(0,lh.isBuiltin)(Fe))return null;let Ye=cf(Fe),ke=Ne&&cf(Ne);if(Ne&&pe(Ne)&&(!K.isAbsolute(Fe)||fe(Fe)===null)){let x=me(Fe,Ne);if(x===!1)throw ds("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${Ye}" +Required by: ${ke} +`,{request:Ye,issuer:ke});return ue.toPortablePath(x)}let it,_e=Fe.match(a);if(_e){if(!Ne)throw ds("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ye,issuer:ke});let[,x,w]=_e,b=fe(Ne);if(!b){let Te=me(Fe,Ne);if(Te===!1)throw ds("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${Ye}" +Required by: ${ke} +`,{request:Ye,issuer:ke});return ue.toPortablePath(Te)}let F=U(b).packageDependencies.get(x),z=null;if(F==null&&b.name!==null){let Te=t.fallbackExclusionList.get(b.name);if(!Te||!Te.has(b.reference)){for(let Et=0,qt=h.length;EtW(lt))?Z=ds("MISSING_PEER_DEPENDENCY",`${b.name} tried to access ${x} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} +Required by: ${b.name}@${b.reference} (via ${ke}) +${Te.map(lt=>`Ancestor breaking the chain: ${lt.name}@${lt.reference} +`).join("")} +`,{request:Ye,issuer:ke,issuerLocator:Object.assign({},b),dependencyName:x,brokenAncestors:Te}):Z=ds("MISSING_PEER_DEPENDENCY",`${b.name} tried to access ${x} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} +Required by: ${b.name}@${b.reference} (via ${ke}) + +${Te.map(lt=>`Ancestor breaking the chain: ${lt.name}@${lt.reference} +`).join("")} +`,{request:Ye,issuer:ke,issuerLocator:Object.assign({},b),dependencyName:x,brokenAncestors:Te})}else F===void 0&&(!Pe&&(0,lh.isBuiltin)(Fe)?W(b)?Z=ds("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} +Required by: ${ke} +`,{request:Ye,issuer:ke,dependencyName:x}):Z=ds("UNDECLARED_DEPENDENCY",`${b.name} tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in ${b.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} +Required by: ${ke} +`,{request:Ye,issuer:ke,issuerLocator:Object.assign({},b),dependencyName:x}):W(b)?Z=ds("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} +Required by: ${ke} +`,{request:Ye,issuer:ke,dependencyName:x}):Z=ds("UNDECLARED_DEPENDENCY",`${b.name} tried to access ${x}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} +Required by: ${b.name}@${b.reference} (via ${ke}) +`,{request:Ye,issuer:ke,issuerLocator:Object.assign({},b),dependencyName:x}));if(F==null){if(z===null||Z===null)throw Z||new Error("Assertion failed: Expected an error to have been set");F=z;let Te=Z.message.replace(/\n.*/g,"");Z.message=Te,!E.has(Te)&&s!==0&&(E.add(Te),process.emitWarning(Z))}let $=Array.isArray(F)?{name:F[0],reference:F[1]}:{name:x,reference:F},oe=U($);if(!oe.packageLocation)throw ds("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${$.name}@${$.reference}${$.name!==Ye?` (via "${Ye}")`:""} +Required by: ${b.name}@${b.reference} (via ${ke}) +`,{request:Ye,issuer:ke,dependencyLocator:Object.assign({},$)});let xe=oe.packageLocation;w?it=K.join(xe,w):it=xe}else if(K.isAbsolute(Fe))it=K.normalize(Fe);else{if(!Ne)throw ds("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ye,issuer:ke});let x=K.resolve(Ne);Ne.match(c)?it=K.normalize(K.join(x,Fe)):it=K.normalize(K.join(K.dirname(x),Fe))}return K.normalize(it)}function De(Fe,Ne,Pe=te,Ye){if(n.test(Fe))return Ne;let ke=ie(Ne,Pe,Ye);return ke?K.normalize(ke):Ne}function Re(Fe,{extensions:Ne=Object.keys(lh.Module._extensions)}={}){let Pe=[],Ye=Ae(Fe,Pe,{extensions:Ne});if(Ye)return K.normalize(Ye);{Xxe(Pe.map(_e=>ue.fromPortablePath(_e)));let ke=cf(Fe),it=fe(Fe);if(it){let{packageLocation:_e}=U(it),x=!0;try{e.fakeFs.accessSync(_e)}catch(w){if(w?.code==="ENOENT")x=!1;else{let b=(w?.message??w??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw ds("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${b}). + +Missing package: ${it.name}@${it.reference} +Expected package location: ${cf(_e)} +`,{unqualifiedPath:ke,extensions:Ne})}}if(!x){let w=_e.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ds("QUALIFIED_PATH_RESOLUTION_FAILED",`${w} + +Missing package: ${it.name}@${it.reference} +Expected package location: ${cf(_e)} +`,{unqualifiedPath:ke,extensions:Ne})}}throw ds("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${ke} +${Pe.map(_e=>`Not found: ${cf(_e)} +`).join("")}`,{unqualifiedPath:ke,extensions:Ne})}}function gt(Fe,Ne,Pe){if(!Ne)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let Ye=Wxe({name:Fe,base:(0,qm.pathToFileURL)(ue.fromPortablePath(Ne)),conditions:Pe.conditions??te,readFileSyncFn:se});if(Ye instanceof URL)return Re(ue.toPortablePath((0,qm.fileURLToPath)(Ye)),{extensions:Pe.extensions});if(Ye.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return j(Ye,Ne,Pe)}function j(Fe,Ne,Pe={}){try{if(Fe.startsWith("#"))return gt(Fe,Ne,Pe);let{considerBuiltins:Ye,extensions:ke,conditions:it}=Pe,_e=X(Fe,Ne,{considerBuiltins:Ye});if(Fe==="pnpapi")return _e;if(_e===null)return null;let x=()=>Ne!==null?pe(Ne):!1,w=(!Ye||!(0,lh.isBuiltin)(Fe))&&!x()?De(Fe,_e,it,Ne):_e;return Re(w,{extensions:ke})}catch(Ye){throw Object.hasOwn(Ye,"pnpCode")&&Object.assign(Ye.data,{request:cf(Fe),issuer:Ne&&cf(Ne)}),Ye}}function rt(Fe){let Ne=K.normalize(Fe),Pe=fo.resolveVirtual(Ne);return Pe!==Ne?Pe:null}return{VERSIONS:Be,topLevel:Ce,getLocator:(Fe,Ne)=>Array.isArray(Ne)?{name:Ne[0],reference:Ne[1]}:{name:Fe,reference:Ne},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Fe=[];for(let[Ne,Pe]of S)for(let Ye of Pe.keys())Ne!==null&&Ye!==null&&Fe.push({name:Ne,reference:Ye});return Fe},getPackageInformation:Fe=>{let Ne=g(Fe);if(Ne===null)return null;let Pe=ue.fromPortablePath(Ne.packageLocation);return{...Ne,packageLocation:Pe}},findPackageLocator:Fe=>fe(ue.toPortablePath(Fe)),resolveToUnqualified:N("resolveToUnqualified",(Fe,Ne,Pe)=>{let Ye=Ne!==null?ue.toPortablePath(Ne):null,ke=X(ue.toPortablePath(Fe),Ye,Pe);return ke===null?null:ue.fromPortablePath(ke)}),resolveUnqualified:N("resolveUnqualified",(Fe,Ne)=>ue.fromPortablePath(Re(ue.toPortablePath(Fe),Ne))),resolveRequest:N("resolveRequest",(Fe,Ne,Pe)=>{let Ye=Ne!==null?ue.toPortablePath(Ne):null,ke=j(ue.toPortablePath(Fe),Ye,Pe);return ke===null?null:ue.fromPortablePath(ke)}),resolveVirtual:N("resolveVirtual",Fe=>{let Ne=rt(ue.toPortablePath(Fe));return Ne!==null?ue.fromPortablePath(Ne):null})}}bt();var $xe=(t,e,r)=>{let s=KD(t),a=qY(s,{basePath:e}),n=ue.join(e,Er.pnpCjs);return eV(a,{fakeFs:r,pnpapiResolution:n})};var rV=et(tke());Wt();var mA={};Vt(mA,{checkManifestCompatibility:()=>rke,extractBuildRequest:()=>hN,getExtractHint:()=>nV,hasBindingGyp:()=>iV});Ve();bt();function rke(t){return q.isPackageCompatible(t,As.getArchitectureSet())}function hN(t,e,r,{configuration:s}){let a=[];for(let n of["preinstall","install","postinstall"])e.manifest.scripts.has(n)&&a.push({type:0,script:n});return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&a.push({type:1,script:"node-gyp rebuild"}),a.length===0?null:t.linkType!=="HARD"?{skipped:!0,explain:n=>n.reportWarningOnce(6,`${q.prettyLocator(s,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`)}:r&&r.built===!1?{skipped:!0,explain:n=>n.reportInfoOnce(5,`${q.prettyLocator(s,t)} lists build scripts, but its build has been explicitly disabled through configuration.`)}:!s.get("enableScripts")&&!r.built?{skipped:!0,explain:n=>n.reportWarningOnce(4,`${q.prettyLocator(s,t)} lists build scripts, but all build scripts have been disabled.`)}:rke(t)?{skipped:!1,directives:a}:{skipped:!0,explain:n=>n.reportWarningOnce(76,`${q.prettyLocator(s,t)} The ${As.getArchitectureName()} architecture is incompatible with this package, build skipped.`)}}var XTt=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function nV(t){return t.packageFs.getExtractHint({relevantExtensions:XTt})}function iV(t){let e=K.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var nb={};Vt(nb,{getUnpluggedPath:()=>rb});Ve();bt();function rb(t,{configuration:e}){return K.resolve(e.get("pnpUnpluggedFolder"),q.slugifyLocator(t))}var $Tt=new Set([q.makeIdent(null,"open").identHash,q.makeIdent(null,"opn").identHash]),og=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let s=ag(r.project).cjs;if(!le.existsSync(s))throw new nt(`The project in ${he.pretty(r.project.configuration,`${r.project.cwd}/package.json`,he.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=je.getFactoryWithDefault(this.pnpCache,s,()=>je.dynamicRequire(s,{cachingStrategy:je.CachingStrategy.FsTime})),n={name:q.stringifyIdent(e),reference:e.reference},c=a.getPackageInformation(n);if(!c)throw new nt(`Couldn't find ${q.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return ue.toPortablePath(c.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let s=ag(r.project).cjs;if(!le.existsSync(s))return null;let n=je.getFactoryWithDefault(this.pnpCache,s,()=>je.dynamicRequire(s,{cachingStrategy:je.CachingStrategy.FsTime})).findPackageLocator(ue.fromPortablePath(e));return n?q.makeLocator(q.parseIdent(n.name),n.reference):null}makeInstaller(e){return new Gm(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},Gm=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new je.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}attachCustomData(e){this.customData=e}async installPackage(e,r,s){let a=q.stringifyIdent(e),n=e.reference,c=!!this.opts.project.tryWorkspaceByLocator(e),f=q.isVirtualLocator(e),p=e.peerDependencies.size>0&&!f,h=!p&&!c,E=!p&&e.linkType!=="SOFT",C,S;if(h||E){let te=f?q.devirtualizeLocator(e):e;C=this.customData.store.get(te.locatorHash),typeof C>"u"&&(C=await eRt(r),e.linkType==="HARD"&&this.customData.store.set(te.locatorHash,C)),C.manifest.type==="module"&&(this.isESMLoaderRequired=!0),S=this.opts.project.getDependencyMeta(te,e.version)}let P=h?hN(e,C,S,{configuration:this.opts.project.configuration}):null,I=E?await this.unplugPackageIfNeeded(e,C,r,S,s):r.packageFs;if(K.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let R=K.resolve(I.getRealPath(),r.prefixPath),N=sV(this.opts.project.cwd,R),U=new Map,W=new Set;if(f){for(let te of e.peerDependencies.values())U.set(q.stringifyIdent(te),null),W.add(q.stringifyIdent(te));if(!c){let te=q.devirtualizeLocator(e);this.virtualTemplates.set(te.locatorHash,{location:sV(this.opts.project.cwd,fo.resolveVirtual(R)),locator:te})}}return je.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:N,packageDependencies:U,packagePeers:W,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:R,buildRequest:P}}async attachInternalDependencies(e,r){let s=this.getPackageInformation(e);for(let[a,n]of r){let c=q.areIdentsEqual(a,n)?n.reference:[q.stringifyIdent(n),n.reference];s.packageDependencies.set(q.stringifyIdent(a),c)}}async attachExternalDependents(e,r){for(let s of r)this.getDiskInformation(s).packageDependencies.set(q.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=ag(this.opts.project);if(this.isEsmEnabled()||await le.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await le.removePromise(e.cjs),await le.removePromise(e.data),await le.removePromise(e.esmLoader),await le.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:C,location:S}of this.virtualTemplates.values())je.getMapWithDefault(this.packageRegistry,q.stringifyIdent(C)).set(C.reference,{packageLocation:S,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});let r=this.opts.project.configuration.get("pnpFallbackMode"),s=this.opts.project.workspaces.map(({anchoredLocator:C})=>({name:q.stringifyIdent(C),reference:C.reference})),a=r!=="none",n=[],c=new Map,f=je.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang"),E=this.opts.project.configuration.get("pnpZipBackend");if(r==="dependencies-only")for(let C of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(C)&&n.push({name:q.stringifyIdent(C),reference:C.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:s,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:c,ignorePattern:f,pnpZipBackend:E,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=ag(this.opts.project),s=await this.locateNodeModules(e.ignorePattern);if(s.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of s)await le.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=xxe(e);await le.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await le.removePromise(r.data)}else{let{dataFile:n,loaderFile:c}=kxe(e);await le.changeFilePromise(r.cjs,c,{automaticNewlines:!0,mode:493}),await le.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await le.changeFilePromise(r.esmLoader,(0,rV.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await le.removePromise(a);else for(let n of await le.readdirPromise(a)){let c=K.resolve(a,n);this.unpluggedPaths.has(c)||await le.removePromise(c)}}async locateNodeModules(e){let r=[],s=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=K.join(a.cwd,"node_modules");if(s&&s.test(K.relative(this.opts.project.cwd,a.cwd))||!le.existsSync(n))continue;let c=await le.readdirPromise(n,{withFileTypes:!0}),f=c.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(f.length===c.length)r.push(n);else for(let p of f)r.push(K.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,s,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,s,n):s.packageFs}shouldBeUnplugged(e,r,s){return typeof s.unplugged<"u"?s.unplugged:$Tt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(hN(e,r,s,{configuration:this.opts.project.configuration})?.skipped===!1||r.misc.extractHint)}async unplugPackage(e,r,s){let a=rb(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new Hf(a,{baseFs:r.packageFs,pathUtils:K}):(this.unpluggedPaths.add(a),s.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=K.join(a,r.prefixPath,".ready");await le.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await le.mkdirPromise(a,{recursive:!0}),await le.copyPromise(a,vt.dot,{baseFs:r.packageFs,overwrite:!1}),await le.writeFilePromise(n,""))})),new Sn(a))}getPackageInformation(e){let r=q.stringifyIdent(e),s=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${q.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(s);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${q.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=je.getMapWithDefault(this.packageRegistry,"@@disk"),s=sV(this.opts.project.cwd,e);return je.getFactoryWithDefault(r,s,()=>({packageLocation:s,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function sV(t,e){let r=K.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function eRt(t){let e=await Ht.tryFind(t.prefixPath,{baseFs:t.packageFs})??new Ht,r=new Set(["preinstall","install","postinstall"]);for(let s of e.scripts.keys())r.has(s)||e.scripts.delete(s);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:nV(t),hasBindingGyp:iV(t)}}}Ve();Ve();Wt();var nke=et(Sa());var Pw=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}static{this.paths=[["unplug"]]}static{this.usage=ot.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new nt("This command can only be used if the `nodeLinker` option is set to `pnp`");await s.restoreInstallState();let c=new Set(this.patterns),f=this.patterns.map(P=>{let I=q.parseDescriptor(P),R=I.range!=="unknown"?I:q.makeDescriptor(I,"*");if(!Or.validRange(R.range))throw new nt(`The range of the descriptor patterns must be a valid semver range (${q.prettyDescriptor(r,R)})`);return N=>{let U=q.stringifyIdent(N);return!nke.default.isMatch(U,q.stringifyIdent(R))||N.version&&!Or.satisfiesWithPrereleases(N.version,R.range)?!1:(c.delete(P),!0)}}),p=()=>{let P=[];for(let I of s.storedPackages.values())!s.tryWorkspaceByLocator(I)&&!q.isVirtualLocator(I)&&f.some(R=>R(I))&&P.push(I);return P},h=P=>{let I=new Set,R=[],N=(U,W)=>{if(I.has(U.locatorHash))return;let te=!!s.tryWorkspaceByLocator(U);if(!(W>0&&!this.recursive&&te)&&(I.add(U.locatorHash),!s.tryWorkspaceByLocator(U)&&f.some(ie=>ie(U))&&R.push(U),!(W>0&&!this.recursive)))for(let ie of U.dependencies.values()){let Ae=s.storedResolutions.get(ie.descriptorHash);if(!Ae)throw new Error("Assertion failed: The resolution should have been registered");let ce=s.storedPackages.get(Ae);if(!ce)throw new Error("Assertion failed: The package should have been registered");N(ce,W+1)}};for(let U of P)N(U.anchoredPackage,0);return R},E,C;if(this.all&&this.recursive?(E=p(),C="the project"):this.all?(E=h(s.workspaces),C="any workspace"):(E=h([a]),C="this workspace"),c.size>1)throw new nt(`Patterns ${he.prettyList(r,c,he.Type.CODE)} don't match any packages referenced by ${C}`);if(c.size>0)throw new nt(`Pattern ${he.prettyList(r,c,he.Type.CODE)} doesn't match any packages referenced by ${C}`);E=je.sortMap(E,P=>q.stringifyLocator(P));let S=await Ot.start({configuration:r,stdout:this.context.stdout,json:this.json},async P=>{for(let I of E){let R=I.version??"unknown",N=s.topLevelWorkspace.manifest.ensureDependencyMeta(q.makeDescriptor(I,R));N.unplugged=!0,P.reportInfo(0,`Will unpack ${q.prettyLocator(r,I)} to ${he.pretty(r,rb(I,{configuration:r}),he.Type.PATH)}`),P.reportJson({locator:q.stringifyLocator(I),version:R})}await s.topLevelWorkspace.persistManifest(),this.json||P.reportSeparator()});return S.hasErrors()?S.exitCode():await s.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};var ag=t=>({cjs:K.join(t.cwd,Er.pnpCjs),data:K.join(t.cwd,Er.pnpData),esmLoader:K.join(t.cwd,Er.pnpEsmLoader)}),ske=t=>/\s/.test(t)?JSON.stringify(t):t;async function tRt(t,e,r){let s=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/,n=(e.NODE_OPTIONS??"").replace(s," ").replace(a," ").trim();if(t.configuration.get("nodeLinker")!=="pnp"){e.NODE_OPTIONS=n||void 0;return}let c=ag(t),f=`--require ${ske(ue.fromPortablePath(c.cjs))}`;le.existsSync(c.esmLoader)&&(f=`${f} --experimental-loader ${(0,ike.pathToFileURL)(ue.fromPortablePath(c.esmLoader)).href}`),le.existsSync(c.cjs)&&(e.NODE_OPTIONS=n?`${f} ${n}`:f)}async function rRt(t,e){let r=ag(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var nRt={hooks:{populateYarnPaths:rRt,setupScriptEnvironment:tRt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "pnpm", or "node-modules"',type:"STRING",default:"pnp"},minizip:{description:"Whether Yarn should use minizip to extract archives",type:"BOOLEAN",default:!1},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpZipBackend:{description:"Whether to use the experimental js implementation for the ZipFS",type:"STRING",values:["libzip","js"],default:"libzip"},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[og],commands:[Pw]},iRt=nRt;var pke=et(uke());Wt();var pV=et(ye("crypto")),hke=et(ye("fs")),gke=1,_i="node_modules",gN=".bin",dke=".yarn-state.yml",CRt=1e3,hV=(s=>(s.CLASSIC="classic",s.HARDLINKS_LOCAL="hardlinks-local",s.HARDLINKS_GLOBAL="hardlinks-global",s))(hV||{}),ib=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let s=r.project.tryWorkspaceByLocator(e);if(s)return s.cwd;let a=await je.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await AV(r.project,{unrollAliases:!0}));if(a===null)throw new nt("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(q.stringifyLocator(e));if(!n){let p=new nt(`Couldn't find ${q.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let c=n.locations.sort((p,h)=>p.split(K.sep).length-h.split(K.sep).length),f=K.join(r.project.configuration.startingCwd,_i);return c.find(p=>K.contains(f,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let s=await je.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await AV(r.project,{unrollAliases:!0}));if(s===null)return null;let{locationRoot:a,segments:n}=dN(K.resolve(e),{skipPrefix:r.project.cwd}),c=s.locationTree.get(a);if(!c)return null;let f=c.locator;for(let p of n){if(c=c.children.get(p),!c)break;f=c.locator||f}return q.parseLocator(f)}makeInstaller(e){return new fV(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},fV=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let s=K.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await wRt(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!q.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildRequest:null};let n=new Map,c=new Set;n.has(q.stringifyIdent(e))||n.set(q.stringifyIdent(e),e.reference);let f=e;if(q.isVirtualLocator(e)){f=q.devirtualizeLocator(e);for(let E of e.peerDependencies.values())n.set(q.stringifyIdent(E),null),c.add(q.stringifyIdent(E))}let p={packageLocation:`${ue.fromPortablePath(s)}/`,packageDependencies:n,packagePeers:c,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(f.locatorHash,h),{packageLocation:s,buildRequest:null}}async attachInternalDependencies(e,r){let s=this.localStore.get(e.locatorHash);if(typeof s>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let c=q.areIdentsEqual(a,n)?n.reference:[q.stringifyIdent(n),n.reference];s.pnpNode.packageDependencies.set(q.stringifyIdent(a),c)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new fo({baseFs:new tA({maxOpenFiles:80,readOnlyArchives:!0})}),r=await AV(this.opts.project),s=this.opts.project.configuration.get("nmMode");(r===null||s!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:s,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(S=>{let P=this.opts.project.configuration.get("nmHoistingLimits");try{P=je.validateEnum(WD,S.manifest.installConfig?.hoistingLimits??P)}catch{let I=q.prettyWorkspace(this.opts.project.configuration,S);this.opts.report.reportWarning(57,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(WD).join(", ")}, using default: "${P}"`)}return[S.relativeCwd,P]})),n=new Map(this.opts.project.workspaces.map(S=>{let P=this.opts.project.configuration.get("nmSelfReferences");return P=S.manifest.installConfig?.selfReferences??P,[S.relativeCwd,P]})),c={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(S,P)=>Array.isArray(P)?{name:P[0],reference:P[1]}:{name:S,reference:P},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(S=>{let P=S.anchoredLocator;return{name:q.stringifyIdent(P),reference:P.reference}}),getPackageInformation:S=>{let P=S.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:q.makeLocator(q.parseIdent(S.name),S.reference),I=this.localStore.get(P.locatorHash);if(typeof I>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return I.pnpNode},findPackageLocator:S=>{let P=this.opts.project.tryWorkspaceByCwd(ue.toPortablePath(S));if(P!==null){let I=P.anchoredLocator;return{name:q.stringifyIdent(I),reference:I.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:S=>ue.fromPortablePath(fo.resolveVirtual(ue.toPortablePath(S)))},{tree:f,errors:p,preserveSymlinksRequired:h}=YD(c,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!f){for(let{messageName:S,text:P}of p)this.opts.report.reportError(S,P);return}let E=HY(f);await PRt(r,E,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async S=>{let P=q.parseLocator(S),I=this.localStore.get(P.locatorHash);if(typeof I>"u")throw new Error("Assertion failed: Expected the slot to exist");return I.customPackageData.manifest}});let C=[];for(let[S,P]of E.entries()){if(Eke(S))continue;let I=q.parseLocator(S),R=this.localStore.get(I.locatorHash);if(typeof R>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(R.pkg))continue;let N=mA.extractBuildRequest(R.pkg,R.customPackageData,R.dependencyMeta,{configuration:this.opts.project.configuration});N&&C.push({buildLocations:P.locations,locator:I,buildRequest:N})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${he.pretty(this.opts.project.configuration,"--preserve-symlinks",he.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:C}}};async function wRt(t,e){let r=await Ht.tryFind(e.prefixPath,{baseFs:e.packageFs})??new Ht,s=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())s.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:mA.hasBindingGyp(e)}}}async function BRt(t,e,r,s,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${gke} +`,n+=` nmMode: ${s.value} +`;let c=Array.from(e.keys()).sort(),f=q.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let E of c){let C=e.get(E);n+=` +`,n+=`${JSON.stringify(E)}: +`,n+=` locations: +`;for(let S of C.locations){let P=K.contains(t.cwd,S);if(P===null)throw new Error(`Assertion failed: Expected the path to be within the project (${S})`);n+=` - ${JSON.stringify(P)} +`}if(C.aliases.length>0){n+=` aliases: +`;for(let S of C.aliases)n+=` - ${JSON.stringify(S)} +`}if(E===f&&r.size>0){n+=` bin: +`;for(let[S,P]of r){let I=K.contains(t.cwd,S);if(I===null)throw new Error(`Assertion failed: Expected the path to be within the project (${S})`);n+=` ${JSON.stringify(I)}: +`;for(let[R,N]of P){let U=K.relative(K.join(S,_i),N);n+=` ${JSON.stringify(R)}: ${JSON.stringify(U)} +`}}}}let p=t.cwd,h=K.join(p,_i,dke);a&&await le.removePromise(h),await le.changeFilePromise(h,n,{automaticNewlines:!0})}async function AV(t,{unrollAliases:e=!1}={}){let r=t.cwd,s=K.join(r,_i,dke),a;try{a=await le.statPromise(s)}catch{}if(!a)return null;let n=ls(await le.readFilePromise(s,"utf8"));if(n.__metadata.version>gke)return null;let c=n.__metadata.nmMode||"classic",f=new Map,p=new Map;delete n.__metadata;for(let[h,E]of Object.entries(n)){let C=E.locations.map(P=>K.join(r,P)),S=E.bin;if(S)for(let[P,I]of Object.entries(S)){let R=K.join(r,ue.toPortablePath(P)),N=je.getMapWithDefault(p,R);for(let[U,W]of Object.entries(I))N.set(U,ue.toPortablePath([R,_i,W].join(K.sep)))}if(f.set(h,{target:vt.dot,linkType:"HARD",locations:C,aliases:E.aliases||[]}),e&&E.aliases)for(let P of E.aliases){let{scope:I,name:R}=q.parseLocator(h),N=q.makeLocator(q.makeIdent(I,R),P),U=q.stringifyLocator(N);f.set(U,{target:vt.dot,linkType:"HARD",locations:C,aliases:[]})}}return{locatorMap:f,binSymlinks:p,locationTree:mke(f,{skipPrefix:t.cwd}),nmMode:c,mtimeMs:a.mtimeMs}}var kw=async(t,e)=>{if(t.split(K.sep).indexOf(_i)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{let r;if(!e.innerLoop&&(r=await le.lstatPromise(t),!r.isDirectory()&&!r.isSymbolicLink()||r.isSymbolicLink()&&!e.isWorkspaceDir)){await le.unlinkPromise(t);return}let s=await le.readdirPromise(t,{withFileTypes:!0});for(let n of s){let c=K.join(t,n.name);n.isDirectory()?(n.name!==_i||e&&e.innerLoop)&&await kw(c,{innerLoop:!0,contentsOnly:!1}):await le.unlinkPromise(c)}let a=!e.innerLoop&&e.isWorkspaceDir&&r?.isSymbolicLink();!e.contentsOnly&&!a&&await le.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},fke=4,dN=(t,{skipPrefix:e})=>{let r=K.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let s=r.split(K.sep).filter(p=>p!==""),a=s.indexOf(_i),n=s.slice(0,a).join(K.sep),c=K.join(e,n),f=s.slice(a);return{locationRoot:c,segments:f}},mke=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let s=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&K.contains(e,n.target)!==null){let f=je.getFactoryWithDefault(r,n.target,s);f.locator=a,f.linkType=n.linkType}for(let c of n.locations){let{locationRoot:f,segments:p}=dN(c,{skipPrefix:e}),h=je.getFactoryWithDefault(r,f,s);for(let E=0;E{if(process.platform==="win32"&&r==="junctions"){let s;try{s=await le.lstatPromise(t)}catch{}if(!s||s.isDirectory()){await le.symlinkPromise(t,e,"junction");return}}await le.symlinkPromise(K.relative(K.dirname(e),t),e)};async function yke(t,e,r){let s=K.join(t,`${pV.default.randomBytes(16).toString("hex")}.tmp`);try{await le.writeFilePromise(s,r);try{await le.linkPromise(s,e)}catch{}}finally{await le.unlinkPromise(s)}}async function vRt({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:s,baseFs:a,nmMode:n}){if(r.kind==="file"){if(n.value==="hardlinks-global"&&s&&r.digest){let f=K.join(s,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await le.statPromise(f);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs{await le.mkdirPromise(t,{recursive:!0});let f=async(E=vt.dot)=>{let C=K.join(e,E),S=await r.readdirPromise(C,{withFileTypes:!0}),P=new Map;for(let I of S){let R=K.join(E,I.name),N,U=K.join(C,I.name);if(I.isFile()){if(N={kind:"file",mode:(await r.lstatPromise(U)).mode},a.value==="hardlinks-global"){let W=await Nn.checksumFile(U,{baseFs:r,algorithm:"sha1"});N.digest=W}}else if(I.isDirectory())N={kind:"directory"};else if(I.isSymbolicLink())N={kind:"symlink",symlinkTo:await r.readlinkPromise(U)};else throw new Error(`Unsupported file type (file: ${U}, mode: 0o${await r.statSync(U).mode.toString(8).padStart(6,"0")})`);if(P.set(R,N),I.isDirectory()&&R!==_i){let W=await f(R);for(let[te,ie]of W)P.set(te,ie)}}return P},p;if(a.value==="hardlinks-global"&&s&&c){let E=K.join(s,c.substring(0,2),`${c.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await le.readFilePromise(E,"utf8"))))}catch{p=await f()}}else p=await f();let h=!1;for(let[E,C]of p){let S=K.join(e,E),P=K.join(t,E);if(C.kind==="directory")await le.mkdirPromise(P,{recursive:!0});else if(C.kind==="file"){let I=C.mtimeMs;await vRt({srcPath:S,dstPath:P,entry:C,nmMode:a,baseFs:r,globalHardlinksStore:s}),C.mtimeMs!==I&&(h=!0)}else C.kind==="symlink"&&await gV(K.resolve(K.dirname(P),C.symlinkTo),P,n)}if(a.value==="hardlinks-global"&&s&&h&&c){let E=K.join(s,c.substring(0,2),`${c.substring(2)}.json`);await le.removePromise(E),await yke(s,E,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function DRt(t,e,r,s){let a=new Map,n=new Map,c=new Map,f=!1,p=(h,E,C,S,P)=>{let I=!0,R=K.join(h,E),N=new Set;if(E===_i||E.startsWith("@")){let W;try{W=le.statSync(R)}catch{}I=!!W,W?W.mtimeMs>r?(f=!0,N=new Set(le.readdirSync(R))):N=new Set(C.children.get(E).children.keys()):f=!0;let te=e.get(h);if(te){let ie=K.join(h,_i,gN),Ae;try{Ae=le.statSync(ie)}catch{}if(!Ae)f=!0;else if(Ae.mtimeMs>r){f=!0;let ce=new Set(le.readdirSync(ie)),me=new Map;n.set(h,me);for(let[pe,Be]of te)ce.has(pe)&&me.set(pe,Be)}else n.set(h,te)}}else I=P.has(E);let U=C.children.get(E);if(I){let{linkType:W,locator:te}=U,ie={children:new Map,linkType:W,locator:te};if(S.children.set(E,ie),te){let Ae=je.getSetWithDefault(c,te);Ae.add(R),c.set(te,Ae)}for(let Ae of U.children.keys())p(R,Ae,U,ie,N)}else U.locator&&s.storedBuildState.delete(q.parseLocator(U.locator).locatorHash)};for(let[h,E]of t){let{linkType:C,locator:S}=E,P={children:new Map,linkType:C,locator:S};if(a.set(h,P),S){let I=je.getSetWithDefault(c,E.locator);I.add(h),c.set(E.locator,I)}E.children.has(_i)&&p(h,_i,E,P,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:c,installChangedByUser:f}}function Eke(t){let e=q.parseDescriptor(t);return q.isVirtualDescriptor(e)&&(e=q.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function bRt(t,e,r,{loadManifest:s}){let a=new Map;for(let[f,{locations:p}]of t){let h=Eke(f)?null:await s(f,p[0]),E=new Map;if(h)for(let[C,S]of h.bin){let P=K.join(p[0],S);S!==""&&le.existsSync(P)&&E.set(C,S)}a.set(f,E)}let n=new Map,c=(f,p,h)=>{let E=new Map,C=K.contains(r,f);if(h.locator&&C!==null){let S=a.get(h.locator);for(let[P,I]of S){let R=K.join(f,ue.toPortablePath(I));E.set(P,R)}for(let[P,I]of h.children){let R=K.join(f,P),N=c(R,R,I);N.size>0&&n.set(f,new Map([...n.get(f)||new Map,...N]))}}else for(let[S,P]of h.children){let I=c(K.join(f,S),p,P);for(let[R,N]of I)E.set(R,N)}return E};for(let[f,p]of e){let h=c(f,f,p);h.size>0&&n.set(f,new Map([...n.get(f)||new Map,...h]))}return n}var Ake=(t,e)=>{if(!t||!e)return t===e;let r=q.parseLocator(t);q.isVirtualLocator(r)&&(r=q.devirtualizeLocator(r));let s=q.parseLocator(e);return q.isVirtualLocator(s)&&(s=q.devirtualizeLocator(s)),q.areLocatorsEqual(r,s)};function dV(t){return K.join(t.get("globalFolder"),"store")}async function PRt(t,e,{baseFs:r,project:s,report:a,loadManifest:n,realLocatorChecksums:c}){let f=K.join(s.cwd,_i),{locationTree:p,binSymlinks:h,locatorLocations:E,installChangedByUser:C}=DRt(t.locationTree,t.binSymlinks,t.mtimeMs,s),S=mke(e,{skipPrefix:s.cwd}),P=[],I=async({srcDir:Be,dstDir:Ce,linkType:g,globalHardlinksStore:we,nmMode:Ee,windowsLinkType:fe,packageChecksum:se})=>{let X=(async()=>{try{g==="SOFT"?(await le.mkdirPromise(K.dirname(Ce),{recursive:!0}),await gV(K.resolve(Be),Ce,fe)):await SRt(Ce,Be,{baseFs:r,globalHardlinksStore:we,nmMode:Ee,windowsLinkType:fe,packageChecksum:se})}catch(De){throw De.message=`While persisting ${Be} -> ${Ce} ${De.message}`,De}finally{ie.tick()}})().then(()=>P.splice(P.indexOf(X),1));P.push(X),P.length>fke&&await Promise.race(P)},R=async(Be,Ce,g)=>{let we=(async()=>{let Ee=async(fe,se,X)=>{try{X.innerLoop||await le.mkdirPromise(se,{recursive:!0});let De=await le.readdirPromise(fe,{withFileTypes:!0});for(let Re of De){if(!X.innerLoop&&Re.name===gN)continue;let gt=K.join(fe,Re.name),j=K.join(se,Re.name);Re.isDirectory()?(Re.name!==_i||X&&X.innerLoop)&&(await le.mkdirPromise(j,{recursive:!0}),await Ee(gt,j,{...X,innerLoop:!0})):me.value==="hardlinks-local"||me.value==="hardlinks-global"?await le.linkPromise(gt,j):await le.copyFilePromise(gt,j,hke.default.constants.COPYFILE_FICLONE)}}catch(De){throw X.innerLoop||(De.message=`While cloning ${fe} -> ${se} ${De.message}`),De}finally{X.innerLoop||ie.tick()}};await Ee(Be,Ce,g)})().then(()=>P.splice(P.indexOf(we),1));P.push(we),P.length>fke&&await Promise.race(P)},N=async(Be,Ce,g)=>{if(g)for(let[we,Ee]of Ce.children){let fe=g.children.get(we);await N(K.join(Be,we),Ee,fe)}else{Ce.children.has(_i)&&await kw(K.join(Be,_i),{contentsOnly:!1});let we=K.basename(Be)===_i&&p.has(K.join(K.dirname(Be)));await kw(Be,{contentsOnly:Be===f,isWorkspaceDir:we})}};for(let[Be,Ce]of p){let g=S.get(Be);for(let[we,Ee]of Ce.children){if(we===".")continue;let fe=g&&g.children.get(we),se=K.join(Be,we);await N(se,Ee,fe)}}let U=async(Be,Ce,g)=>{if(g){Ake(Ce.locator,g.locator)||await kw(Be,{contentsOnly:Ce.linkType==="HARD"});for(let[we,Ee]of Ce.children){let fe=g.children.get(we);await U(K.join(Be,we),Ee,fe)}}else{Ce.children.has(_i)&&await kw(K.join(Be,_i),{contentsOnly:!0});let we=K.basename(Be)===_i&&S.has(K.join(K.dirname(Be)));await kw(Be,{contentsOnly:Ce.linkType==="HARD",isWorkspaceDir:we})}};for(let[Be,Ce]of S){let g=p.get(Be);for(let[we,Ee]of Ce.children){if(we===".")continue;let fe=g&&g.children.get(we);await U(K.join(Be,we),Ee,fe)}}let W=new Map,te=[];for(let[Be,Ce]of E)for(let g of Ce){let{locationRoot:we,segments:Ee}=dN(g,{skipPrefix:s.cwd}),fe=S.get(we),se=we;if(fe){for(let X of Ee)if(se=K.join(se,X),fe=fe.children.get(X),!fe)break;if(fe){let X=Ake(fe.locator,Be),De=e.get(fe.locator),Re=De.target,gt=se,j=De.linkType;if(X)W.has(Re)||W.set(Re,gt);else if(Re!==gt){let rt=q.parseLocator(fe.locator);q.isVirtualLocator(rt)&&(rt=q.devirtualizeLocator(rt)),te.push({srcDir:Re,dstDir:gt,linkType:j,realLocatorHash:rt.locatorHash})}}}}for(let[Be,{locations:Ce}]of e.entries())for(let g of Ce){let{locationRoot:we,segments:Ee}=dN(g,{skipPrefix:s.cwd}),fe=p.get(we),se=S.get(we),X=we,De=e.get(Be),Re=q.parseLocator(Be);q.isVirtualLocator(Re)&&(Re=q.devirtualizeLocator(Re));let gt=Re.locatorHash,j=De.target,rt=g;if(j===rt)continue;let Fe=De.linkType;for(let Ne of Ee)se=se.children.get(Ne);if(!fe)te.push({srcDir:j,dstDir:rt,linkType:Fe,realLocatorHash:gt});else for(let Ne of Ee)if(X=K.join(X,Ne),fe=fe.children.get(Ne),!fe){te.push({srcDir:j,dstDir:rt,linkType:Fe,realLocatorHash:gt});break}}let ie=ho.progressViaCounter(te.length),Ae=a.reportProgress(ie),ce=s.configuration.get("nmMode"),me={value:ce},pe=s.configuration.get("winLinkType");try{let Be=me.value==="hardlinks-global"?`${dV(s.configuration)}/v1`:null;if(Be&&!await le.existsPromise(Be)){await le.mkdirpPromise(Be);for(let g=0;g<256;g++)await le.mkdirPromise(K.join(Be,g.toString(16).padStart(2,"0")))}for(let g of te)(g.linkType==="SOFT"||!W.has(g.srcDir))&&(W.set(g.srcDir,g.dstDir),await I({...g,globalHardlinksStore:Be,nmMode:me,windowsLinkType:pe,packageChecksum:c.get(g.realLocatorHash)||null}));await Promise.all(P),P.length=0;for(let g of te){let we=W.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==we&&await R(we,g.dstDir,{nmMode:me})}await Promise.all(P),await le.mkdirPromise(f,{recursive:!0});let Ce=await bRt(e,S,s.cwd,{loadManifest:n});await xRt(h,Ce,s.cwd,pe),await BRt(s,e,Ce,me,{installChangedByUser:C}),ce=="hardlinks-global"&&me.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{Ae.stop()}}async function xRt(t,e,r,s){for(let a of t.keys()){if(K.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=K.join(a,_i,gN);await le.removePromise(n)}}for(let[a,n]of e){if(K.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let c=K.join(a,_i,gN),f=t.get(a)||new Map;await le.mkdirPromise(c,{recursive:!0});for(let p of f.keys())n.has(p)||(await le.removePromise(K.join(c,p)),process.platform==="win32"&&await le.removePromise(K.join(c,`${p}.cmd`)));for(let[p,h]of n){let E=f.get(p),C=K.join(c,p);E!==h&&(process.platform==="win32"?await(0,pke.default)(ue.fromPortablePath(h),ue.fromPortablePath(C),{createPwshFile:!1}):(await le.removePromise(C),await gV(h,C,s),K.contains(r,await le.realpathPromise(h))!==null&&await le.chmodPromise(h,493)))}}}Ve();bt();rA();var sb=class extends og{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new mV(r)}},mV=class extends Gm{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let s=new fo({baseFs:new tA({maxOpenFiles:80,readOnlyArchives:!0})}),a=$xe(r,this.opts.project.cwd,s),{tree:n,errors:c}=YD(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:C,text:S}of c)this.opts.report.reportError(C,S);return}let f=new Map;r.fallbackPool=f;let p=(C,S)=>{let P=q.parseLocator(S.locator),I=q.stringifyIdent(P);I===C?f.set(C,P.reference):f.set(C,[I,P.reference])},h=K.join(this.opts.project.cwd,Er.nodeModules),E=n.get(h);if(!(typeof E>"u")){if("target"in E)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let C of E.dirList){let S=K.join(h,C),P=n.get(S);if(typeof P>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in P)p(C,P);else for(let I of P.dirList){let R=K.join(S,I),N=n.get(R);if(typeof N>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in N)p(`${C}/${I}`,N);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var kRt={hooks:{cleanGlobalArtifacts:async t=>{let e=dV(t);await le.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevents packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:"Defines in which measure Yarn must use hardlinks and symlinks when generated `node_modules` directories.",type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"Defines whether the linker should generate self-referencing symlinks for workspaces.",type:"BOOLEAN",default:!0}},linkers:[ib,sb]},QRt=kRt;var yz={};Vt(yz,{NpmHttpFetcher:()=>lb,NpmRemapResolver:()=>ub,NpmSemverFetcher:()=>ch,NpmSemverResolver:()=>fb,NpmTagResolver:()=>Ab,default:()=>Hjt,npmConfigUtils:()=>pi,npmHttpUtils:()=>an,npmPublishUtils:()=>D1});Ve();var bke=et(fi());var si="npm:";var an={};Vt(an,{AuthType:()=>vke,customPackageError:()=>Wm,del:()=>WRt,get:()=>Ym,getIdentUrl:()=>mN,getPackageMetadata:()=>Rw,handleInvalidAuthenticationError:()=>lg,post:()=>qRt,put:()=>GRt});Ve();Ve();bt();var CV=et(lS()),wke=et(vG()),Bke=et(fi());var pi={};Vt(pi,{RegistryType:()=>Ike,getAuditRegistry:()=>TRt,getAuthConfiguration:()=>IV,getDefaultRegistry:()=>ob,getPublishRegistry:()=>RRt,getRegistryConfiguration:()=>Cke,getScopeConfiguration:()=>EV,getScopeRegistry:()=>Qw,normalizeRegistry:()=>zc});var Ike=(s=>(s.AUDIT_REGISTRY="npmAuditRegistry",s.FETCH_REGISTRY="npmRegistryServer",s.PUBLISH_REGISTRY="npmPublishRegistry",s))(Ike||{});function zc(t){return t.replace(/\/$/,"")}function TRt({configuration:t}){return ob({configuration:t,type:"npmAuditRegistry"})}function RRt(t,{configuration:e}){return t.publishConfig?.registry?zc(t.publishConfig.registry):t.name?Qw(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):ob({configuration:e,type:"npmPublishRegistry"})}function Qw(t,{configuration:e,type:r="npmRegistryServer"}){let s=EV(t,{configuration:e});if(s===null)return ob({configuration:e,type:r});let a=s.get(r);return a===null?ob({configuration:e,type:r}):zc(a)}function ob({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return zc(r!==null?r:t.get("npmRegistryServer"))}function Cke(t,{configuration:e}){let r=e.get("npmRegistries"),s=zc(t),a=r.get(s);if(typeof a<"u")return a;let n=r.get(s.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}var FRt=new Map([["npmRegistryServer","https://npm.jsr.io/"]]);function EV(t,{configuration:e}){if(t===null)return null;let s=e.get("npmScopes").get(t);return s||(t==="jsr"?FRt:null)}function IV(t,{configuration:e,ident:r}){let s=r&&EV(r.scope,{configuration:e});return s?.get("npmAuthIdent")||s?.get("npmAuthToken")?s:Cke(t,{configuration:e})||e}var vke=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(vke||{});async function lg(t,{attemptedAs:e,registry:r,headers:s,configuration:a}){if(EN(t))throw new Yt(41,"Invalid OTP token");if(t.originalError?.name==="HTTPError"&&t.originalError?.response.statusCode===401)throw new Yt(41,`Invalid authentication (${typeof e!="string"?`as ${await VRt(r,s,{configuration:a})}`:`attempted as ${e}`})`)}function Wm(t,e){let r=t.response?.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${he.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function mN(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}var Ske=new Map,NRt=new Map;async function ORt(t){return await je.getFactoryWithDefault(Ske,t,async()=>{let e=null;try{e=await le.readJsonPromise(t)}catch{}return e})}async function LRt(t,e,{configuration:r,cached:s,registry:a,headers:n,version:c,...f}){return await je.getFactoryWithDefault(NRt,t,async()=>await Ym(mN(e),{...f,customErrorMessage:Wm,configuration:r,registry:a,ident:e,headers:{...n,"If-None-Match":s?.etag,"If-Modified-Since":s?.lastModified},wrapNetworkRequest:async p=>async()=>{let h=await p();if(h.statusCode===304){if(s===null)throw new Error("Assertion failed: cachedMetadata should not be null");return{...h,body:s.metadata}}let E=_Rt(JSON.parse(h.body.toString())),C={metadata:E,etag:h.headers.etag,lastModified:h.headers["last-modified"]};return Ske.set(t,Promise.resolve(C)),Promise.resolve().then(async()=>{let S=`${t}-${process.pid}.tmp`;await le.mkdirPromise(K.dirname(S),{recursive:!0}),await le.writeJsonPromise(S,C,{compact:!0}),await le.renamePromise(S,t)}).catch(()=>{}),{...h,body:E}}}))}function MRt(t){return t.scope!==null?`@${t.scope}-${t.name}-${t.scope.length}`:t.name}async function Rw(t,{cache:e,project:r,registry:s,headers:a,version:n,...c}){let{configuration:f}=r;s=ab(f,{ident:t,registry:s});let p=HRt(f,s),h=K.join(p,`${MRt(t)}.json`),E=null;if(!r.lockfileNeedsRefresh&&(E=await ORt(h),E)){if(typeof n<"u"&&typeof E.metadata.versions[n]<"u")return E.metadata;if(f.get("enableOfflineMode")){let C=structuredClone(E.metadata),S=new Set;if(e){for(let I of Object.keys(C.versions)){let R=q.makeLocator(t,`npm:${I}`),N=e.getLocatorMirrorPath(R);(!N||!le.existsSync(N))&&(delete C.versions[I],S.add(I))}let P=C["dist-tags"].latest;if(S.has(P)){let I=Object.keys(E.metadata.versions).sort(Bke.default.compare),R=I.indexOf(P);for(;S.has(I[R])&&R>=0;)R-=1;R>=0?C["dist-tags"].latest=I[R]:delete C["dist-tags"].latest}}return C}}return await LRt(h,t,{...c,configuration:f,cached:E,registry:s,headers:a,version:n})}var Dke=["name","dist.tarball","bin","scripts","os","cpu","libc","dependencies","dependenciesMeta","optionalDependencies","peerDependencies","peerDependenciesMeta","deprecated"];function _Rt(t){return{"dist-tags":t["dist-tags"],versions:Object.fromEntries(Object.entries(t.versions).map(([e,r])=>[e,(0,wke.default)(r,Dke)]))}}var URt=Nn.makeHash(...Dke).slice(0,6);function HRt(t,e){let r=jRt(t),s=new URL(e);return K.join(r,URt,s.hostname)}function jRt(t){return K.join(t.get("globalFolder"),"metadata/npm")}async function Ym(t,{configuration:e,headers:r,ident:s,authType:a,registry:n,...c}){n=ab(e,{ident:s,registry:n}),s&&s.scope&&typeof a>"u"&&(a=1);let f=await yN(n,{authType:a,configuration:e,ident:s});f&&(r={...r,authorization:f});try{return await An.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...c})}catch(p){throw await lg(p,{registry:n,configuration:e,headers:r}),p}}async function qRt(t,e,{attemptedAs:r,configuration:s,headers:a,ident:n,authType:c=3,registry:f,otp:p,...h}){f=ab(s,{ident:n,registry:f});let E=await yN(f,{authType:c,configuration:s,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...Tw(p)});try{return await An.post(f+t,e,{configuration:s,headers:a,...h})}catch(C){if(!EN(C)||p)throw await lg(C,{attemptedAs:r,registry:f,configuration:s,headers:a}),C;p=await wV(C,{configuration:s});let S={...a,...Tw(p)};try{return await An.post(`${f}${t}`,e,{configuration:s,headers:S,...h})}catch(P){throw await lg(P,{attemptedAs:r,registry:f,configuration:s,headers:a}),P}}}async function GRt(t,e,{attemptedAs:r,configuration:s,headers:a,ident:n,authType:c=3,registry:f,otp:p,...h}){f=ab(s,{ident:n,registry:f});let E=await yN(f,{authType:c,configuration:s,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...Tw(p)});try{return await An.put(f+t,e,{configuration:s,headers:a,...h})}catch(C){if(!EN(C))throw await lg(C,{attemptedAs:r,registry:f,configuration:s,headers:a}),C;p=await wV(C,{configuration:s});let S={...a,...Tw(p)};try{return await An.put(`${f}${t}`,e,{configuration:s,headers:S,...h})}catch(P){throw await lg(P,{attemptedAs:r,registry:f,configuration:s,headers:a}),P}}}async function WRt(t,{attemptedAs:e,configuration:r,headers:s,ident:a,authType:n=3,registry:c,otp:f,...p}){c=ab(r,{ident:a,registry:c});let h=await yN(c,{authType:n,configuration:r,ident:a});h&&(s={...s,authorization:h}),f&&(s={...s,...Tw(f)});try{return await An.del(c+t,{configuration:r,headers:s,...p})}catch(E){if(!EN(E)||f)throw await lg(E,{attemptedAs:e,registry:c,configuration:r,headers:s}),E;f=await wV(E,{configuration:r});let C={...s,...Tw(f)};try{return await An.del(`${c}${t}`,{configuration:r,headers:C,...p})}catch(S){throw await lg(S,{attemptedAs:e,registry:c,configuration:r,headers:s}),S}}}function ab(t,{ident:e,registry:r}){if(typeof r>"u"&&e)return Qw(e.scope,{configuration:t});if(typeof r!="string")throw new Error("Assertion failed: The registry should be a string");return zc(r)}async function yN(t,{authType:e=2,configuration:r,ident:s}){let a=IV(t,{configuration:r,ident:s}),n=YRt(a,e);if(!n)return null;let c=await r.reduceHook(f=>f.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:s});if(c)return c;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let f=a.get("npmAuthIdent");return f.includes(":")?`Basic ${Buffer.from(f).toString("base64")}`:`Basic ${f}`}if(n&&e!==1)throw new Yt(33,"No authentication configured for request");return null}function YRt(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function VRt(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await An.get(new URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function wV(t,{configuration:e}){let r=t.originalError?.response.headers["npm-notice"];if(r&&(await Ot.start({configuration:e,stdout:process.stdout,includeFooter:!1},async a=>{if(a.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,he.pretty(e,"$1",he.Type.URL))),!process.env.YARN_IS_TEST_ENV){let n=r.match(/open (https?:\/\/\S+)/i);if(n&&As.openUrl){let{openNow:c}=await(0,CV.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});c&&(await As.openUrl(n[1])||(a.reportSeparator(),a.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` +`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:s}=await(0,CV.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` +`),s}function EN(t){if(t.originalError?.name!=="HTTPError")return!1;try{return(t.originalError?.response.headers["www-authenticate"].split(/,\s*/).map(r=>r.toLowerCase())).includes("otp")}catch{return!1}}function Tw(t){return{"npm-otp":t}}var lb=class{supports(e,r){if(!e.reference.startsWith(si))return!1;let{selector:s,params:a}=q.parseRange(e.reference);return!(!bke.default.valid(s)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:q.getIdentVendorPath(e),checksum:c}}async fetchFromNetwork(e,r){let{params:s}=q.parseRange(e.reference);if(s===null||typeof s.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await Ym(s.__archiveUrl,{customErrorMessage:Wm,configuration:r.project.configuration,ident:e});return await hs.convertToZip(a,{configuration:r.project.configuration,prefixPath:q.getIdentVendorPath(e),stripComponents:1})}};Ve();var ub=class{supportsDescriptor(e,r){return!(!e.range.startsWith(si)||!q.tryParseDescriptor(e.range.slice(si.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){let s=r.project.configuration.normalizeDependency(q.parseDescriptor(e.range.slice(si.length),!0));return r.resolver.getResolutionDependencies(s,r)}async getCandidates(e,r,s){let a=s.project.configuration.normalizeDependency(q.parseDescriptor(e.range.slice(si.length),!0));return await s.resolver.getCandidates(a,r,s)}async getSatisfying(e,r,s,a){let n=a.project.configuration.normalizeDependency(q.parseDescriptor(e.range.slice(si.length),!0));return a.resolver.getSatisfying(n,r,s,a)}resolve(e,r){throw new Error("Unreachable")}};Ve();Ve();var Pke=et(fi());var ch=class t{supports(e,r){if(!e.reference.startsWith(si))return!1;let s=new URL(e.reference);return!(!Pke.default.valid(s.pathname)||s.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:q.getIdentVendorPath(e),checksum:c}}async fetchFromNetwork(e,r){let s;try{s=await Ym(t.getLocatorUrl(e),{customErrorMessage:Wm,configuration:r.project.configuration,ident:e})}catch{s=await Ym(t.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:Wm,configuration:r.project.configuration,ident:e})}return await hs.convertToZip(s,{configuration:r.project.configuration,prefixPath:q.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:s}){let a=Qw(e.scope,{configuration:s}),n=t.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Or.clean(e.reference.slice(si.length));if(r===null)throw new Yt(10,"The npm semver resolver got selected, but the version isn't semver");return`${mN(e)}/-/${e.name}-${r}.tgz`}};Ve();Ve();Ve();var BV=et(fi());var IN=q.makeIdent(null,"node-gyp"),KRt=/\b(node-gyp|prebuild-install)\b/,fb=class{supportsDescriptor(e,r){return e.range.startsWith(si)?!!Or.validRange(e.range.slice(si.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(si))return!1;let{selector:s}=q.parseRange(e.reference);return!!BV.default.valid(s)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){let a=Or.validRange(e.range.slice(si.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(si.length)}`);let n=await Rw(e,{cache:s.fetchOptions?.cache,project:s.project,version:BV.default.valid(a.raw)?a.raw:void 0}),c=je.mapAndFilter(Object.keys(n.versions),h=>{try{let E=new Or.SemVer(h);if(a.test(E))return E}catch{}return je.mapAndFilter.skip}),f=c.filter(h=>!n.versions[h.raw].deprecated),p=f.length>0?f:c;return p.sort((h,E)=>-h.compare(E)),p.map(h=>{let E=q.makeLocator(e,`${si}${h.raw}`),C=n.versions[h.raw].dist.tarball;return ch.isConventionalTarballUrl(E,C,{configuration:s.project.configuration})?E:q.bindLocator(E,{__archiveUrl:C})})}async getSatisfying(e,r,s,a){let n=Or.validRange(e.range.slice(si.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(si.length)}`);return{locators:je.mapAndFilter(s,p=>{if(p.identHash!==e.identHash)return je.mapAndFilter.skip;let h=q.tryParseRange(p.reference,{requireProtocol:si});if(!h)return je.mapAndFilter.skip;let E=new Or.SemVer(h.selector);return n.test(E)?{locator:p,version:E}:je.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:s}=q.parseRange(e.reference),a=Or.clean(s);if(a===null)throw new Yt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await Rw(e,{cache:r.fetchOptions?.cache,project:r.project,version:a});if(!Object.hasOwn(n,"versions"))throw new Yt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.hasOwn(n.versions,a))throw new Yt(16,`Registry failed to return reference "${a}"`);let c=new Ht;if(c.load(n.versions[a]),!c.dependencies.has(IN.identHash)&&!c.peerDependencies.has(IN.identHash)){for(let f of c.scripts.values())if(f.match(KRt)){c.dependencies.set(IN.identHash,q.makeDescriptor(IN,"latest"));break}}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:c.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(c.dependencies),peerDependencies:c.peerDependencies,dependenciesMeta:c.dependenciesMeta,peerDependenciesMeta:c.peerDependenciesMeta,bin:c.bin}}};Ve();Ve();var xke=et(fi());var Ab=class{supportsDescriptor(e,r){return!(!e.range.startsWith(si)||!Hp.test(e.range.slice(si.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){let a=e.range.slice(si.length),n=await Rw(e,{cache:s.fetchOptions?.cache,project:s.project});if(!Object.hasOwn(n,"dist-tags"))throw new Yt(15,'Registry returned invalid data - missing "dist-tags" field');let c=n["dist-tags"];if(!Object.hasOwn(c,a))throw new Yt(16,`Registry failed to return tag "${a}"`);let f=c[a],p=q.makeLocator(e,`${si}${f}`),h=n.versions[f].dist.tarball;return ch.isConventionalTarballUrl(p,h,{configuration:s.project.configuration})?[p]:[q.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,s,a){let n=[];for(let c of s){if(c.identHash!==e.identHash)continue;let f=q.tryParseRange(c.reference,{requireProtocol:si});if(!(!f||!xke.default.valid(f.selector))){if(f.params?.__archiveUrl){let p=q.makeRange({protocol:si,selector:f.selector,source:null,params:null}),[h]=await a.resolver.getCandidates(q.makeDescriptor(e,p),r,a);if(c.reference!==h.reference)continue}n.push(c)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var D1={};Vt(D1,{getGitHead:()=>_jt,getPublishAccess:()=>EOe,getReadmeContent:()=>IOe,makePublishBody:()=>Mjt});Ve();Ve();bt();var f7={};Vt(f7,{PackCommand:()=>Gw,default:()=>bOt,packUtils:()=>IA});Ve();Ve();Ve();bt();Wt();var IA={};Vt(IA,{genPackList:()=>qN,genPackStream:()=>u7,genPackageManifest:()=>oTe,hasPackScripts:()=>l7,prepareForPack:()=>c7});Ve();bt();var a7=et(Sa()),iTe=et(eTe()),sTe=ye("zlib"),dOt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],mOt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function l7(t){return!!(In.hasWorkspaceScript(t,"prepack")||In.hasWorkspaceScript(t,"postpack"))}async function c7(t,{report:e},r){await In.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let s=K.join(t.cwd,Ht.fileName);await le.existsPromise(s)&&await t.manifest.loadFile(s,{baseFs:le}),await r()}finally{await In.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function u7(t,e){typeof e>"u"&&(e=await qN(t));let r=new Set;for(let n of t.manifest.publishConfig?.executableFiles??new Set)r.add(K.normalize(n));for(let n of t.manifest.bin.values())r.add(K.normalize(n));let s=iTe.default.pack();process.nextTick(async()=>{for(let n of e){let c=K.normalize(n),f=K.resolve(t.cwd,c),p=K.join("package",c),h=await le.lstatPromise(f),E={name:p,mtime:new Date(ui.SAFE_TIME*1e3)},C=r.has(c)?493:420,S,P,I=new Promise((N,U)=>{S=N,P=U}),R=N=>{N?P(N):S()};if(h.isFile()){let N;c==="package.json"?N=Buffer.from(JSON.stringify(await oTe(t),null,2)):N=await le.readFilePromise(f),s.entry({...E,mode:C,type:"file"},N,R)}else h.isSymbolicLink()?s.entry({...E,mode:C,type:"symlink",linkname:await le.readlinkPromise(f)},R):R(new Error(`Unsupported file type ${h.mode} for ${ue.fromPortablePath(c)}`));await I}s.finalize()});let a=(0,sTe.createGzip)();return s.pipe(a),a}async function oTe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function qN(t){let e=t.project,r=e.configuration,s={accept:[],reject:[]};for(let C of mOt)s.reject.push(C);for(let C of dOt)s.accept.push(C);s.reject.push(r.get("rcFilename"));let a=C=>{if(C===null||!C.startsWith(`${t.cwd}/`))return;let S=K.relative(t.cwd,C),P=K.resolve(vt.root,S);s.reject.push(P)};a(K.resolve(e.cwd,Er.lockfile)),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(C=>C.populateYarnPaths,e,C=>{a(C)});for(let C of e.workspaces){let S=K.relative(t.cwd,C.cwd);S!==""&&!S.match(/^(\.\.)?\//)&&s.reject.push(`/${S}`)}let n={accept:[],reject:[]},c=t.manifest.publishConfig?.main??t.manifest.main,f=t.manifest.publishConfig?.module??t.manifest.module,p=t.manifest.publishConfig?.browser??t.manifest.browser,h=t.manifest.publishConfig?.bin??t.manifest.bin;c!=null&&n.accept.push(K.resolve(vt.root,c)),f!=null&&n.accept.push(K.resolve(vt.root,f)),typeof p=="string"&&n.accept.push(K.resolve(vt.root,p));for(let C of h.values())n.accept.push(K.resolve(vt.root,C));if(p instanceof Map)for(let[C,S]of p.entries())n.accept.push(K.resolve(vt.root,C)),typeof S=="string"&&n.accept.push(K.resolve(vt.root,S));let E=t.manifest.files!==null;if(E){n.reject.push("/*");for(let C of t.manifest.files)aTe(n.accept,C,{cwd:vt.root})}return await yOt(t.cwd,{hasExplicitFileList:E,globalList:s,ignoreList:n})}async function yOt(t,{hasExplicitFileList:e,globalList:r,ignoreList:s}){let a=[],n=new jf(t),c=[[vt.root,[s]]];for(;c.length>0;){let[f,p]=c.pop(),h=await n.lstatPromise(f);if(!rTe(f,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let E=await n.readdirPromise(f),C=!1,S=!1;if(!e||f!==vt.root)for(let R of E)C=C||R===".gitignore",S=S||R===".npmignore";let P=S?await tTe(n,f,".npmignore"):C?await tTe(n,f,".gitignore"):null,I=P!==null?[P].concat(p):p;rTe(f,{globalList:r,ignoreLists:p})&&(I=[...p,{accept:[],reject:["**/*"]}]);for(let R of E)c.push([K.resolve(f,R),I])}else(h.isFile()||h.isSymbolicLink())&&a.push(K.relative(vt.root,f))}return a.sort()}async function tTe(t,e,r){let s={accept:[],reject:[]},a=await t.readFilePromise(K.join(e,r),"utf8");for(let n of a.split(/\n/g))aTe(s.reject,n,{cwd:e});return s}function EOt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=K.resolve(e,t)),r&&(t=`!${t}`),t}function aTe(t,e,{cwd:r}){let s=e.trim();s===""||s[0]==="#"||t.push(EOt(s,{cwd:r}))}function rTe(t,{globalList:e,ignoreLists:r}){let s=jN(t,e.accept);if(s!==0)return s===2;let a=jN(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let c=jN(t,n.accept);if(c!==0)return c===2;let f=jN(t,n.reject);if(f!==0)return f===1}return!1}function jN(t,e){let r=e,s=[];for(let a=0;a{await c7(a,{report:p},async()=>{p.reportJson({base:ue.fromPortablePath(a.cwd)});let h=await qN(a);for(let E of h)p.reportInfo(null,ue.fromPortablePath(E)),p.reportJson({location:ue.fromPortablePath(E)});if(!this.dryRun){let E=await u7(a,h);await le.mkdirPromise(K.dirname(c),{recursive:!0});let C=le.createWriteStream(c);E.pipe(C),await new Promise(S=>{C.on("finish",S)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${he.pretty(r,c,he.Type.PATH)}`),p.reportJson({output:ue.fromPortablePath(c)}))})).exitCode()}};function IOt(t,{workspace:e}){let r=t.replace("%s",COt(e)).replace("%v",wOt(e));return ue.toPortablePath(r)}function COt(t){return t.manifest.name!==null?q.slugifyIdent(t.manifest.name):"package"}function wOt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var BOt=["dependencies","devDependencies","peerDependencies"],vOt="workspace:",SOt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let s of BOt)for(let a of t.manifest.getForScope(s).values()){let n=r.tryWorkspaceByDescriptor(a),c=q.parseRange(a.range);if(c.protocol===vOt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new Yt(21,`${q.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let f;q.areDescriptorsEqual(a,n.anchoredDescriptor)||c.selector==="*"?f=n.manifest.version??"0.0.0":c.selector==="~"||c.selector==="^"?f=`${c.selector}${n.manifest.version??"0.0.0"}`:f=c.selector;let p=s==="dependencies"?q.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":s;e[h][q.stringifyIdent(a)]=f}}},DOt={hooks:{beforeWorkspacePacking:SOt},commands:[Gw]},bOt=DOt;var yOe=et(dTe());Ve();var dOe=et(gOe()),{env:Bt}=process,xjt="application/vnd.in-toto+json",kjt="https://in-toto.io/Statement/v0.1",Qjt="https://in-toto.io/Statement/v1",Tjt="https://slsa.dev/provenance/v0.2",Rjt="https://slsa.dev/provenance/v1",Fjt="https://github.com/actions/runner",Njt="https://slsa-framework.github.io/github-actions-buildtypes/workflow/v1",Ojt="https://github.com/npm/cli/gitlab",Ljt="v0alpha1",mOe=async(t,e)=>{let r;if(Bt.GITHUB_ACTIONS){if(!Bt.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Yt(91,'Provenance generation in GitHub Actions requires "write" access to the "id-token" permission');let s=(Bt.GITHUB_WORKFLOW_REF||"").replace(`${Bt.GITHUB_REPOSITORY}/`,""),a=s.indexOf("@"),n=s.slice(0,a),c=s.slice(a+1);r={_type:Qjt,subject:t,predicateType:Rjt,predicate:{buildDefinition:{buildType:Njt,externalParameters:{workflow:{ref:c,repository:`${Bt.GITHUB_SERVER_URL}/${Bt.GITHUB_REPOSITORY}`,path:n}},internalParameters:{github:{event_name:Bt.GITHUB_EVENT_NAME,repository_id:Bt.GITHUB_REPOSITORY_ID,repository_owner_id:Bt.GITHUB_REPOSITORY_OWNER_ID}},resolvedDependencies:[{uri:`git+${Bt.GITHUB_SERVER_URL}/${Bt.GITHUB_REPOSITORY}@${Bt.GITHUB_REF}`,digest:{gitCommit:Bt.GITHUB_SHA}}]},runDetails:{builder:{id:`${Fjt}/${Bt.RUNNER_ENVIRONMENT}`},metadata:{invocationId:`${Bt.GITHUB_SERVER_URL}/${Bt.GITHUB_REPOSITORY}/actions/runs/${Bt.GITHUB_RUN_ID}/attempts/${Bt.GITHUB_RUN_ATTEMPT}`}}}}}else if(Bt.GITLAB_CI){if(!Bt.SIGSTORE_ID_TOKEN)throw new Yt(91,`Provenance generation in GitLab CI requires "SIGSTORE_ID_TOKEN" with "sigstore" audience to be present in "id_tokens". For more info see: +https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html`);r={_type:kjt,subject:t,predicateType:Tjt,predicate:{buildType:`${Ojt}/${Ljt}`,builder:{id:`${Bt.CI_PROJECT_URL}/-/runners/${Bt.CI_RUNNER_ID}`},invocation:{configSource:{uri:`git+${Bt.CI_PROJECT_URL}`,digest:{sha1:Bt.CI_COMMIT_SHA},entryPoint:Bt.CI_JOB_NAME},parameters:{CI:Bt.CI,CI_API_GRAPHQL_URL:Bt.CI_API_GRAPHQL_URL,CI_API_V4_URL:Bt.CI_API_V4_URL,CI_BUILD_BEFORE_SHA:Bt.CI_BUILD_BEFORE_SHA,CI_BUILD_ID:Bt.CI_BUILD_ID,CI_BUILD_NAME:Bt.CI_BUILD_NAME,CI_BUILD_REF:Bt.CI_BUILD_REF,CI_BUILD_REF_NAME:Bt.CI_BUILD_REF_NAME,CI_BUILD_REF_SLUG:Bt.CI_BUILD_REF_SLUG,CI_BUILD_STAGE:Bt.CI_BUILD_STAGE,CI_COMMIT_BEFORE_SHA:Bt.CI_COMMIT_BEFORE_SHA,CI_COMMIT_BRANCH:Bt.CI_COMMIT_BRANCH,CI_COMMIT_REF_NAME:Bt.CI_COMMIT_REF_NAME,CI_COMMIT_REF_PROTECTED:Bt.CI_COMMIT_REF_PROTECTED,CI_COMMIT_REF_SLUG:Bt.CI_COMMIT_REF_SLUG,CI_COMMIT_SHA:Bt.CI_COMMIT_SHA,CI_COMMIT_SHORT_SHA:Bt.CI_COMMIT_SHORT_SHA,CI_COMMIT_TIMESTAMP:Bt.CI_COMMIT_TIMESTAMP,CI_COMMIT_TITLE:Bt.CI_COMMIT_TITLE,CI_CONFIG_PATH:Bt.CI_CONFIG_PATH,CI_DEFAULT_BRANCH:Bt.CI_DEFAULT_BRANCH,CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX:Bt.CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX,CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX:Bt.CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX,CI_DEPENDENCY_PROXY_SERVER:Bt.CI_DEPENDENCY_PROXY_SERVER,CI_DEPENDENCY_PROXY_USER:Bt.CI_DEPENDENCY_PROXY_USER,CI_JOB_ID:Bt.CI_JOB_ID,CI_JOB_NAME:Bt.CI_JOB_NAME,CI_JOB_NAME_SLUG:Bt.CI_JOB_NAME_SLUG,CI_JOB_STAGE:Bt.CI_JOB_STAGE,CI_JOB_STARTED_AT:Bt.CI_JOB_STARTED_AT,CI_JOB_URL:Bt.CI_JOB_URL,CI_NODE_TOTAL:Bt.CI_NODE_TOTAL,CI_PAGES_DOMAIN:Bt.CI_PAGES_DOMAIN,CI_PAGES_URL:Bt.CI_PAGES_URL,CI_PIPELINE_CREATED_AT:Bt.CI_PIPELINE_CREATED_AT,CI_PIPELINE_ID:Bt.CI_PIPELINE_ID,CI_PIPELINE_IID:Bt.CI_PIPELINE_IID,CI_PIPELINE_SOURCE:Bt.CI_PIPELINE_SOURCE,CI_PIPELINE_URL:Bt.CI_PIPELINE_URL,CI_PROJECT_CLASSIFICATION_LABEL:Bt.CI_PROJECT_CLASSIFICATION_LABEL,CI_PROJECT_DESCRIPTION:Bt.CI_PROJECT_DESCRIPTION,CI_PROJECT_ID:Bt.CI_PROJECT_ID,CI_PROJECT_NAME:Bt.CI_PROJECT_NAME,CI_PROJECT_NAMESPACE:Bt.CI_PROJECT_NAMESPACE,CI_PROJECT_NAMESPACE_ID:Bt.CI_PROJECT_NAMESPACE_ID,CI_PROJECT_PATH:Bt.CI_PROJECT_PATH,CI_PROJECT_PATH_SLUG:Bt.CI_PROJECT_PATH_SLUG,CI_PROJECT_REPOSITORY_LANGUAGES:Bt.CI_PROJECT_REPOSITORY_LANGUAGES,CI_PROJECT_ROOT_NAMESPACE:Bt.CI_PROJECT_ROOT_NAMESPACE,CI_PROJECT_TITLE:Bt.CI_PROJECT_TITLE,CI_PROJECT_URL:Bt.CI_PROJECT_URL,CI_PROJECT_VISIBILITY:Bt.CI_PROJECT_VISIBILITY,CI_REGISTRY:Bt.CI_REGISTRY,CI_REGISTRY_IMAGE:Bt.CI_REGISTRY_IMAGE,CI_REGISTRY_USER:Bt.CI_REGISTRY_USER,CI_RUNNER_DESCRIPTION:Bt.CI_RUNNER_DESCRIPTION,CI_RUNNER_ID:Bt.CI_RUNNER_ID,CI_RUNNER_TAGS:Bt.CI_RUNNER_TAGS,CI_SERVER_HOST:Bt.CI_SERVER_HOST,CI_SERVER_NAME:Bt.CI_SERVER_NAME,CI_SERVER_PORT:Bt.CI_SERVER_PORT,CI_SERVER_PROTOCOL:Bt.CI_SERVER_PROTOCOL,CI_SERVER_REVISION:Bt.CI_SERVER_REVISION,CI_SERVER_SHELL_SSH_HOST:Bt.CI_SERVER_SHELL_SSH_HOST,CI_SERVER_SHELL_SSH_PORT:Bt.CI_SERVER_SHELL_SSH_PORT,CI_SERVER_URL:Bt.CI_SERVER_URL,CI_SERVER_VERSION:Bt.CI_SERVER_VERSION,CI_SERVER_VERSION_MAJOR:Bt.CI_SERVER_VERSION_MAJOR,CI_SERVER_VERSION_MINOR:Bt.CI_SERVER_VERSION_MINOR,CI_SERVER_VERSION_PATCH:Bt.CI_SERVER_VERSION_PATCH,CI_TEMPLATE_REGISTRY_HOST:Bt.CI_TEMPLATE_REGISTRY_HOST,GITLAB_CI:Bt.GITLAB_CI,GITLAB_FEATURES:Bt.GITLAB_FEATURES,GITLAB_USER_ID:Bt.GITLAB_USER_ID,GITLAB_USER_LOGIN:Bt.GITLAB_USER_LOGIN,RUNNER_GENERATE_ARTIFACTS_METADATA:Bt.RUNNER_GENERATE_ARTIFACTS_METADATA},environment:{name:Bt.CI_RUNNER_DESCRIPTION,architecture:Bt.CI_RUNNER_EXECUTABLE_ARCH,server:Bt.CI_SERVER_URL,project:Bt.CI_PROJECT_PATH,job:{id:Bt.CI_JOB_ID},pipeline:{id:Bt.CI_PIPELINE_ID,ref:Bt.CI_CONFIG_PATH}}},metadata:{buildInvocationId:`${Bt.CI_JOB_URL}`,completeness:{parameters:!0,environment:!0,materials:!1},reproducible:!1},materials:[{uri:`git+${Bt.CI_PROJECT_URL}`,digest:{sha1:Bt.CI_COMMIT_SHA}}]}}}else throw new Yt(91,"Provenance generation is only supported in GitHub Actions and GitLab CI");return dOe.attest(Buffer.from(JSON.stringify(r)),xjt,e)};async function Mjt(t,e,{access:r,tag:s,registry:a,gitHead:n,provenance:c}){let f=t.manifest.name,p=t.manifest.version,h=q.stringifyIdent(f),E=yOe.default.fromData(e,{algorithms:["sha1","sha512"]}),C=r??EOe(t,f),S=await IOe(t),P=await IA.genPackageManifest(t),I=`${h}-${p}.tgz`,R=new URL(`${zc(a)}/${h}/-/${I}`),N={[I]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}};if(c){let U={name:`pkg:npm/${h.replace(/^@/,"%40")}@${p}`,digest:{sha512:E.sha512[0].hexDigest()}},W=await mOe([U]),te=JSON.stringify(W);N[`${h}-${p}.sigstore`]={content_type:W.mediaType,data:te,length:te.length}}return{_id:h,_attachments:N,name:h,access:C,"dist-tags":{[s]:p},versions:{[p]:{...P,_id:`${h}@${p}`,name:h,version:p,gitHead:n,dist:{shasum:E.sha1[0].hexDigest(),integrity:E.sha512[0].toString(),tarball:R.toString()}}},readme:S}}async function _jt(t){try{let{stdout:e}=await Gr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}function EOe(t,e){let r=t.project.configuration;return t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?t.manifest.publishConfig.access:r.get("npmPublishAccess")!==null?r.get("npmPublishAccess"):e.scope?"restricted":"public"}async function IOe(t){let e=ue.toPortablePath(`${t.cwd}/README.md`),r=t.manifest.name,a=`# ${q.stringifyIdent(r)} +`;try{a=await le.readFilePromise(e,"utf8")}catch(n){if(n.code==="ENOENT")return a;throw n}return a}var mz={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},COe={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},Ujt={configuration:{...mz,...COe,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...mz,...COe}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:zc,valueDefinition:{description:"",type:"SHAPE",properties:{...mz}}}},fetchers:[lb,ch],resolvers:[ub,fb,Ab]},Hjt=Ujt;var bz={};Vt(bz,{NpmAuditCommand:()=>P1,NpmInfoCommand:()=>x1,NpmLoginCommand:()=>k1,NpmLogoutCommand:()=>T1,NpmPublishCommand:()=>R1,NpmTagAddCommand:()=>N1,NpmTagListCommand:()=>F1,NpmTagRemoveCommand:()=>O1,NpmWhoamiCommand:()=>L1,default:()=>Kjt,npmAuditTypes:()=>fP,npmAuditUtils:()=>ML});Ve();Ve();Wt();var Bz=et(Sa());Ul();var fP={};Vt(fP,{Environment:()=>cP,Severity:()=>uP});var cP=(s=>(s.All="all",s.Production="production",s.Development="development",s))(cP||{}),uP=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(uP||{});var ML={};Vt(ML,{allSeverities:()=>b1,getPackages:()=>wz,getReportTree:()=>Iz,getSeverityInclusions:()=>Ez,getTopLevelDependencies:()=>Cz});Ve();var wOe=et(fi());var b1=["info","low","moderate","high","critical"];function Ez(t){if(typeof t>"u")return new Set(b1);let e=b1.indexOf(t),r=b1.slice(e);return new Set(r)}function Iz(t){let e={},r={children:e};for(let[s,a]of je.sortMap(Object.entries(t),n=>n[0]))for(let n of je.sortMap(a,c=>`${c.id}`))e[`${s}/${n.id}`]={value:he.tuple(he.Type.IDENT,q.parseIdent(s)),children:{ID:typeof n.id<"u"&&{label:"ID",value:he.tuple(he.Type.ID,n.id)},Issue:{label:"Issue",value:he.tuple(he.Type.NO_HINT,n.title)},URL:typeof n.url<"u"&&{label:"URL",value:he.tuple(he.Type.URL,n.url)},Severity:{label:"Severity",value:he.tuple(he.Type.NO_HINT,n.severity)},"Vulnerable Versions":{label:"Vulnerable Versions",value:he.tuple(he.Type.RANGE,n.vulnerable_versions)},"Tree Versions":{label:"Tree Versions",children:[...n.versions].sort(wOe.default.compare).map(c=>({value:he.tuple(he.Type.REFERENCE,c)}))},Dependents:{label:"Dependents",children:je.sortMap(n.dependents,c=>q.stringifyLocator(c)).map(c=>({value:he.tuple(he.Type.LOCATOR,c)}))}}};return r}function Cz(t,e,{all:r,environment:s}){let a=[],n=r?t.workspaces:[e],c=["all","production"].includes(s),f=["all","development"].includes(s);for(let p of n)for(let h of p.anchoredPackage.dependencies.values())(p.manifest.devDependencies.has(h.identHash)?!f:!c)||a.push({workspace:p,dependency:h});return a}function wz(t,e,{recursive:r}){let s=new Map,a=new Set,n=[],c=(f,p)=>{let h=t.storedResolutions.get(p.descriptorHash);if(typeof h>"u")throw new Error("Assertion failed: The resolution should have been registered");if(!a.has(h))a.add(h);else return;let E=t.storedPackages.get(h);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");if(q.ensureDevirtualizedLocator(E).reference.startsWith("npm:")&&E.version!==null){let S=q.stringifyIdent(E),P=je.getMapWithDefault(s,S);je.getArrayWithDefault(P,E.version).push(f)}if(r)for(let S of E.dependencies.values())n.push([E,S])};for(let{workspace:f,dependency:p}of e)n.push([f.anchoredLocator,p]);for(;n.length>0;){let[f,p]=n.shift();c(f,p)}return s}var P1=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=ge.String("--environment","all",{description:"Which environments to cover",validator:Ao(cP)});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.noDeprecations=ge.Boolean("--no-deprecations",!1,{description:"Don't warn about deprecated packages"});this.severity=ge.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Ao(uP)});this.excludes=ge.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=ge.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}static{this.paths=[["npm","audit"]]}static{this.usage=ot.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${b1.map(r=>`\`${r}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + If certain packages produce false positives for a particular environment, the \`--exclude\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \`npmAuditExcludePackages\` option. + + If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why package\` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let n=Cz(s,a,{all:this.all,environment:this.environment}),c=wz(s,n,{recursive:this.recursive}),f=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes])),p=Object.create(null);for(let[N,U]of c)f.some(W=>Bz.default.isMatch(N,W))||(p[N]=[...U.keys()]);let h=pi.getAuditRegistry({configuration:r}),E,C=await uA.start({configuration:r,stdout:this.context.stdout},async()=>{let N=an.post("/-/npm/v1/security/advisories/bulk",p,{authType:an.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h}),U=this.noDeprecations?[]:await Promise.all(Array.from(Object.entries(p),async([te,ie])=>{let Ae=await an.getPackageMetadata(q.parseIdent(te),{project:s});return je.mapAndFilter(ie,ce=>{let{deprecated:me}=Ae.versions[ce];return me?[te,ce,me]:je.mapAndFilter.skip})})),W=await N;for(let[te,ie,Ae]of U.flat(1))Object.hasOwn(W,te)&&W[te].some(ce=>Or.satisfiesWithPrereleases(ie,ce.vulnerable_versions))||(W[te]??=[],W[te].push({id:`${te} (deprecation)`,title:(typeof Ae=="string"?Ae:"").trim()||"This package has been deprecated.",severity:"moderate",vulnerable_versions:ie}));E=W});if(C.hasErrors())return C.exitCode();let S=Ez(this.severity),P=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores])),I=Object.create(null);for(let[N,U]of Object.entries(E)){let W=U.filter(te=>!Bz.default.isMatch(`${te.id}`,P)&&S.has(te.severity));W.length>0&&(I[N]=W.map(te=>{let ie=c.get(N);if(typeof ie>"u")throw new Error("Assertion failed: Expected the registry to only return packages that were requested");let Ae=[...ie.keys()].filter(me=>Or.satisfiesWithPrereleases(me,te.vulnerable_versions)),ce=new Map;for(let me of Ae)for(let pe of ie.get(me))ce.set(pe.locatorHash,pe);return{...te,versions:Ae,dependents:[...ce.values()]}}))}let R=Object.keys(I).length>0;return R?(ks.emitTree(Iz(I),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ot.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async N=>{N.reportInfo(1,"No audit suggestions")}),R?1:0)}};Ve();Ve();bt();Wt();var vz=et(fi()),Sz=ye("util"),x1=class extends ut{constructor(){super(...arguments);this.fields=ge.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=ge.Rest()}static{this.paths=[["npm","info"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Tt.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],c=!1,f=await Ot.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let E;if(h==="."){let ie=s.topLevelWorkspace;if(!ie.manifest.name)throw new nt(`Missing ${he.pretty(r,"name",he.Type.CODE)} field in ${ue.fromPortablePath(K.join(ie.cwd,Er.manifest))}`);E=q.makeDescriptor(ie.manifest.name,"unknown")}else E=q.parseDescriptor(h);let C=an.getIdentUrl(E),S=Dz(await an.get(C,{configuration:r,ident:E,jsonResponse:!0,customErrorMessage:an.customPackageError})),P=Object.keys(S.versions).sort(vz.default.compareLoose),R=S["dist-tags"].latest||P[P.length-1],N=Or.validRange(E.range);if(N){let ie=vz.default.maxSatisfying(P,N);ie!==null?R=ie:(p.reportWarning(0,`Unmet range ${q.prettyRange(r,E.range)}; falling back to the latest version`),c=!0)}else Object.hasOwn(S["dist-tags"],E.range)?R=S["dist-tags"][E.range]:E.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${q.prettyRange(r,E.range)}; falling back to the latest version`),c=!0);let U=S.versions[R],W={...S,...U,version:R,versions:P},te;if(a!==null){te={};for(let ie of a){let Ae=W[ie];if(typeof Ae<"u")te[ie]=Ae;else{p.reportWarning(1,`The ${he.pretty(r,ie,he.Type.CODE)} field doesn't exist inside ${q.prettyIdent(r,E)}'s information`),c=!0;continue}}}else this.json||(delete W.dist,delete W.readme,delete W.users),te=W;p.reportJson(te),this.json||n.push(te)}});Sz.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||c)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,Sz.inspect)(p,{depth:1/0,colors:!0,compact:!1})} +`);return f.exitCode()}};function Dz(t){if(Array.isArray(t)){let e=[];for(let r of t)r=Dz(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let s=Dz(t[r]);s&&(e[r]=s)}return e}else return t||null}Ve();Ve();Wt();var BOe=et(lS()),k1=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=ge.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}static{this.paths=[["npm","login"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=await _L({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ot.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let c=await Gjt({configuration:r,registry:s,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),f=await jjt(s,c,r);return await qjt(s,f,{alwaysAuth:this.alwaysAuth,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};async function _L({scope:t,publish:e,configuration:r,cwd:s}){return t&&e?pi.getScopeRegistry(t,{configuration:r,type:pi.RegistryType.PUBLISH_REGISTRY}):t?pi.getScopeRegistry(t,{configuration:r}):e?pi.getPublishRegistry((await rC(r,s)).manifest,{configuration:r}):pi.getDefaultRegistry({configuration:r})}async function jjt(t,e,r){let s=`/-/user/org.couchdb.user:${encodeURIComponent(e.name)}`,a={_id:`org.couchdb.user:${e.name}`,name:e.name,password:e.password,type:"user",roles:[],date:new Date().toISOString()},n={attemptedAs:e.name,configuration:r,registry:t,jsonResponse:!0,authType:an.AuthType.NO_AUTH};try{return(await an.put(s,a,n)).token}catch(E){if(!(E.originalError?.name==="HTTPError"&&E.originalError?.response.statusCode===409))throw E}let c={...n,authType:an.AuthType.NO_AUTH,headers:{authorization:`Basic ${Buffer.from(`${e.name}:${e.password}`).toString("base64")}`}},f=await an.get(s,c);for(let[E,C]of Object.entries(f))(!a[E]||E==="roles")&&(a[E]=C);let p=`${s}/-rev/${a._rev}`;return(await an.put(p,a,c)).token}async function qjt(t,e,{alwaysAuth:r,scope:s}){let a=c=>f=>{let p=je.isIndexableObject(f)?f:{},h=p[c],E=je.isIndexableObject(h)?h:{};return{...p,[c]:{...E,...r!==void 0?{npmAlwaysAuth:r}:{},npmAuthToken:e}}},n=s?{npmScopes:a(s)}:{npmRegistries:a(t)};return await ze.updateHomeConfiguration(n)}async function Gjt({configuration:t,registry:e,report:r,stdin:s,stdout:a}){r.reportInfo(0,`Logging in to ${he.pretty(t,e,he.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),t.env.YARN_IS_TEST_ENV)return{name:t.env.YARN_INJECT_NPM_USER||"",password:t.env.YARN_INJECT_NPM_PASSWORD||""};let c=await(0,BOe.prompt)([{type:"input",name:"name",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:s,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:s,stdout:a}]);return r.reportSeparator(),c}Ve();Ve();Wt();var Q1=new Set(["npmAuthIdent","npmAuthToken"]),T1=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=ge.Boolean("-A,--all",!1,{description:"Logout of all registries"})}static{this.paths=[["npm","logout"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=async()=>{let n=await _L({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),c=await ze.find(this.context.cwd,this.context.plugins),f=q.makeIdent(this.scope??null,"pkg");return!pi.getAuthConfiguration(n,{configuration:c,ident:f}).get("npmAuthToken")};return(await Ot.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await Yjt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await vOe("npmScopes",this.scope),await s()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let c=await _L({configuration:r,cwd:this.context.cwd,publish:this.publish});await vOe("npmRegistries",c),await s()?n.reportInfo(0,`Successfully logged out from ${c}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};function Wjt(t,e){let r=t[e];if(!je.isIndexableObject(r))return!1;let s=new Set(Object.keys(r));if([...Q1].every(n=>!s.has(n)))return!1;for(let n of Q1)s.delete(n);if(s.size===0)return t[e]=void 0,!0;let a={...r};for(let n of Q1)delete a[n];return t[e]=a,!0}async function Yjt(){let t=e=>{let r=!1,s=je.isIndexableObject(e)?{...e}:{};s.npmAuthToken&&(delete s.npmAuthToken,r=!0);for(let a of Object.keys(s))Wjt(s,a)&&(r=!0);if(Object.keys(s).length!==0)return r?s:e};return await ze.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function vOe(t,e){return await ze.updateHomeConfiguration({[t]:r=>{let s=je.isIndexableObject(r)?r:{};if(!Object.hasOwn(s,e))return r;let a=s[e],n=je.isIndexableObject(a)?a:{},c=new Set(Object.keys(n));if([...Q1].every(p=>!c.has(p)))return r;for(let p of Q1)c.delete(p);if(c.size===0)return Object.keys(s).length===1?void 0:{...s,[e]:void 0};let f={};for(let p of Q1)f[p]=void 0;return{...s,[e]:{...n,...f}}}})}Ve();Wt();var R1=class extends ut{constructor(){super(...arguments);this.access=ge.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=ge.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=ge.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=ge.String("--otp",{description:"The OTP token to use with the command"});this.provenance=ge.Boolean("--provenance",!1,{description:"Generate provenance for the package. Only available in GitHub Actions and GitLab CI. Can be set globally through the `npmPublishProvenance` setting or the `YARN_NPM_CONFIG_PROVENANCE` environment variable, or per-package through the `publishConfig.provenance` field in package.json."})}static{this.paths=[["npm","publish"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overridden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);if(a.manifest.private)throw new nt("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new nt("Workspaces must have valid names and versions to be published on an external registry");await s.restoreInstallState();let n=a.manifest.name,c=a.manifest.version,f=pi.getPublishRegistry(a.manifest,{configuration:r});return(await Ot.start({configuration:r,stdout:this.context.stdout},async h=>{if(this.tolerateRepublish)try{let E=await an.get(an.getIdentUrl(n),{configuration:r,registry:f,ident:n,jsonResponse:!0});if(!Object.hasOwn(E,"versions"))throw new Yt(15,'Registry returned invalid data for - missing "versions" field');if(Object.hasOwn(E.versions,c)){h.reportWarning(0,`Registry already knows about version ${c}; skipping.`);return}}catch(E){if(E.originalError?.response?.statusCode!==404)throw E}await In.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await IA.prepareForPack(a,{report:h},async()=>{let E=await IA.genPackList(a);for(let N of E)h.reportInfo(null,N);let C=await IA.genPackStream(a,E),S=await je.bufferStream(C),P=await D1.getGitHead(a.cwd),I=!1;a.manifest.publishConfig&&"provenance"in a.manifest.publishConfig?(I=!!a.manifest.publishConfig.provenance,I?h.reportInfo(null,"Generating provenance statement because `publishConfig.provenance` field is set."):h.reportInfo(null,"Skipping provenance statement because `publishConfig.provenance` field is set to false.")):this.provenance?(I=!0,h.reportInfo(null,"Generating provenance statement because `--provenance` flag is set.")):r.get("npmPublishProvenance")&&(I=!0,h.reportInfo(null,"Generating provenance statement because `npmPublishProvenance` setting is set."));let R=await D1.makePublishBody(a,S,{access:this.access,tag:this.tag,registry:f,gitHead:P,provenance:I});await an.put(an.getIdentUrl(n),R,{configuration:r,registry:f,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};Ve();Wt();var SOe=et(fi());Ve();bt();Wt();var F1=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String({required:!1})}static{this.paths=[["npm","tag","list"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n;if(typeof this.package<"u")n=q.parseIdent(this.package);else{if(!a)throw new ar(s.cwd,this.context.cwd);if(!a.manifest.name)throw new nt(`Missing 'name' field in ${ue.fromPortablePath(K.join(a.cwd,Er.manifest))}`);n=a.manifest.name}let c=await AP(n,r),p={children:je.sortMap(Object.entries(c),([h])=>h).map(([h,E])=>({value:he.tuple(he.Type.RESOLUTION,{descriptor:q.makeDescriptor(n,h),locator:q.makeLocator(n,E)})}))};return ks.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};async function AP(t,e){let r=`/-/package${an.getIdentUrl(t)}/dist-tags`;return an.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:an.customPackageError})}var N1=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}static{this.paths=[["npm","tag","add"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);let n=q.parseDescriptor(this.package,!0),c=n.range;if(!SOe.default.valid(c))throw new nt(`The range ${he.pretty(r,n.range,he.Type.RANGE)} must be a valid semver version`);let f=pi.getPublishRegistry(a.manifest,{configuration:r}),p=he.pretty(r,n,he.Type.IDENT),h=he.pretty(r,c,he.Type.RANGE),E=he.pretty(r,this.tag,he.Type.CODE);return(await Ot.start({configuration:r,stdout:this.context.stdout},async S=>{let P=await AP(n,r);Object.hasOwn(P,this.tag)&&P[this.tag]===c&&S.reportWarning(0,`Tag ${E} is already set to version ${h}`);let I=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.put(I,c,{configuration:r,registry:f,ident:n,jsonRequest:!0,jsonResponse:!0}),S.reportInfo(0,`Tag ${E} added to version ${h} of package ${p}`)})).exitCode()}};Ve();Wt();var O1=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}static{this.paths=[["npm","tag","remove"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]})}async execute(){if(this.tag==="latest")throw new nt("The 'latest' tag cannot be removed.");let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);let n=q.parseIdent(this.package),c=pi.getPublishRegistry(a.manifest,{configuration:r}),f=he.pretty(r,this.tag,he.Type.CODE),p=he.pretty(r,n,he.Type.IDENT),h=await AP(n,r);if(!Object.hasOwn(h,this.tag))throw new nt(`${f} is not a tag of package ${p}`);return(await Ot.start({configuration:r,stdout:this.context.stdout},async C=>{let S=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.del(S,{configuration:r,registry:c,ident:n,jsonResponse:!0}),C.reportInfo(0,`Tag ${f} removed from package ${p}`)})).exitCode()}};Ve();Ve();Wt();var L1=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Print username for the publish registry"})}static{this.paths=[["npm","whoami"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s;return this.scope&&this.publish?s=pi.getScopeRegistry(this.scope,{configuration:r,type:pi.RegistryType.PUBLISH_REGISTRY}):this.scope?s=pi.getScopeRegistry(this.scope,{configuration:r}):this.publish?s=pi.getPublishRegistry((await rC(r,this.context.cwd)).manifest,{configuration:r}):s=pi.getDefaultRegistry({configuration:r}),(await Ot.start({configuration:r,stdout:this.context.stdout},async n=>{let c;try{c=await an.get("/-/whoami",{configuration:r,registry:s,authType:an.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?q.makeIdent(this.scope,""):void 0})}catch(f){if(f.response?.statusCode===401||f.response?.statusCode===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw f}n.reportInfo(0,c.username)})).exitCode()}};var Vjt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmPublishProvenance:{description:"Whether to generate provenance for the published packages",type:"BOOLEAN",default:!1},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[P1,x1,k1,T1,R1,N1,F1,O1,L1]},Kjt=Vjt;var Fz={};Vt(Fz,{PatchCommand:()=>q1,PatchCommitCommand:()=>j1,PatchFetcher:()=>mP,PatchResolver:()=>yP,default:()=>A6t,patchUtils:()=>dy});Ve();Ve();bt();rA();var dy={};Vt(dy,{applyPatchFile:()=>HL,diffFolders:()=>Tz,ensureUnpatchedDescriptor:()=>Pz,ensureUnpatchedLocator:()=>qL,extractPackageToDisk:()=>Qz,extractPatchFlags:()=>TOe,isParentRequired:()=>kz,isPatchDescriptor:()=>jL,isPatchLocator:()=>Fg,loadPatchFiles:()=>dP,makeDescriptor:()=>WL,makeLocator:()=>xz,makePatchHash:()=>Rz,parseDescriptor:()=>hP,parseLocator:()=>gP,parsePatchFile:()=>pP,unpatchDescriptor:()=>c6t,unpatchLocator:()=>u6t});Ve();bt();Ve();bt();var Jjt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function M1(t){return K.relative(vt.root,K.resolve(vt.root,ue.toPortablePath(t)))}function zjt(t){let e=t.trim().match(Jjt);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var Zjt=420,Xjt=493;var DOe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),$jt=t=>({header:zjt(t),parts:[]}),e6t={"@":"header","-":"deletion","+":"insertion"," ":"context","\\":"pragma",undefined:"context"};function t6t(t){let e=[],r=DOe(),s="parsing header",a=null,n=null;function c(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function f(){c(),e.push(r),r=DOe()}for(let p=0;p0?"patch":"mode change",W=null;switch(U){case"rename":{if(!E||!C)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:s,fromPath:M1(E),toPath:M1(C)}),W=C}break;case"file deletion":{let te=a||I;if(!te)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:s,hunk:N&&N[0]||null,path:M1(te),mode:UL(p),hash:S})}break;case"file creation":{let te=n||R;if(!te)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:s,hunk:N&&N[0]||null,path:M1(te),mode:UL(h),hash:P})}break;case"patch":case"mode change":W=R||n;break;default:je.assertNever(U);break}W&&c&&f&&c!==f&&e.push({type:"mode change",semverExclusivity:s,path:M1(W),oldMode:UL(c),newMode:UL(f)}),W&&N&&N.length&&e.push({type:"patch",semverExclusivity:s,path:M1(W),hunks:N,beforeHash:S,afterHash:P})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function UL(t){let e=parseInt(t,8)&511;if(e!==Zjt&&e!==Xjt)throw new Error(`Unexpected file mode string: ${t}`);return e}function pP(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),r6t(t6t(e))}function n6t(t){let e=0,r=0;for(let{type:s,lines:a}of t.parts)switch(s){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:je.assertNever(s);break}if(e!==t.header.original.length||r!==t.header.patched.length){let s=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${s(t.header.original.length)} ${s(t.header.patched.length)} @@, got @@ ${s(e)} ${s(r)} @@)`)}}Ve();bt();var _1=class extends Error{constructor(r,s){super(`Cannot apply hunk #${r+1}`);this.hunk=s}};async function U1(t,e,r){let s=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,s.atime,s.mtime)}async function HL(t,{baseFs:e=new Yn,dryRun:r=!1,version:s=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&s!==null&&!Or.satisfiesWithPrereleases(s,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await U1(e,K.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await U1(e,K.dirname(a.fromPath),async()=>{await U1(e,K.dirname(a.toPath),async()=>{await U1(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` +`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(K.dirname(a.path),{chmod:493,utimes:[ui.SAFE_TIME,ui.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,ui.SAFE_TIME,ui.SAFE_TIME)}break;case"patch":await U1(e,a.path,async()=>{await o6t(a,{baseFs:e,dryRun:r})});break;case"mode change":{let c=(await e.statPromise(a.path)).mode;if(bOe(a.newMode)!==bOe(c))continue;await U1(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:je.assertNever(a);break}}function bOe(t){return(t&64)>0}function POe(t){return t.replace(/\s+$/,"")}function s6t(t,e){return POe(t)===POe(e)}async function o6t({hunks:t,path:e},{baseFs:r,dryRun:s=!1}){let a=await r.statSync(e).mode,c=(await r.readFileSync(e,"utf8")).split(/\n/),f=[],p=0,h=0;for(let C of t){let S=Math.max(h,C.header.patched.start+p),P=Math.max(0,S-h),I=Math.max(0,c.length-S-C.header.original.length),R=Math.max(P,I),N=0,U=0,W=null;for(;N<=R;){if(N<=P&&(U=S-N,W=xOe(C,c,U),W!==null)){N=-N;break}if(N<=I&&(U=S+N,W=xOe(C,c,U),W!==null))break;N+=1}if(W===null)throw new _1(t.indexOf(C),C);f.push(W),p+=N,h=U+C.header.original.length}if(s)return;let E=0;for(let C of f)for(let S of C)switch(S.type){case"splice":{let P=S.index+E;c.splice(P,S.numToDelete,...S.linesToInsert),E+=S.linesToInsert.length-S.numToDelete}break;case"pop":c.pop();break;case"push":c.push(S.line);break;default:je.assertNever(S);break}await r.writeFilePromise(e,c.join(` +`),{mode:a})}function xOe(t,e,r){let s=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let c=e[r];if(c==null||!s6t(c,n))return null;r+=1}a.type==="deletion"&&(s.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&s.push({type:"push",line:""}))}break;case"insertion":s.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&s.push({type:"pop"});break;default:je.assertNever(a.type);break}return s}var l6t=/^builtin<([^>]+)>$/;function H1(t,e){let{protocol:r,source:s,selector:a,params:n}=q.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(s===null)throw new Error("Patch locators must explicitly define their source");let c=a?a.split(/&/).map(E=>ue.toPortablePath(E)):[],f=n&&typeof n.locator=="string"?q.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(s);return{parentLocator:f,sourceItem:h,patchPaths:c,sourceVersion:p}}function jL(t){return t.range.startsWith("patch:")}function Fg(t){return t.reference.startsWith("patch:")}function hP(t){let{sourceItem:e,...r}=H1(t.range,q.parseDescriptor);return{...r,sourceDescriptor:e}}function gP(t){let{sourceItem:e,...r}=H1(t.reference,q.parseLocator);return{...r,sourceLocator:e}}function c6t(t){let{sourceItem:e}=H1(t.range,q.parseDescriptor);return e}function u6t(t){let{sourceItem:e}=H1(t.reference,q.parseLocator);return e}function Pz(t){if(!jL(t))return t;let{sourceItem:e}=H1(t.range,q.parseDescriptor);return e}function qL(t){if(!Fg(t))return t;let{sourceItem:e}=H1(t.reference,q.parseLocator);return e}function kOe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:s,patchHash:a},n){let c=t!==null?{locator:q.stringifyLocator(t)}:{},f=typeof s<"u"?{version:s}:{},p=typeof a<"u"?{hash:a}:{};return q.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...f,...p,...c}})}function WL(t,{parentLocator:e,sourceDescriptor:r,patchPaths:s}){return q.makeDescriptor(t,kOe({parentLocator:e,sourceItem:r,patchPaths:s},q.stringifyDescriptor))}function xz(t,{parentLocator:e,sourcePackage:r,patchPaths:s,patchHash:a}){return q.makeLocator(t,kOe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:s,patchHash:a},q.stringifyLocator))}function QOe({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:s},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let c=a.match(l6t);return c!==null?s(c[1]):a.startsWith("~/")?r(a.slice(2)):K.isAbsolute(a)?t(a):e(a)}function TOe(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function kz(t){return QOe({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function dP(t,e,r){let s=t!==null?await r.fetcher.fetch(t,r):null,a=s&&s.localPath?{packageFs:new Sn(vt.root),prefixPath:K.relative(vt.root,s.localPath)}:s;s&&s!==a&&s.releaseFs&&s.releaseFs();let n=await je.releaseAfterUseAsync(async()=>await Promise.all(e.map(async c=>{let f=TOe(c),p=await QOe({onAbsolute:async h=>await le.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(K.join(a.prefixPath,h),"utf8")},onProject:async h=>await le.readFilePromise(K.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(E=>E.getBuiltinPatch,r.project,h)},c);return{...f,source:p}})));for(let c of n)typeof c.source=="string"&&(c.source=c.source.replace(/\r\n?/g,` +`));return n}async function Qz(t,{cache:e,project:r}){let s=r.storedPackages.get(t.locatorHash);if(typeof s>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=qL(t),n=r.storedChecksums,c=new Wi,f=await le.mktempPromise(),p=K.join(f,"source"),h=K.join(f,"user"),E=K.join(f,".yarn-patch.json"),C=r.configuration.makeFetcher(),S=[];try{let P,I;if(t.locatorHash===a.locatorHash){let R=await C.fetch(t,{cache:e,project:r,fetcher:C,checksums:n,report:c});S.push(()=>R.releaseFs?.()),P=R,I=R}else P=await C.fetch(t,{cache:e,project:r,fetcher:C,checksums:n,report:c}),S.push(()=>P.releaseFs?.()),I=await C.fetch(t,{cache:e,project:r,fetcher:C,checksums:n,report:c}),S.push(()=>I.releaseFs?.());await Promise.all([le.copyPromise(p,P.prefixPath,{baseFs:P.packageFs}),le.copyPromise(h,I.prefixPath,{baseFs:I.packageFs}),le.writeJsonPromise(E,{locator:q.stringifyLocator(t),version:s.version})])}finally{for(let P of S)P()}return le.detachTemp(f),h}async function Tz(t,e){let r=ue.fromPortablePath(t).replace(/\\/g,"/"),s=ue.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Gr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,s],{cwd:ue.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${n}`);let c=r.startsWith("/")?f=>f.slice(1):f=>f;return a.replace(new RegExp(`(a|b)(${je.escapeRegExp(`/${c(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${je.escapeRegExp(`/${c(s)}/`)}`,"g"),"$1/").replace(new RegExp(je.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(je.escapeRegExp(`${s}/`),"g"),"")}function Rz(t,e){let r=[];for(let{source:s}of t){if(s===null)continue;let a=pP(s);for(let n of a){let{semverExclusivity:c,...f}=n;c!==null&&e!==null&&!Or.satisfiesWithPrereleases(e,c)||r.push(JSON.stringify(f))}}return Nn.makeHash(`${3}`,...r).slice(0,6)}Ve();function ROe(t,{configuration:e,report:r}){for(let s of t.parts)for(let a of s.lines)switch(s.type){case"context":r.reportInfo(null,` ${he.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${he.pretty(e,a,he.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${he.pretty(e,a,he.Type.ADDED)}`);break;default:je.assertNever(s.type)}}var mP=class{supports(e,r){return!!Fg(e)}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:q.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:c}}async patchPackage(e,r){let{parentLocator:s,sourceLocator:a,sourceVersion:n,patchPaths:c}=gP(e),f=await dP(s,c,r),p=await le.mktempPromise(),h=K.join(p,"current.zip"),E=await r.fetcher.fetch(a,r),C=q.getIdentVendorPath(e),S=new ps(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await je.releaseAfterUseAsync(async()=>{await S.copyPromise(C,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs),S.saveAndClose();for(let{source:P,optional:I}of f){if(P===null)continue;let R=new ps(h,{level:r.project.configuration.get("compressionLevel")}),N=new Sn(K.resolve(vt.root,C),{baseFs:R});try{await HL(pP(P),{baseFs:N,version:n})}catch(U){if(!(U instanceof _1))throw U;let W=r.project.configuration.get("enableInlineHunks"),te=!W&&!I?" (set enableInlineHunks for details)":"",ie=`${q.prettyLocator(r.project.configuration,e)}: ${U.message}${te}`,Ae=ce=>{W&&ROe(U.hunk,{configuration:r.project.configuration,report:ce})};if(R.discardAndClose(),I){r.report.reportWarningOnce(66,ie,{reportExtra:Ae});continue}else throw new Yt(66,ie,Ae)}R.saveAndClose()}return new ps(h,{level:r.project.configuration.get("compressionLevel")})}};Ve();var yP=class{supportsDescriptor(e,r){return!!jL(e)}supportsLocator(e,r){return!!Fg(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){let{patchPaths:a}=hP(e);return a.every(n=>!kz(n))?e:q.bindDescriptor(e,{locator:q.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:s}=hP(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(s)}}async getCandidates(e,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=hP(e),c=await dP(a,n,s.fetchOptions),f=r.sourceDescriptor;if(typeof f>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=Rz(c,f.version);return[xz(e,{parentLocator:a,sourcePackage:f,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:s}=gP(e);return{...await r.resolver.resolve(s,r),...e}}};Ve();bt();Wt();var j1=class extends ut{constructor(){super(...arguments);this.save=ge.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=ge.String()}static{this.paths=[["patch-commit"]]}static{this.usage=ot.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let n=K.resolve(this.context.cwd,ue.toPortablePath(this.patchFolder)),c=K.join(n,"../source"),f=K.join(n,"../.yarn-patch.json");if(!le.existsSync(c))throw new nt("The argument folder didn't get created by 'yarn patch'");let p=await Tz(c,n),h=await le.readJsonPromise(f),E=q.parseLocator(h.locator,!0);if(!s.storedPackages.has(E.locatorHash))throw new nt("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let C=r.get("patchFolder"),S=K.join(C,`${q.slugifyLocator(E)}.patch`);await le.mkdirPromise(C,{recursive:!0}),await le.writeFilePromise(S,p);let P=[],I=new Map;for(let R of s.storedPackages.values()){if(q.isVirtualLocator(R))continue;let N=R.dependencies.get(E.identHash);if(!N)continue;let U=q.ensureDevirtualizedDescriptor(N),W=Pz(U),te=s.storedResolutions.get(W.descriptorHash);if(!te)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!s.storedPackages.get(te))throw new Error("Assertion failed: Expected the package to have been registered");let Ae=s.tryWorkspaceByLocator(R);if(Ae)P.push(Ae);else{let ce=s.originalPackages.get(R.locatorHash);if(!ce)throw new Error("Assertion failed: Expected the original package to have been registered");let me=ce.dependencies.get(N.identHash);if(!me)throw new Error("Assertion failed: Expected the original dependency to have been registered");I.set(me.descriptorHash,me)}}for(let R of P)for(let N of Ht.hardDependencies){let U=R.manifest[N].get(E.identHash);if(!U)continue;let W=WL(U,{parentLocator:null,sourceDescriptor:q.convertLocatorToDescriptor(E),patchPaths:[K.join(Er.home,K.relative(s.cwd,S))]});R.manifest[N].set(U.identHash,W)}for(let R of I.values()){let N=WL(R,{parentLocator:null,sourceDescriptor:q.convertLocatorToDescriptor(E),patchPaths:[K.join(Er.home,K.relative(s.cwd,S))]});s.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:q.stringifyIdent(N),description:R.range}},reference:N.range})}await s.persist()}};Ve();bt();Wt();var q1=class extends ut{constructor(){super(...arguments);this.update=ge.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String()}static{this.paths=[["patch"]]}static{this.usage=ot.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s path` (with `path` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let c=q.parseLocator(this.package);if(c.reference==="unknown"){let f=je.mapAndFilter([...s.storedPackages.values()],p=>p.identHash!==c.identHash?je.mapAndFilter.skip:q.isVirtualLocator(p)?je.mapAndFilter.skip:Fg(p)!==this.update?je.mapAndFilter.skip:p);if(f.length===0)throw new nt("No package found in the project for the given locator");if(f.length>1)throw new nt(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${f.map(p=>` +- ${q.prettyLocator(r,p)}`).join("")}`);c=f[0]}if(!s.storedPackages.has(c.locatorHash))throw new nt("No package found in the project for the given locator");await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async f=>{let p=qL(c),h=await Qz(c,{cache:n,project:s});f.reportJson({locator:q.stringifyLocator(p),path:ue.fromPortablePath(h)});let E=this.update?" along with its current modifications":"";f.reportInfo(0,`Package ${q.prettyLocator(r,p)} got extracted with success${E}!`),f.reportInfo(0,`You can now edit the following folder: ${he.pretty(r,ue.fromPortablePath(h),"magenta")}`),f.reportInfo(0,`Once you are done run ${he.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${ue.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};var f6t={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[j1,q1],fetchers:[mP],resolvers:[yP]},A6t=f6t;var Lz={};Vt(Lz,{PnpmLinker:()=>EP,default:()=>y6t});Ve();bt();Wt();var EP=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let s=this.getCustomDataKey(),a=r.project.linkersCustomData.get(s);if(!a)throw new nt(`The project in ${he.pretty(r.project.configuration,`${r.project.cwd}/package.json`,he.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new nt(`Couldn't find ${q.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let s=this.getCustomDataKey(),a=r.project.linkersCustomData.get(s);if(!a)throw new nt(`The project in ${he.pretty(r.project.configuration,`${r.project.cwd}/package.json`,he.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let c=e,f=e;do{f=c,c=K.dirname(f);let p=a.locatorByPath.get(f);if(p)return p}while(c!==f);return null}makeInstaller(e){return new Nz(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Nz=class{constructor(e){this.opts=e;this.asyncActions=new je.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=px(le,{indexPath:K.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,s){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,s);case"HARD":return this.installPackageHard(e,r,s)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,s){let a=K.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?K.join(a,Er.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildRequest:null}}async installPackageHard(e,r,s){let a=h6t(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,q.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),s.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await le.mkdirPromise(n,{recursive:!0}),await le.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let f=q.isVirtualLocator(e)?q.devirtualizeLocator(e):e,p={manifest:await Ht.tryFind(r.prefixPath,{baseFs:r.packageFs})??new Ht,misc:{hasBindingGyp:mA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(f,e.version),E=mA.extractBuildRequest(e,p,h,{configuration:this.opts.project.configuration});return{packageLocation:n,buildRequest:E}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!FOe(e,{project:this.opts.project}))return;let s=this.customData.pathsByLocator.get(e.locatorHash);if(typeof s>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${q.stringifyLocator(e)})`);let{dependenciesLocation:a}=s;a&&this.asyncActions.reduce(e.locatorHash,async n=>{await le.mkdirPromise(a,{recursive:!0});let c=await g6t(a),f=new Map(c),p=[n],h=(C,S)=>{let P=S;FOe(S,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),P=q.devirtualizeLocator(S));let I=this.customData.pathsByLocator.get(P.locatorHash);if(typeof I>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${q.stringifyLocator(S)})`);let R=q.stringifyIdent(C),N=K.join(a,R),U=K.relative(K.dirname(N),I.packageLocation),W=f.get(R);f.delete(R),p.push(Promise.resolve().then(async()=>{if(W){if(W.isSymbolicLink()&&await le.readlinkPromise(N)===U)return;await le.removePromise(N)}await le.mkdirpPromise(K.dirname(N)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await le.symlinkPromise(I.packageLocation,N,"junction"):await le.symlinkPromise(U,N)}))},E=!1;for(let[C,S]of r)C.identHash===e.identHash&&(E=!0),h(C,S);!E&&!this.opts.project.tryWorkspaceByLocator(e)&&h(q.convertLocatorToDescriptor(e),e),p.push(d6t(a,f)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=NOe(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await le.removePromise(e);else{let r;try{r=new Set(await le.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:s}of this.customData.pathsByLocator.values()){if(!s)continue;let a=K.contains(e,s);if(a===null)continue;let[n]=a.split(K.sep);r.delete(n)}await Promise.all([...r].map(async s=>{await le.removePromise(K.join(e,s))}))}return await this.asyncActions.wait(),await Oz(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await Oz(p6t(this.opts.project)),{customData:this.customData}}};function p6t(t){return K.join(t.cwd,Er.nodeModules)}function NOe(t){return t.configuration.get("pnpmStoreFolder")}function h6t(t,{project:e}){let r=q.slugifyLocator(t),s=NOe(e),a=K.join(s,r,"package"),n=K.join(s,r,Er.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function FOe(t,{project:e}){return!q.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function g6t(t){let e=new Map,r=[];try{r=await le.readdirPromise(t,{withFileTypes:!0})}catch(s){if(s.code!=="ENOENT")throw s}try{for(let s of r)if(!s.name.startsWith("."))if(s.name.startsWith("@")){let a=await le.readdirPromise(K.join(t,s.name),{withFileTypes:!0});if(a.length===0)e.set(s.name,s);else for(let n of a)e.set(`${s.name}/${n.name}`,n)}else e.set(s.name,s)}catch(s){if(s.code!=="ENOENT")throw s}return e}async function d6t(t,e){let r=[],s=new Set;for(let a of e.keys()){r.push(le.removePromise(K.join(t,a)));let n=q.tryParseIdent(a)?.scope;n&&s.add(`@${n}`)}return Promise.all(r).then(()=>Promise.all([...s].map(a=>Oz(K.join(t,a)))))}async function Oz(t){try{await le.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var m6t={configuration:{pnpmStoreFolder:{description:"By default, the store is stored in the 'node_modules/.store' of the project. Sometimes in CI scenario's it is convenient to store this in a different location so it can be cached and reused.",type:"ABSOLUTE_PATH",default:"./node_modules/.store"}},linkers:[EP]},y6t=m6t;var Gz={};Vt(Gz,{StageCommand:()=>G1,default:()=>x6t,stageUtils:()=>VL});Ve();bt();Wt();Ve();bt();var VL={};Vt(VL,{ActionType:()=>Mz,checkConsensus:()=>YL,expandDirectory:()=>Hz,findConsensus:()=>jz,findVcsRoot:()=>_z,genCommitMessage:()=>qz,getCommitPrefix:()=>OOe,isYarnFile:()=>Uz});bt();var Mz=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(Mz||{});async function _z(t,{marker:e}){do if(!le.existsSync(K.join(t,e)))t=K.dirname(t);else return t;while(t!=="/");return null}function Uz(t,{roots:e,names:r}){if(r.has(K.basename(t)))return!0;do if(!e.has(t))t=K.dirname(t);else return!0;while(t!=="/");return!1}function Hz(t){let e=[],r=[t];for(;r.length>0;){let s=r.pop(),a=le.readdirSync(s);for(let n of a){let c=K.resolve(s,n);le.lstatSync(c).isDirectory()?r.push(c):e.push(c)}}return e}function YL(t,e){let r=0,s=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:s+=1);return r>=s}function jz(t){let e=YL(t,/^(\w\(\w+\):\s*)?\w+s/),r=YL(t,/^(\w\(\w+\):\s*)?[A-Z]/),s=YL(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:s}}function OOe(t){return t.useComponent?"chore(yarn): ":""}var E6t=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function qz(t,e){let r=OOe(t),s=[],a=e.slice().sort((n,c)=>n[0]-c[0]);for(;a.length>0;){let[n,c]=a.shift(),f=E6t.get(n);t.useUpperCase&&s.length===0&&(f=`${f[0].toUpperCase()}${f.slice(1)}`),t.useThirdPerson&&(f+="s");let p=[c];for(;a.length>0&&a[0][0]===n;){let[,E]=a.shift();p.push(E)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),s.push(`${f} ${h}`)}return`${r}${s.join(", ")}`}var I6t="Commit generated via `yarn stage`",C6t=11;async function LOe(t){let{code:e,stdout:r}=await Gr.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function w6t(t,e){let r=[],s=e.filter(h=>K.basename(h.path)==="package.json");for(let{action:h,path:E}of s){let C=K.relative(t,E);if(h===4){let S=await LOe(t),{stdout:P}=await Gr.execvp("git",["show",`${S}:${C}`],{cwd:t,strict:!0}),I=await Ht.fromText(P),R=await Ht.fromFile(E),N=new Map([...R.dependencies,...R.devDependencies]),U=new Map([...I.dependencies,...I.devDependencies]);for(let[W,te]of U){let ie=q.stringifyIdent(te),Ae=N.get(W);Ae?Ae.range!==te.range&&r.push([4,`${ie} to ${Ae.range}`]):r.push([3,ie])}for(let[W,te]of N)U.has(W)||r.push([2,q.stringifyIdent(te)])}else if(h===0){let S=await Ht.fromFile(E);S.name?r.push([0,q.stringifyIdent(S.name)]):r.push([0,"a package"])}else if(h===1){let S=await LOe(t),{stdout:P}=await Gr.execvp("git",["show",`${S}:${C}`],{cwd:t,strict:!0}),I=await Ht.fromText(P);I.name?r.push([1,q.stringifyIdent(I.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Gr.execvp("git",["log",`-${C6t}`,"--pretty=format:%s"],{cwd:t}),c=a===0?n.split(/\n/g).filter(h=>h!==""):[],f=jz(c);return qz(f,r)}var B6t={0:[" A ","?? "],4:[" M "],1:[" D "]},v6t={0:["A "],4:["M "],1:["D "]},MOe={async findRoot(t){return await _z(t,{marker:".git"})},async filterChanges(t,e,r,s){let{stdout:a}=await Gr.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),c=s?.staged?v6t:B6t;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),E=K.resolve(t,p.slice(3));if(!s?.staged&&h==="?? "&&p.endsWith("/"))return Hz(E).map(C=>({action:0,path:C}));{let S=[0,4,1].find(P=>c[P].includes(h));return S!==void 0?[{action:S,path:E}]:[]}})).filter(p=>Uz(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await w6t(t,e)},async makeStage(t,e){let r=e.map(s=>ue.fromPortablePath(s.path));await Gr.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let s=e.map(a=>ue.fromPortablePath(a.path));await Gr.execvp("git",["add","-N","--",...s],{cwd:t,strict:!0}),await Gr.execvp("git",["commit","-m",`${r} + +${I6t} +`,"--",...s],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(s=>ue.fromPortablePath(s.path));await Gr.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var S6t=[MOe],G1=class extends ut{constructor(){super(...arguments);this.commit=ge.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=ge.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=ge.Boolean("-u,--update",!1,{hidden:!0})}static{this.paths=[["stage"]]}static{this.usage=ot.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Tt.find(r,this.context.cwd),{driver:a,root:n}=await D6t(s.cwd),c=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(C=>C.populateYarnPaths,s,C=>{c.push(C)});let f=new Set;for(let C of c)for(let S of b6t(n,C))f.add(S);let p=new Set([r.get("rcFilename"),Er.lockfile,Er.manifest]),h=await a.filterChanges(n,f,p),E=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${E} +`);else for(let C of h)this.context.stdout.write(`${ue.fromPortablePath(C.path)} +`);else if(this.reset){let C=await a.filterChanges(n,f,p,{staged:!0});C.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,C)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,E):(await a.makeStage(n,h),this.context.stdout.write(E))}};async function D6t(t){let e=null,r=null;for(let s of S6t)if((r=await s.findRoot(t))!==null){e=s;break}if(e===null||r===null)throw new nt("No stage driver has been found for your current project");return{driver:e,root:r}}function b6t(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let s;try{s=le.statSync(e)}catch{break}if(s.isSymbolicLink())e=K.resolve(K.dirname(e),le.readlinkSync(e));else break}return r}var P6t={commands:[G1]},x6t=P6t;var Wz={};Vt(Wz,{default:()=>L6t});Ve();Ve();bt();var HOe=et(fi());Ve();var _Oe=et(Z9()),k6t="e8e1bd300d860104bb8c58453ffa1eb4",Q6t="OFCNCOG2CU",UOe=async(t,e)=>{let r=q.stringifyIdent(t),a=T6t(e).initIndex("npm-search");try{return(await a.getObject(r,{attributesToRetrieve:["types"]})).types?.ts==="definitely-typed"}catch{return!1}},T6t=t=>(0,_Oe.default)(Q6t,k6t,{requester:{async send(r){try{let s=await An.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:s.body,isTimedOut:!1,status:s.statusCode}}catch(s){return{content:s.response.body,isTimedOut:!1,status:s.response.statusCode}}}}});var jOe=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,R6t=async(t,e,r,s)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??(le.existsSync(K.join(t.cwd,"tsconfig.json"))||le.existsSync(K.join(a.cwd,"tsconfig.json")))))return;let f=n.makeResolver(),p={project:a,resolver:f,report:new Wi};if(!await UOe(r,n))return;let E=jOe(r),C=q.parseRange(r.range).selector;if(!Or.validRange(C)){let N=n.normalizeDependency(r),U=await f.getCandidates(N,{},p);C=q.parseRange(U[0].reference).selector}let S=HOe.default.coerce(C);if(S===null)return;let P=`${Xu.Modifier.CARET}${S.major}`,I=q.makeDescriptor(q.makeIdent("types",E),P),R=je.mapAndFind(a.workspaces,N=>{let U=N.manifest.dependencies.get(r.identHash)?.descriptorHash,W=N.manifest.devDependencies.get(r.identHash)?.descriptorHash;if(U!==r.descriptorHash&&W!==r.descriptorHash)return je.mapAndFind.skip;let te=[];for(let ie of Ht.allDependencies){let Ae=N.manifest[ie].get(I.identHash);typeof Ae>"u"||te.push([ie,Ae])}return te.length===0?je.mapAndFind.skip:te});if(typeof R<"u")for(let[N,U]of R)t.manifest[N].set(U.identHash,U);else{try{let N=n.normalizeDependency(I);if((await f.getCandidates(N,{},p)).length===0)return}catch{return}t.manifest[Xu.Target.DEVELOPMENT].set(I.identHash,I)}},F6t=async(t,e,r)=>{if(r.scope==="types")return;let{project:s}=t,{configuration:a}=s;if(!(a.get("tsEnableAutoTypes")??(le.existsSync(K.join(t.cwd,"tsconfig.json"))||le.existsSync(K.join(s.cwd,"tsconfig.json")))))return;let c=jOe(r),f=q.makeIdent("types",c);for(let p of Ht.allDependencies)typeof t.manifest[p].get(f.identHash)>"u"||t.manifest[p].delete(f.identHash)},N6t=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},O6t={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:R6t,afterWorkspaceDependencyRemoval:F6t,beforeWorkspacePacking:N6t}},L6t=O6t;var zz={};Vt(zz,{VersionApplyCommand:()=>J1,VersionCheckCommand:()=>z1,VersionCommand:()=>Z1,default:()=>rqt,versionUtils:()=>K1});Ve();Ve();Wt();var K1={};Vt(K1,{Decision:()=>Y1,applyPrerelease:()=>KOe,applyReleases:()=>Jz,applyStrategy:()=>JL,clearVersionFiles:()=>Yz,getUndecidedDependentWorkspaces:()=>CP,getUndecidedWorkspaces:()=>KL,openVersionFile:()=>V1,requireMoreDecisions:()=>$6t,resolveVersionFiles:()=>IP,suggestStrategy:()=>Kz,updateVersionFiles:()=>Vz,validateReleaseDecision:()=>W1});Ve();bt();Bc();Wt();var VOe=et(YOe()),TA=et(fi()),X6t=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,Y1=(c=>(c.UNDECIDED="undecided",c.DECLINE="decline",c.MAJOR="major",c.MINOR="minor",c.PATCH="patch",c.PRERELEASE="prerelease",c))(Y1||{});function W1(t){let e=TA.default.valid(t);return e||je.validateEnum((0,VOe.default)(Y1,"UNDECIDED"),t)}async function IP(t,{prerelease:e=null}={}){let r=new Map,s=t.configuration.get("deferredVersionFolder");if(!le.existsSync(s))return r;let a=await le.readdirPromise(s);for(let n of a){if(!n.endsWith(".yml"))continue;let c=K.join(s,n),f=await le.readFilePromise(c,"utf8"),p=ls(f);for(let[h,E]of Object.entries(p.releases||{})){if(E==="decline")continue;let C=q.parseIdent(h),S=t.tryWorkspaceByIdent(C);if(S===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${K.basename(c)} references ${h})`);if(S.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${q.prettyLocator(t.configuration,S.anchoredLocator)})`);let P=S.manifest.raw.stableVersion??S.manifest.version,I=r.get(S),R=JL(P,W1(E));if(R===null)throw new Error(`Assertion failed: Expected ${P} to support being bumped via strategy ${E}`);let N=typeof I<"u"?TA.default.gt(R,I)?R:I:R;r.set(S,N)}}return e&&(r=new Map([...r].map(([n,c])=>[n,KOe(c,{current:n.manifest.version,prerelease:e})]))),r}async function Yz(t){let e=t.configuration.get("deferredVersionFolder");le.existsSync(e)&&await le.removePromise(e)}async function Vz(t,e){let r=new Set(e),s=t.configuration.get("deferredVersionFolder");if(!le.existsSync(s))return;let a=await le.readdirPromise(s);for(let n of a){if(!n.endsWith(".yml"))continue;let c=K.join(s,n),f=await le.readFilePromise(c,"utf8"),p=ls(f),h=p?.releases;if(h){for(let E of Object.keys(h)){let C=q.parseIdent(E),S=t.tryWorkspaceByIdent(C);(S===null||r.has(S))&&delete p.releases[E]}Object.keys(p.releases).length>0?await le.changeFilePromise(c,il(new il.PreserveOrdering(p))):await le.unlinkPromise(c)}}}async function V1(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new nt("This command can only be run from within a Yarn project");let s=await Qa.fetchRoot(r.projectCwd),a=s!==null?await Qa.fetchBase(s,{baseRefs:r.get("changesetBaseRefs")}):null,n=s!==null?await Qa.fetchChangedFiles(s,{base:a.hash,project:t}):[],c=r.get("deferredVersionFolder"),f=n.filter(P=>K.contains(c,P)!==null);if(f.length>1)throw new nt(`Your current branch contains multiple versioning files; this isn't supported: +- ${f.map(P=>ue.fromPortablePath(P)).join(` +- `)}`);let p=new Set(je.mapAndFilter(n,P=>{let I=t.tryWorkspaceByFilePath(P);return I===null?je.mapAndFilter.skip:I}));if(f.length===0&&p.size===0&&!e)return null;let h=f.length===1?f[0]:K.join(c,`${Nn.makeHash(Math.random().toString()).slice(0,8)}.yml`),E=le.existsSync(h)?await le.readFilePromise(h,"utf8"):"{}",C=ls(E),S=new Map;for(let P of C.declined||[]){let I=q.parseIdent(P),R=t.getWorkspaceByIdent(I);S.set(R,"decline")}for(let[P,I]of Object.entries(C.releases||{})){let R=q.parseIdent(P),N=t.getWorkspaceByIdent(R);S.set(N,W1(I))}return{project:t,root:s,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(P=>P.manifest.version!==null)),releases:S,async saveAll(){let P={},I=[],R=[];for(let N of t.workspaces){if(N.manifest.version===null)continue;let U=q.stringifyIdent(N.anchoredLocator),W=S.get(N);W==="decline"?I.push(U):typeof W<"u"?P[U]=W1(W):p.has(N)&&R.push(U)}await le.mkdirPromise(K.dirname(h),{recursive:!0}),await le.changeFilePromise(h,il(new il.PreserveOrdering({releases:Object.keys(P).length>0?P:void 0,declined:I.length>0?I:void 0,undecided:R.length>0?R:void 0})))}}}function $6t(t){return KL(t).size>0||CP(t).length>0}function KL(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function CP(t,{include:e=new Set}={}){let r=[],s=new Map(je.mapAndFilter([...t.releases],([n,c])=>c==="decline"?je.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(je.mapAndFilter([...t.releases],([n,c])=>c!=="decline"?je.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||s.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let c of Ht.hardDependencies)for(let f of n.manifest.getForScope(c).values()){let p=t.project.tryWorkspaceByDescriptor(f);p!==null&&s.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function Kz(t,e){let r=TA.default.clean(e);for(let s of Object.values(Y1))if(s!=="undecided"&&s!=="decline"&&TA.default.inc(t,s)===r)return s;return null}function JL(t,e){if(TA.default.valid(e))return e;if(t===null)throw new nt(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!TA.default.valid(t))throw new nt(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=TA.default.inc(t,e);if(r===null)throw new nt(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function Jz(t,e,{report:r,exact:s}){let a=new Map;for(let n of t.workspaces)for(let c of Ht.allDependencies)for(let f of n.manifest[c].values()){let p=t.tryWorkspaceByDescriptor(f);if(p===null||!e.has(p))continue;je.getArrayWithDefault(a,p).push([n,c,f.identHash])}for(let[n,c]of e){let f=n.manifest.version;n.manifest.version=c,TA.default.prerelease(c)===null?delete n.manifest.raw.stableVersion:n.manifest.raw.stableVersion||(n.manifest.raw.stableVersion=f);let p=n.manifest.name!==null?q.stringifyIdent(n.manifest.name):null;r.reportInfo(0,`${q.prettyLocator(t.configuration,n.anchoredLocator)}: Bumped to ${c}`),r.reportJson({cwd:ue.fromPortablePath(n.cwd),ident:p,oldVersion:f,newVersion:c});let h=a.get(n);if(!(typeof h>"u"))for(let[E,C,S]of h){let P=E.manifest[C].get(S);if(typeof P>"u")throw new Error("Assertion failed: The dependency should have existed");let I=P.range,R=!1;if(I.startsWith(yi.protocol)&&(I=I.slice(yi.protocol.length),R=!0,I===n.relativeCwd))continue;let N=I.match(X6t);if(!N){r.reportWarning(0,`Couldn't auto-upgrade range ${I} (in ${q.prettyLocator(t.configuration,E.anchoredLocator)})`);continue}let U=s?`${c}`:`${N[1]}${c}`;R&&(U=`${yi.protocol}${U}`);let W=q.makeDescriptor(P,U);E.manifest[C].set(S,W)}}}var eqt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function KOe(t,{current:e,prerelease:r}){let s=new TA.default.SemVer(e),a=s.prerelease.slice(),n=[];s.prerelease=[],s.format()!==t&&(a.length=0);let c=!0,f=r.split(/\./g);for(let p of f){let h=eqt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():c=!1;else{let E=c?h.extract(a):null;E!==null&&typeof E[0]=="number"?(n.push(h.generate(E[0])),a=E[1]):(n.push(h.generate()),c=!1)}}return s.prerelease&&(s.prerelease=[]),`${t}-${n.join(".")}`}var J1=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=ge.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=ge.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.exact=ge.Boolean("--exact",!1,{description:"Use the exact version of each package, removes any range. Useful for nightly releases where the range might match another version."});this.recursive=ge.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["version","apply"]]}static{this.usage=ot.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` + This command will apply the deferred version changes and remove their definitions from the repository. + + Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%n\`) will be used on all new versions and the version definitions will be kept as-is. + + By default only the current workspace will be bumped, but you can configure this behavior by using one of: + + - \`--recursive\` to also apply the version bump on its dependencies + - \`--all\` to apply the version bump on all packages in the repository + + Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. + `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async f=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await IP(s,{prerelease:p}),E=new Map;if(this.all)E=h;else{let C=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let S of C){let P=h.get(S);typeof P<"u"&&E.set(S,P)}}if(E.size===0){let C=h.size>0?" Did you want to add --all?":"";f.reportWarning(0,`The current workspace doesn't seem to require a version bump.${C}`);return}Jz(s,E,{report:f,exact:this.exact}),this.dryRun||(p||(this.all?await Yz(s):await Vz(s,[...E.keys()])),f.reportSeparator())});return this.dryRun||c.hasErrors()?c.exitCode():await s.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};Ve();bt();Wt();var zL=et(fi());var z1=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}static{this.paths=[["version","check"]]}static{this.usage=ot.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){ow(this.context);let{Gem:r}=await Promise.resolve().then(()=>($F(),CY)),{ScrollableItems:s}=await Promise.resolve().then(()=>(nN(),rN)),{FocusRequest:a}=await Promise.resolve().then(()=>(BY(),XPe)),{useListInput:n}=await Promise.resolve().then(()=>(tN(),$Pe)),{renderForm:c}=await Promise.resolve().then(()=>(aN(),oN)),{Box:f,Text:p}=await Promise.resolve().then(()=>et(Vc())),{default:h,useCallback:E,useState:C}=await Promise.resolve().then(()=>et(hn())),S=await ze.find(this.context.cwd,this.context.plugins),{project:P,workspace:I}=await Tt.find(S,this.context.cwd);if(!I)throw new ar(P.cwd,this.context.cwd);await P.restoreInstallState();let R=await V1(P);if(R===null||R.releaseRoots.size===0)return 0;if(R.root===null)throw new nt("This command can only be run on Git repositories");let N=()=>h.createElement(f,{flexDirection:"row",paddingBottom:1},h.createElement(f,{flexDirection:"column",width:60},h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),h.createElement(f,{flexDirection:"column"},h.createElement(f,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to save.")),h.createElement(f,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),U=({workspace:me,active:pe,decision:Be,setDecision:Ce})=>{let g=me.manifest.raw.stableVersion??me.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${q.prettyLocator(S,me.anchoredLocator)})`);if(zL.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let we=["undecided","decline","patch","minor","major"];n(Be,we,{active:pe,minus:"left",plus:"right",set:Ce});let Ee=Be==="undecided"?h.createElement(p,{color:"yellow"},g):Be==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},zL.default.valid(Be)?Be:zL.default.inc(g,Be)));return h.createElement(f,{flexDirection:"column"},h.createElement(f,null,h.createElement(p,null,q.prettyLocator(S,me.anchoredLocator)," - ",Ee)),h.createElement(f,null,we.map(fe=>h.createElement(f,{key:fe,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:fe===Be})," ",fe)))))},W=me=>{let pe=new Set(R.releaseRoots),Be=new Map([...me].filter(([Ce])=>pe.has(Ce)));for(;;){let Ce=CP({project:R.project,releases:Be}),g=!1;if(Ce.length>0){for(let[we]of Ce)if(!pe.has(we)){pe.add(we),g=!0;let Ee=me.get(we);typeof Ee<"u"&&Be.set(we,Ee)}}if(!g)break}return{relevantWorkspaces:pe,relevantReleases:Be}},te=()=>{let[me,pe]=C(()=>new Map(R.releases)),Be=E((Ce,g)=>{let we=new Map(me);g!=="undecided"?we.set(Ce,g):we.delete(Ce);let{relevantReleases:Ee}=W(we);pe(Ee)},[me,pe]);return[me,Be]},ie=({workspaces:me,releases:pe})=>{let Be=[];Be.push(`${me.size} total`);let Ce=0,g=0;for(let we of me){let Ee=pe.get(we);typeof Ee>"u"?g+=1:Ee!=="decline"&&(Ce+=1)}return Be.push(`${Ce} release${Ce===1?"":"s"}`),Be.push(`${g} remaining`),h.createElement(p,{color:"yellow"},Be.join(", "))},ce=await c(({useSubmit:me})=>{let[pe,Be]=te();me(pe);let{relevantWorkspaces:Ce}=W(pe),g=new Set([...Ce].filter(se=>!R.releaseRoots.has(se))),[we,Ee]=C(0),fe=E(se=>{switch(se){case a.BEFORE:Ee(we-1);break;case a.AFTER:Ee(we+1);break}},[we,Ee]);return h.createElement(f,{flexDirection:"column"},h.createElement(N,null),h.createElement(f,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(f,{flexDirection:"column",marginTop:1,paddingLeft:2},[...R.changedFiles].map(se=>h.createElement(f,{key:se},h.createElement(p,null,h.createElement(p,{color:"grey"},ue.fromPortablePath(R.root)),ue.sep,ue.relative(ue.fromPortablePath(R.root),ue.fromPortablePath(se)))))),R.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(f,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(f,{marginTop:1},h.createElement(ie,{workspaces:R.releaseRoots,releases:pe})):null,h.createElement(f,{marginTop:1,flexDirection:"column"},h.createElement(s,{active:we%2===0,radius:1,size:2,onFocusRequest:fe},[...R.releaseRoots].map(se=>h.createElement(U,{key:se.cwd,workspace:se,decision:pe.get(se)||"undecided",setDecision:X=>Be(se,X)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(f,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(f,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(f,{marginTop:1},h.createElement(ie,{workspaces:g,releases:pe})):null,h.createElement(f,{marginTop:1,flexDirection:"column"},h.createElement(s,{active:we%2===1,radius:2,size:2,onFocusRequest:fe},[...g].map(se=>h.createElement(U,{key:se.cwd,workspace:se,decision:pe.get(se)||"undecided",setDecision:X=>Be(se,X)}))))):null)},{versionFile:R},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ce>"u")return 1;R.releases.clear();for(let[me,pe]of ce)R.releases.set(me,pe);await R.saveAll()}async executeStandard(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);return await s.restoreInstallState(),(await Ot.start({configuration:r,stdout:this.context.stdout},async c=>{let f=await V1(s);if(f===null||f.releaseRoots.size===0)return;if(f.root===null)throw new nt("This command can only be run on Git repositories");if(c.reportInfo(0,`Your PR was started right after ${he.pretty(r,f.baseHash.slice(0,7),"yellow")} ${he.pretty(r,f.baseTitle,"magenta")}`),f.changedFiles.size>0){c.reportInfo(0,"You have changed the following files since then:"),c.reportSeparator();for(let S of f.changedFiles)c.reportInfo(null,`${he.pretty(r,ue.fromPortablePath(f.root),"gray")}${ue.sep}${ue.relative(ue.fromPortablePath(f.root),ue.fromPortablePath(S))}`)}let p=!1,h=!1,E=KL(f);if(E.size>0){p||c.reportSeparator();for(let S of E)c.reportError(0,`${q.prettyLocator(r,S.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let C=CP(f);for(let[S,P]of C)h||c.reportSeparator(),c.reportError(0,`${q.prettyLocator(r,S.anchoredLocator)} doesn't have a release strategy attached, but depends on ${q.prettyWorkspace(r,P)} which is planned for release.`),h=!0;(p||h)&&(c.reportSeparator(),c.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),c.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};Ve();Wt();var ZL=et(fi());var Z1=class extends ut{constructor(){super(...arguments);this.deferred=ge.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=ge.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=ge.String()}static{this.paths=[["version"]]}static{this.usage=ot.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let c=ZL.default.valid(this.strategy),f=this.strategy==="decline",p;if(c)if(a.manifest.version!==null){let E=Kz(a.manifest.version,this.strategy);E!==null?p=E:p=this.strategy}else p=this.strategy;else{let E=a.manifest.version;if(!f){if(E===null)throw new nt("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof E!="string"||!ZL.default.valid(E))throw new nt(`Can't bump the version (${E}) if it's not valid semver`)}p=W1(this.strategy)}if(!n){let C=(await IP(s)).get(a);if(typeof C<"u"&&p!=="decline"){let S=JL(a.manifest.version,p);if(ZL.default.lt(S,C))throw new nt(`Can't bump the version to one that would be lower than the current deferred one (${C})`)}}let h=await V1(s,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};var tqt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[J1,z1,Z1]},rqt=tqt;var Zz={};Vt(Zz,{WorkspacesFocusCommand:()=>X1,WorkspacesForeachCommand:()=>e2,default:()=>sqt});Ve();Ve();Wt();var X1=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=ge.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=ge.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=ge.Rest()}static{this.paths=[["workspaces","focus"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd),n=await Jr.find(r);await s.restoreInstallState({restoreResolutions:!1});let c;if(this.all)c=new Set(s.workspaces);else if(this.workspaces.length===0){if(!a)throw new ar(s.cwd,this.context.cwd);c=new Set([a])}else c=new Set(this.workspaces.map(f=>s.getWorkspaceByIdent(q.parseIdent(f))));for(let f of c)for(let p of this.production?["dependencies"]:Ht.hardDependencies)for(let h of f.manifest.getForScope(p).values()){let E=s.tryWorkspaceByDescriptor(h);E!==null&&c.add(E)}for(let f of s.workspaces)c.has(f)?this.production&&f.manifest.devDependencies.clear():(f.manifest.installConfig=f.manifest.installConfig||{},f.manifest.installConfig.selfReferences=!1,f.manifest.dependencies.clear(),f.manifest.devDependencies.clear(),f.manifest.peerDependencies.clear(),f.manifest.scripts.clear());return await s.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n,persistProject:!1})}};Ve();Ve();Ve();Wt();var $1=et(Sa()),zOe=et(Md());Ul();var e2=class extends ut{constructor(){super(...arguments);this.from=ge.Array("--from",{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=ge.Boolean("-A,--all",{description:"Run the command on all workspaces of a project"});this.recursive=ge.Boolean("-R,--recursive",{description:"Run the command on the current workspace and all of its recursive dependencies"});this.worktree=ge.Boolean("-W,--worktree",{description:"Run the command on all workspaces of the current worktree"});this.verbose=ge.Counter("-v,--verbose",{description:"Increase level of logging verbosity up to 2 times"});this.parallel=ge.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=ge.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=ge.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:vU([Ao(["unlimited"]),rB(BU(),[DU(),SU(1)])])});this.topological=ge.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=ge.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=ge.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=ge.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=ge.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.dryRun=ge.Boolean("-n,--dry-run",{description:"Print the commands that would be run, without actually running them"});this.commandName=ge.String();this.args=ge.Proxy()}static{this.paths=[["workspaces","foreach"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `-W,--worktree` is set, Yarn will find workspaces to run the command on by looking at the current worktree.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `--dry-run` is set, Yarn will explain what it would do without actually doing anything.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. You can also use the `--no-private` flag to avoid running the command in private workspaces.\n\n The `-v,--verbose` flag can be passed up to twice: once to prefix output lines with the originating workspace's name, and again to include start/finish/timing log lines. Maximum verbosity is enabled by default in terminal environments.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish all packages","yarn workspaces foreach -A --no-private npm publish --tolerate-republish"],["Run the build script on all descendant packages","yarn workspaces foreach -A run build"],["Run the build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -Apt run build"],["Run the build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -Rpt --from '{workspace-a,workspace-b}' run build"]]})}static{this.schema=[iB("all",Wf.Forbids,["from","recursive","since","worktree"],{missingIf:"undefined"}),bU(["all","recursive","since","worktree"],{missingIf:"undefined"})]}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Tt.find(r,this.context.cwd);if(!this.all&&!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),c=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new nt("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let f=Ce=>{this.dryRun&&this.context.stdout.write(`${Ce} +`)},p=()=>{let Ce=this.from.map(g=>$1.default.matcher(g));return s.workspaces.filter(g=>{let we=q.stringifyIdent(g.anchoredLocator),Ee=g.relativeCwd;return Ce.some(fe=>fe(we)||fe(Ee))})},h=[];if(this.since?(f("Option --since is set; selecting the changed workspaces as root for workspace selection"),h=Array.from(await Qa.fetchChangedWorkspaces({ref:this.since,project:s}))):this.from?(f("Option --from is set; selecting the specified workspaces"),h=[...p()]):this.worktree?(f("Option --worktree is set; selecting the current workspace"),h=[a]):this.recursive?(f("Option --recursive is set; selecting the current workspace"),h=[a]):this.all&&(f("Option --all is set; selecting all workspaces"),h=[...s.workspaces]),this.dryRun&&!this.all){for(let Ce of h)f(` +- ${Ce.relativeCwd} + ${q.prettyLocator(r,Ce.anchoredLocator)}`);h.length>0&&f("")}let E;if(this.recursive?this.since?(f("Option --recursive --since is set; recursively selecting all dependent workspaces"),E=new Set(h.map(Ce=>[...Ce.getRecursiveWorkspaceDependents()]).flat())):(f("Option --recursive is set; recursively selecting all transitive dependencies"),E=new Set(h.map(Ce=>[...Ce.getRecursiveWorkspaceDependencies()]).flat())):this.worktree?(f("Option --worktree is set; recursively selecting all nested workspaces"),E=new Set(h.map(Ce=>[...Ce.getRecursiveWorkspaceChildren()]).flat())):E=null,E!==null&&(h=[...new Set([...h,...E])],this.dryRun))for(let Ce of E)f(` +- ${Ce.relativeCwd} + ${q.prettyLocator(r,Ce.anchoredLocator)}`);let C=[],S=!1;if(c?.includes(":")){for(let Ce of s.workspaces)if(Ce.manifest.scripts.has(c)&&(S=!S,S===!1))break}for(let Ce of h){if(c&&!Ce.manifest.scripts.has(c)&&!S&&!(await In.getWorkspaceAccessibleBinaries(Ce)).has(c)){f(`Excluding ${Ce.relativeCwd} because it doesn't have a "${c}" script`);continue}if(!(c===r.env.npm_lifecycle_event&&Ce.cwd===a.cwd)){if(this.include.length>0&&!$1.default.isMatch(q.stringifyIdent(Ce.anchoredLocator),this.include)&&!$1.default.isMatch(Ce.relativeCwd,this.include)){f(`Excluding ${Ce.relativeCwd} because it doesn't match the --include filter`);continue}if(this.exclude.length>0&&($1.default.isMatch(q.stringifyIdent(Ce.anchoredLocator),this.exclude)||$1.default.isMatch(Ce.relativeCwd,this.exclude))){f(`Excluding ${Ce.relativeCwd} because it matches the --exclude filter`);continue}if(this.publicOnly&&Ce.manifest.private===!0){f(`Excluding ${Ce.relativeCwd} because it's a private workspace and --no-private was set`);continue}C.push(Ce)}}if(this.dryRun)return 0;let P=this.verbose??(this.context.stdout.isTTY?1/0:0),I=P>0,R=P>1,N=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(As.availableParallelism()/2):1,U=N===1?!1:this.parallel,W=U?this.interlaced:!0,te=(0,zOe.default)(N),ie=new Map,Ae=new Set,ce=0,me=null,pe=!1,Be=await Ot.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async Ce=>{let g=async(we,{commandIndex:Ee})=>{if(pe)return-1;!U&&R&&Ee>1&&Ce.reportSeparator();let fe=nqt(we,{configuration:r,label:I,commandIndex:Ee}),[se,X]=JOe(Ce,{prefix:fe,interlaced:W}),[De,Re]=JOe(Ce,{prefix:fe,interlaced:W});try{R&&Ce.reportInfo(null,`${fe?`${fe} `:""}Process started`);let gt=Date.now(),j=await this.cli.run([this.commandName,...this.args],{cwd:we.cwd,stdout:se,stderr:De})||0;se.end(),De.end(),await X,await Re;let rt=Date.now();if(R){let Fe=r.get("enableTimers")?`, completed in ${he.pretty(r,rt-gt,he.Type.DURATION)}`:"";Ce.reportInfo(null,`${fe?`${fe} `:""}Process exited (exit code ${j})${Fe}`)}return j===130&&(pe=!0,me=j),j}catch(gt){throw se.end(),De.end(),await X,await Re,gt}};for(let we of C)ie.set(we.anchoredLocator.locatorHash,we);for(;ie.size>0&&!Ce.hasErrors();){let we=[];for(let[X,De]of ie){if(Ae.has(De.anchoredDescriptor.descriptorHash))continue;let Re=!0;if(this.topological||this.topologicalDev){let gt=this.topologicalDev?new Map([...De.manifest.dependencies,...De.manifest.devDependencies]):De.manifest.dependencies;for(let j of gt.values()){let rt=s.tryWorkspaceByDescriptor(j);if(Re=rt===null||!ie.has(rt.anchoredLocator.locatorHash),!Re)break}}if(Re&&(Ae.add(De.anchoredDescriptor.descriptorHash),we.push(te(async()=>{let gt=await g(De,{commandIndex:++ce});return ie.delete(X),Ae.delete(De.anchoredDescriptor.descriptorHash),{workspace:De,exitCode:gt}})),!U))break}if(we.length===0){let X=Array.from(ie.values()).map(De=>q.prettyLocator(r,De.anchoredLocator)).join(", ");Ce.reportError(3,`Dependency cycle detected (${X})`);return}let Ee=await Promise.all(we);Ee.forEach(({workspace:X,exitCode:De})=>{De!==0&&Ce.reportError(0,`The command failed in workspace ${q.prettyLocator(r,X.anchoredLocator)} with exit code ${De}`)});let se=Ee.map(X=>X.exitCode).find(X=>X!==0);(this.topological||this.topologicalDev)&&typeof se<"u"&&Ce.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return me!==null?me:Be.exitCode()}};function JOe(t,{prefix:e,interlaced:r}){let s=t.createStreamReporter(e),a=new je.DefaultStream;a.pipe(s,{end:!1}),a.on("finish",()=>{s.end()});let n=new Promise(f=>{s.on("finish",()=>{f(a.active)})});if(r)return[a,n];let c=new je.BufferStream;return c.pipe(a,{end:!1}),c.on("finish",()=>{a.end()}),[c,n]}function nqt(t,{configuration:e,commandIndex:r,label:s}){if(!s)return null;let n=`[${q.stringifyIdent(t.anchoredLocator)}]:`,c=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],f=c[r%c.length];return he.pretty(e,n,f)}var iqt={commands:[X1,e2]},sqt=iqt;var nC=()=>({modules:new Map([["@yarnpkg/cli",iS],["@yarnpkg/core",nS],["@yarnpkg/fslib",q2],["@yarnpkg/libzip",Sv],["@yarnpkg/parsers",Z2],["@yarnpkg/shell",Qv],["clipanion",cB],["semver",oqt],["typanion",Ia],["@yarnpkg/plugin-essentials",$5],["@yarnpkg/plugin-compat",i9],["@yarnpkg/plugin-constraints",w9],["@yarnpkg/plugin-dlx",B9],["@yarnpkg/plugin-exec",D9],["@yarnpkg/plugin-file",P9],["@yarnpkg/plugin-git",X5],["@yarnpkg/plugin-github",Q9],["@yarnpkg/plugin-http",T9],["@yarnpkg/plugin-init",R9],["@yarnpkg/plugin-interactive-tools",TY],["@yarnpkg/plugin-jsr",FY],["@yarnpkg/plugin-link",NY],["@yarnpkg/plugin-nm",yV],["@yarnpkg/plugin-npm",yz],["@yarnpkg/plugin-npm-cli",bz],["@yarnpkg/plugin-pack",f7],["@yarnpkg/plugin-patch",Fz],["@yarnpkg/plugin-pnp",oV],["@yarnpkg/plugin-pnpm",Lz],["@yarnpkg/plugin-stage",Gz],["@yarnpkg/plugin-typescript",Wz],["@yarnpkg/plugin-version",zz],["@yarnpkg/plugin-workspace-tools",Zz]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-jsr","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});function $Oe({cwd:t,pluginConfiguration:e}){let r=new wa({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:un??""});return Object.assign(r,{defaultContext:{...wa.defaultContext,cwd:t,plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr}})}function aqt(t){if(je.parseOptionalBoolean(process.env.YARN_IGNORE_NODE))return!0;let r=process.versions.node,s=">=18.12.0";if(Or.satisfiesWithPrereleases(r,s))return!0;let a=new nt(`This tool requires a Node version compatible with ${s} (got ${r}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);return wa.defaultContext.stdout.write(t.error(a)),!1}async function eLe({selfPath:t,pluginConfiguration:e}){return await ze.find(ue.toPortablePath(process.cwd()),e,{strict:!1,usePathCheck:t})}function lqt(t,e,{yarnPath:r}){if(!le.existsSync(r))return t.error(new Error(`The "yarn-path" option has been set, but the specified location doesn't exist (${r}).`)),1;process.on("SIGINT",()=>{});let s={stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1"}};try{(0,ZOe.execFileSync)(process.execPath,[ue.fromPortablePath(r),...e],s)}catch(a){return a.status??1}return 0}function cqt(t,e){let r=null,s=e;return e.length>=2&&e[0]==="--cwd"?(r=ue.toPortablePath(e[1]),s=e.slice(2)):e.length>=1&&e[0].startsWith("--cwd=")?(r=ue.toPortablePath(e[0].slice(6)),s=e.slice(1)):e[0]==="add"&&e[e.length-2]==="--cwd"&&(r=ue.toPortablePath(e[e.length-1]),s=e.slice(0,e.length-2)),t.defaultContext.cwd=r!==null?K.resolve(r):K.cwd(),s}function uqt(t,{configuration:e}){if(!e.get("enableTelemetry")||XOe.isCI||!process.stdout.isTTY)return;ze.telemetry=new eC(e,"puba9cdc10ec5790a2cf4969dd413a47270");let s=/^@yarnpkg\/plugin-(.*)$/;for(let a of e.plugins.keys())tC.has(a.match(s)?.[1]??"")&&ze.telemetry?.reportPluginName(a);t.binaryVersion&&ze.telemetry.reportVersion(t.binaryVersion)}function tLe(t,{configuration:e}){for(let r of e.plugins.values())for(let s of r.commands||[])t.register(s)}async function fqt(t,e,{selfPath:r,pluginConfiguration:s}){if(!aqt(t))return 1;let a=await eLe({selfPath:r,pluginConfiguration:s}),n=a.get("yarnPath"),c=a.get("ignorePath");if(n&&!c)return lqt(t,e,{yarnPath:n});delete process.env.YARN_IGNORE_PATH;let f=cqt(t,e);uqt(t,{configuration:a}),tLe(t,{configuration:a});let p=t.process(f,t.defaultContext);return p.help||ze.telemetry?.reportCommandName(p.path.join(" ")),await t.run(p,t.defaultContext)}async function cwe({cwd:t=K.cwd(),pluginConfiguration:e=nC()}={}){let r=$Oe({cwd:t,pluginConfiguration:e}),s=await eLe({pluginConfiguration:e,selfPath:null});return tLe(r,{configuration:s}),r}async function zR(t,{cwd:e=K.cwd(),selfPath:r,pluginConfiguration:s}){let a=$Oe({cwd:e,pluginConfiguration:s});function n(){wa.defaultContext.stdout.write(`ERROR: Yarn is terminating due to an unexpected empty event loop. +Please report this issue at https://github.com/yarnpkg/berry/issues.`)}process.once("beforeExit",n);try{process.exitCode=42,process.exitCode=await fqt(a,t,{selfPath:r,pluginConfiguration:s})}catch(c){wa.defaultContext.stdout.write(a.error(c)),process.exitCode=1}finally{process.off("beforeExit",n),await le.rmtempPromise()}}zR(process.argv.slice(2),{cwd:K.cwd(),selfPath:ue.toPortablePath(ue.resolve(process.argv[1])),pluginConfiguration:nC()});})(); +/** + @license + Copyright (c) 2015, Rebecca Turner + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + */ +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +/** + @license + Copyright Joyent, Inc. and other Node contributors. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +/*! Bundled license information: + +is-number/index.js: + (*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + *) + +to-regex-range/index.js: + (*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + *) + +fill-range/index.js: + (*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + *) + +is-extglob/index.js: + (*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + *) + +is-glob/index.js: + (*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + *) + +queue-microtask/index.js: + (*! queue-microtask. MIT License. Feross Aboukhadijeh *) + +run-parallel/index.js: + (*! run-parallel. MIT License. Feross Aboukhadijeh *) + +git-url-parse/lib/index.js: + (*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + *) + +object-assign/index.js: + (* + object-assign + (c) Sindre Sorhus + @license MIT + *) + +react/cjs/react.production.min.js: + (** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +scheduler/cjs/scheduler.production.min.js: + (** @license React v0.20.2 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-reconciler/cjs/react-reconciler.production.min.js: + (** @license React v0.26.2 + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +is-windows/index.js: + (*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + *) +*/ diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 00000000000..0ae3f58e447 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,3 @@ +nodeLinker: node-modules + +yarnPath: .yarn/releases/yarn-4.9.1.cjs diff --git a/package.json b/package.json index 82b569ef572..c0f2bd93210 100644 --- a/package.json +++ b/package.json @@ -77,10 +77,10 @@ "type": "opencollective", "url": "https://opencollective.com/parcel" }, - "packageManager": "yarn@1.22.19", + "packageManager": "yarn@4.9.1", "browser": { - "react-dom": "preact/compat", "react": "preact/compat", + "react-dom": "preact/compat", "scheduler": false }, "dependencies": { diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index 44ccd8045d1..6c4f818fad7 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -70,7 +70,7 @@ "@parcel/core": "^2.14.4" }, "browser": { - "@parcel/fs": "./lib/browser.js", - "./src/NodeFS.js": "./src/NodeFS.browser.js" + "./src/NodeFS.js": "./src/NodeFS.browser.js", + "@parcel/fs": "./lib/browser.js" } } diff --git a/packages/core/integration-tests/test/integration/babelrc-custom/.yarnrc.yml b/packages/core/integration-tests/test/integration/babelrc-custom/.yarnrc.yml new file mode 100644 index 00000000000..3186f3f0795 --- /dev/null +++ b/packages/core/integration-tests/test/integration/babelrc-custom/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/packages/core/integration-tests/test/integration/postcss-autoinstall/npm/.yarnrc.yml b/packages/core/integration-tests/test/integration/postcss-autoinstall/npm/.yarnrc.yml new file mode 100644 index 00000000000..3186f3f0795 --- /dev/null +++ b/packages/core/integration-tests/test/integration/postcss-autoinstall/npm/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/packages/core/integration-tests/test/integration/posthtml-autoinstall/.yarnrc.yml b/packages/core/integration-tests/test/integration/posthtml-autoinstall/.yarnrc.yml new file mode 100644 index 00000000000..3186f3f0795 --- /dev/null +++ b/packages/core/integration-tests/test/integration/posthtml-autoinstall/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index 13c6390bce0..498c5b137e3 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -32,8 +32,8 @@ "@parcel/core": "^2.14.4" }, "browser": { + "./src/core-worker.js": "./src/core-worker.browser.js", "./src/process/ProcessWorker.js": false, - "./src/threads/ThreadsWorker.js": false, - "./src/core-worker.js": "./src/core-worker.browser.js" + "./src/threads/ThreadsWorker.js": false } } diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index c89dbc4f305..036c2621140 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -3,7 +3,6 @@ "private": true, "version": "2.14.4", "main": "index.js", - "scripts": {}, "dependencies": { "read-pkg-up": "^5.0.0" }, diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index e3174af688e..e6e26463fc0 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -21,8 +21,8 @@ }, "dependencies": { "@parcel/plugin": "2.14.4", - "@parcel/types": "2.14.4", "@parcel/rust": "2.14.4", + "@parcel/types": "2.14.4", "@parcel/utils": "2.14.4" } } diff --git a/packages/utils/create-parcel/package.json b/packages/utils/create-parcel/package.json index dc24eb2f99c..9c8ed2ec876 100644 --- a/packages/utils/create-parcel/package.json +++ b/packages/utils/create-parcel/package.json @@ -1,9 +1,7 @@ { "name": "create-parcel", "version": "2.14.6", - "bin": { - "create-parcel": "lib/create-parcel.js" - }, + "bin": "lib/create-parcel.js", "main": "src/create-parcel.js", "repository": { "type": "git", diff --git a/yarn.lock b/yarn.lock index ea929146b1a..2b9d383e324 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,15094 +1,22832 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@adobe/css-tools@~4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" - integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== - -"@alloc/quick-lru@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" - integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.9", "@babel/compat-data@^7.26.0": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" - integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== - -"@babel/core@^7.12.2", "@babel/core@^7.16.0", "@babel/core@^7.21.3", "@babel/core@^7.22.11": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" - integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.0" - "@babel/generator" "^7.26.0" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.0" - "@babel/parser" "^7.26.0" - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.26.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/eslint-parser@^7.16.3", "@babel/eslint-parser@^7.22.11": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz#603c68a63078796527bc9d0833f5e52dd5f9224c" - integrity sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ== - dependencies: - "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.1" - -"@babel/generator@^7.22.10", "@babel/generator@^7.25.9", "@babel/generator@^7.26.0": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" - integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== - dependencies: - "@babel/parser" "^7.26.2" - "@babel/types" "^7.26.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-annotate-as-pure@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" - integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz#f41752fe772a578e67286e6779a68a5a92de1ee9" - integrity sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" - integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== - dependencies: - "@babel/compat-data" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz#7644147706bb90ff613297d49ed5266bde729f83" - integrity sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/traverse" "^7.25.9" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz#3e8999db94728ad2b2458d7a470e7770b7764e26" - integrity sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - regexpu-core "^6.1.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.6.2", "@babel/helper-define-polyfill-provider@^0.6.3": - version "0.6.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz#f4f2792fae2ef382074bc2d713522cf24e6ddb21" - integrity sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-member-expression-to-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" - integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-optimise-call-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" - integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" - integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== - -"@babel/helper-remap-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92" - integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-wrap-function" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-replace-supers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz#ba447224798c3da3f8713fc272b145e33da6a5c5" - integrity sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-simple-access@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739" - integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" - integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== - -"@babel/helper-wrap-function@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0" - integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== - dependencies: - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helpers@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4" - integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== - dependencies: - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.0" - -"@babel/parser@^7.16.4", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" - integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== - dependencies: - "@babel/types" "^7.26.0" - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" - integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" - integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" - integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" - integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" - integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-proposal-class-properties@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-decorators@^7.16.4": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz#8680707f943d1a3da2cd66b948179920f097e254" - integrity sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-decorators" "^7.25.9" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-optional-chaining@^7.16.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-decorators@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz#986b4ca8b7b5df3f67cee889cedeffc2e2bf14b3" - integrity sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-export-default-from@^7.22.5": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.25.9.tgz#86614767a9ff140366f0c3766ef218beb32a730a" - integrity sha512-9MhJ/SMTsVqsd69GyQg89lYR4o9T+oDGv5F6IsigxxqFVOyR/IflDLYP8WDI1l8fkhNGGktqkvL5qwNCtGEpgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-flow@^7.14.5", "@babel/plugin-syntax-flow@^7.25.9": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz#96507595c21b45fccfc2bc758d5c45452e6164fa" - integrity sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-import-assertions@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" - integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-import-attributes@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" - integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-jsx@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" - integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-module-attributes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-module-attributes/-/plugin-syntax-module-attributes-7.10.4.tgz#db908fa6f119a3a051f81fd1496838432158d5f3" - integrity sha512-7sGHW47IkMQevyE8haAbqN2wWjSYD8KK8g5haiIWMB7X2HpHaGt3U+H9DPil8eMm2PglFB91yAoBm+zPG2eB9Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-typescript@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" - integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" - integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-async-generator-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz#1b18530b077d18a407c494eb3d1d72da505283a2" - integrity sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-remap-async-to-generator" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-transform-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" - integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-remap-async-to-generator" "^7.25.9" - -"@babel/plugin-transform-block-scoped-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz#5700691dbd7abb93de300ca7be94203764fce458" - integrity sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-block-scoping@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1" - integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-class-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" - integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-class-static-block@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0" - integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-classes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" - integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/traverse" "^7.25.9" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" - integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/template" "^7.25.9" - -"@babel/plugin-transform-destructuring@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" - integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-dotall-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" - integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-duplicate-keys@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" - integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" - integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-dynamic-import@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" - integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-exponentiation-operator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz#ece47b70d236c1d99c263a1e22b62dc20a4c8b0f" - integrity sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-export-namespace-from@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" - integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-flow-strip-types@^7.16.0", "@babel/plugin-transform-flow-strip-types@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz#85879b42a8f5948fd6317069978e98f23ef8aec1" - integrity sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-flow" "^7.25.9" - -"@babel/plugin-transform-for-of@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz#4bdc7d42a213397905d89f02350c5267866d5755" - integrity sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - -"@babel/plugin-transform-function-name@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" - integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== - dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-transform-json-strings@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" - integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" - integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-logical-assignment-operators@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" - integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-member-expression-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" - integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-modules-amd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" - integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-modules-commonjs@^7.22.11", "@babel/plugin-transform-modules-commonjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz#d165c8c569a080baf5467bda88df6425fc060686" - integrity sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-simple-access" "^7.25.9" - -"@babel/plugin-transform-modules-systemjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" - integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-transform-modules-umd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" - integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" - integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-new-target@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" - integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz#bcb1b0d9e948168102d5f7104375ca21c3266949" - integrity sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-numeric-separator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" - integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-object-rest-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" - integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== - dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" - -"@babel/plugin-transform-object-super@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" - integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - -"@babel/plugin-transform-optional-catch-binding@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" - integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd" - integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - -"@babel/plugin-transform-parameters@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257" - integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-private-methods@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" - integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-private-property-in-object@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" - integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-property-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" - integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz#4b79746b59efa1f38c8695065a92a9f5afb24f7d" - integrity sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-react-jsx-development@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz#8fd220a77dd139c07e25225a903b8be8c829e0d7" - integrity sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.25.9" - -"@babel/plugin-transform-react-jsx@^7.14.9", "@babel/plugin-transform-react-jsx@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz#06367940d8325b36edff5e2b9cbe782947ca4166" - integrity sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/plugin-transform-react-pure-annotations@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz#ea1c11b2f9dbb8e2d97025f43a3b5bc47e18ae62" - integrity sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-regenerator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b" - integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-regexp-modifiers@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850" - integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-reserved-words@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" - integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-runtime@^7.16.4", "@babel/plugin-transform-runtime@^7.22.10": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz#62723ea3f5b31ffbe676da9d6dae17138ae580ea" - integrity sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.6" - babel-plugin-polyfill-regenerator "^0.6.1" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" - integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" - integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - -"@babel/plugin-transform-sticky-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" - integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-template-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz#6dbd4a24e8fad024df76d1fac6a03cf413f60fe1" - integrity sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-typeof-symbol@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz#224ba48a92869ddbf81f9b4a5f1204bbf5a2bc4b" - integrity sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-typescript@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz#69267905c2b33c2ac6d8fe765e9dc2ddc9df3849" - integrity sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-syntax-typescript" "^7.25.9" - -"@babel/plugin-transform-unicode-escapes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" - integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-property-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" - integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" - integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-sets-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" - integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/preset-env@^7.16.4", "@babel/preset-env@^7.22.14": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.0.tgz#30e5c6bc1bcc54865bff0c5a30f6d4ccdc7fa8b1" - integrity sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw== - dependencies: - "@babel/compat-data" "^7.26.0" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions" "^7.26.0" - "@babel/plugin-syntax-import-attributes" "^7.26.0" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.25.9" - "@babel/plugin-transform-async-generator-functions" "^7.25.9" - "@babel/plugin-transform-async-to-generator" "^7.25.9" - "@babel/plugin-transform-block-scoped-functions" "^7.25.9" - "@babel/plugin-transform-block-scoping" "^7.25.9" - "@babel/plugin-transform-class-properties" "^7.25.9" - "@babel/plugin-transform-class-static-block" "^7.26.0" - "@babel/plugin-transform-classes" "^7.25.9" - "@babel/plugin-transform-computed-properties" "^7.25.9" - "@babel/plugin-transform-destructuring" "^7.25.9" - "@babel/plugin-transform-dotall-regex" "^7.25.9" - "@babel/plugin-transform-duplicate-keys" "^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-dynamic-import" "^7.25.9" - "@babel/plugin-transform-exponentiation-operator" "^7.25.9" - "@babel/plugin-transform-export-namespace-from" "^7.25.9" - "@babel/plugin-transform-for-of" "^7.25.9" - "@babel/plugin-transform-function-name" "^7.25.9" - "@babel/plugin-transform-json-strings" "^7.25.9" - "@babel/plugin-transform-literals" "^7.25.9" - "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" - "@babel/plugin-transform-member-expression-literals" "^7.25.9" - "@babel/plugin-transform-modules-amd" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.25.9" - "@babel/plugin-transform-modules-systemjs" "^7.25.9" - "@babel/plugin-transform-modules-umd" "^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-new-target" "^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.9" - "@babel/plugin-transform-numeric-separator" "^7.25.9" - "@babel/plugin-transform-object-rest-spread" "^7.25.9" - "@babel/plugin-transform-object-super" "^7.25.9" - "@babel/plugin-transform-optional-catch-binding" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" - "@babel/plugin-transform-private-methods" "^7.25.9" - "@babel/plugin-transform-private-property-in-object" "^7.25.9" - "@babel/plugin-transform-property-literals" "^7.25.9" - "@babel/plugin-transform-regenerator" "^7.25.9" - "@babel/plugin-transform-regexp-modifiers" "^7.26.0" - "@babel/plugin-transform-reserved-words" "^7.25.9" - "@babel/plugin-transform-shorthand-properties" "^7.25.9" - "@babel/plugin-transform-spread" "^7.25.9" - "@babel/plugin-transform-sticky-regex" "^7.25.9" - "@babel/plugin-transform-template-literals" "^7.25.9" - "@babel/plugin-transform-typeof-symbol" "^7.25.9" - "@babel/plugin-transform-unicode-escapes" "^7.25.9" - "@babel/plugin-transform-unicode-property-regex" "^7.25.9" - "@babel/plugin-transform-unicode-regex" "^7.25.9" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.6" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.38.1" - semver "^6.3.1" - -"@babel/preset-flow@^7.22.5": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.25.9.tgz#ef8b5e7e3f24a42b3711e77fb14919b87dffed0a" - integrity sha512-EASHsAhE+SSlEzJ4bzfusnXSHiU+JfAYzj+jbw2vgQKgq5HrUr8qs+vgtiEL5dOH6sEweI+PNt2D7AqrDSHyqQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-transform-flow-strip-types" "^7.25.9" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.16.0", "@babel/preset-react@^7.22.5": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.25.9.tgz#5f473035dc2094bcfdbc7392d0766bd42dce173e" - integrity sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-transform-react-display-name" "^7.25.9" - "@babel/plugin-transform-react-jsx" "^7.25.9" - "@babel/plugin-transform-react-jsx-development" "^7.25.9" - "@babel/plugin-transform-react-pure-annotations" "^7.25.9" - -"@babel/preset-typescript@^7.16.0", "@babel/preset-typescript@^7.22.11": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz#4a570f1b8d104a242d923957ffa1eaff142a106d" - integrity sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.25.9" - "@babel/plugin-transform-typescript" "^7.25.9" - -"@babel/register@^7.22.5": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.25.9.tgz#1c465acf7dc983d70ccc318eb5b887ecb04f021b" - integrity sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA== - dependencies: - clone-deep "^4.0.1" - find-cache-dir "^2.0.0" - make-dir "^2.1.0" - pirates "^4.0.6" - source-map-support "^0.5.16" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.8.4": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.0.tgz#fbee7cf97c709518ecc1f590984481d5460d4762" - integrity sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.5", "@babel/template@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/traverse@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" - integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/generator" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/template" "^7.25.9" - "@babel/types" "^7.25.9" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.21.3", "@babel/types@^7.22.11", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.4.4", "@babel/types@^7.6.1", "@babel/types@^7.9.6": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" - integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@choojs/findup@^0.2.0": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@choojs/findup/-/findup-0.2.1.tgz#ac13c59ae7be6e1da64de0779a0a7f03d75615a3" - integrity sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw== - dependencies: - commander "^2.15.1" - -"@codemirror/autocomplete@^6.0.0", "@codemirror/autocomplete@^6.7.1": - version "6.18.3" - resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.18.3.tgz#f9ea79a2f369662516f71bc0b2f819454d3c8e00" - integrity sha512-1dNIOmiM0z4BIBwxmxEfA1yoxh1MF/6KPBbh20a5vphGV0ictKlgQsbJs6D6SkR6iJpGbpwRsa6PFMNlg9T9pQ== - dependencies: - "@codemirror/language" "^6.0.0" - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.17.0" - "@lezer/common" "^1.0.0" - -"@codemirror/commands@^6.2.4": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.7.1.tgz#04561e95bc0779eaa49efd63e916c4efb3bbf6d6" - integrity sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw== - dependencies: - "@codemirror/language" "^6.0.0" - "@codemirror/state" "^6.4.0" - "@codemirror/view" "^6.27.0" - "@lezer/common" "^1.1.0" - -"@codemirror/lang-css@^6.0.0", "@codemirror/lang-css@^6.2.0": - version "6.3.0" - resolved "https://registry.yarnpkg.com/@codemirror/lang-css/-/lang-css-6.3.0.tgz#607628559f2471b385c6070ec795072a55cffc0b" - integrity sha512-CyR4rUNG9OYcXDZwMPvJdtb6PHbBDKUc/6Na2BIwZ6dKab1JQqKa4di+RNRY9Myn7JB81vayKwJeQ7jEdmNVDA== - dependencies: - "@codemirror/autocomplete" "^6.0.0" - "@codemirror/language" "^6.0.0" - "@codemirror/state" "^6.0.0" - "@lezer/common" "^1.0.2" - "@lezer/css" "^1.1.7" - -"@codemirror/lang-html@^6.4.3": - version "6.4.9" - resolved "https://registry.yarnpkg.com/@codemirror/lang-html/-/lang-html-6.4.9.tgz#d586f2cc9c341391ae07d1d7c545990dfa069727" - integrity sha512-aQv37pIMSlueybId/2PVSP6NPnmurFDVmZwzc7jszd2KAF8qd4VBbvNYPXWQq90WIARjsdVkPbw29pszmHws3Q== - dependencies: - "@codemirror/autocomplete" "^6.0.0" - "@codemirror/lang-css" "^6.0.0" - "@codemirror/lang-javascript" "^6.0.0" - "@codemirror/language" "^6.4.0" - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.17.0" - "@lezer/common" "^1.0.0" - "@lezer/css" "^1.1.0" - "@lezer/html" "^1.3.0" - -"@codemirror/lang-javascript@^6.0.0", "@codemirror/lang-javascript@^6.1.8": - version "6.2.2" - resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.2.2.tgz#7141090b22994bef85bcc5608a3bc1257f2db2ad" - integrity sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg== - dependencies: - "@codemirror/autocomplete" "^6.0.0" - "@codemirror/language" "^6.6.0" - "@codemirror/lint" "^6.0.0" - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.17.0" - "@lezer/common" "^1.0.0" - "@lezer/javascript" "^1.0.0" - -"@codemirror/lang-json@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@codemirror/lang-json/-/lang-json-6.0.1.tgz#0a0be701a5619c4b0f8991f9b5e95fe33f462330" - integrity sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ== - dependencies: - "@codemirror/language" "^6.0.0" - "@lezer/json" "^1.0.0" - -"@codemirror/language@^6.0.0", "@codemirror/language@^6.4.0", "@codemirror/language@^6.6.0": - version "6.10.4" - resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.10.4.tgz#8791824f06eaa428d9c0291902b2461c005c5ad1" - integrity sha512-qjt7Wn/nxGuI278GYVlqE5V93Xn8ZQwzqZtgS0FaWr7K2yWgd5/FlBNqNi4jtUvBVvWJzAGfnggIlpyjTOaF4A== - dependencies: - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.23.0" - "@lezer/common" "^1.1.0" - "@lezer/highlight" "^1.0.0" - "@lezer/lr" "^1.0.0" - style-mod "^4.0.0" - -"@codemirror/lint@^6.0.0", "@codemirror/lint@^6.2.1": - version "6.8.3" - resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.3.tgz#5988b4afc0717da2ccec6ddd33c5cfc0de5ba4d9" - integrity sha512-GSGfKxCo867P7EX1k2LoCrjuQFeqVgPGRRsSl4J4c0KMkD+k1y6WYvTQkzv0iZ8JhLJDujEvlnMchv4CZQLh3Q== - dependencies: - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.35.0" - crelt "^1.0.5" - -"@codemirror/search@^6.4.0": - version "6.5.8" - resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.5.8.tgz#b59b3659b46184cc75d6108d7c050a4ca344c3a0" - integrity sha512-PoWtZvo7c1XFeZWmmyaOp2G0XVbOnm+fJzvghqGAktBW3cufwJUWvSCcNG0ppXiBEM05mZu6RhMtXPv2hpllig== - dependencies: - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.0.0" - crelt "^1.0.5" - -"@codemirror/state@^6.0.0", "@codemirror/state@^6.2.0", "@codemirror/state@^6.4.0": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.4.1.tgz#da57143695c056d9a3c38705ed34136e2b68171b" - integrity sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A== - -"@codemirror/theme-one-dark@^6.1.2": - version "6.1.2" - resolved "https://registry.yarnpkg.com/@codemirror/theme-one-dark/-/theme-one-dark-6.1.2.tgz#fcef9f9cfc17a07836cb7da17c9f6d7231064df8" - integrity sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA== - dependencies: - "@codemirror/language" "^6.0.0" - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.0.0" - "@lezer/highlight" "^1.0.0" - -"@codemirror/view@^6.0.0", "@codemirror/view@^6.12.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0", "@codemirror/view@^6.35.0": - version "6.35.0" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.35.0.tgz#890e8e31a58edf65cdf193049fe9f3fdec20cc82" - integrity sha512-I0tYy63q5XkaWsJ8QRv5h6ves7kvtrBWjBcnf/bzohFJQc5c14a1AQRdE8QpPF9eMp5Mq2FMm59TCj1gDfE7kw== - dependencies: - "@codemirror/state" "^6.4.0" - style-mod "^4.1.0" - w3c-keyname "^2.2.4" - -"@elm_binaries/darwin_arm64@0.19.1-0": - version "0.19.1-0" - resolved "https://registry.yarnpkg.com/@elm_binaries/darwin_arm64/-/darwin_arm64-0.19.1-0.tgz#ea09fca7cdfedad3fa517267099d78d180f01098" - integrity sha512-mjbsH7BNHEAmoE2SCJFcfk5fIHwFIpxtSgnEAqMsVLpBUFoEtAeX+LQ+N0vSFJB3WAh73+QYx/xSluxxLcL6dA== - -"@elm_binaries/darwin_x64@0.19.1-0": - version "0.19.1-0" - resolved "https://registry.yarnpkg.com/@elm_binaries/darwin_x64/-/darwin_x64-0.19.1-0.tgz#8c3254590804c35ee7b97b4d8a21a63318511c44" - integrity sha512-QGUtrZTPBzaxgi9al6nr+9313wrnUVHuijzUK39UsPS+pa+n6CmWyV/69sHZeX9qy6UfeugE0PzF3qcUiy2GDQ== - -"@elm_binaries/linux_x64@0.19.1-0": - version "0.19.1-0" - resolved "https://registry.yarnpkg.com/@elm_binaries/linux_x64/-/linux_x64-0.19.1-0.tgz#95440341eee8f6bee2d88859b3bdd99f33ca88f0" - integrity sha512-T1ZrWVhg2kKAsi8caOd3vp/1A3e21VuCpSG63x8rDie50fHbCytTway9B8WHEdnBFv4mYWiA68dzGxYCiFmU2w== - -"@elm_binaries/win32_x64@0.19.1-0": - version "0.19.1-0" - resolved "https://registry.yarnpkg.com/@elm_binaries/win32_x64/-/win32_x64-0.19.1-0.tgz#3f8decfd6f5fbc46906f3f5d50561b6e5b33ac3a" - integrity sha512-yDleiXqSE9EcqKtd9SkC/4RIW8I71YsXzMPL79ub2bBPHjWTcoyyeBbYjoOB9SxSlArJ74HaoBApzT6hY7Zobg== - -"@emnapi/runtime@^1.2.0": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" - integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== - dependencies: - tslib "^2.4.0" - -"@esbuild/aix-ppc64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz#499600c5e1757a524990d5d92601f0ac3ce87f64" - integrity sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ== - -"@esbuild/android-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz#b9b8231561a1dfb94eb31f4ee056b92a985c324f" - integrity sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g== - -"@esbuild/android-arm@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.0.tgz#ca6e7888942505f13e88ac9f5f7d2a72f9facd2b" - integrity sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g== - -"@esbuild/android-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.0.tgz#e765ea753bac442dfc9cb53652ce8bd39d33e163" - integrity sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg== - -"@esbuild/darwin-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz#fa394164b0d89d4fdc3a8a21989af70ef579fa2c" - integrity sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw== - -"@esbuild/darwin-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz#91979d98d30ba6e7d69b22c617cc82bdad60e47a" - integrity sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg== - -"@esbuild/freebsd-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz#b97e97073310736b430a07b099d837084b85e9ce" - integrity sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w== - -"@esbuild/freebsd-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz#f3b694d0da61d9910ec7deff794d444cfbf3b6e7" - integrity sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A== - -"@esbuild/linux-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz#f921f699f162f332036d5657cad9036f7a993f73" - integrity sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg== - -"@esbuild/linux-arm@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz#cc49305b3c6da317c900688995a4050e6cc91ca3" - integrity sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg== - -"@esbuild/linux-ia32@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz#3e0736fcfab16cff042dec806247e2c76e109e19" - integrity sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg== - -"@esbuild/linux-loong64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz#ea2bf730883cddb9dfb85124232b5a875b8020c7" - integrity sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw== - -"@esbuild/linux-mips64el@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz#4cababb14eede09248980a2d2d8b966464294ff1" - integrity sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ== - -"@esbuild/linux-ppc64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz#8860a4609914c065373a77242e985179658e1951" - integrity sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw== - -"@esbuild/linux-riscv64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz#baf26e20bb2d38cfb86ee282dff840c04f4ed987" - integrity sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA== - -"@esbuild/linux-s390x@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz#8323afc0d6cb1b6dc6e9fd21efd9e1542c3640a4" - integrity sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA== - -"@esbuild/linux-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz#08fcf60cb400ed2382e9f8e0f5590bac8810469a" - integrity sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw== - -"@esbuild/netbsd-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz#935c6c74e20f7224918fbe2e6c6fe865b6c6ea5b" - integrity sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw== - -"@esbuild/netbsd-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz#414677cef66d16c5a4d210751eb2881bb9c1b62b" - integrity sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA== - -"@esbuild/openbsd-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz#8fd55a4d08d25cdc572844f13c88d678c84d13f7" - integrity sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw== - -"@esbuild/openbsd-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz#0c48ddb1494bbc2d6bcbaa1429a7f465fa1dedde" - integrity sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg== - -"@esbuild/sunos-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz#86ff9075d77962b60dd26203d7352f92684c8c92" - integrity sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg== - -"@esbuild/win32-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz#849c62327c3229467f5b5cd681bf50588442e96c" - integrity sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw== - -"@esbuild/win32-ia32@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz#f62eb480cd7cca088cb65bb46a6db25b725dc079" - integrity sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA== - -"@esbuild/win32-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz#c8e119a30a7c8d60b9d2e22d2073722dde3b710b" - integrity sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ== - -"@eslint-community/eslint-utils@^4.2.0": - version "4.4.1" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" - integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== - dependencies: - eslint-visitor-keys "^3.4.3" - -"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" - integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.57.1": - version "8.57.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" - integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== - -"@gar/promisify@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" - integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== - -"@humanwhocodes/config-array@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" - integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== - dependencies: - "@humanwhocodes/object-schema" "^2.0.3" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== - -"@hutson/parse-repository-url@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" - integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== - -"@iarna/toml@^2.2.0", "@iarna/toml@^2.2.3": - version "2.2.5" - resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" - integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== - -"@img/sharp-darwin-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz#ef5b5a07862805f1e8145a377c8ba6e98813ca08" - integrity sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ== - optionalDependencies: - "@img/sharp-libvips-darwin-arm64" "1.0.4" - -"@img/sharp-darwin-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" - integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== - optionalDependencies: - "@img/sharp-libvips-darwin-x64" "1.0.4" - -"@img/sharp-libvips-darwin-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz#447c5026700c01a993c7804eb8af5f6e9868c07f" - integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== - -"@img/sharp-libvips-darwin-x64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" - integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== - -"@img/sharp-libvips-linux-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" - integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== - -"@img/sharp-libvips-linux-arm@1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" - integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== - -"@img/sharp-libvips-linux-s390x@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" - integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== - -"@img/sharp-libvips-linux-x64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" - integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== - -"@img/sharp-libvips-linuxmusl-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" - integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== - -"@img/sharp-libvips-linuxmusl-x64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" - integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== - -"@img/sharp-linux-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" - integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== - optionalDependencies: - "@img/sharp-libvips-linux-arm64" "1.0.4" - -"@img/sharp-linux-arm@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" - integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== - optionalDependencies: - "@img/sharp-libvips-linux-arm" "1.0.5" - -"@img/sharp-linux-s390x@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" - integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== - optionalDependencies: - "@img/sharp-libvips-linux-s390x" "1.0.4" - -"@img/sharp-linux-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" - integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== - optionalDependencies: - "@img/sharp-libvips-linux-x64" "1.0.4" - -"@img/sharp-linuxmusl-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" - integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== - optionalDependencies: - "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" - -"@img/sharp-linuxmusl-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" - integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== - optionalDependencies: - "@img/sharp-libvips-linuxmusl-x64" "1.0.4" - -"@img/sharp-wasm32@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" - integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== - dependencies: - "@emnapi/runtime" "^1.2.0" - -"@img/sharp-win32-ia32@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" - integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== - -"@img/sharp-win32-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" - integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@isaacs/string-locale-compare@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" - integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== - -"@jest/schemas@^29.4.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/source-map@^0.3.3": - version "0.3.6" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" - integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@khanacademy/flow-to-ts@^0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@khanacademy/flow-to-ts/-/flow-to-ts-0.5.2.tgz#d72f6136e4e6cb5bb52c89b4dc29993428eea90e" - integrity sha512-6i8Q0pE9xuc58QVXLof3M3W88BVcVALZfE5yj5uHDcpmfC0ijjYaciKzMKhPfgZezXudmlgCt52mTcX0IHt4Fg== - dependencies: - commander "^2.19.0" - glob "^7.1.6" - prettier "2.2.1" - trim-right "^1.0.1" - -"@kwsites/file-exists@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99" - integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw== - dependencies: - debug "^4.1.1" - -"@kwsites/promise-deferred@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919" - integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw== - -"@ladjs/consolidate@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@ladjs/consolidate/-/consolidate-1.0.4.tgz#31d9604a0e3de6616aeba062c4390c5aa0e5c04d" - integrity sha512-ErvBg5acSqns86V/xW7gjqqnBBs6thnpMB0gGc3oM7WHsV8PWrnBtKI6dumHDT3UT/zEOfGzp7dmSFqWoCXKWQ== - -"@lerna/child-process@6.6.2": - version "6.6.2" - resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-6.6.2.tgz#5d803c8dee81a4e013dc428292e77b365cba876c" - integrity sha512-QyKIWEnKQFnYu2ey+SAAm1A5xjzJLJJj3bhIZd3QKyXKKjaJ0hlxam/OsWSltxTNbcyH1jRJjC6Cxv31usv0Ag== - dependencies: - chalk "^4.1.0" - execa "^5.0.0" - strong-log-transformer "^2.1.0" - -"@lerna/create@6.6.2": - version "6.6.2" - resolved "https://registry.yarnpkg.com/@lerna/create/-/create-6.6.2.tgz#39a36d80cddb355340c297ed785aa76f4498177f" - integrity sha512-xQ+1Y7D+9etvUlE+unhG/TwmM6XBzGIdFBaNoW8D8kyOa9M2Jf3vdEtAxVa7mhRz66CENfhL/+I/QkVaa7pwbQ== - dependencies: - "@lerna/child-process" "6.6.2" - dedent "^0.7.0" - fs-extra "^9.1.0" - init-package-json "^3.0.2" - npm-package-arg "8.1.1" - p-reduce "^2.1.0" - pacote "15.1.1" - pify "^5.0.0" - semver "^7.3.4" - slash "^3.0.0" - validate-npm-package-license "^3.0.4" - validate-npm-package-name "^4.0.0" - yargs-parser "20.2.4" - -"@lerna/legacy-package-management@6.6.2": - version "6.6.2" - resolved "https://registry.yarnpkg.com/@lerna/legacy-package-management/-/legacy-package-management-6.6.2.tgz#411c395e72e563ab98f255df77e4068627a85bb0" - integrity sha512-0hZxUPKnHwehUO2xC4ldtdX9bW0W1UosxebDIQlZL2STnZnA2IFmIk2lJVUyFW+cmTPQzV93jfS0i69T9Z+teg== - dependencies: - "@npmcli/arborist" "6.2.3" - "@npmcli/run-script" "4.1.7" - "@nrwl/devkit" ">=15.5.2 < 16" - "@octokit/rest" "19.0.3" - byte-size "7.0.0" - chalk "4.1.0" - clone-deep "4.0.1" - cmd-shim "5.0.0" - columnify "1.6.0" - config-chain "1.1.12" - conventional-changelog-core "4.2.4" - conventional-recommended-bump "6.1.0" - cosmiconfig "7.0.0" - dedent "0.7.0" - dot-prop "6.0.1" - execa "5.0.0" - file-url "3.0.0" - find-up "5.0.0" - fs-extra "9.1.0" - get-port "5.1.1" - get-stream "6.0.0" - git-url-parse "13.1.0" - glob-parent "5.1.2" - globby "11.1.0" - graceful-fs "4.2.10" - has-unicode "2.0.1" - inquirer "8.2.4" - is-ci "2.0.0" - is-stream "2.0.0" - libnpmpublish "7.1.4" - load-json-file "6.2.0" - make-dir "3.1.0" - minimatch "3.0.5" - multimatch "5.0.0" - node-fetch "2.6.7" - npm-package-arg "8.1.1" - npm-packlist "5.1.1" - npm-registry-fetch "14.0.3" - npmlog "6.0.2" - p-map "4.0.0" - p-map-series "2.1.0" - p-queue "6.6.2" - p-waterfall "2.1.1" - pacote "15.1.1" - pify "5.0.0" - pretty-format "29.4.3" - read-cmd-shim "3.0.0" - read-package-json "5.0.1" - resolve-from "5.0.0" - semver "7.3.8" - signal-exit "3.0.7" - slash "3.0.0" - ssri "9.0.1" - strong-log-transformer "2.1.0" - tar "6.1.11" - temp-dir "1.0.0" - tempy "1.0.0" - upath "2.0.1" - uuid "8.3.2" - write-file-atomic "4.0.1" - write-pkg "4.0.0" - yargs "16.2.0" - -"@lezer/common@^1.0.0", "@lezer/common@^1.0.2", "@lezer/common@^1.1.0", "@lezer/common@^1.2.0": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.2.3.tgz#138fcddab157d83da557554851017c6c1e5667fd" - integrity sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA== - -"@lezer/css@^1.1.0", "@lezer/css@^1.1.7": - version "1.1.9" - resolved "https://registry.yarnpkg.com/@lezer/css/-/css-1.1.9.tgz#404563d361422c5a1fe917295f1527ee94845ed1" - integrity sha512-TYwgljcDv+YrV0MZFFvYFQHCfGgbPMR6nuqLabBdmZoFH3EP1gvw8t0vae326Ne3PszQkbXfVBjCnf3ZVCr0bA== - dependencies: - "@lezer/common" "^1.2.0" - "@lezer/highlight" "^1.0.0" - "@lezer/lr" "^1.0.0" - -"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.3": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.1.tgz#596fa8f9aeb58a608be0a563e960c373cbf23f8b" - integrity sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA== - dependencies: - "@lezer/common" "^1.0.0" - -"@lezer/html@^1.3.0": - version "1.3.10" - resolved "https://registry.yarnpkg.com/@lezer/html/-/html-1.3.10.tgz#1be9a029a6fe835c823b20a98a449a630416b2af" - integrity sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w== - dependencies: - "@lezer/common" "^1.2.0" - "@lezer/highlight" "^1.0.0" - "@lezer/lr" "^1.0.0" - -"@lezer/javascript@^1.0.0": - version "1.4.19" - resolved "https://registry.yarnpkg.com/@lezer/javascript/-/javascript-1.4.19.tgz#7c8c8e5052537d8c8ddcae428e270227aadbddc9" - integrity sha512-j44kbR1QL26l6dMunZ1uhKBFteVGLVCBGNUD2sUaMnic+rbTviVuoK0CD1l9FTW31EueWvFFswCKMH7Z+M3JRA== - dependencies: - "@lezer/common" "^1.2.0" - "@lezer/highlight" "^1.1.3" - "@lezer/lr" "^1.3.0" - -"@lezer/json@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@lezer/json/-/json-1.0.2.tgz#bdc849e174113e2d9a569a5e6fb1a27e2f703eaf" - integrity sha512-xHT2P4S5eeCYECyKNPhr4cbEL9tc8w83SPwRC373o9uEdrvGKTZoJVAGxpOsZckMlEh9W23Pc72ew918RWQOBQ== - dependencies: - "@lezer/common" "^1.2.0" - "@lezer/highlight" "^1.0.0" - "@lezer/lr" "^1.0.0" - -"@lezer/lr@^1.0.0", "@lezer/lr@^1.3.0": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.2.tgz#931ea3dea8e9de84e90781001dae30dea9ff1727" - integrity sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA== - dependencies: - "@lezer/common" "^1.0.0" - -"@lmdb/lmdb-darwin-arm64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz#895d8cb16a9d709ce5fedd8b60022903b875e08e" - integrity sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw== - -"@lmdb/lmdb-darwin-x64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz#ca243534c8b37d5516c557e4624256d18dd63184" - integrity sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug== - -"@lmdb/lmdb-linux-arm64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz#b44a8023057e21512eefb9f6120096843b531c1e" - integrity sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww== - -"@lmdb/lmdb-linux-arm@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz#17bd54740779c3e4324e78e8f747c21416a84b3d" - integrity sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg== - -"@lmdb/lmdb-linux-x64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz#6c61835b6cc58efdf79dbd5e8c72a38300a90302" - integrity sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ== - -"@lmdb/lmdb-win32-x64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz#8233e8762440b0f4632c47a09b1b6f23de8b934c" - integrity sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ== - -"@mdx-js/react@^1.5.3": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" - integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== - -"@mischnic/dot-svg@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@mischnic/dot-svg/-/dot-svg-0.0.0.tgz#7fc987217e681159358b246be44aa13a8499240d" - integrity sha512-PLtR0TPyM+vOaPilp2oLjAM7vXynwrCwQIpW4689+DJJKxUrSo9CM3pdllfy1+jNoZz0dEOzUisblnRYiOUXcQ== - -"@mischnic/json-sourcemap@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz#0ef9b015a8f575dd9a8720d9a6b4dbc988425906" - integrity sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w== - dependencies: - "@lezer/common" "^1.0.0" - "@lezer/lr" "^1.0.0" - json5 "^2.2.1" - -"@mischnic/pako@^1.0.10": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@mischnic/pako/-/pako-1.0.10.tgz#887f4df17450c15eae90cb35d9d2e787b19c6aaf" - integrity sha512-KdC+M963ugqgV7VmMlckoszTpr5AQ+gXsdDP/wVRiU6TSG/ljPJmd5o0FF5STg4NQ+a5W1o5Q4x9pm511i364A== - -"@mischnic/yarn-browser@^0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@mischnic/yarn-browser/-/yarn-browser-0.0.4.tgz#f21ca621ed22ba8de7e2341bc17b4074299cbed3" - integrity sha512-i5D7Dw8IoQouhUJzLC3hSruMjGuf/NaV4eUmJhw7E/3XNa4754PDlC5xUU354tUk+VrnFCQVQWiU+BTwPXXGMQ== - dependencies: - "@msgpack/msgpack" "^2.3.0" - assert "^2.0.0" - buffer "^5.5.0" - js-yaml "^3.13.1" - pako "~1.0.5" - readable-stream "^3.6.0" - semver "^7.3.4" - -"@msgpack/msgpack@^2.3.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@msgpack/msgpack/-/msgpack-2.8.0.tgz#4210deb771ee3912964f14a15ddfb5ff877e70b9" - integrity sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ== - -"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz#9edec61b22c3082018a79f6d1c30289ddf3d9d11" - integrity sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw== - -"@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz#33677a275204898ad8acbf62734fc4dc0b6a4855" - integrity sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw== - -"@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz#19edf7cdc2e7063ee328403c1d895a86dd28f4bb" - integrity sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg== - -"@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz#94fb0543ba2e28766c3fc439cabbe0440ae70159" - integrity sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw== - -"@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz#4a0609ab5fe44d07c9c60a11e4484d3c38bbd6e3" - integrity sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg== - -"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz#0aa5502d547b57abfc4ac492de68e2006e417242" - integrity sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ== - -"@napi-rs/cli@^2.15.2", "@napi-rs/cli@^2.18.3": - version "2.18.4" - resolved "https://registry.yarnpkg.com/@napi-rs/cli/-/cli-2.18.4.tgz#12bebfb7995902fa7ab43cc0b155a7f5a2caa873" - integrity sha512-SgJeA4df9DE2iAEpr3M2H0OKl/yjtg1BnRI5/JyowS71tUWhrfSu2LT0V3vlHET+g1hBVlrO60PmEXwUEKp8Mg== - -"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - version "5.1.1-v1" - resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" - integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== - dependencies: - eslint-scope "5.1.1" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@npmcli/arborist@6.2.3": - version "6.2.3" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-6.2.3.tgz#31f8aed2588341864d3811151d929c01308f8e71" - integrity sha512-lpGOC2ilSJXcc2zfW9QtukcCTcMbl3fVI0z4wvFB2AFIl0C+Q6Wv7ccrpdrQa8rvJ1ZVuc6qkX7HVTyKlzGqKA== - dependencies: - "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/fs" "^3.1.0" - "@npmcli/installed-package-contents" "^2.0.0" - "@npmcli/map-workspaces" "^3.0.2" - "@npmcli/metavuln-calculator" "^5.0.0" - "@npmcli/name-from-folder" "^2.0.0" - "@npmcli/node-gyp" "^3.0.0" - "@npmcli/package-json" "^3.0.0" - "@npmcli/query" "^3.0.0" - "@npmcli/run-script" "^6.0.0" - bin-links "^4.0.1" - cacache "^17.0.4" - common-ancestor-path "^1.0.1" - hosted-git-info "^6.1.1" - json-parse-even-better-errors "^3.0.0" - json-stringify-nice "^1.1.4" - minimatch "^6.1.6" - nopt "^7.0.0" - npm-install-checks "^6.0.0" - npm-package-arg "^10.1.0" - npm-pick-manifest "^8.0.1" - npm-registry-fetch "^14.0.3" - npmlog "^7.0.1" - pacote "^15.0.8" - parse-conflict-json "^3.0.0" - proc-log "^3.0.0" - promise-all-reject-late "^1.0.0" - promise-call-limit "^1.0.1" - read-package-json-fast "^3.0.2" - semver "^7.3.7" - ssri "^10.0.1" - treeverse "^3.0.0" - walk-up-path "^1.0.0" - -"@npmcli/fs@^2.1.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" - integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== - dependencies: - "@gar/promisify" "^1.1.3" - semver "^7.3.5" - -"@npmcli/fs@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726" - integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg== - dependencies: - semver "^7.3.5" - -"@npmcli/git@^4.0.0", "@npmcli/git@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-4.1.0.tgz#ab0ad3fd82bc4d8c1351b6c62f0fa56e8fe6afa6" - integrity sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ== - dependencies: - "@npmcli/promise-spawn" "^6.0.0" - lru-cache "^7.4.4" - npm-pick-manifest "^8.0.0" - proc-log "^3.0.0" - promise-inflight "^1.0.1" - promise-retry "^2.0.1" - semver "^7.3.5" - which "^3.0.0" - -"@npmcli/installed-package-contents@^2.0.0", "@npmcli/installed-package-contents@^2.0.1": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz#63048e5f6e40947a3a88dcbcb4fd9b76fdd37c17" - integrity sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w== - dependencies: - npm-bundled "^3.0.0" - npm-normalize-package-bin "^3.0.0" - -"@npmcli/map-workspaces@^3.0.2": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz#27dc06c20c35ef01e45a08909cab9cb3da08cea6" - integrity sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA== - dependencies: - "@npmcli/name-from-folder" "^2.0.0" - glob "^10.2.2" - minimatch "^9.0.0" - read-package-json-fast "^3.0.0" - -"@npmcli/metavuln-calculator@^5.0.0": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.1.tgz#426b3e524c2008bcc82dbc2ef390aefedd643d76" - integrity sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q== - dependencies: - cacache "^17.0.0" - json-parse-even-better-errors "^3.0.0" - pacote "^15.0.0" - semver "^7.3.5" - -"@npmcli/move-file@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" - integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@npmcli/name-from-folder@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815" - integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg== - -"@npmcli/node-gyp@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" - integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== - -"@npmcli/node-gyp@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" - integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== - -"@npmcli/package-json@^3.0.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-3.1.1.tgz#5628332aac90fa1b4d6f98e03988c5958b35e0c5" - integrity sha512-+UW0UWOYFKCkvszLoTwrYGrjNrT8tI5Ckeb/h+Z1y1fsNJEctl7HmerA5j2FgmoqFaLI2gsA1X9KgMFqx/bRmA== - dependencies: - "@npmcli/git" "^4.1.0" - glob "^10.2.2" - json-parse-even-better-errors "^3.0.0" - normalize-package-data "^5.0.0" - npm-normalize-package-bin "^3.0.1" - proc-log "^3.0.0" - -"@npmcli/promise-spawn@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573" - integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g== - dependencies: - infer-owner "^1.0.4" - -"@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz#c8bc4fa2bd0f01cb979d8798ba038f314cfa70f2" - integrity sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg== - dependencies: - which "^3.0.0" - -"@npmcli/query@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.1.0.tgz#bc202c59e122a06cf8acab91c795edda2cdad42c" - integrity sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ== - dependencies: - postcss-selector-parser "^6.0.10" - -"@npmcli/run-script@4.1.7": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.7.tgz#b1a2f57568eb738e45e9ea3123fb054b400a86f7" - integrity sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw== - dependencies: - "@npmcli/node-gyp" "^2.0.0" - "@npmcli/promise-spawn" "^3.0.0" - node-gyp "^9.0.0" - read-package-json-fast "^2.0.3" - which "^2.0.2" - -"@npmcli/run-script@^6.0.0": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-6.0.2.tgz#a25452d45ee7f7fb8c16dfaf9624423c0c0eb885" - integrity sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA== - dependencies: - "@npmcli/node-gyp" "^3.0.0" - "@npmcli/promise-spawn" "^6.0.0" - node-gyp "^9.0.0" - read-package-json-fast "^3.0.0" - which "^3.0.0" - -"@nrwl/cli@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-15.9.7.tgz#1db113f5cb1cfe63213097be1ece041eef33da1f" - integrity sha512-1jtHBDuJzA57My5nLzYiM372mJW0NY6rFKxlWt5a0RLsAZdPTHsd8lE3Gs9XinGC1jhXbruWmhhnKyYtZvX/zA== - dependencies: - nx "15.9.7" - -"@nrwl/devkit@>=15.5.2 < 16": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-15.9.7.tgz#14d19ec82ff4209c12147a97f1cdea05d8f6c087" - integrity sha512-Sb7Am2TMT8AVq8e+vxOlk3AtOA2M0qCmhBzoM1OJbdHaPKc0g0UgSnWRml1kPGg5qfPk72tWclLoZJ5/ut0vTg== - dependencies: - ejs "^3.1.7" - ignore "^5.0.4" - semver "7.5.4" - tmp "~0.2.1" - tslib "^2.3.0" - -"@nrwl/nx-darwin-arm64@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.7.tgz#a2cb7390c782b8acf3bb8806a3002620226a933d" - integrity sha512-aBUgnhlkrgC0vu0fK6eb9Vob7eFnkuknrK+YzTjmLrrZwj7FGNAeyGXSlyo1dVokIzjVKjJg2saZZ0WQbfuCJw== - -"@nrwl/nx-darwin-x64@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.7.tgz#af0437e726aeb97eb660646bfd9a7da5ba7a0a6f" - integrity sha512-L+elVa34jhGf1cmn38Z0sotQatmLovxoASCIw5r1CBZZeJ5Tg7Y9nOwjRiDixZxNN56hPKXm6xl9EKlVHVeKlg== - -"@nrwl/nx-linux-arm-gnueabihf@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.7.tgz#e29f4d31afa903bfb4d0fd7421e19be1086eae87" - integrity sha512-pqmfqqEUGFu6PmmHKyXyUw1Al0Ki8PSaR0+ndgCAb1qrekVDGDfznJfaqxN0JSLeolPD6+PFtLyXNr9ZyPFlFg== - -"@nrwl/nx-linux-arm64-gnu@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-15.9.7.tgz#eb2880a24d3268dd93583d21a6a0b9ff96bb23b4" - integrity sha512-NYOa/eRrqmM+In5g3M0rrPVIS9Z+q6fvwXJYf/KrjOHqqan/KL+2TOfroA30UhcBrwghZvib7O++7gZ2hzwOnA== - -"@nrwl/nx-linux-arm64-musl@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-musl/-/nx-linux-arm64-musl-15.9.7.tgz#5d04913c4672a96cefa78491824620d8a8bcfd7f" - integrity sha512-zyStqjEcmbvLbejdTOrLUSEdhnxNtdQXlmOuymznCzYUEGRv+4f7OAepD3yRoR0a/57SSORZmmGQB7XHZoYZJA== - -"@nrwl/nx-linux-x64-gnu@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.7.tgz#cf7f61fd87f35a793e6824952a6eb12242fe43fd" - integrity sha512-saNK5i2A8pKO3Il+Ejk/KStTApUpWgCxjeUz9G+T8A+QHeDloZYH2c7pU/P3jA9QoNeKwjVO9wYQllPL9loeVg== - -"@nrwl/nx-linux-x64-musl@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.7.tgz#2bec23c3696780540eb47fa1358dda780c84697f" - integrity sha512-extIUThYN94m4Vj4iZggt6hhMZWQSukBCo8pp91JHnDcryBg7SnYmnikwtY1ZAFyyRiNFBLCKNIDFGkKkSrZ9Q== - -"@nrwl/nx-win32-arm64-msvc@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.7.tgz#21b56ef3ab4190370effea71bd83fdc3e47ec69c" - integrity sha512-GSQ54hJ5AAnKZb4KP4cmBnJ1oC4ILxnrG1mekxeM65c1RtWg9NpBwZ8E0gU3xNrTv8ZNsBeKi/9UhXBxhsIh8A== - -"@nrwl/nx-win32-x64-msvc@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.7.tgz#1677ab1dcce921706b5677dc2844e3e0027f8bd5" - integrity sha512-x6URof79RPd8AlapVbPefUD3ynJZpmah3tYaYZ9xZRMXojVtEHV8Qh5vysKXQ1rNYJiiB8Ah6evSKWLbAH60tw== - -"@nrwl/tao@15.9.7": - version "15.9.7" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-15.9.7.tgz#c0e78c99caa6742762f7558f20d8524bc9015e97" - integrity sha512-OBnHNvQf3vBH0qh9YnvBQQWyyFZ+PWguF6dJ8+1vyQYlrLVk/XZ8nJ4ukWFb+QfPv/O8VBmqaofaOI9aFC4yTw== - dependencies: - nx "15.9.7" - -"@octokit/auth-token@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.4.tgz#70e941ba742bdd2b49bdb7393e821dea8520a3db" - integrity sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ== - -"@octokit/core@^4.0.0": - version "4.2.4" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.4.tgz#d8769ec2b43ff37cc3ea89ec4681a20ba58ef907" - integrity sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ== - dependencies: - "@octokit/auth-token" "^3.0.0" - "@octokit/graphql" "^5.0.0" - "@octokit/request" "^6.0.0" - "@octokit/request-error" "^3.0.0" - "@octokit/types" "^9.0.0" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" - -"@octokit/endpoint@^7.0.0": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.6.tgz#791f65d3937555141fb6c08f91d618a7d645f1e2" - integrity sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg== - dependencies: - "@octokit/types" "^9.0.0" - is-plain-object "^5.0.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^5.0.0": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.6.tgz#9eac411ac4353ccc5d3fca7d76736e6888c5d248" - integrity sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw== - dependencies: - "@octokit/request" "^6.0.0" - "@octokit/types" "^9.0.0" - universal-user-agent "^6.0.0" - -"@octokit/openapi-types@^12.11.0": - version "12.11.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0" - integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ== - -"@octokit/openapi-types@^14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-14.0.0.tgz#949c5019028c93f189abbc2fb42f333290f7134a" - integrity sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw== - -"@octokit/openapi-types@^18.0.0": - version "18.1.1" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-18.1.1.tgz#09bdfdabfd8e16d16324326da5148010d765f009" - integrity sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw== - -"@octokit/plugin-enterprise-rest@6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" - integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== - -"@octokit/plugin-paginate-rest@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz#86f8be759ce2d6d7c879a31490fd2f7410b731f0" - integrity sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA== - dependencies: - "@octokit/types" "^6.41.0" - -"@octokit/plugin-request-log@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" - integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== - -"@octokit/plugin-rest-endpoint-methods@^6.0.0": - version "6.8.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz#97391fda88949eb15f68dc291957ccbe1d3e8ad1" - integrity sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg== - dependencies: - "@octokit/types" "^8.1.1" - deprecation "^2.3.1" - -"@octokit/request-error@^3.0.0": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69" - integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ== - dependencies: - "@octokit/types" "^9.0.0" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request@^6.0.0": - version "6.2.8" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.8.tgz#aaf480b32ab2b210e9dadd8271d187c93171d8eb" - integrity sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw== - dependencies: - "@octokit/endpoint" "^7.0.0" - "@octokit/request-error" "^3.0.0" - "@octokit/types" "^9.0.0" - is-plain-object "^5.0.0" - node-fetch "^2.6.7" - universal-user-agent "^6.0.0" - -"@octokit/rest@19.0.3": - version "19.0.3" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.3.tgz#b9a4e8dc8d53e030d611c053153ee6045f080f02" - integrity sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ== - dependencies: - "@octokit/core" "^4.0.0" - "@octokit/plugin-paginate-rest" "^3.0.0" - "@octokit/plugin-request-log" "^1.0.4" - "@octokit/plugin-rest-endpoint-methods" "^6.0.0" - -"@octokit/types@^6.41.0": - version "6.41.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04" - integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg== - dependencies: - "@octokit/openapi-types" "^12.11.0" - -"@octokit/types@^8.1.1": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-8.2.1.tgz#a6de091ae68b5541f8d4fcf9a12e32836d4648aa" - integrity sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw== - dependencies: - "@octokit/openapi-types" "^14.0.0" - -"@octokit/types@^9.0.0": - version "9.3.2" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.3.2.tgz#3f5f89903b69f6a2d196d78ec35f888c0013cac5" - integrity sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA== - dependencies: - "@octokit/openapi-types" "^18.0.0" - -"@parcel/source-map@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.1.1.tgz#fb193b82dba6dd62cc7a76b326f57bb35000a782" - integrity sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew== - dependencies: - detect-libc "^1.0.3" - -"@parcel/watcher-android-arm64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.2.0.tgz#3d1a71f251ba829ab884dfe119cc4f4c49c7222b" - integrity sha512-nU2wh00CTQT9rr1TIKTjdQ9lAGYpmz6XuKw0nAwAN+S2A5YiD55BK1u+E5WMCT8YOIDe/n6gaj4o/Bi9294SSQ== - -"@parcel/watcher-darwin-arm64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.2.0.tgz#9ed47d9e4146d53a39f62577a993426d6ddec2d2" - integrity sha512-cJl0UZDcodciy3TDMomoK/Huxpjlkkim3SyMgWzjovHGOZKNce9guLz2dzuFwfObBFCjfznbFMIvAZ5syXotYw== - -"@parcel/watcher-darwin-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.2.0.tgz#9b553e61f4a01a0947b1c005619db7b7c9a286d1" - integrity sha512-QI77zxaGrCV1StKcoRYfsUfmUmvPMPfQrubkBBy5XujV2fwaLgZivQOTQMBgp5K2+E19u1ufpspKXAPqSzpbyg== - -"@parcel/watcher-linux-arm-glibc@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.2.0.tgz#2644f6292b862c52d636978da8711bf2f7b14b24" - integrity sha512-I2GPBcAXazPzabCmfsa3HRRW+MGlqxYd8g8RIueJU+a4o5nyNZDz0CR1cu0INT0QSQXEZV7w6UE8Hz9CF8u3Pg== - -"@parcel/watcher-linux-arm64-glibc@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.2.0.tgz#b82c1715a20e6725c89b2697a208d2ae488d22da" - integrity sha512-St5mlfp+2lS9AmgixUqfwJa/DwVmTCJxC1HcOubUTz6YFOKIlkHCeUa1Bxi4E/tR/HSez8+heXHL8HQkJ4Bd8g== - -"@parcel/watcher-linux-arm64-musl@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.2.0.tgz#45511adc69c4c89b10965f0dd1519e56a00f512f" - integrity sha512-jS+qfhhoOBVWwMLP65MaG8xdInMK30pPW8wqTCg2AAuVJh5xepMbzkhHJ4zURqHiyY3EiIRuYu4ONJKCxt8iqA== - -"@parcel/watcher-linux-x64-glibc@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.2.0.tgz#f6e878bf40874b1ce9530ec87e5c2e644e9ad5ac" - integrity sha512-xJvJ7R2wJdi47WZBFS691RDOWvP1j/IAs3EXaWVhDI8FFITbWrWaln7KoNcR0Y3T+ZwimFY/cfb0PNht1q895g== - -"@parcel/watcher-linux-x64-musl@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.2.0.tgz#4a1b7a8f65b42f50b1819185ef56ed3c9e251425" - integrity sha512-D+NMpgr23a+RI5mu8ZPKWy7AqjBOkURFDgP5iIXXEf/K3hm0jJ3ogzi0Ed2237B/CdYREimCgXyeiAlE/FtwyA== - -"@parcel/watcher-win32-arm64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.2.0.tgz#4cdbaf8c1097038e838d12f897ac8595b18dfb1f" - integrity sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q== - -"@parcel/watcher-win32-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.2.0.tgz#f2fcc255b7cadfd0afa7c51cde36413632075bcc" - integrity sha512-JqGW0RJ61BkKx+yYzIURt9s53P7xMVbv0uxYPzAXLBINGaFmkIKSuUPyBVfy8TMbvp93lvF4SPBNDzVRJfvgOw== - -"@parcel/watcher@2.0.4", "@parcel/watcher@^2.0.7", "@parcel/watcher@^2.4.1", "@parcel/watcher@~2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.2.0.tgz#92067954e591d239c3ecfa08add205f88f476068" - integrity sha512-71S4TF+IMyAn24PK4KSkdKtqJDR3zRzb0HE3yXpacItqTM7XfF2f5q9NEGLEVl0dAaBAGfNwDCjH120y25F6Tg== - dependencies: - detect-libc "^1.0.3" - is-glob "^4.0.3" - micromatch "^4.0.5" - node-addon-api "^7.0.0" - optionalDependencies: - "@parcel/watcher-android-arm64" "2.2.0" - "@parcel/watcher-darwin-arm64" "2.2.0" - "@parcel/watcher-darwin-x64" "2.2.0" - "@parcel/watcher-linux-arm-glibc" "2.2.0" - "@parcel/watcher-linux-arm64-glibc" "2.2.0" - "@parcel/watcher-linux-arm64-musl" "2.2.0" - "@parcel/watcher-linux-x64-glibc" "2.2.0" - "@parcel/watcher-linux-x64-musl" "2.2.0" - "@parcel/watcher-win32-arm64" "2.2.0" - "@parcel/watcher-win32-x64" "2.2.0" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@rtsao/scc@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" - integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== - -"@rushstack/eslint-patch@^1.1.0": - version "1.10.4" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz#427d5549943a9c6fce808e39ea64dbe60d4047f1" - integrity sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA== - -"@sigstore/bundle@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-1.1.0.tgz#17f8d813b09348b16eeed66a8cf1c3d6bd3d04f1" - integrity sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog== - dependencies: - "@sigstore/protobuf-specs" "^0.2.0" - -"@sigstore/protobuf-specs@^0.2.0": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz#be9ef4f3c38052c43bd399d3f792c97ff9e2277b" - integrity sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A== - -"@sigstore/sign@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@sigstore/sign/-/sign-1.0.0.tgz#6b08ebc2f6c92aa5acb07a49784cb6738796f7b4" - integrity sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA== - dependencies: - "@sigstore/bundle" "^1.1.0" - "@sigstore/protobuf-specs" "^0.2.0" - make-fetch-happen "^11.0.1" - -"@sigstore/tuf@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@sigstore/tuf/-/tuf-1.0.3.tgz#2a65986772ede996485728f027b0514c0b70b160" - integrity sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg== - dependencies: - "@sigstore/protobuf-specs" "^0.2.0" - tuf-js "^1.1.7" - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0", "@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/formatio@^3.2.1": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.2.tgz#771c60dfa75ea7f2d68e3b94c7e888a78781372c" - integrity sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ== - dependencies: - "@sinonjs/commons" "^1" - "@sinonjs/samsam" "^3.1.0" - -"@sinonjs/samsam@^3.1.0", "@sinonjs/samsam@^3.3.3": - version "3.3.3" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz#46682efd9967b259b81136b9f120fd54585feb4a" - integrity sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ== - dependencies: - "@sinonjs/commons" "^1.3.0" - array-from "^2.1.1" - lodash "^4.17.15" - -"@sinonjs/text-encoding@^0.7.1": - version "0.7.3" - resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz#282046f03e886e352b2d5f5da5eb755e01457f3f" - integrity sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA== - -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== - -"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== - -"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" - integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== - -"@svgr/babel-plugin-svg-dynamic-title@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" - integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== - -"@svgr/babel-plugin-svg-em-dimensions@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" - integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== - -"@svgr/babel-plugin-transform-react-native-svg@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" - integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== - -"@svgr/babel-plugin-transform-svg-component@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" - integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== - -"@svgr/babel-preset@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" - integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" - "@svgr/babel-plugin-transform-svg-component" "8.0.0" - -"@svgr/core@^8.0.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" - integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - camelcase "^6.2.0" - cosmiconfig "^8.1.3" - snake-case "^3.0.4" - -"@svgr/hast-util-to-babel-ast@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" - integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== - dependencies: - "@babel/types" "^7.21.3" - entities "^4.4.0" - -"@svgr/plugin-jsx@^8.0.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" - integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - "@svgr/hast-util-to-babel-ast" "8.0.0" - svg-parser "^2.0.4" - -"@swc/core-darwin-arm64@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.5.tgz#81a560d58a8a1883a40c7037ea5f1b2d4d55b96e" - integrity sha512-GEd1hzEx0mSGkJYMFMGLnrGgjL2rOsOsuYWyjyiA3WLmhD7o+n/EWBDo6mzD/9aeF8dzSPC0TnW216gJbvrNzA== - -"@swc/core-darwin-x64@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.11.5.tgz#b7aa7b44ffcb49ba15c1e5197e2da859e434dfe9" - integrity sha512-toz04z9wAClVvQSEY3xzrgyyeWBAfMWcKG4K0ugNvO56h/wczi2ZHRlnAXZW1tghKBk3z6MXqa/srfXgNhffKw== - -"@swc/core-linux-arm-gnueabihf@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.11.5.tgz#2cecc683f872784cfc8339aaa3097aee518d4b87" - integrity sha512-5SjmKxXdwbBpsYGTpgeXOXMIjS563/ntRGn8Zc12H/c4VfPrRLGhgbJ/48z2XVFyBLcw7BCHZyFuVX1+ZI3W0Q== - -"@swc/core-linux-arm64-gnu@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.5.tgz#56f353559f5a5176d8bb5ed053dfbdabae8cce99" - integrity sha512-pydIlInHRzRIwB0NHblz3Dx58H/bsi0I5F2deLf9iOmwPNuOGcEEZF1Qatc7YIjP5DFbXK+Dcz+pMUZb2cc2MQ== - -"@swc/core-linux-arm64-musl@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.11.5.tgz#a9ea369eb5b98d8b4ffd565caa57c15e8079ba5f" - integrity sha512-LhBHKjkZq5tJF1Lh0NJFpx7ROnCWLckrlIAIdSt9XfOV+zuEXJQOj+NFcM1eNk17GFfFyUMOZyGZxzYq5dveEQ== - -"@swc/core-linux-x64-gnu@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.5.tgz#b931a06a6738da1de04dadb298aabe38e9d4e26f" - integrity sha512-dCi4xkxXlsk5sQYb3i413Cfh7+wMJeBYTvBZTD5xh+/DgRtIcIJLYJ2tNjWC4/C2i5fj+Ze9bKNSdd8weRWZ3A== - -"@swc/core-linux-x64-musl@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.5.tgz#0db01ed8a188e95506e5efc12fe5f33368ce4726" - integrity sha512-K0AC4TreM5Oo/tXNXnE/Gf5+5y/HwUdd7xvUjOpZddcX/RlsbYOKWLgOtA3fdFIuta7XC+vrGKmIhm5l70DSVQ== - -"@swc/core-win32-arm64-msvc@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.11.5.tgz#d442a62ebf6bebc260ab262e295a911431053b07" - integrity sha512-wzum8sYUsvPY7kgUfuqVYTgIPYmBC8KPksoNM1fz5UfhudU0ciQuYvUBD47GIGOevaoxhLkjPH4CB95vh1mJ9w== - -"@swc/core-win32-ia32-msvc@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.11.5.tgz#e114b60b0184bfd70bec87202864ef591437cf48" - integrity sha512-lco7mw0TPRTpVPR6NwggJpjdUkAboGRkLrDHjIsUaR+Y5+0m5FMMkHOMxWXAbrBS5c4ph7QErp4Lma4r9Mn5og== - -"@swc/core-win32-x64-msvc@1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.11.5.tgz#7ecb8a361b7ce1827d325f5c7dbf7001ea8d1118" - integrity sha512-E+DApLSC6JRK8VkDa4bNsBdD7Qoomx1HvKVZpOXl9v94hUZI5GMExl4vU5isvb+hPWL7rZ0NeI7ITnVLgLJRbA== - -"@swc/core@^1.11.5": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.11.5.tgz#bf2d8af3dae977744c00bd1645505697d6c1538d" - integrity sha512-EVY7zfpehxhTZXOfy508gb3D78ihoGGmvyiTWtlBPjgIaidP1Xw0naHMD78CWiFlZmeDjKXJufGtsEGOnZdmNA== - dependencies: - "@swc/counter" "^0.1.3" - "@swc/types" "^0.1.19" - optionalDependencies: - "@swc/core-darwin-arm64" "1.11.5" - "@swc/core-darwin-x64" "1.11.5" - "@swc/core-linux-arm-gnueabihf" "1.11.5" - "@swc/core-linux-arm64-gnu" "1.11.5" - "@swc/core-linux-arm64-musl" "1.11.5" - "@swc/core-linux-x64-gnu" "1.11.5" - "@swc/core-linux-x64-musl" "1.11.5" - "@swc/core-win32-arm64-msvc" "1.11.5" - "@swc/core-win32-ia32-msvc" "1.11.5" - "@swc/core-win32-x64-msvc" "1.11.5" - -"@swc/counter@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" - integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== - -"@swc/helpers@^0.5.0": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" - integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== - dependencies: - tslib "^2.8.0" - -"@swc/types@^0.1.19": - version "0.1.19" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.19.tgz#65d9fe81e0a1dc7e861ad698dd581abe3703a2d2" - integrity sha512-WkAZaAfj44kh/UFdAQcrMP1I0nwRqpt27u+08LMBYMqmQfwwMofYoMh/48NGkMMRfC4ynpfwRbJuu8ErfNloeA== - dependencies: - "@swc/counter" "^0.1.3" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@tufjs/canonical-json@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz#eade9fd1f537993bc1f0949f3aea276ecc4fab31" - integrity sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ== - -"@tufjs/models@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-1.0.4.tgz#5a689630f6b9dbda338d4b208019336562f176ef" - integrity sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A== - dependencies: - "@tufjs/canonical-json" "1.0.0" - minimatch "^9.0.0" - -"@types/http-proxy@^1.17.8": - version "1.17.15" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.15.tgz#12118141ce9775a6499ecb4c01d02f90fc839d36" - integrity sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ== - dependencies: - "@types/node" "*" - -"@types/js-cookie@^2.2.6": - version "2.2.7" - resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" - integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== - -"@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/minimatch@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - -"@types/minimist@^1.2.0": - version "1.2.5" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" - integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== - -"@types/mocha@^8.0.4": - version "8.2.3" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.3.tgz#bbeb55fbc73f28ea6de601fbfa4613f58d785323" - integrity sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw== - -"@types/node@*", "@types/node@>= 18": - version "22.9.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.3.tgz#08f3d64b3bc6d74b162d36f60213e8a6704ef2b4" - integrity sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw== - dependencies: - undici-types "~6.19.8" - -"@types/normalize-package-data@^2.4.0": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" - integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/react-dom@^19": - version "19.0.3" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.0.3.tgz#0804dfd279a165d5a0ad8b53a5b9e65f338050a4" - integrity sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA== - -"@types/react@^19": - version "19.0.7" - resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.7.tgz#c451968b999d1cb2d9207dc5ff56496164cf511d" - integrity sha512-MoFsEJKkAtZCrC1r6CM8U22GzhG7u2Wir8ons/aCKH6MBdD1ibV24zOSSkdZVUKqN5i396zG5VKLYZ3yaUZdLA== - dependencies: - csstype "^3.0.2" - -"@types/semver@^7.3.12": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== - -"@types/vscode@^1.67.0": - version "1.95.0" - resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.95.0.tgz#484aee82c69fa2d73e29d4bf2a91191e570dbc70" - integrity sha512-0LBD8TEiNbet3NvWsmn59zLzOFu/txSlGxnv5yAFHCrhG9WvAnR3IvfHzMOs2aeWqgvNjq9pO99IUw8d3n+unw== - -"@typescript-eslint/eslint-plugin@^5.5.0", "@typescript-eslint/eslint-plugin@^5.59.7": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" - integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== - dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/type-utils" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@^5.0.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz#14559bf73383a308026b427a4a6129bae2146741" - integrity sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw== - dependencies: - "@typescript-eslint/utils" "5.62.0" - -"@typescript-eslint/parser@^5.5.0", "@typescript-eslint/parser@^5.59.7": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" - integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== - dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - -"@typescript-eslint/type-utils@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" - integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== - dependencies: - "@typescript-eslint/typescript-estree" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== - -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" - -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@vue/compiler-core@3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz#3e07c684d74897ac9aa5922c520741f3029267f8" - integrity sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig== - dependencies: - "@babel/parser" "^7.16.4" - "@vue/shared" "3.2.47" - estree-walker "^2.0.2" - source-map "^0.6.1" - -"@vue/compiler-dom@3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz#a0b06caf7ef7056939e563dcaa9cbde30794f305" - integrity sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ== - dependencies: - "@vue/compiler-core" "3.2.47" - "@vue/shared" "3.2.47" - -"@vue/compiler-sfc@3.2.47", "@vue/compiler-sfc@^3.2.27", "@vue/compiler-sfc@~3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz#1bdc36f6cdc1643f72e2c397eb1a398f5004ad3d" - integrity sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ== - dependencies: - "@babel/parser" "^7.16.4" - "@vue/compiler-core" "3.2.47" - "@vue/compiler-dom" "3.2.47" - "@vue/compiler-ssr" "3.2.47" - "@vue/reactivity-transform" "3.2.47" - "@vue/shared" "3.2.47" - estree-walker "^2.0.2" - magic-string "^0.25.7" - postcss "^8.1.10" - source-map "^0.6.1" - -"@vue/compiler-ssr@3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz#35872c01a273aac4d6070ab9d8da918ab13057ee" - integrity sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw== - dependencies: - "@vue/compiler-dom" "3.2.47" - "@vue/shared" "3.2.47" - -"@vue/reactivity-transform@3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz#e45df4d06370f8abf29081a16afd25cffba6d84e" - integrity sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA== - dependencies: - "@babel/parser" "^7.16.4" - "@vue/compiler-core" "3.2.47" - "@vue/shared" "3.2.47" - estree-walker "^2.0.2" - magic-string "^0.25.7" - -"@vue/reactivity@3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.47.tgz#1d6399074eadfc3ed35c727e2fd707d6881140b6" - integrity sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ== - dependencies: - "@vue/shared" "3.2.47" - -"@vue/runtime-core@3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz#406ebade3d5551c00fc6409bbc1eeb10f32e121d" - integrity sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA== - dependencies: - "@vue/reactivity" "3.2.47" - "@vue/shared" "3.2.47" - -"@vue/runtime-dom@3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz#93e760eeaeab84dedfb7c3eaf3ed58d776299382" - integrity sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA== - dependencies: - "@vue/runtime-core" "3.2.47" - "@vue/shared" "3.2.47" - csstype "^2.6.8" - -"@vue/server-renderer@3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz#8aa1d1871fc4eb5a7851aa7f741f8f700e6de3c0" - integrity sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA== - dependencies: - "@vue/compiler-ssr" "3.2.47" - "@vue/shared" "3.2.47" - -"@vue/shared@3.2.47": - version "3.2.47" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.47.tgz#e597ef75086c6e896ff5478a6bfc0a7aa4bbd14c" - integrity sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ== - -"@xmldom/xmldom@^0.9.3": - version "0.9.5" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.9.5.tgz#a2c08c3a0c5931daae67dd0385edf2f464d1fee4" - integrity sha512-6g1EwSs8cr8JhP1iBxzyVAWM6BIDvx9Y3FZRIQiMDzgG43Pxi8YkWOZ0nQj2NHgNzgXDZbJewFx/n+YAvMZrfg== - -"@xobotyi/scrollbar-width@^1.9.5": - version "1.9.5" - resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d" - integrity sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ== - -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - -"@yarnpkg/parsers@3.0.0-rc.46": - version "3.0.0-rc.46" - resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" - integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== - dependencies: - js-yaml "^3.10.0" - tslib "^2.4.0" - -"@zkochan/js-yaml@0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826" - integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== - dependencies: - argparse "^2.0.1" - -JSONStream@^1.0.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abbrev@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abbrev@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" - integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== - -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.8.2, acorn@^8.9.0: - version "8.14.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" - integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== - -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" - integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== - -agent-base@6, agent-base@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agent-base@^7.0.2, agent-base@^7.1.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" - integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== - dependencies: - debug "^4.3.4" - -agentkeepalive@^4.2.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" - integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== - dependencies: - humanize-ms "^1.2.1" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.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== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" - integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== - dependencies: - fast-deep-equal "^3.1.3" - fast-uri "^3.0.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-colors@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" - integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== - dependencies: - ansi-wrap "^0.1.0" - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-gray@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" - integrity sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw== - dependencies: - ansi-wrap "0.1.0" - -ansi-html-community@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - -ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" - integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -ansi-wrap@0.1.0, ansi-wrap@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" - integrity sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.1, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -append-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" - integrity sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA== - dependencies: - buffer-equal "^1.0.0" - -"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== - -are-we-there-yet@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" - integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -are-we-there-yet@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz#aed25dd0eae514660d49ac2b2366b175c614785a" - integrity sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg== - -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" - integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-filter@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" - integrity sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA== - dependencies: - make-iterator "^1.0.0" - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-map@^2.0.0, arr-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" - integrity sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw== - dependencies: - make-iterator "^1.0.0" - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - -array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== - dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" - -array-differ@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" - integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== - -array-each@^1.0.0, array-each@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" - integrity sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-from@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" - integrity sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg== - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== - -array-includes@^3.1.6, array-includes@^3.1.8: - version "3.1.8" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" - integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - is-string "^1.0.7" - -array-initial@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" - integrity sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw== - dependencies: - array-slice "^1.0.0" - is-number "^4.0.0" - -array-last@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" - integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== - dependencies: - is-number "^4.0.0" - -array-slice@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" - integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== - -array-sort@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" - integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== - dependencies: - default-compare "^1.0.0" - get-value "^2.0.6" - kind-of "^5.0.2" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== - dependencies: - array-uniq "^1.0.1" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - -array.prototype.findlast@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" - integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" - -array.prototype.findlastindex@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" - integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" - -array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" - integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.3" - es-errors "^1.3.0" - es-shim-unscopables "^1.0.2" - -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" - define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" - is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -asn1.js@^4.10.1: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -assert-never@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/assert-never/-/assert-never-1.3.0.tgz#c53cf3ad8fcdb67f400a941dea66dac7fe82dd2e" - integrity sha512-9Z3vxQ+berkL/JJo0dK+EY3Lp0s3NtSnP3VCLsh5HDcZPrh0M+KQRK5sWhUeyPPH+/RCxZqOxLMR+YC6vlviEQ== - -assert@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" - integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== - dependencies: - call-bind "^1.0.2" - is-nan "^1.3.2" - object-is "^1.1.5" - object.assign "^4.1.4" - util "^0.12.5" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - -ast-types-flow@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" - integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-done@^1.2.0, async-done@^1.2.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" - integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.2" - process-nextick-args "^2.0.0" - stream-exhaust "^1.0.1" - -async-each@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77" - integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg== - -async-settle@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" - integrity sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw== - dependencies: - async-done "^1.2.2" - -async@^3.2.3: - version "3.2.6" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" - integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autoprefixer@^10.4.0: - version "10.4.20" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.20.tgz#5caec14d43976ef42e32dcb4bd62878e96be5b3b" - integrity sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g== - dependencies: - browserslist "^4.23.3" - caniuse-lite "^1.0.30001646" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.1" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -axe-core@^4.10.0: - version "4.10.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.2.tgz#85228e3e1d8b8532a27659b332e39b7fa0e022df" - integrity sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w== - -axios@^1.0.0: - version "1.8.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.4.tgz#78990bb4bc63d2cae072952d374835950a82f447" - integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axobject-query@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" - integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== - -azure-devops-node-api@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/azure-devops-node-api/-/azure-devops-node-api-7.2.0.tgz#131d4e01cf12ebc6e45569b5e0c5c249e4114d6d" - integrity sha512-pMfGJ6gAQ7LRKTHgiRF+8iaUUeGAI0c8puLaqHLc7B8AR7W6GJLozK9RFeUHFjEGybC9/EB3r67WPd7e46zQ8w== - dependencies: - os "0.1.1" - tunnel "0.0.4" - typed-rest-client "1.2.0" - underscore "1.8.3" - -babel-helper-evaluate-path@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz#a62fa9c4e64ff7ea5cea9353174ef023a900a67c" - integrity sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA== - -babel-helper-mark-eval-scopes@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz#d244a3bef9844872603ffb46e22ce8acdf551562" - integrity sha512-+d/mXPP33bhgHkdVOiPkmYoeXJ+rXRWi7OdhwpyseIqOS8CmzHQXHUp/+/Qr8baXsT0kjGpMHHofHs6C3cskdA== - -babel-helper-remove-or-void@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz#a4f03b40077a0ffe88e45d07010dee241ff5ae60" - integrity sha512-eYNceYtcGKpifHDir62gHJadVXdg9fAhuZEXiRQnJJ4Yi4oUTpqpNY//1pM4nVyjjDMPYaC2xSf0I+9IqVzwdA== - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -babel-plugin-minify-dead-code-elimination@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.2.tgz#f386ceec77a80cc4e76022a04c21b7d68e0aa5eb" - integrity sha512-krq9Lwi0QIzyAlcNBXTL4usqUvevB4BzktdEsb8srcXC1AaYqRJiAQw6vdKdJSaXbz6snBvziGr6ch/aoRCfpA== - dependencies: - babel-helper-evaluate-path "^0.5.0" - babel-helper-mark-eval-scopes "^0.4.3" - babel-helper-remove-or-void "^0.4.3" - lodash "^4.17.11" - -babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.12" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz#ca55bbec8ab0edeeef3d7b8ffd75322e210879a9" - integrity sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.3" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.10.6: - version "0.10.6" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" - integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" - core-js-compat "^3.38.0" - -babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz#abeb1f3f1c762eace37587f42548b08b57789bc8" - integrity sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.3" - -babel-plugin-transform-inline-environment-variables@^0.4.3: - version "0.4.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-environment-variables/-/babel-plugin-transform-inline-environment-variables-0.4.4.tgz#974245008b3cbbd646bd81707af147aea3acca43" - integrity sha512-bJILBtn5a11SmtR2j/3mBOjX4K3weC6cq+NNZ7hG22wCAqpc3qtj/iN7dSe9HDiS46lgp1nHsQgeYrea/RUe+g== - -babel-plugin-transform-react-remove-prop-types@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== - -babel-preset-react-app@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz#ed6005a20a24f2c88521809fa9aea99903751584" - integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== - dependencies: - "@babel/core" "^7.16.0" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-decorators" "^7.16.4" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-transform-flow-strip-types" "^7.16.0" - "@babel/plugin-transform-react-display-name" "^7.16.0" - "@babel/plugin-transform-runtime" "^7.16.4" - "@babel/preset-env" "^7.16.4" - "@babel/preset-react" "^7.16.0" - "@babel/preset-typescript" "^7.16.0" - "@babel/runtime" "^7.16.3" - babel-plugin-macros "^3.1.0" - babel-plugin-transform-react-remove-prop-types "^0.4.24" - -babel-walk@3.0.0-canary-5: - version "3.0.0-canary-5" - resolved "https://registry.yarnpkg.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz#f66ecd7298357aee44955f235a6ef54219104b11" - integrity sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== - dependencies: - "@babel/types" "^7.9.6" - -bach@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" - integrity sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg== - dependencies: - arr-filter "^1.1.1" - arr-flatten "^1.0.1" - arr-map "^2.0.0" - array-each "^1.0.0" - array-initial "^1.0.0" - array-last "^1.1.1" - async-done "^1.2.2" - async-settle "^1.0.0" - now-and-later "^2.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.8: - version "3.0.10" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.10.tgz#62de58653f8762b5d6f8d9fe30fa75f7b2585a75" - integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -before-after-hook@^2.2.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" - integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== - -big-integer@^1.6.17: - version "1.6.52" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" - integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== - -bin-links@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.4.tgz#c3565832b8e287c85f109a02a17027d152a58a63" - integrity sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA== - dependencies: - cmd-shim "^6.0.0" - npm-normalize-package-bin "^3.0.0" - read-cmd-shim "^4.0.0" - write-file-atomic "^5.0.0" - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -binary@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" - integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== - dependencies: - buffers "~0.1.1" - chainsaw "~0.1.0" - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bl@^4.0.3, bl@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bluebird@~3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.1.tgz#215741fe3c9dba2d7e12c001d0cfdbae43975ba7" - integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== - -bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -body-parser@1.20.3: - version "1.20.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" - integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.13.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.3, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.1.tgz#06e530907fe2949dc21fc3c2e2302e10b1437238" - integrity sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ== - dependencies: - bn.js "^5.2.1" - randombytes "^2.1.0" - safe-buffer "^5.2.1" - -browserify-sign@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.3.tgz#7afe4c01ec7ee59a89a558a4b75bd85ae62d4208" - integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== - dependencies: - bn.js "^5.2.1" - browserify-rsa "^4.1.0" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.5" - hash-base "~3.0" - inherits "^2.0.4" - parse-asn1 "^5.1.7" - readable-stream "^2.3.8" - safe-buffer "^5.2.1" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.2, browserslist@^4.6.6: - version "4.24.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" - integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== - dependencies: - caniuse-lite "^1.0.30001669" - electron-to-chromium "^1.5.41" - node-releases "^2.0.18" - update-browserslist-db "^1.1.1" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-equal@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90" - integrity sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-indexof-polyfill@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" - integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffer@^5.5.0||^6.0.0, buffer@mischnic/buffer#b8a4fa94: - version "6.0.3" - resolved "https://codeload.github.com/mischnic/buffer/tar.gz/b8a4fa94c96973a5321a95c75e0b16967f0745f3" - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -buffers@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" - integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== - -builtins@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" - integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== - dependencies: - semver "^7.0.0" - -byte-size@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-7.0.0.tgz#36528cd1ca87d39bd9abd51f5715dc93b6ceb032" - integrity sha512-NNiBxKgxybMBtWdmvx7ZITJi4ZG+CYUgwOSZTfqB1qogkRHrhbQE/R2r5Fh94X+InN5MCYz6SvB/ejHMj/HbsQ== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacache@^16.1.0: - version "16.1.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" - integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^2.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - infer-owner "^1.0.4" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - unique-filename "^2.0.0" - -cacache@^17.0.0, cacache@^17.0.4: - version "17.1.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.1.4.tgz#b3ff381580b47e85c6e64f801101508e26604b35" - integrity sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A== - dependencies: - "@npmcli/fs" "^3.1.0" - fs-minipass "^3.0.0" - glob "^10.2.2" - lru-cache "^7.7.1" - minipass "^7.0.3" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - p-map "^4.0.0" - ssri "^10.0.0" - tar "^6.1.11" - unique-filename "^3.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - integrity sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001669: - version "1.0.30001684" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz#0eca437bab7d5f03452ff0ef9de8299be6b08e16" - integrity sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ== - -chainsaw@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" - integrity sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ== - dependencies: - traverse ">=0.3.0 <0.4" - -chalk@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -character-parser@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" - integrity sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw== - dependencies: - is-regex "^1.0.3" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -charenc@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== - -cheerio-select@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" - integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== - dependencies: - boolbase "^1.0.0" - css-select "^5.1.0" - css-what "^6.1.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.0.1" - -cheerio@^1.0.0-rc.1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0.tgz#1ede4895a82f26e8af71009f961a9b8cb60d6a81" - integrity sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww== - dependencies: - cheerio-select "^2.1.0" - dom-serializer "^2.0.0" - domhandler "^5.0.3" - domutils "^3.1.0" - encoding-sniffer "^0.2.0" - htmlparser2 "^9.1.0" - parse5 "^7.1.2" - parse5-htmlparser2-tree-adapter "^7.0.0" - parse5-parser-stream "^7.1.2" - undici "^6.19.5" - whatwg-mimetype "^4.0.0" - -chokidar@3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.3.1" - -chokidar@^2.0.0: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chokidar@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" - integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== - dependencies: - readdirp "^4.0.1" - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2, chrome-trace-event@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" - integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.6.1, ci-info@^3.7.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.5.tgz#749f80731c7821e9a5fabd51f6998b696f296686" - integrity sha512-xq7ICKB4TMHUx7Tz1L9O2SGKOhYMOTR32oir45Bq28/AQTpHogKgHcoYFSdRbMtddl+ozNXfXY9jWcgYKmde0w== - dependencies: - inherits "^2.0.4" - safe-buffer "^5.2.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@3.1.0, cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" - integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== - -cli-spinners@^2.5.0: - version "2.9.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" - integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w== - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g== - -clone-deep@4.0.1, clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag== - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== - -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -cmd-shim@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724" - integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== - dependencies: - mkdirp-infer-owner "^2.0.0" - -cmd-shim@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.3.tgz#c491e9656594ba17ac83c4bd931590a9d6e26033" - integrity sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA== - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== - -coffeescript@^2.0.3: - version "2.7.0" - resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-2.7.0.tgz#a43ec03be6885d6d1454850ea70b9409c391279c" - integrity sha512-hzWp6TUE2d/jCcN67LrW1eh5b/rSDKQK6oD6VMLlggYVUUFexgTH9z3dNYihzX4RMhze5FTUsUmOXViJKFQR/A== - -collection-map@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" - integrity sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA== - dependencies: - arr-map "^2.0.2" - for-own "^1.0.0" - make-iterator "^1.0.0" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -color@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" - integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== - dependencies: - color-convert "^2.0.1" - color-string "^1.9.0" - -colord@^2.9.3: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.16: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -columnify@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" - integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== - dependencies: - strip-ansi "^6.0.1" - wcwidth "^1.0.0" - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -comlink@^4.3.1: - version "4.4.2" - resolved "https://registry.yarnpkg.com/comlink/-/comlink-4.4.2.tgz#cbbcd82742fbebc06489c28a183eedc5c60a2bca" - integrity sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g== - -command-exists@^1.2.6, command-exists@^1.2.8: - version "1.2.9" - resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" - integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== - -commander@^12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" - integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== - -commander@^2.15.1, commander@^2.19.0, commander@^2.20.0, commander@^2.8.1: - 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== - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -common-ancestor-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" - integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -compare-func@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" - integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== - dependencies: - array-ify "^1.0.0" - dot-prop "^5.1.0" - -component-emitter@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" - integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.6.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - -config-chain@1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -confusing-browser-globals@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -connect@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -connected-domain@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/connected-domain/-/connected-domain-1.0.0.tgz#bfe77238c74be453a79f0cb6058deeb4f2358e93" - integrity sha512-lHlohUiJxlpunvDag2Y0pO20bnvarMjnrdciZeuJUqRwrf/5JHNhdpiPIr5GQ8IkqrFj5TDMQwcCjblGo1oeuA== - -console-browserify@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - -constantinople@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-4.0.1.tgz#0def113fa0e4dc8de83331a5cf79c8b325213151" - integrity sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== - dependencies: - "@babel/parser" "^7.6.0" - "@babel/types" "^7.6.1" - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-security-policy-parser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/content-security-policy-parser/-/content-security-policy-parser-0.6.0.tgz#b361d8587dee0e92def19d308cb23e8d32cc26f6" - integrity sha512-wejtC/p+HLNQ7uaWgg1o3CKHhE8QXC9fJ2GCY0X82L5HUNtZSq1dmUvNSHHEb6R7LS02fpmRBq/vP8i4/+9KCg== - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -conventional-changelog-angular@5.0.12: - version "5.0.12" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" - integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-core@4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" - integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== - dependencies: - add-stream "^1.0.0" - conventional-changelog-writer "^5.0.0" - conventional-commits-parser "^3.2.0" - dateformat "^3.0.0" - get-pkg-repo "^4.0.0" - git-raw-commits "^2.0.8" - git-remote-origin-url "^2.0.0" - git-semver-tags "^4.1.1" - lodash "^4.17.15" - normalize-package-data "^3.0.0" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^4.0.0" - -conventional-changelog-preset-loader@^2.3.4: - version "2.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" - integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== - -conventional-changelog-writer@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" - integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== - dependencies: - conventional-commits-filter "^2.0.7" - dateformat "^3.0.0" - handlebars "^4.7.7" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^8.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^4.0.0" - -conventional-commits-filter@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" - integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.0" - -conventional-commits-parser@^3.2.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" - integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.1" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -conventional-recommended-bump@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" - integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== - dependencies: - concat-stream "^2.0.0" - conventional-changelog-preset-loader "^2.3.4" - conventional-commits-filter "^2.0.7" - conventional-commits-parser "^3.2.0" - git-raw-commits "^2.0.8" - git-semver-tags "^4.1.1" - meow "^8.0.0" - q "^1.5.1" - -convert-source-map@^1.5.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" - integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== - -copy-anything@^2.0.1: - version "2.0.6" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" - integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== - dependencies: - is-what "^3.14.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - -copy-props@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" - integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw== - dependencies: - each-props "^1.3.2" - is-plain-object "^5.0.0" - -copy-to-clipboard@^3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - -core-js-compat@^3.38.0, core-js-compat@^3.38.1: - version "3.39.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.39.0.tgz#b12dccb495f2601dc860bdbe7b4e3ffa8ba63f61" - integrity sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw== - dependencies: - browserslist "^4.24.2" - -core-js@^3.2.1: - version "3.39.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.39.0.tgz#57f7647f4d2d030c32a72ea23a0555b2eaa30f83" - integrity sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cors@^2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cosmiconfig@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cosmiconfig@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cosmiconfig@^8.1.3: - version "8.3.6" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - -cosmiconfig@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" - integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== - dependencies: - env-paths "^2.2.1" - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - -create-ecdh@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -crelt@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72" - integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g== - -cross-env@^7.0.0: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" - integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== - dependencies: - cross-spawn "^7.0.1" - -cross-spawn@6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypt@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== - -crypto-browserify@^3.12.0: - version "3.12.1" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.1.tgz#bb8921bec9acc81633379aa8f52d69b0b69e0dac" - integrity sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ== - dependencies: - browserify-cipher "^1.0.1" - browserify-sign "^4.2.3" - create-ecdh "^4.0.4" - create-hash "^1.2.0" - create-hmac "^1.1.7" - diffie-hellman "^5.0.3" - hash-base "~3.0.4" - inherits "^2.0.4" - pbkdf2 "^3.1.2" - public-encrypt "^4.0.3" - randombytes "^2.1.0" - randomfill "^1.0.4" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg== - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-declaration-sorter@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" - integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== - -css-in-js-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz#640ae6a33646d401fc720c54fc61c42cd76ae2bb" - integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== - dependencies: - hyphenate-style-name "^1.0.3" - -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-tree@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -css-tree@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" - integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== - dependencies: - mdn-data "2.0.28" - source-map-js "^1.0.1" - -css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz#0220fa7507478369aa2a226bac03e1204cd024c1" - integrity sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ== - dependencies: - browserslist "^4.23.3" - css-declaration-sorter "^7.2.0" - cssnano-utils "^5.0.0" - postcss-calc "^10.0.2" - postcss-colormin "^7.0.2" - postcss-convert-values "^7.0.4" - postcss-discard-comments "^7.0.3" - postcss-discard-duplicates "^7.0.1" - postcss-discard-empty "^7.0.0" - postcss-discard-overridden "^7.0.0" - postcss-merge-longhand "^7.0.4" - postcss-merge-rules "^7.0.4" - postcss-minify-font-values "^7.0.0" - postcss-minify-gradients "^7.0.0" - postcss-minify-params "^7.0.2" - postcss-minify-selectors "^7.0.4" - postcss-normalize-charset "^7.0.0" - postcss-normalize-display-values "^7.0.0" - postcss-normalize-positions "^7.0.0" - postcss-normalize-repeat-style "^7.0.0" - postcss-normalize-string "^7.0.0" - postcss-normalize-timing-functions "^7.0.0" - postcss-normalize-unicode "^7.0.2" - postcss-normalize-url "^7.0.0" - postcss-normalize-whitespace "^7.0.0" - postcss-ordered-values "^7.0.1" - postcss-reduce-initial "^7.0.2" - postcss-reduce-transforms "^7.0.0" - postcss-svgo "^7.0.1" - postcss-unique-selectors "^7.0.3" - -cssnano-utils@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-5.0.0.tgz#b53a0343dd5d21012911882db6ae7d2eae0e3687" - integrity sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ== - -cssnano@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-7.0.6.tgz#63d54fd42bc017f6aaed69e47d9aaef85b7850ec" - integrity sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw== - dependencies: - cssnano-preset-default "^7.0.6" - lilconfig "^3.1.2" - -csso@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" - -cssstyle@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.1.0.tgz#161faee382af1bafadb6d3867a92a19bcb4aea70" - integrity sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA== - dependencies: - rrweb-cssom "^0.7.1" - -csstype@^2.6.8: - version "2.6.21" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" - integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== - -csstype@^3.0.2, csstype@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -d@1, d@^1.0.1, d@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de" - integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw== - dependencies: - es5-ext "^0.10.64" - type "^2.7.2" - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -dargs@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" - integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== - -data-urls@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-5.0.0.tgz#2f76906bce1824429ffecb6920f45a0b30f00dde" - integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg== - dependencies: - whatwg-mimetype "^4.0.0" - whatwg-url "^14.0.0" - -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -date-fns@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14" - integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg== - -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - -debug@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize-keys@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" - integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decimal.js@^10.4.3: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -dedent@0.7.0, dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -default-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" - integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== - dependencies: - kind-of "^5.0.2" - -default-resolution@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" - integrity sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ== - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -denodeify@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" - integrity sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -deprecation@^2.0.0, deprecation@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - -des.js@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" - integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== - -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== - -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== - -detect-libc@^2.0.1, detect-libc@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" - integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== - -didyoumean@^1.2.1, didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diffie-hellman@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -doctypes@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" - integrity sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ== - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domain-browser@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-5.7.0.tgz#81b942459672e3c7ed8f721fe31135a5628f31cf" - integrity sha512-edTFu0M/7wO1pXY6GDxVNVW086uqwWYIHP98txhcPyV995X21JIH2DtYp33sQJOupYoXKe9RwTw2Ya2vWaquTQ== - -domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domhandler@^4.2.0, domhandler@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -domutils@^3.0.1, domutils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" - -dot-prop@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dotenv-expand@^11.0.6: - version "11.0.7" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-11.0.7.tgz#af695aea007d6fdc84c86cd8d0ad7beb40a0bd08" - integrity sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA== - dependencies: - dotenv "^16.4.5" - -dotenv@^16.4.5: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== - -dotenv@~10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== - -duplexer2@~0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== - dependencies: - readable-stream "^2.0.2" - -duplexer@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -each-props@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" - integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== - dependencies: - is-plain-object "^2.0.1" - object.defaults "^1.1.0" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -easy-stack@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" - integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -ejs@^3.1.6, ejs@^3.1.7: - version "3.1.10" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" - integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.5.41: - version "1.5.64" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.64.tgz#ac8c4c89075d35a1514b620f47dfe48a71ec3697" - integrity sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ== - -elliptic@^6.5.3, elliptic@^6.5.5: - version "6.6.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" - integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -elm-hot@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/elm-hot/-/elm-hot-1.1.6.tgz#93e3962b40670e65f0a3640951b3add2702bfd0e" - integrity sha512-zYZJlfs7Gt4BdjA+D+857K+XAWzwwySJmXCgFpHW1dIEfaHSZCIPYPf7/jinZBLfKRkOAlKzI32AA84DY50g7Q== - -elm@^0.19.1-5: - version "0.19.1-6" - resolved "https://registry.yarnpkg.com/elm/-/elm-0.19.1-6.tgz#b6f51d0add8877de70592097a8f6efc4588c476a" - integrity sha512-mKYyierHICPdMx/vhiIacdPmTPnh889gjHOZ75ZAoCxo3lZmSWbGP8HMw78wyctJH0HwvTmeKhlYSWboQNYPeQ== - optionalDependencies: - "@elm_binaries/darwin_arm64" "0.19.1-0" - "@elm_binaries/darwin_x64" "0.19.1-0" - "@elm_binaries/linux_x64" "0.19.1-0" - "@elm_binaries/win32_x64" "0.19.1-0" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emphasize@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/emphasize/-/emphasize-4.2.0.tgz#6b6fdc4d212cb7eafea1c7cdd595dfd6cfc508d9" - integrity sha512-yGKvcFUHlBsUPwlxTlzKLR8+zhpbitkFOMCUxN8fTJng9bdH3WNzUGkhdaGdjndSUgqmMPBN7umfwnUdLz5Axg== - dependencies: - chalk "^4.0.0" - highlight.js "~10.4.0" - lowlight "~1.17.0" - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -encodeurl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" - integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== - -encoding-sniffer@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz#799569d66d443babe82af18c9f403498365ef1d5" - integrity sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg== - dependencies: - iconv-lite "^0.6.3" - whatwg-encoding "^3.1.1" - -encoding@^0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -enquirer@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -entities@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" - integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== - -entities@^4.2.0, entities@^4.4.0, entities@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -entities@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -env-paths@^2.2.0, env-paths@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -envinfo@^7.7.4: - version "7.14.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" - integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== - -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - -errno@^0.1.1: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5: - version "1.23.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.5.tgz#f4599a4946d57ed467515ed10e4f157289cd52fb" - integrity sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ== - dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" - is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.3" - object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.3" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.2.1, es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-iterator-helpers@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz#2f1a3ab998b30cb2d10b195b587c6d9ebdebf152" - integrity sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.3" - es-errors "^1.3.0" - es-set-tostringtag "^2.0.3" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - globalthis "^1.0.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - iterator.prototype "^1.1.3" - safe-array-concat "^1.1.2" - -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== - dependencies: - get-intrinsic "^1.2.4" - has-tostringtag "^1.0.2" - hasown "^2.0.1" - -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -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" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14: - version "0.10.64" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714" - integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - esniff "^2.0.1" - next-tick "^1.1.0" - -es6-iterator@^2.0.1, es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.4" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c" - integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg== - dependencies: - d "^1.0.2" - ext "^1.7.0" - -es6-weak-map@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - -esbuild-register@^3.5.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/esbuild-register/-/esbuild-register-3.6.0.tgz#cf270cfa677baebbc0010ac024b823cbf723a36d" - integrity sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg== - dependencies: - debug "^4.3.4" - -esbuild@^0.25.0: - version "0.25.0" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.0.tgz#0de1787a77206c5a79eeb634a623d39b5006ce92" - integrity sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw== - optionalDependencies: - "@esbuild/aix-ppc64" "0.25.0" - "@esbuild/android-arm" "0.25.0" - "@esbuild/android-arm64" "0.25.0" - "@esbuild/android-x64" "0.25.0" - "@esbuild/darwin-arm64" "0.25.0" - "@esbuild/darwin-x64" "0.25.0" - "@esbuild/freebsd-arm64" "0.25.0" - "@esbuild/freebsd-x64" "0.25.0" - "@esbuild/linux-arm" "0.25.0" - "@esbuild/linux-arm64" "0.25.0" - "@esbuild/linux-ia32" "0.25.0" - "@esbuild/linux-loong64" "0.25.0" - "@esbuild/linux-mips64el" "0.25.0" - "@esbuild/linux-ppc64" "0.25.0" - "@esbuild/linux-riscv64" "0.25.0" - "@esbuild/linux-s390x" "0.25.0" - "@esbuild/linux-x64" "0.25.0" - "@esbuild/netbsd-arm64" "0.25.0" - "@esbuild/netbsd-x64" "0.25.0" - "@esbuild/openbsd-arm64" "0.25.0" - "@esbuild/openbsd-x64" "0.25.0" - "@esbuild/sunos-x64" "0.25.0" - "@esbuild/win32-arm64" "0.25.0" - "@esbuild/win32-ia32" "0.25.0" - "@esbuild/win32-x64" "0.25.0" - -escalade@^3.1.1, escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -eslint-config-prettier@^8.8.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" - integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== - -eslint-config-react-app@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz#73ba3929978001c5c86274c017ea57eb5fa644b4" - integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA== - dependencies: - "@babel/core" "^7.16.0" - "@babel/eslint-parser" "^7.16.3" - "@rushstack/eslint-patch" "^1.1.0" - "@typescript-eslint/eslint-plugin" "^5.5.0" - "@typescript-eslint/parser" "^5.5.0" - babel-preset-react-app "^10.0.1" - confusing-browser-globals "^1.0.11" - eslint-plugin-flowtype "^8.0.3" - eslint-plugin-import "^2.25.3" - eslint-plugin-jest "^25.3.0" - eslint-plugin-jsx-a11y "^6.5.1" - eslint-plugin-react "^7.27.1" - eslint-plugin-react-hooks "^4.3.0" - eslint-plugin-testing-library "^5.0.1" - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.1.1, eslint-module-utils@^2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" - integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== - dependencies: - debug "^3.2.7" - -eslint-plugin-flowtype@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" - integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== - dependencies: - lodash "^4.17.21" - string-natural-compare "^3.0.1" - -eslint-plugin-import@^2.22.1, eslint-plugin-import@^2.25.3: - version "2.31.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" - integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== - dependencies: - "@rtsao/scc" "^1.1.0" - array-includes "^3.1.8" - array.prototype.findlastindex "^1.2.5" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.12.0" - hasown "^2.0.2" - is-core-module "^2.15.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.8" - object.groupby "^1.0.3" - object.values "^1.2.0" - semver "^6.3.1" - string.prototype.trimend "^1.0.8" - tsconfig-paths "^3.15.0" - -eslint-plugin-jest@^25.3.0: - version "25.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" - integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== - dependencies: - "@typescript-eslint/experimental-utils" "^5.0.0" - -eslint-plugin-jsx-a11y@^6.5.1: - version "6.10.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz#d2812bb23bf1ab4665f1718ea442e8372e638483" - integrity sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q== - dependencies: - aria-query "^5.3.2" - array-includes "^3.1.8" - array.prototype.flatmap "^1.3.2" - ast-types-flow "^0.0.8" - axe-core "^4.10.0" - axobject-query "^4.1.0" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - hasown "^2.0.2" - jsx-ast-utils "^3.3.5" - language-tags "^1.0.9" - minimatch "^3.1.2" - object.fromentries "^2.0.8" - safe-regex-test "^1.0.3" - string.prototype.includes "^2.0.1" - -eslint-plugin-mocha@^8.0.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-8.2.0.tgz#1d9724edcef37583921ef853494200c2b8a3730d" - integrity sha512-8oOR47Ejt+YJPNQzedbiklDqS1zurEaNrxXpRs+Uk4DMDPVmKNagShFeUaYsfvWP55AhI+P1non5QZAHV6K78A== - dependencies: - eslint-utils "^2.1.0" - ramda "^0.27.1" - -eslint-plugin-monorepo@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-monorepo/-/eslint-plugin-monorepo-0.3.2.tgz#bc546cbe84b21ae6a7622f261bf9fe73b1524367" - integrity sha512-CypTAqHjTR05XxzqDj7x88oVu2GiqqQA/datD9kIwciHzpj0oE4YbTdyEFFKADgd7dbd21KliSlUpOvo626FBw== - dependencies: - eslint-module-utils "^2.1.1" - get-monorepo-packages "^1.1.0" - globby "^7.1.1" - load-json-file "^4.0.0" - minimatch "^3.0.4" - parse-package-name "^0.1.0" - path-is-inside "^1.0.2" - -eslint-plugin-react-hooks@^4.3.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" - integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== - -eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.32.2: - version "7.37.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz#cd0935987876ba2900df2f58339f6d92305acc7a" - integrity sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w== - dependencies: - array-includes "^3.1.8" - array.prototype.findlast "^1.2.5" - array.prototype.flatmap "^1.3.2" - array.prototype.tosorted "^1.1.4" - doctrine "^2.1.0" - es-iterator-helpers "^1.1.0" - estraverse "^5.3.0" - hasown "^2.0.2" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.8" - object.fromentries "^2.0.8" - object.values "^1.2.0" - prop-types "^15.8.1" - resolve "^2.0.0-next.5" - semver "^6.3.1" - string.prototype.matchall "^4.0.11" - string.prototype.repeat "^1.0.0" - -eslint-plugin-testing-library@^5.0.1: - version "5.11.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz#5b46cdae96d4a78918711c0b4792f90088e62d20" - integrity sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw== - dependencies: - "@typescript-eslint/utils" "^5.58.0" - -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== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -"eslint@^6.0.0 || ^7.0.0 || ^8.0.0", eslint@^8.41.0: - version "8.57.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" - integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.1" - "@humanwhocodes/config-array" "^0.13.0" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -esniff@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" - integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== - dependencies: - d "^1.0.1" - es5-ext "^0.10.62" - event-emitter "^0.3.5" - type "^2.7.2" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" - integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^2.0.2: - 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== - -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== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - -event-pubsub@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" - integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== - -eventemitter3@^4.0.0, eventemitter3@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.1.0, 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== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" - integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -execa@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exif-reader@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/exif-reader/-/exif-reader-2.0.1.tgz#8e4994d5758d1925fab1c73379525effd494dcc4" - integrity sha512-gCQ/86RiAWSjeSlalj1G99IC6XnxbwkvB91HLqhh8somj/YBtC/2xuplvyjDjlfO7NsmYREPPElu/Syuy/H52g== - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw== - dependencies: - homedir-polyfill "^1.0.1" - -exponential-backoff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" - integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== - -express@^4.18.2: - version "4.21.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281" - integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.3" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.7.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~2.0.0" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.3.1" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.3" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.10" - proxy-addr "~2.0.7" - qs "6.13.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.19.0" - serve-static "1.16.2" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -fancy-log@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" - integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== - dependencies: - ansi-gray "^0.1.1" - color-support "^1.1.3" - parse-node-version "^1.0.0" - time-stamp "^1.0.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "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.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-glob@^3.2.12, fast-glob@^3.2.9, fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - 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.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" - integrity sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-shallow-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" - integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw== - -fast-uri@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.3.tgz#892a1c91802d5d7860de728f18608a0573142241" - integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw== - -fastest-levenshtein@^1.0.16: - version "1.0.16" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" - integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== - -fastest-stable-stringify@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz#3757a6774f6ec8de40c4e86ec28ea02417214c76" - integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -fault@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13" - integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== - dependencies: - format "^0.2.0" - -fb-watchman@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fclone@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" - integrity sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw== - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -figures@3.2.0, figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -file-url@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/file-url/-/file-url-3.0.0.tgz#247a586a746ce9f7a8ed05560290968afc262a77" - integrity sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA== - -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -filesize@^10.1.6: - version "10.1.6" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-10.1.6.tgz#31194da825ac58689c0bce3948f33ce83aabd361" - integrity sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -finalhandler@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" - integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== - dependencies: - debug "2.6.9" - encodeurl "~2.0.0" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-elm-dependencies@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/find-elm-dependencies/-/find-elm-dependencies-2.0.4.tgz#0a327fc8c0c0297b54115efbf0a9d6de474cfc89" - integrity sha512-x/4w4fVmlD2X4PD9oQ+yh9EyaQef6OtEULdMGBTuWx0Nkppvo2Z/bAiQioW2n+GdRYKypME2b9OmYTw5tw5qDg== - dependencies: - firstline "^1.2.0" - lodash "^4.17.19" - -find-up@5.0.0, find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-yarn-workspace-root@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" - integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== - dependencies: - micromatch "^4.0.2" - -findup-sync@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" - integrity sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g== - dependencies: - detect-file "^1.0.0" - is-glob "^3.1.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -findup-sync@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -fined@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" - integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== - dependencies: - expand-tilde "^2.0.2" - is-plain-object "^2.0.3" - object.defaults "^1.1.0" - object.pick "^1.2.0" - parse-filepath "^1.0.1" - -firstline@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/firstline/-/firstline-1.3.1.tgz#59e84af0fd858fbc6dac0a0ff97fd22a47e58084" - integrity sha512-ycwgqtoxujz1dm0kjkBFOPQMESxB9uKc/PlD951dQDIG+tBXRpYZC2UmJb0gDxopQ1ZX6oyRQN3goRczYu7Deg== - -flagged-respawn@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" - integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.9: - version "3.3.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27" - integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== - -flow-bin@0.184.0: - version "0.184.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.184.0.tgz#0256b3c302ce465b60d0f0296273840d38d3f9e6" - integrity sha512-HiHuxhO06dqhV7YabluSswm3ZgxVi2L+aArcuIJMON/CRzqkGQrRjIVNbKllMs95rFk6aeuFR3FdVCCUa0SbGw== - -flush-write-stream@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -follow-redirects@^1.0.0, follow-redirects@^1.15.6: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - integrity sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg== - dependencies: - for-in "^1.0.1" - -foreground-child@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" - integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -form-data@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" - integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -format@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" - integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2, fresh@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@9.1.0, fs-extra@^9.0.0, fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^11.1.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0, fs-minipass@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-minipass@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.3.tgz#79a85981c4dc120065e96f62086bf6f9dc26cc54" - integrity sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== - dependencies: - minipass "^7.0.3" - -fs-mkdirp-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" - integrity sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ== - dependencies: - graceful-fs "^4.1.11" - through2 "^2.0.3" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.3.1, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gauge@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" - integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^3.0.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - -gauge@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.2.tgz#7ab44c11181da9766333f10db8cd1e4b17fd6c46" - integrity sha512-pMaFftXPtiGIHCJHdcUUx9Rby/rFT/Kkt3fIIGCs+9PMDIljSyRiqraTlxNtBReJRDfUefpa263RQ3vnp5G/LQ== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^4.0.1" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - -generic-names@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-4.0.0.tgz#0bd8a2fd23fe8ea16cbd0a279acd69c06933d9a3" - integrity sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A== - dependencies: - loader-utils "^3.2.0" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-monorepo-packages@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-monorepo-packages/-/get-monorepo-packages-1.2.0.tgz#3eee88d30b11a5f65955dec6ae331958b2a168e4" - integrity sha512-aDP6tH+eM3EuVSp3YyCutOcFS4Y9AhRRH9FAd+cjtR/g63Hx+DCXdKoP1ViRPUJz5wm+BOEXB4FhoffGHxJ7jQ== - dependencies: - globby "^7.1.1" - load-json-file "^4.0.0" - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-pkg-repo@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" - integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== - dependencies: - "@hutson/parse-repository-url" "^3.0.0" - hosted-git-info "^4.0.0" - through2 "^2.0.0" - yargs "^16.2.0" - -get-port@5.1.1, get-port@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" - integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== - -get-port@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" - integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== - -get-stream@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" - integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== - -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== - dependencies: - call-bind "^1.0.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - -git-raw-commits@^2.0.8: - version "2.0.11" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" - integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== - dependencies: - dargs "^7.0.0" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" - integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== - dependencies: - meow "^8.0.0" - semver "^6.0.0" - -git-up@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467" - integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ== - dependencies: - is-ssh "^1.4.0" - parse-url "^8.1.0" - -git-url-parse@13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-13.1.0.tgz#07e136b5baa08d59fabdf0e33170de425adf07b4" - integrity sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA== - dependencies: - git-up "^7.0.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== - dependencies: - ini "^1.3.2" - -glob-parent@5.1.2, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-stream@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" - integrity sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw== - dependencies: - extend "^3.0.0" - glob "^7.1.1" - glob-parent "^3.1.0" - is-negated-glob "^1.0.0" - ordered-read-streams "^1.0.0" - pumpify "^1.3.5" - readable-stream "^2.1.5" - remove-trailing-separator "^1.0.1" - to-absolute-glob "^2.0.0" - unique-stream "^2.0.2" - -glob-watcher@^5.0.3: - version "5.0.5" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" - integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== - dependencies: - anymatch "^2.0.0" - async-done "^1.2.0" - chokidar "^2.0.0" - is-negated-glob "^1.0.0" - just-debounce "^1.0.0" - normalize-path "^3.0.0" - object.defaults "^1.1.0" - -glob@7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - 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.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@^10.2.2, glob@^10.3.10, glob@^10.3.7: - version "10.4.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" - integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^3.1.2" - minimatch "^9.0.4" - minipass "^7.1.2" - package-json-from-dist "^1.0.0" - path-scurry "^1.11.1" - -glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^8.0.1: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -glob@^9.2.0: - version "9.3.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" - integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== - dependencies: - fs.realpath "^1.0.0" - minimatch "^8.0.2" - minipass "^4.2.4" - path-scurry "^1.6.1" - -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg== - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0, globals@^13.2.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" - integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== - dependencies: - define-properties "^1.2.1" - gopd "^1.0.1" - -globby@11.1.0, globby@^11.0.1, globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - integrity sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g== - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -glogg@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" - integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== - dependencies: - sparkles "^1.0.0" - -glsl-inject-defines@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz#dd1aacc2c17fcb2bd3fc32411c6633d0d7b60fd4" - integrity sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A== - dependencies: - glsl-token-inject-block "^1.0.0" - glsl-token-string "^1.0.1" - glsl-tokenizer "^2.0.2" - -glsl-resolve@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/glsl-resolve/-/glsl-resolve-0.0.1.tgz#894bef73910d792c81b5143180035d0a78af76d3" - integrity sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA== - dependencies: - resolve "^0.6.1" - xtend "^2.1.2" - -glsl-token-assignments@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz#a5d82ab78499c2e8a6b83cb69495e6e665ce019f" - integrity sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ== - -glsl-token-defines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz#cb892aa959936231728470d4f74032489697fa9d" - integrity sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ== - dependencies: - glsl-tokenizer "^2.0.0" - -glsl-token-depth@^1.1.0, glsl-token-depth@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz#23c5e30ee2bd255884b4a28bc850b8f791e95d84" - integrity sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg== - -glsl-token-descope@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz#0fc90ab326186b82f597b2e77dc9e21efcd32076" - integrity sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw== - dependencies: - glsl-token-assignments "^2.0.0" - glsl-token-depth "^1.1.0" - glsl-token-properties "^1.0.0" - glsl-token-scope "^1.1.0" - -glsl-token-inject-block@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz#e1015f5980c1091824adaa2625f1dfde8bd00034" - integrity sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA== - -glsl-token-properties@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz#483dc3d839f0d4b5c6171d1591f249be53c28a9e" - integrity sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA== - -glsl-token-scope@^1.1.0, glsl-token-scope@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz#a1728e78df24444f9cb93fd18ef0f75503a643b1" - integrity sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A== - -glsl-token-string@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/glsl-token-string/-/glsl-token-string-1.0.1.tgz#59441d2f857de7c3449c945666021ece358e48ec" - integrity sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg== - -glsl-token-whitespace-trim@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz#46d1dfe98c75bd7d504c05d7d11b1b3e9cc93b10" - integrity sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ== - -glsl-tokenizer@^2.0.0, glsl-tokenizer@^2.0.2: - version "2.1.5" - resolved "https://registry.yarnpkg.com/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz#1c2e78c16589933c274ba278d0a63b370c5fee1a" - integrity sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA== - dependencies: - through2 "^0.6.3" - -glslify-bundle@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glslify-bundle/-/glslify-bundle-5.1.1.tgz#30d2ddf2e6b935bf44d1299321e3b729782c409a" - integrity sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A== - dependencies: - glsl-inject-defines "^1.0.1" - glsl-token-defines "^1.0.0" - glsl-token-depth "^1.1.1" - glsl-token-descope "^1.0.2" - glsl-token-scope "^1.1.1" - glsl-token-string "^1.0.1" - glsl-token-whitespace-trim "^1.0.0" - glsl-tokenizer "^2.0.2" - murmurhash-js "^1.0.0" - shallow-copy "0.0.1" - -glslify-deps@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/glslify-deps/-/glslify-deps-1.3.2.tgz#c09ee945352bfc07ac2d8a1cc9e3de776328c72b" - integrity sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag== - dependencies: - "@choojs/findup" "^0.2.0" - events "^3.2.0" - glsl-resolve "0.0.1" - glsl-tokenizer "^2.0.0" - graceful-fs "^4.1.2" - inherits "^2.0.1" - map-limit "0.0.1" - resolve "^1.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -graphql-import-macro@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/graphql-import-macro/-/graphql-import-macro-1.0.0.tgz#987c62bdebf5f26c77bb0e67a5f67afd7d0b5f42" - integrity sha512-YK4g6iP60H++MpP93tb0VwOg7aM5iIC0hdSQKTrEDANeLWf0KFAT9dwlBeMDrhY+jcW7qsAEDtaw58cgVnQXAw== - dependencies: - graphql "^15.0.0" - -graphql@^15.0.0: - version "15.9.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.9.0.tgz#4e8ca830cfd30b03d44d3edd9cac2b0690304b53" - integrity sha512-GCOQdvm7XxV1S4U4CGrsdlEN37245eC8P9zaYCMr6K1BG0IPGy5lUwmJsEOGyl1GD6HXjOtl2keCP9asRBwNvA== - -graphviz@^0.0.9: - version "0.0.9" - resolved "https://registry.yarnpkg.com/graphviz/-/graphviz-0.0.9.tgz#0bbf1df588c6a92259282da35323622528c4bbc4" - integrity sha512-SmoY2pOtcikmMCqCSy2NO1YsRfu9OO0wpTlOYW++giGjfX1a6gax/m1Fo8IdUd0/3H15cTOfR1SMKwohj4LKsg== - dependencies: - temp "~0.4.0" - -growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - -gulp-babel@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/gulp-babel/-/gulp-babel-8.0.0.tgz#e0da96f4f2ec4a88dd3a3030f476e38ab2126d87" - integrity sha512-oomaIqDXxFkg7lbpBou/gnUkX51/Y/M2ZfSjL2hdqXTAlSWZcgZtd2o0cOH0r/eE8LWD0+Q/PsLsr2DKOoqToQ== - dependencies: - plugin-error "^1.0.1" - replace-ext "^1.0.0" - through2 "^2.0.0" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-cli@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f" - integrity sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A== - dependencies: - ansi-colors "^1.0.1" - archy "^1.0.0" - array-sort "^1.0.0" - color-support "^1.1.3" - concat-stream "^1.6.0" - copy-props "^2.0.1" - fancy-log "^1.3.2" - gulplog "^1.0.0" - interpret "^1.4.0" - isobject "^3.0.1" - liftoff "^3.1.0" - matchdep "^2.0.0" - mute-stdout "^1.0.0" - pretty-hrtime "^1.0.0" - replace-homedir "^1.0.0" - semver-greatest-satisfied-range "^1.1.0" - v8flags "^3.2.0" - yargs "^7.1.0" - -gulp@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" - integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== - dependencies: - glob-watcher "^5.0.3" - gulp-cli "^2.2.0" - undertaker "^1.2.1" - vinyl-fs "^3.0.0" - -gulplog@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - integrity sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw== - dependencies: - glogg "^1.0.0" - -handlebars@^4.7.7: - version "4.7.8" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" - integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.2" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -has-unicode@2.0.1, has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash-base@~3.0, hash-base@~3.0.4: - version "3.0.5" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.5.tgz#52480e285395cf7fba17dc4c9e47acdc7f248a8a" - integrity sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg== - dependencies: - inherits "^2.0.4" - safe-buffer "^5.2.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -he@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -highlight.js@~10.4.0: - version "10.4.1" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.4.1.tgz#d48fbcf4a9971c4361b3f95f302747afe19dbad0" - integrity sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^3.0.6: - version "3.0.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" - integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== - dependencies: - lru-cache "^6.0.0" - -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - -hosted-git-info@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" - integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== - dependencies: - lru-cache "^7.5.1" - -hosted-git-info@^6.0.0, hosted-git-info@^6.1.1: - version "6.1.3" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.3.tgz#2ee1a14a097a1236bddf8672c35b613c46c55946" - integrity sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw== - dependencies: - lru-cache "^7.5.1" - -html-encoding-sniffer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448" - integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ== - dependencies: - whatwg-encoding "^3.1.1" - -htmlnano@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-2.1.1.tgz#9ba84e145cd8b7cd4c783d9ab8ff46a80e79b59b" - integrity sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw== - dependencies: - cosmiconfig "^9.0.0" - posthtml "^0.16.5" - timsort "^0.3.0" - -htmlparser2@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" - integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.2" - domutils "^2.8.0" - entities "^3.0.1" - -htmlparser2@^9.0.0, htmlparser2@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-9.1.0.tgz#cdb498d8a75a51f739b61d3f718136c369bc8c23" - integrity sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.1.0" - entities "^4.5.0" - -http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http-proxy-agent@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" - integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== - dependencies: - agent-base "^7.1.0" - debug "^4.3.4" - -http-proxy-middleware@^2.0.1: - version "2.0.7" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6" - integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -https-proxy-agent@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" - integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== - dependencies: - agent-base "^7.0.2" - debug "4" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -husky@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/husky/-/husky-6.0.0.tgz#810f11869adf51604c32ea577edbc377d7f9319e" - integrity sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ== - -hyphenate-style-name@^1.0.3: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz#1797bf50369588b47b72ca6d5e65374607cf4436" - integrity sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw== - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@0.6.3, iconv-lite@^0.6.2, iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -idb@^5.0.8: - version "5.0.8" - resolved "https://registry.yarnpkg.com/idb/-/idb-5.0.8.tgz#5f2b72a69267960d222a5f104053625f203fdbb2" - integrity sha512-K9xInRkVbT3ZsYimD2KVj6B4E93IBvOjEQTryu99WuuN7G+7x3SzA79+yubbX0QRN9V64Gi+L+ulG5QYTVydOg== - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore-walk@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776" - integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== - dependencies: - minimatch "^5.0.1" - -ignore-walk@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.5.tgz#ef8d61eab7da169078723d1f82833b36e200b0dd" - integrity sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A== - dependencies: - minimatch "^9.0.0" - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -ignore@^5.0.4, ignore@^5.2.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== - -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== - -immutable@^5.0.2: - version "5.0.3" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.0.3.tgz#aa037e2313ea7b5d400cd9298fa14e404c933db1" - integrity sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw== - -import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" - integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@^1.3.2, ini@^1.3.4: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -init-package-json@3.0.2, init-package-json@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" - integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A== - dependencies: - npm-package-arg "^9.0.1" - promzard "^0.3.0" - read "^1.0.7" - read-package-json "^5.0.0" - semver "^7.3.5" - validate-npm-package-license "^3.0.4" - validate-npm-package-name "^4.0.0" - -inline-style-prefixer@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-7.0.1.tgz#9310f3cfa2c6f3901d1480f373981c02691781e8" - integrity sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw== - dependencies: - css-in-js-utils "^3.1.0" - -inquirer@8.2.4: - version "8.2.4" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" - integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - wrap-ansi "^7.0.0" - -inquirer@^8.2.4: - version "8.2.6" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" - integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - wrap-ansi "^6.0.1" - -internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" - -interpret@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ== - -ip-address@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" - integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== - dependencies: - jsbn "1.1.0" - sprintf-js "^1.1.3" - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - -is-accessor-descriptor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" - integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== - dependencies: - hasown "^2.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== - dependencies: - has-tostringtag "^1.0.0" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5, is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.5.0, is-core-module@^2.8.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" - integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== - dependencies: - hasown "^2.0.2" - -is-data-descriptor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb" - integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== - dependencies: - hasown "^2.0.0" - -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== - dependencies: - is-typed-array "^1.1.13" - -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33" - integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306" - integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-expression@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-4.0.0.tgz#c33155962abf21d0afd2552514d67d2ec16fd2ab" - integrity sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== - dependencies: - acorn "^7.1.1" - object-assign "^4.1.1" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz#d74a7d0c5f3578e34a20729e69202e578d495dc2" - integrity sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA== - dependencies: - call-bind "^1.0.7" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-function@^1.0.10, is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-json@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-json/-/is-json-2.0.1.tgz#6be166d144828a131d686891b983df62c39491ff" - integrity sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA== - -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== - -is-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" - integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== - -is-nan@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-negated-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" - integrity sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug== - -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-inside@^3.0.2, is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -is-potential-custom-element-name@^1.0.1: - version "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-promise@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - -is-regex@^1.0.3, is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== - dependencies: - is-unc-path "^1.0.0" - -is-set@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" - integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== - -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== - dependencies: - call-bind "^1.0.7" - -is-ssh@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" - integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== - dependencies: - protocols "^2.0.1" - -is-stream@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== - dependencies: - text-extensions "^1.0.0" - -is-typed-array@^1.1.13, is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== - dependencies: - unc-path-regex "^0.1.2" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-url@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" - integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== - -is-utf8@^0.2.0, is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== - -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" - integrity sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA== - -is-weakmap@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" - integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" - integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - -is-what@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" - integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== - -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.1.1, is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isbinaryfile@^5.0.2: - version "5.0.4" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-5.0.4.tgz#2a2edefa76cafa66613fe4c1ea52f7f031017bdf" - integrity sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isomorphic-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" - integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== - dependencies: - node-fetch "^2.6.1" - whatwg-fetch "^3.4.1" - -iterator.prototype@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" - integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== - dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" - -jackspeak@^3.1.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" - integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jake@^10.8.5: - version "10.9.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" - integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -jiti@^1.21.6: - version "1.21.6" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" - integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== - -js-cookie@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" - integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== - -js-message@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" - integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== - -js-queue@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.2.tgz#0be590338f903b36c73d33c31883a821412cd482" - integrity sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA== - dependencies: - easy-stack "^1.0.1" - -js-stringify@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" - integrity sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" - integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== - dependencies: - argparse "^2.0.1" - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.10.0, js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" - integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== - -jsdom@^25.0.1: - version "25.0.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-25.0.1.tgz#536ec685c288fc8a5773a65f82d8b44badcc73ef" - integrity sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw== - dependencies: - cssstyle "^4.1.0" - data-urls "^5.0.0" - decimal.js "^10.4.3" - form-data "^4.0.0" - html-encoding-sniffer "^4.0.0" - http-proxy-agent "^7.0.2" - https-proxy-agent "^7.0.5" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.12" - parse5 "^7.1.2" - rrweb-cssom "^0.7.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^5.0.0" - w3c-xmlserializer "^5.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^3.1.1" - whatwg-mimetype "^4.0.0" - whatwg-url "^14.0.0" - ws "^8.18.0" - xml-name-validator "^5.0.0" - -jsesc@^3.0.2, jsesc@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" - integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -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== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-parse-even-better-errors@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz#b43d35e89c0f3be6b5fbbe9dc6c82467b30c28da" - integrity sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stable-stringify@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz#52d4361b47d49168bcc4e564189a42e5a7439454" - integrity sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg== - dependencies: - call-bind "^1.0.5" - isarray "^2.0.5" - jsonify "^0.0.1" - object-keys "^1.1.1" - -json-stringify-nice@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" - integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.2.0, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-parser@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - -jsonparse@^1.2.0, jsonparse@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -jstransformer@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" - integrity sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A== - dependencies: - is-promise "^2.0.0" - promise "^7.0.1" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: - version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -jszip@^3.7.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" - integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== - dependencies: - lie "~3.3.0" - pako "~1.0.2" - readable-stream "~2.3.6" - setimmediate "^1.0.5" - -just-debounce@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf" - integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ== - -just-diff-apply@^5.2.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" - integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== - -just-diff@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" - integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== - -just-extend@^4.0.2: - version "4.2.1" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" - integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -klaw-sync@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" - integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== - dependencies: - graceful-fs "^4.1.11" - -language-subtag-registry@^0.3.20: - version "0.3.23" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#23529e04d9e3b74679d70142df3fd2eb6ec572e7" - integrity sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== - -language-tags@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" - integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== - dependencies: - language-subtag-registry "^0.3.20" - -last-run@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" - integrity sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ== - dependencies: - default-resolution "^2.0.0" - es6-weak-map "^2.0.1" - -launch-editor@^2.3.0: - version "2.9.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.9.1.tgz#253f173bd441e342d4344b4dae58291abb425047" - integrity sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.8.1" - -lazystream@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" - integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== - dependencies: - readable-stream "^2.0.5" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw== - dependencies: - invert-kv "^1.0.0" - -lead@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" - integrity sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow== - dependencies: - flush-write-stream "^1.0.2" - -lerna@^6.6.2: - version "6.6.2" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-6.6.2.tgz#ad921f913aca4e7307123a598768b6f15ca5804f" - integrity sha512-W4qrGhcdutkRdHEaDf9eqp7u4JvI+1TwFy5woX6OI8WPe4PYBdxuILAsvhp614fUG41rKSGDKlOh+AWzdSidTg== - dependencies: - "@lerna/child-process" "6.6.2" - "@lerna/create" "6.6.2" - "@lerna/legacy-package-management" "6.6.2" - "@npmcli/arborist" "6.2.3" - "@npmcli/run-script" "4.1.7" - "@nrwl/devkit" ">=15.5.2 < 16" - "@octokit/plugin-enterprise-rest" "6.0.1" - "@octokit/rest" "19.0.3" - byte-size "7.0.0" - chalk "4.1.0" - clone-deep "4.0.1" - cmd-shim "5.0.0" - columnify "1.6.0" - config-chain "1.1.12" - conventional-changelog-angular "5.0.12" - conventional-changelog-core "4.2.4" - conventional-recommended-bump "6.1.0" - cosmiconfig "7.0.0" - dedent "0.7.0" - dot-prop "6.0.1" - envinfo "^7.7.4" - execa "5.0.0" - fs-extra "9.1.0" - get-port "5.1.1" - get-stream "6.0.0" - git-url-parse "13.1.0" - glob-parent "5.1.2" - globby "11.1.0" - graceful-fs "4.2.10" - has-unicode "2.0.1" - import-local "^3.0.2" - init-package-json "3.0.2" - inquirer "^8.2.4" - is-ci "2.0.0" - is-stream "2.0.0" - js-yaml "^4.1.0" - libnpmaccess "^6.0.3" - libnpmpublish "7.1.4" - load-json-file "6.2.0" - make-dir "3.1.0" - minimatch "3.0.5" - multimatch "5.0.0" - node-fetch "2.6.7" - npm-package-arg "8.1.1" - npm-packlist "5.1.1" - npm-registry-fetch "^14.0.3" - npmlog "^6.0.2" - nx ">=15.5.2 < 16" - p-map "4.0.0" - p-map-series "2.1.0" - p-pipe "3.1.0" - p-queue "6.6.2" - p-reduce "2.1.0" - p-waterfall "2.1.1" - pacote "15.1.1" - pify "5.0.0" - read-cmd-shim "3.0.0" - read-package-json "5.0.1" - resolve-from "5.0.0" - rimraf "^4.4.1" - semver "^7.3.8" - signal-exit "3.0.7" - slash "3.0.0" - ssri "9.0.1" - strong-log-transformer "2.1.0" - tar "6.1.11" - temp-dir "1.0.0" - typescript "^3 || ^4" - upath "^2.0.1" - uuid "8.3.2" - validate-npm-package-license "3.0.4" - validate-npm-package-name "4.0.0" - write-file-atomic "4.0.1" - write-pkg "4.0.0" - yargs "16.2.0" - yargs-parser "20.2.4" - -less@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/less/-/less-4.2.0.tgz#cbefbfaa14a4cd388e2099b2b51f956e1465c450" - integrity sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA== - dependencies: - copy-anything "^2.0.1" - parse-node-version "^1.0.1" - tslib "^2.3.0" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - make-dir "^2.1.0" - mime "^1.4.1" - needle "^3.1.0" - source-map "~0.6.0" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -libnpmaccess@^6.0.3: - version "6.0.4" - resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b" - integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag== - dependencies: - aproba "^2.0.0" - minipass "^3.1.1" - npm-package-arg "^9.0.1" - npm-registry-fetch "^13.0.0" - -libnpmpublish@7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-7.1.4.tgz#a0d138e00e52a0c71ffc82273acf0082fc2dfb36" - integrity sha512-mMntrhVwut5prP4rJ228eEbEyvIzLWhqFuY90j5QeXBCTT2pWSMno7Yo2S2qplPUr02zPurGH4heGLZ+wORczg== - dependencies: - ci-info "^3.6.1" - normalize-package-data "^5.0.0" - npm-package-arg "^10.1.0" - npm-registry-fetch "^14.0.3" - proc-log "^3.0.0" - semver "^7.3.7" - sigstore "^1.4.0" - ssri "^10.0.1" - -lie@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" - integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== - dependencies: - immediate "~3.0.5" - -liftoff@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" - integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== - dependencies: - extend "^3.0.0" - findup-sync "^3.0.0" - fined "^1.0.1" - flagged-respawn "^1.0.0" - is-plain-object "^2.0.4" - object.map "^1.0.0" - rechoir "^0.6.2" - resolve "^1.1.7" - -lightningcss-darwin-arm64@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.28.1.tgz#043c30e2d22ee68beb7f8782e96390821ba8ab34" - integrity sha512-VG3vvzM0m/rguCdm76DdobNeNJnHK+jWcdkNLFWHLh9YCotRvbRIt45JxwcHlIF8TDqWStVLTdghq5NaigVCBQ== - -lightningcss-darwin-x64@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.28.1.tgz#c0f975759af364699fdbd7a4756ac66767ed9767" - integrity sha512-O7ORdislvKfMohFl4Iq7fxKqdJOuuxArcglVI3amuFO5DJ0wfV3Gxgi1JRo49slfr7OVzJQEHLG4muTWYM5cTQ== - -lightningcss-freebsd-x64@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.28.1.tgz#f8eb8b63845a88d32eed71a594cf224f6c7ea4fd" - integrity sha512-b7sF89B31kYYijxVcFO7l5u6UNA862YstNu+3YbLl/IQKzveL4a5cwR5cdpG+OOhErg/c2u9WCmzZoX2I5GBvw== - -lightningcss-linux-arm-gnueabihf@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.28.1.tgz#726dfdb2db6ba3a7bb2169e5724d826cb585a76d" - integrity sha512-p61kXwvhUDLLzkWHjzSFfUBW/F0iy3jr3CWi3k8SKULtJEsJXTI9DqRm9EixxMSe2AMBQBt4auTYiQL4B1N51A== - -lightningcss-linux-arm64-gnu@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.28.1.tgz#9f4e4450617230ea557abb5ffd5d26b2047e9b62" - integrity sha512-iO+fN9hOMmzfwqcG2/BgUtMKD48H2JO/SXU44fyIwpY2veb65QF5xiRrQ9l1FwIxbGK3231KBYCtAqv+xf+NsQ== - -lightningcss-linux-arm64-musl@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.28.1.tgz#9d2561d8a5ecfb3f1f18651da0acc592e837ea3a" - integrity sha512-dnMHeXEmCUzHHZjaDpQBYuBKcN9nPC3nPFKl70bcj5Bkn5EmkcgEqm5p035LKOgvAwk1XwLpQCML6pXmCwz0NQ== - -lightningcss-linux-x64-gnu@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.28.1.tgz#91d0a41d6dd40d8965cb6c1fbd4d40e6b3460384" - integrity sha512-7vWDISaMUn+oo2TwRdf2hl/BLdPxvywv9JKEqNZB/0K7bXwV4XE9wN/C2sAp1gGuh6QBA8lpjF4JIPt3HNlCHA== - -lightningcss-linux-x64-musl@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.28.1.tgz#f1a9d0cafc1eb7ec72ef4f2a3a81b5631060c461" - integrity sha512-IHCu9tVGP+x5BCpA2rF3D04DBokcBza/a8AuHQU+1AiMKubuMegPwcL7RatBgK4ztFHeYnnD5NdhwhRfYMAtNA== - -lightningcss-wasm@^1.22.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-wasm/-/lightningcss-wasm-1.28.1.tgz#27b6ce652f75857c8c4f49dfe5f0f04e462551ff" - integrity sha512-O42K/1ITMW4susEBZChjS/Ys2FZx9wXR3NDlaClyuoymVESe/gKRjgavf4lyZF+YG/XLNPjVkx4uxRZhbjpXKQ== - dependencies: - napi-wasm "^1.0.1" - -lightningcss-win32-arm64-msvc@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.28.1.tgz#c21f7683648a9e4d856737fc22c3eca908c773b6" - integrity sha512-Erm72kHmMg/3h350PTseskz+eEGBM17Fuu79WW2Qqt0BfWSF1jHHc12lkJCWMYl5jcBHPs5yZdgNHtJ7IJS3Uw== - -lightningcss-win32-x64-msvc@1.28.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.28.1.tgz#7afe4f4128bf6b75a570e8585d287040243f7881" - integrity sha512-ZPQtvx+uQBzrSdHH8p4H3M9Alue+x369TPZAA3b4K3d92FPhpZCuBG04+HQzspam9sVeID9mI6f3VRAs2ezaEA== - -lightningcss@^1.22.1: - version "1.28.1" - resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.28.1.tgz#311b44052e4dcb17e31929a584a9a68864a456ed" - integrity sha512-KRDkHlLlNj3DWh79CDt93fPlRJh2W1AuHV0ZSZAMMuN7lqlsZTV5842idfS1urWG8q9tc17velp1gCXhY7sLnQ== - dependencies: - detect-libc "^1.0.3" - optionalDependencies: - lightningcss-darwin-arm64 "1.28.1" - lightningcss-darwin-x64 "1.28.1" - lightningcss-freebsd-x64 "1.28.1" - lightningcss-linux-arm-gnueabihf "1.28.1" - lightningcss-linux-arm64-gnu "1.28.1" - lightningcss-linux-arm64-musl "1.28.1" - lightningcss-linux-x64-gnu "1.28.1" - lightningcss-linux-x64-musl "1.28.1" - lightningcss-win32-arm64-msvc "1.28.1" - lightningcss-win32-x64-msvc "1.28.1" - -lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lilconfig@^3.0.0, lilconfig@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" - integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lines-and-columns@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" - integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== - -linkify-it@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" - integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== - dependencies: - uc.micro "^1.0.1" - -lint-staged@^10.2.11: - version "10.5.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" - integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listenercount@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" - integrity sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ== - -listr2@^3.2.2: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" - -lmdb@2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.8.5.tgz#ce191110c755c0951caa062722e300c703973837" - integrity sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ== - dependencies: - msgpackr "^1.9.5" - node-addon-api "^6.1.0" - node-gyp-build-optional-packages "5.1.1" - ordered-binary "^1.4.1" - weak-lru-cache "^1.2.2" - optionalDependencies: - "@lmdb/lmdb-darwin-arm64" "2.8.5" - "@lmdb/lmdb-darwin-x64" "2.8.5" - "@lmdb/lmdb-linux-arm" "2.8.5" - "@lmdb/lmdb-linux-arm64" "2.8.5" - "@lmdb/lmdb-linux-x64" "2.8.5" - "@lmdb/lmdb-win32-x64" "2.8.5" - -load-json-file@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" - integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== - dependencies: - graceful-fs "^4.1.15" - parse-json "^5.0.0" - strip-bom "^4.0.0" - type-fest "^0.6.0" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-utils@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.3.1.tgz#735b9a19fd63648ca7adbd31c2327dfe281304e5" - integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.0" - -log-symbols@^4.0.0, log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -lolex@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz#ddbd7f6213ca1ea5826901ab1222b65d714b3cd7" - integrity sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg== - -lolex@^5.0.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" - integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== - dependencies: - "@sinonjs/commons" "^1.7.0" - -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowlight@~1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.17.0.tgz#a1143b2fba8239df8cd5893f9fe97aaf8465af4a" - integrity sha512-vmtBgYKD+QVNy7tIa7ulz5d//Il9R4MooOVh4nkOf9R9Cb/Dk5TXMSTieg/vDulkBkIWj59/BIlyFQxT9X1oAQ== - dependencies: - fault "^1.0.0" - highlight.js "~10.4.0" - -lru-cache@^10.0.0, lru-cache@^10.2.0: - version "10.4.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - -magic-string@^0.25.7: - version "0.25.9" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - -make-dir@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: - version "10.2.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" - integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== - dependencies: - agentkeepalive "^4.2.1" - cacache "^16.1.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-fetch "^2.0.3" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.3" - promise-retry "^2.0.1" - socks-proxy-agent "^7.0.0" - ssri "^9.0.0" - -make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz#85ceb98079584a9523d4bf71d32996e7e208549f" - integrity sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== - dependencies: - agentkeepalive "^4.2.1" - cacache "^17.0.0" - http-cache-semantics "^4.1.1" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^7.7.1" - minipass "^5.0.0" - minipass-fetch "^3.0.0" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.3" - promise-retry "^2.0.1" - socks-proxy-agent "^7.0.0" - ssri "^10.0.0" - -make-iterator@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" - integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== - dependencies: - kind-of "^6.0.2" - -map-cache@^0.2.0, map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - -map-limit@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/map-limit/-/map-limit-0.0.1.tgz#eb7961031c0f0e8d001bf2d56fab685d58822f38" - integrity sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg== - dependencies: - once "~1.3.0" - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - -markdown-it@^8.3.1: - version "8.4.2" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54" - integrity sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ== - dependencies: - argparse "^1.0.7" - entities "~1.1.1" - linkify-it "^2.0.0" - mdurl "^1.0.1" - uc.micro "^1.0.5" - -matchdep@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" - integrity sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA== - dependencies: - findup-sync "^2.0.0" - micromatch "^3.0.4" - resolve "^1.4.0" - stack-trace "0.0.10" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -md5@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" - integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== - dependencies: - charenc "0.0.2" - crypt "0.0.2" - is-buffer "~1.1.6" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.28: - version "2.0.28" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" - integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -meow@^8.0.0: - version "8.1.2" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-descriptors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" - integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5, micromatch@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== - -mime-types@2.1.18: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== - dependencies: - mime-db "~1.33.0" - -mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0, mime@^1.3.4, mime@^1.4.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" - integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" - integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@3.1.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1, minimatch@^5.1.0: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^6.1.6: - version "6.2.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.2.0.tgz#2b70fd13294178c69c04dfc05aebdb97a4e79e42" - integrity sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^8.0.2: - version "8.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" - integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.0, minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-fetch@^2.0.3: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" - integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== - dependencies: - minipass "^3.1.6" - minipass-sized "^1.0.3" - minizlib "^2.1.2" - optionalDependencies: - encoding "^0.1.13" - -minipass-fetch@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.5.tgz#f0f97e40580affc4a35cc4a1349f05ae36cb1e4c" - integrity sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg== - dependencies: - minipass "^7.0.3" - minipass-sized "^1.0.3" - minizlib "^2.1.2" - optionalDependencies: - encoding "^0.1.13" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-json-stream@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.2.tgz#5121616c77a11c406c3ffa77509e0b77bb267ec3" - integrity sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg== - dependencies: - jsonparse "^1.3.1" - minipass "^3.0.0" - -minipass-pipeline@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^4.0.0, minipass@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" - integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.3, minipass@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== - -minizlib@^2.1.1, minizlib@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp-infer-owner@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" - integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== - dependencies: - chownr "^2.0.0" - infer-owner "^1.0.4" - mkdirp "^1.0.3" - -"mkdirp@>=0.5 0", mkdirp@^0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" - integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== - -mocha-junit-reporter@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/mocha-junit-reporter/-/mocha-junit-reporter-2.2.1.tgz#739f5595d0f051d07af9d74e32c416e13a41cde5" - integrity sha512-iDn2tlKHn8Vh8o4nCzcUVW4q7iXp7cC4EB78N0cDHIobLymyHNwe0XG8HEHHjc3hJlXm0Vy6zcrxaIhnI2fWmw== - dependencies: - debug "^4.3.4" - md5 "^2.3.0" - mkdirp "^3.0.0" - strip-ansi "^6.0.1" - xml "^1.0.1" - -mocha-multi-reporters@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/mocha-multi-reporters/-/mocha-multi-reporters-1.5.1.tgz#c73486bed5519e1d59c9ce39ac7a9792600e5676" - integrity sha512-Yb4QJOaGLIcmB0VY7Wif5AjvLMUFAdV57D2TWEva1Y0kU/3LjKpeRVmlMIfuO1SVbauve459kgtIizADqxMWPg== - dependencies: - debug "^4.1.1" - lodash "^4.17.15" - -mocha@^8.2.1, mocha@^8.3.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" - integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== - dependencies: - "@ungap/promise-all-settled" "1.1.2" - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.1" - debug "4.3.1" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.1.6" - growl "1.10.5" - he "1.2.0" - js-yaml "4.0.0" - log-symbols "4.0.0" - minimatch "3.0.4" - ms "2.1.3" - nanoid "3.1.20" - serialize-javascript "5.0.1" - strip-json-comments "3.1.1" - supports-color "8.1.1" - which "2.0.2" - wide-align "1.1.3" - workerpool "6.1.0" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - -modify-values@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" - integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -msgpackr-extract@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz#e9d87023de39ce714872f9e9504e3c1996d61012" - integrity sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA== - dependencies: - node-gyp-build-optional-packages "5.2.2" - optionalDependencies: - "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.3" - "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.3" - "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.3" - "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.3" - "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.3" - "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.3" - -msgpackr@^1.9.5, msgpackr@^1.9.9: - version "1.11.2" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.11.2.tgz#4463b7f7d68f2e24865c395664973562ad24473d" - integrity sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g== - optionalDependencies: - msgpackr-extract "^3.0.2" - -multimatch@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" - integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - -murmurhash-js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51" - integrity sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw== - -mute-stdout@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" - integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== - -mute-stream@0.0.8, mute-stream@~0.0.4: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nan@^2.12.1: - version "2.22.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.0.tgz#31bc433fc33213c97bad36404bb68063de604de3" - integrity sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw== - -nano-css@^5.6.2: - version "5.6.2" - resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.6.2.tgz#584884ddd7547278f6d6915b6805069742679a32" - integrity sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - css-tree "^1.1.2" - csstype "^3.1.2" - fastest-stable-stringify "^2.0.2" - inline-style-prefixer "^7.0.1" - rtl-css-js "^1.16.1" - stacktrace-js "^2.0.2" - stylis "^4.3.0" - -nanoid@3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== - -nanoid@^3.1.12, nanoid@^3.3.7: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -napi-wasm@^1.0.1, napi-wasm@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/napi-wasm/-/napi-wasm-1.1.3.tgz#7bb95c88e6561f84880bb67195437b1cfbe99224" - integrity sha512-h/4nMGsHjZDCYmQVNODIrYACVJ+I9KItbG+0si6W/jSjdA9JbWDoU4LLeMXVcEQGHjttI2tuXqDrbGF7qkUHHg== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -ncp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" - integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== - -needle@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/needle/-/needle-3.3.1.tgz#63f75aec580c2e77e209f3f324e2cdf3d29bd049" - integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== - dependencies: - iconv-lite "^0.6.3" - sax "^1.2.4" - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -negotiator@^0.6.3: - version "0.6.4" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" - integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== - -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== - -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -nib@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/nib/-/nib-1.2.0.tgz#cf650a975307edaa8683470430f82ba132bf9f7b" - integrity sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nise@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.3.tgz#9d2cfe37d44f57317766c6e9408a359c5d3ac1f7" - integrity sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ== - dependencies: - "@sinonjs/formatio" "^3.2.1" - "@sinonjs/text-encoding" "^0.7.1" - just-extend "^4.0.2" - lolex "^5.0.1" - path-to-regexp "^1.7.0" - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-addon-api@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" - integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== - -node-addon-api@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" - integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== - -node-elm-compiler@^5.0.5: - version "5.0.6" - resolved "https://registry.yarnpkg.com/node-elm-compiler/-/node-elm-compiler-5.0.6.tgz#d4a6e6c9d9a26dba4211ccd2aeae7d5e34057f0c" - integrity sha512-DWTRQR8b54rvschcZRREdsz7K84lnS8A6YJu8du3QLQ8f204SJbyTaA6NzYYbfUG97OTRKRv/0KZl82cTfpLhA== - dependencies: - cross-spawn "6.0.5" - find-elm-dependencies "^2.0.4" - lodash "^4.17.19" - temp "^0.9.0" - -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.6.1, node-fetch@^2.6.7: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-gyp-build-optional-packages@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz#52b143b9dd77b7669073cbfe39e3f4118bfc603c" - integrity sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw== - dependencies: - detect-libc "^2.0.1" - -node-gyp-build-optional-packages@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz#522f50c2d53134d7f3a76cd7255de4ab6c96a3a4" - integrity sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw== - dependencies: - detect-libc "^2.0.1" - -node-gyp@^9.0.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" - integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== - dependencies: - env-paths "^2.2.0" - exponential-backoff "^3.1.1" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^10.0.3" - nopt "^6.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-ipc@^9.1.4: - version "9.2.1" - resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.2.1.tgz#b32f66115f9d6ce841dc4ec2009d6a733f98bb6b" - integrity sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ== - dependencies: - event-pubsub "4.3.0" - js-message "1.0.7" - js-queue "2.0.2" - -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== - -nopt@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" - integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== - dependencies: - abbrev "^1.0.0" - -nopt@^7.0.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" - integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w== - dependencies: - abbrev "^2.0.0" - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c" - integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg== - dependencies: - hosted-git-info "^5.0.0" - is-core-module "^2.8.1" - semver "^7.3.5" - validate-npm-package-license "^3.0.4" - -normalize-package-data@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-5.0.0.tgz#abcb8d7e724c40d88462b84982f7cbf6859b4588" - integrity sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q== - dependencies: - hosted-git-info "^6.0.0" - is-core-module "^2.8.1" - semver "^7.3.5" - validate-npm-package-license "^3.0.4" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -now-and-later@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" - integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== - dependencies: - once "^1.3.2" - -npm-bundled@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" - integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== - dependencies: - npm-normalize-package-bin "^1.0.1" - -npm-bundled@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.1.tgz#cca73e15560237696254b10170d8f86dad62da25" - integrity sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ== - dependencies: - npm-normalize-package-bin "^3.0.0" - -npm-install-checks@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-6.3.0.tgz#046552d8920e801fa9f919cad569545d60e826fe" - integrity sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw== - dependencies: - semver "^7.1.1" - -npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - -npm-normalize-package-bin@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" - integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== - -npm-normalize-package-bin@^3.0.0, npm-normalize-package-bin@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz#25447e32a9a7de1f51362c61a559233b89947832" - integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== - -npm-package-arg@8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.1.tgz#00ebf16ac395c63318e67ce66780a06db6df1b04" - integrity sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg== - dependencies: - hosted-git-info "^3.0.6" - semver "^7.0.0" - validate-npm-package-name "^3.0.0" - -npm-package-arg@^10.0.0, npm-package-arg@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.1.0.tgz#827d1260a683806685d17193073cc152d3c7e9b1" - integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== - dependencies: - hosted-git-info "^6.0.0" - proc-log "^3.0.0" - semver "^7.3.5" - validate-npm-package-name "^5.0.0" - -npm-package-arg@^9.0.1: - version "9.1.2" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" - integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== - dependencies: - hosted-git-info "^5.0.0" - proc-log "^2.0.1" - semver "^7.3.5" - validate-npm-package-name "^4.0.0" - -npm-packlist@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.1.tgz#79bcaf22a26b6c30aa4dd66b976d69cc286800e0" - integrity sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw== - dependencies: - glob "^8.0.1" - ignore-walk "^5.0.1" - npm-bundled "^1.1.2" - npm-normalize-package-bin "^1.0.1" - -npm-packlist@^7.0.0: - version "7.0.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.4.tgz#033bf74110eb74daf2910dc75144411999c5ff32" - integrity sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q== - dependencies: - ignore-walk "^6.0.0" - -npm-pick-manifest@^8.0.0, npm-pick-manifest@^8.0.1: - version "8.0.2" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz#2159778d9c7360420c925c1a2287b5a884c713aa" - integrity sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg== - dependencies: - npm-install-checks "^6.0.0" - npm-normalize-package-bin "^3.0.0" - npm-package-arg "^10.0.0" - semver "^7.3.5" - -npm-registry-fetch@14.0.3: - version "14.0.3" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz#8545e321c2b36d2c6fe6e009e77e9f0e527f547b" - integrity sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA== - dependencies: - make-fetch-happen "^11.0.0" - minipass "^4.0.0" - minipass-fetch "^3.0.0" - minipass-json-stream "^1.0.1" - minizlib "^2.1.2" - npm-package-arg "^10.0.0" - proc-log "^3.0.0" - -npm-registry-fetch@^13.0.0: - version "13.3.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e" - integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw== - dependencies: - make-fetch-happen "^10.0.6" - minipass "^3.1.6" - minipass-fetch "^2.0.3" - minipass-json-stream "^1.0.1" - minizlib "^2.1.2" - npm-package-arg "^9.0.1" - proc-log "^2.0.0" - -npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0.3: - version "14.0.5" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz#fe7169957ba4986a4853a650278ee02e568d115d" - integrity sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA== - dependencies: - make-fetch-happen "^11.0.0" - minipass "^5.0.0" - minipass-fetch "^3.0.0" - minipass-json-stream "^1.0.1" - minizlib "^2.1.2" - npm-package-arg "^10.0.0" - proc-log "^3.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@6.0.2, npmlog@^6.0.0, npmlog@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" - integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== - dependencies: - are-we-there-yet "^3.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.3" - set-blocking "^2.0.0" - -npmlog@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-7.0.1.tgz#7372151a01ccb095c47d8bf1d0771a4ff1f53ac8" - integrity sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg== - dependencies: - are-we-there-yet "^4.0.0" - console-control-strings "^1.1.0" - gauge "^5.0.0" - set-blocking "^2.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nullthrows@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" - integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== - -nwsapi@^2.2.12: - version "2.2.13" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" - integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== - -nx@15.9.7, "nx@>=15.5.2 < 16": - version "15.9.7" - resolved "https://registry.yarnpkg.com/nx/-/nx-15.9.7.tgz#f0e713cedb8637a517d9c4795c99afec4959a1b6" - integrity sha512-1qlEeDjX9OKZEryC8i4bA+twNg+lB5RKrozlNwWx/lLJHqWPUfvUTvxh+uxlPYL9KzVReQjUuxMLFMsHNqWUrA== - dependencies: - "@nrwl/cli" "15.9.7" - "@nrwl/tao" "15.9.7" - "@parcel/watcher" "2.0.4" - "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "3.0.0-rc.46" - "@zkochan/js-yaml" "0.0.6" - axios "^1.0.0" - chalk "^4.1.0" - cli-cursor "3.1.0" - cli-spinners "2.6.1" - cliui "^7.0.2" - dotenv "~10.0.0" - enquirer "~2.3.6" - fast-glob "3.2.7" - figures "3.2.0" - flat "^5.0.2" - fs-extra "^11.1.0" - glob "7.1.4" - ignore "^5.0.4" - js-yaml "4.1.0" - jsonc-parser "3.2.0" - lines-and-columns "~2.0.3" - minimatch "3.0.5" - npm-run-path "^4.0.1" - open "^8.4.0" - semver "7.5.4" - string-width "^4.2.3" - strong-log-transformer "^2.1.0" - tar-stream "~2.2.0" - tmp "~0.2.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - v8-compile-cache "2.3.0" - yargs "^17.6.2" - yargs-parser "21.1.1" - optionalDependencies: - "@nrwl/nx-darwin-arm64" "15.9.7" - "@nrwl/nx-darwin-x64" "15.9.7" - "@nrwl/nx-linux-arm-gnueabihf" "15.9.7" - "@nrwl/nx-linux-arm64-gnu" "15.9.7" - "@nrwl/nx-linux-arm64-musl" "15.9.7" - "@nrwl/nx-linux-x64-gnu" "15.9.7" - "@nrwl/nx-linux-x64-musl" "15.9.7" - "@nrwl/nx-win32-arm64-msvc" "15.9.7" - "@nrwl/nx-win32-x64-msvc" "15.9.7" - -object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.13.1, object-inspect@^1.13.3: - version "1.13.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" - integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== - -object-is@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" - integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - -object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.defaults@^1.0.0, object.defaults@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" - integrity sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA== - dependencies: - array-each "^1.0.1" - array-slice "^1.0.0" - for-own "^1.0.0" - isobject "^3.0.0" - -object.entries@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" - integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -object.fromentries@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" - integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.groupby@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" - integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - -object.map@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" - integrity sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w== - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - -object.pick@^1.2.0, object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - -object.reduce@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" - integrity sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw== - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - -object.values@^1.1.6, object.values@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - -once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -once@~1.3.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - integrity sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^7.0.3, open@^7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" - integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -open@^8.4.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -ora@^5.2.0, ora@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" - integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== - dependencies: - bl "^4.1.0" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - is-unicode-supported "^0.1.0" - log-symbols "^4.1.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -ordered-binary@^1.4.1: - version "1.5.3" - resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.5.3.tgz#8bee2aa7a82c3439caeb1e80c272fd4cf51170fb" - integrity sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA== - -ordered-read-streams@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" - integrity sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw== - dependencies: - readable-stream "^2.0.1" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - integrity sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g== - dependencies: - lcid "^1.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -os@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/os/-/os-0.1.1.tgz#208845e89e193ad4d971474b93947736a56d13f3" - integrity sha512-jg06S2xr5De63mLjZVJDf3/k37tpjppr2LR7MUOsxv8XuUCVpCnvbCksXCBcB5gQqQf/K0+87WGTRlAj5q7r1A== - -osenv@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map-series@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" - integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== - -p-map@4.0.0, p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-pipe@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" - integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== - -p-queue@6.6.2: - version "6.6.2" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" - integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== - dependencies: - eventemitter3 "^4.0.4" - p-timeout "^3.2.0" - -p-reduce@2.1.0, p-reduce@^2.0.0, p-reduce@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" - integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== - -p-timeout@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -p-waterfall@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee" - integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== - dependencies: - p-reduce "^2.0.0" - -package-json-from-dist@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" - integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== - -pacote@15.1.1: - version "15.1.1" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.1.1.tgz#94d8c6e0605e04d427610b3aacb0357073978348" - integrity sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ== - dependencies: - "@npmcli/git" "^4.0.0" - "@npmcli/installed-package-contents" "^2.0.1" - "@npmcli/promise-spawn" "^6.0.1" - "@npmcli/run-script" "^6.0.0" - cacache "^17.0.0" - fs-minipass "^3.0.0" - minipass "^4.0.0" - npm-package-arg "^10.0.0" - npm-packlist "^7.0.0" - npm-pick-manifest "^8.0.0" - npm-registry-fetch "^14.0.0" - proc-log "^3.0.0" - promise-retry "^2.0.1" - read-package-json "^6.0.0" - read-package-json-fast "^3.0.0" - sigstore "^1.0.0" - ssri "^10.0.0" - tar "^6.1.11" - -pacote@^15.0.0, pacote@^15.0.8: - version "15.2.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.2.0.tgz#0f0dfcc3e60c7b39121b2ac612bf8596e95344d3" - integrity sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA== - dependencies: - "@npmcli/git" "^4.0.0" - "@npmcli/installed-package-contents" "^2.0.1" - "@npmcli/promise-spawn" "^6.0.1" - "@npmcli/run-script" "^6.0.0" - cacache "^17.0.0" - fs-minipass "^3.0.0" - minipass "^5.0.0" - npm-package-arg "^10.0.0" - npm-packlist "^7.0.0" - npm-pick-manifest "^8.0.0" - npm-registry-fetch "^14.0.0" - proc-log "^3.0.0" - promise-retry "^2.0.1" - read-package-json "^6.0.0" - read-package-json-fast "^3.0.0" - sigstore "^1.3.0" - ssri "^10.0.0" - tar "^6.1.11" - -pako@~1.0.2, pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06" - integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== - dependencies: - asn1.js "^4.10.1" - browserify-aes "^1.2.0" - evp_bytestokey "^1.0.3" - hash-base "~3.0" - pbkdf2 "^3.1.2" - safe-buffer "^5.2.1" - -parse-conflict-json@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz#67dc55312781e62aa2ddb91452c7606d1969960c" - integrity sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw== - dependencies: - json-parse-even-better-errors "^3.0.0" - just-diff "^6.0.0" - just-diff-apply "^5.2.0" - -parse-filepath@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" - integrity sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q== - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.1.1" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-node-version@^1.0.0, parse-node-version@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== - -parse-package-name@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/parse-package-name/-/parse-package-name-0.1.0.tgz#3f44dd838feb4c2be4bf318bae4477d7706bade4" - integrity sha512-OT2+32knn014ggXMpGjZeHHsTYwOvHmRAMFtVBZstWAnR4UVIOw+JOhWZUCv5JwZQAMiisfdF2K5SyGI5OXXIg== - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== - -parse-path@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b" - integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== - dependencies: - protocols "^2.0.0" - -parse-semver@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/parse-semver/-/parse-semver-1.1.1.tgz#9a4afd6df063dc4826f93fba4a99cf223f666cb8" - integrity sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ== - dependencies: - semver "^5.1.0" - -parse-url@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d" - integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w== - dependencies: - parse-path "^7.0.0" - -parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b" - integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g== - dependencies: - domhandler "^5.0.3" - parse5 "^7.0.0" - -parse5-parser-stream@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz#d7c20eadc37968d272e2c02660fff92dd27e60e1" - integrity sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow== - dependencies: - parse5 "^7.0.0" - -parse5@^7.0.0, parse5@^7.1.2: - version "7.2.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.2.1.tgz#8928f55915e6125f430cc44309765bf17556a33a" - integrity sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ== - dependencies: - entities "^4.5.0" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - -patch-package@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-8.0.0.tgz#d191e2f1b6e06a4624a0116bcb88edd6714ede61" - integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA== - dependencies: - "@yarnpkg/lockfile" "^1.1.0" - chalk "^4.1.2" - ci-info "^3.7.0" - cross-spawn "^7.0.3" - find-yarn-workspace-root "^2.0.0" - fs-extra "^9.0.0" - json-stable-stringify "^1.0.2" - klaw-sync "^6.0.0" - minimist "^1.2.6" - open "^7.4.2" - rimraf "^2.6.3" - semver "^7.5.3" - slash "^2.0.0" - tmp "^0.0.33" - yaml "^2.2.2" - -path-browserify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-is-inside@1.0.2, path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== - -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ== - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg== - dependencies: - path-root-regex "^0.1.0" - -path-scurry@^1.11.1, path-scurry@^1.6.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" - integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -path-to-regexp@0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" - integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== - -path-to-regexp@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-3.3.0.tgz#f7f31d32e8518c2660862b644414b6d5c63a611b" - integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== - -path-to-regexp@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" - integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== - dependencies: - isarray "0.0.1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0, picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@5.0.0, pify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== - -pirates@^4.0.0, pirates@^4.0.1, pirates@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -please-upgrade-node@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -plugin-error@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" - integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA== - dependencies: - ansi-colors "^1.0.1" - arr-diff "^4.0.0" - arr-union "^3.1.0" - extend-shallow "^3.0.2" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -postcss-calc@^10.0.2: - version "10.0.2" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-10.0.2.tgz#15f01635a27b9d38913a98c4ef2877f5b715b439" - integrity sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg== - dependencies: - postcss-selector-parser "^6.1.2" - postcss-value-parser "^4.2.0" - -postcss-colormin@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-7.0.2.tgz#6f3c53c13158168669f45adc3926f35cb240ef8e" - integrity sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA== - dependencies: - browserslist "^4.23.3" - caniuse-api "^3.0.0" - colord "^2.9.3" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz#fc13ecedded6365f3c794b502dbcf77d298da12c" - integrity sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q== - dependencies: - browserslist "^4.23.3" - postcss-value-parser "^4.2.0" - -postcss-custom-properties@^12.1.2: - version "12.1.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz#d14bb9b3989ac4d40aaa0e110b43be67ac7845cf" - integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz#9c414e8ee99d3514ad06a3465ccc20ec1dbce780" - integrity sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA== - dependencies: - postcss-selector-parser "^6.1.2" - -postcss-discard-duplicates@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz#f87f2fe47d8f01afb1e98361c1db3ce1e8afd1a3" - integrity sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ== - -postcss-discard-empty@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz#218829d1ef0a5d5142dd62f0aa60e00e599d2033" - integrity sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA== - -postcss-discard-overridden@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz#b123ea51e3d4e1d0a254cf71eaff1201926d319c" - integrity sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w== - -postcss-import@^15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" - integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-import@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-16.1.0.tgz#258732175518129667fe1e2e2a05b19b5654b96a" - integrity sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-js@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" - integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== - dependencies: - camelcase-css "^2.0.1" - -postcss-load-config@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" - integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== - dependencies: - lilconfig "^3.0.0" - yaml "^2.3.4" - -postcss-merge-longhand@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz#a52d0662b4b29420f3b64a8d5b0ac5133d8db776" - integrity sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^7.0.4" - -postcss-merge-rules@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz#648cc864d3121e6ec72c2a4f08df1cc801e60ce8" - integrity sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg== - dependencies: - browserslist "^4.23.3" - caniuse-api "^3.0.0" - cssnano-utils "^5.0.0" - postcss-selector-parser "^6.1.2" - -postcss-minify-font-values@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz#d16a75a2548e000779566b3568fc874ee5d0aa17" - integrity sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz#f6d84456e6d49164a55d0e45bb1b1809c6cf0959" - integrity sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg== - dependencies: - colord "^2.9.3" - cssnano-utils "^5.0.0" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz#264a76e25f202d8b5ca5290569c0e8c3ac599dfe" - integrity sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ== - dependencies: - browserslist "^4.23.3" - cssnano-utils "^5.0.0" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz#2b69c99ec48a1c223fce4840609d9c53340a11f5" - integrity sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA== - dependencies: - cssesc "^3.0.0" - postcss-selector-parser "^6.1.2" - -postcss-modules-extract-imports@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" - integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== - -postcss-modules-local-by-default@^4.0.5: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz#b0db6bc81ffc7bdc52eb0f84d6ca0bedf0e36d21" - integrity sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^7.0.0" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" - integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== - dependencies: - postcss-selector-parser "^7.0.0" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-modules@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-6.0.1.tgz#e3e895918c060c14fa6a22f84ba14a4286f436a5" - integrity sha512-zyo2sAkVvuZFFy0gc2+4O+xar5dYlaVy/ebO24KT0ftk/iJevSNyPyQellsBLlnccwh7f6V6Y4GvuKRYToNgpQ== - dependencies: - generic-names "^4.0.0" - icss-utils "^5.1.0" - lodash.camelcase "^4.3.0" - postcss-modules-extract-imports "^3.1.0" - postcss-modules-local-by-default "^4.0.5" - postcss-modules-scope "^3.2.0" - postcss-modules-values "^4.0.0" - string-hash "^1.1.3" - -postcss-nested@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" - integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== - dependencies: - postcss-selector-parser "^6.1.1" - -postcss-normalize-charset@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz#92244ae73c31bf8f8885d5f16ff69e857ac6c001" - integrity sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ== - -postcss-normalize-display-values@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz#01fb50e5e97ef8935363629bea5a6d3b3aac1342" - integrity sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz#4eebd7c9d3dde40c97b8047cad38124fc844c463" - integrity sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz#0cb784655d5714d29bd3bda6dee2fb628aa7227b" - integrity sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz#a119d3e63a9614570d8413d572fb9fc8c6a64e8c" - integrity sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz#99d0ee8c4b23b7f4355fafb91385833b9b07108b" - integrity sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz#095f8d36ea29adfdf494069c1de101112992a713" - integrity sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg== - dependencies: - browserslist "^4.23.3" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz#c88cb7cf8952d3ff631e4eba924e7b060ca802f6" - integrity sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz#46b025f0bea72139ddee63015619b0c21cebd845" - integrity sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-ordered-values@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz#8b4b5b8070ca7756bd49f07d5edf274b8f6782e0" - integrity sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw== - dependencies: - cssnano-utils "^5.0.0" - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz#3dc085347a5943e18547d4b0aa5bd4ff5a93b2c5" - integrity sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA== - dependencies: - browserslist "^4.23.3" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz#0386080a14e5faad9f8eda33375b79fe7c4f9677" - integrity sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" - integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-selector-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz#41bd8b56f177c093ca49435f65731befe25d6b9c" - integrity sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-7.0.1.tgz#2b63571d8e9568384df334bac9917baff4d23f58" - integrity sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^3.3.2" - -postcss-unique-selectors@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz#483fc11215b23d517d5d9bbe5833d9915619ca33" - integrity sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g== - dependencies: - postcss-selector-parser "^6.1.2" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.1.10, postcss@^8.4.47, postcss@^8.4.5: - version "8.4.49" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" - integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== - dependencies: - nanoid "^3.3.7" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -posthtml-expressions@^1.7.1: - version "1.11.4" - resolved "https://registry.yarnpkg.com/posthtml-expressions/-/posthtml-expressions-1.11.4.tgz#eb86666de10940268a74fe0f3fb62d3f7607b5de" - integrity sha512-tJI6KhKLcePRO0/i4d01MNXfcaBa2jIu4MuVLixvGwCRzxdY2D7LLm17ijNyQNQu3xOhCffBLtUMju0K64smmQ== - dependencies: - fclone "^1.0.11" - posthtml "^0.16.5" - posthtml-match-helper "^1.0.1" - posthtml-parser "^0.10.0" - posthtml-render "^3.0.0" - -posthtml-include@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/posthtml-include/-/posthtml-include-2.0.1.tgz#cefd729dcd53eeb86da767ca3005fbb892180cf2" - integrity sha512-1YXy4QWeJldosTKLPz6ecbI4e26jHmo3R97NNTKMQqITvZOY025+yvX/RUgvcD1VghLeACs0Y2P3GjtJo5s27Q== - dependencies: - posthtml "^0.16.6" - posthtml-expressions "^1.7.1" - posthtml-parser "^0.11.0" - -posthtml-match-helper@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/posthtml-match-helper/-/posthtml-match-helper-1.0.4.tgz#b8f384179732cb5d5e060b9dd1945a2352eb6a44" - integrity sha512-Tj9orTIBxHdnraCxoEGjoizsFsTGvukzwcuhOjYQGmDG6gTlaRbMrGgi1J+FwKTN8hsCQENHYY0Deqs9a89BVg== - -posthtml-obfuscate@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/posthtml-obfuscate/-/posthtml-obfuscate-0.1.5.tgz#d65f6642c96349002d33a2208845b2f7517d0fc8" - integrity sha512-QoAD5sqGKKYDFmQXHSBuAxwDpMBDBJ1hF3RnWgydrgucpkzwn8ygRp1AZn/RPDueuWbx/jVPCX7Tmb60xEymog== - -posthtml-parser@^0.10.0: - version "0.10.2" - resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.10.2.tgz#df364d7b179f2a6bf0466b56be7b98fd4e97c573" - integrity sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg== - dependencies: - htmlparser2 "^7.1.1" - -posthtml-parser@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.11.0.tgz#25d1c7bf811ea83559bc4c21c189a29747a24b7a" - integrity sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw== - dependencies: - htmlparser2 "^7.1.1" - -posthtml-parser@^0.12.1: - version "0.12.1" - resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.12.1.tgz#f29cc2eec3e6dd0bb99ac169f49963515adbff21" - integrity sha512-rYFmsDLfYm+4Ts2Oh4DCDSZPtdC1BLnRXAobypVzX9alj28KGl65dIFtgDY9zB57D0TC4Qxqrawuq/2et1P0GA== - dependencies: - htmlparser2 "^9.0.0" - -posthtml-render@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-3.0.0.tgz#97be44931496f495b4f07b99e903cc70ad6a3205" - integrity sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA== - dependencies: - is-json "^2.0.1" - -posthtml@^0.16.5, posthtml@^0.16.6: - version "0.16.6" - resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.16.6.tgz#e2fc407f67a64d2fa3567afe770409ffdadafe59" - integrity sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ== - dependencies: - posthtml-parser "^0.11.0" - posthtml-render "^3.0.0" - -preact@^10.26.4: - version "10.26.4" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.26.4.tgz#b514f4249453a4247c82ff6d1267d59b7d78f9f9" - integrity sha512-KJhO7LBFTjP71d83trW+Ilnjbo+ySsaAgCfXOXUlmGzJ4ygYPWmysm77yg4emwfmoz3b22yvH5IsVFHbhUaH5w== - -preact@^10.5.9: - version "10.25.0" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.25.0.tgz#22a1c93ce97336c5d01d74f363433ab0cd5cde64" - integrity sha512-6bYnzlLxXV3OSpUxLdaxBmE7PMOu0aR3pG6lryK/0jmvcDFPlcXGQAt5DpK3RITWiDrfYZRI0druyaK/S9kYLg== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - -prettier@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" - integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== - -pretty-format@29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c" - integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA== - dependencies: - "@jest/schemas" "^29.4.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== - -proc-log@^2.0.0, proc-log@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" - integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== - -proc-log@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" - integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -promise-all-reject-late@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" - integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== - -promise-call-limit@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.2.tgz#f64b8dd9ef7693c9c7613e7dfe8d6d24de3031ea" - integrity sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - -promise@^7.0.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -promzard@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" - integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== - dependencies: - read "1" - -prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== - -protocols@^2.0.0, protocols@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" - integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -ps-node@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ps-node/-/ps-node-0.1.6.tgz#9af67a99d7b1d0132e51a503099d38a8d2ace2c3" - integrity sha512-w7QJhUTbu70hpDso0YXDRNKCPNuchV8UTUZsAv0m7Qj5g85oHOJfr9drA1EjvK4nQK/bG8P97W4L6PJ3IQLoOA== - dependencies: - table-parser "^0.1.3" - -public-encrypt@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pug-attrs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-3.0.0.tgz#b10451e0348165e31fad1cc23ebddd9dc7347c41" - integrity sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== - dependencies: - constantinople "^4.0.1" - js-stringify "^1.0.2" - pug-runtime "^3.0.0" - -pug-code-gen@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-3.0.3.tgz#58133178cb423fe1716aece1c1da392a75251520" - integrity sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw== - dependencies: - constantinople "^4.0.1" - doctypes "^1.1.0" - js-stringify "^1.0.2" - pug-attrs "^3.0.0" - pug-error "^2.1.0" - pug-runtime "^3.0.1" - void-elements "^3.1.0" - with "^7.0.0" - -pug-error@^2.0.0, pug-error@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-2.1.0.tgz#17ea37b587b6443d4b8f148374ec27b54b406e55" - integrity sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg== - -pug-filters@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-4.0.0.tgz#d3e49af5ba8472e9b7a66d980e707ce9d2cc9b5e" - integrity sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== - dependencies: - constantinople "^4.0.1" - jstransformer "1.0.0" - pug-error "^2.0.0" - pug-walk "^2.0.0" - resolve "^1.15.1" - -pug-lexer@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-5.0.1.tgz#ae44628c5bef9b190b665683b288ca9024b8b0d5" - integrity sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== - dependencies: - character-parser "^2.2.0" - is-expression "^4.0.0" - pug-error "^2.0.0" - -pug-linker@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-4.0.0.tgz#12cbc0594fc5a3e06b9fc59e6f93c146962a7708" - integrity sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== - dependencies: - pug-error "^2.0.0" - pug-walk "^2.0.0" - -pug-load@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-3.0.0.tgz#9fd9cda52202b08adb11d25681fb9f34bd41b662" - integrity sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== - dependencies: - object-assign "^4.1.1" - pug-walk "^2.0.0" - -pug-parser@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-6.0.0.tgz#a8fdc035863a95b2c1dc5ebf4ecf80b4e76a1260" - integrity sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== - dependencies: - pug-error "^2.0.0" - token-stream "1.0.0" - -pug-runtime@^3.0.0, pug-runtime@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-3.0.1.tgz#f636976204723f35a8c5f6fad6acda2a191b83d7" - integrity sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== - -pug-strip-comments@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz#f94b07fd6b495523330f490a7f554b4ff876303e" - integrity sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== - dependencies: - pug-error "^2.0.0" - -pug-walk@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-2.0.0.tgz#417aabc29232bb4499b5b5069a2b2d2a24d5f5fe" - integrity sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== - -pug@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/pug/-/pug-3.0.3.tgz#e18324a314cd022883b1e0372b8af3a1a99f7597" - integrity sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g== - dependencies: - pug-code-gen "^3.0.3" - pug-filters "^4.0.0" - pug-lexer "^5.0.1" - pug-linker "^4.0.0" - pug-load "^3.0.0" - pug-parser "^6.0.0" - pug-runtime "^3.0.1" - pug-strip-comments "^2.0.0" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8" - integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.5: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -q@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== - -qs@6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" - integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== - dependencies: - side-channel "^1.0.6" - -qs@^6.12.3: - version "6.13.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.1.tgz#3ce5fc72bd3a8171b85c99b93c65dd20b7d1b16e" - integrity sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg== - dependencies: - side-channel "^1.0.6" - -querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -ramda@^0.27.1: - version "0.27.2" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.2.tgz#84463226f7f36dc33592f6f4ed6374c48306c3f1" - integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, 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" - -randomfill@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-dom@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.2" - -react-dom@^19, react-dom@^19.1.0: - version "19.1.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.0.tgz#133558deca37fa1d682708df8904b25186793623" - integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== - dependencies: - scheduler "^0.26.0" - -react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -"react-refresh@>=0.9 <=0.16": - version "0.16.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.16.0.tgz#e7d45625f05c9709466d09348a25d22f79b2ad23" - integrity sha512-FPvF2XxTSikpJxcr+bHut2H4gJ17+18Uy20D5/F+SKzFap62R3cM5wH6b8WN3LyGSYeQilLEcJcR1fjBSI2S1A== - -react-resizable-panels@^0.0.61: - version "0.0.61" - resolved "https://registry.yarnpkg.com/react-resizable-panels/-/react-resizable-panels-0.0.61.tgz#2260ec8ca591431d367d172bced49733cc3308aa" - integrity sha512-Vk2a4LEHWkI6hGPnPmXxa/2twLYMAMMUTyA2PtR1ijvH2Nkg/AhGqrPsIi/eI85uVWtYCFNZKEsbR3uGuJl/yg== - -react-server-dom-parcel@^19.1.0: - version "19.1.0" - resolved "https://registry.yarnpkg.com/react-server-dom-parcel/-/react-server-dom-parcel-19.1.0.tgz#775ff6eb18b8da02af58c5ea7df06cedab7c0729" - integrity sha512-JkfPt/yV1ru8J1CTM0PD74HZZRQTjdoTU5eg2r6Xjn/TmFRS2J/4QsKdwu2X8NsA+ADnPHI8wKCgBh1HCmRr/A== - -react-universal-interface@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" - integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== - -react-use@^17.4.0: - version "17.5.1" - resolved "https://registry.yarnpkg.com/react-use/-/react-use-17.5.1.tgz#19fc2ae079775d8450339e9fa8dbe25b17f2263c" - integrity sha512-LG/uPEVRflLWMwi3j/sZqR00nF6JGqTTDblkXK2nzXsIvij06hXl1V/MZIlwj1OKIQUtlh1l9jK8gLsRyCQxMg== - dependencies: - "@types/js-cookie" "^2.2.6" - "@xobotyi/scrollbar-width" "^1.9.5" - copy-to-clipboard "^3.3.1" - fast-deep-equal "^3.1.3" - fast-shallow-equal "^1.0.0" - js-cookie "^2.2.1" - nano-css "^5.6.2" - react-universal-interface "^0.6.2" - resize-observer-polyfill "^1.5.1" - screenfull "^5.1.0" - set-harmonic-interval "^1.0.1" - throttle-debounce "^3.0.1" - ts-easing "^0.2.0" - tslib "^2.1.0" - -react@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== - dependencies: - loose-envify "^1.1.0" - -react@^19, react@^19.1.0: - version "19.1.0" - resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75" - integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -read-cmd-shim@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz#62b8c638225c61e6cc607f8f4b779f3b8238f155" - integrity sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog== - -read-cmd-shim@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb" - integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== - -read-package-json-fast@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" - integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== - dependencies: - json-parse-even-better-errors "^2.3.0" - npm-normalize-package-bin "^1.0.1" - -read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" - integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== - dependencies: - json-parse-even-better-errors "^3.0.0" - npm-normalize-package-bin "^3.0.0" - -read-package-json@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26" - integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg== - dependencies: - glob "^8.0.1" - json-parse-even-better-errors "^2.3.1" - normalize-package-data "^4.0.0" - npm-normalize-package-bin "^1.0.1" - -read-package-json@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" - integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== - dependencies: - glob "^8.0.1" - json-parse-even-better-errors "^2.3.1" - normalize-package-data "^4.0.0" - npm-normalize-package-bin "^2.0.0" - -read-package-json@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-6.0.4.tgz#90318824ec456c287437ea79595f4c2854708836" - integrity sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw== - dependencies: - glob "^10.2.2" - json-parse-even-better-errors "^3.0.0" - normalize-package-data "^5.0.0" - npm-normalize-package-bin "^3.0.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8" - integrity sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg== - dependencies: - find-up "^3.0.0" - read-pkg "^5.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.0.0, read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -read@1, read@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== - dependencies: - mute-stream "~0.0.4" - -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -"readable-stream@>=1.0.33-1 <1.1.0-0": - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@^2.3.8, readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.2.tgz#388fccb8b75665da3abffe2d8f8ed59fe74c230a" - integrity sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA== - -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -reflect.getprototypeof@^1.0.4, reflect.getprototypeof@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz#04311b33a1b713ca5eb7b5aed9950a86481858e5" - integrity sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - which-builtin-type "^1.1.4" - -regenerate-unicode-properties@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" - integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.14.0, regenerator-runtime@^0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.5.2, regexp.prototype.flags@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" - integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-errors "^1.3.0" - set-function-name "^2.0.2" - -regexpu-core@^6.1.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" - integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.2.0" - regjsgen "^0.8.0" - regjsparser "^0.12.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsgen@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" - integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== - -regjsparser@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" - integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== - dependencies: - jsesc "~3.0.2" - -remove-bom-buffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" - integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== - dependencies: - is-buffer "^1.1.5" - is-utf8 "^0.2.1" - -remove-bom-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" - integrity sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA== - dependencies: - remove-bom-buffer "^3.0.0" - safe-buffer "^5.1.0" - through2 "^2.0.3" - -remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" - integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== - -replace-homedir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" - integrity sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg== - dependencies: - homedir-polyfill "^1.0.1" - is-absolute "^1.0.0" - remove-trailing-separator "^1.1.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg== - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - -resolve-from@5.0.0, resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-options@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" - integrity sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A== - dependencies: - value-or-function "^3.0.0" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - -resolve@^0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.6.3.tgz#dd957982e7e736debdf53b58a4dd91754575dd46" - integrity sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg== - -resolve@^1.0.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.19.0, resolve@^1.22.4, resolve@^1.22.8, resolve@^1.4.0: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.5: - version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfdc@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" - integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== - -rimraf@2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rimraf@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755" - integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og== - dependencies: - glob "^9.2.0" - -rimraf@^5.0.5: - version "5.0.10" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.10.tgz#23b9843d3dc92db71f96e1a2ce92e39fd2a8221c" - integrity sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== - dependencies: - glob "^10.3.7" - -rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rrweb-cssom@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b" - integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg== - -rsc-html-stream@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/rsc-html-stream/-/rsc-html-stream-0.0.5.tgz#3bf1ba2181c2f269b3541310ac83d7deef56d3c9" - integrity sha512-UhLsi8XLAu1NIBcFZjykoPiSLEAxfkGxkmr/Tnv4KnqhG18A65dVTCWovRvFdpzng6IyVW2f6nTAKz7lw+QhgQ== - -rtl-css-js@^1.16.1: - version "1.16.1" - resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.16.1.tgz#4b48b4354b0ff917a30488d95100fbf7219a3e80" - integrity sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg== - dependencies: - "@babel/runtime" "^7.1.2" - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^7.5.1, rxjs@^7.5.5: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.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.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-regex "^1.1.4" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sass@^1.38.0: - version "1.81.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.81.0.tgz#a9010c0599867909dfdbad057e4a6fbdd5eec941" - integrity sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA== - dependencies: - chokidar "^4.0.0" - immutable "^5.0.2" - source-map-js ">=0.6.2 <2.0.0" - optionalDependencies: - "@parcel/watcher" "^2.4.1" - -sax@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" - integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== - -sax@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.2: - version "0.23.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== - dependencies: - loose-envify "^1.1.0" - -scheduler@^0.26.0: - version "0.26.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337" - integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== - -screenfull@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" - integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== - -semver-greatest-satisfied-range@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" - integrity sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ== - dependencies: - sver-compat "^1.5.0" - -"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.5.0, semver@^5.6.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@7.3.8: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - -semver@7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.6.3: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -send@0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" - integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - -serve-handler@^6.0.0: - version "6.1.6" - resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.6.tgz#50803c1d3e947cd4a341d617f8209b22bd76cfa1" - integrity sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ== - dependencies: - bytes "3.0.0" - content-disposition "0.5.2" - mime-types "2.1.18" - minimatch "3.1.2" - path-is-inside "1.0.2" - path-to-regexp "3.3.0" - range-parser "1.2.0" - -serve-static@1.16.2: - version "1.16.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" - integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== - dependencies: - encodeurl "~2.0.0" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.19.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -set-function-name@^2.0.1, set-function-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - -set-harmonic-interval@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" - integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4, setimmediate@^1.0.5, setimmediate@~1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shallow-copy@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" - integrity sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw== - -sharp@^0.33.5: - version "0.33.5" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e" - integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== - dependencies: - color "^4.2.3" - detect-libc "^2.0.3" - semver "^7.6.3" - optionalDependencies: - "@img/sharp-darwin-arm64" "0.33.5" - "@img/sharp-darwin-x64" "0.33.5" - "@img/sharp-libvips-darwin-arm64" "1.0.4" - "@img/sharp-libvips-darwin-x64" "1.0.4" - "@img/sharp-libvips-linux-arm" "1.0.5" - "@img/sharp-libvips-linux-arm64" "1.0.4" - "@img/sharp-libvips-linux-s390x" "1.0.4" - "@img/sharp-libvips-linux-x64" "1.0.4" - "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" - "@img/sharp-libvips-linuxmusl-x64" "1.0.4" - "@img/sharp-linux-arm" "0.33.5" - "@img/sharp-linux-arm64" "0.33.5" - "@img/sharp-linux-s390x" "0.33.5" - "@img/sharp-linux-x64" "0.33.5" - "@img/sharp-linuxmusl-arm64" "0.33.5" - "@img/sharp-linuxmusl-x64" "0.33.5" - "@img/sharp-wasm32" "0.33.5" - "@img/sharp-win32-ia32" "0.33.5" - "@img/sharp-win32-x64" "0.33.5" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -signal-exit@3.0.7, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -sigstore@^1.0.0, sigstore@^1.3.0, sigstore@^1.4.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-1.9.0.tgz#1e7ad8933aa99b75c6898ddd0eeebc3eb0d59875" - integrity sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A== - dependencies: - "@sigstore/bundle" "^1.1.0" - "@sigstore/protobuf-specs" "^0.2.0" - "@sigstore/sign" "^1.0.0" - "@sigstore/tuf" "^1.0.3" - make-fetch-happen "^11.0.1" - -simple-git@^3.21.0: - version "3.27.0" - resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-3.27.0.tgz#f4b09e807bda56a4a3968f635c0e4888d3decbd5" - integrity sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA== - dependencies: - "@kwsites/file-exists" "^1.1.1" - "@kwsites/promise-deferred" "^1.1.1" - debug "^4.3.5" - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - -sinon@^7.3.1: - version "7.5.0" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.5.0.tgz#e9488ea466070ea908fd44a3d6478fd4923c67ec" - integrity sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q== - dependencies: - "@sinonjs/commons" "^1.4.0" - "@sinonjs/formatio" "^3.2.1" - "@sinonjs/samsam" "^3.3.3" - diff "^3.5.0" - lolex "^4.2.0" - nise "^1.5.2" - supports-color "^5.5.0" - -slash@3.0.0, slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -snarkdown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/snarkdown/-/snarkdown-2.0.0.tgz#b1feb4db91b9f94a8ebbd7a50f3e99aee18b1e03" - integrity sha512-MgL/7k/AZdXCTJiNgrO7chgDqaB9FGM/1Tvlcenenb7div6obaDATzs16JhFyHHBGodHT3B7RzRc5qk8pFhg3A== - -socks-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" - integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== - dependencies: - agent-base "^6.0.2" - debug "^4.3.3" - socks "^2.6.2" - -socks@^2.6.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" - integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== - dependencies: - ip-address "^9.0.5" - smart-buffer "^4.2.0" - -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== - dependencies: - is-plain-obj "^1.0.0" - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.16, source-map-support@~0.5.20: - 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== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== - -source-map@^0.5.1, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: - version "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: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -sparkles@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" - integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" - integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.20" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" - integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - -split2@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - -sprintf-js@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" - integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -ssri@9.0.1, ssri@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" - integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== - dependencies: - minipass "^3.1.1" - -ssri@^10.0.0, ssri@^10.0.1: - version "10.0.6" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" - integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ== - dependencies: - minipass "^7.0.3" - -stack-generator@^2.0.5: - version "2.0.10" - resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.10.tgz#8ae171e985ed62287d4f1ed55a1633b3fb53bb4d" - integrity sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== - dependencies: - stackframe "^1.3.4" - -stack-trace@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -stacktrace-gps@^3.0.4: - version "3.1.2" - resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz#0c40b24a9b119b20da4525c398795338966a2fb0" - integrity sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ== - dependencies: - source-map "0.5.6" - stackframe "^1.3.4" - -stacktrace-js@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b" - integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg== - dependencies: - error-stack-parser "^2.0.6" - stack-generator "^2.0.5" - stacktrace-gps "^3.0.4" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-exhaust@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" - integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== - -stream-http@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -stream-shift@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" - integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-hash@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" - integrity sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A== - -string-natural-compare@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" - integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== - -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string.prototype.includes@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz#eceef21283640761a81dbe16d6c7171a4edf7d92" - integrity sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.3" - -string.prototype.matchall@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" - integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - regexp.prototype.flags "^1.5.2" - set-function-name "^2.0.2" - side-channel "^1.0.6" - -string.prototype.repeat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" - integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.0" - es-object-atoms "^1.0.0" - -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string_decoder@^1.1.1, string_decoder@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@3.1.1, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strong-log-transformer@2.1.0, strong-log-transformer@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" - integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== - dependencies: - duplexer "^0.1.1" - minimist "^1.2.0" - through "^2.3.4" - -style-mod@^4.0.0, style-mod@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.1.2.tgz#ca238a1ad4786520f7515a8539d5a63691d7bf67" - integrity sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw== - -stylehacks@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-7.0.4.tgz#9c21f7374f4bccc0082412b859b3c89d77d3277c" - integrity sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww== - dependencies: - browserslist "^4.23.3" - postcss-selector-parser "^6.1.2" - -stylis@^4.3.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.4.tgz#ca5c6c4a35c4784e4e93a2a24dc4e9fa075250a4" - integrity sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now== - -stylus@^0.63.0: - version "0.63.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.63.0.tgz#511e8d56f2005b09010fbc1f62561c7b6f72a490" - integrity sha512-OMlgrTCPzE/ibtRMoeLVhOY0RcNuNWh0rhAVqeKnk/QwcuUKQbnqhZ1kg2vzD8VU/6h3FoPTq4RJPHgLBvX6Bw== - dependencies: - "@adobe/css-tools" "~4.3.3" - debug "^4.3.2" - glob "^7.1.6" - sax "~1.3.0" - source-map "^0.7.3" - -sucrase@^3.35.0: - version "3.35.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" - integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "^10.3.10" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - -sugarss@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-4.0.1.tgz#128a783ed71ee0fc3b489ce1f7d5a89bc1e24383" - integrity sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw== - -supports-color@8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -sver-compat@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" - integrity sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg== - dependencies: - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - -svg-parser@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.2.tgz#ad58002652dffbb5986fc9716afe52d869ecbda8" - integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^5.1.0" - css-tree "^2.3.1" - css-what "^6.1.0" - csso "^5.0.5" - picocolors "^1.0.0" - -symbol-tree@^3.2.4: - version "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== - -table-parser@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/table-parser/-/table-parser-0.1.3.tgz#0441cfce16a59481684c27d1b5a67ff15a43c7b0" - integrity sha512-LCYeuvqqoPII3lzzYaXKbC3Forb+d2u4bNwhk/9FlivuGRxPE28YEWAYcujeSlLLDlMfvy29+WPybFJZFiKMYg== - dependencies: - connected-domain "^1.0.0" - -table@^6.8.1: - version "6.8.2" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" - integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -tailwindcss@^3.0.2: - version "3.4.15" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.15.tgz#04808bf4bf1424b105047d19e7d4bfab368044a9" - integrity sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.6.0" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.3.2" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.21.6" - lilconfig "^2.1.0" - micromatch "^4.0.8" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.1.1" - postcss "^8.4.47" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.2" - postcss-nested "^6.2.0" - postcss-selector-parser "^6.1.2" - resolve "^1.22.8" - sucrase "^3.35.0" - -tar-stream@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tar@6.1.11: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -tar@^6.1.11, tar@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" - integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -temp-dir@1.0.0, temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" - integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== - -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -temp@^0.9.0: - version "0.9.4" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.4.tgz#cd20a8580cb63635d0e4e9d4bd989d44286e7620" - integrity sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA== - dependencies: - mkdirp "^0.5.1" - rimraf "~2.6.2" - -temp@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.4.0.tgz#671ad63d57be0fe9d7294664b3fc400636678a60" - integrity sha512-IsFisGgDKk7qzK9erMIkQe/XwiSUdac7z3wYOsjcLkhPBy3k1SlvLoIh2dAHIlEpgA971CgguMrx9z8fFg7tSA== - -tempy@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.0.tgz#4f192b3ee3328a2684d0e3fc5c491425395aab65" - integrity sha512-eLXG5B1G0mRPHmgH2WydPl5v4jH35qEn3y/rA/aahKhIa91Pn119SsU7n7v/433gtT9ONzC8ISvNHIh2JSTm0w== - dependencies: - del "^6.0.0" - is-stream "^2.0.0" - temp-dir "^2.0.0" - type-fest "^0.16.0" - unique-string "^2.0.0" - -tempy@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.2.1.tgz#9038e4dbd1c201b74472214179bc2c6f7776e54c" - integrity sha512-LB83o9bfZGrntdqPuRdanIVCPReam9SOZKW0fOy5I9X3A854GGWi0tjCqoXEk84XIEYBc/x9Hq3EFop/H5wJaw== - dependencies: - temp-dir "^1.0.0" - unique-string "^1.0.0" - -tempy@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.3.0.tgz#6f6c5b295695a16130996ad5ab01a8bd726e8bf8" - integrity sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ== - dependencies: - temp-dir "^1.0.0" - type-fest "^0.3.1" - unique-string "^1.0.0" - -term-size@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - -terminal-link@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser@^5.14.2, terser@^5.2.0: - version "5.36.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.36.0.tgz#8b0dbed459ac40ff7b4c9fd5a3a2029de105180e" - integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" - integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -throttle-debounce@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" - integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== - -through2-filter@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.1.0.tgz#4a1b45d2b76b3ac93ec137951e372c268efc1a4e" - integrity sha512-VhZsTsfrIJjyUi6GeecnwcOJlmoqgIdGFDjqnV5ape+F1DN8GejfPO66XyIhoinxmxGImiUTrq9RwpTN5yszGA== - dependencies: - through2 "^4.0.2" - -through2@^0.6.3: - version "0.6.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" - integrity sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg== - dependencies: - readable-stream ">=1.0.33-1 <1.1.0-0" - xtend ">=4.0.0 <4.1.0-0" - -through2@^2.0.0, through2@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through2@^4.0.0, through2@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -time-stamp@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" - integrity sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw== - -timers-browserify@^2.0.11: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== - -tldts-core@^6.1.64: - version "6.1.64" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.64.tgz#0b017a7fefb92d8542b1078c793c00cc28ad9eac" - integrity sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q== - -tldts@^6.1.32: - version "6.1.64" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.64.tgz#bfeaa17f881944c943f1f6647494af418901d73f" - integrity sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw== - dependencies: - tldts-core "^6.1.64" - -tmp@0.0.29: - version "0.0.29" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" - integrity sha512-89PTqMWGDva+GqClOqBV9s3SMh7MA3Mq0pJUdAoHuF65YoE7O0LermaZkVfT5/Ngfo18H4eYiyG7zKOtnEbxsw== - dependencies: - os-tmpdir "~1.0.1" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmp@~0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" - integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== - -to-absolute-glob@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" - integrity sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA== - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -to-through@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" - integrity sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q== - dependencies: - through2 "^2.0.3" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -token-stream@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4" - integrity sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg== - -tough-cookie@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" - integrity sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q== - dependencies: - tldts "^6.1.32" - -tr46@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec" - integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g== - dependencies: - punycode "^2.3.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -"traverse@>=0.3.0 <0.4": - version "0.3.9" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" - integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== - -treeverse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8" - integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw== - -ts-easing@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" - integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tsconfig-paths@^4.1.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tty-browserify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" - integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== - -tuf-js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-1.1.7.tgz#21b7ae92a9373015be77dfe0cb282a80ec3bbe43" - integrity sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg== - dependencies: - "@tufjs/models" "1.0.4" - debug "^4.3.4" - make-fetch-happen "^11.1.1" - -tunnel@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.4.tgz#2d3785a158c174c9a16dc2c046ec5fc5f1742213" - integrity sha512-o9QYRJN5WgS8oCtqvwzzcfnzaTnDPr7HpUsQdSXscTyzXbjvl4wSHPTUKOKzEaDeQvOuyRtt3ui+ujM7x7TReQ== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" - integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== - -type-fest@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" - integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^2.7.2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.3.tgz#436981652129285cc3ba94f392886c2637ea0486" - integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== - -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-typed-array "^1.1.13" - -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-byte-offset@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz#3fa9f22567700cc86aaf86a1e7176f74b59600f2" - integrity sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - reflect.getprototypeof "^1.0.6" - -typed-array-length@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" - integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" - reflect.getprototypeof "^1.0.6" - -typed-rest-client@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.2.0.tgz#723085d203f38d7d147271e5ed3a75488eb44a02" - integrity sha512-FrUshzZ1yxH8YwGR29PWWnfksLEILbWJydU7zfIRkyH7kAEzB62uMAl2WY6EyolWpLpVHeJGgQm45/MaruaHpw== - dependencies: - tunnel "0.0.4" - underscore "1.8.3" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript@>=3.0.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" - integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== - -"typescript@^3 || ^4": - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - -uc.micro@^1.0.1, uc.micro@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" - integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== - -uglify-js@^3.1.4: - version "3.19.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" - integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== - -underscore@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" - integrity sha512-5WsVTFcH1ut/kkhAaHf4PVgI8c7++GiVcpCGxPouI6ZVjsqPnSDf8h/8HtVqc0t4fzRXwnMK70EcZeAs3PIddg== - -undertaker-registry@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" - integrity sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw== - -undertaker@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18" - integrity sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg== - dependencies: - arr-flatten "^1.0.1" - arr-map "^2.0.0" - bach "^1.0.0" - collection-map "^1.0.0" - es6-weak-map "^2.0.1" - fast-levenshtein "^1.0.0" - last-run "^1.1.0" - object.defaults "^1.0.0" - object.reduce "^1.0.0" - undertaker-registry "^1.0.0" - -undici-types@~6.19.8: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== - -undici@^6.19.5: - version "6.21.2" - resolved "https://registry.yarnpkg.com/undici/-/undici-6.21.2.tgz#49c5884e8f9039c65a89ee9018ef3c8e2f1f4928" - integrity sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" - integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" - integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unique-filename@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" - integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== - dependencies: - unique-slug "^3.0.0" - -unique-filename@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" - integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== - dependencies: - unique-slug "^4.0.0" - -unique-slug@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" - integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== - dependencies: - imurmurhash "^0.1.4" - -unique-slug@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" - integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== - dependencies: - imurmurhash "^0.1.4" - -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" - integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== - dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" - -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg== - dependencies: - crypto-random-string "^1.0.0" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universal-user-agent@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" - integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -unzipper@^0.10.11: - version "0.10.14" - resolved "https://registry.yarnpkg.com/unzipper/-/unzipper-0.10.14.tgz#d2b33c977714da0fbc0f82774ad35470a7c962b1" - integrity sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g== - dependencies: - big-integer "^1.6.17" - binary "~0.3.0" - bluebird "~3.4.1" - buffer-indexof-polyfill "~1.0.0" - duplexer2 "~0.1.4" - fstream "^1.0.12" - graceful-fs "^4.2.2" - listenercount "~1.0.1" - readable-stream "~2.3.6" - setimmediate "~1.0.4" - -upath@2.0.1, upath@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" - integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -update-browserslist-db@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - -url-join@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-1.1.0.tgz#741c6c2f4596c4830d6718460920d0c92202dc78" - integrity sha512-zz1wZk4Lb5PTVwZ3HWDmm8XnlPvmOof6/fjdDPA5yBrUcbtV64U6bV832Zf1BtU2WkBBWaUT46wCs+l0HP5nhg== - -url@^0.11.0: - version "0.11.4" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.4.tgz#adca77b3562d56b72746e76b330b7f27b6721f3c" - integrity sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg== - dependencies: - punycode "^1.4.1" - qs "^6.12.3" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.3, util@^0.12.5: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utility-types@^3.10.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c" - integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-compile-cache@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" - integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== - -v8flags@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" - integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== - dependencies: - homedir-polyfill "^1.0.1" - -validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@4.0.0, validate-npm-package-name@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" - integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== - dependencies: - builtins "^5.0.0" - -validate-npm-package-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== - dependencies: - builtins "^1.0.3" - -validate-npm-package-name@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" - integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== - -value-or-function@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" - integrity sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vinyl-fs@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" - integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== - dependencies: - fs-mkdirp-stream "^1.0.0" - glob-stream "^6.1.0" - graceful-fs "^4.0.0" - is-valid-glob "^1.0.0" - lazystream "^1.0.0" - lead "^1.0.0" - object.assign "^4.0.4" - pumpify "^1.3.5" - readable-stream "^2.3.3" - remove-bom-buffer "^3.0.0" - remove-bom-stream "^1.2.0" - resolve-options "^1.1.0" - through2 "^2.0.0" - to-through "^2.0.0" - value-or-function "^3.0.0" - vinyl "^2.0.0" - vinyl-sourcemap "^1.1.0" - -vinyl-sourcemap@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" - integrity sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA== - dependencies: - append-buffer "^1.0.2" - convert-source-map "^1.5.0" - graceful-fs "^4.1.6" - normalize-path "^2.1.1" - now-and-later "^2.0.0" - remove-bom-buffer "^3.0.0" - vinyl "^2.0.0" - -vinyl-sourcemaps-apply@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" - integrity sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw== - dependencies: - source-map "^0.5.1" - -vinyl@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" - integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -vm-browserify@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -void-elements@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" - integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== - -vsce-yarn-patch@^1.66.2: - version "1.66.2" - resolved "https://registry.yarnpkg.com/vsce-yarn-patch/-/vsce-yarn-patch-1.66.2.tgz#b217a9d73ee715ad41ec44393a5d78ed0955ab44" - integrity sha512-IJjBF/WQWQvEIikI93qDEhiugjVFDgibqsBa2roawp5abeovPZ9/bzLt0b9AylBtP60q2qSMWsGtf1hZBAs7fw== - dependencies: - azure-devops-node-api "^7.2.0" - chalk "^2.4.2" - cheerio "^1.0.0-rc.1" - commander "^2.8.1" - denodeify "^1.2.1" - didyoumean "^1.2.1" - glob "^7.0.6" - lodash "^4.17.10" - markdown-it "^8.3.1" - mime "^1.3.4" - minimatch "^3.0.3" - osenv "^0.1.3" - parse-semver "^1.1.1" - read "^1.0.7" - semver "^5.1.0" - tmp "0.0.29" - typed-rest-client "1.2.0" - url-join "^1.1.0" - yauzl "^2.3.1" - yazl "^2.2.2" - -vscode-jsonrpc@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94" - integrity sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw== - -vscode-jsonrpc@^8.0.2: - version "8.2.1" - resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.1.tgz#a322cc0f1d97f794ffd9c4cd2a898a0bde097f34" - integrity sha512-kdjOSJ2lLIn7r1rtrMbbNCHjyMPfRnowdKjBQ+mGq6NAW5QY2bEZC/khaC5OR8svbbjvLEaIXkOq45e2X9BIbQ== - -vscode-languageclient@^8.0.2: - version "8.1.0" - resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.1.0.tgz#3e67d5d841481ac66ddbdaa55b4118742f6a9f3f" - integrity sha512-GL4QdbYUF/XxQlAsvYWZRV3V34kOkpRlvV60/72ghHfsYFnS/v2MANZ9P6sHmxFcZKOse8O+L9G7Czg0NUWing== - dependencies: - minimatch "^5.1.0" - semver "^7.3.7" - vscode-languageserver-protocol "3.17.3" - -vscode-languageserver-protocol@3.17.3: - version "3.17.3" - resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57" - integrity sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA== - dependencies: - vscode-jsonrpc "8.1.0" - vscode-languageserver-types "3.17.3" - -vscode-languageserver-textdocument@^1.0.0: - version "1.0.12" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz#457ee04271ab38998a093c68c2342f53f6e4a631" - integrity sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA== - -vscode-languageserver-types@3.17.3: - version "3.17.3" - resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64" - integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA== - -vscode-languageserver@^8.0.2: - version "8.1.0" - resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz#5024253718915d84576ce6662dd46a791498d827" - integrity sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw== - dependencies: - vscode-languageserver-protocol "3.17.3" - -vscode-test@^1.5.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/vscode-test/-/vscode-test-1.6.1.tgz#44254c67036de92b00fdd72f6ace5f1854e1a563" - integrity sha512-086q88T2ca1k95mUzffvbzb7esqQNvJgiwY4h29ukPhFo8u+vXOOmelUoU5EQUHs3Of8+JuQ3oGdbVCqaxuTXA== - dependencies: - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - rimraf "^3.0.2" - unzipper "^0.10.11" - -vue@^3.2.27, vue@~3.2.47: - version "3.2.47" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.47.tgz#3eb736cbc606fc87038dbba6a154707c8a34cff0" - integrity sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ== - dependencies: - "@vue/compiler-dom" "3.2.47" - "@vue/compiler-sfc" "3.2.47" - "@vue/runtime-dom" "3.2.47" - "@vue/server-renderer" "3.2.47" - "@vue/shared" "3.2.47" - -w3c-keyname@^2.2.4: - version "2.2.8" - resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5" - integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== - -w3c-xmlserializer@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz#f925ba26855158594d907313cedd1476c5967f6c" - integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA== - dependencies: - xml-name-validator "^5.0.0" - -walk-up-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" - integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== - -wasm-sourcemap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wasm-sourcemap/-/wasm-sourcemap-1.0.0.tgz#c9aa3a2105eb2f15b838687b5aebeac4e0c9a07c" - integrity sha512-IiOoUHnsI6bVVbs8Q+JO6cj7KtxwGiiS5nJGDbZXfj6srbIDzjjbZk9WMAusvynTzzlPlMgJhb/4SGz92ZgXsA== - -wcwidth@^1.0.0, wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -weak-lru-cache@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz#fdbb6741f36bae9540d12f480ce8254060dccd19" - integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -whatwg-encoding@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" - integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== - dependencies: - iconv-lite "0.6.3" - -whatwg-fetch@^3.4.1: - version "3.6.20" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz#580ce6d791facec91d37c72890995a0b48d31c70" - integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== - -whatwg-mimetype@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" - integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== - -whatwg-url@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6" - integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw== - dependencies: - tr46 "^5.0.0" - webidl-conversions "^7.0.0" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-builtin-type@^1.1.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.0.tgz#58042ac9602d78a6d117c7e811349df1268ba63c" - integrity sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA== - dependencies: - call-bind "^1.0.7" - function.prototype.name "^1.1.6" - has-tostringtag "^1.0.2" - is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.1.0" - is-generator-function "^1.0.10" - is-regex "^1.1.4" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.2" - which-typed-array "^1.1.15" - -which-collection@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" - integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== - dependencies: - is-map "^2.0.3" - is-set "^2.0.3" - is-weakmap "^2.0.2" - is-weakset "^2.0.3" - -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - integrity sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ== - -which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - -which@2.0.2, which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -which@^1.2.14, which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/which/-/which-3.0.1.tgz#89f1cd0c23f629a8105ffe69b8172791c87b4be1" - integrity sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg== - dependencies: - isexe "^2.0.0" - -wide-align@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -wide-align@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -with@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" - integrity sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== - dependencies: - "@babel/parser" "^7.9.6" - "@babel/types" "^7.9.6" - assert-never "^1.2.1" - babel-walk "3.0.0-canary-5" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== - -workerpool@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" - integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" - integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -write-file-atomic@^2.4.2: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" - integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^4.0.1" - -write-json-file@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" - integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== - dependencies: - detect-indent "^5.0.0" - graceful-fs "^4.1.15" - make-dir "^2.1.0" - pify "^4.0.1" - sort-keys "^2.0.0" - write-file-atomic "^2.4.2" - -write-pkg@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" - integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== - dependencies: - sort-keys "^2.0.0" - type-fest "^0.4.1" - write-json-file "^3.2.0" - -ws@^8.18.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" - integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== - -xml-name-validator@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673" - integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== - -xml@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" - integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.2, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -xtend@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9" - integrity sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw== - -y18n@^3.2.1: - version "3.2.2" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" - integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yaml@^2.2.2, yaml@^2.3.4: - version "2.6.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.1.tgz#42f2b1ba89203f374609572d5349fb8686500773" - integrity sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg== - -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@21.1.1, yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-parser@^20.2.2, yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" - integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== - dependencies: - camelcase "^3.0.0" - object.assign "^4.1.0" - -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@16.2.0, yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.6.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yargs@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db" - integrity sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA== - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^5.0.1" - -yauzl@^2.3.1: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yazl@^2.2.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" - integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== - dependencies: - buffer-crc32 "~0.2.3" - -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== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@adobe/css-tools@npm:~4.3.3": + version: 4.3.3 + resolution: "@adobe/css-tools@npm:4.3.3" + checksum: 10c0/e76e712df713964b87cdf2aca1f0477f19bebd845484d5fcba726d3ec7782366e2f26ec8cb2dcfaf47081a5c891987d8a9f5c3f30d11e1eb3c1848adc27fcb24 + languageName: node + linkType: hard + +"@alloc/quick-lru@npm:^5.2.0": + version: 5.2.0 + resolution: "@alloc/quick-lru@npm:5.2.0" + checksum: 10c0/7b878c48b9d25277d0e1a9b8b2f2312a314af806b4129dc902f2bc29ab09b58236e53964689feec187b28c80d2203aff03829754773a707a8a5987f1b7682d92 + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.27.1" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9, @babel/compat-data@npm:^7.26.0": + version: 7.26.2 + resolution: "@babel/compat-data@npm:7.26.2" + checksum: 10c0/c9b5f3724828d17f728a778f9d66c19b55c018d0d76de6d731178cca64f182c22b71400a73bf2b65dcc4fcfe52b630088a94d5902911b54206aa90e3ffe07d12 + languageName: node + linkType: hard + +"@babel/core@npm:^7.12.2, @babel/core@npm:^7.16.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.22.11": + version: 7.26.0 + resolution: "@babel/core@npm:7.26.0" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.26.0" + "@babel/generator": "npm:^7.26.0" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.0" + "@babel/parser": "npm:^7.26.0" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/91de73a7ff5c4049fbc747930aa039300e4d2670c2a91f5aa622f1b4868600fc89b01b6278385fbcd46f9574186fa3d9b376a9e7538e50f8d118ec13cfbcb63e + languageName: node + linkType: hard + +"@babel/eslint-parser@npm:^7.16.3, @babel/eslint-parser@npm:^7.22.11": + version: 7.25.9 + resolution: "@babel/eslint-parser@npm:7.25.9" + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1" + eslint-visitor-keys: "npm:^2.1.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/7dc525da9a076906aff562f82373765785732edf306e2be6497e347ed73be80d3544f2f845a77c2376bfa1c7c8c3580ea7346b12b78d8ddf4365c44fe9c35c4b + languageName: node + linkType: hard + +"@babel/generator@npm:^7.22.10, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": + version: 7.26.2 + resolution: "@babel/generator@npm:7.26.2" + dependencies: + "@babel/parser": "npm:^7.26.2" + "@babel/types": "npm:^7.26.0" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/167ebce8977142f5012fad6bd91da51ac52bcd752f2261a54b7ab605d928aebe57e21636cdd2a9c7757e552652c68d9fcb5d40b06fcb66e02d9ee7526e118a5c + languageName: node + linkType: hard + +"@babel/generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/generator@npm:7.27.1" + dependencies: + "@babel/parser": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/c4156434b21818f558ebd93ce45f027c53ee570ce55a84fd2d9ba45a79ad204c17e0bff753c886fb6c07df3385445a9e34dc7ccb070d0ac7e80bb91c8b57f423 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/fc4751b59c8f5417e1acb0455d6ffce53fa5e79b3aca690299fbbf73b1b65bfaef3d4a18abceb190024c5836bb6cfbc3711e83888648df93df54e18152a1196c + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe + languageName: node + linkType: hard + +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/a6068bb813e7f72d12b72edeecb99167f60cd7964cacedfb60e01fff5e7bed4a5a7f4f7414de7cf352a1b71487df5f8dab8c2b5230de4ad5aea16adf32e14219 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-compilation-targets@npm:7.25.9" + dependencies: + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.21.0": + version: 7.27.1 + resolution: "@babel/helper-create-class-features-plugin@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4ee199671d6b9bdd4988aa2eea4bdced9a73abfc831d81b00c7634f49a8fc271b3ceda01c067af58018eb720c6151322015d463abea7072a368ee13f35adbb4c + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + regexpu-core: "npm:^6.1.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/3adc60a758febbf07d65a15eaccab1f7b9fcc55e7141e59122f13c9f81fc0d1cce4525b7f4af50285d27c93b34c859fd2c39c39820c5fb92211898c3bbdc77ef + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.2, @babel/helper-define-polyfill-provider@npm:^0.6.3": + version: 0.6.3 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.3" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/4320e3527645e98b6a0d5626fef815680e3b2b03ec36045de5e909b0f01546ab3674e96f50bf3bc8413f8c9037e5ee1a5f560ebdf8210426dad1c2c03c96184a + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-member-expression-to-functions@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/5762ad009b6a3d8b0e6e79ff6011b3b8fdda0fefad56cfa8bfbe6aa02d5a8a8a9680a45748fe3ac47e735a03d2d88c0a676e3f9f59f20ae9fadcc8d51ccd5a53 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.25.9 + resolution: "@babel/helper-plugin-utils@npm:7.25.9" + checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.14.5": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-wrap-function": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-replace-supers@npm:7.25.9" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-replace-supers@npm:7.27.1" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4f2eaaf5fcc196580221a7ccd0f8873447b5d52745ad4096418f6101a1d2e712e9f93722c9a32bc9769a1dc197e001f60d6f5438d4dfde4b9c6a9e4df719354c + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-simple-access@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-wrap-function@npm:7.25.9" + dependencies: + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helpers@npm:7.26.0" + dependencies: + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" + checksum: 10c0/343333cced6946fe46617690a1d0789346960910225ce359021a88a60a65bc0d791f0c5d240c0ed46cf8cc63b5fd7df52734ff14e43b9c32feae2b61b1647097 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.16.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": + version: 7.26.2 + resolution: "@babel/parser@npm:7.26.2" + dependencies: + "@babel/types": "npm:^7.26.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/751a743087b3a9172a7599f1421830d44c38f065ef781588d2bfb1c98f9b461719a226feb13c868d7a284783eee120c88ea522593118f2668f46ebfb1105c4d7 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/parser@npm:7.27.2" + dependencies: + "@babel/types": "npm:^7.27.1" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/3c06692768885c2f58207fc8c2cbdb4a44df46b7d93135a083f6eaa49310f7ced490ce76043a2a7606cdcc13f27e3d835e141b692f2f6337a2e7f43c1dbb04b4 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272 + languageName: node + linkType: hard + +"@babel/plugin-proposal-class-properties@npm:^7.16.0": + version: 7.18.6 + resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d5172ac6c9948cdfc387e94f3493ad86cb04035cf7433f86b5d358270b1b9752dc25e176db0c5d65892a246aca7bdb4636672e15626d7a7de4bc0bd0040168d9 + languageName: node + linkType: hard + +"@babel/plugin-proposal-decorators@npm:^7.16.4": + version: 7.25.9 + resolution: "@babel/plugin-proposal-decorators@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-decorators": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d7d54644f50a60c47090d70121905ca76534bd7a837c03d25e163ca6ae384b48ef6dcfb125a99f12b3ce7e78e074a33f6fa8c4531c1a46aa31274153f587b05e + languageName: node + linkType: hard + +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.0": + version: 7.18.6 + resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f6629158196ee9f16295d16db75825092ef543f8b98f4dfdd516e642a0430c7b1d69319ee676d35485d9b86a53ade6de0b883490d44de6d4336d38cdeccbe0bf + languageName: node + linkType: hard + +"@babel/plugin-proposal-numeric-separator@npm:^7.16.0": + version: 7.18.6 + resolution: "@babel/plugin-proposal-numeric-separator@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.18.6" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a83a65c6ec0d2293d830e9db61406d246f22d8ea03583d68460cb1b6330c6699320acce1b45f66ba3c357830720e49267e3d99f95088be457c66e6450fbfe3fa + languageName: node + linkType: hard + +"@babel/plugin-proposal-optional-chaining@npm:^7.16.0": + version: 7.21.0 + resolution: "@babel/plugin-proposal-optional-chaining@npm:7.21.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.20.0" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b524a61b1de3f3ad287cd1e98c2a7f662178d21cd02205b0d615512e475f0159fa1b569fa7e34c8ed67baef689c0136fa20ba7d1bf058d186d30736a581a723f + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-methods@npm:^7.16.0": + version: 7.18.6 + resolution: "@babel/plugin-proposal-private-methods@npm:7.18.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1c273d0ec3d49d0fe80bd754ec0191016e5b3ab4fb1e162ac0c014e9d3c1517a5d973afbf8b6dc9f9c98a8605c79e5f9e8b5ee158a4313fa68d1ff7b02084b6a + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:^7.16.7": + version: 7.21.11 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.11" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.18.6" + "@babel/helper-create-class-features-plugin": "npm:^7.21.0" + "@babel/helper-plugin-utils": "npm:^7.20.2" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3c8c9ea175101b1cbb2b0e8fee20fcbdd03eb0700d3581aa826ac3573c9b002f39b1512c2af9fd1903ff921bcc864da95ad3cdeba53c9fbcfb3dc23916eacf47 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.12.13": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.12.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + languageName: node + linkType: hard + +"@babel/plugin-syntax-decorators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-decorators@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/47e44a7d61b76dac4f18fd61edc186012e084eb8f1fe253c483b0fe90b73366b4ebd2b0b03728e000fd1fdedc8af3aa6e93246caf97183a8d9d42a0eb57ecfcc + languageName: node + linkType: hard + +"@babel/plugin-syntax-export-default-from@npm:^7.22.5": + version: 7.25.9 + resolution: "@babel/plugin-syntax-export-default-from@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/10267af3a2bed893acb17b1e1e5e6a3aafcdcb202d54ac295bfa95ac11c66336a9c36cc73b4adc2b10a41a8ecc0c3390808ab16a99c24a76f8c74313ba32be63 + languageName: node + linkType: hard + +"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 + languageName: node + linkType: hard + +"@babel/plugin-syntax-flow@npm:^7.14.5, @babel/plugin-syntax-flow@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/plugin-syntax-flow@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3d5cc1627a67af8be9df8cfe246869f18e7e9e2592f4b6f1c4bcd9bbe4ad27102784a25b31ebdbed23499ecb6fc23aaf7891ccf5ac3f432fd26a27123d1e242b + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c + languageName: node + linkType: hard + +"@babel/plugin-syntax-module-attributes@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-module-attributes@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/661815dd133c71131d8ada4e6288bbbccac0164121983f06931fa00ed3d66819b678e774ab41088a1bfa3cb01eb0569672ffc589bc896d8494fe662c346d9794 + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + languageName: node + linkType: hard + +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2 + languageName: node + linkType: hard + +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e3fcb9fc3d6ab6cbd4fcd956b48c17b5e92fe177553df266ffcd2b2c1f2f758b893e51b638e77ed867941e0436487d2b8b505908d615c41799241699b520dec6 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e92ba0e3d72c038513844d8fca1cc8437dcb35cd42778e97fd03cb8303380b201468611e7ecfdcae3de33473b2679fe2de1552c5f925d112c5693425cf851f10 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10c0/cdcf5545ae6514ed75fbd73cccfa209c6a5dfdf0c2bb7bb62c0fb4ec334a32281bcf1bc16ace494d9dbe93feb8bdc0bd3cf9d9ccb6316e634a67056fa13b741b + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12 + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4 + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.9" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3b42f65bab3fee28c385115ce6bcb6ba544dff187012df408a432c9fb44c980afd898911020c723dc1c9257aaf3d7d0131ad83ba15102bf30ad9a86fc2a8a912 + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb + languageName: node + linkType: hard + +"@babel/plugin-transform-flow-strip-types@npm:^7.16.0, @babel/plugin-transform-flow-strip-types@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-flow": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d4b79769a5b8bfc1a0766ed2158417e7efa53cdb5776161f641a642019c0822a1288f2ccd36c16a4bca77c64ccf1bab7e36aa1419adc417606acc6eddc126339 + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-for-of@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bf11abc71934a1f369f39cd7a33cf3d4dc5673026a53f70b7c1238c4fcc44e68b3ca1bdbe3db2076f60defb6ffe117cbe10b90f3e1a613b551d88f7c4e693bbe + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 + languageName: node + linkType: hard + +"@babel/plugin-transform-json-strings@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5 + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.22.11, @babel/plugin-transform-modules-commonjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-simple-access": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6ce771fb04d4810257fc8900374fece877dacaed74b05eaa16ad9224b390f43795c4d046cbe9ae304e1eb5aad035d37383895e3c64496d647c2128d183916e74 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-new-target@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/eb623db5be078a1c974afe7c7797b0309ba2ea9e9237c0b6831ade0f56d8248bb4ab3432ab34495ff8c877ec2fe412ff779d1e9b3c2b8139da18e1753d950bc3 + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961 + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27 + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-display-name@npm:^7.16.0, @babel/plugin-transform-react-display-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-display-name@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/63a0f962d64e71baf87c212755419e25c637d2d95ea6fdc067df26b91e606ae186442ae815b99a577eca9bf5404d9577ecad218a3cf42d0e9e286ca7b003a992 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-development@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.9" + dependencies: + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c0b92ff9eb029620abf320ff74aae182cea87524723d740fb48a4373d0d16bddf5edbe1116e7ba341332a5337e55c2ceaee8b8cad5549e78af7f4b3cfe77debb + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx@npm:^7.14.9, @babel/plugin-transform-react-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5c9947e8ed141f7606f54da3e05eea1074950c5b8354c39df69cb7f43cb5a83c6c9d7973b24bc3d89341c8611f8ad50830a98ab10d117d850e6bdd8febdce221 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-pure-annotations@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7c8eac04644ad19dcd71bb8e949b0ae22b9e548fa4a58e545d3d0342f647fb89db7f8789a7c5b8074d478ce6d3d581eaf47dd4b36027e16fd68211c383839abc + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + regenerator-transform: "npm:^0.15.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/eef3ffc19f7d291b863635f32b896ad7f87806d9219a0d3404a470219abcfc5b43aabecd691026c48e875b965760d9c16abee25e6447272233f30cd07f453ec7 + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4abc1db6c964efafc7a927cda814c7275275afa4b530483e0936fd614de23cb5802f7ca43edaa402008a723d4e7eac282b6f5283aa2eeb3b27da6d6c1dd7f8ed + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96 + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:^7.16.4, @babel/plugin-transform-runtime@npm:^7.22.10": + version: 7.25.9 + resolution: "@babel/plugin-transform-runtime@npm:7.25.9" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.10.6" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/888a4998ba0a2313de347954c9a8dfeccbff0633c69d33aee385b8878eba2b429dbfb00c3cc04f6bca454b9be8afa01ebbd73defb7fbbb6e2d3086205c07758b + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6 + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5144da6036807bbd4e9d2a8b92ae67a759543929f34f4db9b463448a77298f4a40bf1e92e582db208fe08ee116224806a3bd0bed75d9da404fc2c0af9e6da540 + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2b19fd88608589d9bc6b607ff17b06791d35c67ef3249f4659283454e6a9984241e3bd4c4eb72bb8b3d860a73223f3874558b861adb7314aa317c1c6a2f0cafb + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typescript@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-syntax-typescript": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c607ddb45f7e33cfcb928aad05cb1b18b1ecb564d2329d8f8e427f75192511aa821dee42d26871f1bdffbd883853e150ba81436664646c6e6b13063e65ce1475 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.16.4, @babel/preset-env@npm:^7.22.14": + version: 7.26.0 + resolution: "@babel/preset-env@npm:7.26.0" + dependencies: + "@babel/compat-data": "npm:^7.26.0" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" + "@babel/plugin-transform-block-scoping": "npm:^7.25.9" + "@babel/plugin-transform-class-properties": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.26.0" + "@babel/plugin-transform-classes": "npm:^7.25.9" + "@babel/plugin-transform-computed-properties": "npm:^7.25.9" + "@babel/plugin-transform-destructuring": "npm:^7.25.9" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.9" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-for-of": "npm:^7.25.9" + "@babel/plugin-transform-function-name": "npm:^7.25.9" + "@babel/plugin-transform-json-strings": "npm:^7.25.9" + "@babel/plugin-transform-literals": "npm:^7.25.9" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" + "@babel/plugin-transform-modules-amd": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-umd": "npm:^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-new-target": "npm:^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.9" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" + "@babel/plugin-transform-object-super": "npm:^7.25.9" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/plugin-transform-private-methods": "npm:^7.25.9" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" + "@babel/plugin-transform-property-literals": "npm:^7.25.9" + "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" + "@babel/plugin-transform-reserved-words": "npm:^7.25.9" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" + "@babel/plugin-transform-spread": "npm:^7.25.9" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" + "@babel/plugin-transform-template-literals": "npm:^7.25.9" + "@babel/plugin-transform-typeof-symbol": "npm:^7.25.9" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.10.6" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + core-js-compat: "npm:^3.38.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/26e19dc407cfa1c5166be638b4c54239d084fe15d8d7e6306d8c6dc7bc1decc51070a8dcf28352c1a2feeefbe52a06d193a12e302327ad5f529583df75fb7a26 + languageName: node + linkType: hard + +"@babel/preset-flow@npm:^7.22.5": + version: 7.25.9 + resolution: "@babel/preset-flow@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/dc640a4868c40262b66c8b29a65c04aa7288a5359e6a79518b0394fb422254ef3aec489aeb71334eddf775ce006a8e077eff608580906e37b39c87bb122c7080 + languageName: node + linkType: hard + +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 + languageName: node + linkType: hard + +"@babel/preset-react@npm:^7.16.0, @babel/preset-react@npm:^7.22.5": + version: 7.25.9 + resolution: "@babel/preset-react@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-react-display-name": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx-development": "npm:^7.25.9" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c294b475ee741f01f63ea0d828862811c453fabc6023f01814ce983bc316388e9d73290164d2b1384c2684db9c330803a3d4d2170285b105dcbacd483329eb93 + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:^7.16.0, @babel/preset-typescript@npm:^7.22.11": + version: 7.26.0 + resolution: "@babel/preset-typescript@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-typescript": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/20d86bc45d2bbfde2f84fc7d7b38746fa6481d4bde6643039ad4b1ff0b804c6d210ee43e6830effd8571f2ff43fa7ffd27369f42f2b3a2518bb92dc86c780c61 + languageName: node + linkType: hard + +"@babel/register@npm:^7.22.5": + version: 7.25.9 + resolution: "@babel/register@npm:7.25.9" + dependencies: + clone-deep: "npm:^4.0.1" + find-cache-dir: "npm:^2.0.0" + make-dir: "npm:^2.1.0" + pirates: "npm:^4.0.6" + source-map-support: "npm:^0.5.16" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f988437c94e0fe449308eecad00c04108c5f1a2b4c4b428635e3f402d9a38655e1884d594c80160e977a0e91455b9443de59829cc45f4d4f91e16b042e4c96d1 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.8.4": + version: 7.27.0 + resolution: "@babel/runtime@npm:7.27.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/35091ea9de48bd7fd26fb177693d64f4d195eb58ab2b142b893b7f3fa0f1d7c677604d36499ae0621a3703f35ba0c6a8f6c572cc8f7dc0317213841e493cf663 + languageName: node + linkType: hard + +"@babel/template@npm:^7.22.5, @babel/template@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" + dependencies: + "@babel/code-frame": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab + languageName: node + linkType: hard + +"@babel/template@npm:^7.27.1": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" + dependencies: + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/traverse@npm:7.27.1" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/d912110037b03b1d70a2436cfd51316d930366a5f54252da2bced1ba38642f644f848240a951e5caf12f1ef6c40d3d96baa92ea6e84800f2e891c15e97b25d50 + languageName: node + linkType: hard + +"@babel/types@npm:^7.21.3, @babel/types@npm:^7.22.11, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.9.6": + version: 7.26.0 + resolution: "@babel/types@npm:7.26.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8 + languageName: node + linkType: hard + +"@babel/types@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/types@npm:7.27.1" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/ed736f14db2fdf0d36c539c8e06b6bb5e8f9649a12b5c0e1c516fed827f27ef35085abe08bf4d1302a4e20c9a254e762eed453bce659786d4a6e01ba26a91377 + languageName: node + linkType: hard + +"@choojs/findup@npm:^0.2.0": + version: 0.2.1 + resolution: "@choojs/findup@npm:0.2.1" + dependencies: + commander: "npm:^2.15.1" + bin: + findup: bin/findup.js + checksum: 10c0/0aa58fde413a4cbfd7c67551df1338b638594c46dfa96aa1d79065b88f944a4465d95f3540f4e864130c532182a20cbdef3c2817d20f51253c94096fe57e970f + languageName: node + linkType: hard + +"@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.7.1": + version: 6.18.3 + resolution: "@codemirror/autocomplete@npm:6.18.3" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + peerDependencies: + "@codemirror/language": ^6.0.0 + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.0.0 + "@lezer/common": ^1.0.0 + checksum: 10c0/6d953d50ca264d2892f3d341efe2fa6a5220e9ef66d725fa315aa194813df5a0a133dc75f1eb5115c741aa22d5ba399dcc90356bb26ccfcad5b368d7e330eed8 + languageName: node + linkType: hard + +"@codemirror/commands@npm:^6.2.4": + version: 6.7.1 + resolution: "@codemirror/commands@npm:6.7.1" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.4.0" + "@codemirror/view": "npm:^6.27.0" + "@lezer/common": "npm:^1.1.0" + checksum: 10c0/287a50eebc50b316bd5a69c66005c14107f3be571e65812bc0811f5f0d187ca0670ba0be54b0266433450330600ceef569fa52d0678a1c2a17f73b10b0df2356 + languageName: node + linkType: hard + +"@codemirror/lang-css@npm:^6.0.0, @codemirror/lang-css@npm:^6.2.0": + version: 6.3.0 + resolution: "@codemirror/lang-css@npm:6.3.0" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@lezer/common": "npm:^1.0.2" + "@lezer/css": "npm:^1.1.7" + checksum: 10c0/b811ad75becb17da90fd88188c172ba15b469dee56d1467cd913dc73f247c2ef89f566a133b1e2b84fc8d305231a1d8dec45a95c0458ee6a5e83c16af39941a5 + languageName: node + linkType: hard + +"@codemirror/lang-html@npm:^6.4.3": + version: 6.4.9 + resolution: "@codemirror/lang-html@npm:6.4.9" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/lang-css": "npm:^6.0.0" + "@codemirror/lang-javascript": "npm:^6.0.0" + "@codemirror/language": "npm:^6.4.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + "@lezer/css": "npm:^1.1.0" + "@lezer/html": "npm:^1.3.0" + checksum: 10c0/0d6197aa645cc0a9da33789ea30423d4b8320b8e636c8587c7fcf58bdf90ea6934451d84ccbd9dd60dbc7046428204d7c986bd742c2cc459bee7c9653258db70 + languageName: node + linkType: hard + +"@codemirror/lang-javascript@npm:^6.0.0, @codemirror/lang-javascript@npm:^6.1.8": + version: 6.2.2 + resolution: "@codemirror/lang-javascript@npm:6.2.2" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.6.0" + "@codemirror/lint": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + "@lezer/javascript": "npm:^1.0.0" + checksum: 10c0/348969167fa5f18e8ec7e3614d408a95a54514f5625afcc680377d58a53d0f4ea412dcaeee65f0965e7d96f358d513b5c2744641b21ee5d0d976905b33715e48 + languageName: node + linkType: hard + +"@codemirror/lang-json@npm:^6.0.1": + version: 6.0.1 + resolution: "@codemirror/lang-json@npm:6.0.1" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@lezer/json": "npm:^1.0.0" + checksum: 10c0/c70301ba43d44dbd1ff0ccab6ec6e3fb9825d61d4854b4839441a8144a9c96997acdad16d93199d157308dd80088a5e9f14b66f395c7e79f4dadc6b4e70ce8a8 + languageName: node + linkType: hard + +"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0": + version: 6.10.4 + resolution: "@codemirror/language@npm:6.10.4" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.23.0" + "@lezer/common": "npm:^1.1.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + style-mod: "npm:^4.0.0" + checksum: 10c0/46c2bda099f873b1e906801671f921370d98351fd78c48743d349f1ac78052297ec4dcbf449d78ce0c8a84456cc18102631cccf369ee60fabd851652ebdd8547 + languageName: node + linkType: hard + +"@codemirror/lint@npm:^6.0.0, @codemirror/lint@npm:^6.2.1": + version: 6.8.3 + resolution: "@codemirror/lint@npm:6.8.3" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.35.0" + crelt: "npm:^1.0.5" + checksum: 10c0/15fc30250d1f432ef79858cd05ad4f0a60b78fb2acd302b268c5e9b2a50571db3d35990858d42cba1c71decc34276eecf851c39029793b4b346d58c0b5d6cf2f + languageName: node + linkType: hard + +"@codemirror/search@npm:^6.4.0": + version: 6.5.8 + resolution: "@codemirror/search@npm:6.5.8" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + crelt: "npm:^1.0.5" + checksum: 10c0/67a36fb0781427b23c39e223ecd9729b170a2e28874825b2d63b551761e620f2523707d7e593426b5cc4d5ea520ffb9026408de02a0aacfe55453e70e2d9b7a2 + languageName: node + linkType: hard + +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.2.0, @codemirror/state@npm:^6.4.0": + version: 6.4.1 + resolution: "@codemirror/state@npm:6.4.1" + checksum: 10c0/cdab74d0ca4e262531a257ac419c9c44124f3ace8b0ca1262598a9218fbb6fd8f0afeb4b5ed2f64552a9573a0fc5d55481d4b9b05e9505ef729f9bd0f9469423 + languageName: node + linkType: hard + +"@codemirror/theme-one-dark@npm:^6.1.2": + version: 6.1.2 + resolution: "@codemirror/theme-one-dark@npm:6.1.2" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + "@lezer/highlight": "npm:^1.0.0" + checksum: 10c0/d0d70ce1e03fa7e5d51cc72d8bdef043f30e14a5aee88f4dd71b64e176c3d68629c82390b9cfdab8cc1ac20d35703b65fe9160051fddc873aa67c613d9525a3d + languageName: node + linkType: hard + +"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.12.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0": + version: 6.35.0 + resolution: "@codemirror/view@npm:6.35.0" + dependencies: + "@codemirror/state": "npm:^6.4.0" + style-mod: "npm:^4.1.0" + w3c-keyname: "npm:^2.2.4" + checksum: 10c0/39b85e3ac266cb30a28c98a9ecf1cde34cdd160c243fe54a673b744990d72bb7758c1f557b7df25153c84e03ed9e989d7392a00e776533a731cb79fb0dca894e + languageName: node + linkType: hard + +"@elm_binaries/darwin_arm64@npm:0.19.1-0": + version: 0.19.1-0 + resolution: "@elm_binaries/darwin_arm64@npm:0.19.1-0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@elm_binaries/darwin_x64@npm:0.19.1-0": + version: 0.19.1-0 + resolution: "@elm_binaries/darwin_x64@npm:0.19.1-0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@elm_binaries/linux_x64@npm:0.19.1-0": + version: 0.19.1-0 + resolution: "@elm_binaries/linux_x64@npm:0.19.1-0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@elm_binaries/win32_x64@npm:0.19.1-0": + version: 0.19.1-0 + resolution: "@elm_binaries/win32_x64@npm:0.19.1-0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.2.0": + version: 1.3.1 + resolution: "@emnapi/runtime@npm:1.3.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/060ffede50f1b619c15083312b80a9e62a5b0c87aa8c1b54854c49766c9d69f8d1d3d87bd963a647071263a320db41b25eaa50b74d6a80dcc763c23dbeaafd6c + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/aix-ppc64@npm:0.25.0" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/android-arm64@npm:0.25.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/android-arm@npm:0.25.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/android-x64@npm:0.25.0" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/darwin-arm64@npm:0.25.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/darwin-x64@npm:0.25.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/freebsd-arm64@npm:0.25.0" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/freebsd-x64@npm:0.25.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/linux-arm64@npm:0.25.0" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/linux-arm@npm:0.25.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/linux-ia32@npm:0.25.0" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/linux-loong64@npm:0.25.0" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/linux-mips64el@npm:0.25.0" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/linux-ppc64@npm:0.25.0" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/linux-riscv64@npm:0.25.0" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/linux-s390x@npm:0.25.0" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/linux-x64@npm:0.25.0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/netbsd-arm64@npm:0.25.0" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/netbsd-x64@npm:0.25.0" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/openbsd-arm64@npm:0.25.0" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/openbsd-x64@npm:0.25.0" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/sunos-x64@npm:0.25.0" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/win32-arm64@npm:0.25.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/win32-ia32@npm:0.25.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.25.0": + version: 0.25.0 + resolution: "@esbuild/win32-x64@npm:0.25.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0": + version: 4.4.1 + resolution: "@eslint-community/eslint-utils@npm:4.4.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/2aa0ac2fc50ff3f234408b10900ed4f1a0b19352f21346ad4cc3d83a1271481bdda11097baa45d484dd564c895e0762a27a8240be7a256b3ad47129e96528252 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^9.6.0" + globals: "npm:^13.19.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + languageName: node + linkType: hard + +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 10c0/0b3c9958d3cd17f4add3574975e3115ae05dc7f1298a60810414b16f6f558c137b5fb3cd3905df380bacfd955ec13f67c1e6710cbb5c246a7e8d65a8289b2bff + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" + dependencies: + "@humanwhocodes/object-schema": "npm:^2.0.3" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^2.0.3": + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c + languageName: node + linkType: hard + +"@hutson/parse-repository-url@npm:^3.0.0": + version: 3.0.2 + resolution: "@hutson/parse-repository-url@npm:3.0.2" + checksum: 10c0/d9197757ecad2df18d29d3e1d1fe0716d458fd88b849c71cbec9e78239f911074c97e8d764dfd8ed890431c1137e52dd7a337207fd65be20ce0784f7860ae4d1 + languageName: node + linkType: hard + +"@iarna/toml@npm:^2.2.0, @iarna/toml@npm:^2.2.3": + version: 2.2.5 + resolution: "@iarna/toml@npm:2.2.5" + checksum: 10c0/d095381ad4554aca233b7cf5a91f243ef619e5e15efd3157bc640feac320545450d14b394aebbf6f02a2047437ced778ae598d5879a995441ab7b6c0b2c2f201 + languageName: node + linkType: hard + +"@img/sharp-darwin-arm64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-darwin-arm64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-darwin-arm64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-darwin-arm64": + optional: true + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@img/sharp-darwin-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-darwin-x64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-darwin-x64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-darwin-x64": + optional: true + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@img/sharp-libvips-darwin-arm64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@img/sharp-libvips-darwin-x64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-darwin-x64@npm:1.0.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-arm64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linux-arm64@npm:1.0.4" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-arm@npm:1.0.5": + version: 1.0.5 + resolution: "@img/sharp-libvips-linux-arm@npm:1.0.5" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-s390x@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linux-s390x@npm:1.0.4" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-x64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linux-x64@npm:1.0.4" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@img/sharp-libvips-linuxmusl-x64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@img/sharp-linux-arm64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-arm64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-arm64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linux-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linux-arm@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-arm@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-arm": "npm:1.0.5" + dependenciesMeta: + "@img/sharp-libvips-linux-arm": + optional: true + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linux-s390x@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-s390x@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-s390x": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linux-s390x": + optional: true + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linux-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-x64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-x64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linux-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linuxmusl-arm64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linuxmusl-arm64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@img/sharp-linuxmusl-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linuxmusl-x64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@img/sharp-wasm32@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-wasm32@npm:0.33.5" + dependencies: + "@emnapi/runtime": "npm:^1.2.0" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@img/sharp-win32-ia32@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-win32-ia32@npm:0.33.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@img/sharp-win32-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-win32-x64@npm:0.33.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@isaacs/string-locale-compare@npm:^1.1.0": + version: 1.1.0 + resolution: "@isaacs/string-locale-compare@npm:1.1.0" + checksum: 10c0/d67226ff7ac544a495c77df38187e69e0e3a0783724777f86caadafb306e2155dc3b5787d5927916ddd7fb4a53561ac8f705448ac3235d18ea60da5854829fdf + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.4.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.6 + resolution: "@jridgewell/source-map@npm:0.3.6" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + +"@khanacademy/flow-to-ts@npm:^0.5.2": + version: 0.5.2 + resolution: "@khanacademy/flow-to-ts@npm:0.5.2" + dependencies: + commander: "npm:^2.19.0" + glob: "npm:^7.1.6" + prettier: "npm:2.2.1" + trim-right: "npm:^1.0.1" + bin: + flow-to-ts: bin/flow-to-ts.js + checksum: 10c0/c93d85be6f110fb3fc5103a6daa08553eaaff6b0c0e071d666abc719c3aebb61a5b666d38ac7a24f8cae5a7b387473c36c3ceef1efa1dc98182d7ca692cf4d01 + languageName: node + linkType: hard + +"@kwsites/file-exists@npm:^1.1.1": + version: 1.1.1 + resolution: "@kwsites/file-exists@npm:1.1.1" + dependencies: + debug: "npm:^4.1.1" + checksum: 10c0/39e693239a72ccd8408bb618a0200e4a8d61682057ca7ae2c87668d7e69196e8d7e2c9cde73db6b23b3b0230169a15e5f1bfe086539f4be43e767b2db68e8ee4 + languageName: node + linkType: hard + +"@kwsites/promise-deferred@npm:^1.1.1": + version: 1.1.1 + resolution: "@kwsites/promise-deferred@npm:1.1.1" + checksum: 10c0/ef1ad3f1f50991e3bed352b175986d8b4bc684521698514a2ed63c1d1fc9848843da4f2bc2df961c9b148c94e1c34bf33f0da8a90ba2234e452481f2cc9937b1 + languageName: node + linkType: hard + +"@ladjs/consolidate@npm:^1.0.3": + version: 1.0.4 + resolution: "@ladjs/consolidate@npm:1.0.4" + peerDependencies: + "@babel/core": ^7.22.5 + arc-templates: ^0.5.3 + atpl: ">=0.7.6" + bracket-template: ^1.1.5 + coffee-script: ^1.12.7 + dot: ^1.1.3 + dust: ^0.3.0 + dustjs-helpers: ^1.7.4 + dustjs-linkedin: ^2.7.5 + eco: ^1.1.0-rc-3 + ect: ^0.5.9 + ejs: ^3.1.5 + haml-coffee: ^1.14.1 + hamlet: ^0.3.3 + hamljs: ^0.6.2 + handlebars: ^4.7.6 + hogan.js: ^3.0.2 + htmling: ^0.0.8 + jazz: ^0.0.18 + jqtpl: ~1.1.0 + just: ^0.1.8 + liquid-node: ^3.0.1 + liquor: ^0.0.5 + lodash: ^4.17.20 + mote: ^0.2.0 + mustache: ^4.0.1 + nunjucks: ^3.2.2 + plates: ~0.4.11 + pug: ^3.0.0 + qejs: ^3.0.5 + ractive: ^1.3.12 + react: ">=16.13.1" + react-dom: ">=16.13.1" + slm: ^2.0.0 + swig: ^1.4.2 + swig-templates: ^2.0.3 + teacup: ^2.0.0 + templayed: ">=0.2.3" + then-pug: "*" + tinyliquid: ^0.2.34 + toffee: ^0.3.6 + twig: ^1.15.2 + twing: ^5.0.2 + underscore: ^1.11.0 + vash: ^0.13.0 + velocityjs: ^2.0.1 + walrus: ^0.10.1 + whiskers: ^0.4.0 + peerDependenciesMeta: + "@babel/core": + optional: true + arc-templates: + optional: true + atpl: + optional: true + bracket-template: + optional: true + coffee-script: + optional: true + dot: + optional: true + dust: + optional: true + dustjs-helpers: + optional: true + dustjs-linkedin: + optional: true + eco: + optional: true + ect: + optional: true + ejs: + optional: true + haml-coffee: + optional: true + hamlet: + optional: true + hamljs: + optional: true + handlebars: + optional: true + hogan.js: + optional: true + htmling: + optional: true + jazz: + optional: true + jqtpl: + optional: true + just: + optional: true + liquid-node: + optional: true + liquor: + optional: true + lodash: + optional: true + mote: + optional: true + mustache: + optional: true + nunjucks: + optional: true + plates: + optional: true + pug: + optional: true + qejs: + optional: true + ractive: + optional: true + react: + optional: true + react-dom: + optional: true + slm: + optional: true + swig: + optional: true + swig-templates: + optional: true + teacup: + optional: true + templayed: + optional: true + then-pug: + optional: true + tinyliquid: + optional: true + toffee: + optional: true + twig: + optional: true + twing: + optional: true + underscore: + optional: true + vash: + optional: true + velocityjs: + optional: true + walrus: + optional: true + whiskers: + optional: true + checksum: 10c0/28a338314ddfe2258af36b1b7ace4d502c54326ea5629c4daa0dce8f3943681c953a9ce7c7a995b09931d2f83cb64b64dbad77d2e6341cc10c062867afa8c8aa + languageName: node + linkType: hard + +"@lerna/child-process@npm:6.6.2": + version: 6.6.2 + resolution: "@lerna/child-process@npm:6.6.2" + dependencies: + chalk: "npm:^4.1.0" + execa: "npm:^5.0.0" + strong-log-transformer: "npm:^2.1.0" + checksum: 10c0/94517af1b95eff91b7d7f02678837866b8cf4304ff8b94e8ee31c12541baee1c6b5eb0fbf21e6d8ed5d558dc176197f98f127195e90e159e2ddb9943f1ad7cf3 + languageName: node + linkType: hard + +"@lerna/create@npm:6.6.2": + version: 6.6.2 + resolution: "@lerna/create@npm:6.6.2" + dependencies: + "@lerna/child-process": "npm:6.6.2" + dedent: "npm:^0.7.0" + fs-extra: "npm:^9.1.0" + init-package-json: "npm:^3.0.2" + npm-package-arg: "npm:8.1.1" + p-reduce: "npm:^2.1.0" + pacote: "npm:15.1.1" + pify: "npm:^5.0.0" + semver: "npm:^7.3.4" + slash: "npm:^3.0.0" + validate-npm-package-license: "npm:^3.0.4" + validate-npm-package-name: "npm:^4.0.0" + yargs-parser: "npm:20.2.4" + checksum: 10c0/e37f3acc3ab65f1170b962ef180e5a39f5fd15c0ee08fb0532ea2ad923230897a67bb26f06495013c377dcab8040cefd7a9ed875b9333d835cfd43b5024d2f71 + languageName: node + linkType: hard + +"@lerna/legacy-package-management@npm:6.6.2": + version: 6.6.2 + resolution: "@lerna/legacy-package-management@npm:6.6.2" + dependencies: + "@npmcli/arborist": "npm:6.2.3" + "@npmcli/run-script": "npm:4.1.7" + "@nrwl/devkit": "npm:>=15.5.2 < 16" + "@octokit/rest": "npm:19.0.3" + byte-size: "npm:7.0.0" + chalk: "npm:4.1.0" + clone-deep: "npm:4.0.1" + cmd-shim: "npm:5.0.0" + columnify: "npm:1.6.0" + config-chain: "npm:1.1.12" + conventional-changelog-core: "npm:4.2.4" + conventional-recommended-bump: "npm:6.1.0" + cosmiconfig: "npm:7.0.0" + dedent: "npm:0.7.0" + dot-prop: "npm:6.0.1" + execa: "npm:5.0.0" + file-url: "npm:3.0.0" + find-up: "npm:5.0.0" + fs-extra: "npm:9.1.0" + get-port: "npm:5.1.1" + get-stream: "npm:6.0.0" + git-url-parse: "npm:13.1.0" + glob-parent: "npm:5.1.2" + globby: "npm:11.1.0" + graceful-fs: "npm:4.2.10" + has-unicode: "npm:2.0.1" + inquirer: "npm:8.2.4" + is-ci: "npm:2.0.0" + is-stream: "npm:2.0.0" + libnpmpublish: "npm:7.1.4" + load-json-file: "npm:6.2.0" + make-dir: "npm:3.1.0" + minimatch: "npm:3.0.5" + multimatch: "npm:5.0.0" + node-fetch: "npm:2.6.7" + npm-package-arg: "npm:8.1.1" + npm-packlist: "npm:5.1.1" + npm-registry-fetch: "npm:14.0.3" + npmlog: "npm:6.0.2" + p-map: "npm:4.0.0" + p-map-series: "npm:2.1.0" + p-queue: "npm:6.6.2" + p-waterfall: "npm:2.1.1" + pacote: "npm:15.1.1" + pify: "npm:5.0.0" + pretty-format: "npm:29.4.3" + read-cmd-shim: "npm:3.0.0" + read-package-json: "npm:5.0.1" + resolve-from: "npm:5.0.0" + semver: "npm:7.3.8" + signal-exit: "npm:3.0.7" + slash: "npm:3.0.0" + ssri: "npm:9.0.1" + strong-log-transformer: "npm:2.1.0" + tar: "npm:6.1.11" + temp-dir: "npm:1.0.0" + tempy: "npm:1.0.0" + upath: "npm:2.0.1" + uuid: "npm:8.3.2" + write-file-atomic: "npm:4.0.1" + write-pkg: "npm:4.0.0" + yargs: "npm:16.2.0" + checksum: 10c0/21087b65a0999852212d3cf8b9e94b4cf158324211a47d3655fadee84a59b6ec8b62dc133266a2204324cfbd0871d9cec65cfc8da802a6ee4b2f8effc5ed6614 + languageName: node + linkType: hard + +"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0": + version: 1.2.3 + resolution: "@lezer/common@npm:1.2.3" + checksum: 10c0/fe9f8e111080ef94037a34ca2af1221c8d01c1763ba5ecf708a286185c76119509a5d19d924c8842172716716ddce22d7834394670c4a9432f0ba9f3b7c0f50d + languageName: node + linkType: hard + +"@lezer/css@npm:^1.1.0, @lezer/css@npm:^1.1.7": + version: 1.1.9 + resolution: "@lezer/css@npm:1.1.9" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10c0/5aa99f2e48d10fb619fcb9a609d7b278436ea64d916a528204d4c7fc4072137556aa850e688a6a395a917169e1a84c08ec5acaf564955d3da5eb6000429f969b + languageName: node + linkType: hard + +"@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3": + version: 1.2.1 + resolution: "@lezer/highlight@npm:1.2.1" + dependencies: + "@lezer/common": "npm:^1.0.0" + checksum: 10c0/51b4c08596a0dfeec6a7b7ed90a7f2743ab42e7e8ff8b89707fd042860e4e133dbd8243639fcaf077305ae6c303aa74e69794015eb16cb34741f5ac6721f283c + languageName: node + linkType: hard + +"@lezer/html@npm:^1.3.0": + version: 1.3.10 + resolution: "@lezer/html@npm:1.3.10" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10c0/a7e782f9e9c5c5ffaa4a6fcf4ea5284e62c8fd3f0d378c86738b57077c002cbb013aeeb8aaae292b9517fea8b959216ce7af053269329962f6df2c7f9c2c8d99 + languageName: node + linkType: hard + +"@lezer/javascript@npm:^1.0.0": + version: 1.4.19 + resolution: "@lezer/javascript@npm:1.4.19" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.1.3" + "@lezer/lr": "npm:^1.3.0" + checksum: 10c0/04cb49e028dd03b07009e3bef8f1e99ead84ee5ee1f3210371a07b2d8af1e8f5fabf6316115d10f8f44b5db6efa0af713d9fe20ab2c99c83d9abe778a3eb3369 + languageName: node + linkType: hard + +"@lezer/json@npm:^1.0.0": + version: 1.0.2 + resolution: "@lezer/json@npm:1.0.2" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10c0/a84283b4e4ded682b5e90a068c52155deaeac79e8dc16da0e9904e72633be029a00ad2da26daa259e503ae3b116722985c3e15d9448336e5f0fde59f79b716ad + languageName: node + linkType: hard + +"@lezer/lr@npm:^1.0.0, @lezer/lr@npm:^1.3.0": + version: 1.4.2 + resolution: "@lezer/lr@npm:1.4.2" + dependencies: + "@lezer/common": "npm:^1.0.0" + checksum: 10c0/22bb5d0d4b33d0de5eb0706b7e5b5f2d20f570e112d9110009bd35b62ff10f2eb4eff8da4cf373dd4ddf5e06a304120b8f039add7ed9997c981c13945d5329cd + languageName: node + linkType: hard + +"@lmdb/lmdb-darwin-arm64@npm:2.8.5": + version: 2.8.5 + resolution: "@lmdb/lmdb-darwin-arm64@npm:2.8.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@lmdb/lmdb-darwin-x64@npm:2.8.5": + version: 2.8.5 + resolution: "@lmdb/lmdb-darwin-x64@npm:2.8.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@lmdb/lmdb-linux-arm64@npm:2.8.5": + version: 2.8.5 + resolution: "@lmdb/lmdb-linux-arm64@npm:2.8.5" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@lmdb/lmdb-linux-arm@npm:2.8.5": + version: 2.8.5 + resolution: "@lmdb/lmdb-linux-arm@npm:2.8.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@lmdb/lmdb-linux-x64@npm:2.8.5": + version: 2.8.5 + resolution: "@lmdb/lmdb-linux-x64@npm:2.8.5" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@lmdb/lmdb-win32-x64@npm:2.8.5": + version: 2.8.5 + resolution: "@lmdb/lmdb-win32-x64@npm:2.8.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@mdx-js/react@npm:^1.5.3": + version: 1.6.22 + resolution: "@mdx-js/react@npm:1.6.22" + peerDependencies: + react: ^16.13.1 || ^17.0.0 + checksum: 10c0/ed896671ffab04c1f11cdba45bfb2786acff58cd0b749b0a13d9b7a7022ac75cc036bec067ca946e6540e2934727e0ba8bf174e4ae10c916f30cda6aecac8992 + languageName: node + linkType: hard + +"@mischnic/dot-svg@npm:^0.0.0": + version: 0.0.0 + resolution: "@mischnic/dot-svg@npm:0.0.0" + checksum: 10c0/69df210e1bd72940efabcd2e4b3054f038762c78da1d22e705e9d7e4900021ba7684043720358779a1a6c3cd880b3a3a2f4520a633c39808fed7ea8418f7d5d1 + languageName: node + linkType: hard + +"@mischnic/json-sourcemap@npm:^0.1.0": + version: 0.1.1 + resolution: "@mischnic/json-sourcemap@npm:0.1.1" + dependencies: + "@lezer/common": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + json5: "npm:^2.2.1" + checksum: 10c0/e2e314fc048a16baedb10ec4d517c2622e464b8a9f8481cd4c008ebdabed1e5167a8f1407e06a14bb89f035addbb13851c1c5b6672ef8e089205f7f6d300cdd8 + languageName: node + linkType: hard + +"@mischnic/pako@npm:^1.0.10": + version: 1.0.10 + resolution: "@mischnic/pako@npm:1.0.10" + checksum: 10c0/36da75a978b2434d40f1e14211f5f29aa0a80f71846022b31aad6cbc92929761eda56ba0bae2d3c80281ba941d8cf1eaf842b5823c83e309f995d7e4fe3af2f1 + languageName: node + linkType: hard + +"@mischnic/yarn-browser@npm:^0.0.4": + version: 0.0.4 + resolution: "@mischnic/yarn-browser@npm:0.0.4" + dependencies: + "@msgpack/msgpack": "npm:^2.3.0" + assert: "npm:^2.0.0" + buffer: "npm:^5.5.0" + js-yaml: "npm:^3.13.1" + pako: "npm:~1.0.5" + readable-stream: "npm:^3.6.0" + semver: "npm:^7.3.4" + checksum: 10c0/22e73939ff66ebc2a6a292943d9728aeec95926e962162685a80b15071a81e875283bd693177c42752e2c687afd1d1129c580afe409038cfe6becf90a53b2fb8 + languageName: node + linkType: hard + +"@msgpack/msgpack@npm:^2.3.0": + version: 2.8.0 + resolution: "@msgpack/msgpack@npm:2.8.0" + checksum: 10c0/5964ed3daad9ccf314238da81c91152dc693bca167b2469445c1d3ce0495443612e543d052281061a91ec48ed44a6a49dd3a334b5d0dbe2dc2db6ea6143e5787 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:3.0.3": + version: 3.0.3 + resolution: "@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:3.0.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-darwin-x64@npm:3.0.3": + version: 3.0.3 + resolution: "@msgpackr-extract/msgpackr-extract-darwin-x64@npm:3.0.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-linux-arm64@npm:3.0.3": + version: 3.0.3 + resolution: "@msgpackr-extract/msgpackr-extract-linux-arm64@npm:3.0.3" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-linux-arm@npm:3.0.3": + version: 3.0.3 + resolution: "@msgpackr-extract/msgpackr-extract-linux-arm@npm:3.0.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-linux-x64@npm:3.0.3": + version: 3.0.3 + resolution: "@msgpackr-extract/msgpackr-extract-linux-x64@npm:3.0.3" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-win32-x64@npm:3.0.3": + version: 3.0.3 + resolution: "@msgpackr-extract/msgpackr-extract-win32-x64@npm:3.0.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@napi-rs/cli@npm:^2.15.2, @napi-rs/cli@npm:^2.18.3": + version: 2.18.4 + resolution: "@napi-rs/cli@npm:2.18.4" + bin: + napi: scripts/index.js + checksum: 10c0/cb80bc86687ba01077a0faa8d38198bc632b7caacf3a42ec42c3ec04700084ca26be9eec13bf7ac7da90e6afb46c65a39de8a86825a53b74dec2f2f459c0a7ea + languageName: node + linkType: hard + +"@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1": + version: 5.1.1-v1 + resolution: "@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1" + dependencies: + eslint-scope: "npm:5.1.1" + checksum: 10c0/75dda3e623b8ad7369ca22552d6beee337a814b2d0e8a32d23edd13fcb65c8082b32c5d86e436f3860dd7ade30d91d5db55d4ef9a08fb5a976c718ecc0d88a74 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/arborist@npm:6.2.3": + version: 6.2.3 + resolution: "@npmcli/arborist@npm:6.2.3" + dependencies: + "@isaacs/string-locale-compare": "npm:^1.1.0" + "@npmcli/fs": "npm:^3.1.0" + "@npmcli/installed-package-contents": "npm:^2.0.0" + "@npmcli/map-workspaces": "npm:^3.0.2" + "@npmcli/metavuln-calculator": "npm:^5.0.0" + "@npmcli/name-from-folder": "npm:^2.0.0" + "@npmcli/node-gyp": "npm:^3.0.0" + "@npmcli/package-json": "npm:^3.0.0" + "@npmcli/query": "npm:^3.0.0" + "@npmcli/run-script": "npm:^6.0.0" + bin-links: "npm:^4.0.1" + cacache: "npm:^17.0.4" + common-ancestor-path: "npm:^1.0.1" + hosted-git-info: "npm:^6.1.1" + json-parse-even-better-errors: "npm:^3.0.0" + json-stringify-nice: "npm:^1.1.4" + minimatch: "npm:^6.1.6" + nopt: "npm:^7.0.0" + npm-install-checks: "npm:^6.0.0" + npm-package-arg: "npm:^10.1.0" + npm-pick-manifest: "npm:^8.0.1" + npm-registry-fetch: "npm:^14.0.3" + npmlog: "npm:^7.0.1" + pacote: "npm:^15.0.8" + parse-conflict-json: "npm:^3.0.0" + proc-log: "npm:^3.0.0" + promise-all-reject-late: "npm:^1.0.0" + promise-call-limit: "npm:^1.0.1" + read-package-json-fast: "npm:^3.0.2" + semver: "npm:^7.3.7" + ssri: "npm:^10.0.1" + treeverse: "npm:^3.0.0" + walk-up-path: "npm:^1.0.0" + bin: + arborist: bin/index.js + checksum: 10c0/1422ba03aa5689379e976825198c9bf960ddb363a6bd6e4286527707b158b3467b3aafcfac957ce4e62502778943cb2dc0bee4dd207e3de5d3533fc066173f66 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^2.1.0": + version: 2.1.2 + resolution: "@npmcli/fs@npm:2.1.2" + dependencies: + "@gar/promisify": "npm:^1.1.3" + semver: "npm:^7.3.5" + checksum: 10c0/c50d087733d0d8df23be24f700f104b19922a28677aa66fdbe06ff6af6431cc4a5bb1e27683cbc661a5dafa9bafdc603e6a0378121506dfcd394b2b6dd76a187 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@npmcli/git@npm:^4.0.0, @npmcli/git@npm:^4.1.0": + version: 4.1.0 + resolution: "@npmcli/git@npm:4.1.0" + dependencies: + "@npmcli/promise-spawn": "npm:^6.0.0" + lru-cache: "npm:^7.4.4" + npm-pick-manifest: "npm:^8.0.0" + proc-log: "npm:^3.0.0" + promise-inflight: "npm:^1.0.1" + promise-retry: "npm:^2.0.1" + semver: "npm:^7.3.5" + which: "npm:^3.0.0" + checksum: 10c0/78591ba8f03de3954a5b5b83533455696635a8f8140c74038685fec4ee28674783a5b34a3d43840b2c5f9aa37fd0dce57eaf4ef136b52a8ec2ee183af2e40724 + languageName: node + linkType: hard + +"@npmcli/installed-package-contents@npm:^2.0.0, @npmcli/installed-package-contents@npm:^2.0.1": + version: 2.1.0 + resolution: "@npmcli/installed-package-contents@npm:2.1.0" + dependencies: + npm-bundled: "npm:^3.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + bin: + installed-package-contents: bin/index.js + checksum: 10c0/f5ecba0d45fc762f3e0d5def29fbfabd5d55e8147b01ae0a101769245c2e0038bc82a167836513a98aaed0a15c3d81fcdb232056bb8a962972a432533e518fce + languageName: node + linkType: hard + +"@npmcli/map-workspaces@npm:^3.0.2": + version: 3.0.6 + resolution: "@npmcli/map-workspaces@npm:3.0.6" + dependencies: + "@npmcli/name-from-folder": "npm:^2.0.0" + glob: "npm:^10.2.2" + minimatch: "npm:^9.0.0" + read-package-json-fast: "npm:^3.0.0" + checksum: 10c0/6bfcf8ca05ab9ddc2bd19c0fd91e9982f03cc6e67b0c03f04ba4d2f29b7d83f96e759c0f8f1f4b6dbe3182272483643a0d1269788352edd0c883d6fbfa2f3f14 + languageName: node + linkType: hard + +"@npmcli/metavuln-calculator@npm:^5.0.0": + version: 5.0.1 + resolution: "@npmcli/metavuln-calculator@npm:5.0.1" + dependencies: + cacache: "npm:^17.0.0" + json-parse-even-better-errors: "npm:^3.0.0" + pacote: "npm:^15.0.0" + semver: "npm:^7.3.5" + checksum: 10c0/0632e433de619da2c02215eabd1fa1e020eddccfe382ef5c8bd605f5fc8f636a4e7fe95ed59577325f7284cf4ee626980cbbaa27d8e7a7575cab409841a30578 + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.1 + resolution: "@npmcli/move-file@npm:2.0.1" + dependencies: + mkdirp: "npm:^1.0.4" + rimraf: "npm:^3.0.2" + checksum: 10c0/11b2151e6d1de6f6eb23128de5aa8a429fd9097d839a5190cb77aa47a6b627022c42d50fa7c47a00f1c9f8f0c1560092b09b061855d293fa0741a2a94cfb174d + languageName: node + linkType: hard + +"@npmcli/name-from-folder@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/name-from-folder@npm:2.0.0" + checksum: 10c0/1aa551771d98ab366d4cb06b33efd3bb62b609942f6d9c3bb667c10e5bb39a223d3e330022bc980a44402133e702ae67603862099ac8254dad11f90e77409827 + languageName: node + linkType: hard + +"@npmcli/node-gyp@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/node-gyp@npm:2.0.0" + checksum: 10c0/8de88f4a602e8f868f10c660250429d34a51aaa10cb4d0f1f919d7920632be22cc47ad0e4d75097cd68e07fec5b93e41803ae3f03c1a3370badd865461e6b486 + languageName: node + linkType: hard + +"@npmcli/node-gyp@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/node-gyp@npm:3.0.0" + checksum: 10c0/5d0ac17dacf2dd6e45312af2c1ae2749bb0730fcc82da101c37d3a4fd963a5e1c5d39781e5e1e5e5828df4ab1ad4e3fdbab1d69b7cd0abebad9983efb87df985 + languageName: node + linkType: hard + +"@npmcli/package-json@npm:^3.0.0": + version: 3.1.1 + resolution: "@npmcli/package-json@npm:3.1.1" + dependencies: + "@npmcli/git": "npm:^4.1.0" + glob: "npm:^10.2.2" + json-parse-even-better-errors: "npm:^3.0.0" + normalize-package-data: "npm:^5.0.0" + npm-normalize-package-bin: "npm:^3.0.1" + proc-log: "npm:^3.0.0" + checksum: 10c0/fc3052a36cb65c011da75dfdb051b631557e5ccc7b25b64be87cb363e8f2e99d78fcf94495f456406ada2c75afaff8177a2a06a46594f15eb0b4e667110a415e + languageName: node + linkType: hard + +"@npmcli/promise-spawn@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/promise-spawn@npm:3.0.0" + dependencies: + infer-owner: "npm:^1.0.4" + checksum: 10c0/934225972d7b3e456e76b2eae40b3ece2478a361d99aa56c79f65ef7c66aa83cd55330ee44daf43174b76649b25d722b9f85120a4591cac53d884423f315465c + languageName: node + linkType: hard + +"@npmcli/promise-spawn@npm:^6.0.0, @npmcli/promise-spawn@npm:^6.0.1": + version: 6.0.2 + resolution: "@npmcli/promise-spawn@npm:6.0.2" + dependencies: + which: "npm:^3.0.0" + checksum: 10c0/d0696b8d9f7e16562cd1e520e4919000164be042b5c9998a45b4e87d41d9619fcecf2a343621c6fa85ed2671cbe87ab07e381a7faea4e5132c371dbb05893f31 + languageName: node + linkType: hard + +"@npmcli/query@npm:^3.0.0": + version: 3.1.0 + resolution: "@npmcli/query@npm:3.1.0" + dependencies: + postcss-selector-parser: "npm:^6.0.10" + checksum: 10c0/9a099677dd188a2d9eb7a49e32c69d315b09faea59e851b7c2013b5bda915a38434efa7295565c40a1098916c06ebfa1840f68d831180e36842f48c24f4c5186 + languageName: node + linkType: hard + +"@npmcli/run-script@npm:4.1.7": + version: 4.1.7 + resolution: "@npmcli/run-script@npm:4.1.7" + dependencies: + "@npmcli/node-gyp": "npm:^2.0.0" + "@npmcli/promise-spawn": "npm:^3.0.0" + node-gyp: "npm:^9.0.0" + read-package-json-fast: "npm:^2.0.3" + which: "npm:^2.0.2" + checksum: 10c0/f658434967a9308c367a258d31073d3e0c563e0b5122108f1dc6360575bfeb05705aa53a9575f63151900b9e4cfa31057df3953bf6157645eee2937ba0f7678a + languageName: node + linkType: hard + +"@npmcli/run-script@npm:^6.0.0": + version: 6.0.2 + resolution: "@npmcli/run-script@npm:6.0.2" + dependencies: + "@npmcli/node-gyp": "npm:^3.0.0" + "@npmcli/promise-spawn": "npm:^6.0.0" + node-gyp: "npm:^9.0.0" + read-package-json-fast: "npm:^3.0.0" + which: "npm:^3.0.0" + checksum: 10c0/8c6ab2895eb6a2f24b1cd85dc934edae2d1c02af3acfc383655857f3893ed133d393876add800600d2e1702f8b62133d7cf8da00d81a1c885cc6029ef9e8e691 + languageName: node + linkType: hard + +"@nrwl/cli@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/cli@npm:15.9.7" + dependencies: + nx: "npm:15.9.7" + checksum: 10c0/7fe454ae5a752abcc310edda6bd30ba4c9b7228d3c903231549d3a578825aaca4a49250b4ff73809aa02d8abc5478c6ac80ae1306b519f89a6f8cfedfb71c2cf + languageName: node + linkType: hard + +"@nrwl/devkit@npm:>=15.5.2 < 16": + version: 15.9.7 + resolution: "@nrwl/devkit@npm:15.9.7" + dependencies: + ejs: "npm:^3.1.7" + ignore: "npm:^5.0.4" + semver: "npm:7.5.4" + tmp: "npm:~0.2.1" + tslib: "npm:^2.3.0" + peerDependencies: + nx: ">= 14.1 <= 16" + checksum: 10c0/bbf384f2e8ba6608ca17c977f9b2992ccef8f022c9687689b374acaaf94c252ebddd2389ef6e8f978af650e8c85819cc3fef440c5d873c4009e8f4c999d08f73 + languageName: node + linkType: hard + +"@nrwl/nx-darwin-arm64@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/nx-darwin-arm64@npm:15.9.7" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@nrwl/nx-darwin-x64@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/nx-darwin-x64@npm:15.9.7" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@nrwl/nx-linux-arm-gnueabihf@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/nx-linux-arm-gnueabihf@npm:15.9.7" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@nrwl/nx-linux-arm64-gnu@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/nx-linux-arm64-gnu@npm:15.9.7" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@nrwl/nx-linux-arm64-musl@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/nx-linux-arm64-musl@npm:15.9.7" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@nrwl/nx-linux-x64-gnu@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/nx-linux-x64-gnu@npm:15.9.7" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@nrwl/nx-linux-x64-musl@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/nx-linux-x64-musl@npm:15.9.7" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@nrwl/nx-win32-arm64-msvc@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/nx-win32-arm64-msvc@npm:15.9.7" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@nrwl/nx-win32-x64-msvc@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/nx-win32-x64-msvc@npm:15.9.7" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@nrwl/tao@npm:15.9.7": + version: 15.9.7 + resolution: "@nrwl/tao@npm:15.9.7" + dependencies: + nx: "npm:15.9.7" + bin: + tao: index.js + checksum: 10c0/6ef6d77da018ad0ebaddc9bd4608d859211458e65979fc034e3c1e2bdfc77041c4ef43c24ab1dac108c48e8461de3bd266978948e523d4d6214d942895d26253 + languageName: node + linkType: hard + +"@octokit/auth-token@npm:^3.0.0": + version: 3.0.4 + resolution: "@octokit/auth-token@npm:3.0.4" + checksum: 10c0/abdf5e2da36344de9727c70ba782d58004f5ae1da0f65fa9bc9216af596ef23c0e4675f386df2f6886806612558091d603564051b693b0ad1986aa6160b7a231 + languageName: node + linkType: hard + +"@octokit/core@npm:^4.0.0": + version: 4.2.4 + resolution: "@octokit/core@npm:4.2.4" + dependencies: + "@octokit/auth-token": "npm:^3.0.0" + "@octokit/graphql": "npm:^5.0.0" + "@octokit/request": "npm:^6.0.0" + "@octokit/request-error": "npm:^3.0.0" + "@octokit/types": "npm:^9.0.0" + before-after-hook: "npm:^2.2.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/e54081a56884e628d1804837fddcd48c10d516117bb891551c8dc9d8e3dad449aeb9b4677ca71e8f0e76268c2b7656c953099506679aaa4666765228474a3ce6 + languageName: node + linkType: hard + +"@octokit/endpoint@npm:^7.0.0": + version: 7.0.6 + resolution: "@octokit/endpoint@npm:7.0.6" + dependencies: + "@octokit/types": "npm:^9.0.0" + is-plain-object: "npm:^5.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/fd147a55010b54af7567bf90791359f7096a1c9916a2b7c72f8afd0c53141338b3d78da3a4ab3e3bdfeb26218a1b73735432d8987ccc04996b1019219299f115 + languageName: node + linkType: hard + +"@octokit/graphql@npm:^5.0.0": + version: 5.0.6 + resolution: "@octokit/graphql@npm:5.0.6" + dependencies: + "@octokit/request": "npm:^6.0.0" + "@octokit/types": "npm:^9.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/de1d839d97fe6d96179925f6714bf96e7af6f77929892596bb4211adab14add3291fc5872b269a3d0e91a4dcf248d16096c82606c4a43538cf241b815c2e2a36 + languageName: node + linkType: hard + +"@octokit/openapi-types@npm:^12.11.0": + version: 12.11.0 + resolution: "@octokit/openapi-types@npm:12.11.0" + checksum: 10c0/b3bb3684d9686ef948d8805ab56f85818f36e4cb64ef97b8e48dc233efefef22fe0bddd9da705fb628ea618a1bebd62b3d81b09a3f7dce9522f124d998041896 + languageName: node + linkType: hard + +"@octokit/openapi-types@npm:^14.0.0": + version: 14.0.0 + resolution: "@octokit/openapi-types@npm:14.0.0" + checksum: 10c0/d122bbfd4997ea7e056c7fcf5b3240982b5b090b816671eca01829ac5ce19d2a19f6da35d126ae19a956a4203c68302d8fb33d5c00c77996b4e4a746878ea589 + languageName: node + linkType: hard + +"@octokit/openapi-types@npm:^18.0.0": + version: 18.1.1 + resolution: "@octokit/openapi-types@npm:18.1.1" + checksum: 10c0/856d3bb9f8c666e837dd5e8b8c216ee4342b9ed63ff8da922ca4ce5883ed1dfbec73390eb13d69fbcb4703a4c8b8b6a586df3b0e675ff93bf3d46b5b4fe0968e + languageName: node + linkType: hard + +"@octokit/plugin-enterprise-rest@npm:6.0.1": + version: 6.0.1 + resolution: "@octokit/plugin-enterprise-rest@npm:6.0.1" + checksum: 10c0/26bd0a30582954efcd29b41e16698db79e9d20e3f88c4069b43b183223cee69862621f18b6a7a1c9257b1cd07c24477e403b75c74688660ecf31d467b9d8fd9e + languageName: node + linkType: hard + +"@octokit/plugin-paginate-rest@npm:^3.0.0": + version: 3.1.0 + resolution: "@octokit/plugin-paginate-rest@npm:3.1.0" + dependencies: + "@octokit/types": "npm:^6.41.0" + peerDependencies: + "@octokit/core": ">=4" + checksum: 10c0/6a4eed9be518b7b7a05c30340dc4cec6a3bf8cfa6fa7fc3fa65b4193a3c47628e39469113643ea2eea38648dbc998482209ed35014344eaea78effd5629e36f3 + languageName: node + linkType: hard + +"@octokit/plugin-request-log@npm:^1.0.4": + version: 1.0.4 + resolution: "@octokit/plugin-request-log@npm:1.0.4" + peerDependencies: + "@octokit/core": ">=3" + checksum: 10c0/7238585445555db553912e0cdef82801c89c6e5cbc62c23ae086761c23cc4a403d6c3fddd20348bbd42fb7508e2c2fce370eb18fdbe3fbae2c0d2c8be974f4cc + languageName: node + linkType: hard + +"@octokit/plugin-rest-endpoint-methods@npm:^6.0.0": + version: 6.8.1 + resolution: "@octokit/plugin-rest-endpoint-methods@npm:6.8.1" + dependencies: + "@octokit/types": "npm:^8.1.1" + deprecation: "npm:^2.3.1" + peerDependencies: + "@octokit/core": ">=3" + checksum: 10c0/1ab8d3042fac9673f7152a783551c60cdbd3fa1383e6fc026f0ab5aca9105419e1cfa12c6e7955b5904a8c7dc9d2da413b31f3f6c45f6fb048cfb378b4e3dd66 + languageName: node + linkType: hard + +"@octokit/request-error@npm:^3.0.0": + version: 3.0.3 + resolution: "@octokit/request-error@npm:3.0.3" + dependencies: + "@octokit/types": "npm:^9.0.0" + deprecation: "npm:^2.0.0" + once: "npm:^1.4.0" + checksum: 10c0/1e252ac193c8af23b709909911aa327ed5372cbafcba09e4aff41e0f640a7c152579ab0a60311a92e37b4e7936392d59ee4c2feae5cdc387ee8587a33d8afa60 + languageName: node + linkType: hard + +"@octokit/request@npm:^6.0.0": + version: 6.2.8 + resolution: "@octokit/request@npm:6.2.8" + dependencies: + "@octokit/endpoint": "npm:^7.0.0" + "@octokit/request-error": "npm:^3.0.0" + "@octokit/types": "npm:^9.0.0" + is-plain-object: "npm:^5.0.0" + node-fetch: "npm:^2.6.7" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/6b6079ed45bac44c4579b40990bfd1905b03d4bc4e5255f3d5a10cf5182171578ebe19abeab32ebb11a806f1131947f2a06b7a077bd7e77ade7b15fe2882174b + languageName: node + linkType: hard + +"@octokit/rest@npm:19.0.3": + version: 19.0.3 + resolution: "@octokit/rest@npm:19.0.3" + dependencies: + "@octokit/core": "npm:^4.0.0" + "@octokit/plugin-paginate-rest": "npm:^3.0.0" + "@octokit/plugin-request-log": "npm:^1.0.4" + "@octokit/plugin-rest-endpoint-methods": "npm:^6.0.0" + checksum: 10c0/ee9c3d537dba827d47af9eb7f4a2f78d81a6441a45e81a4c9b4a5adada0fa2ccf2759fdfac9f3c53543c22fefa21a0c68417773d74e3b4a5101189fd7950ee6e + languageName: node + linkType: hard + +"@octokit/types@npm:^6.41.0": + version: 6.41.0 + resolution: "@octokit/types@npm:6.41.0" + dependencies: + "@octokit/openapi-types": "npm:^12.11.0" + checksum: 10c0/81cfa58e5524bf2e233d75a346e625fd6e02a7b919762c6ddb523ad6fb108943ef9d34c0298ff3c5a44122e449d9038263bc22959247fd6ff8894a48888ac705 + languageName: node + linkType: hard + +"@octokit/types@npm:^8.1.1": + version: 8.2.1 + resolution: "@octokit/types@npm:8.2.1" + dependencies: + "@octokit/openapi-types": "npm:^14.0.0" + checksum: 10c0/85a97bca714b88ea0d34066b4821e48ba4f8dda8f3970f1a00deb02b3e3f1cc315720d25430082dc651c400717510273193ac6af610268488160bb9e6a30bef8 + languageName: node + linkType: hard + +"@octokit/types@npm:^9.0.0": + version: 9.3.2 + resolution: "@octokit/types@npm:9.3.2" + dependencies: + "@octokit/openapi-types": "npm:^18.0.0" + checksum: 10c0/2925479aa378a4491762b4fcf381bdc7daca39b4e0b2dd7062bce5d74a32ed7d79d20d3c65ceaca6d105cf4b1f7417fea634219bf90f79a57d03e2dac629ec45 + languageName: node + linkType: hard + +"@parcel/babel-plugin-transform-runtime@workspace:packages/utils/babel-plugin-transform-runtime": + version: 0.0.0-use.local + resolution: "@parcel/babel-plugin-transform-runtime@workspace:packages/utils/babel-plugin-transform-runtime" + dependencies: + "@babel/core": "npm:^7.22.11" + "@babel/plugin-transform-runtime": "npm:^7.22.10" + "@parcel/babel-preset-env": "npm:2.14.4" + semver: "npm:^7.5.2" + languageName: unknown + linkType: soft + +"@parcel/babel-preset-env@npm:2.14.4, @parcel/babel-preset-env@workspace:packages/utils/babel-preset-env": + version: 0.0.0-use.local + resolution: "@parcel/babel-preset-env@workspace:packages/utils/babel-preset-env" + dependencies: + "@babel/core": "npm:^7.22.11" + "@babel/preset-env": "npm:^7.22.14" + semver: "npm:^7.5.2" + peerDependencies: + "@babel/core": ^7.22.11 + languageName: unknown + linkType: soft + +"@parcel/babel-preset@npm:2.14.4, @parcel/babel-preset@workspace:packages/dev/babel-preset": + version: 0.0.0-use.local + resolution: "@parcel/babel-preset@workspace:packages/dev/babel-preset" + dependencies: + "@babel/core": "npm:^7.22.11" + "@babel/plugin-transform-modules-commonjs": "npm:^7.22.11" + "@babel/preset-env": "npm:^7.22.14" + "@babel/preset-flow": "npm:^7.22.5" + "@babel/preset-react": "npm:^7.22.5" + babel-plugin-minify-dead-code-elimination: "npm:^0.5.0" + babel-plugin-transform-inline-environment-variables: "npm:^0.4.3" + read-pkg-up: "npm:^4.0.0" + languageName: unknown + linkType: soft + +"@parcel/babel-register@npm:*, @parcel/babel-register@npm:2.14.4, @parcel/babel-register@workspace:packages/dev/babel-register": + version: 0.0.0-use.local + resolution: "@parcel/babel-register@workspace:packages/dev/babel-register" + dependencies: + "@babel/register": "npm:^7.22.5" + "@parcel/babel-preset": "npm:2.14.4" + resolve: "npm:^1.12.0" + peerDependencies: + "@babel/core": ^7.22.11 + languageName: unknown + linkType: soft + +"@parcel/bundle-stats@workspace:packages/dev/bundle-stats-cli": + version: 0.0.0-use.local + resolution: "@parcel/bundle-stats@workspace:packages/dev/bundle-stats-cli" + dependencies: + "@parcel/babel-register": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/query": "npm:2.14.4" + "@parcel/reporter-bundle-stats": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + commander: "npm:^12.1.0" + bin: + parcel-bundle-stats: src/bin.js + languageName: unknown + linkType: soft + +"@parcel/bundler-default@npm:2.14.4, @parcel/bundler-default@workspace:packages/bundlers/default": + version: 0.0.0-use.local + resolution: "@parcel/bundler-default@workspace:packages/bundlers/default" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/graph": "npm:3.4.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/bundler-library@workspace:packages/bundlers/library": + version: 0.0.0-use.local + resolution: "@parcel/bundler-library@workspace:packages/bundlers/library" + dependencies: + "@parcel/plugin": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/cache@npm:2.14.4, @parcel/cache@workspace:packages/core/cache": + version: 0.0.0-use.local + resolution: "@parcel/cache@workspace:packages/core/cache" + dependencies: + "@parcel/fs": "npm:2.14.4" + "@parcel/logger": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + idb: "npm:^5.0.8" + lmdb: "npm:2.8.5" + peerDependencies: + "@parcel/core": ^2.14.4 + languageName: unknown + linkType: soft + +"@parcel/codeframe@npm:2.14.4, @parcel/codeframe@workspace:packages/core/codeframe": + version: 0.0.0-use.local + resolution: "@parcel/codeframe@workspace:packages/core/codeframe" + dependencies: + chalk: "npm:^4.1.2" + emphasize: "npm:^4.2.0" + slice-ansi: "npm:^4.0.0" + string-width: "npm:^4.2.0" + languageName: unknown + linkType: soft + +"@parcel/compressor-brotli@workspace:packages/compressors/brotli": + version: 0.0.0-use.local + resolution: "@parcel/compressor-brotli@workspace:packages/compressors/brotli" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/compressor-gzip@workspace:packages/compressors/gzip": + version: 0.0.0-use.local + resolution: "@parcel/compressor-gzip@workspace:packages/compressors/gzip" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/compressor-raw@npm:2.14.4, @parcel/compressor-raw@workspace:packages/compressors/raw": + version: 0.0.0-use.local + resolution: "@parcel/compressor-raw@workspace:packages/compressors/raw" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/config-default@npm:2.14.4, @parcel/config-default@workspace:packages/configs/default": + version: 0.0.0-use.local + resolution: "@parcel/config-default@workspace:packages/configs/default" + dependencies: + "@parcel/bundler-default": "npm:2.14.4" + "@parcel/compressor-raw": "npm:2.14.4" + "@parcel/namer-default": "npm:2.14.4" + "@parcel/optimizer-css": "npm:2.14.4" + "@parcel/optimizer-html": "npm:2.14.4" + "@parcel/optimizer-image": "npm:2.14.4" + "@parcel/optimizer-svg": "npm:2.14.4" + "@parcel/optimizer-swc": "npm:2.14.4" + "@parcel/packager-css": "npm:2.14.4" + "@parcel/packager-html": "npm:2.14.4" + "@parcel/packager-js": "npm:2.14.4" + "@parcel/packager-raw": "npm:2.14.4" + "@parcel/packager-svg": "npm:2.14.4" + "@parcel/packager-wasm": "npm:2.14.4" + "@parcel/reporter-dev-server": "npm:2.14.4" + "@parcel/resolver-default": "npm:2.14.4" + "@parcel/runtime-browser-hmr": "npm:2.14.4" + "@parcel/runtime-js": "npm:2.14.4" + "@parcel/runtime-rsc": "npm:2.14.4" + "@parcel/runtime-service-worker": "npm:2.14.4" + "@parcel/transformer-babel": "npm:2.14.4" + "@parcel/transformer-css": "npm:2.14.4" + "@parcel/transformer-html": "npm:2.14.4" + "@parcel/transformer-image": "npm:2.14.4" + "@parcel/transformer-js": "npm:2.14.4" + "@parcel/transformer-json": "npm:2.14.4" + "@parcel/transformer-node": "npm:2.14.4" + "@parcel/transformer-postcss": "npm:2.14.4" + "@parcel/transformer-posthtml": "npm:2.14.4" + "@parcel/transformer-raw": "npm:2.14.4" + "@parcel/transformer-react-refresh-wrap": "npm:2.14.4" + "@parcel/transformer-svg": "npm:2.14.4" + peerDependencies: + "@parcel/core": ^2.14.4 + languageName: unknown + linkType: soft + +"@parcel/config-repl@npm:2.14.4, @parcel/config-repl@workspace:packages/configs/repl": + version: 0.0.0-use.local + resolution: "@parcel/config-repl@workspace:packages/configs/repl" + dependencies: + "@parcel/bundler-default": "npm:2.14.4" + "@parcel/compressor-raw": "npm:2.14.4" + "@parcel/namer-default": "npm:2.14.4" + "@parcel/optimizer-terser": "npm:2.14.4" + "@parcel/packager-css": "npm:2.14.4" + "@parcel/packager-html": "npm:2.14.4" + "@parcel/packager-js": "npm:2.14.4" + "@parcel/packager-raw": "npm:2.14.4" + "@parcel/reporter-dev-server-sw": "npm:2.14.4" + "@parcel/reporter-json": "npm:2.14.4" + "@parcel/resolver-default": "npm:2.14.4" + "@parcel/resolver-repl-runtimes": "npm:2.14.4" + "@parcel/runtime-browser-hmr": "npm:2.14.4" + "@parcel/runtime-js": "npm:2.14.4" + "@parcel/transformer-babel": "npm:2.14.4" + "@parcel/transformer-css": "npm:2.14.4" + "@parcel/transformer-html": "npm:2.14.4" + "@parcel/transformer-inline-string": "npm:2.14.4" + "@parcel/transformer-js": "npm:2.14.4" + "@parcel/transformer-json": "npm:2.14.4" + "@parcel/transformer-postcss": "npm:2.14.4" + "@parcel/transformer-posthtml": "npm:2.14.4" + "@parcel/transformer-raw": "npm:2.14.4" + "@parcel/transformer-react-refresh-wrap": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/config-webextension@workspace:packages/configs/webextension": + version: 0.0.0-use.local + resolution: "@parcel/config-webextension@workspace:packages/configs/webextension" + dependencies: + "@parcel/config-default": "npm:2.14.4" + "@parcel/packager-webextension": "npm:2.14.4" + "@parcel/runtime-webextension": "npm:2.14.4" + "@parcel/transformer-raw": "npm:2.14.4" + "@parcel/transformer-webextension": "npm:2.14.4" + peerDependencies: + "@parcel/core": ^2.14.4 + languageName: unknown + linkType: soft + +"@parcel/core@npm:2.14.4, @parcel/core@workspace:packages/core/core": + version: 0.0.0-use.local + resolution: "@parcel/core@workspace:packages/core/core" + dependencies: + "@mischnic/json-sourcemap": "npm:^0.1.0" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/cache": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/events": "npm:2.14.4" + "@parcel/feature-flags": "npm:2.14.4" + "@parcel/fs": "npm:2.14.4" + "@parcel/graph": "npm:3.4.4" + "@parcel/logger": "npm:2.14.4" + "@parcel/package-manager": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/profiler": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + "@parcel/workers": "npm:2.14.4" + "@types/node": "npm:>= 18" + base-x: "npm:^3.0.8" + browserslist: "npm:^4.6.6" + clone: "npm:^2.1.1" + dotenv: "npm:^16.4.5" + dotenv-expand: "npm:^11.0.6" + graphviz: "npm:^0.0.9" + json5: "npm:^2.2.0" + msgpackr: "npm:^1.9.9" + nullthrows: "npm:^1.1.1" + semver: "npm:^7.5.2" + tempy: "npm:^0.2.1" + languageName: unknown + linkType: soft + +"@parcel/create-react-app@workspace:packages/utils/create-react-app": + version: 0.0.0-use.local + resolution: "@parcel/create-react-app@workspace:packages/utils/create-react-app" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + chalk: "npm:^4.1.2" + command-exists: "npm:^1.2.6" + commander: "npm:^12.1.0" + cross-spawn: "npm:^7.0.3" + ncp: "npm:^2.0.0" + rimraf: "npm:^5.0.5" + simple-git: "npm:^3.21.0" + tempy: "npm:^0.2.1" + v8-compile-cache: "npm:^2.0.0" + bin: + parcel-create-react-app: src/bin.js + languageName: unknown + linkType: soft + +"@parcel/diagnostic@npm:2.14.4, @parcel/diagnostic@workspace:packages/core/diagnostic": + version: 0.0.0-use.local + resolution: "@parcel/diagnostic@workspace:packages/core/diagnostic" + dependencies: + "@mischnic/json-sourcemap": "npm:^0.1.0" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/error-overlay@npm:2.14.4, @parcel/error-overlay@workspace:packages/utils/error-overlay": + version: 0.0.0-use.local + resolution: "@parcel/error-overlay@workspace:packages/utils/error-overlay" + dependencies: + ansi-html-community: "npm:0.0.8" + preact: "npm:^10.26.4" + languageName: unknown + linkType: soft + +"@parcel/eslint-config-browser@workspace:packages/dev/eslint-config-browser": + version: 0.0.0-use.local + resolution: "@parcel/eslint-config-browser@workspace:packages/dev/eslint-config-browser" + dependencies: + "@parcel/eslint-config": "npm:2.14.4" + peerDependencies: + "@babel/core": ^7.22.11 + eslint: ">= 7.0.0" + languageName: unknown + linkType: soft + +"@parcel/eslint-config@npm:2.14.4, @parcel/eslint-config@workspace:packages/dev/eslint-config": + version: 0.0.0-use.local + resolution: "@parcel/eslint-config@workspace:packages/dev/eslint-config" + dependencies: + "@babel/eslint-parser": "npm:^7.22.11" + "@babel/plugin-syntax-flow": "npm:^7.14.5" + "@babel/plugin-transform-react-jsx": "npm:^7.14.9" + "@parcel/eslint-plugin": "npm:2.14.4" + eslint-config-prettier: "npm:^8.8.0" + eslint-plugin-flowtype: "npm:^8.0.3" + eslint-plugin-import: "npm:^2.22.1" + eslint-plugin-mocha: "npm:^8.0.0" + eslint-plugin-monorepo: "npm:^0.3.2" + eslint-plugin-react: "npm:^7.32.2" + peerDependencies: + "@babel/core": ^7.22.11 + eslint: ">= 7.0.0" + languageName: unknown + linkType: soft + +"@parcel/eslint-example@workspace:packages/examples/eslint-example": + version: 0.0.0-use.local + resolution: "@parcel/eslint-example@workspace:packages/examples/eslint-example" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/validator-eslint": "npm:2.14.4" + parcel: "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/eslint-plugin@npm:2.14.4, @parcel/eslint-plugin@workspace:packages/dev/eslint-plugin": + version: 0.0.0-use.local + resolution: "@parcel/eslint-plugin@workspace:packages/dev/eslint-plugin" + dependencies: + "@babel/core": "npm:^7.22.11" + "@babel/eslint-parser": "npm:^7.22.11" + eslint: "npm:^8.41.0" + read-pkg-up: "npm:^5.0.0" + languageName: unknown + linkType: soft + +"@parcel/events@npm:2.14.4, @parcel/events@workspace:packages/utils/events": + version: 0.0.0-use.local + resolution: "@parcel/events@workspace:packages/utils/events" + languageName: unknown + linkType: soft + +"@parcel/feature-flags@npm:2.14.4, @parcel/feature-flags@workspace:packages/core/feature-flags": + version: 0.0.0-use.local + resolution: "@parcel/feature-flags@workspace:packages/core/feature-flags" + languageName: unknown + linkType: soft + +"@parcel/fs@npm:2.14.4, @parcel/fs@workspace:packages/core/fs": + version: 0.0.0-use.local + resolution: "@parcel/fs@workspace:packages/core/fs" + dependencies: + "@parcel/feature-flags": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/types-internal": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + "@parcel/watcher": "npm:^2.0.7" + "@parcel/watcher-watchman-js": "npm:2.14.4" + "@parcel/workers": "npm:2.14.4" + graceful-fs: "npm:^4.2.4" + ncp: "npm:^2.0.0" + nullthrows: "npm:^1.1.1" + utility-types: "npm:^3.10.0" + peerDependencies: + "@parcel/core": ^2.14.4 + languageName: unknown + linkType: soft + +"@parcel/graph@npm:3.4.4, @parcel/graph@workspace:packages/core/graph": + version: 0.0.0-use.local + resolution: "@parcel/graph@workspace:packages/core/graph" + dependencies: + "@parcel/feature-flags": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/html-example@workspace:packages/examples/html": + version: 0.0.0-use.local + resolution: "@parcel/html-example@workspace:packages/examples/html" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + lodash: "npm:^4.17.11" + parcel: "npm:2.14.4" + react: "npm:^19" + react-dom: "npm:^19" + languageName: unknown + linkType: soft + +"@parcel/integration-tests@workspace:packages/core/integration-tests": + version: 0.0.0-use.local + resolution: "@parcel/integration-tests@workspace:packages/core/integration-tests" + dependencies: + "@babel/core": "npm:^7.22.11" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-export-default-from": "npm:^7.22.5" + "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + "@babel/plugin-syntax-module-attributes": "npm:^7.10.4" + "@babel/preset-env": "npm:^7.22.14" + "@babel/preset-typescript": "npm:^7.22.11" + "@mdx-js/react": "npm:^1.5.3" + "@types/react": "npm:^19" + "@types/react-dom": "npm:^19" + autoprefixer: "npm:^10.4.0" + chalk: "npm:^4.1.2" + command-exists: "npm:^1.2.6" + core-js: "npm:^3.2.1" + cross-env: "npm:^7.0.0" + date-fns: "npm:^4.1.0" + elm: "npm:^0.19.1-5" + elm-hot: "npm:^1.1.5" + esbuild-register: "npm:^3.5.0" + exif-reader: "npm:^2.0.1" + get-port: "npm:^5.0.0" + http-proxy-middleware: "npm:^2.0.1" + jsdom: "npm:^25.0.1" + json5: "npm:^2.2.0" + lodash: "npm:^4.17.15" + ncp: "npm:^2.0.0" + nib: "npm:^1.1.2" + node-elm-compiler: "npm:^5.0.5" + parcel: "npm:2.14.4" + postcss: "npm:^8.4.5" + postcss-custom-properties: "npm:^12.1.2" + postcss-import: "npm:^16.1.0" + posthtml-include: "npm:^2.0.1" + posthtml-obfuscate: "npm:^0.1.5" + preact: "npm:^10.5.9" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" + sugarss: "npm:^4.0.1" + tailwindcss: "npm:^3.0.2" + tempy: "npm:^0.3.0" + wasm-sourcemap: "npm:^1.0.0" + ws: "npm:^8.18.0" + languageName: unknown + linkType: soft + +"@parcel/kitchen-sink-example@workspace:packages/examples/kitchen-sink": + version: 0.0.0-use.local + resolution: "@parcel/kitchen-sink-example@workspace:packages/examples/kitchen-sink" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/config-default": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/optimizer-esbuild": "npm:2.14.4" + "@parcel/reporter-sourcemap-visualiser": "npm:2.14.4" + lodash: "npm:^4.17.11" + parcel: "npm:2.14.4" + react: "npm:^19" + react-dom: "npm:^19" + languageName: unknown + linkType: soft + +"@parcel/link@workspace:packages/dev/parcel-link": + version: 0.0.0-use.local + resolution: "@parcel/link@workspace:packages/dev/parcel-link" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/fs": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + commander: "npm:^12.1.0" + nullthrows: "npm:^1.1.1" + bin: + parcel-link: bin.js + languageName: unknown + linkType: soft + +"@parcel/logger@npm:2.14.4, @parcel/logger@workspace:packages/core/logger": + version: 0.0.0-use.local + resolution: "@parcel/logger@workspace:packages/core/logger" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/events": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/lsp-protocol@npm:2.14.4, @parcel/lsp-protocol@workspace:packages/utils/parcel-lsp-protocol": + version: 0.0.0-use.local + resolution: "@parcel/lsp-protocol@workspace:packages/utils/parcel-lsp-protocol" + dependencies: + typescript: "npm:>=3.0.0" + vscode-jsonrpc: "npm:^8.0.2" + languageName: unknown + linkType: soft + +"@parcel/lsp@npm:2.14.4, @parcel/lsp@workspace:packages/utils/parcel-lsp": + version: 0.0.0-use.local + resolution: "@parcel/lsp@workspace:packages/utils/parcel-lsp" + dependencies: + "@parcel/lsp-protocol": "npm:2.14.4" + "@parcel/watcher": "npm:^2.0.7" + "@types/node": "npm:>= 18" + "@typescript-eslint/eslint-plugin": "npm:^5.59.7" + "@typescript-eslint/parser": "npm:^5.59.7" + common-path-prefix: "npm:^3.0.0" + eslint: "npm:^8.41.0" + nullthrows: "npm:^1.1.1" + typescript: "npm:>=3.0.0" + vscode-jsonrpc: "npm:^8.0.2" + vscode-languageclient: "npm:^8.0.2" + vscode-languageserver: "npm:^8.0.2" + vscode-languageserver-textdocument: "npm:^1.0.0" + languageName: unknown + linkType: soft + +"@parcel/macros@workspace:packages/utils/macros": + version: 0.0.0-use.local + resolution: "@parcel/macros@workspace:packages/utils/macros" + languageName: unknown + linkType: soft + +"@parcel/markdown-ansi@npm:2.14.4, @parcel/markdown-ansi@workspace:packages/core/markdown-ansi": + version: 0.0.0-use.local + resolution: "@parcel/markdown-ansi@workspace:packages/core/markdown-ansi" + dependencies: + chalk: "npm:^4.1.2" + languageName: unknown + linkType: soft + +"@parcel/monorepo@workspace:.": + version: 0.0.0-use.local + resolution: "@parcel/monorepo@workspace:." + dependencies: + "@babel/core": "npm:^7.22.11" + "@khanacademy/flow-to-ts": "npm:^0.5.2" + "@napi-rs/cli": "npm:^2.18.3" + "@parcel/babel-register": "npm:*" + "@swc/core": "npm:^1.11.5" + "@types/node": "npm:>= 18" + buffer: "mischnic/buffer#b8a4fa94" + cross-env: "npm:^7.0.0" + eslint: "npm:^8.41.0" + fast-glob: "npm:^3.2.12" + flow-bin: "npm:0.184.0" + gulp: "npm:^4.0.2" + gulp-babel: "npm:^8.0.0" + husky: "npm:^6.0.0" + lerna: "npm:^6.6.2" + lint-staged: "npm:^10.2.11" + mocha: "npm:^8.3.0" + mocha-junit-reporter: "npm:^2.0.0" + mocha-multi-reporters: "npm:^1.5.1" + patch-package: "npm:^8.0.0" + prettier: "npm:2.4.1" + punycode: "npm:^2.3.1" + rimraf: "npm:^5.0.5" + semver: "npm:^7.5.2" + sinon: "npm:^7.3.1" + languageName: unknown + linkType: soft + +"@parcel/namer-default@npm:2.14.4, @parcel/namer-default@workspace:packages/namers/default": + version: 0.0.0-use.local + resolution: "@parcel/namer-default@workspace:packages/namers/default" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/node-resolver-core@npm:3.5.4, @parcel/node-resolver-core@workspace:packages/utils/node-resolver-core": + version: 0.0.0-use.local + resolution: "@parcel/node-resolver-core@workspace:packages/utils/node-resolver-core" + dependencies: + "@mischnic/json-sourcemap": "npm:^0.1.0" + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/fs": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + assert: "npm:^2.0.0" + browserify-zlib: "npm:^0.2.0" + buffer: "npm:^5.5.0||^6.0.0" + console-browserify: "npm:^1.2.0" + constants-browserify: "npm:^1.0.0" + crypto-browserify: "npm:^3.12.0" + domain-browser: "npm:^5.7.0" + events: "npm:^3.1.0" + https-browserify: "npm:^1.0.0" + nullthrows: "npm:^1.1.1" + os-browserify: "npm:^0.3.0" + path-browserify: "npm:^1.0.0" + process: "npm:^0.11.10" + punycode: "npm:^2.3.1" + querystring-es3: "npm:^0.2.1" + semver: "npm:^7.5.2" + stream-browserify: "npm:^3.0.0" + stream-http: "npm:^3.1.0" + string_decoder: "npm:^1.3.0" + timers-browserify: "npm:^2.0.11" + tty-browserify: "npm:^0.0.1" + url: "npm:^0.11.0" + util: "npm:^0.12.3" + vm-browserify: "npm:^1.1.2" + languageName: unknown + linkType: soft + +"@parcel/optimizer-blob-url@workspace:packages/optimizers/blob-url": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-blob-url@workspace:packages/optimizers/blob-url" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/optimizer-css@npm:2.14.4, @parcel/optimizer-css@workspace:packages/optimizers/css": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-css@workspace:packages/optimizers/css" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/utils": "npm:2.14.4" + browserslist: "npm:^4.6.6" + lightningcss: "npm:^1.22.1" + lightningcss-wasm: "npm:^1.22.1" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/optimizer-cssnano@workspace:packages/optimizers/cssnano": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-cssnano@workspace:packages/optimizers/cssnano" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + cssnano: "npm:^7.0.6" + postcss: "npm:^8.4.5" + languageName: unknown + linkType: soft + +"@parcel/optimizer-data-url@workspace:packages/optimizers/data-url": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-data-url@workspace:packages/optimizers/data-url" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + isbinaryfile: "npm:^5.0.2" + mime: "npm:^3.0.0" + languageName: unknown + linkType: soft + +"@parcel/optimizer-esbuild@npm:2.14.4, @parcel/optimizer-esbuild@workspace:packages/optimizers/esbuild": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-esbuild@workspace:packages/optimizers/esbuild" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/utils": "npm:2.14.4" + esbuild: "npm:^0.25.0" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/optimizer-html@npm:2.14.4, @parcel/optimizer-html@workspace:packages/optimizers/html": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-html@workspace:packages/optimizers/html" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/optimizer-htmlnano@workspace:packages/optimizers/htmlnano": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-htmlnano@workspace:packages/optimizers/htmlnano" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + htmlnano: "npm:^2.0.0" + nullthrows: "npm:^1.1.1" + posthtml: "npm:^0.16.5" + svgo: "npm:^3.3.2" + languageName: unknown + linkType: soft + +"@parcel/optimizer-image@npm:2.14.4, @parcel/optimizer-image@workspace:packages/optimizers/image": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-image@workspace:packages/optimizers/image" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + "@parcel/workers": "npm:2.14.4" + peerDependencies: + "@parcel/core": ^2.14.4 + languageName: unknown + linkType: soft + +"@parcel/optimizer-inline-requires@workspace:packages/optimizers/inline-requires": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-inline-requires@workspace:packages/optimizers/inline-requires" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/types": "npm:2.14.4" + "@swc/core": "npm:^1.11.5" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/optimizer-svg@npm:2.14.4, @parcel/optimizer-svg@workspace:packages/optimizers/svg": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-svg@workspace:packages/optimizers/svg" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/optimizer-svgo@workspace:packages/optimizers/svgo": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-svgo@workspace:packages/optimizers/svgo" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + svgo: "npm:^3.3.2" + languageName: unknown + linkType: soft + +"@parcel/optimizer-swc@npm:2.14.4, @parcel/optimizer-swc@workspace:packages/optimizers/swc": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-swc@workspace:packages/optimizers/swc" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/utils": "npm:2.14.4" + "@swc/core": "npm:^1.11.5" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/optimizer-terser@npm:2.14.4, @parcel/optimizer-terser@workspace:packages/optimizers/terser": + version: 0.0.0-use.local + resolution: "@parcel/optimizer-terser@workspace:packages/optimizers/terser" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + terser: "npm:^5.2.0" + languageName: unknown + linkType: soft + +"@parcel/package-manager@npm:2.14.4, @parcel/package-manager@workspace:packages/core/package-manager": + version: 0.0.0-use.local + resolution: "@parcel/package-manager@workspace:packages/core/package-manager" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/fs": "npm:2.14.4" + "@parcel/logger": "npm:2.14.4" + "@parcel/node-resolver-core": "npm:3.5.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + "@parcel/workers": "npm:2.14.4" + "@swc/core": "npm:^1.11.5" + command-exists: "npm:^1.2.6" + cross-spawn: "npm:^7.0.3" + nullthrows: "npm:^1.1.1" + semver: "npm:^7.5.2" + split2: "npm:^4.2.0" + peerDependencies: + "@parcel/core": ^2.14.4 + languageName: unknown + linkType: soft + +"@parcel/packager-css@npm:2.14.4, @parcel/packager-css@workspace:packages/packagers/css": + version: 0.0.0-use.local + resolution: "@parcel/packager-css@workspace:packages/packagers/css" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/utils": "npm:2.14.4" + lightningcss: "npm:^1.22.1" + lightningcss-wasm: "npm:^1.22.1" + nullthrows: "npm:^1.1.1" + postcss: "npm:^8.4.5" + languageName: unknown + linkType: soft + +"@parcel/packager-html@npm:2.14.4, @parcel/packager-html@workspace:packages/packagers/html": + version: 0.0.0-use.local + resolution: "@parcel/packager-html@workspace:packages/packagers/html" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/packager-js@npm:2.14.4, @parcel/packager-js@workspace:packages/packagers/js": + version: 0.0.0-use.local + resolution: "@parcel/packager-js@workspace:packages/packagers/js" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + globals: "npm:^13.2.0" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/packager-raw-url@workspace:packages/packagers/raw-url": + version: 0.0.0-use.local + resolution: "@parcel/packager-raw-url@workspace:packages/packagers/raw-url" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/packager-raw@npm:2.14.4, @parcel/packager-raw@workspace:packages/packagers/raw": + version: 0.0.0-use.local + resolution: "@parcel/packager-raw@workspace:packages/packagers/raw" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/packager-react-static@workspace:packages/packagers/react-static": + version: 0.0.0-use.local + resolution: "@parcel/packager-react-static@workspace:packages/packagers/react-static" + dependencies: + "@parcel/node-resolver-core": "npm:3.5.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + rsc-html-stream: "npm:^0.0.5" + languageName: unknown + linkType: soft + +"@parcel/packager-svg@npm:2.14.4, @parcel/packager-svg@workspace:packages/packagers/svg": + version: 0.0.0-use.local + resolution: "@parcel/packager-svg@workspace:packages/packagers/svg" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/packager-ts@workspace:packages/packagers/ts": + version: 0.0.0-use.local + resolution: "@parcel/packager-ts@workspace:packages/packagers/ts" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/packager-wasm@npm:2.14.4, @parcel/packager-wasm@workspace:packages/packagers/wasm": + version: 0.0.0-use.local + resolution: "@parcel/packager-wasm@workspace:packages/packagers/wasm" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/packager-webextension@npm:2.14.4, @parcel/packager-webextension@workspace:packages/packagers/webextension": + version: 0.0.0-use.local + resolution: "@parcel/packager-webextension@workspace:packages/packagers/webextension" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/packager-xml@workspace:packages/packagers/xml": + version: 0.0.0-use.local + resolution: "@parcel/packager-xml@workspace:packages/packagers/xml" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + "@xmldom/xmldom": "npm:^0.9.3" + languageName: unknown + linkType: soft + +"@parcel/plugin@npm:2.14.4, @parcel/plugin@workspace:packages/core/plugin": + version: 0.0.0-use.local + resolution: "@parcel/plugin@workspace:packages/core/plugin" + dependencies: + "@parcel/types": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/profiler@npm:2.14.4, @parcel/profiler@workspace:packages/core/profiler": + version: 0.0.0-use.local + resolution: "@parcel/profiler@workspace:packages/core/profiler" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/events": "npm:2.14.4" + "@parcel/types-internal": "npm:2.14.4" + chrome-trace-event: "npm:^1.0.2" + languageName: unknown + linkType: soft + +"@parcel/query@npm:2.14.4, @parcel/query@workspace:packages/dev/query": + version: 0.0.0-use.local + resolution: "@parcel/query@workspace:packages/dev/query" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/cache": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/graph": "npm:3.4.4" + nullthrows: "npm:^1.1.1" + table: "npm:^6.8.1" + v8-compile-cache: "npm:^2.0.0" + bin: + parcel-query: src/bin.js + languageName: unknown + linkType: soft + +"@parcel/react-hmr-example@workspace:packages/examples/react-hmr": + version: 0.0.0-use.local + resolution: "@parcel/react-hmr-example@workspace:packages/examples/react-hmr" + dependencies: + parcel: "npm:2.14.4" + react: "npm:^19" + react-dom: "npm:^19" + languageName: unknown + linkType: soft + +"@parcel/react-refresh-example@workspace:packages/examples/react-refresh": + version: 0.0.0-use.local + resolution: "@parcel/react-refresh-example@workspace:packages/examples/react-refresh" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + react: "npm:^19" + react-dom: "npm:^19" + languageName: unknown + linkType: soft + +"@parcel/register@workspace:packages/core/register": + version: 0.0.0-use.local + resolution: "@parcel/register@workspace:packages/core/register" + dependencies: + "@parcel/config-default": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/fs": "npm:2.14.4" + "@parcel/package-manager": "npm:2.14.4" + pirates: "npm:^4.0.0" + languageName: unknown + linkType: soft + +"@parcel/repl@workspace:packages/dev/repl": + version: 0.0.0-use.local + resolution: "@parcel/repl@workspace:packages/dev/repl" + dependencies: + "@codemirror/autocomplete": "npm:^6.7.1" + "@codemirror/commands": "npm:^6.2.4" + "@codemirror/lang-css": "npm:^6.2.0" + "@codemirror/lang-html": "npm:^6.4.3" + "@codemirror/lang-javascript": "npm:^6.1.8" + "@codemirror/lang-json": "npm:^6.0.1" + "@codemirror/language": "npm:^6.6.0" + "@codemirror/lint": "npm:^6.2.1" + "@codemirror/search": "npm:^6.4.0" + "@codemirror/state": "npm:^6.2.0" + "@codemirror/theme-one-dark": "npm:^6.1.2" + "@codemirror/view": "npm:^6.12.0" + "@lezer/common": "npm:^1.0.2" + "@mischnic/dot-svg": "npm:^0.0.0" + "@mischnic/pako": "npm:^1.0.10" + "@mischnic/yarn-browser": "npm:^0.0.4" + "@parcel/config-repl": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/fs": "npm:2.14.4" + "@parcel/package-manager": "npm:2.14.4" + comlink: "npm:^4.3.1" + eslint-config-react-app: "npm:^7.0.1" + filesize: "npm:^10.1.6" + idb: "npm:^5.0.8" + isomorphic-fetch: "npm:^3.0.0" + jszip: "npm:^3.7.1" + nullthrows: "npm:^1.1.1" + react: "npm:^18.2.0" + react-dom: "npm:^18.2.0" + react-resizable-panels: "npm:^0.0.61" + react-use: "npm:^17.4.0" + semver: "npm:^7.3.5" + sharp: "npm:^0.33.5" + languageName: unknown + linkType: soft + +"@parcel/reporter-build-metrics@workspace:packages/reporters/build-metrics": + version: 0.0.0-use.local + resolution: "@parcel/reporter-build-metrics@workspace:packages/reporters/build-metrics" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/reporter-bundle-analyzer@workspace:packages/reporters/bundle-analyzer": + version: 0.0.0-use.local + resolution: "@parcel/reporter-bundle-analyzer@workspace:packages/reporters/bundle-analyzer" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/reporter-bundle-buddy@workspace:packages/reporters/bundle-buddy": + version: 0.0.0-use.local + resolution: "@parcel/reporter-bundle-buddy@workspace:packages/reporters/bundle-buddy" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/reporter-bundle-stats@npm:2.14.4, @parcel/reporter-bundle-stats@workspace:packages/reporters/bundle-stats": + version: 0.0.0-use.local + resolution: "@parcel/reporter-bundle-stats@workspace:packages/reporters/bundle-stats" + dependencies: + "@parcel/core": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + bin: + parcel-bundle-stats: bin.js + languageName: unknown + linkType: soft + +"@parcel/reporter-cli@npm:2.14.4, @parcel/reporter-cli@workspace:packages/reporters/cli": + version: 0.0.0-use.local + resolution: "@parcel/reporter-cli@workspace:packages/reporters/cli" + dependencies: + "@parcel/feature-flags": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + chalk: "npm:^4.1.2" + filesize: "npm:^10.1.6" + nullthrows: "npm:^1.1.1" + ora: "npm:^5.2.0" + string-width: "npm:^4.2.0" + term-size: "npm:^2.2.1" + wrap-ansi: "npm:^7.0.0" + languageName: unknown + linkType: soft + +"@parcel/reporter-dev-server-sw@npm:2.14.4, @parcel/reporter-dev-server-sw@workspace:packages/reporters/dev-server-sw": + version: 0.0.0-use.local + resolution: "@parcel/reporter-dev-server-sw@workspace:packages/reporters/dev-server-sw" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/reporter-dev-server@npm:2.14.4, @parcel/reporter-dev-server@workspace:packages/reporters/dev-server": + version: 0.0.0-use.local + resolution: "@parcel/reporter-dev-server@workspace:packages/reporters/dev-server" + dependencies: + "@parcel/babel-preset": "npm:2.14.4" + "@parcel/codeframe": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + connect: "npm:^3.7.0" + ejs: "npm:^3.1.6" + fresh: "npm:^0.5.2" + http-proxy-middleware: "npm:^2.0.1" + launch-editor: "npm:^2.3.0" + mime-types: "npm:2.1.18" + nullthrows: "npm:^1.1.1" + serve-handler: "npm:^6.0.0" + ws: "npm:^8.18.0" + languageName: unknown + linkType: soft + +"@parcel/reporter-json@npm:2.14.4, @parcel/reporter-json@workspace:packages/reporters/json": + version: 0.0.0-use.local + resolution: "@parcel/reporter-json@workspace:packages/reporters/json" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/reporter-lsp@workspace:packages/reporters/lsp-reporter": + version: 0.0.0-use.local + resolution: "@parcel/reporter-lsp@workspace:packages/reporters/lsp-reporter" + dependencies: + "@parcel/lsp-protocol": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + node-ipc: "npm:^9.1.4" + nullthrows: "npm:^1.1.1" + ps-node: "npm:^0.1.6" + vscode-jsonrpc: "npm:^8.0.2" + languageName: unknown + linkType: soft + +"@parcel/reporter-sourcemap-visualiser@npm:2.14.4, @parcel/reporter-sourcemap-visualiser@workspace:packages/reporters/sourcemap-visualiser": + version: 0.0.0-use.local + resolution: "@parcel/reporter-sourcemap-visualiser@workspace:packages/reporters/sourcemap-visualiser" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/reporter-tracer@npm:2.14.4, @parcel/reporter-tracer@workspace:packages/reporters/tracer": + version: 0.0.0-use.local + resolution: "@parcel/reporter-tracer@workspace:packages/reporters/tracer" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + chrome-trace-event: "npm:^1.0.3" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/resolver-default@npm:2.14.4, @parcel/resolver-default@workspace:packages/resolvers/default": + version: 0.0.0-use.local + resolution: "@parcel/resolver-default@workspace:packages/resolvers/default" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/node-resolver-core": "npm:3.5.4" + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/resolver-glob@workspace:packages/resolvers/glob": + version: 0.0.0-use.local + resolution: "@parcel/resolver-glob@workspace:packages/resolvers/glob" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/node-resolver-core": "npm:3.5.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/resolver-repl-runtimes@npm:2.14.4, @parcel/resolver-repl-runtimes@workspace:packages/resolvers/repl-runtimes": + version: 0.0.0-use.local + resolution: "@parcel/resolver-repl-runtimes@workspace:packages/resolvers/repl-runtimes" + dependencies: + "@babel/core": "npm:^7.12.2" + "@parcel/plugin": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/rsc@npm:2.14.4, @parcel/rsc@workspace:packages/utils/rsc": + version: 0.0.0-use.local + resolution: "@parcel/rsc@workspace:packages/utils/rsc" + dependencies: + "@types/node": "npm:>= 18" + "@types/react": "npm:^19" + "@types/react-dom": "npm:^19" + react-server-dom-parcel: "npm:^19.1.0" + rsc-html-stream: "npm:^0.0.5" + peerDependencies: + react: ^19.1.0 + react-dom: ^19.1.0 + languageName: unknown + linkType: soft + +"@parcel/runtime-browser-hmr@npm:2.14.4, @parcel/runtime-browser-hmr@workspace:packages/runtimes/hmr": + version: 0.0.0-use.local + resolution: "@parcel/runtime-browser-hmr@workspace:packages/runtimes/hmr" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/runtime-js@npm:2.14.4, @parcel/runtime-js@workspace:packages/runtimes/js": + version: 0.0.0-use.local + resolution: "@parcel/runtime-js@workspace:packages/runtimes/js" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/runtime-rsc@npm:2.14.4, @parcel/runtime-rsc@workspace:packages/runtimes/rsc": + version: 0.0.0-use.local + resolution: "@parcel/runtime-rsc@workspace:packages/runtimes/rsc" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/runtime-service-worker@npm:2.14.4, @parcel/runtime-service-worker@workspace:packages/runtimes/service-worker": + version: 0.0.0-use.local + resolution: "@parcel/runtime-service-worker@workspace:packages/runtimes/service-worker" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/runtime-webextension@npm:2.14.4, @parcel/runtime-webextension@workspace:packages/runtimes/webextension": + version: 0.0.0-use.local + resolution: "@parcel/runtime-webextension@workspace:packages/runtimes/webextension" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/rust@npm:2.14.4, @parcel/rust@workspace:packages/core/rust": + version: 0.0.0-use.local + resolution: "@parcel/rust@workspace:packages/core/rust" + dependencies: + "@napi-rs/cli": "npm:^2.15.2" + napi-wasm: "npm:^1.1.2" + peerDependencies: + napi-wasm: ^1.1.2 + peerDependenciesMeta: + napi-wasm: + optional: true + languageName: unknown + linkType: soft + +"@parcel/service-worker@workspace:packages/utils/service-worker": + version: 0.0.0-use.local + resolution: "@parcel/service-worker@workspace:packages/utils/service-worker" + languageName: unknown + linkType: soft + +"@parcel/simple-example@workspace:packages/examples/simple": + version: 0.0.0-use.local + resolution: "@parcel/simple-example@workspace:packages/examples/simple" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + lodash: "npm:^4.17.11" + languageName: unknown + linkType: soft + +"@parcel/source-map@npm:^2.1.1": + version: 2.1.1 + resolution: "@parcel/source-map@npm:2.1.1" + dependencies: + detect-libc: "npm:^1.0.3" + checksum: 10c0/cea8450e152666be413556f0d100f125e81646bffc497e7c792bd9fc5067d052f1a008c8404ce1cd3a587d58b9ef57207ada89149cf2c705e71b1978308045f6 + languageName: node + linkType: hard + +"@parcel/test-utils@workspace:packages/core/test-utils": + version: 0.0.0-use.local + resolution: "@parcel/test-utils@workspace:packages/core/test-utils" + dependencies: + "@parcel/config-default": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/fs": "npm:2.14.4" + "@parcel/package-manager": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + chalk: "npm:^4.1.2" + ncp: "npm:^2.0.0" + nullthrows: "npm:^1.1.1" + posthtml: "npm:^0.16.5" + posthtml-parser: "npm:^0.12.1" + resolve: "npm:^1.12.0" + ws: "npm:^8.18.0" + languageName: unknown + linkType: soft + +"@parcel/three-js-stresstest@workspace:packages/examples/three": + version: 0.0.0-use.local + resolution: "@parcel/three-js-stresstest@workspace:packages/examples/three" + dependencies: + "@parcel/config-default": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/optimizer-esbuild": "npm:2.14.4" + parcel: "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-babel@npm:2.14.4, @parcel/transformer-babel@workspace:packages/transformers/babel": + version: 0.0.0-use.local + resolution: "@parcel/transformer-babel@workspace:packages/transformers/babel" + dependencies: + "@babel/core": "npm:^7.22.11" + "@babel/preset-env": "npm:^7.22.14" + "@babel/types": "npm:^7.22.11" + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + browserslist: "npm:^4.6.6" + json5: "npm:^2.2.0" + nullthrows: "npm:^1.1.1" + semver: "npm:^7.5.2" + languageName: unknown + linkType: soft + +"@parcel/transformer-coffeescript@workspace:packages/transformers/coffeescript": + version: 0.0.0-use.local + resolution: "@parcel/transformer-coffeescript@workspace:packages/transformers/coffeescript" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/utils": "npm:2.14.4" + coffeescript: "npm:^2.0.3" + nullthrows: "npm:^1.1.1" + semver: "npm:^7.5.2" + languageName: unknown + linkType: soft + +"@parcel/transformer-css@npm:2.14.4, @parcel/transformer-css@workspace:packages/transformers/css": + version: 0.0.0-use.local + resolution: "@parcel/transformer-css@workspace:packages/transformers/css" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/utils": "npm:2.14.4" + browserslist: "npm:^4.6.6" + lightningcss: "npm:^1.22.1" + lightningcss-wasm: "npm:^1.22.1" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"@parcel/transformer-elm@workspace:packages/transformers/elm": + version: 0.0.0-use.local + resolution: "@parcel/transformer-elm@workspace:packages/transformers/elm" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + command-exists: "npm:^1.2.8" + cross-spawn: "npm:^7.0.3" + elm-hot: "npm:^1.1.5" + node-elm-compiler: "npm:^5.0.5" + nullthrows: "npm:^1.1.1" + terser: "npm:^5.14.2" + peerDependencies: + elm: ^0.19.1-5 + languageName: unknown + linkType: soft + +"@parcel/transformer-glsl@workspace:packages/transformers/glsl": + version: 0.0.0-use.local + resolution: "@parcel/transformer-glsl@workspace:packages/transformers/glsl" + dependencies: + "@parcel/plugin": "npm:2.14.4" + glslify-bundle: "npm:^5.1.1" + glslify-deps: "npm:^1.3.2" + languageName: unknown + linkType: soft + +"@parcel/transformer-graphql@workspace:packages/transformers/graphql": + version: 0.0.0-use.local + resolution: "@parcel/transformer-graphql@workspace:packages/transformers/graphql" + dependencies: + "@parcel/plugin": "npm:2.14.4" + graphql: "npm:^15.0.0" + graphql-import-macro: "npm:^1.0.0" + languageName: unknown + linkType: soft + +"@parcel/transformer-html@npm:2.14.4, @parcel/transformer-html@workspace:packages/transformers/html": + version: 0.0.0-use.local + resolution: "@parcel/transformer-html@workspace:packages/transformers/html" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-image@npm:2.14.4, @parcel/transformer-image@workspace:packages/transformers/image": + version: 0.0.0-use.local + resolution: "@parcel/transformer-image@workspace:packages/transformers/image" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + "@parcel/workers": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + sharp: "npm:^0.33.5" + peerDependencies: + "@parcel/core": ^2.14.4 + languageName: unknown + linkType: soft + +"@parcel/transformer-inline-string@npm:2.14.4, @parcel/transformer-inline-string@workspace:packages/transformers/inline-string": + version: 0.0.0-use.local + resolution: "@parcel/transformer-inline-string@workspace:packages/transformers/inline-string" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-inline@workspace:packages/transformers/inline": + version: 0.0.0-use.local + resolution: "@parcel/transformer-inline@workspace:packages/transformers/inline" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-js@npm:2.14.4, @parcel/transformer-js@workspace:packages/transformers/js": + version: 0.0.0-use.local + resolution: "@parcel/transformer-js@workspace:packages/transformers/js" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/utils": "npm:2.14.4" + "@parcel/workers": "npm:2.14.4" + "@swc/helpers": "npm:^0.5.0" + browserslist: "npm:^4.6.6" + nullthrows: "npm:^1.1.1" + regenerator-runtime: "npm:^0.14.1" + semver: "npm:^7.5.2" + peerDependencies: + "@parcel/core": ^2.14.4 + languageName: unknown + linkType: soft + +"@parcel/transformer-json@npm:2.14.4, @parcel/transformer-json@workspace:packages/transformers/json": + version: 0.0.0-use.local + resolution: "@parcel/transformer-json@workspace:packages/transformers/json" + dependencies: + "@parcel/plugin": "npm:2.14.4" + json5: "npm:^2.2.0" + languageName: unknown + linkType: soft + +"@parcel/transformer-jsonld@workspace:packages/transformers/jsonld": + version: 0.0.0-use.local + resolution: "@parcel/transformer-jsonld@workspace:packages/transformers/jsonld" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + json5: "npm:^2.2.0" + languageName: unknown + linkType: soft + +"@parcel/transformer-less@workspace:packages/transformers/less": + version: 0.0.0-use.local + resolution: "@parcel/transformer-less@workspace:packages/transformers/less" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + less: "npm:^4.1.1" + languageName: unknown + linkType: soft + +"@parcel/transformer-node@npm:2.14.4, @parcel/transformer-node@workspace:packages/transformers/node": + version: 0.0.0-use.local + resolution: "@parcel/transformer-node@workspace:packages/transformers/node" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-postcss@npm:2.14.4, @parcel/transformer-postcss@workspace:packages/transformers/postcss": + version: 0.0.0-use.local + resolution: "@parcel/transformer-postcss@workspace:packages/transformers/postcss" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + clone: "npm:^2.1.1" + nullthrows: "npm:^1.1.1" + postcss: "npm:^8.4.5" + postcss-modules: "npm:^6.0.0" + postcss-value-parser: "npm:^4.2.0" + semver: "npm:^7.5.2" + languageName: unknown + linkType: soft + +"@parcel/transformer-posthtml@npm:2.14.4, @parcel/transformer-posthtml@workspace:packages/transformers/posthtml": + version: 0.0.0-use.local + resolution: "@parcel/transformer-posthtml@workspace:packages/transformers/posthtml" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-pug@workspace:packages/transformers/pug": + version: 0.0.0-use.local + resolution: "@parcel/transformer-pug@workspace:packages/transformers/pug" + dependencies: + "@parcel/plugin": "npm:2.14.4" + pug: "npm:^3.0.2" + languageName: unknown + linkType: soft + +"@parcel/transformer-raw@npm:2.14.4, @parcel/transformer-raw@workspace:packages/transformers/raw": + version: 0.0.0-use.local + resolution: "@parcel/transformer-raw@workspace:packages/transformers/raw" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-react-refresh-wrap@npm:2.14.4, @parcel/transformer-react-refresh-wrap@workspace:packages/transformers/react-refresh-wrap": + version: 0.0.0-use.local + resolution: "@parcel/transformer-react-refresh-wrap@workspace:packages/transformers/react-refresh-wrap" + dependencies: + "@parcel/error-overlay": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + react-refresh: "npm:>=0.9 <=0.16" + languageName: unknown + linkType: soft + +"@parcel/transformer-react-static@workspace:packages/transformers/react-static": + version: 0.0.0-use.local + resolution: "@parcel/transformer-react-static@workspace:packages/transformers/react-static" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-sass@workspace:packages/transformers/sass": + version: 0.0.0-use.local + resolution: "@parcel/transformer-sass@workspace:packages/transformers/sass" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + sass: "npm:^1.38.0" + languageName: unknown + linkType: soft + +"@parcel/transformer-stylus@workspace:packages/transformers/stylus": + version: 0.0.0-use.local + resolution: "@parcel/transformer-stylus@workspace:packages/transformers/stylus" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + stylus: "npm:^0.63.0" + languageName: unknown + linkType: soft + +"@parcel/transformer-sugarss@workspace:packages/transformers/sugarss": + version: 0.0.0-use.local + resolution: "@parcel/transformer-sugarss@workspace:packages/transformers/sugarss" + dependencies: + "@parcel/plugin": "npm:2.14.4" + postcss: "npm:^8.4.5" + sugarss: "npm:^4.0.1" + languageName: unknown + linkType: soft + +"@parcel/transformer-svg-jsx@workspace:packages/transformers/svg-jsx": + version: 0.0.0-use.local + resolution: "@parcel/transformer-svg-jsx@workspace:packages/transformers/svg-jsx" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-svg-react@workspace:packages/transformers/svg-react": + version: 0.0.0-use.local + resolution: "@parcel/transformer-svg-react@workspace:packages/transformers/svg-react" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + "@svgr/core": "npm:^8.0.0" + "@svgr/plugin-jsx": "npm:^8.0.0" + languageName: unknown + linkType: soft + +"@parcel/transformer-svg@npm:2.14.4, @parcel/transformer-svg@workspace:packages/transformers/svg": + version: 0.0.0-use.local + resolution: "@parcel/transformer-svg@workspace:packages/transformers/svg" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-toml@workspace:packages/transformers/toml": + version: 0.0.0-use.local + resolution: "@parcel/transformer-toml@workspace:packages/transformers/toml" + dependencies: + "@iarna/toml": "npm:^2.2.3" + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-typescript-tsc@workspace:packages/transformers/typescript-tsc": + version: 0.0.0-use.local + resolution: "@parcel/transformer-typescript-tsc@workspace:packages/transformers/typescript-tsc" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/ts-utils": "npm:2.14.4" + typescript: "npm:>=3.0.0" + peerDependencies: + typescript: ">=3.0.0" + languageName: unknown + linkType: soft + +"@parcel/transformer-typescript-types@workspace:packages/transformers/typescript-types": + version: 0.0.0-use.local + resolution: "@parcel/transformer-typescript-types@workspace:packages/transformers/typescript-types" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/ts-utils": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + typescript: "npm:>=3.0.0" + peerDependencies: + typescript: ">=3.0.0" + languageName: unknown + linkType: soft + +"@parcel/transformer-vue@workspace:packages/transformers/vue": + version: 0.0.0-use.local + resolution: "@parcel/transformer-vue@workspace:packages/transformers/vue" + dependencies: + "@ladjs/consolidate": "npm:^1.0.3" + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/utils": "npm:2.14.4" + "@vue/compiler-sfc": "npm:^3.2.27" + nullthrows: "npm:^1.1.1" + semver: "npm:^7.5.2" + vue: "npm:^3.2.27" + languageName: unknown + linkType: soft + +"@parcel/transformer-webextension@npm:2.14.4, @parcel/transformer-webextension@workspace:packages/transformers/webextension": + version: 0.0.0-use.local + resolution: "@parcel/transformer-webextension@workspace:packages/transformers/webextension" + dependencies: + "@mischnic/json-sourcemap": "npm:^0.1.0" + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + content-security-policy-parser: "npm:^0.6.0" + languageName: unknown + linkType: soft + +"@parcel/transformer-webmanifest@workspace:packages/transformers/webmanifest": + version: 0.0.0-use.local + resolution: "@parcel/transformer-webmanifest@workspace:packages/transformers/webmanifest" + dependencies: + "@mischnic/json-sourcemap": "npm:^0.1.0" + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-worklet@workspace:packages/transformers/worklet": + version: 0.0.0-use.local + resolution: "@parcel/transformer-worklet@workspace:packages/transformers/worklet" + dependencies: + "@parcel/plugin": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/transformer-xml@workspace:packages/transformers/xml": + version: 0.0.0-use.local + resolution: "@parcel/transformer-xml@workspace:packages/transformers/xml" + dependencies: + "@parcel/plugin": "npm:2.14.4" + "@xmldom/xmldom": "npm:^0.9.3" + languageName: unknown + linkType: soft + +"@parcel/transformer-yaml@workspace:packages/transformers/yaml": + version: 0.0.0-use.local + resolution: "@parcel/transformer-yaml@workspace:packages/transformers/yaml" + dependencies: + "@parcel/plugin": "npm:2.14.4" + js-yaml: "npm:^4.1.0" + languageName: unknown + linkType: soft + +"@parcel/ts-example@workspace:packages/examples/ts-example": + version: 0.0.0-use.local + resolution: "@parcel/ts-example@workspace:packages/examples/ts-example" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + lodash: "npm:^4.17.11" + languageName: unknown + linkType: soft + +"@parcel/ts-typecheck-example@workspace:packages/examples/ts-typecheck-example": + version: 0.0.0-use.local + resolution: "@parcel/ts-typecheck-example@workspace:packages/examples/ts-typecheck-example" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/validator-typescript": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/ts-utils@npm:2.14.4, @parcel/ts-utils@workspace:packages/utils/ts-utils": + version: 0.0.0-use.local + resolution: "@parcel/ts-utils@workspace:packages/utils/ts-utils" + dependencies: + nullthrows: "npm:^1.1.1" + typescript: "npm:>=3.0.0" + peerDependencies: + typescript: ">=3.0.0" + languageName: unknown + linkType: soft + +"@parcel/types-internal@npm:2.14.4, @parcel/types-internal@workspace:packages/core/types-internal": + version: 0.0.0-use.local + resolution: "@parcel/types-internal@workspace:packages/core/types-internal" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/feature-flags": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + utility-types: "npm:^3.10.0" + languageName: unknown + linkType: soft + +"@parcel/types@npm:2.14.4, @parcel/types@workspace:packages/core/types": + version: 0.0.0-use.local + resolution: "@parcel/types@workspace:packages/core/types" + dependencies: + "@parcel/types-internal": "npm:2.14.4" + "@parcel/workers": "npm:2.14.4" + languageName: unknown + linkType: soft + +"@parcel/utils@npm:2.14.4, @parcel/utils@workspace:packages/core/utils": + version: 0.0.0-use.local + resolution: "@parcel/utils@workspace:packages/core/utils" + dependencies: + "@iarna/toml": "npm:^2.2.0" + "@parcel/codeframe": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/logger": "npm:2.14.4" + "@parcel/markdown-ansi": "npm:2.14.4" + "@parcel/rust": "npm:2.14.4" + "@parcel/source-map": "npm:^2.1.1" + ansi-html-community: "npm:0.0.8" + chalk: "npm:^4.1.2" + clone: "npm:^2.1.1" + fast-glob: "npm:^3.2.12" + fastest-levenshtein: "npm:^1.0.16" + is-glob: "npm:^4.0.0" + is-url: "npm:^1.2.2" + json5: "npm:^2.2.0" + lru-cache: "npm:^10.0.0" + micromatch: "npm:^4.0.4" + node-forge: "npm:^1.2.1" + nullthrows: "npm:^1.1.1" + open: "npm:^7.0.3" + snarkdown: "npm:^2.0.0" + strip-ansi: "npm:^6.0.0" + terminal-link: "npm:^2.1.1" + languageName: unknown + linkType: soft + +"@parcel/validator-eslint@npm:2.14.4, @parcel/validator-eslint@workspace:packages/validators/eslint": + version: 0.0.0-use.local + resolution: "@parcel/validator-eslint@workspace:packages/validators/eslint" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + chalk: "npm:^4.1.2" + eslint: "npm:^6.0.0 || ^7.0.0 || ^8.0.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + languageName: unknown + linkType: soft + +"@parcel/validator-typescript@npm:2.14.4, @parcel/validator-typescript@workspace:packages/validators/typescript": + version: 0.0.0-use.local + resolution: "@parcel/validator-typescript@workspace:packages/validators/typescript" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/plugin": "npm:2.14.4" + "@parcel/ts-utils": "npm:2.14.4" + "@parcel/types": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + typescript: "npm:>=3.0.0" + peerDependencies: + typescript: ">=3.0.0" + languageName: unknown + linkType: soft + +"@parcel/watcher-android-arm64@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-android-arm64@npm:2.2.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-arm64@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-darwin-arm64@npm:2.2.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-x64@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-darwin-x64@npm:2.2.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-glibc@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-linux-arm-glibc@npm:2.2.0" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-glibc@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.2.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-musl@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-linux-arm64-musl@npm:2.2.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-glibc@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-linux-x64-glibc@npm:2.2.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-musl@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-linux-x64-musl@npm:2.2.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-watchman-js@npm:2.14.4, @parcel/watcher-watchman-js@workspace:packages/utils/parcel-watcher-watchman-js": + version: 0.0.0-use.local + resolution: "@parcel/watcher-watchman-js@workspace:packages/utils/parcel-watcher-watchman-js" + dependencies: + "@parcel/logger": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + "@parcel/watcher": "npm:^2.4.1" + fb-watchman: "npm:^2.0.2" + languageName: unknown + linkType: soft + +"@parcel/watcher-win32-arm64@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-win32-arm64@npm:2.2.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-win32-x64@npm:2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher-win32-x64@npm:2.2.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher@npm:~2.2.0": + version: 2.2.0 + resolution: "@parcel/watcher@npm:2.2.0" + dependencies: + "@parcel/watcher-android-arm64": "npm:2.2.0" + "@parcel/watcher-darwin-arm64": "npm:2.2.0" + "@parcel/watcher-darwin-x64": "npm:2.2.0" + "@parcel/watcher-linux-arm-glibc": "npm:2.2.0" + "@parcel/watcher-linux-arm64-glibc": "npm:2.2.0" + "@parcel/watcher-linux-arm64-musl": "npm:2.2.0" + "@parcel/watcher-linux-x64-glibc": "npm:2.2.0" + "@parcel/watcher-linux-x64-musl": "npm:2.2.0" + "@parcel/watcher-win32-arm64": "npm:2.2.0" + "@parcel/watcher-win32-x64": "npm:2.2.0" + detect-libc: "npm:^1.0.3" + is-glob: "npm:^4.0.3" + micromatch: "npm:^4.0.5" + node-addon-api: "npm:^7.0.0" + node-gyp: "npm:latest" + dependenciesMeta: + "@parcel/watcher-android-arm64": + optional: true + "@parcel/watcher-darwin-arm64": + optional: true + "@parcel/watcher-darwin-x64": + optional: true + "@parcel/watcher-linux-arm-glibc": + optional: true + "@parcel/watcher-linux-arm64-glibc": + optional: true + "@parcel/watcher-linux-arm64-musl": + optional: true + "@parcel/watcher-linux-x64-glibc": + optional: true + "@parcel/watcher-linux-x64-musl": + optional: true + "@parcel/watcher-win32-arm64": + optional: true + "@parcel/watcher-win32-x64": + optional: true + checksum: 10c0/905d7eff0caf3461cbcf3ffa08f0f1886790fe965c7a914e04cb35807b4770121cad95eb67c9d09165fe7be0799a2e3530e75b1131f18cdff9e326f457bd37d1 + languageName: node + linkType: hard + +"@parcel/workers@npm:2.14.4, @parcel/workers@workspace:packages/core/workers": + version: 0.0.0-use.local + resolution: "@parcel/workers@workspace:packages/core/workers" + dependencies: + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/logger": "npm:2.14.4" + "@parcel/profiler": "npm:2.14.4" + "@parcel/types-internal": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + nullthrows: "npm:^1.1.1" + peerDependencies: + "@parcel/core": ^2.14.4 + languageName: unknown + linkType: soft + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@rtsao/scc@npm:^1.1.0": + version: 1.1.0 + resolution: "@rtsao/scc@npm:1.1.0" + checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b + languageName: node + linkType: hard + +"@rushstack/eslint-patch@npm:^1.1.0": + version: 1.10.4 + resolution: "@rushstack/eslint-patch@npm:1.10.4" + checksum: 10c0/de312bd7a3cb0f313c9720029eb719d8762fe54946cce2d33ac142b1cbb5817c4a5a92518dfa476c26311602d37f5a8f7caa90a0c73e3d6a56f9a05d2799c172 + languageName: node + linkType: hard + +"@sigstore/bundle@npm:^1.1.0": + version: 1.1.0 + resolution: "@sigstore/bundle@npm:1.1.0" + dependencies: + "@sigstore/protobuf-specs": "npm:^0.2.0" + checksum: 10c0/f29af2c59eefceb2c6fb88e6acb31efd7400a46968324ad60c19f054bcac3c16f6e2dfa5162feaeb57e3b1688dcd0b659a9d00ca27bbe7907d472758da15586c + languageName: node + linkType: hard + +"@sigstore/protobuf-specs@npm:^0.2.0": + version: 0.2.1 + resolution: "@sigstore/protobuf-specs@npm:0.2.1" + checksum: 10c0/756b3bc64e7f21d966473208cd3920fcde6744025f7deb1d3be1d2b6261b825178b393db7458cd191b2eab947e516eacd6f91aa2f4545d8c045431fb699ac357 + languageName: node + linkType: hard + +"@sigstore/sign@npm:^1.0.0": + version: 1.0.0 + resolution: "@sigstore/sign@npm:1.0.0" + dependencies: + "@sigstore/bundle": "npm:^1.1.0" + "@sigstore/protobuf-specs": "npm:^0.2.0" + make-fetch-happen: "npm:^11.0.1" + checksum: 10c0/579b4ba31acd662fc9053e6c1e49fda320fa7faf95233d9f7daa87cf198f6f785658fed2791d18d340176f55da300c178c00fcb4871a7d8582df446a09ac6287 + languageName: node + linkType: hard + +"@sigstore/tuf@npm:^1.0.3": + version: 1.0.3 + resolution: "@sigstore/tuf@npm:1.0.3" + dependencies: + "@sigstore/protobuf-specs": "npm:^0.2.0" + tuf-js: "npm:^1.1.7" + checksum: 10c0/28abf11f05e12dab0e5d53f09743921e7129519753b3ab79e6cfc2400c80a06bc4f233c430dcd4236f8ca6db1aaf20fdd93999592cef0ea4c08f9731c63d09d4 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1, @sinonjs/commons@npm:^1.3.0, @sinonjs/commons@npm:^1.4.0, @sinonjs/commons@npm:^1.7.0": + version: 1.8.6 + resolution: "@sinonjs/commons@npm:1.8.6" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/93b4d4e27e93652b83467869c2fe09cbd8f37cd5582327f0e081fbf9b93899e2d267db7b668c96810c63dc229867614ced825e5512b47db96ca6f87cb3ec0f61 + languageName: node + linkType: hard + +"@sinonjs/formatio@npm:^3.2.1": + version: 3.2.2 + resolution: "@sinonjs/formatio@npm:3.2.2" + dependencies: + "@sinonjs/commons": "npm:^1" + "@sinonjs/samsam": "npm:^3.1.0" + checksum: 10c0/13412a8cbcc5ea861745b27b18eb51ee4aacca59108c17690944d1f2d8cc8fa2e80420780f0e6c3b8bfbc8944b0af8715745db108df20d0aab13255f5c3b9883 + languageName: node + linkType: hard + +"@sinonjs/samsam@npm:^3.1.0, @sinonjs/samsam@npm:^3.3.3": + version: 3.3.3 + resolution: "@sinonjs/samsam@npm:3.3.3" + dependencies: + "@sinonjs/commons": "npm:^1.3.0" + array-from: "npm:^2.1.1" + lodash: "npm:^4.17.15" + checksum: 10c0/01b0f1eb28fa54dca2c544153f0ac2e8790a89e5031b8437d27524944f8cc1013d1cb77390533eaefb528e6349936ff96adc30886147ccbdd7daa24d907e83e0 + languageName: node + linkType: hard + +"@sinonjs/text-encoding@npm:^0.7.1": + version: 0.7.3 + resolution: "@sinonjs/text-encoding@npm:0.7.3" + checksum: 10c0/b112d1e97af7f99fbdc63c7dbcd35d6a60764dfec85cfcfff532e55cce8ecd8453f9fa2139e70aea47142c940fd90cd201d19f370b9a0141700d8a6de3116815 + languageName: node + linkType: hard + +"@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a50bd0baa34faf16bcba712091f94c7f0e230431fe99a9dfc3401fa92823ad3f68495b86ab9bf9044b53839e8c416cfbb37eb3f246ff33f261e0fa9ee1779c5b + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8a98e59bd9971e066815b4129409932f7a4db4866834fe75677ea6d517972fb40b380a69a4413189f20e7947411f9ab1b0f029dd5e8068686a5a0188d3ccd4c7 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/517dcca75223bd05d3f056a8514dbba3031278bea4eadf0842c576d84f4651e7a4e0e7082d3ee4ef42456de0f9c4531d8a1917c04876ca64b014b859ca8f1bde + languageName: node + linkType: hard + +"@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/004bd1892053b7e9c1b0bb14acc44e77634ec393722b87b1e4fae53e2c35122a2dd0d5c15e9070dbeec274e22e7693a2b8b48506733a8009ee92b12946fcb10a + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/80e0a7fcf902f984c705051ca5c82ea6050ccbb70b651a8fea6d0eb5809e4dac274b49ea6be2d87f1eb9dfc0e2d6cdfffe1669ec2117f44b67a60a07d4c0b8b8 + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/73e92c8277a89279745c0c500f59f083279a8dc30cd552b22981fade2a77628fb2bd2819ee505725fcd2e93f923e3790b52efcff409a159e657b46604a0b9a21 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/655ed6bc7a208ceaa4ecff0a54ccc36008c3cb31efa90d11e171cab325ebbb21aa78f09c7b65f9b3ddeda3a85f348c0c862902c48be13c14b4de165c847974e3 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-svg-component@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-transform-svg-component@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4ac00bb99a3db4ef05e4362f116a3c608ee365a2d26cf7318d8d41a4a5b30a02c80455cce0e62c65b60ed815b5d632bedabac2ccd4b56f998fadef5286e3ded4 + languageName: node + linkType: hard + +"@svgr/babel-preset@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-preset@npm:8.1.0" + dependencies: + "@svgr/babel-plugin-add-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:8.0.0" + "@svgr/babel-plugin-svg-dynamic-title": "npm:8.0.0" + "@svgr/babel-plugin-svg-em-dimensions": "npm:8.0.0" + "@svgr/babel-plugin-transform-react-native-svg": "npm:8.1.0" + "@svgr/babel-plugin-transform-svg-component": "npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/49367d3ad0831f79b1056871b91766246f449d4d1168623af5e283fbaefce4a01d77ab00de6b045b55e956f9aae27895823198493cd232d88d3435ea4517ffc5 + languageName: node + linkType: hard + +"@svgr/core@npm:^8.0.0": + version: 8.1.0 + resolution: "@svgr/core@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + camelcase: "npm:^6.2.0" + cosmiconfig: "npm:^8.1.3" + snake-case: "npm:^3.0.4" + checksum: 10c0/6a2f6b1bc79bce39f66f088d468985d518005fc5147ebf4f108570a933818b5951c2cb7da230ddff4b7c8028b5a672b2d33aa2acce012b8b9770073aa5a2d041 + languageName: node + linkType: hard + +"@svgr/hast-util-to-babel-ast@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/hast-util-to-babel-ast@npm:8.0.0" + dependencies: + "@babel/types": "npm:^7.21.3" + entities: "npm:^4.4.0" + checksum: 10c0/f4165b583ba9eaf6719e598977a7b3ed182f177983e55f9eb55a6a73982d81277510e9eb7ab41f255151fb9ed4edd11ac4bef95dd872f04ed64966d8c85e0f79 + languageName: node + linkType: hard + +"@svgr/plugin-jsx@npm:^8.0.0": + version: 8.1.0 + resolution: "@svgr/plugin-jsx@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + "@svgr/hast-util-to-babel-ast": "npm:8.0.0" + svg-parser: "npm:^2.0.4" + peerDependencies: + "@svgr/core": "*" + checksum: 10c0/07b4d9e00de795540bf70556fa2cc258774d01e97a12a26234c6fdf42b309beb7c10f31ee24d1a71137239347b1547b8bb5587d3a6de10669f95dcfe99cddc56 + languageName: node + linkType: hard + +"@swc/core-darwin-arm64@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-darwin-arm64@npm:1.11.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@swc/core-darwin-x64@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-darwin-x64@npm:1.11.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@swc/core-linux-arm-gnueabihf@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.11.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@swc/core-linux-arm64-gnu@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-linux-arm64-gnu@npm:1.11.5" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@swc/core-linux-arm64-musl@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-linux-arm64-musl@npm:1.11.5" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@swc/core-linux-x64-gnu@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-linux-x64-gnu@npm:1.11.5" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@swc/core-linux-x64-musl@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-linux-x64-musl@npm:1.11.5" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@swc/core-win32-arm64-msvc@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-win32-arm64-msvc@npm:1.11.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@swc/core-win32-ia32-msvc@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-win32-ia32-msvc@npm:1.11.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@swc/core-win32-x64-msvc@npm:1.11.5": + version: 1.11.5 + resolution: "@swc/core-win32-x64-msvc@npm:1.11.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@swc/core@npm:^1.11.5": + version: 1.11.5 + resolution: "@swc/core@npm:1.11.5" + dependencies: + "@swc/core-darwin-arm64": "npm:1.11.5" + "@swc/core-darwin-x64": "npm:1.11.5" + "@swc/core-linux-arm-gnueabihf": "npm:1.11.5" + "@swc/core-linux-arm64-gnu": "npm:1.11.5" + "@swc/core-linux-arm64-musl": "npm:1.11.5" + "@swc/core-linux-x64-gnu": "npm:1.11.5" + "@swc/core-linux-x64-musl": "npm:1.11.5" + "@swc/core-win32-arm64-msvc": "npm:1.11.5" + "@swc/core-win32-ia32-msvc": "npm:1.11.5" + "@swc/core-win32-x64-msvc": "npm:1.11.5" + "@swc/counter": "npm:^0.1.3" + "@swc/types": "npm:^0.1.19" + peerDependencies: + "@swc/helpers": "*" + dependenciesMeta: + "@swc/core-darwin-arm64": + optional: true + "@swc/core-darwin-x64": + optional: true + "@swc/core-linux-arm-gnueabihf": + optional: true + "@swc/core-linux-arm64-gnu": + optional: true + "@swc/core-linux-arm64-musl": + optional: true + "@swc/core-linux-x64-gnu": + optional: true + "@swc/core-linux-x64-musl": + optional: true + "@swc/core-win32-arm64-msvc": + optional: true + "@swc/core-win32-ia32-msvc": + optional: true + "@swc/core-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 10c0/bc809c7f76a315e435a29b2cabbebfcb65a77f9d98e32d68d4d85422f17514b7b9af85e8369270580e749121567adf857820118ce1a5f14c9eea299bb6f7b020 + languageName: node + linkType: hard + +"@swc/counter@npm:^0.1.3": + version: 0.1.3 + resolution: "@swc/counter@npm:0.1.3" + checksum: 10c0/8424f60f6bf8694cfd2a9bca45845bce29f26105cda8cf19cdb9fd3e78dc6338699e4db77a89ae449260bafa1cc6bec307e81e7fb96dbf7dcfce0eea55151356 + languageName: node + linkType: hard + +"@swc/helpers@npm:^0.5.0": + version: 0.5.15 + resolution: "@swc/helpers@npm:0.5.15" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 + languageName: node + linkType: hard + +"@swc/types@npm:^0.1.19": + version: 0.1.19 + resolution: "@swc/types@npm:0.1.19" + dependencies: + "@swc/counter": "npm:^0.1.3" + checksum: 10c0/21b727d97d38f1bdbe9ef8fdf693bca19ebd5334ab32d7d2624a925d9adc8934935ad0f168cdbfd938b2f4b754a1fb7581f253bf47ab416177b6ac2c5c72578b + languageName: node + linkType: hard + +"@tootallnate/once@npm:1": + version: 1.1.2 + resolution: "@tootallnate/once@npm:1.1.2" + checksum: 10c0/8fe4d006e90422883a4fa9339dd05a83ff626806262e1710cee5758d493e8cbddf2db81c0e4690636dc840b02c9fda62877866ea774ebd07c1777ed5fafbdec6 + languageName: node + linkType: hard + +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: 10c0/073bfa548026b1ebaf1659eb8961e526be22fa77139b10d60e712f46d2f0f05f4e6c8bec62a087d41088ee9e29faa7f54838568e475ab2f776171003c3920858 + languageName: node + linkType: hard + +"@trysound/sax@npm:0.2.0": + version: 0.2.0 + resolution: "@trysound/sax@npm:0.2.0" + checksum: 10c0/44907308549ce775a41c38a815f747009ac45929a45d642b836aa6b0a536e4978d30b8d7d680bbd116e9dd73b7dbe2ef0d1369dcfc2d09e83ba381e485ecbe12 + languageName: node + linkType: hard + +"@tufjs/canonical-json@npm:1.0.0": + version: 1.0.0 + resolution: "@tufjs/canonical-json@npm:1.0.0" + checksum: 10c0/6d28fdfa1fe22cc6a3ff41de8bf74c46dee6d4ff00e8a33519d84e060adaaa04bbdaf17fbcd102511fbdd5e4b8d2a67341c9aaf0cd641be1aea386442f4b1e88 + languageName: node + linkType: hard + +"@tufjs/models@npm:1.0.4": + version: 1.0.4 + resolution: "@tufjs/models@npm:1.0.4" + dependencies: + "@tufjs/canonical-json": "npm:1.0.0" + minimatch: "npm:^9.0.0" + checksum: 10c0/99bcfa6ecd642861a21e4874c4a687bb57f7c2ab7e10c6756b576c2fa4a6f2be3d21ba8e76334f11ea2846949b514b10fa59584aaee0a100e09e9263114b635b + languageName: node + linkType: hard + +"@types/http-proxy@npm:^1.17.8": + version: 1.17.15 + resolution: "@types/http-proxy@npm:1.17.15" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/e2bf2fcdf23c88141b8d2c85ed5e5418b62ef78285884a2b5a717af55f4d9062136aa475489d10292093343df58fb81975f34bebd6b9df322288fd9821cbee07 + languageName: node + linkType: hard + +"@types/js-cookie@npm:^2.2.6": + version: 2.2.7 + resolution: "@types/js-cookie@npm:2.2.7" + checksum: 10c0/29196c6829982b5efa79117122a7d62cf4bc2f6397ce8eac1539319ff5dce3b44b2d86f2ac064f2ed3488fb24439358f24af6914fde5c5c4bab9a85728a13a6f + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.9": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac + languageName: node + linkType: hard + +"@types/minimatch@npm:^3.0.3": + version: 3.0.5 + resolution: "@types/minimatch@npm:3.0.5" + checksum: 10c0/a1a19ba342d6f39b569510f621ae4bbe972dc9378d15e9a5e47904c440ee60744f5b09225bc73be1c6490e3a9c938eee69eb53debf55ce1f15761201aa965f97 + languageName: node + linkType: hard + +"@types/minimist@npm:^1.2.0": + version: 1.2.5 + resolution: "@types/minimist@npm:1.2.5" + checksum: 10c0/3f791258d8e99a1d7d0ca2bda1ca6ea5a94e5e7b8fc6cde84dd79b0552da6fb68ade750f0e17718f6587783c24254bbca0357648dd59dc3812c150305cabdc46 + languageName: node + linkType: hard + +"@types/mocha@npm:^8.0.4": + version: 8.2.3 + resolution: "@types/mocha@npm:8.2.3" + checksum: 10c0/a0faabd12456a51d2dae4b978b8c053517331ac23aa8874c3a35d95253fa9adfccd78b9f1cdae5cac2501aa1e7c6414ed65dc34c717867d86c09d88fda42a19c + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:>= 18": + version: 22.9.3 + resolution: "@types/node@npm:22.9.3" + dependencies: + undici-types: "npm:~6.19.8" + checksum: 10c0/954ec72bf29436ea62425a9563914a9c1e93f97b18194acd51d74d13998a701977547ed2985ed3a0e97211b785436d28377116e5f613bfcf3182d9bd81d784dc + languageName: node + linkType: hard + +"@types/normalize-package-data@npm:^2.4.0": + version: 2.4.4 + resolution: "@types/normalize-package-data@npm:2.4.4" + checksum: 10c0/aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 + languageName: node + linkType: hard + +"@types/parse-json@npm:^4.0.0": + version: 4.0.2 + resolution: "@types/parse-json@npm:4.0.2" + checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 + languageName: node + linkType: hard + +"@types/react-dom@npm:^19": + version: 19.0.3 + resolution: "@types/react-dom@npm:19.0.3" + peerDependencies: + "@types/react": ^19.0.0 + checksum: 10c0/3867427b333cbe8cbba496d7cc20ec9676d32c25ae44f4d1263a4129d42e57cf4adf0039ad263432f1215b88075c27d326e7eb4ed646128235d01a76e661d48f + languageName: node + linkType: hard + +"@types/react@npm:^19": + version: 19.0.7 + resolution: "@types/react@npm:19.0.7" + dependencies: + csstype: "npm:^3.0.2" + checksum: 10c0/818e546fa03a2a65ac2652fc472891ac96684211e8967bc25e1da6a8a09e2301ad972b1b038d128f8b4cbbd7691f6f57fee274db568169e9b6b01556abbb5bee + languageName: node + linkType: hard + +"@types/semver@npm:^7.3.12": + version: 7.5.8 + resolution: "@types/semver@npm:7.5.8" + checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa + languageName: node + linkType: hard + +"@types/vscode@npm:^1.67.0": + version: 1.95.0 + resolution: "@types/vscode@npm:1.95.0" + checksum: 10c0/4ecfa717b6ea33b2dba267b3cc10383e75c2f787f753af3a6565675b3e2c86f810f36edb699a0516fbfd1afb524209c0a4bad9d2a6e0234274031a24c1910c98 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^5.5.0, @typescript-eslint/eslint-plugin@npm:^5.59.7": + version: 5.62.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:5.62.0" + "@typescript-eslint/type-utils": "npm:5.62.0" + "@typescript-eslint/utils": "npm:5.62.0" + debug: "npm:^4.3.4" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.0" + natural-compare-lite: "npm:^1.4.0" + semver: "npm:^7.3.7" + tsutils: "npm:^3.21.0" + peerDependencies: + "@typescript-eslint/parser": ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/3f40cb6bab5a2833c3544e4621b9fdacd8ea53420cadc1c63fac3b89cdf5c62be1e6b7bcf56976dede5db4c43830de298ced3db60b5494a3b961ca1b4bff9f2a + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:^5.0.0": + version: 5.62.0 + resolution: "@typescript-eslint/experimental-utils@npm:5.62.0" + dependencies: + "@typescript-eslint/utils": "npm:5.62.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/f7037977e00849cd8c03677a88b0659a4f0e0b1e0151aebb47c49c92b8e57408578142df598eac08b364623d926343c724f42494f87662e437b1c89f0b2e815b + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^5.5.0, @typescript-eslint/parser@npm:^5.59.7": + version: 5.62.0 + resolution: "@typescript-eslint/parser@npm:5.62.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:5.62.0" + "@typescript-eslint/types": "npm:5.62.0" + "@typescript-eslint/typescript-estree": "npm:5.62.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/315194b3bf39beb9bd16c190956c46beec64b8371e18d6bb72002108b250983eb1e186a01d34b77eb4045f4941acbb243b16155fbb46881105f65e37dc9e24d4 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/scope-manager@npm:5.62.0" + dependencies: + "@typescript-eslint/types": "npm:5.62.0" + "@typescript-eslint/visitor-keys": "npm:5.62.0" + checksum: 10c0/861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/type-utils@npm:5.62.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:5.62.0" + "@typescript-eslint/utils": "npm:5.62.0" + debug: "npm:^4.3.4" + tsutils: "npm:^3.21.0" + peerDependencies: + eslint: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/93112e34026069a48f0484b98caca1c89d9707842afe14e08e7390af51cdde87378df29d213d3bbd10a7cfe6f91b228031b56218515ce077bdb62ddea9d9f474 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/types@npm:5.62.0" + checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" + dependencies: + "@typescript-eslint/types": "npm:5.62.0" + "@typescript-eslint/visitor-keys": "npm:5.62.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + semver: "npm:^7.3.7" + tsutils: "npm:^3.21.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.58.0": + version: 5.62.0 + resolution: "@typescript-eslint/utils@npm:5.62.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@types/json-schema": "npm:^7.0.9" + "@types/semver": "npm:^7.3.12" + "@typescript-eslint/scope-manager": "npm:5.62.0" + "@typescript-eslint/types": "npm:5.62.0" + "@typescript-eslint/typescript-estree": "npm:5.62.0" + eslint-scope: "npm:^5.1.1" + semver: "npm:^7.3.7" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/f09b7d9952e4a205eb1ced31d7684dd55cee40bf8c2d78e923aa8a255318d97279825733902742c09d8690f37a50243f4c4d383ab16bd7aefaf9c4b438f785e1 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" + dependencies: + "@typescript-eslint/types": "npm:5.62.0" + eslint-visitor-keys: "npm:^3.3.0" + checksum: 10c0/7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d + languageName: node + linkType: hard + +"@ungap/promise-all-settled@npm:1.1.2": + version: 1.1.2 + resolution: "@ungap/promise-all-settled@npm:1.1.2" + checksum: 10c0/7f9862bae3b6ce30675783428933be1738dca278901a6bcb55c29b8f54c08863ec8e6a7c884119877d90336501c33b7cfda36355ec7af4d703f65f54cb768913 + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + languageName: node + linkType: hard + +"@vue/compiler-core@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/compiler-core@npm:3.2.47" + dependencies: + "@babel/parser": "npm:^7.16.4" + "@vue/shared": "npm:3.2.47" + estree-walker: "npm:^2.0.2" + source-map: "npm:^0.6.1" + checksum: 10c0/d840569c1134a7ec5f1e75affceb9b0ece194f377e230ad4954b7c60b96b4121f68275a93c03aab1d9030f16748769c6b6d1adb3d9172c09eec1b83876fdf361 + languageName: node + linkType: hard + +"@vue/compiler-dom@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/compiler-dom@npm:3.2.47" + dependencies: + "@vue/compiler-core": "npm:3.2.47" + "@vue/shared": "npm:3.2.47" + checksum: 10c0/03ed60850addeb39a34eb8df3b39271eef39f9a193af69a145af911b23c2fb536c722e8b160ff1993cbab723d6882cfae9d1d84220cd01e51224ce15ada3311a + languageName: node + linkType: hard + +"@vue/compiler-sfc@npm:~3.2.47": + version: 3.2.47 + resolution: "@vue/compiler-sfc@npm:3.2.47" + dependencies: + "@babel/parser": "npm:^7.16.4" + "@vue/compiler-core": "npm:3.2.47" + "@vue/compiler-dom": "npm:3.2.47" + "@vue/compiler-ssr": "npm:3.2.47" + "@vue/reactivity-transform": "npm:3.2.47" + "@vue/shared": "npm:3.2.47" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.25.7" + postcss: "npm:^8.1.10" + source-map: "npm:^0.6.1" + checksum: 10c0/12c1f1777f2c962fd8be824f5bda64f925789ea28b4957e07e553269a5112ae067206d9a21a21369f45904add09a0f041ba397808f12afb7470bb3e77ad22922 + languageName: node + linkType: hard + +"@vue/compiler-ssr@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/compiler-ssr@npm:3.2.47" + dependencies: + "@vue/compiler-dom": "npm:3.2.47" + "@vue/shared": "npm:3.2.47" + checksum: 10c0/08049dd022ba1108088aa316828d84febb904d489debebfc712ea49d113b404672e4f1de4e301550c54ba049f7cf36360c9ca26c21c38b83a09149d77d6012bd + languageName: node + linkType: hard + +"@vue/reactivity-transform@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/reactivity-transform@npm:3.2.47" + dependencies: + "@babel/parser": "npm:^7.16.4" + "@vue/compiler-core": "npm:3.2.47" + "@vue/shared": "npm:3.2.47" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.25.7" + checksum: 10c0/9fdd5b1ae0ae841dd2f111b8d95a22e6380ae0238b9d8137e980028af6ff6c034f8654b0208515898dbcbf9bbe62a9e1ae837fdfde9c591d25d852faa1a69116 + languageName: node + linkType: hard + +"@vue/reactivity@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/reactivity@npm:3.2.47" + dependencies: + "@vue/shared": "npm:3.2.47" + checksum: 10c0/953512ab93b5261b4643bee7358e52d34647823f4ce0479e5de59add998263b3dce7ef74fc626bc2e74bdbd18b1ba7657f8cb6c05db5a0f7cfad7f2cd5b17314 + languageName: node + linkType: hard + +"@vue/runtime-core@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/runtime-core@npm:3.2.47" + dependencies: + "@vue/reactivity": "npm:3.2.47" + "@vue/shared": "npm:3.2.47" + checksum: 10c0/470a45403bf72879128e0fa2e5bedb1a1d5079026219f8c22147bf94bff4c9f52979e8e4279b7faad6c35aefbc320aca11ef78d2f0af44dfa765aadf2ed9297e + languageName: node + linkType: hard + +"@vue/runtime-dom@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/runtime-dom@npm:3.2.47" + dependencies: + "@vue/runtime-core": "npm:3.2.47" + "@vue/shared": "npm:3.2.47" + csstype: "npm:^2.6.8" + checksum: 10c0/d773076755c073d514bf4c6473f3bce773c29ff18ae57f88bf3eceedddcbed3c802e6801a7df2b8485420af45c1a187e2e79c28970e4dd2981e67d774d3de749 + languageName: node + linkType: hard + +"@vue/server-renderer@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/server-renderer@npm:3.2.47" + dependencies: + "@vue/compiler-ssr": "npm:3.2.47" + "@vue/shared": "npm:3.2.47" + peerDependencies: + vue: 3.2.47 + checksum: 10c0/547cd63dc54a33401bbf8fb45d5b03716d465c0fe0cd008a858c925524501f85a62ad20a741390f16c626da42c3531942babb5854c3d9929744a4ba689b9fb85 + languageName: node + linkType: hard + +"@vue/shared@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/shared@npm:3.2.47" + checksum: 10c0/149803a6855d404deb3ece14f3a4b9d0086d754b20d6048fb3b612306b777af75147745d16701cd6009473c0a9bf11ad45a1109592c680c9d4537bd1dc111163 + languageName: node + linkType: hard + +"@xmldom/xmldom@npm:^0.9.3": + version: 0.9.5 + resolution: "@xmldom/xmldom@npm:0.9.5" + checksum: 10c0/5ff2016050277bcee95f3fb958c442c9aa149214d0e7a72c3c0d3797e9e77a2636398f16b6a50b2bc6540e59150d1bc9c968d01a2bb4a18316ed09f8d22f8d29 + languageName: node + linkType: hard + +"@xobotyi/scrollbar-width@npm:^1.9.5": + version: 1.9.5 + resolution: "@xobotyi/scrollbar-width@npm:1.9.5" + checksum: 10c0/4ebc79e4f798e2a5e89a5122f8fc4a086f08a92a44ac020599c4fe20d105b7d76ba06c094260b5f386a75e7ce6f6c518d9fc295228b651296b99c4477f986ac4 + languageName: node + linkType: hard + +"@yarnpkg/lockfile@npm:^1.1.0": + version: 1.1.0 + resolution: "@yarnpkg/lockfile@npm:1.1.0" + checksum: 10c0/0bfa50a3d756623d1f3409bc23f225a1d069424dbc77c6fd2f14fb377390cd57ec703dc70286e081c564be9051ead9ba85d81d66a3e68eeb6eb506d4e0c0fbda + languageName: node + linkType: hard + +"@yarnpkg/parsers@npm:3.0.0-rc.46": + version: 3.0.0-rc.46 + resolution: "@yarnpkg/parsers@npm:3.0.0-rc.46" + dependencies: + js-yaml: "npm:^3.10.0" + tslib: "npm:^2.4.0" + checksum: 10c0/c7f421c6885142f351459031c093fb2e79abcce6f4a89765a10e600bb7ab122949c54bcea2b23de9572a2b34ba29f822b17831c1c43ba50373ceb8cb5b336667 + languageName: node + linkType: hard + +"@zkochan/js-yaml@npm:0.0.6": + version: 0.0.6 + resolution: "@zkochan/js-yaml@npm:0.0.6" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/5ce27ae75fb1db9657d4065bf6b380b4c0f756feb1bdf42bfde40551a74bcc0ec918f748cbdbd5d95b7107d00bc2f731ee731b5cfe93acb6f7da5639b16aa1f8 + languageName: node + linkType: hard + +"JSONStream@npm:^1.0.4": + version: 1.3.5 + resolution: "JSONStream@npm:1.3.5" + dependencies: + jsonparse: "npm:^1.2.0" + through: "npm:>=2.2.7 <3" + bin: + JSONStream: ./bin.js + checksum: 10c0/0f54694da32224d57b715385d4a6b668d2117379d1f3223dc758459246cca58fdc4c628b83e8a8883334e454a0a30aa198ede77c788b55537c1844f686a751f2 + languageName: node + linkType: hard + +"abbrev@npm:^1.0.0": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf + languageName: node + linkType: hard + +"accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn@npm:^7.1.1": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 10c0/bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526 + languageName: node + linkType: hard + +"acorn@npm:^8.8.2, acorn@npm:^8.9.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" + bin: + acorn: bin/acorn + checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7 + languageName: node + linkType: hard + +"add-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "add-stream@npm:1.0.0" + checksum: 10c0/985014a14e76ca4cb24e0fc58bb1556794cf38c5c8937de335a10584f50a371dc48e1c34a59391c7eb9c1fc908b4b86764df5d2756f701df6ba95d1ca2f63ddc + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.2.1": + version: 4.5.0 + resolution: "agentkeepalive@npm:4.5.0" + dependencies: + humanize-ms: "npm:^1.2.1" + checksum: 10c0/394ea19f9710f230722996e156607f48fdf3a345133b0b1823244b7989426c16019a428b56c82d3eabef616e938812981d9009f4792ecc66bd6a59e991c62612 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ajv@npm:^8.0.1": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 + languageName: node + linkType: hard + +"ansi-colors@npm:4.1.1": + version: 4.1.1 + resolution: "ansi-colors@npm:4.1.1" + checksum: 10c0/6086ade4336b4250b6b25e144b83e5623bcaf654d3df0c3546ce09c9c5ff999cb6a6f00c87e802d05cf98aef79d92dc76ade2670a2493b8dcb80220bec457838 + languageName: node + linkType: hard + +"ansi-colors@npm:^1.0.1": + version: 1.1.0 + resolution: "ansi-colors@npm:1.1.0" + dependencies: + ansi-wrap: "npm:^0.1.0" + checksum: 10c0/c5f3ae4710ed564ca173cd2cf3e85a3bf8dabb7b20688f84299caaf0a4af01e6b7825b32739336c9437492058d3b07d90ef42e3e6223fbba3dc9d52f63e29056 + languageName: node + linkType: hard + +"ansi-colors@npm:^4.1.1": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-gray@npm:^0.1.1": + version: 0.1.1 + resolution: "ansi-gray@npm:0.1.1" + dependencies: + ansi-wrap: "npm:0.1.0" + checksum: 10c0/f15a0c069f81a343afe2af5e111624603ce9e6059996d44a0338d7e44b88171a05dc975debdf4df01a86e62395027ae0615499a1e4adfefbebd417061b506079 + languageName: node + linkType: hard + +"ansi-html-community@npm:0.0.8": + version: 0.0.8 + resolution: "ansi-html-community@npm:0.0.8" + bin: + ansi-html: bin/ansi-html + checksum: 10c0/45d3a6f0b4f10b04fdd44bef62972e2470bfd917bf00439471fa7473d92d7cbe31369c73db863cc45dda115cb42527f39e232e9256115534b8ee5806b0caeed4 + languageName: node + linkType: hard + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 10c0/78cebaf50bce2cb96341a7230adf28d804611da3ce6bf338efa7b72f06cc6ff648e29f80cd95e582617ba58d5fdbec38abfeed3500a98bce8381a9daec7c548b + languageName: node + linkType: hard + +"ansi-regex@npm:^3.0.0": + version: 3.0.1 + resolution: "ansi-regex@npm:3.0.1" + checksum: 10c0/d108a7498b8568caf4a46eea4f1784ab4e0dfb2e3f3938c697dee21443d622d765c958f2b7e2b9f6b9e55e2e2af0584eaa9915d51782b89a841c28e744e7a167 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"ansi-wrap@npm:0.1.0, ansi-wrap@npm:^0.1.0": + version: 0.1.0 + resolution: "ansi-wrap@npm:0.1.0" + checksum: 10c0/1e0a53ae0d1a3fc5ceeb5d1868cb5b0a61543a1ff11f3efc51bab7923cc01fe8180db1f9250ce5003b425c53f568bcf3c2dea9d90b5c1cd0a1dae13f76c601dd + languageName: node + linkType: hard + +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:^2.0.0": + version: 2.0.0 + resolution: "anymatch@npm:2.0.0" + dependencies: + micromatch: "npm:^3.1.4" + normalize-path: "npm:^2.1.1" + checksum: 10c0/a0d745e52f0233048724b9c9d7b1d8a650f7a50151a0f1d2cce1857b09fd096052d334f8c570cc88596edef8249ae778f767db94025cd00f81e154a37bb7e34e + languageName: node + linkType: hard + +"anymatch@npm:~3.1.1, anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"append-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "append-buffer@npm:1.0.2" + dependencies: + buffer-equal: "npm:^1.0.0" + checksum: 10c0/909c34059ddd418ddd7c5a050b2891f971eafd17ffdcf4b39411fcb6ecb780db3e147a17dd8c4482381ee2c3a3447689d6e2ef5529dd9c1f9bb630b763a5aab5 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0, aproba@npm:^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 10c0/d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5 + languageName: node + linkType: hard + +"archy@npm:^1.0.0": + version: 1.0.0 + resolution: "archy@npm:1.0.0" + checksum: 10c0/200c849dd1c304ea9914827b0555e7e1e90982302d574153e28637db1a663c53de62bad96df42d50e8ce7fc18d05e3437d9aa8c4b383803763755f0956c7d308 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" + dependencies: + delegates: "npm:^1.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/8373f289ba42e4b5ec713bb585acdac14b5702c75f2a458dc985b9e4fa5762bc5b46b40a21b72418a3ed0cfb5e35bdc317ef1ae132f3035f633d581dd03168c3 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^4.0.0": + version: 4.0.2 + resolution: "are-we-there-yet@npm:4.0.2" + checksum: 10c0/376204f6f07ee7a5f081f5043c92c4c39fd9984278486e0c7c60e74cfc61dc206d2363a2086610f6b95399d9dc3c193cec1832d0ce10666d567f64571c2dedf5 + languageName: node + linkType: hard + +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"aria-query@npm:^5.3.2": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e + languageName: node + linkType: hard + +"arr-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "arr-diff@npm:4.0.0" + checksum: 10c0/67b80067137f70c89953b95f5c6279ad379c3ee39f7143578e13bd51580a40066ee2a55da066e22d498dce10f68c2d70056d7823f972fab99dfbf4c78d0bc0f7 + languageName: node + linkType: hard + +"arr-filter@npm:^1.1.1": + version: 1.1.2 + resolution: "arr-filter@npm:1.1.2" + dependencies: + make-iterator: "npm:^1.0.0" + checksum: 10c0/66b7f29957e9e1ce02f8de6802c588cca21124335c875849ac5ef306188be7adcce6d978e3349ce05abb35420cdb7988a818020e1b16471ad83b48e2cf58ad3a + languageName: node + linkType: hard + +"arr-flatten@npm:^1.0.1, arr-flatten@npm:^1.1.0": + version: 1.1.0 + resolution: "arr-flatten@npm:1.1.0" + checksum: 10c0/bef53be02ed3bc58f202b3861a5b1eb6e1ae4fecf39c3ad4d15b1e0433f941077d16e019a33312d820844b0661777322acbb7d0c447b04d9bdf7d6f9c532548a + languageName: node + linkType: hard + +"arr-map@npm:^2.0.0, arr-map@npm:^2.0.2": + version: 2.0.2 + resolution: "arr-map@npm:2.0.2" + dependencies: + make-iterator: "npm:^1.0.0" + checksum: 10c0/b91d095a194455f779f929de86bb815671f1602c7f344426334ddc819a8a684cde76f61ed572fd5553d23711ccba04da542f204ecb0b81c28bbe70d9793497fc + languageName: node + linkType: hard + +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: 10c0/7d5aa05894e54aa93c77c5726c1dd5d8e8d3afe4f77983c0aa8a14a8a5cbe8b18f0cf4ecaa4ac8c908ef5f744d2cbbdaa83fd6e96724d15fea56cfa7f5efdd51 + languageName: node + linkType: hard + +"array-buffer-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "array-buffer-byte-length@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.5" + is-array-buffer: "npm:^3.0.4" + checksum: 10c0/f5cdf54527cd18a3d2852ddf73df79efec03829e7373a8322ef5df2b4ef546fb365c19c71d6b42d641cb6bfe0f1a2f19bc0ece5b533295f86d7c3d522f228917 + languageName: node + linkType: hard + +"array-differ@npm:^3.0.0": + version: 3.0.0 + resolution: "array-differ@npm:3.0.0" + checksum: 10c0/c0d924cc2b7e3f5a0e6ae932e8941c5fddc0412bcecf8d5152641910e60f5e1c1e87da2b32083dec2f92f9a8f78e916ea68c22a0579794ba49886951ae783123 + languageName: node + linkType: hard + +"array-each@npm:^1.0.0, array-each@npm:^1.0.1": + version: 1.0.1 + resolution: "array-each@npm:1.0.1" + checksum: 10c0/b5951ac450b560849143722d6785672ae71f5e9b061f11e7e2f775513a952e583e8bcedbba538a08049e235f5583756efec440fc6740a9b47b411cb487f65a9b + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 + languageName: node + linkType: hard + +"array-from@npm:^2.1.1": + version: 2.1.1 + resolution: "array-from@npm:2.1.1" + checksum: 10c0/565fe078a3fb8be3d1b17d1b1a6b514d14d7f6c7349fb1de0b0f4cb7e0e4ffb6d35e03ff234ac978cffb67fc8f1e93e477271b70fe2f9e0ef76d10b0402d4d26 + languageName: node + linkType: hard + +"array-ify@npm:^1.0.0": + version: 1.0.0 + resolution: "array-ify@npm:1.0.0" + checksum: 10c0/75c9c072faac47bd61779c0c595e912fe660d338504ac70d10e39e1b8a4a0c9c87658703d619b9d1b70d324177ae29dc8d07dda0d0a15d005597bc4c5a59c70c + languageName: node + linkType: hard + +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": + version: 3.1.8 + resolution: "array-includes@npm:3.1.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + is-string: "npm:^1.0.7" + checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370 + languageName: node + linkType: hard + +"array-initial@npm:^1.0.0": + version: 1.1.0 + resolution: "array-initial@npm:1.1.0" + dependencies: + array-slice: "npm:^1.0.0" + is-number: "npm:^4.0.0" + checksum: 10c0/2a895b8aed2d782b953c4281ed09d67a465ed1c62e2264c7ee3e1a39c72b3790bac21d6ffa62f0ce606f18a99195c50fd4cd36cc725b501ee49c81fd2441ead5 + languageName: node + linkType: hard + +"array-last@npm:^1.1.1": + version: 1.3.0 + resolution: "array-last@npm:1.3.0" + dependencies: + is-number: "npm:^4.0.0" + checksum: 10c0/bb620e744fab80b104a5eddfa828eb915451ffc23b737e76b2ecfbbef42e1a9557ca85d280cde10c5d12b4627d15857e7312a2f20d9ecc45f1e52d745a591438 + languageName: node + linkType: hard + +"array-slice@npm:^1.0.0": + version: 1.1.0 + resolution: "array-slice@npm:1.1.0" + checksum: 10c0/dfefd705905f428b6c4cace2a787f308b5a64db5411e33cdf8ff883b6643f1703e48ac152b74eea482f8f6765fdf78b5277e2bad7840be2b4d5c23777db3266f + languageName: node + linkType: hard + +"array-sort@npm:^1.0.0": + version: 1.0.0 + resolution: "array-sort@npm:1.0.0" + dependencies: + default-compare: "npm:^1.0.0" + get-value: "npm:^2.0.6" + kind-of: "npm:^5.0.2" + checksum: 10c0/10fe9186fcf25e019e28a8a5d0375f6f5b71f48983266ae64ae06f7c55e1ccd7aea6ecf78c77829e7859e2da240398c45e4d046fd9f45935485d08c9fd45eb53 + languageName: node + linkType: hard + +"array-union@npm:^1.0.1": + version: 1.0.2 + resolution: "array-union@npm:1.0.2" + dependencies: + array-uniq: "npm:^1.0.1" + checksum: 10c0/18686767c0cfdae8dc4acf5ac119b0f0eacad82b7fcc0aa62cc41f93c5ad406d494b6a6e53d85e52e8f0349b67a4fec815feeb537e95c02510d747bc9a4157c7 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"array-uniq@npm:^1.0.1": + version: 1.0.3 + resolution: "array-uniq@npm:1.0.3" + checksum: 10c0/3acbaf9e6d5faeb1010e2db04ab171b8d265889e46c61762e502979bdc5e55656013726e9a61507de3c82d329a0dc1e8072630a3454b4f2b881cb19ba7fd8aa6 + languageName: node + linkType: hard + +"array-unique@npm:^0.3.2": + version: 0.3.2 + resolution: "array-unique@npm:0.3.2" + checksum: 10c0/dbf4462cdba8a4b85577be07705210b3d35be4b765822a3f52962d907186617638ce15e0603a4fefdcf82f4cbbc9d433f8cbbd6855148a68872fa041b6474121 + languageName: node + linkType: hard + +"array.prototype.findlast@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlast@npm:1.2.5" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775 + languageName: node + linkType: hard + +"array.prototype.findlastindex@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlastindex@npm:1.2.5" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/962189487728b034f3134802b421b5f39e42ee2356d13b42d2ddb0e52057ffdcc170b9524867f4f0611a6f638f4c19b31e14606e8bcbda67799e26685b195aa3 + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flat@npm:1.3.2" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-shim-unscopables: "npm:^1.0.0" + checksum: 10c0/a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flatmap@npm:1.3.2" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-shim-unscopables: "npm:^1.0.0" + checksum: 10c0/67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4 + languageName: node + linkType: hard + +"array.prototype.tosorted@npm:^1.1.4": + version: 1.1.4 + resolution: "array.prototype.tosorted@npm:1.1.4" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + es-errors: "npm:^1.3.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/eb3c4c4fc0381b0bf6dba2ea4d48d367c2827a0d4236a5718d97caaccc6b78f11f4cadf090736e86301d295a6aa4967ed45568f92ced51be8cbbacd9ca410943 + languageName: node + linkType: hard + +"arraybuffer.prototype.slice@npm:^1.0.3": + version: 1.0.3 + resolution: "arraybuffer.prototype.slice@npm:1.0.3" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.22.3" + es-errors: "npm:^1.2.1" + get-intrinsic: "npm:^1.2.3" + is-array-buffer: "npm:^3.0.4" + is-shared-array-buffer: "npm:^1.0.2" + checksum: 10c0/d32754045bcb2294ade881d45140a5e52bda2321b9e98fa514797b7f0d252c4c5ab0d1edb34112652c62fa6a9398def568da63a4d7544672229afea283358c36 + languageName: node + linkType: hard + +"arrify@npm:^1.0.1": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 10c0/c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab + languageName: node + linkType: hard + +"arrify@npm:^2.0.1": + version: 2.0.1 + resolution: "arrify@npm:2.0.1" + checksum: 10c0/3fb30b5e7c37abea1907a60b28a554d2f0fc088757ca9bf5b684786e583fdf14360721eb12575c1ce6f995282eab936712d3c4389122682eafab0e0b57f78dbb + languageName: node + linkType: hard + +"asap@npm:~2.0.3": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d + languageName: node + linkType: hard + +"asn1.js@npm:^4.10.1": + version: 4.10.1 + resolution: "asn1.js@npm:4.10.1" + dependencies: + bn.js: "npm:^4.0.0" + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/afa7f3ab9e31566c80175a75b182e5dba50589dcc738aa485be42bdd787e2a07246a4b034d481861123cbe646a7656f318f4f1cad2e9e5e808a210d5d6feaa88 + languageName: node + linkType: hard + +"assert-never@npm:^1.2.1": + version: 1.3.0 + resolution: "assert-never@npm:1.3.0" + checksum: 10c0/5dbd4fb93bca5c5639c04b5216feebe00e44005b2967e35490cb3154b0ffa48637f796fdb48141b40ffd5b32bd669eb675ba876e112f269fc4bf5a70e70374a8 + languageName: node + linkType: hard + +"assert@npm:^2.0.0": + version: 2.1.0 + resolution: "assert@npm:2.1.0" + dependencies: + call-bind: "npm:^1.0.2" + is-nan: "npm:^1.3.2" + object-is: "npm:^1.1.5" + object.assign: "npm:^4.1.4" + util: "npm:^0.12.5" + checksum: 10c0/7271a5da883c256a1fa690677bf1dd9d6aa882139f2bed1cd15da4f9e7459683e1da8e32a203d6cc6767e5e0f730c77a9532a87b896b4b0af0dd535f668775f0 + languageName: node + linkType: hard + +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: 10c0/29a654b8a6da6889a190d0d0efef4b1bfb5948fa06cbc245054aef05139f889f2f7c75b989917e3fde853fc4093b88048e4de8578a73a76f113d41bfd66e5775 + languageName: node + linkType: hard + +"ast-types-flow@npm:^0.0.8": + version: 0.0.8 + resolution: "ast-types-flow@npm:0.0.8" + checksum: 10c0/f2a0ba8055353b743c41431974521e5e852a9824870cd6fce2db0e538ac7bf4da406bbd018d109af29ff3f8f0993f6a730c9eddbd0abd031fbcb29ca75c1014e + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25 + languageName: node + linkType: hard + +"async-done@npm:^1.2.0, async-done@npm:^1.2.2": + version: 1.3.2 + resolution: "async-done@npm:1.3.2" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.2" + process-nextick-args: "npm:^2.0.0" + stream-exhaust: "npm:^1.0.1" + checksum: 10c0/0c11985b49e7915f2de2333a12722e415ba0d46e8285f699b610b11cd54ee8c59056e8ae6e7ed2c88e4cc2235173895fe4a67c610b3105cc58d821f4ce72fb35 + languageName: node + linkType: hard + +"async-each@npm:^1.0.1": + version: 1.0.6 + resolution: "async-each@npm:1.0.6" + checksum: 10c0/d4e45e8f077e20e015952c065ceae75f82b30ee2d4a8e56a5c454ae44331aaa009d8c94fe043ba254c177bffae9f6ebeefebb7daf9f7ce4d27fac0274dc328ae + languageName: node + linkType: hard + +"async-settle@npm:^1.0.0": + version: 1.0.0 + resolution: "async-settle@npm:1.0.0" + dependencies: + async-done: "npm:^1.2.2" + checksum: 10c0/cae0911fa77078472d5f8889a1dbd60bd35a69b0a5ed0b4bd0cdb7ac57935c08c6b16242eaa0149c7a920553d5efba4512ef1175f6ed0b66f374d61c01373a36 + languageName: node + linkType: hard + +"async@npm:^3.2.3": + version: 3.2.6 + resolution: "async@npm:3.2.6" + checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef + languageName: node + linkType: hard + +"atob@npm:^2.1.2": + version: 2.1.2 + resolution: "atob@npm:2.1.2" + bin: + atob: bin/atob.js + checksum: 10c0/ada635b519dc0c576bb0b3ca63a73b50eefacf390abb3f062558342a8d68f2db91d0c8db54ce81b0d89de3b0f000de71f3ae7d761fd7d8cc624278fe443d6c7e + languageName: node + linkType: hard + +"autoprefixer@npm:^10.4.0": + version: 10.4.20 + resolution: "autoprefixer@npm:10.4.20" + dependencies: + browserslist: "npm:^4.23.3" + caniuse-lite: "npm:^1.0.30001646" + fraction.js: "npm:^4.3.7" + normalize-range: "npm:^0.1.2" + picocolors: "npm:^1.0.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 10c0/e1f00978a26e7c5b54ab12036d8c13833fad7222828fc90914771b1263f51b28c7ddb5803049de4e77696cbd02bb25cfc3634e80533025bb26c26aacdf938940 + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: "npm:^1.0.0" + checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 + languageName: node + linkType: hard + +"axe-core@npm:^4.10.0": + version: 4.10.2 + resolution: "axe-core@npm:4.10.2" + checksum: 10c0/0e20169077de96946a547fce0df39d9aeebe0077f9d3eeff4896518b96fde857f80b98f0d4279274a7178791744dd5a54bb4f322de45b4f561ffa2586ff9a09d + languageName: node + linkType: hard + +"axios@npm:^1.0.0": + version: 1.8.4 + resolution: "axios@npm:1.8.4" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/450993c2ba975ffccaf0d480b68839a3b2435a5469a71fa2fb0b8a55cdb2c2ae47e609360b9c1e2b2534b73dfd69e2733a1cf9f8215bee0bcd729b72f801b0ce + languageName: node + linkType: hard + +"axobject-query@npm:^4.1.0": + version: 4.1.0 + resolution: "axobject-query@npm:4.1.0" + checksum: 10c0/c470e4f95008f232eadd755b018cb55f16c03ccf39c027b941cd8820ac6b68707ce5d7368a46756db4256fbc91bb4ead368f84f7fb034b2b7932f082f6dc0775 + languageName: node + linkType: hard + +"azure-devops-node-api@npm:^7.2.0": + version: 7.2.0 + resolution: "azure-devops-node-api@npm:7.2.0" + dependencies: + os: "npm:0.1.1" + tunnel: "npm:0.0.4" + typed-rest-client: "npm:1.2.0" + underscore: "npm:1.8.3" + checksum: 10c0/d4651d59c157e6868a844fb044e985aec062a8b790f2d23d2e825b44d787f6113106e79f1a04956cfac719cae095585976a9d1f3a5429c985f22bd865677bedb + languageName: node + linkType: hard + +"babel-helper-evaluate-path@npm:^0.5.0": + version: 0.5.0 + resolution: "babel-helper-evaluate-path@npm:0.5.0" + checksum: 10c0/e79a455c10ada2c6033c25f63cee6dbd8034a233ec1be4063089d28005aa5219a3dc43d847feeb915168ab7da92b1a5a4edc91ccc907892b9a1e69e91422cda7 + languageName: node + linkType: hard + +"babel-helper-mark-eval-scopes@npm:^0.4.3": + version: 0.4.3 + resolution: "babel-helper-mark-eval-scopes@npm:0.4.3" + checksum: 10c0/36955d83f1d810ea316dea3057a2d9949cd9c4238390903f525b30267218051c383d71a23989b240300a2829be2f9d77ccc78ba2bae76edb5142592cb765191e + languageName: node + linkType: hard + +"babel-helper-remove-or-void@npm:^0.4.3": + version: 0.4.3 + resolution: "babel-helper-remove-or-void@npm:0.4.3" + checksum: 10c0/c0f1572f2817e45883a404cb24b91a0695b05ac75ec366a785d1681aae777a07e404bee63d2700fb54b98deab98dfac8aa91f796f6be6ec71d389cce80b0e1aa + languageName: node + linkType: hard + +"babel-plugin-macros@npm:^3.1.0": + version: 3.1.0 + resolution: "babel-plugin-macros@npm:3.1.0" + dependencies: + "@babel/runtime": "npm:^7.12.5" + cosmiconfig: "npm:^7.0.0" + resolve: "npm:^1.19.0" + checksum: 10c0/c6dfb15de96f67871d95bd2e8c58b0c81edc08b9b087dc16755e7157f357dc1090a8dc60ebab955e92587a9101f02eba07e730adc253a1e4cf593ca3ebd3839c + languageName: node + linkType: hard + +"babel-plugin-minify-dead-code-elimination@npm:^0.5.0": + version: 0.5.2 + resolution: "babel-plugin-minify-dead-code-elimination@npm:0.5.2" + dependencies: + babel-helper-evaluate-path: "npm:^0.5.0" + babel-helper-mark-eval-scopes: "npm:^0.4.3" + babel-helper-remove-or-void: "npm:^0.4.3" + lodash: "npm:^4.17.11" + checksum: 10c0/0b16867e296c6fa8f489ac9cae39707d10580210392d2613d5e43925c288d0ff760acd3ef850bdff2b3bdb60ad30fef2a8692c181dd5e1c816e81937cce1fc38 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.4.10": + version: 0.4.12 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.12" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.3" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/49150c310de2d472ecb95bd892bca1aa833cf5e84bbb76e3e95cf9ff2c6c8c3b3783dd19d70ba50ff6235eb8ce1fa1c0affe491273c95a1ef6a2923f4d5a3819 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.10.6": + version: 0.10.6 + resolution: "babel-plugin-polyfill-corejs3@npm:0.10.6" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.2" + core-js-compat: "npm:^3.38.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/3a69220471b07722c2ae6537310bf26b772514e12b601398082965459c838be70a0ca70b0662f0737070654ff6207673391221d48599abb4a2b27765206d9f79 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.6.1": + version: 0.6.3 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.3" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.3" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/40164432e058e4b5c6d56feecacdad22692ae0534bd80c92d5399ed9e1a6a2b6797c8fda837995daddd4ca391f9aa2d58c74ad465164922e0f73631eaf9c4f76 + languageName: node + linkType: hard + +"babel-plugin-transform-inline-environment-variables@npm:^0.4.3": + version: 0.4.4 + resolution: "babel-plugin-transform-inline-environment-variables@npm:0.4.4" + checksum: 10c0/f1bb9d57e83184a8413939032c570a286447186e6b78fdc0d3cade4dcab51955d3b549d2a0af4f866b172221d287d67a9f4e6d742de7df4c411fe085e20aadeb + languageName: node + linkType: hard + +"babel-plugin-transform-react-remove-prop-types@npm:^0.4.24": + version: 0.4.24 + resolution: "babel-plugin-transform-react-remove-prop-types@npm:0.4.24" + checksum: 10c0/713441fd9fb663cc95709cb52d9c2c6228ea6d5406092a8a50094c810bcb13c3c347f8fca703d45b20cc401782743a91d7272025950147f9247d53360267f107 + languageName: node + linkType: hard + +"babel-preset-react-app@npm:^10.0.1": + version: 10.0.1 + resolution: "babel-preset-react-app@npm:10.0.1" + dependencies: + "@babel/core": "npm:^7.16.0" + "@babel/plugin-proposal-class-properties": "npm:^7.16.0" + "@babel/plugin-proposal-decorators": "npm:^7.16.4" + "@babel/plugin-proposal-nullish-coalescing-operator": "npm:^7.16.0" + "@babel/plugin-proposal-numeric-separator": "npm:^7.16.0" + "@babel/plugin-proposal-optional-chaining": "npm:^7.16.0" + "@babel/plugin-proposal-private-methods": "npm:^7.16.0" + "@babel/plugin-transform-flow-strip-types": "npm:^7.16.0" + "@babel/plugin-transform-react-display-name": "npm:^7.16.0" + "@babel/plugin-transform-runtime": "npm:^7.16.4" + "@babel/preset-env": "npm:^7.16.4" + "@babel/preset-react": "npm:^7.16.0" + "@babel/preset-typescript": "npm:^7.16.0" + "@babel/runtime": "npm:^7.16.3" + babel-plugin-macros: "npm:^3.1.0" + babel-plugin-transform-react-remove-prop-types: "npm:^0.4.24" + checksum: 10c0/aba225d0caf2591f7cc1aeed69369d1e86419a92fcf6025312421c238f4468347a7b6c12a45a4fb15e879a01f5a060439842fbde5739d7be31077b35c7d20fa5 + languageName: node + linkType: hard + +"babel-walk@npm:3.0.0-canary-5": + version: 3.0.0-canary-5 + resolution: "babel-walk@npm:3.0.0-canary-5" + dependencies: + "@babel/types": "npm:^7.9.6" + checksum: 10c0/17b689874d15c37714cedf6797dd9321dcb998d8e0dda9a8fe8c8bbbf128bbdeb8935cf56e8630d6b67eae76d2a0bc1e470751e082c3b0e30b80d58beafb5e64 + languageName: node + linkType: hard + +"bach@npm:^1.0.0": + version: 1.2.0 + resolution: "bach@npm:1.2.0" + dependencies: + arr-filter: "npm:^1.1.1" + arr-flatten: "npm:^1.0.1" + arr-map: "npm:^2.0.0" + array-each: "npm:^1.0.0" + array-initial: "npm:^1.0.0" + array-last: "npm:^1.1.1" + async-done: "npm:^1.2.2" + async-settle: "npm:^1.0.0" + now-and-later: "npm:^2.0.0" + checksum: 10c0/0f2615664960f73fc38d1738206a861266b8b9d1ef5e95dccd7e2d8f2b8e93c718ec7717cb35d4229d2a4ed9909c3830b64bca892451a6bcf07fa572e1e0758c + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base-x@npm:^3.0.8": + version: 3.0.10 + resolution: "base-x@npm:3.0.10" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/a13a34b71439ee5381667efa630b3bf640cf17f632c5ba01990483367592e72f247d7fb4f8c6d0e3ff8c0fb7224b3ac682ff5be09b87063a45b3968f0457e563 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"base@npm:^0.11.1": + version: 0.11.2 + resolution: "base@npm:0.11.2" + dependencies: + cache-base: "npm:^1.0.1" + class-utils: "npm:^0.3.5" + component-emitter: "npm:^1.2.1" + define-property: "npm:^1.0.0" + isobject: "npm:^3.0.1" + mixin-deep: "npm:^1.2.0" + pascalcase: "npm:^0.1.1" + checksum: 10c0/30a2c0675eb52136b05ef496feb41574d9f0bb2d6d677761da579c00a841523fccf07f1dbabec2337b5f5750f428683b8ca60d89e56a1052c4ae1c0cd05de64d + languageName: node + linkType: hard + +"before-after-hook@npm:^2.2.0": + version: 2.2.3 + resolution: "before-after-hook@npm:2.2.3" + checksum: 10c0/0488c4ae12df758ca9d49b3bb27b47fd559677965c52cae7b335784724fb8bf96c42b6e5ba7d7afcbc31facb0e294c3ef717cc41c5bc2f7bd9e76f8b90acd31c + languageName: node + linkType: hard + +"big-integer@npm:^1.6.17": + version: 1.6.52 + resolution: "big-integer@npm:1.6.52" + checksum: 10c0/9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 + languageName: node + linkType: hard + +"bin-links@npm:^4.0.1": + version: 4.0.4 + resolution: "bin-links@npm:4.0.4" + dependencies: + cmd-shim: "npm:^6.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + read-cmd-shim: "npm:^4.0.0" + write-file-atomic: "npm:^5.0.0" + checksum: 10c0/feb664e786429289d189c19c193b28d855c2898bc53b8391306cbad2273b59ccecb91fd31a433020019552c3bad3a1e0eeecca1c12e739a12ce2ca94f7553a17 + languageName: node + linkType: hard + +"binary-extensions@npm:^1.0.0": + version: 1.13.1 + resolution: "binary-extensions@npm:1.13.1" + checksum: 10c0/2d616938ac23d828ec3fbe0dea429b566fd2c137ddc38f166f16561ccd58029deac3fa9fddb489ab13d679c8fb5f1bd0e82824041299e5e39d8dd3cc68fbb9f9 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"binary@npm:~0.3.0": + version: 0.3.0 + resolution: "binary@npm:0.3.0" + dependencies: + buffers: "npm:~0.1.1" + chainsaw: "npm:~0.1.0" + checksum: 10c0/752c2c2ff9f23506b3428cc8accbfcc92fec07bf8a31a1953e9c7e2193eb5db8a67252034ab93e8adab2a1c43f3eeb3da0bacae0320e9814f3ca127942c55871 + languageName: node + linkType: hard + +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: "npm:1.0.0" + checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba + languageName: node + linkType: hard + +"bl@npm:^4.0.3, bl@npm:^4.1.0": + version: 4.1.0 + resolution: "bl@npm:4.1.0" + dependencies: + buffer: "npm:^5.5.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.4.0" + checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f + languageName: node + linkType: hard + +"bluebird@npm:~3.4.1": + version: 3.4.7 + resolution: "bluebird@npm:3.4.7" + checksum: 10c0/ac7e3df09a433b985a0ba61a0be4fc23e3874bf62440ffbca2f275a8498b00c11336f1f633631f38419b2c842515473985f9c4aaa9e4c9b36105535026d94144 + languageName: node + linkType: hard + +"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": + version: 4.12.1 + resolution: "bn.js@npm:4.12.1" + checksum: 10c0/b7f37a0cd5e4b79142b6f4292d518b416be34ae55d6dd6b0f66f96550c8083a50ffbbf8bda8d0ab471158cb81aa74ea4ee58fe33c7802e4a30b13810e98df116 + languageName: node + linkType: hard + +"bn.js@npm:^5.2.1": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa + languageName: node + linkType: hard + +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^2.3.1, braces@npm:^2.3.2": + version: 2.3.2 + resolution: "braces@npm:2.3.2" + dependencies: + arr-flatten: "npm:^1.1.0" + array-unique: "npm:^0.3.2" + extend-shallow: "npm:^2.0.1" + fill-range: "npm:^4.0.0" + isobject: "npm:^3.0.1" + repeat-element: "npm:^1.1.2" + snapdragon: "npm:^0.8.1" + snapdragon-node: "npm:^2.0.1" + split-string: "npm:^3.0.2" + to-regex: "npm:^3.0.1" + checksum: 10c0/72b27ea3ea2718f061c29e70fd6e17606e37c65f5801abddcf0b0052db1de7d60f3bf92cfc220ab57b44bd0083a5f69f9d03b3461d2816cfe9f9398207acc728 + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"brorand@npm:^1.0.1, brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 + languageName: node + linkType: hard + +"browser-stdout@npm:1.3.1": + version: 1.3.1 + resolution: "browser-stdout@npm:1.3.1" + checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 + languageName: node + linkType: hard + +"browserify-aes@npm:^1.0.4, browserify-aes@npm:^1.2.0": + version: 1.2.0 + resolution: "browserify-aes@npm:1.2.0" + dependencies: + buffer-xor: "npm:^1.0.3" + cipher-base: "npm:^1.0.0" + create-hash: "npm:^1.1.0" + evp_bytestokey: "npm:^1.0.3" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/967f2ae60d610b7b252a4cbb55a7a3331c78293c94b4dd9c264d384ca93354c089b3af9c0dd023534efdc74ffbc82510f7ad4399cf82bc37bc07052eea485f18 + languageName: node + linkType: hard + +"browserify-cipher@npm:^1.0.1": + version: 1.0.1 + resolution: "browserify-cipher@npm:1.0.1" + dependencies: + browserify-aes: "npm:^1.0.4" + browserify-des: "npm:^1.0.0" + evp_bytestokey: "npm:^1.0.0" + checksum: 10c0/aa256dcb42bc53a67168bbc94ab85d243b0a3b56109dee3b51230b7d010d9b78985ffc1fb36e145c6e4db151f888076c1cfc207baf1525d3e375cbe8187fe27d + languageName: node + linkType: hard + +"browserify-des@npm:^1.0.0": + version: 1.0.2 + resolution: "browserify-des@npm:1.0.2" + dependencies: + cipher-base: "npm:^1.0.1" + des.js: "npm:^1.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/943eb5d4045eff80a6cde5be4e5fbb1f2d5002126b5a4789c3c1aae3cdddb1eb92b00fb92277f512288e5c6af330730b1dbabcf7ce0923e749e151fcee5a074d + languageName: node + linkType: hard + +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.0": + version: 4.1.1 + resolution: "browserify-rsa@npm:4.1.1" + dependencies: + bn.js: "npm:^5.2.1" + randombytes: "npm:^2.1.0" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/b650ee1192e3d7f3d779edc06dd96ed8720362e72ac310c367b9d7fe35f7e8dbb983c1829142b2b3215458be8bf17c38adc7224920843024ed8cf39e19c513c0 + languageName: node + linkType: hard + +"browserify-sign@npm:^4.2.3": + version: 4.2.3 + resolution: "browserify-sign@npm:4.2.3" + dependencies: + bn.js: "npm:^5.2.1" + browserify-rsa: "npm:^4.1.0" + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + elliptic: "npm:^6.5.5" + hash-base: "npm:~3.0" + inherits: "npm:^2.0.4" + parse-asn1: "npm:^5.1.7" + readable-stream: "npm:^2.3.8" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/30c0eba3f5970a20866a4d3fbba2c5bd1928cd24f47faf995f913f1499214c6f3be14bb4d6ec1ab5c6cafb1eca9cb76ba1c2e1c04ed018370634d4e659c77216 + languageName: node + linkType: hard + +"browserify-zlib@npm:^0.2.0": + version: 0.2.0 + resolution: "browserify-zlib@npm:0.2.0" + dependencies: + pako: "npm:~1.0.5" + checksum: 10c0/9ab10b6dc732c6c5ec8ebcbe5cb7fe1467f97402c9b2140113f47b5f187b9438f93a8e065d8baf8b929323c18324fbf1105af479ee86d9d36cab7d7ef3424ad9 + languageName: node + linkType: hard + +"browserslist@npm:^4.0.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.2, browserslist@npm:^4.6.6": + version: 4.24.2 + resolution: "browserslist@npm:4.24.2" + dependencies: + caniuse-lite: "npm:^1.0.30001669" + electron-to-chromium: "npm:^1.5.41" + node-releases: "npm:^2.0.18" + update-browserslist-db: "npm:^1.1.1" + bin: + browserslist: cli.js + checksum: 10c0/d747c9fb65ed7b4f1abcae4959405707ed9a7b835639f8a9ba0da2911995a6ab9b0648fd05baf2a4d4e3cf7f9fdbad56d3753f91881e365992c1d49c8d88ff7a + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: "npm:^0.4.0" + checksum: 10c0/24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 + languageName: node + linkType: hard + +"buffer-crc32@npm:~0.2.3": + version: 0.2.13 + resolution: "buffer-crc32@npm:0.2.13" + checksum: 10c0/cb0a8ddf5cf4f766466db63279e47761eb825693eeba6a5a95ee4ec8cb8f81ede70aa7f9d8aeec083e781d47154290eb5d4d26b3f7a465ec57fb9e7d59c47150 + languageName: node + linkType: hard + +"buffer-equal@npm:^1.0.0": + version: 1.0.1 + resolution: "buffer-equal@npm:1.0.1" + checksum: 10c0/578f03cc9458f9151f68478ab80ebee99a4203de0647a47b491aa3d5fb821938cb4139119a2dae1a1ef9ed5506e0eee4d6a37178efbf2e2e0ee3a9886898fffd + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer-indexof-polyfill@npm:~1.0.0": + version: 1.0.2 + resolution: "buffer-indexof-polyfill@npm:1.0.2" + checksum: 10c0/b8376d5f8b2c230d02fce36762b149b6c436aa03aca5e02b934ea13ce72a7e731c785fa30fb30e9c713df5173b4f8e89856574e70ce86b2f1d94d7d90166eab0 + languageName: node + linkType: hard + +"buffer-xor@npm:^1.0.3": + version: 1.0.3 + resolution: "buffer-xor@npm:1.0.3" + checksum: 10c0/fd269d0e0bf71ecac3146187cfc79edc9dbb054e2ee69b4d97dfb857c6d997c33de391696d04bdd669272751fa48e7872a22f3a6c7b07d6c0bc31dbe02a4075c + languageName: node + linkType: hard + +"buffer@mischnic/buffer#b8a4fa94, buffer@npm:^5.5.0||^6.0.0": + version: 6.0.3 + resolution: "buffer@https://github.com/mischnic/buffer.git#commit=b8a4fa94c96973a5321a95c75e0b16967f0745f3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/e63e0c77979a8d2d63f4797a7d5889afdc12d431dafd647b00c4d0c4c33d7d09e429daeb8db3ca0592beb02408bd5ed18c87c6c2172b2bf0ebb6ae87aefeb797 + languageName: node + linkType: hard + +"buffer@npm:^5.5.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.1.13" + checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e + languageName: node + linkType: hard + +"buffers@npm:~0.1.1": + version: 0.1.1 + resolution: "buffers@npm:0.1.1" + checksum: 10c0/c7a3284ddb4f5c65431508be65535e3739215f7996aa03e5d3a3fcf03144d35ffca7d9825572e6c6c6007f5308b8553c7b2941fcf5e56fac20dedea7178f5f71 + languageName: node + linkType: hard + +"builtin-status-codes@npm:^3.0.0": + version: 3.0.0 + resolution: "builtin-status-codes@npm:3.0.0" + checksum: 10c0/c37bbba11a34c4431e56bd681b175512e99147defbe2358318d8152b3a01df7bf25e0305873947e5b350073d5ef41a364a22b37e48f1fb6d2fe6d5286a0f348c + languageName: node + linkType: hard + +"builtins@npm:^1.0.3": + version: 1.0.3 + resolution: "builtins@npm:1.0.3" + checksum: 10c0/493afcc1db0a56d174cc85bebe5ca69144f6fdd0007d6cbe6b2434185314c79d83cb867e492b56aa5cf421b4b8a8135bf96ba4c3ce71994cf3da154d1ea59747 + languageName: node + linkType: hard + +"builtins@npm:^5.0.0": + version: 5.1.0 + resolution: "builtins@npm:5.1.0" + dependencies: + semver: "npm:^7.0.0" + checksum: 10c0/3c32fe5bd7ed4ff7dbd6fb14bcb9d7eaa7e967327f1899cd336f8625d3f46fceead0a53528f1e332aeaee757034ebb307cb2f1a37af2b86a3c5ad4845d01c0c8 + languageName: node + linkType: hard + +"byte-size@npm:7.0.0": + version: 7.0.0 + resolution: "byte-size@npm:7.0.0" + checksum: 10c0/5420787f0c50b7bdaef49222a4a0b198b9a102ef287f9045312bcdc545b1514962234aae9147f9bb3ff4c72ac879c26b47638c0e85d3d923b0e7cd7a77b6189f + languageName: node + linkType: hard + +"bytes@npm:3.0.0": + version: 3.0.0 + resolution: "bytes@npm:3.0.0" + checksum: 10c0/91d42c38601c76460519ffef88371caacaea483a354c8e4b8808e7b027574436a5713337c003ea3de63ee4991c2a9a637884fdfe7f761760d746929d9e8fec60 + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + languageName: node + linkType: hard + +"cacache@npm:^16.1.0": + version: 16.1.3 + resolution: "cacache@npm:16.1.3" + dependencies: + "@npmcli/fs": "npm:^2.1.0" + "@npmcli/move-file": "npm:^2.0.0" + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.1.0" + glob: "npm:^8.0.1" + infer-owner: "npm:^1.0.4" + lru-cache: "npm:^7.7.1" + minipass: "npm:^3.1.6" + minipass-collect: "npm:^1.0.2" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + mkdirp: "npm:^1.0.4" + p-map: "npm:^4.0.0" + promise-inflight: "npm:^1.0.1" + rimraf: "npm:^3.0.2" + ssri: "npm:^9.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^2.0.0" + checksum: 10c0/cdf6836e1c457d2a5616abcaf5d8240c0346b1f5bd6fdb8866b9d84b6dff0b54e973226dc11e0d099f35394213d24860d1989c8358d2a41b39eb912b3000e749 + languageName: node + linkType: hard + +"cacache@npm:^17.0.0, cacache@npm:^17.0.4": + version: 17.1.4 + resolution: "cacache@npm:17.1.4" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^7.7.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^1.0.2" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 10c0/21749dcf98c61dd570b179e51573b076c92e3f6c82166d37444242db66b92b1e6c6dc11c6059c027ac7bdef5479b513855059299cc11cda8212c49b0f69a3662 + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"cache-base@npm:^1.0.1": + version: 1.0.1 + resolution: "cache-base@npm:1.0.1" + dependencies: + collection-visit: "npm:^1.0.0" + component-emitter: "npm:^1.2.1" + get-value: "npm:^2.0.6" + has-value: "npm:^1.0.0" + isobject: "npm:^3.0.1" + set-value: "npm:^2.0.0" + to-object-path: "npm:^0.3.0" + union-value: "npm:^1.0.0" + unset-value: "npm:^1.0.0" + checksum: 10c0/a7142e25c73f767fa520957dcd179b900b86eac63b8cfeaa3b2a35e18c9ca5968aa4e2d2bed7a3e7efd10f13be404344cfab3a4156217e71f9bdb95940bb9c8c + languageName: node + linkType: hard + +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.1" + checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camelcase-css@npm:^2.0.1": + version: 2.0.1 + resolution: "camelcase-css@npm:2.0.1" + checksum: 10c0/1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 + languageName: node + linkType: hard + +"camelcase-keys@npm:^6.2.2": + version: 6.2.2 + resolution: "camelcase-keys@npm:6.2.2" + dependencies: + camelcase: "npm:^5.3.1" + map-obj: "npm:^4.0.0" + quick-lru: "npm:^4.0.1" + checksum: 10c0/bf1a28348c0f285c6c6f68fb98a9d088d3c0269fed0cdff3ea680d5a42df8a067b4de374e7a33e619eb9d5266a448fe66c2dd1f8e0c9209ebc348632882a3526 + languageName: node + linkType: hard + +"camelcase@npm:^3.0.0": + version: 3.0.0 + resolution: "camelcase@npm:3.0.0" + checksum: 10c0/98871bb40b936430beca49490d325759f8d8ade32bea538ee63c20b17b326abb6bbd3e1d84daf63d9332b2fc7637f28696bf76da59180b1247051b955cb1da12 + languageName: node + linkType: hard + +"camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 + languageName: node + linkType: hard + +"camelcase@npm:^6.0.0, camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"caniuse-api@npm:^3.0.0": + version: 3.0.0 + resolution: "caniuse-api@npm:3.0.0" + dependencies: + browserslist: "npm:^4.0.0" + caniuse-lite: "npm:^1.0.0" + lodash.memoize: "npm:^4.1.2" + lodash.uniq: "npm:^4.5.0" + checksum: 10c0/60f9e85a3331e6d761b1b03eec71ca38ef7d74146bece34694853033292156b815696573ed734b65583acf493e88163618eda915c6c826d46a024c71a9572b4c + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001669": + version: 1.0.30001684 + resolution: "caniuse-lite@npm:1.0.30001684" + checksum: 10c0/446485ca3d9caf408a339a44636a86a2b119ec247492393ae661cd93dccd6668401dd2dfec1e149be4e44563cd1e23351b44453a52fa2c2f19e2bf3287c865f6 + languageName: node + linkType: hard + +"chainsaw@npm:~0.1.0": + version: 0.1.0 + resolution: "chainsaw@npm:0.1.0" + dependencies: + traverse: "npm:>=0.3.0 <0.4" + checksum: 10c0/c27b8b10fd372b07d80b3f63615ce5ecb9bb1b0be6934fe5de3bb0328f9ffad5051f206bd7a0b426b85778fee0c063a1f029fb32cc639f3b2ee38d6b39f52c5c + languageName: node + linkType: hard + +"chalk@npm:4.1.0": + version: 4.1.0 + resolution: "chalk@npm:4.1.0" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/3787bd65ecd98ab3a1acc3b4f71d006268a675875e49ee6ea75fb54ba73d268b97544368358c18c42445e408e076ae8ad5cec8fbad36942a2c7ac654883dc61e + languageName: node + linkType: hard + +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"character-parser@npm:^2.2.0": + version: 2.2.0 + resolution: "character-parser@npm:2.2.0" + dependencies: + is-regex: "npm:^1.0.3" + checksum: 10c0/5a8d3eff2c912a6878c84e2ebf9d42524e858aa7e1a1c7e8bb79ab54da109ad008fe9057a9d2b3230541d7ff858eda98983a2ae15db57ba01af2e989d29e932e + languageName: node + linkType: hard + +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 10c0/96e4731b9ec8050cbb56ab684e8c48d6c33f7826b755802d14e3ebfdc51c57afeece3ea39bc6b09acc359e4363525388b915e16640c1378053820f5e70d0f27d + languageName: node + linkType: hard + +"charenc@npm:0.0.2": + version: 0.0.2 + resolution: "charenc@npm:0.0.2" + checksum: 10c0/a45ec39363a16799d0f9365c8dd0c78e711415113c6f14787a22462ef451f5013efae8a28f1c058f81fc01f2a6a16955f7a5fd0cd56247ce94a45349c89877d8 + languageName: node + linkType: hard + +"cheerio-select@npm:^2.1.0": + version: 2.1.0 + resolution: "cheerio-select@npm:2.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-select: "npm:^5.1.0" + css-what: "npm:^6.1.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + checksum: 10c0/2242097e593919dba4aacb97d7b8275def8b9ec70b00aa1f43335456870cfc9e284eae2080bdc832ed232dabb9eefcf56c722d152da4a154813fb8814a55d282 + languageName: node + linkType: hard + +"cheerio@npm:^1.0.0-rc.1": + version: 1.0.0 + resolution: "cheerio@npm:1.0.0" + dependencies: + cheerio-select: "npm:^2.1.0" + dom-serializer: "npm:^2.0.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.1.0" + encoding-sniffer: "npm:^0.2.0" + htmlparser2: "npm:^9.1.0" + parse5: "npm:^7.1.2" + parse5-htmlparser2-tree-adapter: "npm:^7.0.0" + parse5-parser-stream: "npm:^7.1.2" + undici: "npm:^6.19.5" + whatwg-mimetype: "npm:^4.0.0" + checksum: 10c0/d0e16925d9c36c879edfaef1c0244c866375a4c7b8d6ccd7ae0ad42da7d26263ea1a3c17b9a1aa5965918deeff2d40ac2e7223824f8e6eca972df3b81316a09f + languageName: node + linkType: hard + +"chokidar@npm:3.5.1": + version: 3.5.1 + resolution: "chokidar@npm:3.5.1" + dependencies: + anymatch: "npm:~3.1.1" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.1" + glob-parent: "npm:~5.1.0" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.5.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/894d2fdeeef6a0bc61993a20b864e29e9296f2308628b8b2edf1bef2d59ab11f21938eebbbcbf581f15d16d3e030c08860d2fb035f7b9f3baebac57049a37959 + languageName: node + linkType: hard + +"chokidar@npm:^2.0.0": + version: 2.1.8 + resolution: "chokidar@npm:2.1.8" + dependencies: + anymatch: "npm:^2.0.0" + async-each: "npm:^1.0.1" + braces: "npm:^2.3.2" + fsevents: "npm:^1.2.7" + glob-parent: "npm:^3.1.0" + inherits: "npm:^2.0.3" + is-binary-path: "npm:^1.0.0" + is-glob: "npm:^4.0.0" + normalize-path: "npm:^3.0.0" + path-is-absolute: "npm:^1.0.0" + readdirp: "npm:^2.2.1" + upath: "npm:^1.1.1" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/5631cc00080224f9482cf5418dcbea111aec02fa8d81a8cfe37e47b9cf36089e071de52d503647e3a821a01426a40adc926ba899f657af86a51b8f8d4eef12a7 + languageName: node + linkType: hard + +"chokidar@npm:^3.6.0": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chokidar@npm:^4.0.0": + version: 4.0.1 + resolution: "chokidar@npm:4.0.1" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10c0/4bb7a3adc304059810bb6c420c43261a15bb44f610d77c35547addc84faa0374265c3adc67f25d06f363d9a4571962b02679268c40de07676d260de1986efea9 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"chrome-trace-event@npm:^1.0.2, chrome-trace-event@npm:^1.0.3": + version: 1.0.4 + resolution: "chrome-trace-event@npm:1.0.4" + checksum: 10c0/3058da7a5f4934b87cf6a90ef5fb68ebc5f7d06f143ed5a4650208e5d7acae47bc03ec844b29fbf5ba7e46e8daa6acecc878f7983a4f4bb7271593da91e61ff5 + languageName: node + linkType: hard + +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 10c0/8c5fa3830a2bcee2b53c2e5018226f0141db9ec9f7b1e27a5c57db5512332cde8a0beb769bcbaf0d8775a78afbf2bb841928feca4ea6219638a5b088f9884b46 + languageName: node + linkType: hard + +"ci-info@npm:^3.6.1, ci-info@npm:^3.7.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a + languageName: node + linkType: hard + +"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.5 + resolution: "cipher-base@npm:1.0.5" + dependencies: + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/064a7f9323ba5416c8f4ab98bd0fca7234f05b39b0784b8131429e84ac5c735e7fc9f87e2bd39b278a0121d833ca20fa9f5b4dd11fbe289191e7d29471bb3f5b + languageName: node + linkType: hard + +"class-utils@npm:^0.3.5": + version: 0.3.6 + resolution: "class-utils@npm:0.3.6" + dependencies: + arr-union: "npm:^3.1.0" + define-property: "npm:^0.2.5" + isobject: "npm:^3.0.0" + static-extend: "npm:^0.1.1" + checksum: 10c0/d44f4afc7a3e48dba4c2d3fada5f781a1adeeff371b875c3b578bc33815c6c29d5d06483c2abfd43a32d35b104b27b67bfa39c2e8a422fa858068bd756cfbd42 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-cursor@npm:3.1.0, cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: "npm:^3.1.0" + checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 + languageName: node + linkType: hard + +"cli-spinners@npm:2.6.1": + version: 2.6.1 + resolution: "cli-spinners@npm:2.6.1" + checksum: 10c0/6abcdfef59aa68e6b51376d87d257f9120a0a7120a39dd21633702d24797decb6dc747dff2217c88732710db892b5053c5c672d221b6c4d13bbcb5372e203596 + languageName: node + linkType: hard + +"cli-spinners@npm:^2.5.0": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 + languageName: node + linkType: hard + +"cli-truncate@npm:^2.1.0": + version: 2.1.0 + resolution: "cli-truncate@npm:2.1.0" + dependencies: + slice-ansi: "npm:^3.0.0" + string-width: "npm:^4.2.0" + checksum: 10c0/dfaa3df675bcef7a3254773de768712b590250420345a4c7ac151f041a4bacb4c25864b1377bee54a39b5925a030c00eabf014e312e3a4ac130952ed3b3879e9 + languageName: node + linkType: hard + +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 10c0/125a62810e59a2564268c80fdff56c23159a7690c003e34aeb2e68497dccff26911998ff49c33916fcfdf71e824322cc3953e3f7b48b27267c7a062c81348a9a + languageName: node + linkType: hard + +"cliui@npm:^3.2.0": + version: 3.2.0 + resolution: "cliui@npm:3.2.0" + dependencies: + string-width: "npm:^1.0.1" + strip-ansi: "npm:^3.0.1" + wrap-ansi: "npm:^2.0.0" + checksum: 10c0/07b121fac7fd33ff8dbf3523f0d3dca0329d4e457e57dee54502aa5f27a33cbd9e66aa3e248f0260d8a1431b65b2bad8f510cd97fb8ab6a8e0506310a92e18d5 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"clone-buffer@npm:^1.0.0": + version: 1.0.0 + resolution: "clone-buffer@npm:1.0.0" + checksum: 10c0/d813f4d12651bc4951d5e4869e2076d34ccfc3b23d0aae4e2e20e5a5e97bc7edbba84038356d222c54b25e3a83b5f45e8b637c18c6bd1794b2f1b49114122c50 + languageName: node + linkType: hard + +"clone-deep@npm:4.0.1, clone-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: "npm:^2.0.4" + kind-of: "npm:^6.0.2" + shallow-clone: "npm:^3.0.0" + checksum: 10c0/637753615aa24adf0f2d505947a1bb75e63964309034a1cf56ba4b1f30af155201edd38d26ffe26911adaae267a3c138b344a4947d39f5fc1b6d6108125aa758 + languageName: node + linkType: hard + +"clone-stats@npm:^1.0.0": + version: 1.0.0 + resolution: "clone-stats@npm:1.0.0" + checksum: 10c0/bb1e05991e034e1eb104173c25bb652ea5b2b4dad5a49057a857e00f8d1da39de3bd689128a25bab8cbdfbea8ae8f6066030d106ed5c299a7d92be7967c50217 + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b + languageName: node + linkType: hard + +"clone@npm:^2.1.1": + version: 2.1.2 + resolution: "clone@npm:2.1.2" + checksum: 10c0/ed0601cd0b1606bc7d82ee7175b97e68d1dd9b91fd1250a3617b38d34a095f8ee0431d40a1a611122dcccb4f93295b4fdb94942aa763392b5fe44effa50c2d5e + languageName: node + linkType: hard + +"cloneable-readable@npm:^1.0.0": + version: 1.1.3 + resolution: "cloneable-readable@npm:1.1.3" + dependencies: + inherits: "npm:^2.0.1" + process-nextick-args: "npm:^2.0.0" + readable-stream: "npm:^2.3.5" + checksum: 10c0/52db2904dcfcd117e4e9605b69607167096c954352eff0fcded0a16132c9cfc187b36b5db020bee2dc1b3a968ca354f8b30aef3d8b4ea74e3ea83a81d43e47bb + languageName: node + linkType: hard + +"cmd-shim@npm:5.0.0": + version: 5.0.0 + resolution: "cmd-shim@npm:5.0.0" + dependencies: + mkdirp-infer-owner: "npm:^2.0.0" + checksum: 10c0/0ce77d641bed74e41b74f07a00cbdc4e8690787d2136e40418ca7c1bfcff9d92c0350e31785c7bb98b6c1fb8ae7dcedcdc872b98c6647c28de45e2dc7a70ae43 + languageName: node + linkType: hard + +"cmd-shim@npm:^6.0.0": + version: 6.0.3 + resolution: "cmd-shim@npm:6.0.3" + checksum: 10c0/dc09fe0bf39e86250529456d9a87dd6d5208d053e449101a600e96dc956c100e0bc312cdb413a91266201f3bd8057d4abf63875cafb99039553a1937d8f3da36 + languageName: node + linkType: hard + +"code-point-at@npm:^1.0.0": + version: 1.1.0 + resolution: "code-point-at@npm:1.1.0" + checksum: 10c0/33f6b234084e46e6e369b6f0b07949392651b4dde70fc6a592a8d3dafa08d5bb32e3981a02f31f6fc323a26bc03a4c063a9d56834848695bda7611c2417ea2e6 + languageName: node + linkType: hard + +"coffeescript@npm:^2.0.3": + version: 2.7.0 + resolution: "coffeescript@npm:2.7.0" + bin: + cake: bin/cake + coffee: bin/coffee + checksum: 10c0/c98e4086e5cc26d669949a1b7ca6a14cd9d515885f397ab19a5a6ad1eee0c84a526f7d78b6368c7007adafafb9549b334597a7798bec3f08b218363a97f9685b + languageName: node + linkType: hard + +"collection-map@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-map@npm:1.0.0" + dependencies: + arr-map: "npm:^2.0.2" + for-own: "npm:^1.0.0" + make-iterator: "npm:^1.0.0" + checksum: 10c0/9fdda135961199d00401f1c72b2cb87d5ed1c120a98d0244a6199c1167b0f51ce88ae392300d2518c9930671bd2db85b5c47521e0bc54f7745872139a5b16964 + languageName: node + linkType: hard + +"collection-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-visit@npm:1.0.0" + dependencies: + map-visit: "npm:^1.0.0" + object-visit: "npm:^1.0.0" + checksum: 10c0/add72a8d1c37cb90e53b1aaa2c31bf1989bfb733f0b02ce82c9fa6828c7a14358dba2e4f8e698c02f69e424aeccae1ffb39acdeaf872ade2f41369e84a2fcf8a + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:^1.0.0, color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"color-string@npm:^1.9.0": + version: 1.9.1 + resolution: "color-string@npm:1.9.1" + dependencies: + color-name: "npm:^1.0.0" + simple-swizzle: "npm:^0.2.2" + checksum: 10c0/b0bfd74c03b1f837f543898b512f5ea353f71630ccdd0d66f83028d1f0924a7d4272deb278b9aef376cacf1289b522ac3fb175e99895283645a2dc3a33af2404 + languageName: node + linkType: hard + +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 10c0/8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 + languageName: node + linkType: hard + +"color@npm:^4.2.3": + version: 4.2.3 + resolution: "color@npm:4.2.3" + dependencies: + color-convert: "npm:^2.0.1" + color-string: "npm:^1.9.0" + checksum: 10c0/7fbe7cfb811054c808349de19fb380252e5e34e61d7d168ec3353e9e9aacb1802674bddc657682e4e9730c2786592a4de6f8283e7e0d3870b829bb0b7b2f6118 + languageName: node + linkType: hard + +"colord@npm:^2.9.3": + version: 2.9.3 + resolution: "colord@npm:2.9.3" + checksum: 10c0/9699e956894d8996b28c686afe8988720785f476f59335c80ce852ded76ab3ebe252703aec53d9bef54f6219aea6b960fb3d9a8300058a1d0c0d4026460cd110 + languageName: node + linkType: hard + +"colorette@npm:^2.0.16": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 + languageName: node + linkType: hard + +"columnify@npm:1.6.0": + version: 1.6.0 + resolution: "columnify@npm:1.6.0" + dependencies: + strip-ansi: "npm:^6.0.1" + wcwidth: "npm:^1.0.0" + checksum: 10c0/25b90b59129331bbb8b0c838f8df69924349b83e8eab9549f431062a20a39094b8d744bb83265be38fd5d03140ce4bfbd85837c293f618925e83157ae9535f1d + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"comlink@npm:^4.3.1": + version: 4.4.2 + resolution: "comlink@npm:4.4.2" + checksum: 10c0/38aa1f455cf08e94aaa8fc494fd203cc0ef02ece6c21404b7931ce17567e8a72deacddab98aa5650cfd78332ff24c34610586f6fb27fd19dc77e753ed1980deb + languageName: node + linkType: hard + +"command-exists@npm:^1.2.6, command-exists@npm:^1.2.8": + version: 1.2.9 + resolution: "command-exists@npm:1.2.9" + checksum: 10c0/75040240062de46cd6cd43e6b3032a8b0494525c89d3962e280dde665103f8cc304a8b313a5aa541b91da2f5a9af75c5959dc3a77893a2726407a5e9a0234c16 + languageName: node + linkType: hard + +"commander@npm:^12.1.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 + languageName: node + linkType: hard + +"commander@npm:^2.15.1, commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.8.1": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + +"commander@npm:^6.2.0": + version: 6.2.1 + resolution: "commander@npm:6.2.1" + checksum: 10c0/85748abd9d18c8bc88febed58b98f66b7c591d9b5017cad459565761d7b29ca13b7783ea2ee5ce84bf235897333706c4ce29adf1ce15c8252780e7000e2ce9ea + languageName: node + linkType: hard + +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a + languageName: node + linkType: hard + +"common-ancestor-path@npm:^1.0.1": + version: 1.0.1 + resolution: "common-ancestor-path@npm:1.0.1" + checksum: 10c0/390c08d2a67a7a106d39499c002d827d2874966d938012453fd7ca34cd306881e2b9d604f657fa7a8e6e4896d67f39ebc09bf1bfd8da8ff318e0fb7a8752c534 + languageName: node + linkType: hard + +"common-path-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "common-path-prefix@npm:3.0.0" + checksum: 10c0/c4a74294e1b1570f4a8ab435285d185a03976c323caa16359053e749db4fde44e3e6586c29cd051100335e11895767cbbd27ea389108e327d62f38daf4548fdb + languageName: node + linkType: hard + +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 10c0/33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6 + languageName: node + linkType: hard + +"compare-func@npm:^2.0.0": + version: 2.0.0 + resolution: "compare-func@npm:2.0.0" + dependencies: + array-ify: "npm:^1.0.0" + dot-prop: "npm:^5.1.0" + checksum: 10c0/78bd4dd4ed311a79bd264c9e13c36ed564cde657f1390e699e0f04b8eee1fc06ffb8698ce2dfb5fbe7342d509579c82d4e248f08915b708f77f7b72234086cc3 + languageName: node + linkType: hard + +"component-emitter@npm:^1.2.1": + version: 1.3.1 + resolution: "component-emitter@npm:1.3.1" + checksum: 10c0/e4900b1b790b5e76b8d71b328da41482118c0f3523a516a41be598dc2785a07fd721098d9bf6e22d89b19f4fa4e1025160dc00317ea111633a3e4f75c2b86032 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"concat-stream@npm:^1.6.0": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.2.2" + typedarray: "npm:^0.0.6" + checksum: 10c0/2e9864e18282946dabbccb212c5c7cec0702745e3671679eb8291812ca7fd12023f7d8cb36493942a62f770ac96a7f90009dc5c82ad69893438371720fa92617 + languageName: node + linkType: hard + +"concat-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "concat-stream@npm:2.0.0" + dependencies: + buffer-from: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^3.0.2" + typedarray: "npm:^0.0.6" + checksum: 10c0/29565dd9198fe1d8cf57f6cc71527dbc6ad67e12e4ac9401feb389c53042b2dceedf47034cbe702dfc4fd8df3ae7e6bfeeebe732cc4fa2674e484c13f04c219a + languageName: node + linkType: hard + +"config-chain@npm:1.1.12": + version: 1.1.12 + resolution: "config-chain@npm:1.1.12" + dependencies: + ini: "npm:^1.3.4" + proto-list: "npm:~1.2.1" + checksum: 10c0/fd07fb8ca4d06d540ee64824ca4778065eefaaed59e1ad157b6a7d764370581dfb44f2dda7cf65589a9199e27f7afe73c271b2e45abe3d766a915ad926150361 + languageName: node + linkType: hard + +"confusing-browser-globals@npm:^1.0.11": + version: 1.0.11 + resolution: "confusing-browser-globals@npm:1.0.11" + checksum: 10c0/475d0a284fa964a5182b519af5738b5b64bf7e413cfd703c1b3496bf6f4df9f827893a9b221c0ea5873c1476835beb1e0df569ba643eff0734010c1eb780589e + languageName: node + linkType: hard + +"connect@npm:^3.7.0": + version: 3.7.0 + resolution: "connect@npm:3.7.0" + dependencies: + debug: "npm:2.6.9" + finalhandler: "npm:1.1.2" + parseurl: "npm:~1.3.3" + utils-merge: "npm:1.0.1" + checksum: 10c0/f120c6116bb16a0a7d2703c0b4a0cd7ed787dc5ec91978097bf62aa967289020a9f41a9cd3c3276a7b92aaa36f382d2cd35fed7138fd466a55c8e9fdbed11ca8 + languageName: node + linkType: hard + +"connected-domain@npm:^1.0.0": + version: 1.0.0 + resolution: "connected-domain@npm:1.0.0" + checksum: 10c0/c1e10216b74268a7f1658542afc8a119b022f3ed05159956a225d5c7245a6f8b6626797655de7640e1123c67c5c279d54e2c832358260326850acf5b39e1aba7 + languageName: node + linkType: hard + +"console-browserify@npm:^1.2.0": + version: 1.2.0 + resolution: "console-browserify@npm:1.2.0" + checksum: 10c0/89b99a53b7d6cee54e1e64fa6b1f7ac24b844b4019c5d39db298637e55c1f4ffa5c165457ad984864de1379df2c8e1886cbbdac85d9dbb6876a9f26c3106f226 + languageName: node + linkType: hard + +"console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 10c0/7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 + languageName: node + linkType: hard + +"constantinople@npm:^4.0.1": + version: 4.0.1 + resolution: "constantinople@npm:4.0.1" + dependencies: + "@babel/parser": "npm:^7.6.0" + "@babel/types": "npm:^7.6.1" + checksum: 10c0/15129adef19b1af2c3ade8bd38f97c34781bf461472a30ab414384b28d072be83070c8d2175787c045ef7c222c415101ae609936e7903427796a0c0eca8449fd + languageName: node + linkType: hard + +"constants-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "constants-browserify@npm:1.0.0" + checksum: 10c0/ab49b1d59a433ed77c964d90d19e08b2f77213fb823da4729c0baead55e3c597f8f97ebccfdfc47bd896d43854a117d114c849a6f659d9986420e97da0f83ac5 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.2": + version: 0.5.2 + resolution: "content-disposition@npm:0.5.2" + checksum: 10c0/49eebaa0da1f9609b192e99d7fec31d1178cb57baa9d01f5b63b29787ac31e9d18b5a1033e854c68c9b6cce790e700a6f7fa60e43f95e2e416404e114a8f2f49 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb + languageName: node + linkType: hard + +"content-security-policy-parser@npm:^0.6.0": + version: 0.6.0 + resolution: "content-security-policy-parser@npm:0.6.0" + checksum: 10c0/f494e69020e2320179eab47ad2cdafb09752ed63ca4fb5445071381e392d19edd110c0c3ec43f135d27c34b49dbab851b7fcf188dd2ba30cacd6e1107b15b674 + languageName: node + linkType: hard + +"content-type@npm:~1.0.4, content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af + languageName: node + linkType: hard + +"conventional-changelog-angular@npm:5.0.12": + version: 5.0.12 + resolution: "conventional-changelog-angular@npm:5.0.12" + dependencies: + compare-func: "npm:^2.0.0" + q: "npm:^1.5.1" + checksum: 10c0/fc0d5ba4478cd0058778000f0939a5c8f7da1c469f4d4d8ee36519cac8f41a85299ef6ea8733cc232f4ad0904a0f7c392073ade3a9b700c18ef6237c9ba69c03 + languageName: node + linkType: hard + +"conventional-changelog-core@npm:4.2.4": + version: 4.2.4 + resolution: "conventional-changelog-core@npm:4.2.4" + dependencies: + add-stream: "npm:^1.0.0" + conventional-changelog-writer: "npm:^5.0.0" + conventional-commits-parser: "npm:^3.2.0" + dateformat: "npm:^3.0.0" + get-pkg-repo: "npm:^4.0.0" + git-raw-commits: "npm:^2.0.8" + git-remote-origin-url: "npm:^2.0.0" + git-semver-tags: "npm:^4.1.1" + lodash: "npm:^4.17.15" + normalize-package-data: "npm:^3.0.0" + q: "npm:^1.5.1" + read-pkg: "npm:^3.0.0" + read-pkg-up: "npm:^3.0.0" + through2: "npm:^4.0.0" + checksum: 10c0/4c9f30350250298d9bbb56988b3093ec7de593499a796609c5877115533362815434ff6df3493649e20b1b40399fef3d42032f39e8279bb8df192b89e6e32e69 + languageName: node + linkType: hard + +"conventional-changelog-preset-loader@npm:^2.3.4": + version: 2.3.4 + resolution: "conventional-changelog-preset-loader@npm:2.3.4" + checksum: 10c0/a978bcd5fc2eb12b56bc03ec59705af32e521fd27b98a209a26767c2078d423e7d8e30c09d45547371631790f0387453434c73c4541521a7473dce14d5360c7d + languageName: node + linkType: hard + +"conventional-changelog-writer@npm:^5.0.0": + version: 5.0.1 + resolution: "conventional-changelog-writer@npm:5.0.1" + dependencies: + conventional-commits-filter: "npm:^2.0.7" + dateformat: "npm:^3.0.0" + handlebars: "npm:^4.7.7" + json-stringify-safe: "npm:^5.0.1" + lodash: "npm:^4.17.15" + meow: "npm:^8.0.0" + semver: "npm:^6.0.0" + split: "npm:^1.0.0" + through2: "npm:^4.0.0" + bin: + conventional-changelog-writer: cli.js + checksum: 10c0/268b56a3e4db07ad24da7134788c889ecd024cf2e7c0bfe8ca76f83e5db79f057538c45500b052a77b7933c4d0f47e2e807c6e756cbd5ad9db365744c9ce0e7f + languageName: node + linkType: hard + +"conventional-commits-filter@npm:^2.0.7": + version: 2.0.7 + resolution: "conventional-commits-filter@npm:2.0.7" + dependencies: + lodash.ismatch: "npm:^4.4.0" + modify-values: "npm:^1.0.0" + checksum: 10c0/df06fb29285b473614f5094e983d26fcc14cd0f64b2cbb2f65493fc8bd47c077c2310791d26f4b2b719e9585aaade95370e73230bff6647163164a18b9dfaa07 + languageName: node + linkType: hard + +"conventional-commits-parser@npm:^3.2.0": + version: 3.2.4 + resolution: "conventional-commits-parser@npm:3.2.4" + dependencies: + JSONStream: "npm:^1.0.4" + is-text-path: "npm:^1.0.1" + lodash: "npm:^4.17.15" + meow: "npm:^8.0.0" + split2: "npm:^3.0.0" + through2: "npm:^4.0.0" + bin: + conventional-commits-parser: cli.js + checksum: 10c0/122d7d7f991a04c8e3f703c0e4e9a25b2ecb20906f497e4486cb5c2acd9c68f6d9af745f7e79cb407538f50e840b33399274ac427b20971b98b335d1b66d3d17 + languageName: node + linkType: hard + +"conventional-recommended-bump@npm:6.1.0": + version: 6.1.0 + resolution: "conventional-recommended-bump@npm:6.1.0" + dependencies: + concat-stream: "npm:^2.0.0" + conventional-changelog-preset-loader: "npm:^2.3.4" + conventional-commits-filter: "npm:^2.0.7" + conventional-commits-parser: "npm:^3.2.0" + git-raw-commits: "npm:^2.0.8" + git-semver-tags: "npm:^4.1.1" + meow: "npm:^8.0.0" + q: "npm:^1.5.1" + bin: + conventional-recommended-bump: cli.js + checksum: 10c0/649e6230be7e96e057a542a2695710aeaee356297d307691b3398e0f18d596b4a5b3ba56307755e779d8687a13b2466844300c649eb23f44fe5f1db9f923f3f4 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.5.0": + version: 1.9.0 + resolution: "convert-source-map@npm:1.9.0" + checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 + languageName: node + linkType: hard + +"cookie@npm:0.7.1": + version: 0.7.1 + resolution: "cookie@npm:0.7.1" + checksum: 10c0/5de60c67a410e7c8dc8a46a4b72eb0fe925871d057c9a5d2c0e8145c4270a4f81076de83410c4d397179744b478e33cd80ccbcc457abf40a9409ad27dcd21dde + languageName: node + linkType: hard + +"copy-anything@npm:^2.0.1": + version: 2.0.6 + resolution: "copy-anything@npm:2.0.6" + dependencies: + is-what: "npm:^3.14.1" + checksum: 10c0/2702998a8cc015f9917385b7f16b0d85f1f6e5e2fd34d99f14df584838f492f49aa0c390d973684c687e895c5c58d08b308a0400ac3e1e3d6fa1e5884a5402ad + languageName: node + linkType: hard + +"copy-descriptor@npm:^0.1.0": + version: 0.1.1 + resolution: "copy-descriptor@npm:0.1.1" + checksum: 10c0/161f6760b7348c941007a83df180588fe2f1283e0867cc027182734e0f26134e6cc02de09aa24a95dc267b2e2025b55659eef76c8019df27bc2d883033690181 + languageName: node + linkType: hard + +"copy-props@npm:^2.0.1": + version: 2.0.5 + resolution: "copy-props@npm:2.0.5" + dependencies: + each-props: "npm:^1.3.2" + is-plain-object: "npm:^5.0.0" + checksum: 10c0/7011a7bff2d8bbf08ae1f2a0e2e3015b57a14fa5ed9bfa393efe1573c2ac92a94caf9d4f93db4329e9da332f7f91aa7b8fa0dbae1c890009ecf602ec34d298c9 + languageName: node + linkType: hard + +"copy-to-clipboard@npm:^3.3.1": + version: 3.3.3 + resolution: "copy-to-clipboard@npm:3.3.3" + dependencies: + toggle-selection: "npm:^1.0.6" + checksum: 10c0/3ebf5e8ee00601f8c440b83ec08d838e8eabb068c1fae94a9cda6b42f288f7e1b552f3463635f419af44bf7675afc8d0390d30876cf5c2d5d35f86d9c56a3e5f + languageName: node + linkType: hard + +"core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": + version: 3.39.0 + resolution: "core-js-compat@npm:3.39.0" + dependencies: + browserslist: "npm:^4.24.2" + checksum: 10c0/880579a3dab235e3b6350f1e324269c600753b48e891ea859331618d5051e68b7a95db6a03ad2f3cc7df4397318c25a5bc7740562ad39e94f56568638d09d414 + languageName: node + linkType: hard + +"core-js@npm:^3.2.1": + version: 3.39.0 + resolution: "core-js@npm:3.39.0" + checksum: 10c0/f7602069b6afb2e3298eec612a5c1e0c3e6a458930fbfc7a4c5f9ac03426507f49ce395eecdd2d9bae9024f820e44582b67ffe16f2272395af26964f174eeb6b + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 + languageName: node + linkType: hard + +"cors@npm:^2.8.5": + version: 2.8.5 + resolution: "cors@npm:2.8.5" + dependencies: + object-assign: "npm:^4" + vary: "npm:^1" + checksum: 10c0/373702b7999409922da80de4a61938aabba6929aea5b6fd9096fefb9e8342f626c0ebd7507b0e8b0b311380744cc985f27edebc0a26e0ddb784b54e1085de761 + languageName: node + linkType: hard + +"cosmiconfig@npm:7.0.0": + version: 7.0.0 + resolution: "cosmiconfig@npm:7.0.0" + dependencies: + "@types/parse-json": "npm:^4.0.0" + import-fresh: "npm:^3.2.1" + parse-json: "npm:^5.0.0" + path-type: "npm:^4.0.0" + yaml: "npm:^1.10.0" + checksum: 10c0/532cb7fc3690afb00fa989d8127a824439e2e926a3d40b4e07c3e563fe1910b91ed19d611143267fa607538f324f07eeb79e917aea85859786e6e1c0c00b1cda + languageName: node + linkType: hard + +"cosmiconfig@npm:^7.0.0": + version: 7.1.0 + resolution: "cosmiconfig@npm:7.1.0" + dependencies: + "@types/parse-json": "npm:^4.0.0" + import-fresh: "npm:^3.2.1" + parse-json: "npm:^5.0.0" + path-type: "npm:^4.0.0" + yaml: "npm:^1.10.0" + checksum: 10c0/b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03 + languageName: node + linkType: hard + +"cosmiconfig@npm:^8.1.3": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" + dependencies: + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + path-type: "npm:^4.0.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a + languageName: node + linkType: hard + +"cosmiconfig@npm:^9.0.0": + version: 9.0.0 + resolution: "cosmiconfig@npm:9.0.0" + dependencies: + env-paths: "npm:^2.2.1" + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/1c1703be4f02a250b1d6ca3267e408ce16abfe8364193891afc94c2d5c060b69611fdc8d97af74b7e6d5d1aac0ab2fb94d6b079573146bc2d756c2484ce5f0ee + languageName: node + linkType: hard + +"create-ecdh@npm:^4.0.4": + version: 4.0.4 + resolution: "create-ecdh@npm:4.0.4" + dependencies: + bn.js: "npm:^4.1.0" + elliptic: "npm:^6.5.3" + checksum: 10c0/77b11a51360fec9c3bce7a76288fc0deba4b9c838d5fb354b3e40c59194d23d66efe6355fd4b81df7580da0661e1334a235a2a5c040b7569ba97db428d466e7f + languageName: node + linkType: hard + +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: "npm:^1.0.1" + inherits: "npm:^2.0.1" + md5.js: "npm:^1.3.4" + ripemd160: "npm:^2.0.1" + sha.js: "npm:^2.4.0" + checksum: 10c0/d402e60e65e70e5083cb57af96d89567954d0669e90550d7cec58b56d49c4b193d35c43cec8338bc72358198b8cbf2f0cac14775b651e99238e1cf411490f915 + languageName: node + linkType: hard + +"create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + dependencies: + cipher-base: "npm:^1.0.3" + create-hash: "npm:^1.1.0" + inherits: "npm:^2.0.1" + ripemd160: "npm:^2.0.0" + safe-buffer: "npm:^5.0.1" + sha.js: "npm:^2.4.8" + checksum: 10c0/24332bab51011652a9a0a6d160eed1e8caa091b802335324ae056b0dcb5acbc9fcf173cf10d128eba8548c3ce98dfa4eadaa01bd02f44a34414baee26b651835 + languageName: node + linkType: hard + +"create-parcel@workspace:packages/utils/create-parcel": + version: 0.0.0-use.local + resolution: "create-parcel@workspace:packages/utils/create-parcel" + bin: + create-parcel: lib/create-parcel.js + languageName: unknown + linkType: soft + +"crelt@npm:^1.0.5": + version: 1.0.6 + resolution: "crelt@npm:1.0.6" + checksum: 10c0/e0fb76dff50c5eb47f2ea9b786c17f9425c66276025adee80876bdbf4a84ab72e899e56d3928431ab0cb057a105ef704df80fe5726ef0f7b1658f815521bdf09 + languageName: node + linkType: hard + +"cross-env@npm:^7.0.0": + version: 7.0.3 + resolution: "cross-env@npm:7.0.3" + dependencies: + cross-spawn: "npm:^7.0.1" + bin: + cross-env: src/bin/cross-env.js + cross-env-shell: src/bin/cross-env-shell.js + checksum: 10c0/f3765c25746c69fcca369655c442c6c886e54ccf3ab8c16847d5ad0e91e2f337d36eedc6599c1227904bf2a228d721e690324446876115bc8e7b32a866735ecf + languageName: node + linkType: hard + +"cross-spawn@npm:6.0.5": + version: 6.0.5 + resolution: "cross-spawn@npm:6.0.5" + dependencies: + nice-try: "npm:^1.0.4" + path-key: "npm:^2.0.1" + semver: "npm:^5.5.0" + shebang-command: "npm:^1.2.0" + which: "npm:^1.2.9" + checksum: 10c0/e05544722e9d7189b4292c66e42b7abeb21db0d07c91b785f4ae5fefceb1f89e626da2703744657b287e86dcd4af57b54567cef75159957ff7a8a761d9055012 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"crypt@npm:0.0.2": + version: 0.0.2 + resolution: "crypt@npm:0.0.2" + checksum: 10c0/adbf263441dd801665d5425f044647533f39f4612544071b1471962209d235042fb703c27eea2795c7c53e1dfc242405173003f83cf4f4761a633d11f9653f18 + languageName: node + linkType: hard + +"crypto-browserify@npm:^3.12.0": + version: 3.12.1 + resolution: "crypto-browserify@npm:3.12.1" + dependencies: + browserify-cipher: "npm:^1.0.1" + browserify-sign: "npm:^4.2.3" + create-ecdh: "npm:^4.0.4" + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + diffie-hellman: "npm:^5.0.3" + hash-base: "npm:~3.0.4" + inherits: "npm:^2.0.4" + pbkdf2: "npm:^3.1.2" + public-encrypt: "npm:^4.0.3" + randombytes: "npm:^2.1.0" + randomfill: "npm:^1.0.4" + checksum: 10c0/184a2def7b16628e79841243232ab5497f18d8e158ac21b7ce90ab172427d0a892a561280adc08f9d4d517bce8db2a5b335dc21abb970f787f8e874bd7b9db7d + languageName: node + linkType: hard + +"crypto-random-string@npm:^1.0.0": + version: 1.0.0 + resolution: "crypto-random-string@npm:1.0.0" + checksum: 10c0/0cb4dbbb895656919d1de11ba43829a3527edddb85a9c49c9d4c4eb783d3b03fc9f371cefee62c87082fd8758db2798a52a9cad48a7381826190d3c2cf858e4a + languageName: node + linkType: hard + +"crypto-random-string@npm:^2.0.0": + version: 2.0.0 + resolution: "crypto-random-string@npm:2.0.0" + checksum: 10c0/288589b2484fe787f9e146f56c4be90b940018f17af1b152e4dde12309042ff5a2bf69e949aab8b8ac253948381529cc6f3e5a2427b73643a71ff177fa122b37 + languageName: node + linkType: hard + +"css-declaration-sorter@npm:^7.2.0": + version: 7.2.0 + resolution: "css-declaration-sorter@npm:7.2.0" + peerDependencies: + postcss: ^8.0.9 + checksum: 10c0/d8516be94f8f2daa233ef021688b965c08161624cbf830a4d7ee1099429437c0ee124d35c91b1c659cfd891a68e8888aa941726dab12279bc114aaed60a94606 + languageName: node + linkType: hard + +"css-in-js-utils@npm:^3.1.0": + version: 3.1.0 + resolution: "css-in-js-utils@npm:3.1.0" + dependencies: + hyphenate-style-name: "npm:^1.0.3" + checksum: 10c0/8bb042e8f7701a7edadc3cce5ce2d5cf41189631d7e2aed194d5a7059b25776dded2a0466cb9da1d1f3fc6c99dcecb51e45671148d073b8a2a71e34755152e52 + languageName: node + linkType: hard + +"css-select@npm:^5.1.0": + version: 5.1.0 + resolution: "css-select@npm:5.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-what: "npm:^6.1.0" + domhandler: "npm:^5.0.2" + domutils: "npm:^3.0.1" + nth-check: "npm:^2.0.1" + checksum: 10c0/551c60dba5b54054741032c1793b5734f6ba45e23ae9e82761a3c0ed1acbb8cfedfa443aaba3a3c1a54cac12b456d2012a09d2cd5f0e82e430454c1b9d84d500 + languageName: node + linkType: hard + +"css-tree@npm:^1.1.2": + version: 1.1.3 + resolution: "css-tree@npm:1.1.3" + dependencies: + mdn-data: "npm:2.0.14" + source-map: "npm:^0.6.1" + checksum: 10c0/499a507bfa39b8b2128f49736882c0dd636b0cd3370f2c69f4558ec86d269113286b7df469afc955de6a68b0dba00bc533e40022a73698081d600072d5d83c1c + languageName: node + linkType: hard + +"css-tree@npm:^2.3.1": + version: 2.3.1 + resolution: "css-tree@npm:2.3.1" + dependencies: + mdn-data: "npm:2.0.30" + source-map-js: "npm:^1.0.1" + checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 + languageName: node + linkType: hard + +"css-tree@npm:~2.2.0": + version: 2.2.1 + resolution: "css-tree@npm:2.2.1" + dependencies: + mdn-data: "npm:2.0.28" + source-map-js: "npm:^1.0.1" + checksum: 10c0/47e87b0f02f8ac22f57eceb65c58011dd142d2158128882a0bf963cf2eabb81a4ebbc2e3790c8289be7919fa8b83750c7b69272bd66772c708143b772ba3c186 + languageName: node + linkType: hard + +"css-what@npm:^6.1.0": + version: 6.1.0 + resolution: "css-what@npm:6.1.0" + checksum: 10c0/a09f5a6b14ba8dcf57ae9a59474722e80f20406c53a61e9aedb0eedc693b135113ffe2983f4efc4b5065ae639442e9ae88df24941ef159c218b231011d733746 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"cssnano-preset-default@npm:^7.0.6": + version: 7.0.6 + resolution: "cssnano-preset-default@npm:7.0.6" + dependencies: + browserslist: "npm:^4.23.3" + css-declaration-sorter: "npm:^7.2.0" + cssnano-utils: "npm:^5.0.0" + postcss-calc: "npm:^10.0.2" + postcss-colormin: "npm:^7.0.2" + postcss-convert-values: "npm:^7.0.4" + postcss-discard-comments: "npm:^7.0.3" + postcss-discard-duplicates: "npm:^7.0.1" + postcss-discard-empty: "npm:^7.0.0" + postcss-discard-overridden: "npm:^7.0.0" + postcss-merge-longhand: "npm:^7.0.4" + postcss-merge-rules: "npm:^7.0.4" + postcss-minify-font-values: "npm:^7.0.0" + postcss-minify-gradients: "npm:^7.0.0" + postcss-minify-params: "npm:^7.0.2" + postcss-minify-selectors: "npm:^7.0.4" + postcss-normalize-charset: "npm:^7.0.0" + postcss-normalize-display-values: "npm:^7.0.0" + postcss-normalize-positions: "npm:^7.0.0" + postcss-normalize-repeat-style: "npm:^7.0.0" + postcss-normalize-string: "npm:^7.0.0" + postcss-normalize-timing-functions: "npm:^7.0.0" + postcss-normalize-unicode: "npm:^7.0.2" + postcss-normalize-url: "npm:^7.0.0" + postcss-normalize-whitespace: "npm:^7.0.0" + postcss-ordered-values: "npm:^7.0.1" + postcss-reduce-initial: "npm:^7.0.2" + postcss-reduce-transforms: "npm:^7.0.0" + postcss-svgo: "npm:^7.0.1" + postcss-unique-selectors: "npm:^7.0.3" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/5c827a9f6b35475267af0512d55f569994b8334eb06565498daa2070ef52f0cdd2013f5efc1cbc0b4664370f491b0080f93c8ee56a7730d38fdf451fb65b030c + languageName: node + linkType: hard + +"cssnano-utils@npm:^5.0.0": + version: 5.0.0 + resolution: "cssnano-utils@npm:5.0.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/492593fb45151e8622357bb958d0d80475372de38523ef0587d77e9c5f386beb55c30b41f2f3c735a374a230bc61404eb7ae9c2beeab0666afb499442c62ecba + languageName: node + linkType: hard + +"cssnano@npm:^7.0.6": + version: 7.0.6 + resolution: "cssnano@npm:7.0.6" + dependencies: + cssnano-preset-default: "npm:^7.0.6" + lilconfig: "npm:^3.1.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/19ff09931a1531e7c0c0d8928da554d99213aa0bb1f3b93cc6b4987727d60a8cd5537b113a5cf4f95cc1db65bba3f2b35476bd63bb57e7469d4eab73e07d736d + languageName: node + linkType: hard + +"csso@npm:^5.0.5": + version: 5.0.5 + resolution: "csso@npm:5.0.5" + dependencies: + css-tree: "npm:~2.2.0" + checksum: 10c0/ab4beb1e97dd7e207c10e9925405b45f15a6cd1b4880a8686ad573aa6d476aed28b4121a666cffd26c37a26179f7b54741f7c257543003bfb244d06a62ad569b + languageName: node + linkType: hard + +"cssstyle@npm:^4.1.0": + version: 4.1.0 + resolution: "cssstyle@npm:4.1.0" + dependencies: + rrweb-cssom: "npm:^0.7.1" + checksum: 10c0/05c6597e5d3e0ec6b15221f2c0ce9a0443a46cc50a6089a3ba9ee1ac27f83ff86a445a8f95435137dadd859f091fc61b6d342abaf396d3c910471b5b33cfcbfa + languageName: node + linkType: hard + +"csstype@npm:^2.6.8": + version: 2.6.21 + resolution: "csstype@npm:2.6.21" + checksum: 10c0/e07f27f2100bce9890bb4c3cb9263af97388f0d99b50073b663f1e363fa51b68ac7e2c8a612cd911d2b33c52d83afd1b0b8bc4de1d3ca76ee019a230295daffb + languageName: node + linkType: hard + +"csstype@npm:^3.0.2, csstype@npm:^3.1.2": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + +"d@npm:1, d@npm:^1.0.1, d@npm:^1.0.2": + version: 1.0.2 + resolution: "d@npm:1.0.2" + dependencies: + es5-ext: "npm:^0.10.64" + type: "npm:^2.7.2" + checksum: 10c0/3e6ede10cd3b77586c47da48423b62bed161bf1a48bdbcc94d87263522e22f5dfb0e678a6dba5323fdc14c5d8612b7f7eb9e7d9e37b2e2d67a7bf9f116dabe5a + languageName: node + linkType: hard + +"damerau-levenshtein@npm:^1.0.8": + version: 1.0.8 + resolution: "damerau-levenshtein@npm:1.0.8" + checksum: 10c0/4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3 + languageName: node + linkType: hard + +"dargs@npm:^7.0.0": + version: 7.0.0 + resolution: "dargs@npm:7.0.0" + checksum: 10c0/ec7f6a8315a8fa2f8b12d39207615bdf62b4d01f631b96fbe536c8ad5469ab9ed710d55811e564d0d5c1d548fc8cb6cc70bf0939f2415790159f5a75e0f96c92 + languageName: node + linkType: hard + +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" + dependencies: + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + checksum: 10c0/1b894d7d41c861f3a4ed2ae9b1c3f0909d4575ada02e36d3d3bc584bdd84278e20709070c79c3b3bff7ac98598cb191eb3e86a89a79ea4ee1ef360e1694f92ad + languageName: node + linkType: hard + +"data-view-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-buffer@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583 + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-length@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/b7d9e48a0cf5aefed9ab7d123559917b2d7e0d65531f43b2fd95b9d3a6b46042dd3fca597c42bba384e66b70d7ad66ff23932f8367b241f53d93af42cfe04ec2 + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "data-view-byte-offset@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f + languageName: node + linkType: hard + +"date-fns@npm:^4.1.0": + version: 4.1.0 + resolution: "date-fns@npm:4.1.0" + checksum: 10c0/b79ff32830e6b7faa009590af6ae0fb8c3fd9ffad46d930548fbb5acf473773b4712ae887e156ba91a7b3dc30591ce0f517d69fd83bd9c38650fdc03b4e0bac8 + languageName: node + linkType: hard + +"dateformat@npm:^3.0.0": + version: 3.0.3 + resolution: "dateformat@npm:3.0.3" + checksum: 10c0/2effb8bef52ff912f87a05e4adbeacff46353e91313ad1ea9ed31412db26849f5a0fcc7e3ce36dbfb84fc6c881a986d5694f84838ad0da7000d5150693e78678 + languageName: node + linkType: hard + +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.2.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.5": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + languageName: node + linkType: hard + +"debug@npm:4.3.1": + version: 4.3.1 + resolution: "debug@npm:4.3.1" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/610bcc2eb07c533d6a9964478422f7d741095d67301888ee0b77b8f2ad0a15d115c93fb2adb13d10a9eda3d81f2d4d335405540b09596fb23aca070e77497d95 + languageName: node + linkType: hard + +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + +"decamelize-keys@npm:^1.1.0": + version: 1.1.1 + resolution: "decamelize-keys@npm:1.1.1" + dependencies: + decamelize: "npm:^1.1.0" + map-obj: "npm:^1.0.0" + checksum: 10c0/4ca385933127437658338c65fb9aead5f21b28d3dd3ccd7956eb29aab0953b5d3c047fbc207111672220c71ecf7a4d34f36c92851b7bbde6fca1a02c541bdd7d + languageName: node + linkType: hard + +"decamelize@npm:^1.1.0, decamelize@npm:^1.1.1": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 + languageName: node + linkType: hard + +"decamelize@npm:^4.0.0": + version: 4.0.0 + resolution: "decamelize@npm:4.0.0" + checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d + languageName: node + linkType: hard + +"decimal.js@npm:^10.4.3": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee + languageName: node + linkType: hard + +"decode-uri-component@npm:^0.2.0": + version: 0.2.2 + resolution: "decode-uri-component@npm:0.2.2" + checksum: 10c0/1f4fa54eb740414a816b3f6c24818fbfcabd74ac478391e9f4e2282c994127db02010ce804f3d08e38255493cfe68608b3f5c8e09fd6efc4ae46c807691f7a31 + languageName: node + linkType: hard + +"dedent@npm:0.7.0, dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "dedent@npm:0.7.0" + checksum: 10c0/7c3aa00ddfe3e5fcd477958e156156a5137e3bb6ff1493ca05edff4decf29a90a057974cc77e75951f8eb801c1816cb45aea1f52d628cdd000b82b36ab839d1b + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"default-compare@npm:^1.0.0": + version: 1.0.0 + resolution: "default-compare@npm:1.0.0" + dependencies: + kind-of: "npm:^5.0.2" + checksum: 10c0/718f6f76c327c26509697ded2b642dbe526589c98ba6316a90b6564f5084d05cf07fc38addd452d8eed9c22fb598eea5ecc52b130f602975c608e61c70251ff2 + languageName: node + linkType: hard + +"default-resolution@npm:^2.0.0": + version: 2.0.0 + resolution: "default-resolution@npm:2.0.0" + checksum: 10c0/162c538be2dbecd09f7303a34303f97ca1684232e1cd7dd58a97cf472d3874b92ed2fba52c01cada47f595136007dec4dfdb368a7e1c043872407b97a00772ad + languageName: node + linkType: hard + +"defaults@npm:^1.0.3": + version: 1.0.4 + resolution: "defaults@npm:1.0.4" + dependencies: + clone: "npm:^1.0.2" + checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"define-property@npm:^0.2.5": + version: 0.2.5 + resolution: "define-property@npm:0.2.5" + dependencies: + is-descriptor: "npm:^0.1.0" + checksum: 10c0/9986915c0893818dedc9ca23eaf41370667762fd83ad8aa4bf026a28563120dbaacebdfbfbf2b18d3b929026b9c6ee972df1dbf22de8fafb5fe6ef18361e4750 + languageName: node + linkType: hard + +"define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "define-property@npm:1.0.0" + dependencies: + is-descriptor: "npm:^1.0.0" + checksum: 10c0/d7cf09db10d55df305f541694ed51dafc776ad9bb8a24428899c9f2d36b11ab38dce5527a81458d1b5e7c389f8cbe803b4abad6e91a0037a329d153b84fc975e + languageName: node + linkType: hard + +"define-property@npm:^2.0.2": + version: 2.0.2 + resolution: "define-property@npm:2.0.2" + dependencies: + is-descriptor: "npm:^1.0.2" + isobject: "npm:^3.0.1" + checksum: 10c0/f91a08ad008fa764172a2c072adc7312f10217ade89ddaea23018321c6d71b2b68b8c229141ed2064179404e345c537f1a2457c379824813695b51a6ad3e4969 + languageName: node + linkType: hard + +"del@npm:^6.0.0": + version: 6.1.1 + resolution: "del@npm:6.1.1" + dependencies: + globby: "npm:^11.0.1" + graceful-fs: "npm:^4.2.4" + is-glob: "npm:^4.0.1" + is-path-cwd: "npm:^2.2.0" + is-path-inside: "npm:^3.0.2" + p-map: "npm:^4.0.0" + rimraf: "npm:^3.0.2" + slash: "npm:^3.0.0" + checksum: 10c0/8a095c5ccade42c867a60252914ae485ec90da243d735d1f63ec1e64c1cfbc2b8810ad69a29ab6326d159d4fddaa2f5bad067808c42072351ec458efff86708f + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 + languageName: node + linkType: hard + +"denodeify@npm:^1.2.1": + version: 1.2.1 + resolution: "denodeify@npm:1.2.1" + checksum: 10c0/d7e5a974eae4e837f7c70ecb9bdbafae9fbdda1993a86dead1b0ec1d162ed34a9adb2cfbc0bce30d8ccf7a7294aba660862fdce761a0c6157650a0839630d33a + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"deprecation@npm:^2.0.0, deprecation@npm:^2.3.1": + version: 2.3.1 + resolution: "deprecation@npm:2.3.1" + checksum: 10c0/23d688ba66b74d09b908c40a76179418acbeeb0bfdf218c8075c58ad8d0c315130cb91aa3dffb623aa3a411a3569ce56c6460de6c8d69071c17fe6dd2442f032 + languageName: node + linkType: hard + +"des.js@npm:^1.0.0": + version: 1.1.0 + resolution: "des.js@npm:1.1.0" + dependencies: + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/671354943ad67493e49eb4c555480ab153edd7cee3a51c658082fcde539d2690ed2a4a0b5d1f401f9cde822edf3939a6afb2585f32c091f2d3a1b1665cd45236 + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + +"detect-file@npm:^1.0.0": + version: 1.0.0 + resolution: "detect-file@npm:1.0.0" + checksum: 10c0/c782a5f992047944c39d337c82f5d1d21d65d1378986d46c354df9d9ec6d5f356bca0182969c11b08b9b8a7af8727b3c2d5a9fad0b022be4a3bf4c216f63ed07 + languageName: node + linkType: hard + +"detect-indent@npm:^5.0.0": + version: 5.0.0 + resolution: "detect-indent@npm:5.0.0" + checksum: 10c0/58d985dd5b4d5e5aad6fe7d8ecc74538fa92c807c894794b8505569e45651bf01a38755b65d9d3d17e512239a26d3131837cbef43cf4226968d5abf175bbcc9d + languageName: node + linkType: hard + +"detect-libc@npm:^1.0.3": + version: 1.0.3 + resolution: "detect-libc@npm:1.0.3" + bin: + detect-libc: ./bin/detect-libc.js + checksum: 10c0/4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.1, detect-libc@npm:^2.0.3": + version: 2.0.3 + resolution: "detect-libc@npm:2.0.3" + checksum: 10c0/88095bda8f90220c95f162bf92cad70bd0e424913e655c20578600e35b91edc261af27531cf160a331e185c0ced93944bc7e09939143225f56312d7fd800fdb7 + languageName: node + linkType: hard + +"didyoumean@npm:^1.2.1, didyoumean@npm:^1.2.2": + version: 1.2.2 + resolution: "didyoumean@npm:1.2.2" + checksum: 10c0/95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b + languageName: node + linkType: hard + +"diff@npm:5.0.0": + version: 5.0.0 + resolution: "diff@npm:5.0.0" + checksum: 10c0/08c5904779bbababcd31f1707657b1ad57f8a9b65e6f88d3fb501d09a965d5f8d73066898a7d3f35981f9e4101892c61d99175d421f3b759533213c253d91134 + languageName: node + linkType: hard + +"diff@npm:^3.5.0": + version: 3.5.0 + resolution: "diff@npm:3.5.0" + checksum: 10c0/fc62d5ba9f6d1b8b5833380969037007913d4886997838c247c54ec6934f09ae5a07e17ae28b1f016018149d81df8ad89306f52eac1afa899e0bed49015a64d1 + languageName: node + linkType: hard + +"diffie-hellman@npm:^5.0.3": + version: 5.0.3 + resolution: "diffie-hellman@npm:5.0.3" + dependencies: + bn.js: "npm:^4.1.0" + miller-rabin: "npm:^4.0.0" + randombytes: "npm:^2.0.0" + checksum: 10c0/ce53ccafa9ca544b7fc29b08a626e23a9b6562efc2a98559a0c97b4718937cebaa9b5d7d0a05032cc9c1435e9b3c1532b9e9bf2e0ede868525922807ad6e1ecf + languageName: node + linkType: hard + +"dir-glob@npm:^2.0.0": + version: 2.2.2 + resolution: "dir-glob@npm:2.2.2" + dependencies: + path-type: "npm:^3.0.0" + checksum: 10c0/67575fd496df80ec90969f1a9f881f03b4ef614ca2c07139df81a12f9816250780dff906f482def0f897dd748d22fa13c076b52ac635e0024f7d434846077a3a + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"dlv@npm:^1.1.3": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 + languageName: node + linkType: hard + +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + languageName: node + linkType: hard + +"doctypes@npm:^1.1.0": + version: 1.1.0 + resolution: "doctypes@npm:1.1.0" + checksum: 10c0/b3f9d597ad8b9ac6aeba9d64df61f0098174f7570e3d34f7ee245ebc736c7bee122d9738a18e22010b98983fd9a340d63043d3841f02d8a7742a2d96d2c72610 + languageName: node + linkType: hard + +"dom-serializer@npm:^1.0.1": + version: 1.4.1 + resolution: "dom-serializer@npm:1.4.1" + dependencies: + domelementtype: "npm:^2.0.1" + domhandler: "npm:^4.2.0" + entities: "npm:^2.0.0" + checksum: 10c0/67d775fa1ea3de52035c98168ddcd59418356943b5eccb80e3c8b3da53adb8e37edb2cc2f885802b7b1765bf5022aec21dfc32910d7f9e6de4c3148f095ab5e0 + languageName: node + linkType: hard + +"dom-serializer@npm:^2.0.0": + version: 2.0.0 + resolution: "dom-serializer@npm:2.0.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.2" + entities: "npm:^4.2.0" + checksum: 10c0/d5ae2b7110ca3746b3643d3ef60ef823f5f078667baf530cec096433f1627ec4b6fa8c072f09d079d7cda915fd2c7bc1b7b935681e9b09e591e1e15f4040b8e2 + languageName: node + linkType: hard + +"domain-browser@npm:^5.7.0": + version: 5.7.0 + resolution: "domain-browser@npm:5.7.0" + checksum: 10c0/07c0a42660f06e44c2ba2d40df85cc10d61f4484cb81a4a6886a6d8727317d7f775daca80d34534bd7031b1fa35dc6d9c4ada09c3350e8a8ef6c843c26cb2c34 + languageName: node + linkType: hard + +"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0, domelementtype@npm:^2.3.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: 10c0/686f5a9ef0fff078c1412c05db73a0dce096190036f33e400a07e2a4518e9f56b1e324f5c576a0a747ef0e75b5d985c040b0d51945ce780c0dd3c625a18cd8c9 + languageName: node + linkType: hard + +"domhandler@npm:^4.2.0, domhandler@npm:^4.2.2": + version: 4.3.1 + resolution: "domhandler@npm:4.3.1" + dependencies: + domelementtype: "npm:^2.2.0" + checksum: 10c0/5c199c7468cb052a8b5ab80b13528f0db3d794c64fc050ba793b574e158e67c93f8336e87fd81e9d5ee43b0e04aea4d8b93ed7be4899cb726a1601b3ba18538b + languageName: node + linkType: hard + +"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": + version: 5.0.3 + resolution: "domhandler@npm:5.0.3" + dependencies: + domelementtype: "npm:^2.3.0" + checksum: 10c0/bba1e5932b3e196ad6862286d76adc89a0dbf0c773e5ced1eb01f9af930c50093a084eff14b8de5ea60b895c56a04d5de8bbc4930c5543d029091916770b2d2a + languageName: node + linkType: hard + +"domutils@npm:^2.8.0": + version: 2.8.0 + resolution: "domutils@npm:2.8.0" + dependencies: + dom-serializer: "npm:^1.0.1" + domelementtype: "npm:^2.2.0" + domhandler: "npm:^4.2.0" + checksum: 10c0/d58e2ae01922f0dd55894e61d18119924d88091837887bf1438f2327f32c65eb76426bd9384f81e7d6dcfb048e0f83c19b222ad7101176ad68cdc9c695b563db + languageName: node + linkType: hard + +"domutils@npm:^3.0.1, domutils@npm:^3.1.0": + version: 3.1.0 + resolution: "domutils@npm:3.1.0" + dependencies: + dom-serializer: "npm:^2.0.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + checksum: 10c0/342d64cf4d07b8a0573fb51e0a6312a88fb520c7fefd751870bf72fa5fc0f2e0cb9a3958a573610b1d608c6e2a69b8e9b4b40f0bfb8f87a71bce4f180cca1887 + languageName: node + linkType: hard + +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 + languageName: node + linkType: hard + +"dot-prop@npm:6.0.1": + version: 6.0.1 + resolution: "dot-prop@npm:6.0.1" + dependencies: + is-obj: "npm:^2.0.0" + checksum: 10c0/30e51ec6408978a6951b21e7bc4938aad01a86f2fdf779efe52330205c6bb8a8ea12f35925c2029d6dc9d1df22f916f32f828ce1e9b259b1371c580541c22b5a + languageName: node + linkType: hard + +"dot-prop@npm:^5.1.0": + version: 5.3.0 + resolution: "dot-prop@npm:5.3.0" + dependencies: + is-obj: "npm:^2.0.0" + checksum: 10c0/93f0d343ef87fe8869320e62f2459f7e70f49c6098d948cc47e060f4a3f827d0ad61e83cb82f2bd90cd5b9571b8d334289978a43c0f98fea4f0e99ee8faa0599 + languageName: node + linkType: hard + +"dotenv-expand@npm:^11.0.6": + version: 11.0.7 + resolution: "dotenv-expand@npm:11.0.7" + dependencies: + dotenv: "npm:^16.4.5" + checksum: 10c0/d80b8a7be085edf351270b96ac0e794bc3ddd7f36157912939577cb4d33ba6492ebee349d59798b71b90e36f498d24a2a564fb4aa00073b2ef4c2a3a49c467b1 + languageName: node + linkType: hard + +"dotenv@npm:^16.4.5": + version: 16.4.5 + resolution: "dotenv@npm:16.4.5" + checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f + languageName: node + linkType: hard + +"dotenv@npm:~10.0.0": + version: 10.0.0 + resolution: "dotenv@npm:10.0.0" + checksum: 10c0/2d8d4ba64bfaff7931402aa5e8cbb8eba0acbc99fe9ae442300199af021079eafa7171ce90e150821a5cb3d74f0057721fbe7ec201a6044b68c8a7615f8c123f + languageName: node + linkType: hard + +"duplexer2@npm:~0.1.4": + version: 0.1.4 + resolution: "duplexer2@npm:0.1.4" + dependencies: + readable-stream: "npm:^2.0.2" + checksum: 10c0/0765a4cc6fe6d9615d43cc6dbccff6f8412811d89a6f6aa44828ca9422a0a469625ce023bf81cee68f52930dbedf9c5716056ff264ac886612702d134b5e39b4 + languageName: node + linkType: hard + +"duplexer@npm:^0.1.1": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2 + languageName: node + linkType: hard + +"duplexify@npm:^3.6.0": + version: 3.7.1 + resolution: "duplexify@npm:3.7.1" + dependencies: + end-of-stream: "npm:^1.0.0" + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.0.0" + stream-shift: "npm:^1.0.0" + checksum: 10c0/59d1440c1b4e3a4db35ae96933392703ce83518db1828d06b9b6322920d6cbbf0b7159e88be120385fe459e77f1eb0c7622f26e9ec1f47c9ff05c2b35747dbd3 + languageName: node + linkType: hard + +"each-props@npm:^1.3.2": + version: 1.3.2 + resolution: "each-props@npm:1.3.2" + dependencies: + is-plain-object: "npm:^2.0.1" + object.defaults: "npm:^1.1.0" + checksum: 10c0/458eacb5703bd3d7a65c13427639980b0e7feb2a171c41af55808a04927394289c520fc0629e2d37a4fcbbb5ab3bb0c45c36ed4a86887e33c276fa823bcdc549 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"easy-stack@npm:^1.0.1": + version: 1.0.1 + resolution: "easy-stack@npm:1.0.1" + checksum: 10c0/1eaf066169a20f6cc3cafd2bb36b00baacd60b6414c8d8bf51bfd50bc6f1c487140c8af86bbb8e1ff9ded2faea5e138c55a37867fc79cbbc985bf5a5ebe4b109 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 + languageName: node + linkType: hard + +"ejs@npm:^3.1.6, ejs@npm:^3.1.7": + version: 3.1.10 + resolution: "ejs@npm:3.1.10" + dependencies: + jake: "npm:^10.8.5" + bin: + ejs: bin/cli.js + checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.41": + version: 1.5.64 + resolution: "electron-to-chromium@npm:1.5.64" + checksum: 10c0/331c2160cc37ef85317b44f2078af8ff16f068fc95d4af2210fe943b567f20b1445a7faa40c05d290bc229102ef1b662371464ba2725d10ff6c8543af6d40adf + languageName: node + linkType: hard + +"elliptic@npm:^6.5.3, elliptic@npm:^6.5.5": + version: 6.6.1 + resolution: "elliptic@npm:6.6.1" + dependencies: + bn.js: "npm:^4.11.9" + brorand: "npm:^1.1.0" + hash.js: "npm:^1.0.0" + hmac-drbg: "npm:^1.0.1" + inherits: "npm:^2.0.4" + minimalistic-assert: "npm:^1.0.1" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/8b24ef782eec8b472053793ea1e91ae6bee41afffdfcb78a81c0a53b191e715cbe1292aa07165958a9bbe675bd0955142560b1a007ffce7d6c765bcaf951a867 + languageName: node + linkType: hard + +"elm-hot@npm:^1.1.5": + version: 1.1.6 + resolution: "elm-hot@npm:1.1.6" + checksum: 10c0/196a1fc2eabfa1f1c74540624a8f656b98852629af1b5f2bd1198dd2d5146e2184c1bf67d939e2348c90c854d9298daf591d3b41e470234ec1bbe11489992a60 + languageName: node + linkType: hard + +"elm@npm:^0.19.1-5": + version: 0.19.1-6 + resolution: "elm@npm:0.19.1-6" + dependencies: + "@elm_binaries/darwin_arm64": "npm:0.19.1-0" + "@elm_binaries/darwin_x64": "npm:0.19.1-0" + "@elm_binaries/linux_x64": "npm:0.19.1-0" + "@elm_binaries/win32_x64": "npm:0.19.1-0" + dependenciesMeta: + "@elm_binaries/darwin_arm64": + optional: true + "@elm_binaries/darwin_x64": + optional: true + "@elm_binaries/linux_x64": + optional: true + "@elm_binaries/win32_x64": + optional: true + bin: + elm: bin/elm + checksum: 10c0/8fe067b18d66afcc6d843d49ed7fbce7ac93bbdaf9b53fafb57c3396a763ae23b6c8a69346143b6d59bf97e2e57d207a578bd6d4600952babff9934b8643c4c4 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"emphasize@npm:^4.2.0": + version: 4.2.0 + resolution: "emphasize@npm:4.2.0" + dependencies: + chalk: "npm:^4.0.0" + highlight.js: "npm:~10.4.0" + lowlight: "npm:~1.17.0" + checksum: 10c0/4e538115e99673c9003539c63d6c94f9038e1639b787a82480ae456b9da584ed26ab5f1b0226c139217d12b1ad0a97fb1edc5046aa4cccd5ad2ba35951154ab1 + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec + languageName: node + linkType: hard + +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb + languageName: node + linkType: hard + +"encoding-sniffer@npm:^0.2.0": + version: 0.2.0 + resolution: "encoding-sniffer@npm:0.2.0" + dependencies: + iconv-lite: "npm:^0.6.3" + whatwg-encoding: "npm:^3.1.1" + checksum: 10c0/b312e0d67f339bec44e021e5210ee8ee90d7b8f9975eb2c79a36fd467eb07709e88dcf62ee20f62ee0d74a13874307d99557852a2de9b448f1e3fb991fc68257 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 + languageName: node + linkType: hard + +"enquirer@npm:^2.3.6": + version: 2.4.1 + resolution: "enquirer@npm:2.4.1" + dependencies: + ansi-colors: "npm:^4.1.1" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 + languageName: node + linkType: hard + +"enquirer@npm:~2.3.6": + version: 2.3.6 + resolution: "enquirer@npm:2.3.6" + dependencies: + ansi-colors: "npm:^4.1.1" + checksum: 10c0/8e070e052c2c64326a2803db9084d21c8aaa8c688327f133bf65c4a712586beb126fd98c8a01cfb0433e82a4bd3b6262705c55a63e0f7fb91d06b9cedbde9a11 + languageName: node + linkType: hard + +"entities@npm:^2.0.0": + version: 2.2.0 + resolution: "entities@npm:2.2.0" + checksum: 10c0/7fba6af1f116300d2ba1c5673fc218af1961b20908638391b4e1e6d5850314ee2ac3ec22d741b3a8060479911c99305164aed19b6254bde75e7e6b1b2c3f3aa3 + languageName: node + linkType: hard + +"entities@npm:^3.0.1": + version: 3.0.1 + resolution: "entities@npm:3.0.1" + checksum: 10c0/2d93f48fd86de0b0ed8ee34456aa47b4e74a916a5e663cfcc7048302e2c7e932002926daf5a00ad6d5691e3c90673a15d413704d86d7e1b9532f9bc00d975590 + languageName: node + linkType: hard + +"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 + languageName: node + linkType: hard + +"entities@npm:~1.1.1": + version: 1.1.2 + resolution: "entities@npm:1.1.2" + checksum: 10c0/5b12fa8c4fb942f88af6f8791bbe7be0a59ebd91c8933cee091d94455efd1eeb200418c7b1bc8dd0f74cdd4db8cf4538eb043db14cfd1919130c25d8c6095215 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"envinfo@npm:^7.7.4": + version: 7.14.0 + resolution: "envinfo@npm:7.14.0" + bin: + envinfo: dist/cli.js + checksum: 10c0/059a031eee101e056bd9cc5cbfe25c2fab433fe1780e86cf0a82d24a000c6931e327da6a8ffb3dce528a24f83f256e7efc0b36813113eff8fdc6839018efe327 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"errno@npm:^0.1.1": + version: 0.1.8 + resolution: "errno@npm:0.1.8" + dependencies: + prr: "npm:~1.0.1" + bin: + errno: cli.js + checksum: 10c0/83758951967ec57bf00b5f5b7dc797e6d65a6171e57ea57adcf1bd1a0b477fd9b5b35fae5be1ff18f4090ed156bce1db749fe7e317aac19d485a5d150f6a4936 + languageName: node + linkType: hard + +"error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"error-stack-parser@npm:^2.0.6": + version: 2.1.4 + resolution: "error-stack-parser@npm:2.1.4" + dependencies: + stackframe: "npm:^1.3.4" + checksum: 10c0/7679b780043c98b01fc546725484e0cfd3071bf5c906bbe358722972f04abf4fc3f0a77988017665bab367f6ef3fc2d0185f7528f45966b83e7c99c02d5509b9 + languageName: node + linkType: hard + +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5": + version: 1.23.5 + resolution: "es-abstract@npm:1.23.5" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + arraybuffer.prototype.slice: "npm:^1.0.3" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + data-view-buffer: "npm:^1.0.1" + data-view-byte-length: "npm:^1.0.1" + data-view-byte-offset: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-set-tostringtag: "npm:^2.0.3" + es-to-primitive: "npm:^1.2.1" + function.prototype.name: "npm:^1.1.6" + get-intrinsic: "npm:^1.2.4" + get-symbol-description: "npm:^1.0.2" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.0.3" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.0.7" + is-array-buffer: "npm:^3.0.4" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.1" + is-negative-zero: "npm:^2.0.3" + is-regex: "npm:^1.1.4" + is-shared-array-buffer: "npm:^1.0.3" + is-string: "npm:^1.0.7" + is-typed-array: "npm:^1.1.13" + is-weakref: "npm:^1.0.2" + object-inspect: "npm:^1.13.3" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.5" + regexp.prototype.flags: "npm:^1.5.3" + safe-array-concat: "npm:^1.1.2" + safe-regex-test: "npm:^1.0.3" + string.prototype.trim: "npm:^1.2.9" + string.prototype.trimend: "npm:^1.0.8" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.2" + typed-array-byte-length: "npm:^1.0.1" + typed-array-byte-offset: "npm:^1.0.2" + typed-array-length: "npm:^1.0.6" + unbox-primitive: "npm:^1.0.2" + which-typed-array: "npm:^1.1.15" + checksum: 10c0/1f6f91da9cf7ee2c81652d57d3046621d598654d1d1b05c1578bafe5c4c2d3d69513901679bdca2de589f620666ec21de337e4935cec108a4ed0871d5ef04a5d + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 + languageName: node + linkType: hard + +"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-iterator-helpers@npm:^1.1.0": + version: 1.2.0 + resolution: "es-iterator-helpers@npm:1.2.0" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + es-errors: "npm:^1.3.0" + es-set-tostringtag: "npm:^2.0.3" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.0.3" + has-symbols: "npm:^1.0.3" + internal-slot: "npm:^1.0.7" + iterator.prototype: "npm:^1.1.3" + safe-array-concat: "npm:^1.1.2" + checksum: 10c0/2bd60580dfeae353f5b80445d2808da745e97eeacdb663a8c4d99a12046873830a06d377e9d5e88fe54eece7c94319a5ce5a01220e24d71394ceca8d3ef621d7 + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0": + version: 1.0.0 + resolution: "es-object-atoms@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/1fed3d102eb27ab8d983337bb7c8b159dd2a1e63ff833ec54eea1311c96d5b08223b433060ba240541ca8adba9eee6b0a60cdbf2f80634b784febc9cc8b687b4 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.0.3": + version: 2.0.3 + resolution: "es-set-tostringtag@npm:2.0.3" + dependencies: + get-intrinsic: "npm:^1.2.4" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.1" + checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a + languageName: node + linkType: hard + +"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": + version: 1.0.2 + resolution: "es-shim-unscopables@npm:1.0.2" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783 + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.1": + version: 1.2.1 + resolution: "es-to-primitive@npm:1.2.1" + dependencies: + is-callable: "npm:^1.1.4" + is-date-object: "npm:^1.0.1" + is-symbol: "npm:^1.0.2" + checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 + languageName: node + linkType: hard + +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.62, es5-ext@npm:^0.10.64, es5-ext@npm:~0.10.14": + version: 0.10.64 + resolution: "es5-ext@npm:0.10.64" + dependencies: + es6-iterator: "npm:^2.0.3" + es6-symbol: "npm:^3.1.3" + esniff: "npm:^2.0.1" + next-tick: "npm:^1.1.0" + checksum: 10c0/4459b6ae216f3c615db086e02437bdfde851515a101577fd61b19f9b3c1ad924bab4d197981eb7f0ccb915f643f2fc10ff76b97a680e96cbb572d15a27acd9a3 + languageName: node + linkType: hard + +"es6-iterator@npm:^2.0.1, es6-iterator@npm:^2.0.3": + version: 2.0.3 + resolution: "es6-iterator@npm:2.0.3" + dependencies: + d: "npm:1" + es5-ext: "npm:^0.10.35" + es6-symbol: "npm:^3.1.1" + checksum: 10c0/91f20b799dba28fb05bf623c31857fc1524a0f1c444903beccaf8929ad196c8c9ded233e5ac7214fc63a92b3f25b64b7f2737fcca8b1f92d2d96cf3ac902f5d8 + languageName: node + linkType: hard + +"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": + version: 3.1.4 + resolution: "es6-symbol@npm:3.1.4" + dependencies: + d: "npm:^1.0.2" + ext: "npm:^1.7.0" + checksum: 10c0/777bf3388db5d7919e09a0fd175aa5b8a62385b17cb2227b7a137680cba62b4d9f6193319a102642aa23d5840d38a62e4784f19cfa5be4a2210a3f0e9b23d15d + languageName: node + linkType: hard + +"es6-weak-map@npm:^2.0.1": + version: 2.0.3 + resolution: "es6-weak-map@npm:2.0.3" + dependencies: + d: "npm:1" + es5-ext: "npm:^0.10.46" + es6-iterator: "npm:^2.0.3" + es6-symbol: "npm:^3.1.1" + checksum: 10c0/460932be9542473dbbddd183e21c15a66cfec1b2c17dae2b514e190d6fb2896b7eb683783d4b36da036609d2e1c93d2815f21b374dfccaf02a8978694c2f7b67 + languageName: node + linkType: hard + +"esbuild-register@npm:^3.5.0": + version: 3.6.0 + resolution: "esbuild-register@npm:3.6.0" + dependencies: + debug: "npm:^4.3.4" + peerDependencies: + esbuild: ">=0.12 <1" + checksum: 10c0/77193b7ca32ba9f81b35ddf3d3d0138efb0b1429d71b39480cfee932e1189dd2e492bd32bf04a4d0bc3adfbc7ec7381ceb5ffd06efe35f3e70904f1f686566d5 + languageName: node + linkType: hard + +"esbuild@npm:^0.25.0": + version: 0.25.0 + resolution: "esbuild@npm:0.25.0" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.0" + "@esbuild/android-arm": "npm:0.25.0" + "@esbuild/android-arm64": "npm:0.25.0" + "@esbuild/android-x64": "npm:0.25.0" + "@esbuild/darwin-arm64": "npm:0.25.0" + "@esbuild/darwin-x64": "npm:0.25.0" + "@esbuild/freebsd-arm64": "npm:0.25.0" + "@esbuild/freebsd-x64": "npm:0.25.0" + "@esbuild/linux-arm": "npm:0.25.0" + "@esbuild/linux-arm64": "npm:0.25.0" + "@esbuild/linux-ia32": "npm:0.25.0" + "@esbuild/linux-loong64": "npm:0.25.0" + "@esbuild/linux-mips64el": "npm:0.25.0" + "@esbuild/linux-ppc64": "npm:0.25.0" + "@esbuild/linux-riscv64": "npm:0.25.0" + "@esbuild/linux-s390x": "npm:0.25.0" + "@esbuild/linux-x64": "npm:0.25.0" + "@esbuild/netbsd-arm64": "npm:0.25.0" + "@esbuild/netbsd-x64": "npm:0.25.0" + "@esbuild/openbsd-arm64": "npm:0.25.0" + "@esbuild/openbsd-x64": "npm:0.25.0" + "@esbuild/sunos-x64": "npm:0.25.0" + "@esbuild/win32-arm64": "npm:0.25.0" + "@esbuild/win32-ia32": "npm:0.25.0" + "@esbuild/win32-x64": "npm:0.25.0" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/5767b72da46da3cfec51661647ec850ddbf8a8d0662771139f10ef0692a8831396a0004b2be7966cecdb08264fb16bdc16290dcecd92396fac5f12d722fa013d + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 + languageName: node + linkType: hard + +"escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^8.8.0": + version: 8.10.0 + resolution: "eslint-config-prettier@npm:8.10.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/19f8c497d9bdc111a17a61b25ded97217be3755bbc4714477dfe535ed539dddcaf42ef5cf8bb97908b058260cf89a3d7c565cb0be31096cbcd39f4c2fa5fe43c + languageName: node + linkType: hard + +"eslint-config-react-app@npm:^7.0.1": + version: 7.0.1 + resolution: "eslint-config-react-app@npm:7.0.1" + dependencies: + "@babel/core": "npm:^7.16.0" + "@babel/eslint-parser": "npm:^7.16.3" + "@rushstack/eslint-patch": "npm:^1.1.0" + "@typescript-eslint/eslint-plugin": "npm:^5.5.0" + "@typescript-eslint/parser": "npm:^5.5.0" + babel-preset-react-app: "npm:^10.0.1" + confusing-browser-globals: "npm:^1.0.11" + eslint-plugin-flowtype: "npm:^8.0.3" + eslint-plugin-import: "npm:^2.25.3" + eslint-plugin-jest: "npm:^25.3.0" + eslint-plugin-jsx-a11y: "npm:^6.5.1" + eslint-plugin-react: "npm:^7.27.1" + eslint-plugin-react-hooks: "npm:^4.3.0" + eslint-plugin-testing-library: "npm:^5.0.1" + peerDependencies: + eslint: ^8.0.0 + checksum: 10c0/be290ec0cd5a2c0bb0b85cb1645e8734769cae77f101cd453631d77a60fa4894ee8b5b1e080ee8c21e01af0d0fc22367a2882931a549691b5ab801abb985cbba + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" + dependencies: + debug: "npm:^3.2.7" + is-core-module: "npm:^2.13.0" + resolve: "npm:^1.22.4" + checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.1.1, eslint-module-utils@npm:^2.12.0": + version: 2.12.0 + resolution: "eslint-module-utils@npm:2.12.0" + dependencies: + debug: "npm:^3.2.7" + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/4d8b46dcd525d71276f9be9ffac1d2be61c9d54cc53c992e6333cf957840dee09381842b1acbbb15fc6b255ebab99cd481c5007ab438e5455a14abe1a0468558 + languageName: node + linkType: hard + +"eslint-plugin-flowtype@npm:^8.0.3": + version: 8.0.3 + resolution: "eslint-plugin-flowtype@npm:8.0.3" + dependencies: + lodash: "npm:^4.17.21" + string-natural-compare: "npm:^3.0.1" + peerDependencies: + "@babel/plugin-syntax-flow": ^7.14.5 + "@babel/plugin-transform-react-jsx": ^7.14.9 + eslint: ^8.1.0 + checksum: 10c0/a4596ba1cb80c19a06f1ddef6c36e6a671769da8d056d4a8f3482a2c46f475c547e78f82c3233099dba3759dc9a29e36d0ca07019cf6deb666db17f49d8f566d + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.22.1, eslint-plugin-import@npm:^2.25.3": + version: 2.31.0 + resolution: "eslint-plugin-import@npm:2.31.0" + dependencies: + "@rtsao/scc": "npm:^1.1.0" + array-includes: "npm:^3.1.8" + array.prototype.findlastindex: "npm:^1.2.5" + array.prototype.flat: "npm:^1.3.2" + array.prototype.flatmap: "npm:^1.3.2" + debug: "npm:^3.2.7" + doctrine: "npm:^2.1.0" + eslint-import-resolver-node: "npm:^0.3.9" + eslint-module-utils: "npm:^2.12.0" + hasown: "npm:^2.0.2" + is-core-module: "npm:^2.15.1" + is-glob: "npm:^4.0.3" + minimatch: "npm:^3.1.2" + object.fromentries: "npm:^2.0.8" + object.groupby: "npm:^1.0.3" + object.values: "npm:^1.2.0" + semver: "npm:^6.3.1" + string.prototype.trimend: "npm:^1.0.8" + tsconfig-paths: "npm:^3.15.0" + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + checksum: 10c0/e21d116ddd1900e091ad120b3eb68c5dd5437fe2c930f1211781cd38b246f090a6b74d5f3800b8255a0ed29782591521ad44eb21c5534960a8f1fb4040fd913a + languageName: node + linkType: hard + +"eslint-plugin-jest@npm:^25.3.0": + version: 25.7.0 + resolution: "eslint-plugin-jest@npm:25.7.0" + dependencies: + "@typescript-eslint/experimental-utils": "npm:^5.0.0" + peerDependencies: + "@typescript-eslint/eslint-plugin": ^4.0.0 || ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: 10c0/72dad05323d54e815c2bb10235bd5b77423796ef2e2940f7dba28bdb6cfac5a578793d3f0c7ac74618c41f9d8d6f345097a2a1f89f41aeec27bb873cb66ab270 + languageName: node + linkType: hard + +"eslint-plugin-jsx-a11y@npm:^6.5.1": + version: 6.10.2 + resolution: "eslint-plugin-jsx-a11y@npm:6.10.2" + dependencies: + aria-query: "npm:^5.3.2" + array-includes: "npm:^3.1.8" + array.prototype.flatmap: "npm:^1.3.2" + ast-types-flow: "npm:^0.0.8" + axe-core: "npm:^4.10.0" + axobject-query: "npm:^4.1.0" + damerau-levenshtein: "npm:^1.0.8" + emoji-regex: "npm:^9.2.2" + hasown: "npm:^2.0.2" + jsx-ast-utils: "npm:^3.3.5" + language-tags: "npm:^1.0.9" + minimatch: "npm:^3.1.2" + object.fromentries: "npm:^2.0.8" + safe-regex-test: "npm:^1.0.3" + string.prototype.includes: "npm:^2.0.1" + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + checksum: 10c0/d93354e03b0cf66f018d5c50964e074dffe4ddf1f9b535fa020d19c4ae45f89c1a16e9391ca61ac3b19f7042c751ac0d361a056a65cbd1de24718a53ff8daa6e + languageName: node + linkType: hard + +"eslint-plugin-mocha@npm:^8.0.0": + version: 8.2.0 + resolution: "eslint-plugin-mocha@npm:8.2.0" + dependencies: + eslint-utils: "npm:^2.1.0" + ramda: "npm:^0.27.1" + peerDependencies: + eslint: ">=7.0.0" + checksum: 10c0/6b006e4a775f8cccc3835386d9fa42c7ffd1586ade7450db2ac82480d9b63f663272d709d02dac7c466e337a4e2a0d41d7d77fff73a9187b396cbf7b67d0f49c + languageName: node + linkType: hard + +"eslint-plugin-monorepo@npm:^0.3.2": + version: 0.3.2 + resolution: "eslint-plugin-monorepo@npm:0.3.2" + dependencies: + eslint-module-utils: "npm:^2.1.1" + get-monorepo-packages: "npm:^1.1.0" + globby: "npm:^7.1.1" + load-json-file: "npm:^4.0.0" + minimatch: "npm:^3.0.4" + parse-package-name: "npm:^0.1.0" + path-is-inside: "npm:^1.0.2" + checksum: 10c0/9a3c49c0b998207c4c931aeb8f77a7c0930e298076989b2f073d4314ac785f4b72a4763b5b3a992754544bd7c34c44696c6e3561afb137e2f890f0c7db91e5a3 + languageName: node + linkType: hard + +"eslint-plugin-react-hooks@npm:^4.3.0": + version: 4.6.2 + resolution: "eslint-plugin-react-hooks@npm:4.6.2" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc + languageName: node + linkType: hard + +"eslint-plugin-react@npm:^7.27.1, eslint-plugin-react@npm:^7.32.2": + version: 7.37.2 + resolution: "eslint-plugin-react@npm:7.37.2" + dependencies: + array-includes: "npm:^3.1.8" + array.prototype.findlast: "npm:^1.2.5" + array.prototype.flatmap: "npm:^1.3.2" + array.prototype.tosorted: "npm:^1.1.4" + doctrine: "npm:^2.1.0" + es-iterator-helpers: "npm:^1.1.0" + estraverse: "npm:^5.3.0" + hasown: "npm:^2.0.2" + jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" + minimatch: "npm:^3.1.2" + object.entries: "npm:^1.1.8" + object.fromentries: "npm:^2.0.8" + object.values: "npm:^1.2.0" + prop-types: "npm:^15.8.1" + resolve: "npm:^2.0.0-next.5" + semver: "npm:^6.3.1" + string.prototype.matchall: "npm:^4.0.11" + string.prototype.repeat: "npm:^1.0.0" + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + checksum: 10c0/01c498f263c201698bf653973760f86a07fa0cdec56c044f3eaa5ddaae71c64326015dfa5fde76ca8c5386ffe789fc79932624b614e13b6a1ad789fee3f7c491 + languageName: node + linkType: hard + +"eslint-plugin-testing-library@npm:^5.0.1": + version: 5.11.1 + resolution: "eslint-plugin-testing-library@npm:5.11.1" + dependencies: + "@typescript-eslint/utils": "npm:^5.58.0" + peerDependencies: + eslint: ^7.5.0 || ^8.0.0 + checksum: 10c0/55c7792345710a2b951acb0552ebe4e491d988f7d37fd308749e75fdbc36142b9a151ecec03b39992f672afea1a99dd3c3d2fb9f737ef18f56d7168e294fd9eb + languageName: node + linkType: hard + +"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a + languageName: node + linkType: hard + +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "eslint-utils@npm:2.1.0" + dependencies: + eslint-visitor-keys: "npm:^1.1.0" + checksum: 10c0/69521c5d6569384b24093125d037ba238d3d6e54367f7143af9928f5286369e912c26cad5016d730c0ffb9797ac9e83831059d7f1d863f7dc84330eb02414611 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^1.1.0": + version: 1.3.0 + resolution: "eslint-visitor-keys@npm:1.3.0" + checksum: 10c0/10c91fdbbe36810dd4308e57f9a8bc7177188b2a70247e54e3af1fa05ebc66414ae6fd4ce3c6c6821591f43a556e9037bc6b071122e099b5f8b7d2f76df553e3 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^2.1.0": + version: 2.1.0 + resolution: "eslint-visitor-keys@npm:2.1.0" + checksum: 10c0/9f0e3a2db751d84067d15977ac4b4472efd6b303e369e6ff241a99feac04da758f46d5add022c33d06b53596038dbae4b4aceb27c7e68b8dfc1055b35e495787 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint@npm:^6.0.0 || ^7.0.0 || ^8.0.0, eslint@npm:^8.41.0": + version: 8.57.1 + resolution: "eslint@npm:8.57.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.6.1" + "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/js": "npm:8.57.1" + "@humanwhocodes/config-array": "npm:^0.13.0" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@nodelib/fs.walk": "npm:^1.2.8" + "@ungap/structured-clone": "npm:^1.2.0" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + doctrine: "npm:^3.0.0" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^7.2.2" + eslint-visitor-keys: "npm:^3.4.3" + espree: "npm:^9.6.1" + esquery: "npm:^1.4.2" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^6.0.1" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + globals: "npm:^13.19.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + js-yaml: "npm:^4.1.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + bin: + eslint: bin/eslint.js + checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 + languageName: node + linkType: hard + +"esniff@npm:^2.0.1": + version: 2.0.1 + resolution: "esniff@npm:2.0.1" + dependencies: + d: "npm:^1.0.1" + es5-ext: "npm:^0.10.62" + event-emitter: "npm:^0.3.5" + type: "npm:^2.7.2" + checksum: 10c0/7efd8d44ac20e5db8cb0ca77eb65eca60628b2d0f3a1030bcb05e71cc40e6e2935c47b87dba3c733db12925aa5b897f8e0e7a567a2c274206f184da676ea2e65 + languageName: node + linkType: hard + +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esquery@npm:^1.4.2": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^2.0.2": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 + languageName: node + linkType: hard + +"event-emitter@npm:^0.3.5": + version: 0.3.5 + resolution: "event-emitter@npm:0.3.5" + dependencies: + d: "npm:1" + es5-ext: "npm:~0.10.14" + checksum: 10c0/75082fa8ffb3929766d0f0a063bfd6046bd2a80bea2666ebaa0cfd6f4a9116be6647c15667bea77222afc12f5b4071b68d393cf39fdaa0e8e81eda006160aff0 + languageName: node + linkType: hard + +"event-pubsub@npm:4.3.0": + version: 4.3.0 + resolution: "event-pubsub@npm:4.3.0" + checksum: 10c0/47fa4fb5b55b3ed08b912862cc913e03603fa063cd3ec5cf3dfeb39a19314d3ca327e938a2cf70685254ab3a71af8178969963c705a030c6081d625bec835114 + languageName: node + linkType: hard + +"eventemitter3@npm:^4.0.0, eventemitter3@npm:^4.0.4": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b + languageName: node + linkType: hard + +"events@npm:^3.1.0, events@npm:^3.2.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": + version: 1.0.3 + resolution: "evp_bytestokey@npm:1.0.3" + dependencies: + md5.js: "npm:^1.3.4" + node-gyp: "npm:latest" + safe-buffer: "npm:^5.1.1" + checksum: 10c0/77fbe2d94a902a80e9b8f5a73dcd695d9c14899c5e82967a61b1fc6cbbb28c46552d9b127cff47c45fcf684748bdbcfa0a50410349109de87ceb4b199ef6ee99 + languageName: node + linkType: hard + +"execa@npm:5.0.0": + version: 5.0.0 + resolution: "execa@npm:5.0.0" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/e110add7ca0de63aea415385ebad7236c8de281d5d9a916dbd69f59009dac3d5d631e6252c2ea5d0258220b0d22acf25649b2caf05fa162eaa1401339fc69ba4 + languageName: node + linkType: hard + +"execa@npm:^4.1.0": + version: 4.1.0 + resolution: "execa@npm:4.1.0" + dependencies: + cross-spawn: "npm:^7.0.0" + get-stream: "npm:^5.0.0" + human-signals: "npm:^1.1.1" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.0" + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/02211601bb1c52710260edcc68fb84c3c030dc68bafc697c90ada3c52cc31375337de8c24826015b8382a58d63569ffd203b79c94fef217d65503e3e8d2c52ba + languageName: node + linkType: hard + +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + +"exif-reader@npm:^2.0.1": + version: 2.0.1 + resolution: "exif-reader@npm:2.0.1" + checksum: 10c0/5ea0d182ca41ac8867f7ece79bea0d88ce19c133e1b5fa6835925f8aae0aeeaa847afaad7914d832cab6cddc0a59d3890ee68ce1c87ea5b7d9aae4cf6ad312a7 + languageName: node + linkType: hard + +"expand-brackets@npm:^2.1.4": + version: 2.1.4 + resolution: "expand-brackets@npm:2.1.4" + dependencies: + debug: "npm:^2.3.3" + define-property: "npm:^0.2.5" + extend-shallow: "npm:^2.0.1" + posix-character-classes: "npm:^0.1.0" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.1" + checksum: 10c0/3e2fb95d2d7d7231486493fd65db913927b656b6fcdfcce41e139c0991a72204af619ad4acb1be75ed994ca49edb7995ef241dbf8cf44dc3c03d211328428a87 + languageName: node + linkType: hard + +"expand-tilde@npm:^2.0.0, expand-tilde@npm:^2.0.2": + version: 2.0.2 + resolution: "expand-tilde@npm:2.0.2" + dependencies: + homedir-polyfill: "npm:^1.0.1" + checksum: 10c0/205a60497422746d1c3acbc1d65bd609b945066f239a2b785e69a7a651ac4cbeb4e08555b1ea0023abbe855e6fcb5bbf27d0b371367fdccd303d4fb2b4d66845 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"express@npm:^4.18.2": + version: 4.21.1 + resolution: "express@npm:4.21.1" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.3" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.7.1" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.3.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.3" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.10" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.13.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.19.0" + serve-static: "npm:1.16.2" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10c0/0c287867e5f6129d3def1edd9b63103a53c40d4dc8628839d4b6827e35eb8f0de5a4656f9d85f4457eba584f9871ebb2ad26c750b36bd75d9bbb8bcebdc4892c + languageName: node + linkType: hard + +"ext@npm:^1.7.0": + version: 1.7.0 + resolution: "ext@npm:1.7.0" + dependencies: + type: "npm:^2.7.2" + checksum: 10c0/a8e5f34e12214e9eee3a4af3b5c9d05ba048f28996450975b369fc86e5d0ef13b6df0615f892f5396a9c65d616213c25ec5b0ad17ef42eac4a500512a19da6c7 + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: "npm:^0.1.0" + checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 + languageName: node + linkType: hard + +"extend-shallow@npm:^3.0.0, extend-shallow@npm:^3.0.2": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: "npm:^1.0.0" + is-extendable: "npm:^1.0.1" + checksum: 10c0/f39581b8f98e3ad94995e33214fff725b0297cf09f2725b6f624551cfb71e0764accfd0af80becc0182af5014d2a57b31b85ec999f9eb8a6c45af81752feac9a + languageName: node + linkType: hard + +"extend@npm:^3.0.0": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 + languageName: node + linkType: hard + +"external-editor@npm:^3.0.3": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: "npm:^0.7.0" + iconv-lite: "npm:^0.4.24" + tmp: "npm:^0.0.33" + checksum: 10c0/c98f1ba3efdfa3c561db4447ff366a6adb5c1e2581462522c56a18bf90dfe4da382f9cd1feee3e330108c3595a854b218272539f311ba1b3298f841eb0fbf339 + languageName: node + linkType: hard + +"extglob@npm:^2.0.4": + version: 2.0.4 + resolution: "extglob@npm:2.0.4" + dependencies: + array-unique: "npm:^0.3.2" + define-property: "npm:^1.0.0" + expand-brackets: "npm:^2.1.4" + extend-shallow: "npm:^2.0.1" + fragment-cache: "npm:^0.2.1" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.1" + checksum: 10c0/e1a891342e2010d046143016c6c03d58455c2c96c30bf5570ea07929984ee7d48fad86b363aee08f7a8a638f5c3a66906429b21ecb19bc8e90df56a001cd282c + languageName: node + linkType: hard + +"fancy-log@npm:^1.3.2": + version: 1.3.3 + resolution: "fancy-log@npm:1.3.3" + dependencies: + ansi-gray: "npm:^0.1.1" + color-support: "npm:^1.1.3" + parse-node-version: "npm:^1.0.0" + time-stamp: "npm:^1.0.0" + checksum: 10c0/2fd9070191c8671065fbe3523d283b4a4eb240e37121e99b3b3260b2ea2934961b166cf48dcadeb6cdce877039e27499f1403808b455bd29b1b66060a03eb041 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-glob@npm:3.2.7": + version: 3.2.7 + resolution: "fast-glob@npm:3.2.7" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/cc820a9acbd99c51267d525ed3c0c368b57d273f8d34e2401eef824390ff38ff419af3c0308d4ec1aef3dae0e24d1ac1dfe3156e5c702d63416a4c877ab7e0c4 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^1.0.0": + version: 1.1.4 + resolution: "fast-levenshtein@npm:1.1.4" + checksum: 10c0/667ff83888eefb3f9d1e0bc6b1a67e40212784d0f4049d8607a1cf01cc7e0b71047bad23f9e1403e1e43de8f1180e23a0352ddb6bc502a18d2065dff5ccbcdc8 + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fast-shallow-equal@npm:^1.0.0": + version: 1.0.0 + resolution: "fast-shallow-equal@npm:1.0.0" + checksum: 10c0/526c393c011ab5a0ca5a36c5ea25c9730acd027503ccbec6c7825397ab9375f51f67f14c8829b4c4b1ccccede695391dd14863a15e40a37fc4af08c1440a1b66 + languageName: node + linkType: hard + +"fast-uri@npm:^3.0.1": + version: 3.0.3 + resolution: "fast-uri@npm:3.0.3" + checksum: 10c0/4b2c5ce681a062425eae4f15cdc8fc151fd310b2f69b1f96680677820a8b49c3cd6e80661a406e19d50f0c40a3f8bffdd458791baf66f4a879d80be28e10a320 + languageName: node + linkType: hard + +"fastest-levenshtein@npm:^1.0.16": + version: 1.0.16 + resolution: "fastest-levenshtein@npm:1.0.16" + checksum: 10c0/7e3d8ae812a7f4fdf8cad18e9cde436a39addf266a5986f653ea0d81e0de0900f50c0f27c6d5aff3f686bcb48acbd45be115ae2216f36a6a13a7dbbf5cad878b + languageName: node + linkType: hard + +"fastest-stable-stringify@npm:^2.0.2": + version: 2.0.2 + resolution: "fastest-stable-stringify@npm:2.0.2" + checksum: 10c0/abbe5ff48f13f5819e7312dbb38bae5d9960694cffd315b464df9adcd02a8fa7e9eec32c314655674c7134905c544b7a0c14b05bfbe30b3f678609bebc9fecb9 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.17.1 + resolution: "fastq@npm:1.17.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + languageName: node + linkType: hard + +"fault@npm:^1.0.0": + version: 1.0.4 + resolution: "fault@npm:1.0.4" + dependencies: + format: "npm:^0.2.0" + checksum: 10c0/c86c11500c1b676787296f31ade8473adcc6784f118f07c1a9429730b6288d0412f96e069ce010aa57e4f65a9cccb5abee8868bbe3c5f10de63b20482c9baebd + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.2": + version: 2.0.2 + resolution: "fb-watchman@npm:2.0.2" + dependencies: + bser: "npm:2.1.1" + checksum: 10c0/feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 + languageName: node + linkType: hard + +"fclone@npm:^1.0.11": + version: 1.0.11 + resolution: "fclone@npm:1.0.11" + checksum: 10c0/dbe3ebd0883edeec2998874bf951aa03198d727f1091351b22af250ff53e227ee94872487ae88ba7280b2469fb164a7d4dd4e5ece10afd4988ab4712f49bc43b + languageName: node + linkType: hard + +"fd-slicer@npm:~1.1.0": + version: 1.1.0 + resolution: "fd-slicer@npm:1.1.0" + dependencies: + pend: "npm:~1.2.0" + checksum: 10c0/304dd70270298e3ffe3bcc05e6f7ade2511acc278bc52d025f8918b48b6aa3b77f10361bddfadfe2a28163f7af7adbdce96f4d22c31b2f648ba2901f0c5fc20e + languageName: node + linkType: hard + +"fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd + languageName: node + linkType: hard + +"figures@npm:3.2.0, figures@npm:^3.0.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: "npm:^3.0.4" + checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 + languageName: node + linkType: hard + +"file-url@npm:3.0.0": + version: 3.0.0 + resolution: "file-url@npm:3.0.0" + checksum: 10c0/31c5f85711bda47a471fd8d4a7217330102b74fb3b4dbd3626dd9cbe8c9afc1bf4584da2877abd84db392e3b4c2ad6d61ba4830b45a273dfbfd1172b443d8bb9 + languageName: node + linkType: hard + +"filelist@npm:^1.0.4": + version: 1.0.4 + resolution: "filelist@npm:1.0.4" + dependencies: + minimatch: "npm:^5.0.1" + checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 + languageName: node + linkType: hard + +"filesize@npm:^10.1.6": + version: 10.1.6 + resolution: "filesize@npm:10.1.6" + checksum: 10c0/9a196d64da4e947b8c0d294be09a3dfa7a634434a1fc5fb3465f1c9acc1237ea0363f245ba6e24477ea612754d942bc964d86e0e500905a72e9e0e17ae1bbdbc + languageName: node + linkType: hard + +"fill-range@npm:^4.0.0": + version: 4.0.0 + resolution: "fill-range@npm:4.0.0" + dependencies: + extend-shallow: "npm:^2.0.1" + is-number: "npm:^3.0.0" + repeat-string: "npm:^1.6.1" + to-regex-range: "npm:^2.1.0" + checksum: 10c0/ccd57b7c43d7e28a1f8a60adfa3c401629c08e2f121565eece95e2386ebc64dedc7128d8c3448342aabf19db0c55a34f425f148400c7a7be9a606ba48749e089 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"finalhandler@npm:1.1.2": + version: 1.1.2 + resolution: "finalhandler@npm:1.1.2" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + on-finished: "npm:~2.3.0" + parseurl: "npm:~1.3.3" + statuses: "npm:~1.5.0" + unpipe: "npm:~1.0.0" + checksum: 10c0/6a96e1f5caab085628c11d9fdceb82ba608d5e426c6913d4d918409baa271037a47f28fbba73279e8ad614f0b8fa71ea791d265e408d760793829edd8c2f4584 + languageName: node + linkType: hard + +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f + languageName: node + linkType: hard + +"find-cache-dir@npm:^2.0.0": + version: 2.1.0 + resolution: "find-cache-dir@npm:2.1.0" + dependencies: + commondir: "npm:^1.0.1" + make-dir: "npm:^2.0.0" + pkg-dir: "npm:^3.0.0" + checksum: 10c0/556117fd0af14eb88fb69250f4bba9e905e7c355c6136dff0e161b9cbd1f5285f761b778565a278da73a130f42eccc723d7ad4c002ae547ed1d698d39779dabb + languageName: node + linkType: hard + +"find-elm-dependencies@npm:^2.0.4": + version: 2.0.4 + resolution: "find-elm-dependencies@npm:2.0.4" + dependencies: + firstline: "npm:^1.2.0" + lodash: "npm:^4.17.19" + bin: + find-elm-dependencies: bin/cli.js + checksum: 10c0/f5fca6ab23963ea14031383b89444478075da219c27990f823c80237602c0e4e709944ed9d7cb9c28864200b3570a09e028eedc006fa6304d338188ad8e2b1fe + languageName: node + linkType: hard + +"find-up@npm:5.0.0, find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"find-up@npm:^1.0.0": + version: 1.1.2 + resolution: "find-up@npm:1.1.2" + dependencies: + path-exists: "npm:^2.0.0" + pinkie-promise: "npm:^2.0.0" + checksum: 10c0/51e35c62d9b7efe82d7d5cce966bfe10c2eaa78c769333f8114627e3a8a4a4f50747f5f50bff50b1094cbc6527776f0d3b9ff74d3561ef714a5290a17c80c2bc + languageName: node + linkType: hard + +"find-up@npm:^2.0.0": + version: 2.1.0 + resolution: "find-up@npm:2.1.0" + dependencies: + locate-path: "npm:^2.0.0" + checksum: 10c0/c080875c9fe28eb1962f35cbe83c683796a0321899f1eed31a37577800055539815de13d53495049697d3ba313013344f843bb9401dd337a1b832be5edfc6840 + languageName: node + linkType: hard + +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: "npm:^3.0.0" + checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 + languageName: node + linkType: hard + +"find-yarn-workspace-root@npm:^2.0.0": + version: 2.0.0 + resolution: "find-yarn-workspace-root@npm:2.0.0" + dependencies: + micromatch: "npm:^4.0.2" + checksum: 10c0/b0d3843013fbdaf4e57140e0165889d09fa61745c9e85da2af86e54974f4cc9f1967e40f0d8fc36a79d53091f0829c651d06607d552582e53976f3cd8f4e5689 + languageName: node + linkType: hard + +"findup-sync@npm:^2.0.0": + version: 2.0.0 + resolution: "findup-sync@npm:2.0.0" + dependencies: + detect-file: "npm:^1.0.0" + is-glob: "npm:^3.1.0" + micromatch: "npm:^3.0.4" + resolve-dir: "npm:^1.0.1" + checksum: 10c0/359e0382679718e49a022eca71d217cf0175fb2d0fba2d538f12b7add164d778b78b624375e959a3a78da1ede593e6cc288f4e7e81e0fcd0adf8746636b64608 + languageName: node + linkType: hard + +"findup-sync@npm:^3.0.0": + version: 3.0.0 + resolution: "findup-sync@npm:3.0.0" + dependencies: + detect-file: "npm:^1.0.0" + is-glob: "npm:^4.0.0" + micromatch: "npm:^3.0.4" + resolve-dir: "npm:^1.0.1" + checksum: 10c0/ff6f37328a7629775db2abf0fcd40e7c117baf37f23006f206c18bcd9ca0ce99d8c24ae86df540370ec76c1080ab59fe82cb71d2c7c1ad819ccccee726af7e92 + languageName: node + linkType: hard + +"fined@npm:^1.0.1": + version: 1.2.0 + resolution: "fined@npm:1.2.0" + dependencies: + expand-tilde: "npm:^2.0.2" + is-plain-object: "npm:^2.0.3" + object.defaults: "npm:^1.1.0" + object.pick: "npm:^1.2.0" + parse-filepath: "npm:^1.0.1" + checksum: 10c0/412f78bc35c450c9888844012f2a53c00c919453cab1d480e24243f12c2ca6479edee88014088351755bafd3eec56336938cbd7362c986491dffefd4ad9741f5 + languageName: node + linkType: hard + +"firstline@npm:^1.2.0": + version: 1.3.1 + resolution: "firstline@npm:1.3.1" + checksum: 10c0/70c283c7f7da874756b1220bb097111e2640417d7e96ab160e65d5d0a85c357e823173e1942ccd8583597d50c79295ae930a90b5cd9becd72d5286084a5afb92 + languageName: node + linkType: hard + +"flagged-respawn@npm:^1.0.0": + version: 1.0.1 + resolution: "flagged-respawn@npm:1.0.1" + checksum: 10c0/4ded739606afa331d60e530cd94ea7948e3bacab8de1c084be3bbb5e37ecceec207eef1ba8fc88d14d1b975c771ac1efc1517d800027b4e05613c6c797211178 + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.3" + rimraf: "npm:^3.0.2" + checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + languageName: node + linkType: hard + +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.3.2 + resolution: "flatted@npm:3.3.2" + checksum: 10c0/24cc735e74d593b6c767fe04f2ef369abe15b62f6906158079b9874bdb3ee5ae7110bb75042e70cd3f99d409d766f357caf78d5ecee9780206f5fdc5edbad334 + languageName: node + linkType: hard + +"flow-bin@npm:0.184.0": + version: 0.184.0 + resolution: "flow-bin@npm:0.184.0" + bin: + flow: cli.js + checksum: 10c0/f699c5046b1c09432ab46dc3ee770ea6522a66a9f0d68a437ecb34a1053f51ada4651499a3353d477af21a8cc82baa2e69dd0b4de3c9e9313ffd56133b875ac5 + languageName: node + linkType: hard + +"flush-write-stream@npm:^1.0.2": + version: 1.1.1 + resolution: "flush-write-stream@npm:1.1.1" + dependencies: + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.3.6" + checksum: 10c0/2cd4f65b728d5f388197a03dafabc6a5e4f0c2ed1a2d912e288f7aa1c2996dd90875e55b50cf32c78dca55ad2e2dfae5d3db09b223838388033d87cf5920dd87 + languageName: node + linkType: hard + +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.6": + version: 1.15.9 + resolution: "follow-redirects@npm:1.15.9" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f + languageName: node + linkType: hard + +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: "npm:^1.1.3" + checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa + languageName: node + linkType: hard + +"for-in@npm:^1.0.1, for-in@npm:^1.0.2": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 10c0/42bb609d564b1dc340e1996868b67961257fd03a48d7fdafd4f5119530b87f962be6b4d5b7e3a3fc84c9854d149494b1d358e0b0ce9837e64c4c6603a49451d6 + languageName: node + linkType: hard + +"for-own@npm:^1.0.0": + version: 1.0.0 + resolution: "for-own@npm:1.0.0" + dependencies: + for-in: "npm:^1.0.1" + checksum: 10c0/ca475bc22935edf923631e9e23588edcbed33a30f0c81adc98e2c7df35db362ec4f4b569bc69051c7cfc309dfc223818c09a2f52ccd9ed77b71931c913a43a13 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.0 + resolution: "foreground-child@npm:3.3.0" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.1 + resolution: "form-data@npm:4.0.1" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/bb102d570be8592c23f4ea72d7df9daa50c7792eb0cf1c5d7e506c1706e7426a4e4ae48a35b109e91c85f1c0ec63774a21ae252b66f4eb981cb8efef7d0463c8 + languageName: node + linkType: hard + +"format@npm:^0.2.0": + version: 0.2.2 + resolution: "format@npm:0.2.2" + checksum: 10c0/6032ba747541a43abf3e37b402b2f72ee08ebcb58bf84d816443dd228959837f1cddf1e8775b29fa27ff133f4bd146d041bfca5f9cf27f048edf3d493cf8fee6 + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 + languageName: node + linkType: hard + +"fraction.js@npm:^4.3.7": + version: 4.3.7 + resolution: "fraction.js@npm:4.3.7" + checksum: 10c0/df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 + languageName: node + linkType: hard + +"fragment-cache@npm:^0.2.1": + version: 0.2.1 + resolution: "fragment-cache@npm:0.2.1" + dependencies: + map-cache: "npm:^0.2.2" + checksum: 10c0/5891d1c1d1d5e1a7fb3ccf28515c06731476fa88f7a50f4ede8a0d8d239a338448e7f7cc8b73db48da19c229fa30066104fe6489862065a4f1ed591c42fbeabf + languageName: node + linkType: hard + +"fresh@npm:0.5.2, fresh@npm:^0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a + languageName: node + linkType: hard + +"fs-constants@npm:^1.0.0": + version: 1.0.0 + resolution: "fs-constants@npm:1.0.0" + checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 + languageName: node + linkType: hard + +"fs-extra@npm:9.1.0, fs-extra@npm:^9.0.0, fs-extra@npm:^9.1.0": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: "npm:^1.0.0" + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 + languageName: node + linkType: hard + +"fs-extra@npm:^11.1.0": + version: 11.2.0 + resolution: "fs-extra@npm:11.2.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs-mkdirp-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "fs-mkdirp-stream@npm:1.0.0" + dependencies: + graceful-fs: "npm:^4.1.11" + through2: "npm:^2.0.3" + checksum: 10c0/c1a6a8913e6cda1741e1d146d05baa21fe6a91802b836b3a0ae1b0654269b5097727d77d97cf5f242317b2c5e44831f834fd3bb36853a2083494d94523221a39 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:^1.2.7": + version: 1.2.13 + resolution: "fsevents@npm:1.2.13" + dependencies: + bindings: "npm:^1.5.0" + nan: "npm:^2.12.1" + checksum: 10c0/4427ff08db9ee7327f2c3ad58ec56f9096a917eed861bfffaa2e2be419479cdf37d00750869ab9ecbf5f59f32ad999bd59577d73fc639193e6c0ce52bb253e02 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@npm:~2.3.1, fsevents@npm:~2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A^1.2.7#optional!builtin": + version: 1.2.13 + resolution: "fsevents@patch:fsevents@npm%3A1.2.13#optional!builtin::version=1.2.13&hash=d11327" + dependencies: + bindings: "npm:^1.5.0" + nan: "npm:^2.12.1" + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.1#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"fstream@npm:^1.0.12": + version: 1.0.12 + resolution: "fstream@npm:1.0.12" + dependencies: + graceful-fs: "npm:^4.1.2" + inherits: "npm:~2.0.0" + mkdirp: "npm:>=0.5 0" + rimraf: "npm:2" + checksum: 10c0/f52a0687a0649c6b93973eb7f1d5495e445fa993f797ba1af186e666b6aebe53916a8c497dce7037c74d0d4a33c56b0ab1f98f10ad71cca84ba8661110d25ee2 + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"function.prototype.name@npm:^1.1.6": + version: 1.1.6 + resolution: "function.prototype.name@npm:1.1.6" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + functions-have-names: "npm:^1.2.3" + checksum: 10c0/9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.3": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca + languageName: node + linkType: hard + +"fuzzer@workspace:packages/dev/esm-fuzzer": + version: 0.0.0-use.local + resolution: "fuzzer@workspace:packages/dev/esm-fuzzer" + dependencies: + "@babel/core": "npm:^7.22.11" + "@babel/generator": "npm:^7.22.10" + "@babel/template": "npm:^7.22.5" + "@babel/types": "npm:^7.22.11" + "@parcel/core": "npm:2.14.4" + "@parcel/fs": "npm:2.14.4" + nanoid: "npm:^3.1.12" + nullthrows: "npm:^1.1.1" + languageName: unknown + linkType: soft + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: "npm:^1.0.3 || ^2.0.0" + color-support: "npm:^1.1.3" + console-control-strings: "npm:^1.1.0" + has-unicode: "npm:^2.0.1" + signal-exit: "npm:^3.0.7" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wide-align: "npm:^1.1.5" + checksum: 10c0/ef10d7981113d69225135f994c9f8c4369d945e64a8fc721d655a3a38421b738c9fe899951721d1b47b73c41fdb5404ac87cc8903b2ecbed95d2800363e7e58c + languageName: node + linkType: hard + +"gauge@npm:^5.0.0": + version: 5.0.2 + resolution: "gauge@npm:5.0.2" + dependencies: + aproba: "npm:^1.0.3 || ^2.0.0" + color-support: "npm:^1.1.3" + console-control-strings: "npm:^1.1.0" + has-unicode: "npm:^2.0.1" + signal-exit: "npm:^4.0.1" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wide-align: "npm:^1.1.5" + checksum: 10c0/4d8d4076c1cc9ce76b4a3e28316b2499a8ebeb5198290e4495978896714cdea8673de3db05d1fb4708dbf8934a64582d195f5726cd1a1e25a94be98573942778 + languageName: node + linkType: hard + +"generic-names@npm:^4.0.0": + version: 4.0.0 + resolution: "generic-names@npm:4.0.0" + dependencies: + loader-utils: "npm:^3.2.0" + checksum: 10c0/4e2be864535fadceed4e803fefc1df7f85447d9479d51e611a8a43a2c96533422b62c8fae84d9eb10cc21ee3de569a8c29d5ba68978ae930cccc9cb43b9a36d1 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-caller-file@npm:^1.0.1": + version: 1.0.3 + resolution: "get-caller-file@npm:1.0.3" + checksum: 10c0/763dcee2de8ff60ae7e13a4bad8306205a2fbe108e555686344ddd9ef211b8bebfe459d3a739669257014c59e7cc1e7a44003c21af805c1214673e6a45f06c51 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + languageName: node + linkType: hard + +"get-monorepo-packages@npm:^1.1.0": + version: 1.2.0 + resolution: "get-monorepo-packages@npm:1.2.0" + dependencies: + globby: "npm:^7.1.1" + load-json-file: "npm:^4.0.0" + checksum: 10c0/ee04b32862b475ea8a4cdea4587913cce1f5ac65178e9b575a7b91f746852951b84161550f120c2512f3498e8fa2a5b7ab5af7264aff8deb4dc04d2902508e69 + languageName: node + linkType: hard + +"get-own-enumerable-property-symbols@npm:^3.0.0": + version: 3.0.2 + resolution: "get-own-enumerable-property-symbols@npm:3.0.2" + checksum: 10c0/103999855f3d1718c631472437161d76962cbddcd95cc642a34c07bfb661ed41b6c09a9c669ccdff89ee965beb7126b80eec7b2101e20e31e9cc6c4725305e10 + languageName: node + linkType: hard + +"get-pkg-repo@npm:^4.0.0": + version: 4.2.1 + resolution: "get-pkg-repo@npm:4.2.1" + dependencies: + "@hutson/parse-repository-url": "npm:^3.0.0" + hosted-git-info: "npm:^4.0.0" + through2: "npm:^2.0.0" + yargs: "npm:^16.2.0" + bin: + get-pkg-repo: src/cli.js + checksum: 10c0/1338d2e048a594da4a34e7dd69d909376d72784f5ba50963a242b4b35db77533786f618b3f6a9effdee2af20af4917a3b7cf12533b4575d7f9c163886be1fb62 + languageName: node + linkType: hard + +"get-port@npm:5.1.1, get-port@npm:^5.0.0": + version: 5.1.1 + resolution: "get-port@npm:5.1.1" + checksum: 10c0/2873877a469b24e6d5e0be490724a17edb39fafc795d1d662e7bea951ca649713b4a50117a473f9d162312cb0e946597bd0e049ed2f866e79e576e8e213d3d1c + languageName: node + linkType: hard + +"get-port@npm:^4.2.0": + version: 4.2.0 + resolution: "get-port@npm:4.2.0" + checksum: 10c0/ecce4233b720e7c6612aedc334ee8bb62b7d44db7ad6a55e58f7b3a17993ecfcb1bb218b8bb1ee197d0971c12e420aad2b3f95a93e4a117f2186f926ebcd2d42 + languageName: node + linkType: hard + +"get-stream@npm:6.0.0": + version: 6.0.0 + resolution: "get-stream@npm:6.0.0" + checksum: 10c0/7cd835cb9180041e7be2cc3de236e5db9f2144515921aeb60ae78d3a46f9944439d654c2aae5b0191e41eb6e2500f0237494a2e6c0790367183f788d1c9f6dd6 + languageName: node + linkType: hard + +"get-stream@npm:^5.0.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10c0/43797ffd815fbb26685bf188c8cfebecb8af87b3925091dd7b9a9c915993293d78e3c9e1bce125928ff92f2d0796f3889b92b5ec6d58d1041b574682132e0a80 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.0.2": + version: 1.0.2 + resolution: "get-symbol-description@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc + languageName: node + linkType: hard + +"get-value@npm:^2.0.3, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 10c0/f069c132791b357c8fc4adfe9e2929b0a2c6e95f98ca7bc6fcbc27f8a302e552f86b4ae61ec56d9e9ac2544b93b6a39743d479866a37b43fcc104088ba74f0d9 + languageName: node + linkType: hard + +"git-raw-commits@npm:^2.0.8": + version: 2.0.11 + resolution: "git-raw-commits@npm:2.0.11" + dependencies: + dargs: "npm:^7.0.0" + lodash: "npm:^4.17.15" + meow: "npm:^8.0.0" + split2: "npm:^3.0.0" + through2: "npm:^4.0.0" + bin: + git-raw-commits: cli.js + checksum: 10c0/c9cee7ce11a6703098f028d7e47986d5d3e4147d66640086734d6ee2472296b8711f91b40ad458e95acac1bc33cf2898059f1dc890f91220ff89c5fcc609ab64 + languageName: node + linkType: hard + +"git-remote-origin-url@npm:^2.0.0": + version: 2.0.0 + resolution: "git-remote-origin-url@npm:2.0.0" + dependencies: + gitconfiglocal: "npm:^1.0.0" + pify: "npm:^2.3.0" + checksum: 10c0/3a846ce98ed36b2d0b801e8ec1ab299a236cfc6fa264bfdf9f42301abfdfd8715c946507fd83a10b9db449eb609ac6f8a2a341daf52e3af0000367487f486355 + languageName: node + linkType: hard + +"git-semver-tags@npm:^4.1.1": + version: 4.1.1 + resolution: "git-semver-tags@npm:4.1.1" + dependencies: + meow: "npm:^8.0.0" + semver: "npm:^6.0.0" + bin: + git-semver-tags: cli.js + checksum: 10c0/cd8c91c666901f8dd6381f4cef2aec32aa3f39e517bd8d8491f9133adf956dde9e0487d510fa0f12042fa474f21a8a88b4aa56db8b473979c7491109c57b7016 + languageName: node + linkType: hard + +"git-up@npm:^7.0.0": + version: 7.0.0 + resolution: "git-up@npm:7.0.0" + dependencies: + is-ssh: "npm:^1.4.0" + parse-url: "npm:^8.1.0" + checksum: 10c0/a3fa02e1a63c7c824b5ebbf23f4a9a6b34dd80031114c5dd8adb7ef53493642e39d3d80dfef4025a452128400c35c2c138d20a0f6ae5d7d7ef70d9ba13083d34 + languageName: node + linkType: hard + +"git-url-parse@npm:13.1.0": + version: 13.1.0 + resolution: "git-url-parse@npm:13.1.0" + dependencies: + git-up: "npm:^7.0.0" + checksum: 10c0/2ef6126c42d999e240dbcdf1e96172cf7a2044ffa1ef78a518acf823df9bbe2a1ea9e6b443d42948e3c581e4d899559afc4c1de024b3eaa8eb6a4229f73285aa + languageName: node + linkType: hard + +"gitconfiglocal@npm:^1.0.0": + version: 1.0.0 + resolution: "gitconfiglocal@npm:1.0.0" + dependencies: + ini: "npm:^1.3.2" + checksum: 10c0/cfcb16344834113199f209f2758ced778dc30e075ddb49b5dde659b4dd2deadee824db0a1b77e1303cb594d9e8b2240da18c67705f657aa76affb444aa349005 + languageName: node + linkType: hard + +"glob-parent@npm:5.1.2, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.0, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^3.1.0": + version: 3.1.0 + resolution: "glob-parent@npm:3.1.0" + dependencies: + is-glob: "npm:^3.1.0" + path-dirname: "npm:^1.0.0" + checksum: 10c0/bfa89ce5ae1dfea4c2ece7b61d2ea230d87fcbec7472915cfdb3f4caf688a91ecb0dc86ae39b1e17505adce7e64cae3b971d64dc66091f3a0131169fd631b00d + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob-stream@npm:^6.1.0": + version: 6.1.0 + resolution: "glob-stream@npm:6.1.0" + dependencies: + extend: "npm:^3.0.0" + glob: "npm:^7.1.1" + glob-parent: "npm:^3.1.0" + is-negated-glob: "npm:^1.0.0" + ordered-read-streams: "npm:^1.0.0" + pumpify: "npm:^1.3.5" + readable-stream: "npm:^2.1.5" + remove-trailing-separator: "npm:^1.0.1" + to-absolute-glob: "npm:^2.0.0" + unique-stream: "npm:^2.0.2" + checksum: 10c0/6b2653f2aafe99f17c0348de34dc0782cc20c3425ade4d4e354ef125b6e049e71cb4a209c6ea624a6a72bf99e0d7a25f1c2f04f81e42b0b8091b48d210fc48f5 + languageName: node + linkType: hard + +"glob-watcher@npm:^5.0.3": + version: 5.0.5 + resolution: "glob-watcher@npm:5.0.5" + dependencies: + anymatch: "npm:^2.0.0" + async-done: "npm:^1.2.0" + chokidar: "npm:^2.0.0" + is-negated-glob: "npm:^1.0.0" + just-debounce: "npm:^1.0.0" + normalize-path: "npm:^3.0.0" + object.defaults: "npm:^1.1.0" + checksum: 10c0/40649b8aa37ff6f09559303574eb0b5871ed16bdbaa1f335de7b0bfbaa096765c45111908ec8bcf65436870c59d1934377e720024848c532f900bc046c8d8c58 + languageName: node + linkType: hard + +"glob@npm:7.1.4": + version: 7.1.4 + resolution: "glob@npm:7.1.4" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.0.4" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/7f6fcbf600eb2298cce34c65f6d8bbe6933ddd4f88aa5b38a9c6feec82b615bb33b63b120725303e89c4b50284413c21d2ff883414717a5c7d0c9f7cd7a0e5fe + languageName: node + linkType: hard + +"glob@npm:7.1.6": + version: 7.1.6 + resolution: "glob@npm:7.1.6" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.0.4" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/2575cce9306ac534388db751f0aa3e78afedb6af8f3b529ac6b2354f66765545145dba8530abf7bff49fb399a047d3f9b6901c38ee4c9503f592960d9af67763 + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^7.0.6, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"glob@npm:^8.0.1": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^5.0.1" + once: "npm:^1.3.0" + checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f + languageName: node + linkType: hard + +"glob@npm:^9.2.0": + version: 9.3.5 + resolution: "glob@npm:9.3.5" + dependencies: + fs.realpath: "npm:^1.0.0" + minimatch: "npm:^8.0.2" + minipass: "npm:^4.2.4" + path-scurry: "npm:^1.6.1" + checksum: 10c0/2f6c2b9ee019ee21dc258ae97a88719614591e4c979cb4580b1b9df6f0f778a3cb38b4bdaf18dfa584637ea10f89a3c5f2533a5e449cf8741514ad18b0951f2e + languageName: node + linkType: hard + +"global-modules@npm:^1.0.0": + version: 1.0.0 + resolution: "global-modules@npm:1.0.0" + dependencies: + global-prefix: "npm:^1.0.1" + is-windows: "npm:^1.0.1" + resolve-dir: "npm:^1.0.0" + checksum: 10c0/7d91ecf78d4fcbc966b2d89c1400df273afea795bc8cadf39857ee1684e442065621fd79413ff5fcd9e90c6f1b2dc0123e644fa0b7811f987fd54c6b9afad858 + languageName: node + linkType: hard + +"global-prefix@npm:^1.0.1": + version: 1.0.2 + resolution: "global-prefix@npm:1.0.2" + dependencies: + expand-tilde: "npm:^2.0.2" + homedir-polyfill: "npm:^1.0.1" + ini: "npm:^1.3.4" + is-windows: "npm:^1.0.1" + which: "npm:^1.2.14" + checksum: 10c0/d8037e300f1dc04d5d410d16afa662e71bfad22dcceba6c9727bb55cc273b8988ca940b3402f62e5392fd261dd9924a9a73a865ef2000219461f31f3fc86be06 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globals@npm:^13.19.0, globals@npm:^13.2.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" + dependencies: + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 + languageName: node + linkType: hard + +"globby@npm:11.1.0, globby@npm:^11.0.1, globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"globby@npm:^7.1.1": + version: 7.1.1 + resolution: "globby@npm:7.1.1" + dependencies: + array-union: "npm:^1.0.1" + dir-glob: "npm:^2.0.0" + glob: "npm:^7.1.2" + ignore: "npm:^3.3.5" + pify: "npm:^3.0.0" + slash: "npm:^1.0.0" + checksum: 10c0/016d4dfac6069221b2db18ad6afb0011639899920dbec87492ddc048fcd433361e6c094b12451ab14cf062013a776f47ef21bb8289d5e09a2f23e81d5aec0f8e + languageName: node + linkType: hard + +"glogg@npm:^1.0.0": + version: 1.0.2 + resolution: "glogg@npm:1.0.2" + dependencies: + sparkles: "npm:^1.0.0" + checksum: 10c0/ebe04ac32f646943f1f8a260a324832489e745b66ca64381a9d19847f9e8cc74527445868e7dde696145950939ddeca76784dc6d99fa41158876ea59ae14a493 + languageName: node + linkType: hard + +"glsl-inject-defines@npm:^1.0.1": + version: 1.0.3 + resolution: "glsl-inject-defines@npm:1.0.3" + dependencies: + glsl-token-inject-block: "npm:^1.0.0" + glsl-token-string: "npm:^1.0.1" + glsl-tokenizer: "npm:^2.0.2" + checksum: 10c0/a91217705737773ec33123627c679992b085ca810c3b02943834801d8cbbaa892c4a8ae6d44047685fdd0d6c871accca2c64e68c998c10e236c27ea1d5af8fb3 + languageName: node + linkType: hard + +"glsl-resolve@npm:0.0.1": + version: 0.0.1 + resolution: "glsl-resolve@npm:0.0.1" + dependencies: + resolve: "npm:^0.6.1" + xtend: "npm:^2.1.2" + checksum: 10c0/2ae3220dc55af84bd21e4014c4cb0118381221d13419750fd0651e08c1a69d5b0c14c7b3c4362594ab8dcd3a0ae103d206c465b67304e2774ad7e5a7ef382655 + languageName: node + linkType: hard + +"glsl-token-assignments@npm:^2.0.0": + version: 2.0.2 + resolution: "glsl-token-assignments@npm:2.0.2" + checksum: 10c0/da50a255b2c8ced68154a6451e1bb4b9c898399e7751c2084a8f942fd96596701b2281976dec974187c27b5b17ec18affe5fd74ecc4a2e119b427fa07593a4e9 + languageName: node + linkType: hard + +"glsl-token-defines@npm:^1.0.0": + version: 1.0.0 + resolution: "glsl-token-defines@npm:1.0.0" + dependencies: + glsl-tokenizer: "npm:^2.0.0" + checksum: 10c0/a1282c01186ea93a6a398c0af74f8857e82ead6e2d7201353edb88a6e7fd5852a575cc49a5d0e7cf116ca346c32569bb64419a8697cf9be878f5d070ca07bd60 + languageName: node + linkType: hard + +"glsl-token-depth@npm:^1.1.0, glsl-token-depth@npm:^1.1.1": + version: 1.1.2 + resolution: "glsl-token-depth@npm:1.1.2" + checksum: 10c0/e9a476fee487080c2247bb5edde34ee15d027dfe66802ec1cb501d5a0a99964faaa06f2643e575089acd931a917735d3d10045743f0c3e5f1c482de94cb9bd6c + languageName: node + linkType: hard + +"glsl-token-descope@npm:^1.0.2": + version: 1.0.2 + resolution: "glsl-token-descope@npm:1.0.2" + dependencies: + glsl-token-assignments: "npm:^2.0.0" + glsl-token-depth: "npm:^1.1.0" + glsl-token-properties: "npm:^1.0.0" + glsl-token-scope: "npm:^1.1.0" + checksum: 10c0/7018b13194d5cec87d97c3ce0dd64c554fd9d6b547854bc1789dad407c079b5d53445649d930b18c9a1eb8704666c37821ccc796b865fc751ff66c7e5cf04413 + languageName: node + linkType: hard + +"glsl-token-inject-block@npm:^1.0.0": + version: 1.1.0 + resolution: "glsl-token-inject-block@npm:1.1.0" + checksum: 10c0/d5ed326f2b8e016997e201316bca7f02bf38cc75e5b6a965819e0819d67aadd1b5c5f236acacabb125e2c3383b5a9f096ad9aed3fb469bbc5014bc7990797641 + languageName: node + linkType: hard + +"glsl-token-properties@npm:^1.0.0": + version: 1.0.1 + resolution: "glsl-token-properties@npm:1.0.1" + checksum: 10c0/fa63c248648861bb1fde5d49cb000f930c8a3864c02cdc2f7d62ff669a4fdb1458f3ea4fceac993a94440d8a4883395698d225e8d7b18c01a42bf95c997667d4 + languageName: node + linkType: hard + +"glsl-token-scope@npm:^1.1.0, glsl-token-scope@npm:^1.1.1": + version: 1.1.2 + resolution: "glsl-token-scope@npm:1.1.2" + checksum: 10c0/5b5dd2cb78d63ec7c52d3134aabcdf3a0d0e7b1f3d42f6a45169485ff3b31ecba0ec374ceb59a6ebb16e0d5e3b24b2e247faa7bda4e7c56faea02c44110e0ef4 + languageName: node + linkType: hard + +"glsl-token-string@npm:^1.0.1": + version: 1.0.1 + resolution: "glsl-token-string@npm:1.0.1" + checksum: 10c0/01ff4fbfa02956d5b10e96f98ab1066937993b2ff9a2c24d23bf72fd417b59d9849cd856815c84d6170d3715bd064c4fbd1cff540a0e315c1fa9b20f2f3306e6 + languageName: node + linkType: hard + +"glsl-token-whitespace-trim@npm:^1.0.0": + version: 1.0.0 + resolution: "glsl-token-whitespace-trim@npm:1.0.0" + checksum: 10c0/319dd8ff0db0c0109914711845e9fd3eda403ad53c9d499ea5a83167b277390186669242b2d1ca791efa7334ffc7fac58fe2d5172859cd79e51e12df909e5416 + languageName: node + linkType: hard + +"glsl-tokenizer@npm:^2.0.0, glsl-tokenizer@npm:^2.0.2": + version: 2.1.5 + resolution: "glsl-tokenizer@npm:2.1.5" + dependencies: + through2: "npm:^0.6.3" + checksum: 10c0/5bcc4491afb0b09032702af83f0afa8acadfa0f5c94a7a0d7c3498396cc35722e1915c976c8efef80a1a9ef0976ecb8ce4e044a34b16d7d537ae4c80f346ad19 + languageName: node + linkType: hard + +"glslify-bundle@npm:^5.1.1": + version: 5.1.1 + resolution: "glslify-bundle@npm:5.1.1" + dependencies: + glsl-inject-defines: "npm:^1.0.1" + glsl-token-defines: "npm:^1.0.0" + glsl-token-depth: "npm:^1.1.1" + glsl-token-descope: "npm:^1.0.2" + glsl-token-scope: "npm:^1.1.1" + glsl-token-string: "npm:^1.0.1" + glsl-token-whitespace-trim: "npm:^1.0.0" + glsl-tokenizer: "npm:^2.0.2" + murmurhash-js: "npm:^1.0.0" + shallow-copy: "npm:0.0.1" + checksum: 10c0/a3e79b5cd1f7aec444d29b855612ed6884a23b28bdc1656e180cdbc04ab0aad5e5f77a1c776bed335d4e9a0c781fd39295f045fa6c34e358fe7ccbe3606e8d8d + languageName: node + linkType: hard + +"glslify-deps@npm:^1.3.2": + version: 1.3.2 + resolution: "glslify-deps@npm:1.3.2" + dependencies: + "@choojs/findup": "npm:^0.2.0" + events: "npm:^3.2.0" + glsl-resolve: "npm:0.0.1" + glsl-tokenizer: "npm:^2.0.0" + graceful-fs: "npm:^4.1.2" + inherits: "npm:^2.0.1" + map-limit: "npm:0.0.1" + resolve: "npm:^1.0.0" + checksum: 10c0/d89d9ca0bcccb1eb0c2f31d21a0fad9592df5faa30fa63416064cfc4776a3ea38c9e0da2425d2ac5a5a5625012baac95a0bd056e3a525bbf1d149894c140b00f + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.1.3" + checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 + languageName: node + linkType: hard + +"graceful-fs@npm:4.2.10": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 10c0/4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.0.0, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"graphql-import-macro@npm:^1.0.0": + version: 1.0.0 + resolution: "graphql-import-macro@npm:1.0.0" + dependencies: + graphql: "npm:^15.0.0" + checksum: 10c0/fdf9d8c749f7523214ba724768e7015987a56649fd054e902ee290f5dcb5ac9da036dcbd0a1df84a6eee6b3b562b8b4a35c2d3fc2c1b5c8a3bd94ce75aec5325 + languageName: node + linkType: hard + +"graphql@npm:^15.0.0": + version: 15.9.0 + resolution: "graphql@npm:15.9.0" + checksum: 10c0/0e93f7138daae07dcb0713ce5e2ae7f8039e911b6180f0170c4929664ec32ab8e690a9ea12be2dc4ab18544f9898989765122f30d2d07d38b0ce2a4c839d29bc + languageName: node + linkType: hard + +"graphviz@npm:^0.0.9": + version: 0.0.9 + resolution: "graphviz@npm:0.0.9" + dependencies: + temp: "npm:~0.4.0" + checksum: 10c0/d9e7ea3d74b00db43ae96fe465f988dccc2e62b48471bdfb134ea914f4ba552e5ec5817da350993e68b11452392d2fe9bfd79ad3d06ccaac6724301778c32870 + languageName: node + linkType: hard + +"growl@npm:1.10.5": + version: 1.10.5 + resolution: "growl@npm:1.10.5" + checksum: 10c0/a6a8f4df1269ac321f9e41c310552f3568768160942b6c9a7c116fcff1e3921f6a48fb7520689660412f7d1e5d46f76214e05406b23eee9e213830fdc2f772fe + languageName: node + linkType: hard + +"gulp-babel@npm:^8.0.0": + version: 8.0.0 + resolution: "gulp-babel@npm:8.0.0" + dependencies: + plugin-error: "npm:^1.0.1" + replace-ext: "npm:^1.0.0" + through2: "npm:^2.0.0" + vinyl-sourcemaps-apply: "npm:^0.2.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/979a2065da3d860c709c13691c6d0169e5ad407deeabdeea007afab3ddb19c5ae705922e2a0e422ffb4913a149208da6f6d23b477ca6bcbd54eb6028302fc78f + languageName: node + linkType: hard + +"gulp-cli@npm:^2.2.0": + version: 2.3.0 + resolution: "gulp-cli@npm:2.3.0" + dependencies: + ansi-colors: "npm:^1.0.1" + archy: "npm:^1.0.0" + array-sort: "npm:^1.0.0" + color-support: "npm:^1.1.3" + concat-stream: "npm:^1.6.0" + copy-props: "npm:^2.0.1" + fancy-log: "npm:^1.3.2" + gulplog: "npm:^1.0.0" + interpret: "npm:^1.4.0" + isobject: "npm:^3.0.1" + liftoff: "npm:^3.1.0" + matchdep: "npm:^2.0.0" + mute-stdout: "npm:^1.0.0" + pretty-hrtime: "npm:^1.0.0" + replace-homedir: "npm:^1.0.0" + semver-greatest-satisfied-range: "npm:^1.1.0" + v8flags: "npm:^3.2.0" + yargs: "npm:^7.1.0" + bin: + gulp: bin/gulp.js + checksum: 10c0/77adb21dd60ac8ef53624413613c92a010e132bdee8f45f356e0174db72b5a164256de3da5f17f138f57fedc50482b4e433a6839e2af5e79e2f72be11eda3d14 + languageName: node + linkType: hard + +"gulp@npm:^4.0.2": + version: 4.0.2 + resolution: "gulp@npm:4.0.2" + dependencies: + glob-watcher: "npm:^5.0.3" + gulp-cli: "npm:^2.2.0" + undertaker: "npm:^1.2.1" + vinyl-fs: "npm:^3.0.0" + bin: + gulp: ./bin/gulp.js + checksum: 10c0/5433fa64680b68b1e747868cc68563c3ab4a3b3a60e63fc930de3e8fc71ac1c3ce7ea9657a3e306103fe39961ea156fdb9a1af37764aa8f450ac5c8fed2fa98d + languageName: node + linkType: hard + +"gulplog@npm:^1.0.0": + version: 1.0.0 + resolution: "gulplog@npm:1.0.0" + dependencies: + glogg: "npm:^1.0.0" + checksum: 10c0/a693c2f54a96af82ee6d467b18a11ba041dc7c422486e6dfa0a88f470a76bad944dda597c625cc7cfff5e39b7701f2ade7aebb08eb8163da66354c2f88fa67c1 + languageName: node + linkType: hard + +"handlebars@npm:^4.7.7": + version: 4.7.8 + resolution: "handlebars@npm:4.7.8" + dependencies: + minimist: "npm:^1.2.5" + neo-async: "npm:^2.6.2" + source-map: "npm:^0.6.1" + uglify-js: "npm:^3.1.4" + wordwrap: "npm:^1.0.0" + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 10c0/7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d + languageName: node + linkType: hard + +"hard-rejection@npm:^2.1.0": + version: 2.1.0 + resolution: "hard-rejection@npm:2.1.0" + checksum: 10c0/febc3343a1ad575aedcc112580835b44a89a89e01f400b4eda6e8110869edfdab0b00cd1bd4c3bfec9475a57e79e0b355aecd5be46454b6a62b9a359af60e564 + languageName: node + linkType: hard + +"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"has-unicode@npm:2.0.1, has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 10c0/ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c + languageName: node + linkType: hard + +"has-value@npm:^0.3.1": + version: 0.3.1 + resolution: "has-value@npm:0.3.1" + dependencies: + get-value: "npm:^2.0.3" + has-values: "npm:^0.1.4" + isobject: "npm:^2.0.0" + checksum: 10c0/7a7c2e9d07bc9742c81806150adb154d149bc6155267248c459cd1ce2a64b0759980d26213260e4b7599c8a3754551179f155ded88d0533a0d2bc7bc29028432 + languageName: node + linkType: hard + +"has-value@npm:^1.0.0": + version: 1.0.0 + resolution: "has-value@npm:1.0.0" + dependencies: + get-value: "npm:^2.0.6" + has-values: "npm:^1.0.0" + isobject: "npm:^3.0.0" + checksum: 10c0/17cdccaf50f8aac80a109dba2e2ee5e800aec9a9d382ef9deab66c56b34269e4c9ac720276d5ffa722764304a1180ae436df077da0dd05548cfae0209708ba4d + languageName: node + linkType: hard + +"has-values@npm:^0.1.4": + version: 0.1.4 + resolution: "has-values@npm:0.1.4" + checksum: 10c0/a8f00ad862c20289798c35243d5bd0b0a97dd44b668c2204afe082e0265f2d0bf3b89fc8cc0ef01a52b49f10aa35cf85c336ee3a5f1cac96ed490f5e901cdbf2 + languageName: node + linkType: hard + +"has-values@npm:^1.0.0": + version: 1.0.0 + resolution: "has-values@npm:1.0.0" + dependencies: + is-number: "npm:^3.0.0" + kind-of: "npm:^4.0.0" + checksum: 10c0/a6f2a1cc6b2e43eacc68e62e71ad6890def7f4b13d2ef06b4ad3ee156c23e470e6df144b9b467701908e17633411f1075fdff0cab45fb66c5e0584d89b25f35e + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0": + version: 3.1.0 + resolution: "hash-base@npm:3.1.0" + dependencies: + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.6.0" + safe-buffer: "npm:^5.2.0" + checksum: 10c0/663eabcf4173326fbb65a1918a509045590a26cc7e0964b754eef248d281305c6ec9f6b31cb508d02ffca383ab50028180ce5aefe013e942b44a903ac8dc80d0 + languageName: node + linkType: hard + +"hash-base@npm:~3.0, hash-base@npm:~3.0.4": + version: 3.0.5 + resolution: "hash-base@npm:3.0.5" + dependencies: + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/6dc185b79bad9b6d525cd132a588e4215380fdc36fec6f7a8a58c5db8e3b642557d02ad9c367f5e476c7c3ad3ccffa3607f308b124e1ed80e3b80a1b254db61e + languageName: node + linkType: hard + +"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: "npm:^2.0.3" + minimalistic-assert: "npm:^1.0.1" + checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 + languageName: node + linkType: hard + +"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"he@npm:1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"highlight.js@npm:~10.4.0": + version: 10.4.1 + resolution: "highlight.js@npm:10.4.1" + checksum: 10c0/973312fb25232a03f3b73aa7b4508cba57978db64cfc9c6dbba58fdff1ea4aba1cf800786f6aed4b72f196c6cf7560b3c7395b4e4b35ad10b6eb9a7bf26430e2 + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: "npm:^1.0.3" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d + languageName: node + linkType: hard + +"homedir-polyfill@npm:^1.0.1": + version: 1.0.3 + resolution: "homedir-polyfill@npm:1.0.3" + dependencies: + parse-passwd: "npm:^1.0.0" + checksum: 10c0/3c099844f94b8b438f124bd5698bdcfef32b2d455115fb8050d7148e7f7b95fc89ba9922586c491f0e1cdebf437b1053c84ecddb8d596e109e9ac69c5b4a9e27 + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.8.9 + resolution: "hosted-git-info@npm:2.8.9" + checksum: 10c0/317cbc6b1bbbe23c2a40ae23f3dafe9fa349ce42a89a36f930e3f9c0530c179a3882d2ef1e4141a4c3674d6faaea862138ec55b43ad6f75e387fda2483a13c70 + languageName: node + linkType: hard + +"hosted-git-info@npm:^3.0.6": + version: 3.0.8 + resolution: "hosted-git-info@npm:3.0.8" + dependencies: + lru-cache: "npm:^6.0.0" + checksum: 10c0/af1392086ab3ab5576aa81af07be2f93ee1588407af18fd9752eb67502558e6ea0ffdd4be35ac6c8bef12fb9017f6e7705757e21b10b5ce7798da9106c9c0d9d + languageName: node + linkType: hard + +"hosted-git-info@npm:^4.0.0, hosted-git-info@npm:^4.0.1": + version: 4.1.0 + resolution: "hosted-git-info@npm:4.1.0" + dependencies: + lru-cache: "npm:^6.0.0" + checksum: 10c0/150fbcb001600336d17fdbae803264abed013548eea7946c2264c49ebe2ebd8c4441ba71dd23dd8e18c65de79d637f98b22d4760ba5fb2e0b15d62543d0fff07 + languageName: node + linkType: hard + +"hosted-git-info@npm:^5.0.0": + version: 5.2.1 + resolution: "hosted-git-info@npm:5.2.1" + dependencies: + lru-cache: "npm:^7.5.1" + checksum: 10c0/c6682c2e91d774d79893e2c862d7173450455747fd57f0659337c78d37ddb56c23cb7541b296cbef4a3b47c3be307d8d57f24a6e9aa149cad243c7f126cd42ff + languageName: node + linkType: hard + +"hosted-git-info@npm:^6.0.0, hosted-git-info@npm:^6.1.1": + version: 6.1.3 + resolution: "hosted-git-info@npm:6.1.3" + dependencies: + lru-cache: "npm:^7.5.1" + checksum: 10c0/a1fc10faf67d04d575ebabf89cd5c9e3ebca041d99f42f31143bc8027684da4612c2f6deaf7cf2c09ac3b04dd502ad3957caa49d913628f0558964b2e1e7b414 + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" + dependencies: + whatwg-encoding: "npm:^3.1.1" + checksum: 10c0/523398055dc61ac9b34718a719cb4aa691e4166f29187e211e1607de63dc25ac7af52ca7c9aead0c4b3c0415ffecb17326396e1202e2e86ff4bca4c0ee4c6140 + languageName: node + linkType: hard + +"htmlnano@npm:^2.0.0": + version: 2.1.1 + resolution: "htmlnano@npm:2.1.1" + dependencies: + cosmiconfig: "npm:^9.0.0" + posthtml: "npm:^0.16.5" + timsort: "npm:^0.3.0" + peerDependencies: + cssnano: ^7.0.0 + postcss: ^8.3.11 + purgecss: ^6.0.0 + relateurl: ^0.2.7 + srcset: 5.0.1 + svgo: ^3.0.2 + terser: ^5.10.0 + uncss: ^0.17.3 + peerDependenciesMeta: + cssnano: + optional: true + postcss: + optional: true + purgecss: + optional: true + relateurl: + optional: true + srcset: + optional: true + svgo: + optional: true + terser: + optional: true + uncss: + optional: true + checksum: 10c0/3610259a3ccfb84be45525b1a02bce8bc392a2d0dcea0b069ff673e7330dad1f2bc4c3eb48abc69b344fe327345fb9be0650d9da13c25a1a654a879288f76f38 + languageName: node + linkType: hard + +"htmlparser2@npm:^7.1.1": + version: 7.2.0 + resolution: "htmlparser2@npm:7.2.0" + dependencies: + domelementtype: "npm:^2.0.1" + domhandler: "npm:^4.2.2" + domutils: "npm:^2.8.0" + entities: "npm:^3.0.1" + checksum: 10c0/7e1fa7f3b2635f2a1c5272765e25aab33b241d84a43e9d27f28a0b7166b51a8025dec40a6a29af38d6a698a2f1d2983cb43e5c61d4e07ec5aa9df672a7460e16 + languageName: node + linkType: hard + +"htmlparser2@npm:^9.0.0, htmlparser2@npm:^9.1.0": + version: 9.1.0 + resolution: "htmlparser2@npm:9.1.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.1.0" + entities: "npm:^4.5.0" + checksum: 10c0/394f6323efc265bbc791d8c0d96bfe95984e0407565248521ab92e2dc7668e5ceeca7bc6ed18d408b9ee3b25032c5743368a4280d280332d782821d5d467ad8f + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^4.0.1": + version: 4.0.1 + resolution: "http-proxy-agent@npm:4.0.1" + dependencies: + "@tootallnate/once": "npm:1" + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/4fa4774d65b5331814b74ac05cefea56854fc0d5989c80b13432c1b0d42a14c9f4342ca3ad9f0359a52e78da12b1744c9f8a28e50042136ea9171675d972a5fd + languageName: node + linkType: hard + +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": "npm:2" + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/32a05e413430b2c1e542e5c74b38a9f14865301dd69dff2e53ddb684989440e3d2ce0c4b64d25eb63cf6283e6265ff979a61cf93e3ca3d23047ddfdc8df34a32 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"http-proxy-middleware@npm:^2.0.1": + version: 2.0.7 + resolution: "http-proxy-middleware@npm:2.0.7" + dependencies: + "@types/http-proxy": "npm:^1.17.8" + http-proxy: "npm:^1.18.1" + is-glob: "npm:^4.0.1" + is-plain-obj: "npm:^3.0.0" + micromatch: "npm:^4.0.2" + peerDependencies: + "@types/express": ^4.17.13 + peerDependenciesMeta: + "@types/express": + optional: true + checksum: 10c0/8d00a61eb215b83826460b07489d8bb095368ec16e02a9d63e228dcf7524e7c20d61561e5476de1391aecd4ec32ea093279cdc972115b311f8e0a95a24c9e47e + languageName: node + linkType: hard + +"http-proxy@npm:^1.18.1": + version: 1.18.1 + resolution: "http-proxy@npm:1.18.1" + dependencies: + eventemitter3: "npm:^4.0.0" + follow-redirects: "npm:^1.0.0" + requires-port: "npm:^1.0.0" + checksum: 10c0/148dfa700a03fb421e383aaaf88ac1d94521dfc34072f6c59770528c65250983c2e4ec996f2f03aa9f3fe46cd1270a593126068319311e3e8d9e610a37533e94 + languageName: node + linkType: hard + +"https-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "https-browserify@npm:1.0.0" + checksum: 10c0/e17b6943bc24ea9b9a7da5714645d808670af75a425f29baffc3284962626efdc1eb3aa9bbffaa6e64028a6ad98af5b09fabcb454a8f918fb686abfdc9e9b8ae + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.5": + version: 7.0.5 + resolution: "https-proxy-agent@npm:7.0.5" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c + languageName: node + linkType: hard + +"human-signals@npm:^1.1.1": + version: 1.1.1 + resolution: "human-signals@npm:1.1.1" + checksum: 10c0/18810ed239a7a5e23fb6c32d0fd4be75d7cd337a07ad59b8dbf0794cb0761e6e628349ee04c409e605fe55344716eab5d0a47a62ba2a2d0d367c89a2b4247b1e + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: "npm:^2.0.0" + checksum: 10c0/f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a + languageName: node + linkType: hard + +"husky@npm:^6.0.0": + version: 6.0.0 + resolution: "husky@npm:6.0.0" + bin: + husky: lib/bin.js + checksum: 10c0/00dca95e24f6174f150ba1ee746948a89a3ff20b460ecad7bc2e4c2a76fe5b78bef1400c84bc2bade6588392c37baf57c173f49dc123fdbc7c7a71e4d412fb67 + languageName: node + linkType: hard + +"hyphenate-style-name@npm:^1.0.3": + version: 1.1.0 + resolution: "hyphenate-style-name@npm:1.1.0" + checksum: 10c0/bfe88deac2414a41a0d08811e277c8c098f23993d6a1eb17f14a0f11b54c4d42865a63d3cfe1914668eefb9a188e2de58f38b55a179a238fd1fef606893e194f + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": + version: 5.1.0 + resolution: "icss-utils@npm:5.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/39c92936fabd23169c8611d2b5cc39e39d10b19b0d223352f20a7579f75b39d5f786114a6b8fc62bee8c5fed59ba9e0d38f7219a4db383e324fb3061664b043d + languageName: node + linkType: hard + +"idb@npm:^5.0.8": + version: 5.0.8 + resolution: "idb@npm:5.0.8" + checksum: 10c0/3fe5a1f22e4fc4f3538c855776d77df6f76e287a46c3d9fe9924d518864005409305168631110fd9959099f7847deac6a9240fc1cafa7a3249192f903daa840c + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"ignore-walk@npm:^5.0.1": + version: 5.0.1 + resolution: "ignore-walk@npm:5.0.1" + dependencies: + minimatch: "npm:^5.0.1" + checksum: 10c0/0d157a54d6d11af0c3059fdc7679eef3b074e9a663d110a76c72788e2fb5b22087e08b21ab767718187ac3396aca4d0aa6c6473f925b19a74d9a00480ca7a76e + languageName: node + linkType: hard + +"ignore-walk@npm:^6.0.0": + version: 6.0.5 + resolution: "ignore-walk@npm:6.0.5" + dependencies: + minimatch: "npm:^9.0.0" + checksum: 10c0/8bd6d37c82400016c7b6538b03422dde8c9d7d3e99051c8357dd205d499d42828522fb4fbce219c9c21b4b069079445bacdc42bbd3e2e073b52856c2646d8a39 + languageName: node + linkType: hard + +"ignore@npm:^3.3.5": + version: 3.3.10 + resolution: "ignore@npm:3.3.10" + checksum: 10c0/973e0ef3b3eaab8fc19014d80014ed11bcf3585de8088d9c7a5b5c4edefc55f4ecdc498144bdd0440b8e2ff22deb03f89c90300bfef2d1750d5920f997d0a600 + languageName: node + linkType: hard + +"ignore@npm:^5.0.4, ignore@npm:^5.2.0": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"image-size@npm:~0.5.0": + version: 0.5.5 + resolution: "image-size@npm:0.5.5" + bin: + image-size: bin/image-size.js + checksum: 10c0/655204163af06732f483a9fe7cce9dff4a29b7b2e88f5c957a5852e8143fa750f5e54b1955a2ca83de99c5220dbd680002d0d4e09140b01433520f4d5a0b1f4c + languageName: node + linkType: hard + +"immediate@npm:~3.0.5": + version: 3.0.6 + resolution: "immediate@npm:3.0.6" + checksum: 10c0/f8ba7ede69bee9260241ad078d2d535848745ff5f6995c7c7cb41cfdc9ccc213f66e10fa5afb881f90298b24a3f7344b637b592beb4f54e582770cdce3f1f039 + languageName: node + linkType: hard + +"immutable@npm:^5.0.2": + version: 5.0.3 + resolution: "immutable@npm:5.0.3" + checksum: 10c0/3269827789e1026cd25c2ea97f0b2c19be852ffd49eda1b674b20178f73d84fa8d945ad6f5ac5bc4545c2b4170af9f6e1f77129bc1cae7974a4bf9b04a9cdfb9 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.2.0 + resolution: "import-local@npm:3.2.0" + dependencies: + pkg-dir: "npm:^4.2.0" + resolve-cwd: "npm:^3.0.0" + bin: + import-local-fixture: fixtures/cli.js + checksum: 10c0/94cd6367a672b7e0cb026970c85b76902d2710a64896fa6de93bd5c571dd03b228c5759308959de205083e3b1c61e799f019c9e36ee8e9c523b993e1057f0433 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 10c0/a7b241e3149c26e37474e3435779487f42f36883711f198c45794703c7556bc38af224088bd4d1a221a45b8208ae2c2bcf86200383621434d0c099304481c5b9 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.0, inherits@npm:~2.0.1, inherits@npm:~2.0.3, inherits@npm:~2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ini@npm:^1.3.2, ini@npm:^1.3.4": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"init-package-json@npm:3.0.2, init-package-json@npm:^3.0.2": + version: 3.0.2 + resolution: "init-package-json@npm:3.0.2" + dependencies: + npm-package-arg: "npm:^9.0.1" + promzard: "npm:^0.3.0" + read: "npm:^1.0.7" + read-package-json: "npm:^5.0.0" + semver: "npm:^7.3.5" + validate-npm-package-license: "npm:^3.0.4" + validate-npm-package-name: "npm:^4.0.0" + checksum: 10c0/6efb57881d31af86006795df1def73fa997729ad57ff2e74346128653a1f21e417d194353b7733fd2edef8a79389ee9c1f56c65ce7b0809c3041229599366e6e + languageName: node + linkType: hard + +"inline-style-prefixer@npm:^7.0.1": + version: 7.0.1 + resolution: "inline-style-prefixer@npm:7.0.1" + dependencies: + css-in-js-utils: "npm:^3.1.0" + checksum: 10c0/15da5a396b7f286b5b6742efe315218cd577bc96b43de08aeb76af7697d9f1ab3bfc66cf19fad2173957dd5d617a790240b9d51898bdcf4c2efb40d3f8bcb370 + languageName: node + linkType: hard + +"inquirer@npm:8.2.4": + version: 8.2.4 + resolution: "inquirer@npm:8.2.4" + dependencies: + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.1.1" + cli-cursor: "npm:^3.1.0" + cli-width: "npm:^3.0.0" + external-editor: "npm:^3.0.3" + figures: "npm:^3.0.0" + lodash: "npm:^4.17.21" + mute-stream: "npm:0.0.8" + ora: "npm:^5.4.1" + run-async: "npm:^2.4.0" + rxjs: "npm:^7.5.5" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + through: "npm:^2.3.6" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/e8c6185548a2da6a04b6d2096d9173451ae8aa01432bfd8a5ffcd29fb871ed7764419a4fd693fbfb99621891b54c131f5473f21660d4808d25c6818618f2de73 + languageName: node + linkType: hard + +"inquirer@npm:^8.2.4": + version: 8.2.6 + resolution: "inquirer@npm:8.2.6" + dependencies: + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.1.1" + cli-cursor: "npm:^3.1.0" + cli-width: "npm:^3.0.0" + external-editor: "npm:^3.0.3" + figures: "npm:^3.0.0" + lodash: "npm:^4.17.21" + mute-stream: "npm:0.0.8" + ora: "npm:^5.4.1" + run-async: "npm:^2.4.0" + rxjs: "npm:^7.5.5" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + through: "npm:^2.3.6" + wrap-ansi: "npm:^6.0.1" + checksum: 10c0/eb5724de1778265323f3a68c80acfa899378cb43c24cdcb58661386500e5696b6b0b6c700e046b7aa767fe7b4823c6f04e6ddc268173e3f84116112529016296 + languageName: node + linkType: hard + +"internal-slot@npm:^1.0.7": + version: 1.0.7 + resolution: "internal-slot@npm:1.0.7" + dependencies: + es-errors: "npm:^1.3.0" + hasown: "npm:^2.0.0" + side-channel: "npm:^1.0.4" + checksum: 10c0/f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c + languageName: node + linkType: hard + +"internalize-example@workspace:packages/examples/internalize-example": + version: 0.0.0-use.local + resolution: "internalize-example@workspace:packages/examples/internalize-example" + languageName: unknown + linkType: soft + +"interpret@npm:^1.4.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 + languageName: node + linkType: hard + +"invert-kv@npm:^1.0.0": + version: 1.0.0 + resolution: "invert-kv@npm:1.0.0" + checksum: 10c0/9ccef12ada8494c56175cc0380b4cea18b6c0a368436f324a30e43a332db90bdfb83cd3a7987b71df359cdf931ce45b7daf35b677da56658565d61068e4bc20b + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a + languageName: node + linkType: hard + +"is-absolute@npm:^1.0.0": + version: 1.0.0 + resolution: "is-absolute@npm:1.0.0" + dependencies: + is-relative: "npm:^1.0.0" + is-windows: "npm:^1.0.1" + checksum: 10c0/422302ce879d4f3ca6848499b6f3ddcc8fd2dc9f3e9cad3f6bcedff58cdfbbbd7f4c28600fffa7c59a858f1b15c27fb6cfe1d5275e58a36d2bf098a44ef5abc4 + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.1": + version: 1.0.1 + resolution: "is-accessor-descriptor@npm:1.0.1" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/d034034074c5ffeb6c868e091083182279db1a956f49f8d1494cecaa0f8b99d706556ded2a9b20d9aa290549106eef8204d67d8572902e06dcb1add6db6b524d + languageName: node + linkType: hard + +"is-arguments@npm:^1.0.4": + version: 1.1.1 + resolution: "is-arguments@npm:1.1.1" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/5ff1f341ee4475350adfc14b2328b38962564b7c2076be2f5bac7bd9b61779efba99b9f844a7b82ba7654adccf8e8eb19d1bb0cc6d1c1a085e498f6793d4328f + languageName: node + linkType: hard + +"is-array-buffer@npm:^3.0.4": + version: 3.0.4 + resolution: "is-array-buffer@npm:3.0.4" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.1" + checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.3.1": + version: 0.3.2 + resolution: "is-arrayish@npm:0.3.2" + checksum: 10c0/f59b43dc1d129edb6f0e282595e56477f98c40278a2acdc8b0a5c57097c9eff8fe55470493df5775478cf32a4dc8eaf6d3a749f07ceee5bc263a78b2434f6a54 + languageName: node + linkType: hard + +"is-async-function@npm:^2.0.0": + version: 2.0.0 + resolution: "is-async-function@npm:2.0.0" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/787bc931576aad525d751fc5ce211960fe91e49ac84a5c22d6ae0bc9541945fbc3f686dc590c3175722ce4f6d7b798a93f6f8ff4847fdb2199aea6f4baf5d668 + languageName: node + linkType: hard + +"is-bigint@npm:^1.0.1": + version: 1.0.4 + resolution: "is-bigint@npm:1.0.4" + dependencies: + has-bigints: "npm:^1.0.1" + checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 + languageName: node + linkType: hard + +"is-binary-path@npm:^1.0.0": + version: 1.0.1 + resolution: "is-binary-path@npm:1.0.1" + dependencies: + binary-extensions: "npm:^1.0.0" + checksum: 10c0/16e456fa3782eaf3d8e28d382b750507e3d54ff6694df8a1b2c6498da321e2ead311de9c42e653d8fb3213de72bac204b5f97e4a110cda8a72f17b1c1b4eb643 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.1.0": + version: 1.1.2 + resolution: "is-boolean-object@npm:1.1.2" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 + languageName: node + linkType: hard + +"is-buffer@npm:^1.1.5, is-buffer@npm:~1.1.6": + version: 1.1.6 + resolution: "is-buffer@npm:1.1.6" + checksum: 10c0/ae18aa0b6e113d6c490ad1db5e8df9bdb57758382b313f5a22c9c61084875c6396d50bbf49315f5b1926d142d74dfb8d31b40d993a383e0a158b15fea7a82234 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f + languageName: node + linkType: hard + +"is-ci@npm:2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" + dependencies: + ci-info: "npm:^2.0.0" + bin: + is-ci: bin.js + checksum: 10c0/17de4e2cd8f993c56c86472dd53dd9e2c7f126d0ee55afe610557046cdd64de0e8feadbad476edc9eeff63b060523b8673d9094ed2ab294b59efb5a66dd05a9a + languageName: node + linkType: hard + +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1": + version: 2.15.1 + resolution: "is-core-module@npm:2.15.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.1": + version: 1.0.1 + resolution: "is-data-descriptor@npm:1.0.1" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/ad3acc372e3227f87eb8cdba112c343ca2a67f1885aecf64f02f901cb0858a1fc9488ad42135ab102e9d9e71a62b3594740790bb103a9ba5da830a131a89e3e8 + languageName: node + linkType: hard + +"is-data-view@npm:^1.0.1": + version: 1.0.1 + resolution: "is-data-view@npm:1.0.1" + dependencies: + is-typed-array: "npm:^1.1.13" + checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": + version: 1.0.5 + resolution: "is-date-object@npm:1.0.5" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e + languageName: node + linkType: hard + +"is-descriptor@npm:^0.1.0": + version: 0.1.7 + resolution: "is-descriptor@npm:0.1.7" + dependencies: + is-accessor-descriptor: "npm:^1.0.1" + is-data-descriptor: "npm:^1.0.1" + checksum: 10c0/f5960b9783f508aec570465288cb673d4b3cc4aae4e6de970c3afd9a8fc1351edcb85d78b2cce2ec5251893a423f73263cab3bb94cf365a8d71b5d510a116392 + languageName: node + linkType: hard + +"is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": + version: 1.0.3 + resolution: "is-descriptor@npm:1.0.3" + dependencies: + is-accessor-descriptor: "npm:^1.0.1" + is-data-descriptor: "npm:^1.0.1" + checksum: 10c0/b4ee667ea787d3a0be4e58536087fd0587de2b0b6672fbfe288f5b8d831ac4b79fd987f31d6c2d4e5543a42c97a87428bc5215ce292a1a47070147793878226f + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-expression@npm:^4.0.0": + version: 4.0.0 + resolution: "is-expression@npm:4.0.0" + dependencies: + acorn: "npm:^7.1.1" + object-assign: "npm:^4.1.1" + checksum: 10c0/541831d39d3e7bfc8cecd966d6b0f3c0e6d9055342f17b634fb23e74f51ce90f1bfc3cf231c722fe003a61e8d4f0b9e07244fdaba57f4fc70a163c74006fd5a0 + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 + languageName: node + linkType: hard + +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: "npm:^2.0.4" + checksum: 10c0/1d6678a5be1563db6ecb121331c819c38059703f0179f52aa80c242c223ee9c6b66470286636c0e63d7163e4d905c0a7d82a096e0b5eaeabb51b9f8d0af0d73f + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.0, is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.0 + resolution: "is-finalizationregistry@npm:1.1.0" + dependencies: + call-bind: "npm:^1.0.7" + checksum: 10c0/1cd94236bfb6e060fe2b973c8726a2782727f7d495b3e8e1d51d3e619c5a3345413706f555956eb5b12af15eba0414118f64a1b19d793ec36b5e6767a13836ac + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fullwidth-code-point@npm:1.0.0" + dependencies: + number-is-nan: "npm:^1.0.0" + checksum: 10c0/12acfcf16142f2d431bf6af25d68569d3198e81b9799b4ae41058247aafcc666b0127d64384ea28e67a746372611fcbe9b802f69175287aba466da3eddd5ba0f + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b + languageName: node + linkType: hard + +"is-glob@npm:^3.1.0": + version: 3.1.0 + resolution: "is-glob@npm:3.1.0" + dependencies: + is-extglob: "npm:^2.1.0" + checksum: 10c0/ba816a35dcf5285de924a8a4654df7b183a86381d73ea3bbf3df3cc61b3ba61fdddf90ee205709a2235b210ee600ee86e5e8600093cf291a662607fd032e2ff4 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-interactive@npm:^1.0.0": + version: 1.0.0 + resolution: "is-interactive@npm:1.0.0" + checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d + languageName: node + linkType: hard + +"is-json@npm:^2.0.1": + version: 2.0.1 + resolution: "is-json@npm:2.0.1" + checksum: 10c0/49233aa560396e6365186be2f3a4618bf8b8067c1a97f2a25b8de09a9d7f326985f0163508067abeae5a21c69594a2a537f0147a5c4050ef097c15964e994cb4 + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-map@npm:^2.0.3": + version: 2.0.3 + resolution: "is-map@npm:2.0.3" + checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc + languageName: node + linkType: hard + +"is-nan@npm:^1.3.2": + version: 1.3.2 + resolution: "is-nan@npm:1.3.2" + dependencies: + call-bind: "npm:^1.0.0" + define-properties: "npm:^1.1.3" + checksum: 10c0/8bfb286f85763f9c2e28ea32e9127702fe980ffd15fa5d63ade3be7786559e6e21355d3625dd364c769c033c5aedf0a2ed3d4025d336abf1b9241e3d9eddc5b0 + languageName: node + linkType: hard + +"is-negated-glob@npm:^1.0.0": + version: 1.0.0 + resolution: "is-negated-glob@npm:1.0.0" + checksum: 10c0/f9d4fb2effd7a6d0e4770463e4cf708fbff2d5b660ab2043e5703e21e3234dfbe9974fdd8c08eb80f9898d5dd3d21b020e8d07fce387cd394a79991f01cd8d1c + languageName: node + linkType: hard + +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e + languageName: node + linkType: hard + +"is-number-object@npm:^1.0.4": + version: 1.0.7 + resolution: "is-number-object@npm:1.0.7" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b + languageName: node + linkType: hard + +"is-number@npm:^3.0.0": + version: 3.0.0 + resolution: "is-number@npm:3.0.0" + dependencies: + kind-of: "npm:^3.0.2" + checksum: 10c0/e639c54640b7f029623df24d3d103901e322c0c25ea5bde97cd723c2d0d4c05857a8364ab5c58d963089dbed6bf1d0ffe975cb6aef917e2ad0ccbca653d31b4f + languageName: node + linkType: hard + +"is-number@npm:^4.0.0": + version: 4.0.0 + resolution: "is-number@npm:4.0.0" + checksum: 10c0/bb17a331f357eb59a7f8db848086c41886715b2ea1db03f284a99d14001cda094083a5b6a7b343b5bcf410ccef668a70bc626d07bc2032cc4ab46dd264cea244 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-obj@npm:^1.0.1": + version: 1.0.1 + resolution: "is-obj@npm:1.0.1" + checksum: 10c0/5003acba0af7aa47dfe0760e545a89bbac89af37c12092c3efadc755372cdaec034f130e7a3653a59eb3c1843cfc72ca71eaf1a6c3bafe5a0bab3611a47f9945 + languageName: node + linkType: hard + +"is-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "is-obj@npm:2.0.0" + checksum: 10c0/85044ed7ba8bd169e2c2af3a178cacb92a97aa75de9569d02efef7f443a824b5e153eba72b9ae3aca6f8ce81955271aa2dc7da67a8b720575d3e38104208cb4e + languageName: node + linkType: hard + +"is-path-cwd@npm:^2.2.0": + version: 2.2.0 + resolution: "is-path-cwd@npm:2.2.0" + checksum: 10c0/afce71533a427a759cd0329301c18950333d7589533c2c90205bd3fdcf7b91eb92d1940493190567a433134d2128ec9325de2fd281e05be1920fbee9edd22e0a + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: 10c0/daaee1805add26f781b413fdf192fc91d52409583be30ace35c82607d440da63cc4cac0ac55136716688d6c0a2c6ef3edb2254fecbd1fe06056d6bd15975ee8c + languageName: node + linkType: hard + +"is-plain-obj@npm:^2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 + languageName: node + linkType: hard + +"is-plain-obj@npm:^3.0.0": + version: 3.0.0 + resolution: "is-plain-obj@npm:3.0.0" + checksum: 10c0/8e6483bfb051d42ec9c704c0ede051a821c6b6f9a6c7a3e3b55aa855e00981b0580c8f3b1f5e2e62649b39179b1abfee35d6f8086d999bfaa32c1908d29b07bc + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.1, is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: "npm:^3.0.1" + checksum: 10c0/f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 + languageName: node + linkType: hard + +"is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c + languageName: node + linkType: hard + +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: 10c0/b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 + languageName: node + linkType: hard + +"is-promise@npm:^2.0.0": + version: 2.2.2 + resolution: "is-promise@npm:2.2.2" + checksum: 10c0/2dba959812380e45b3df0fb12e7cb4d4528c989c7abb03ececb1d1fd6ab1cbfee956ca9daa587b9db1d8ac3c1e5738cf217bdb3dfd99df8c691be4c00ae09069 + languageName: node + linkType: hard + +"is-regex@npm:^1.0.3, is-regex@npm:^1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 + languageName: node + linkType: hard + +"is-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "is-regexp@npm:1.0.0" + checksum: 10c0/34cacda1901e00f6e44879378f1d2fa96320ea956c1bec27713130aaf1d44f6e7bd963eed28945bfe37e600cb27df1cf5207302680dad8bdd27b9baff8ecf611 + languageName: node + linkType: hard + +"is-relative@npm:^1.0.0": + version: 1.0.0 + resolution: "is-relative@npm:1.0.0" + dependencies: + is-unc-path: "npm:^1.0.0" + checksum: 10c0/61157c4be8594dd25ac6f0ef29b1218c36667259ea26698367a4d9f39ff9018368bc365c490b3c79be92dfb1e389e43c4b865c95709e7b3bc72c5932f751fb60 + languageName: node + linkType: hard + +"is-set@npm:^2.0.3": + version: 2.0.3 + resolution: "is-set@npm:2.0.3" + checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "is-shared-array-buffer@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.7" + checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7 + languageName: node + linkType: hard + +"is-ssh@npm:^1.4.0": + version: 1.4.0 + resolution: "is-ssh@npm:1.4.0" + dependencies: + protocols: "npm:^2.0.1" + checksum: 10c0/3eb30d1bcb4507cd25562e7ac61a1c0aa31772134c67cec9c3afe6f4d57ec17e8c2892600a608e8e583f32f53f36465b8968c0305f2855cfbff95acfd049e113 + languageName: node + linkType: hard + +"is-stream@npm:2.0.0": + version: 2.0.0 + resolution: "is-stream@npm:2.0.0" + checksum: 10c0/687f6bbd2b995573d33e6b40b2cbc8b9186a751aa3151c23e6fd2c4ca352e323a6dc010b09103f89c9ca0bf5c8c38f3fa8b74d5d9acd1c44f1499874d7e844f9 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"is-string@npm:^1.0.5, is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" + dependencies: + has-symbols: "npm:^1.0.2" + checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 + languageName: node + linkType: hard + +"is-text-path@npm:^1.0.1": + version: 1.0.1 + resolution: "is-text-path@npm:1.0.1" + dependencies: + text-extensions: "npm:^1.0.0" + checksum: 10c0/61c8650c29548febb6bf69e9541fc11abbbb087a0568df7bc471ba264e95fb254def4e610631cbab4ddb0a1a07949d06416f4ebeaf37875023fb184cdb87ee84 + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" + dependencies: + which-typed-array: "npm:^1.1.14" + checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca + languageName: node + linkType: hard + +"is-unc-path@npm:^1.0.0": + version: 1.0.0 + resolution: "is-unc-path@npm:1.0.0" + dependencies: + unc-path-regex: "npm:^0.1.2" + checksum: 10c0/ac1b78f9b748196e3be3d0e722cd4b0f98639247a130a8f2473a58b29baf63fdb1b1c5a12c830660c5ee6ef0279c5418ca8e346f98cbe1a29e433d7ae531d42e + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + languageName: node + linkType: hard + +"is-url@npm:^1.2.2": + version: 1.2.4 + resolution: "is-url@npm:1.2.4" + checksum: 10c0/0157a79874f8f95fdd63540e3f38c8583c2ef572661cd0693cda80ae3e42dfe8e9a4a972ec1b827f861d9a9acf75b37f7d58a37f94a8a053259642912c252bc3 + languageName: node + linkType: hard + +"is-utf8@npm:^0.2.0, is-utf8@npm:^0.2.1": + version: 0.2.1 + resolution: "is-utf8@npm:0.2.1" + checksum: 10c0/3ed45e5b4ddfa04ed7e32c63d29c61b980ecd6df74698f45978b8c17a54034943bcbffb6ae243202e799682a66f90fef526f465dd39438745e9fe70794c1ef09 + languageName: node + linkType: hard + +"is-valid-glob@npm:^1.0.0": + version: 1.0.0 + resolution: "is-valid-glob@npm:1.0.0" + checksum: 10c0/73aef3a2dc218b677362c876d1bc69699e10cfb50ecae6ac5fa946d7f5bb783721e81d9383bd120e4fb7bcfaa7ebe1edab0b707fd93051cc6e04f90f02d689b6 + languageName: node + linkType: hard + +"is-weakmap@npm:^2.0.2": + version: 2.0.2 + resolution: "is-weakmap@npm:2.0.2" + checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2": + version: 1.0.2 + resolution: "is-weakref@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + checksum: 10c0/1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1 + languageName: node + linkType: hard + +"is-weakset@npm:^2.0.3": + version: 2.0.3 + resolution: "is-weakset@npm:2.0.3" + dependencies: + call-bind: "npm:^1.0.7" + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/8ad6141b6a400e7ce7c7442a13928c676d07b1f315ab77d9912920bf5f4170622f43126f111615788f26c3b1871158a6797c862233124507db0bcc33a9537d1a + languageName: node + linkType: hard + +"is-what@npm:^3.14.1": + version: 3.14.1 + resolution: "is-what@npm:3.14.1" + checksum: 10c0/4b770b85454c877b6929a84fd47c318e1f8c2ff70fd72fd625bc3fde8e0c18a6e57345b6e7aa1ee9fbd1c608d27cfe885df473036c5c2e40cd2187250804a2c7 + languageName: node + linkType: hard + +"is-windows@npm:^1.0.1, is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 + languageName: node + linkType: hard + +"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311 + languageName: node + linkType: hard + +"isarray@npm:1.0.0, isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd + languageName: node + linkType: hard + +"isbinaryfile@npm:^5.0.2": + version: 5.0.4 + resolution: "isbinaryfile@npm:5.0.4" + checksum: 10c0/fea255bfae67ff4827e8dd2238d6700d4803d02b4d892b72eeac4541487284e901251a3427966af5018d4eb29fa155b036dcb75dd217634146a072991afbc2c2 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"isobject@npm:^2.0.0": + version: 2.1.0 + resolution: "isobject@npm:2.1.0" + dependencies: + isarray: "npm:1.0.0" + checksum: 10c0/c4cafec73b3b2ee11be75dff8dafd283b5728235ac099b07d7873d5182553a707768e208327bbc12931b9422d8822280bf88d894a0024ff5857b3efefb480e7b + languageName: node + linkType: hard + +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db + languageName: node + linkType: hard + +"isomorphic-fetch@npm:^3.0.0": + version: 3.0.0 + resolution: "isomorphic-fetch@npm:3.0.0" + dependencies: + node-fetch: "npm:^2.6.1" + whatwg-fetch: "npm:^3.4.1" + checksum: 10c0/511b1135c6d18125a07de661091f5e7403b7640060355d2d704ce081e019bc1862da849482d079ce5e2559b8976d3de7709566063aec1b908369c0b98a2b075b + languageName: node + linkType: hard + +"iterator.prototype@npm:^1.1.3": + version: 1.1.3 + resolution: "iterator.prototype@npm:1.1.3" + dependencies: + define-properties: "npm:^1.2.1" + get-intrinsic: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + reflect.getprototypeof: "npm:^1.0.4" + set-function-name: "npm:^2.0.1" + checksum: 10c0/68b0320c14291fbb3d8ed5a17e255d3127e7971bec19108076667e79c9ff4c7d69f99de4b0b3075c789c3f318366d7a0a35bb086eae0f2cf832dd58465b2f9e6 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jake@npm:^10.8.5": + version: 10.9.2 + resolution: "jake@npm:10.9.2" + dependencies: + async: "npm:^3.2.3" + chalk: "npm:^4.0.2" + filelist: "npm:^1.0.4" + minimatch: "npm:^3.1.2" + bin: + jake: bin/cli.js + checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 + languageName: node + linkType: hard + +"jiti@npm:^1.21.6": + version: 1.21.6 + resolution: "jiti@npm:1.21.6" + bin: + jiti: bin/jiti.js + checksum: 10c0/05b9ed58cd30d0c3ccd3c98209339e74f50abd9a17e716f65db46b6a35812103f6bde6e134be7124d01745586bca8cc5dae1d0d952267c3ebe55171949c32e56 + languageName: node + linkType: hard + +"js-cookie@npm:^2.2.1": + version: 2.2.1 + resolution: "js-cookie@npm:2.2.1" + checksum: 10c0/ee67fc0f8495d0800b851910b5eb5bf49d3033adff6493d55b5c097ca6da46f7fe666b10e2ecb13cfcaf5b88d71c205ce00a7e646de791689bfd053bbb36a376 + languageName: node + linkType: hard + +"js-message@npm:1.0.7": + version: 1.0.7 + resolution: "js-message@npm:1.0.7" + checksum: 10c0/2dc2ff5a594613a9690c157a921999237164a3c213523f406dee23985ed81c92be9afdc7b34e67a2838d447d7d79cbf1662048effe8367bedcd71a950e4e292e + languageName: node + linkType: hard + +"js-queue@npm:2.0.2": + version: 2.0.2 + resolution: "js-queue@npm:2.0.2" + dependencies: + easy-stack: "npm:^1.0.1" + checksum: 10c0/cdadc65576c6d46817f47c27d7a57a1f3acbe3a4da2a4bc7303218f06d6ee7971358db28ec0d6b6835b4cd93332c52792b535064fee706453ef9d2bfe03b4a1a + languageName: node + linkType: hard + +"js-stringify@npm:^1.0.2": + version: 1.0.2 + resolution: "js-stringify@npm:1.0.2" + checksum: 10c0/a450c04fde3a7e1c27f1c3c4300433f8d79322f9e3c2e76266843cef8c0b5a69b5f11b5f173212b2f15f2df09e068ef7ddf46ef775e2486f3006a6f4e912578d + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:4.0.0": + version: 4.0.0 + resolution: "js-yaml@npm:4.0.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/ef8489b87d9796b45df9f0bf3eefbb343b5063e39a9911d7b8ddbd4518cafaf73b49150d1f5865f54ee68719642ff0ab86110b9a332ff88bb05cd3bcf3039de1 + languageName: node + linkType: hard + +"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsdom@npm:^25.0.1": + version: 25.0.1 + resolution: "jsdom@npm:25.0.1" + dependencies: + cssstyle: "npm:^4.1.0" + data-urls: "npm:^5.0.0" + decimal.js: "npm:^10.4.3" + form-data: "npm:^4.0.0" + html-encoding-sniffer: "npm:^4.0.0" + http-proxy-agent: "npm:^7.0.2" + https-proxy-agent: "npm:^7.0.5" + is-potential-custom-element-name: "npm:^1.0.1" + nwsapi: "npm:^2.2.12" + parse5: "npm:^7.1.2" + rrweb-cssom: "npm:^0.7.1" + saxes: "npm:^6.0.0" + symbol-tree: "npm:^3.2.4" + tough-cookie: "npm:^5.0.0" + w3c-xmlserializer: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + whatwg-encoding: "npm:^3.1.1" + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + ws: "npm:^8.18.0" + xml-name-validator: "npm:^5.0.0" + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + checksum: 10c0/6bda32a6dfe4e37a30568bf51136bdb3ba9c0b72aadd6356280404275a34c9e097c8c25b5eb3c742e602623741e172da977ff456684befd77c9042ed9bf8c2b4 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-better-errors@npm:^1.0.1": + version: 1.0.2 + resolution: "json-parse-better-errors@npm:1.0.2" + checksum: 10c0/2f1287a7c833e397c9ddd361a78638e828fc523038bb3441fd4fc144cfd2c6cd4963ffb9e207e648cf7b692600f1e1e524e965c32df5152120910e4903a47dcb + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^3.0.0": + version: 3.0.2 + resolution: "json-parse-even-better-errors@npm:3.0.2" + checksum: 10c0/147f12b005768abe9fab78d2521ce2b7e1381a118413d634a40e6d907d7d10f5e9a05e47141e96d6853af7cc36d2c834d0a014251be48791e037ff2f13d2b94b + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json-stable-stringify@npm:^1.0.2": + version: 1.1.1 + resolution: "json-stable-stringify@npm:1.1.1" + dependencies: + call-bind: "npm:^1.0.5" + isarray: "npm:^2.0.5" + jsonify: "npm:^0.0.1" + object-keys: "npm:^1.1.1" + checksum: 10c0/3801e3eeccbd030afb970f54bea690a079cfea7d9ed206a1b17ca9367f4b7772c764bf77a48f03e56b50e5f7ee7d11c52339fe20d8d7ccead003e4ca69e4cfde + languageName: node + linkType: hard + +"json-stringify-nice@npm:^1.1.4": + version: 1.1.4 + resolution: "json-stringify-nice@npm:1.1.4" + checksum: 10c0/13673b67ba9e7fde75a103cade0b0d2dd0d21cd3b918de8d8f6cd59d48ad8c78b0e85f6f4a5842073ddfc91ebdde5ef7c81c7f51945b96a33eaddc5d41324b87 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + +"json5@npm:^1.0.2": + version: 1.0.2 + resolution: "json5@npm:1.0.2" + dependencies: + minimist: "npm:^1.2.0" + bin: + json5: lib/cli.js + checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f + languageName: node + linkType: hard + +"json5@npm:^2.2.0, json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonc-parser@npm:3.2.0": + version: 3.2.0 + resolution: "jsonc-parser@npm:3.2.0" + checksum: 10c0/5a12d4d04dad381852476872a29dcee03a57439574e4181d91dca71904fcdcc5e8e4706c0a68a2c61ad9810e1e1c5806b5100d52d3e727b78f5cdc595401045b + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"jsonify@npm:^0.0.1": + version: 0.0.1 + resolution: "jsonify@npm:0.0.1" + checksum: 10c0/7f5499cdd59a0967ed35bda48b7cec43d850bbc8fb955cdd3a1717bb0efadbe300724d5646de765bb7a99fc1c3ab06eb80d93503c6faaf99b4ff50a3326692f6 + languageName: node + linkType: hard + +"jsonparse@npm:^1.2.0, jsonparse@npm:^1.3.1": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 10c0/89bc68080cd0a0e276d4b5ab1b79cacd68f562467008d176dc23e16e97d4efec9e21741d92ba5087a8433526a45a7e6a9d5ef25408696c402ca1cfbc01a90bf0 + languageName: node + linkType: hard + +"jstransformer@npm:1.0.0": + version: 1.0.0 + resolution: "jstransformer@npm:1.0.0" + dependencies: + is-promise: "npm:^2.0.0" + promise: "npm:^7.0.1" + checksum: 10c0/11f9b4f368a55878dd7973154cd83b0adca27f974d21217728652530775b2bec281e92109de66f0c9e37c76af796d5b76b33f3e38363214a83d102d523a7285b + languageName: node + linkType: hard + +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": + version: 3.3.5 + resolution: "jsx-ast-utils@npm:3.3.5" + dependencies: + array-includes: "npm:^3.1.6" + array.prototype.flat: "npm:^1.3.1" + object.assign: "npm:^4.1.4" + object.values: "npm:^1.1.6" + checksum: 10c0/a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1 + languageName: node + linkType: hard + +"jszip@npm:^3.7.1": + version: 3.10.1 + resolution: "jszip@npm:3.10.1" + dependencies: + lie: "npm:~3.3.0" + pako: "npm:~1.0.2" + readable-stream: "npm:~2.3.6" + setimmediate: "npm:^1.0.5" + checksum: 10c0/58e01ec9c4960383fb8b38dd5f67b83ccc1ec215bf74c8a5b32f42b6e5fb79fada5176842a11409c4051b5b94275044851814a31076bf49e1be218d3ef57c863 + languageName: node + linkType: hard + +"just-debounce@npm:^1.0.0": + version: 1.1.0 + resolution: "just-debounce@npm:1.1.0" + checksum: 10c0/462ce68eef6068414bd70dfb1f43ff4e1911330b6473fcdd9d52482fbf544e7666572ca35b6b2297c3baaa944e682ddae8a1b2eb3fc75bb8978ea8192b7f6705 + languageName: node + linkType: hard + +"just-diff-apply@npm:^5.2.0": + version: 5.5.0 + resolution: "just-diff-apply@npm:5.5.0" + checksum: 10c0/d7b85371f2a5a17a108467fda35dddd95264ab438ccec7837b67af5913c57ded7246039d1df2b5bc1ade034ccf815b56d69786c5f1e07383168a066007c796c0 + languageName: node + linkType: hard + +"just-diff@npm:^6.0.0": + version: 6.0.2 + resolution: "just-diff@npm:6.0.2" + checksum: 10c0/1931ca1f0cea4cc480172165c189a84889033ad7a60bee302268ba8ca9f222b43773fd5f272a23ee618d43d85d3048411f06b635571a198159e9a85bb2495f5c + languageName: node + linkType: hard + +"just-extend@npm:^4.0.2": + version: 4.2.1 + resolution: "just-extend@npm:4.2.1" + checksum: 10c0/ab01b807ae064eee016001df7e958fab9d878a6e2e32119f5f5a94e986daca9d940aa6176889f04c2658e6e3edd75000d7bab1a2376d473ccb20ae571f4b8cbc + languageName: node + linkType: hard + +"keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": + version: 3.2.2 + resolution: "kind-of@npm:3.2.2" + dependencies: + is-buffer: "npm:^1.1.5" + checksum: 10c0/7e34bc29d4b02c997f92f080de34ebb92033a96736bbb0bb2410e033a7e5ae6571f1fa37b2d7710018f95361473b816c604234197f4f203f9cf149d8ef1574d9 + languageName: node + linkType: hard + +"kind-of@npm:^4.0.0": + version: 4.0.0 + resolution: "kind-of@npm:4.0.0" + dependencies: + is-buffer: "npm:^1.1.5" + checksum: 10c0/d6c44c75ee36898142dfc7106afbd50593216c37f96acb81a7ab33ca1a6938ce97d5692b8fc8fccd035f83811a9d97749d68771116441a48eedd0b68e2973165 + languageName: node + linkType: hard + +"kind-of@npm:^5.0.2": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: 10c0/fe85b7a2ed4b4d5a12e16e01d00d5c336e1760842fe0da38283605b9880c984288935e87b13138909e4d23d2d197a1d492f7393c6638d2c0fab8a900c4fb0392 + languageName: node + linkType: hard + +"kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 + languageName: node + linkType: hard + +"klaw-sync@npm:^6.0.0": + version: 6.0.0 + resolution: "klaw-sync@npm:6.0.0" + dependencies: + graceful-fs: "npm:^4.1.11" + checksum: 10c0/00d8e4c48d0d699b743b3b028e807295ea0b225caf6179f51029e19783a93ad8bb9bccde617d169659fbe99559d73fb35f796214de031d0023c26b906cecd70a + languageName: node + linkType: hard + +"language-subtag-registry@npm:^0.3.20": + version: 0.3.23 + resolution: "language-subtag-registry@npm:0.3.23" + checksum: 10c0/e9b05190421d2cd36dd6c95c28673019c927947cb6d94f40ba7e77a838629ee9675c94accf897fbebb07923187deb843b8fbb8935762df6edafe6c28dcb0b86c + languageName: node + linkType: hard + +"language-tags@npm:^1.0.9": + version: 1.0.9 + resolution: "language-tags@npm:1.0.9" + dependencies: + language-subtag-registry: "npm:^0.3.20" + checksum: 10c0/9ab911213c4bd8bd583c850201c17794e52cb0660d1ab6e32558aadc8324abebf6844e46f92b80a5d600d0fbba7eface2c207bfaf270a1c7fd539e4c3a880bff + languageName: node + linkType: hard + +"last-run@npm:^1.1.0": + version: 1.1.1 + resolution: "last-run@npm:1.1.1" + dependencies: + default-resolution: "npm:^2.0.0" + es6-weak-map: "npm:^2.0.1" + checksum: 10c0/dd468d32839d1f548e0b30b76fbb015aa01c1a10bcddedfe39d7f06612e91292899411aaecd6c420a024c368d853fa8845613f7b304b3d173892be07872a4a9c + languageName: node + linkType: hard + +"launch-editor@npm:^2.3.0": + version: 2.9.1 + resolution: "launch-editor@npm:2.9.1" + dependencies: + picocolors: "npm:^1.0.0" + shell-quote: "npm:^1.8.1" + checksum: 10c0/891f1d136ed8e4ea12e16c196a0d2e07f23c7b983e3ab532b2be1775fb244909581507cce97c50f9d5ca92680b53e4a75c72ddcf20184aa6c4da6ebbe87703f5 + languageName: node + linkType: hard + +"lazystream@npm:^1.0.0": + version: 1.0.1 + resolution: "lazystream@npm:1.0.1" + dependencies: + readable-stream: "npm:^2.0.5" + checksum: 10c0/ea4e509a5226ecfcc303ba6782cc269be8867d372b9bcbd625c88955df1987ea1a20da4643bf9270336415a398d33531ebf0d5f0d393b9283dc7c98bfcbd7b69 + languageName: node + linkType: hard + +"lcid@npm:^1.0.0": + version: 1.0.0 + resolution: "lcid@npm:1.0.0" + dependencies: + invert-kv: "npm:^1.0.0" + checksum: 10c0/87fb32196c3c80458778f34f71c042e114f3134a3c86c0d60ee9c94f0750e467d7ca0c005a5224ffd9d49a6e449b5e5c31e1544f1827765a0ba8747298f5980e + languageName: node + linkType: hard + +"lead@npm:^1.0.0": + version: 1.0.0 + resolution: "lead@npm:1.0.0" + dependencies: + flush-write-stream: "npm:^1.0.2" + checksum: 10c0/355fa4cce74a62cec9d4dc4520a8a6a3bd0472e88e070208a895aa1d144bd5f35a099e0f0d4938f4bc909b6a40fb64cc389e0ec32cc86471540e7a643ffe0519 + languageName: node + linkType: hard + +"lerna@npm:^6.6.2": + version: 6.6.2 + resolution: "lerna@npm:6.6.2" + dependencies: + "@lerna/child-process": "npm:6.6.2" + "@lerna/create": "npm:6.6.2" + "@lerna/legacy-package-management": "npm:6.6.2" + "@npmcli/arborist": "npm:6.2.3" + "@npmcli/run-script": "npm:4.1.7" + "@nrwl/devkit": "npm:>=15.5.2 < 16" + "@octokit/plugin-enterprise-rest": "npm:6.0.1" + "@octokit/rest": "npm:19.0.3" + byte-size: "npm:7.0.0" + chalk: "npm:4.1.0" + clone-deep: "npm:4.0.1" + cmd-shim: "npm:5.0.0" + columnify: "npm:1.6.0" + config-chain: "npm:1.1.12" + conventional-changelog-angular: "npm:5.0.12" + conventional-changelog-core: "npm:4.2.4" + conventional-recommended-bump: "npm:6.1.0" + cosmiconfig: "npm:7.0.0" + dedent: "npm:0.7.0" + dot-prop: "npm:6.0.1" + envinfo: "npm:^7.7.4" + execa: "npm:5.0.0" + fs-extra: "npm:9.1.0" + get-port: "npm:5.1.1" + get-stream: "npm:6.0.0" + git-url-parse: "npm:13.1.0" + glob-parent: "npm:5.1.2" + globby: "npm:11.1.0" + graceful-fs: "npm:4.2.10" + has-unicode: "npm:2.0.1" + import-local: "npm:^3.0.2" + init-package-json: "npm:3.0.2" + inquirer: "npm:^8.2.4" + is-ci: "npm:2.0.0" + is-stream: "npm:2.0.0" + js-yaml: "npm:^4.1.0" + libnpmaccess: "npm:^6.0.3" + libnpmpublish: "npm:7.1.4" + load-json-file: "npm:6.2.0" + make-dir: "npm:3.1.0" + minimatch: "npm:3.0.5" + multimatch: "npm:5.0.0" + node-fetch: "npm:2.6.7" + npm-package-arg: "npm:8.1.1" + npm-packlist: "npm:5.1.1" + npm-registry-fetch: "npm:^14.0.3" + npmlog: "npm:^6.0.2" + nx: "npm:>=15.5.2 < 16" + p-map: "npm:4.0.0" + p-map-series: "npm:2.1.0" + p-pipe: "npm:3.1.0" + p-queue: "npm:6.6.2" + p-reduce: "npm:2.1.0" + p-waterfall: "npm:2.1.1" + pacote: "npm:15.1.1" + pify: "npm:5.0.0" + read-cmd-shim: "npm:3.0.0" + read-package-json: "npm:5.0.1" + resolve-from: "npm:5.0.0" + rimraf: "npm:^4.4.1" + semver: "npm:^7.3.8" + signal-exit: "npm:3.0.7" + slash: "npm:3.0.0" + ssri: "npm:9.0.1" + strong-log-transformer: "npm:2.1.0" + tar: "npm:6.1.11" + temp-dir: "npm:1.0.0" + typescript: "npm:^3 || ^4" + upath: "npm:^2.0.1" + uuid: "npm:8.3.2" + validate-npm-package-license: "npm:3.0.4" + validate-npm-package-name: "npm:4.0.0" + write-file-atomic: "npm:4.0.1" + write-pkg: "npm:4.0.0" + yargs: "npm:16.2.0" + yargs-parser: "npm:20.2.4" + bin: + lerna: dist/cli.js + checksum: 10c0/4de749b9855541c5ffcebb6616ffda9369dc51a32911ad2ada6b65129017b1a4bf4ae1b71ade73dc575550d66785726567a1e55ff8a2386103200d4bf385ce31 + languageName: node + linkType: hard + +"less@npm:^4.1.1": + version: 4.2.0 + resolution: "less@npm:4.2.0" + dependencies: + copy-anything: "npm:^2.0.1" + errno: "npm:^0.1.1" + graceful-fs: "npm:^4.1.2" + image-size: "npm:~0.5.0" + make-dir: "npm:^2.1.0" + mime: "npm:^1.4.1" + needle: "npm:^3.1.0" + parse-node-version: "npm:^1.0.1" + source-map: "npm:~0.6.0" + tslib: "npm:^2.3.0" + dependenciesMeta: + errno: + optional: true + graceful-fs: + optional: true + image-size: + optional: true + make-dir: + optional: true + mime: + optional: true + needle: + optional: true + source-map: + optional: true + bin: + lessc: bin/lessc + checksum: 10c0/8593d547a3e7651555a2c51bac8b148b37ec14e75e6e28ee4ddf27eb49cbcb4b558e50cdefa97d6942a8120fc744ace0d61c43d4c246e098c8828269b14cf5fb + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"libnpmaccess@npm:^6.0.3": + version: 6.0.4 + resolution: "libnpmaccess@npm:6.0.4" + dependencies: + aproba: "npm:^2.0.0" + minipass: "npm:^3.1.1" + npm-package-arg: "npm:^9.0.1" + npm-registry-fetch: "npm:^13.0.0" + checksum: 10c0/d7cee5ae92369a1ac6fb141082b929c853b3b6a140d9878e52ee93abca644fe052e7b5dfc3ac14c4b2f0c0945bd8bf6d5ccff608be8d8928d812df4af28cb43b + languageName: node + linkType: hard + +"libnpmpublish@npm:7.1.4": + version: 7.1.4 + resolution: "libnpmpublish@npm:7.1.4" + dependencies: + ci-info: "npm:^3.6.1" + normalize-package-data: "npm:^5.0.0" + npm-package-arg: "npm:^10.1.0" + npm-registry-fetch: "npm:^14.0.3" + proc-log: "npm:^3.0.0" + semver: "npm:^7.3.7" + sigstore: "npm:^1.4.0" + ssri: "npm:^10.0.1" + checksum: 10c0/9bfd6a00baaa12938e92675ba60d7d530462a30abb659a152dfb13c250233f531230eaeb7cf9d77f125a54b4913b434081fe7ebd684cdff0d127e8e5b7f1fb14 + languageName: node + linkType: hard + +"lie@npm:~3.3.0": + version: 3.3.0 + resolution: "lie@npm:3.3.0" + dependencies: + immediate: "npm:~3.0.5" + checksum: 10c0/56dd113091978f82f9dc5081769c6f3b947852ecf9feccaf83e14a123bc630c2301439ce6182521e5fbafbde88e88ac38314327a4e0493a1bea7e0699a7af808 + languageName: node + linkType: hard + +"liftoff@npm:^3.1.0": + version: 3.1.0 + resolution: "liftoff@npm:3.1.0" + dependencies: + extend: "npm:^3.0.0" + findup-sync: "npm:^3.0.0" + fined: "npm:^1.0.1" + flagged-respawn: "npm:^1.0.0" + is-plain-object: "npm:^2.0.4" + object.map: "npm:^1.0.0" + rechoir: "npm:^0.6.2" + resolve: "npm:^1.1.7" + checksum: 10c0/f4cf3f09a3c368e8ee349dc11cfaae39898d1063e803a05ebacf34949eab20dd9448c682684f5933fdef0b3a61b4e56ae2dbd089689cbb892690d7e368330c20 + languageName: node + linkType: hard + +"lightningcss-darwin-arm64@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-darwin-arm64@npm:1.28.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-darwin-x64@npm:1.28.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-freebsd-x64@npm:1.28.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.28.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-linux-arm64-gnu@npm:1.28.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-linux-arm64-musl@npm:1.28.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-linux-x64-gnu@npm:1.28.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-linux-x64-musl@npm:1.28.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-wasm@npm:^1.22.1": + version: 1.28.1 + resolution: "lightningcss-wasm@npm:1.28.1" + dependencies: + napi-wasm: "npm:^1.0.1" + checksum: 10c0/ab025ed449cd0de2c5d5be1a4407b46031fc8d4a0860e6802ee5e5594a16f7ace05e71457585e0fad6428efcd04d7c13fb4c9f3f2304e306bc3e1229a0c55509 + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-win32-arm64-msvc@npm:1.28.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.28.1": + version: 1.28.1 + resolution: "lightningcss-win32-x64-msvc@npm:1.28.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:^1.22.1": + version: 1.28.1 + resolution: "lightningcss@npm:1.28.1" + dependencies: + detect-libc: "npm:^1.0.3" + lightningcss-darwin-arm64: "npm:1.28.1" + lightningcss-darwin-x64: "npm:1.28.1" + lightningcss-freebsd-x64: "npm:1.28.1" + lightningcss-linux-arm-gnueabihf: "npm:1.28.1" + lightningcss-linux-arm64-gnu: "npm:1.28.1" + lightningcss-linux-arm64-musl: "npm:1.28.1" + lightningcss-linux-x64-gnu: "npm:1.28.1" + lightningcss-linux-x64-musl: "npm:1.28.1" + lightningcss-win32-arm64-msvc: "npm:1.28.1" + lightningcss-win32-x64-msvc: "npm:1.28.1" + dependenciesMeta: + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/8bd23ca3dc3d701e89490b88a59470d27887ff7703e9e27c8a7f04d9cd35ca9c7e88390fbcb82fe179c20c912538c0d028f12a4f26a556f00567274804699691 + languageName: node + linkType: hard + +"lilconfig@npm:^2.1.0": + version: 2.1.0 + resolution: "lilconfig@npm:2.1.0" + checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 + languageName: node + linkType: hard + +"lilconfig@npm:^3.0.0, lilconfig@npm:^3.1.2": + version: 3.1.2 + resolution: "lilconfig@npm:3.1.2" + checksum: 10c0/f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"lines-and-columns@npm:~2.0.3": + version: 2.0.4 + resolution: "lines-and-columns@npm:2.0.4" + checksum: 10c0/4db28bf065cd7ad897c0700f22d3d0d7c5ed6777e138861c601c496d545340df3fc19e18bd04ff8d95a246a245eb55685b82ca2f8c2ca53a008e9c5316250379 + languageName: node + linkType: hard + +"linkify-it@npm:^2.0.0": + version: 2.2.0 + resolution: "linkify-it@npm:2.2.0" + dependencies: + uc.micro: "npm:^1.0.1" + checksum: 10c0/640f926fa71d46f9451b4dc999c94b2dcad920abf5fe174a85f120b420cbb34b8f950e251846ed73db715ec9aaadadf1f2482d27088dddd21b1c84761f6a0b5a + languageName: node + linkType: hard + +"lint-staged@npm:^10.2.11": + version: 10.5.4 + resolution: "lint-staged@npm:10.5.4" + dependencies: + chalk: "npm:^4.1.0" + cli-truncate: "npm:^2.1.0" + commander: "npm:^6.2.0" + cosmiconfig: "npm:^7.0.0" + debug: "npm:^4.2.0" + dedent: "npm:^0.7.0" + enquirer: "npm:^2.3.6" + execa: "npm:^4.1.0" + listr2: "npm:^3.2.2" + log-symbols: "npm:^4.0.0" + micromatch: "npm:^4.0.2" + normalize-path: "npm:^3.0.0" + please-upgrade-node: "npm:^3.2.0" + string-argv: "npm:0.3.1" + stringify-object: "npm:^3.3.0" + bin: + lint-staged: bin/lint-staged.js + checksum: 10c0/5a3b8854e3a1d90533a8e5f2d228634a044563104b9a1f2052e91a565542ee72ab60ffd463c9b2117a1c660adc5ad0737831a4dc61c91952f3032ce2b98fa670 + languageName: node + linkType: hard + +"listenercount@npm:~1.0.1": + version: 1.0.1 + resolution: "listenercount@npm:1.0.1" + checksum: 10c0/280c38501984f0a83272187ea472aff18a2aa3db40d8e05be5f797dc813c3d9351ae67a64e09d23d36e6061288b291c989390297db6a99674de2394c6930284c + languageName: node + linkType: hard + +"listr2@npm:^3.2.2": + version: 3.14.0 + resolution: "listr2@npm:3.14.0" + dependencies: + cli-truncate: "npm:^2.1.0" + colorette: "npm:^2.0.16" + log-update: "npm:^4.0.0" + p-map: "npm:^4.0.0" + rfdc: "npm:^1.3.0" + rxjs: "npm:^7.5.1" + through: "npm:^2.3.8" + wrap-ansi: "npm:^7.0.0" + peerDependencies: + enquirer: ">= 2.3.0 < 3" + peerDependenciesMeta: + enquirer: + optional: true + checksum: 10c0/8301703876ad6bf50cd769e9c1169c2aa435951d69d4f54fc202a13c1b6006a9b3afbcf9842440eb22f08beec4d311d365e31d4ed2e0fcabf198d8085b06a421 + languageName: node + linkType: hard + +"lmdb@npm:2.8.5": + version: 2.8.5 + resolution: "lmdb@npm:2.8.5" + dependencies: + "@lmdb/lmdb-darwin-arm64": "npm:2.8.5" + "@lmdb/lmdb-darwin-x64": "npm:2.8.5" + "@lmdb/lmdb-linux-arm": "npm:2.8.5" + "@lmdb/lmdb-linux-arm64": "npm:2.8.5" + "@lmdb/lmdb-linux-x64": "npm:2.8.5" + "@lmdb/lmdb-win32-x64": "npm:2.8.5" + msgpackr: "npm:^1.9.5" + node-addon-api: "npm:^6.1.0" + node-gyp: "npm:latest" + node-gyp-build-optional-packages: "npm:5.1.1" + ordered-binary: "npm:^1.4.1" + weak-lru-cache: "npm:^1.2.2" + dependenciesMeta: + "@lmdb/lmdb-darwin-arm64": + optional: true + "@lmdb/lmdb-darwin-x64": + optional: true + "@lmdb/lmdb-linux-arm": + optional: true + "@lmdb/lmdb-linux-arm64": + optional: true + "@lmdb/lmdb-linux-x64": + optional: true + "@lmdb/lmdb-win32-x64": + optional: true + bin: + download-lmdb-prebuilds: bin/download-prebuilds.js + checksum: 10c0/5c95ae636611f32d3583b26bca0d4b0dc236378f785b5735420edda62f88ddacc17c7586d586779a49f3377422c85c3e0b416c4a47f1c21945f76f001551afc9 + languageName: node + linkType: hard + +"load-json-file@npm:6.2.0": + version: 6.2.0 + resolution: "load-json-file@npm:6.2.0" + dependencies: + graceful-fs: "npm:^4.1.15" + parse-json: "npm:^5.0.0" + strip-bom: "npm:^4.0.0" + type-fest: "npm:^0.6.0" + checksum: 10c0/fcb46ef75bab917f37170ba76781a1690bf67144bb53931cb0ed8e4aa20ca439e9c354fcf3594aed531f47dbeb4a49800acab7fdffd553c402ac40c987706d7b + languageName: node + linkType: hard + +"load-json-file@npm:^1.0.0": + version: 1.1.0 + resolution: "load-json-file@npm:1.1.0" + dependencies: + graceful-fs: "npm:^4.1.2" + parse-json: "npm:^2.2.0" + pify: "npm:^2.0.0" + pinkie-promise: "npm:^2.0.0" + strip-bom: "npm:^2.0.0" + checksum: 10c0/2a5344c2d88643735a938fdca8582c0504e1c290577faa74f56b9cc187fa443832709a15f36e5771f779ec0878215a03abc8faf97ec57bb86092ceb7e0caef22 + languageName: node + linkType: hard + +"load-json-file@npm:^4.0.0": + version: 4.0.0 + resolution: "load-json-file@npm:4.0.0" + dependencies: + graceful-fs: "npm:^4.1.2" + parse-json: "npm:^4.0.0" + pify: "npm:^3.0.0" + strip-bom: "npm:^3.0.0" + checksum: 10c0/6b48f6a0256bdfcc8970be2c57f68f10acb2ee7e63709b386b2febb6ad3c86198f840889cdbe71d28f741cbaa2f23a7771206b138cd1bdd159564511ca37c1d5 + languageName: node + linkType: hard + +"loader-utils@npm:^3.2.0": + version: 3.3.1 + resolution: "loader-utils@npm:3.3.1" + checksum: 10c0/f2af4eb185ac5bf7e56e1337b666f90744e9f443861ac521b48f093fb9e8347f191c8960b4388a3365147d218913bc23421234e7788db69f385bacfefa0b4758 + languageName: node + linkType: hard + +"locate-path@npm:^2.0.0": + version: 2.0.0 + resolution: "locate-path@npm:2.0.0" + dependencies: + p-locate: "npm:^2.0.0" + path-exists: "npm:^3.0.0" + checksum: 10c0/24efa0e589be6aa3c469b502f795126b26ab97afa378846cb508174211515633b770aa0ba610cab113caedab8d2a4902b061a08aaed5297c12ab6f5be4df0133 + languageName: node + linkType: hard + +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: "npm:^3.0.0" + path-exists: "npm:^3.0.0" + checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.camelcase@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.camelcase@npm:4.3.0" + checksum: 10c0/fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432 + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 + languageName: node + linkType: hard + +"lodash.ismatch@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.ismatch@npm:4.4.0" + checksum: 10c0/8f96a5dc4b8d3fc5a033dcb259d0c3148a1044fa4d02b4a0e8dce0fa1f2ef3ec4ac131e20b5cb2c985a4e9bcb1c37c0aa5af2cef70094959389617347b8fc645 + languageName: node + linkType: hard + +"lodash.memoize@npm:^4.1.2": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: 10c0/4e870d54e8a6c86c8687e057cec4069d2e941446ccab7f40b4d9555fa5872d917d0b6aa73bece7765500a3123f1723bcdba9ae881b679ef120bba9e1a0b0ed70 + languageName: node + linkType: hard + +"lodash.uniq@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.uniq@npm:4.5.0" + checksum: 10c0/262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e + languageName: node + linkType: hard + +"lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"log-symbols@npm:4.0.0": + version: 4.0.0 + resolution: "log-symbols@npm:4.0.0" + dependencies: + chalk: "npm:^4.0.0" + checksum: 10c0/d744042ccca6404350fb809f6d98293a18b840e2323e72c45f6a47932d418f0af6e05a2434ab6558b607a132f895e3bb53c8483a7ceeb554d82a3c83438db493 + languageName: node + linkType: hard + +"log-symbols@npm:^4.0.0, log-symbols@npm:^4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 + languageName: node + linkType: hard + +"log-update@npm:^4.0.0": + version: 4.0.0 + resolution: "log-update@npm:4.0.0" + dependencies: + ansi-escapes: "npm:^4.3.0" + cli-cursor: "npm:^3.1.0" + slice-ansi: "npm:^4.0.0" + wrap-ansi: "npm:^6.2.0" + checksum: 10c0/18b299e230432a156f2535660776406d15ba8bb7817dd3eaadd58004b363756d4ecaabcd658f9949f90b62ea7d3354423be3fdeb7a201ab951ec0e8d6139af86 + languageName: node + linkType: hard + +"lolex@npm:^4.2.0": + version: 4.2.0 + resolution: "lolex@npm:4.2.0" + checksum: 10c0/b56fbffec393eaaff0f950e528ab7762507527743e4678646a485a0049c830d078960a66a2ddc68ddfde72cbbdde5bc98d9fbe7c487b419317d293d978e8ab20 + languageName: node + linkType: hard + +"lolex@npm:^5.0.1": + version: 5.1.2 + resolution: "lolex@npm:5.1.2" + dependencies: + "@sinonjs/commons": "npm:^1.7.0" + checksum: 10c0/310f55bb9b756b3b5661eff9532843d7bbc9e3b82fe51f7330d17ab258c2b43101f98c6650778cf81827c13d6d239b878a95d87a06eeef2349b1c074b37ee8ee + languageName: node + linkType: hard + +"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b + languageName: node + linkType: hard + +"lowlight@npm:~1.17.0": + version: 1.17.0 + resolution: "lowlight@npm:1.17.0" + dependencies: + fault: "npm:^1.0.0" + highlight.js: "npm:~10.4.0" + checksum: 10c0/07cc3f126224a3b65b8de8cf78fa422e48b54007f8c662a25f6da06882c6cfe2ef83125baa5144e5476946c78911944864b814c3ce9da9ed5d7cae20d8955a1c + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.0, lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 + languageName: node + linkType: hard + +"lru-cache@npm:^7.4.4, lru-cache@npm:^7.5.1, lru-cache@npm:^7.7.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: 10c0/b3a452b491433db885beed95041eb104c157ef7794b9c9b4d647be503be91769d11206bb573849a16b4cc0d03cbd15ffd22df7960997788b74c1d399ac7a4fed + languageName: node + linkType: hard + +"magic-string@npm:^0.25.7": + version: 0.25.9 + resolution: "magic-string@npm:0.25.9" + dependencies: + sourcemap-codec: "npm:^1.4.8" + checksum: 10c0/37f5e01a7e8b19a072091f0b45ff127cda676232d373ce2c551a162dd4053c575ec048b9cbb4587a1f03adb6c5d0fd0dd49e8ab070cd2c83a4992b2182d9cb56 + languageName: node + linkType: hard + +"make-dir@npm:3.1.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: "npm:^6.0.0" + checksum: 10c0/56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa + languageName: node + linkType: hard + +"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: "npm:^4.0.1" + semver: "npm:^5.6.0" + checksum: 10c0/ada869944d866229819735bee5548944caef560d7a8536ecbc6536edca28c72add47cc4f6fc39c54fb25d06b58da1f8994cf7d9df7dadea047064749efc085d8 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^10.0.3, make-fetch-happen@npm:^10.0.6": + version: 10.2.1 + resolution: "make-fetch-happen@npm:10.2.1" + dependencies: + agentkeepalive: "npm:^4.2.1" + cacache: "npm:^16.1.0" + http-cache-semantics: "npm:^4.1.0" + http-proxy-agent: "npm:^5.0.0" + https-proxy-agent: "npm:^5.0.0" + is-lambda: "npm:^1.0.1" + lru-cache: "npm:^7.7.1" + minipass: "npm:^3.1.6" + minipass-collect: "npm:^1.0.2" + minipass-fetch: "npm:^2.0.3" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + promise-retry: "npm:^2.0.1" + socks-proxy-agent: "npm:^7.0.0" + ssri: "npm:^9.0.0" + checksum: 10c0/28ec392f63ab93511f400839dcee83107eeecfaad737d1e8487ea08b4332cd89a8f3319584222edd9f6f1d0833cf516691469496d46491863f9e88c658013949 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^11.0.0, make-fetch-happen@npm:^11.0.1, make-fetch-happen@npm:^11.1.1": + version: 11.1.1 + resolution: "make-fetch-happen@npm:11.1.1" + dependencies: + agentkeepalive: "npm:^4.2.1" + cacache: "npm:^17.0.0" + http-cache-semantics: "npm:^4.1.1" + http-proxy-agent: "npm:^5.0.0" + https-proxy-agent: "npm:^5.0.0" + is-lambda: "npm:^1.0.1" + lru-cache: "npm:^7.7.1" + minipass: "npm:^5.0.0" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + promise-retry: "npm:^2.0.1" + socks-proxy-agent: "npm:^7.0.0" + ssri: "npm:^10.0.0" + checksum: 10c0/c161bde51dbc03382f9fac091734526a64dd6878205db6c338f70d2133df797b5b5166bff3091cf7d4785869d4b21e99a58139c1790c2fb1b5eec00f528f5f0b + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"make-iterator@npm:^1.0.0": + version: 1.0.1 + resolution: "make-iterator@npm:1.0.1" + dependencies: + kind-of: "npm:^6.0.2" + checksum: 10c0/84b77d72e4af589a4e6069a9e0265ff55e63162b528aa085149060b7bf4e858c700892b95a073feaf517988cac75ca2e8d9ceb14243718b2f268dc4f4a90ff0a + languageName: node + linkType: hard + +"map-cache@npm:^0.2.0, map-cache@npm:^0.2.2": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 10c0/05e3eb005c1b80b9f949ca007687640e8c5d0fc88dc45c3c3ab4902a3bec79d66a58f3e3b04d6985d90cd267c629c7b46c977e9c34433e8c11ecfcbb9f0fa290 + languageName: node + linkType: hard + +"map-limit@npm:0.0.1": + version: 0.0.1 + resolution: "map-limit@npm:0.0.1" + dependencies: + once: "npm:~1.3.0" + checksum: 10c0/b83e5c24b07596f65ce3a09592932ae1b9c91658587d339e9700121bae79c212d91fe60dde7f2ef976309522dae50b04858b8c06f30b770303900fdbee37239c + languageName: node + linkType: hard + +"map-obj@npm:^1.0.0": + version: 1.0.1 + resolution: "map-obj@npm:1.0.1" + checksum: 10c0/ccca88395e7d38671ed9f5652ecf471ecd546924be2fb900836b9da35e068a96687d96a5f93dcdfa94d9a27d649d2f10a84595590f89a347fb4dda47629dcc52 + languageName: node + linkType: hard + +"map-obj@npm:^4.0.0": + version: 4.3.0 + resolution: "map-obj@npm:4.3.0" + checksum: 10c0/1c19e1c88513c8abdab25c316367154c6a0a6a0f77e3e8c391bb7c0e093aefed293f539d026dc013d86219e5e4c25f23b0003ea588be2101ccd757bacc12d43b + languageName: node + linkType: hard + +"map-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "map-visit@npm:1.0.0" + dependencies: + object-visit: "npm:^1.0.0" + checksum: 10c0/fb3475e5311939a6147e339999113db607adc11c7c3cd3103e5e9dbf502898416ecba6b1c7c649c6d4d12941de00cee58b939756bdf20a9efe7d4fa5a5738b73 + languageName: node + linkType: hard + +"markdown-it@npm:^8.3.1": + version: 8.4.2 + resolution: "markdown-it@npm:8.4.2" + dependencies: + argparse: "npm:^1.0.7" + entities: "npm:~1.1.1" + linkify-it: "npm:^2.0.0" + mdurl: "npm:^1.0.1" + uc.micro: "npm:^1.0.5" + bin: + markdown-it: bin/markdown-it.js + checksum: 10c0/63b33e2ef3e224b34b5c85c9f927238ab75790d4cd402f62a6e160db86ccedd41fbfdf25d6aa60fa800ca9c4e751e701ae17cfba89d15abaa7635898f1e156cb + languageName: node + linkType: hard + +"matchdep@npm:^2.0.0": + version: 2.0.0 + resolution: "matchdep@npm:2.0.0" + dependencies: + findup-sync: "npm:^2.0.0" + micromatch: "npm:^3.0.4" + resolve: "npm:^1.4.0" + stack-trace: "npm:0.0.10" + checksum: 10c0/0a44d235d1edc84fe37cf8b07f55bb6b9f10480bb754f21692421b04e020a9b5f8f9f2e138119e4eac219027328daa4d9cae7dc4c38e08f23cf29cc5dfb8a727 + languageName: node + linkType: hard + +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/b7bd75077f419c8e013fc4d4dada48be71882e37d69a44af65a2f2804b91e253441eb43a0614423a1c91bb830b8140b0dc906bc797245e2e275759584f4efcc5 + languageName: node + linkType: hard + +"md5@npm:^2.3.0": + version: 2.3.0 + resolution: "md5@npm:2.3.0" + dependencies: + charenc: "npm:0.0.2" + crypt: "npm:0.0.2" + is-buffer: "npm:~1.1.6" + checksum: 10c0/14a21d597d92e5b738255fbe7fe379905b8cb97e0a49d44a20b58526a646ec5518c337b817ce0094ca94d3e81a3313879c4c7b510d250c282d53afbbdede9110 + languageName: node + linkType: hard + +"mdn-data@npm:2.0.14": + version: 2.0.14 + resolution: "mdn-data@npm:2.0.14" + checksum: 10c0/67241f8708c1e665a061d2b042d2d243366e93e5bf1f917693007f6d55111588b952dcbfd3ea9c2d0969fb754aad81b30fdcfdcc24546495fc3b24336b28d4bd + languageName: node + linkType: hard + +"mdn-data@npm:2.0.28": + version: 2.0.28 + resolution: "mdn-data@npm:2.0.28" + checksum: 10c0/20000932bc4cd1cde9cba4e23f08cc4f816398af4c15ec81040ed25421d6bf07b5cf6b17095972577fb498988f40f4cb589e3169b9357bb436a12d8e07e5ea7b + languageName: node + linkType: hard + +"mdn-data@npm:2.0.30": + version: 2.0.30 + resolution: "mdn-data@npm:2.0.30" + checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 + languageName: node + linkType: hard + +"mdurl@npm:^1.0.1": + version: 1.0.1 + resolution: "mdurl@npm:1.0.1" + checksum: 10c0/ea8534341eb002aaa532a722daef6074cd8ca66202e10a2b4cda46722c1ebdb1da92197ac300bc953d3ef1bf41cd6561ef2cc69d82d5d0237dae00d4a61a4eee + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 + languageName: node + linkType: hard + +"meow@npm:^8.0.0": + version: 8.1.2 + resolution: "meow@npm:8.1.2" + dependencies: + "@types/minimist": "npm:^1.2.0" + camelcase-keys: "npm:^6.2.2" + decamelize-keys: "npm:^1.1.0" + hard-rejection: "npm:^2.1.0" + minimist-options: "npm:4.1.0" + normalize-package-data: "npm:^3.0.0" + read-pkg-up: "npm:^7.0.1" + redent: "npm:^3.0.0" + trim-newlines: "npm:^3.0.0" + type-fest: "npm:^0.18.0" + yargs-parser: "npm:^20.2.3" + checksum: 10c0/9a8d90e616f783650728a90f4ea1e5f763c1c5260369e6596b52430f877f4af8ecbaa8c9d952c93bbefd6d5bda4caed6a96a20ba7d27b511d2971909b01922a2 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 + languageName: node + linkType: hard + +"micromatch@npm:^3.0.4, micromatch@npm:^3.1.10, micromatch@npm:^3.1.4": + version: 3.1.10 + resolution: "micromatch@npm:3.1.10" + dependencies: + arr-diff: "npm:^4.0.0" + array-unique: "npm:^0.3.2" + braces: "npm:^2.3.1" + define-property: "npm:^2.0.2" + extend-shallow: "npm:^3.0.2" + extglob: "npm:^2.0.4" + fragment-cache: "npm:^0.2.1" + kind-of: "npm:^6.0.2" + nanomatch: "npm:^1.2.9" + object.pick: "npm:^1.3.0" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.2" + checksum: 10c0/531a32e7ac92bef60657820202be71b63d0f945c08a69cc4c239c0b19372b751483d464a850a2e3a5ff6cc9060641e43d44c303af104c1a27493d137d8af017f + languageName: node + linkType: hard + +"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"miller-rabin@npm:^4.0.0": + version: 4.0.1 + resolution: "miller-rabin@npm:4.0.1" + dependencies: + bn.js: "npm:^4.0.0" + brorand: "npm:^1.0.1" + bin: + miller-rabin: bin/miller-rabin + checksum: 10c0/26b2b96f6e49dbcff7faebb78708ed2f5f9ae27ac8cbbf1d7c08f83cf39bed3d418c0c11034dce997da70d135cc0ff6f3a4c15dc452f8e114c11986388a64346 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-db@npm:~1.33.0": + version: 1.33.0 + resolution: "mime-db@npm:1.33.0" + checksum: 10c0/79172ce5468c8503b49dddfdddc18d3f5fe2599f9b5fe1bc321a8cbee14c96730fc6db22f907b23701b05b2936f865795f62ec3a78a7f3c8cb2450bb68c6763e + languageName: node + linkType: hard + +"mime-types@npm:2.1.18": + version: 2.1.18 + resolution: "mime-types@npm:2.1.18" + dependencies: + mime-db: "npm:~1.33.0" + checksum: 10c0/a96a8d12f4bb98bc7bfac6a8ccbd045f40368fc1030d9366050c3613825d3715d1c1f393e10a75a885d2cdc1a26cd6d5e11f3a2a0d5c4d361f00242139430a0f + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mime@npm:1.6.0, mime@npm:^1.3.4, mime@npm:^1.4.1": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 + languageName: node + linkType: hard + +"mime@npm:^3.0.0": + version: 3.0.0 + resolution: "mime@npm:3.0.0" + bin: + mime: cli.js + checksum: 10c0/402e792a8df1b2cc41cb77f0dcc46472b7944b7ec29cb5bbcd398624b6b97096728f1239766d3fdeb20551dd8d94738344c195a6ea10c4f906eb0356323b0531 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: 10c0/7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 + languageName: node + linkType: hard + +"minimatch@npm:3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/d0a2bcd93ebec08a9eef3ca83ba33c9fb6feb93932e0b4dc6aa46c5f37a9404bea7ad9ff7cafe23ce6634f1fe3b206f5315ecbb05812da6e692c21d8ecfd3dae + languageName: node + linkType: hard + +"minimatch@npm:3.0.5": + version: 3.0.5 + resolution: "minimatch@npm:3.0.5" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/f398652d0d260137c289c270a4ac98ebe0a27cd316fa0fac72b096e96cbdc89f71d80d47ac7065c716ba3b0b730783b19180bd85a35f9247535d2adfe96bba76 + languageName: node + linkType: hard + +"minimatch@npm:3.1.2, minimatch@npm:^3.0.3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1, minimatch@npm:^5.1.0": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 + languageName: node + linkType: hard + +"minimatch@npm:^6.1.6": + version: 6.2.0 + resolution: "minimatch@npm:6.2.0" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/0884fcf2dd6d3cb5b76e21c33e1797f32c6d4bdd3cefe693ea4f8bb829734b2ca0eee94f0a4f622e9f9fa305f838d2b4f5251df38fcbf98bf1a03a0d07d4ce2d + languageName: node + linkType: hard + +"minimatch@npm:^8.0.2": + version: 8.0.4 + resolution: "minimatch@npm:8.0.4" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/a0a394c356dd5b4cb7f821720841a82fa6f07c9c562c5b716909d1b6ec5e56a7e4c4b5029da26dd256b7d2b3a3f38cbf9ddd8680e887b9b5282b09c05501c1ca + languageName: node + linkType: hard + +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist-options@npm:4.1.0": + version: 4.1.0 + resolution: "minimist-options@npm:4.1.0" + dependencies: + arrify: "npm:^1.0.1" + is-plain-obj: "npm:^1.1.0" + kind-of: "npm:^6.0.3" + checksum: 10c0/7871f9cdd15d1e7374e5b013e2ceda3d327a06a8c7b38ae16d9ef941e07d985e952c589e57213f7aa90a8744c60aed9524c0d85e501f5478382d9181f2763f54 + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/8f82bd1f3095b24f53a991b04b67f4c710c894e518b813f0864a31de5570441a509be1ca17e0bb92b047591a8fdbeb886f502764fefb00d2f144f4011791e898 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^2.0.3": + version: 2.1.2 + resolution: "minipass-fetch@npm:2.1.2" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^3.1.6" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/33ab2c5bdb3d91b9cb8bc6ae42d7418f4f00f7f7beae14b3bb21ea18f9224e792f560a6e17b6f1be12bbeb70dbe99a269f4204c60e5d99130a0777b153505c43 + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-json-stream@npm:^1.0.1": + version: 1.0.2 + resolution: "minipass-json-stream@npm:1.0.2" + dependencies: + jsonparse: "npm:^1.3.1" + minipass: "npm:^3.0.0" + checksum: 10c0/c2fc0d9719dd445d08de82bb449b51c59c3609a08064dd270da8bc76e4e542f4f354b5b1ef3b6e2f2f5b621b25e21ffbd0f0fa26ba6a80121fc19c3ad0d4db2c + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^4.0.0, minipass@npm:^4.2.4": + version: 4.2.8 + resolution: "minipass@npm:4.2.8" + checksum: 10c0/4ea76b030d97079f4429d6e8a8affd90baf1b6a1898977c8ccce4701c5a2ba2792e033abc6709373f25c2c4d4d95440d9d5e9464b46b7b76ca44d2ce26d939ce + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 + languageName: node + linkType: hard + +"mixin-deep@npm:^1.2.0": + version: 1.3.2 + resolution: "mixin-deep@npm:1.3.2" + dependencies: + for-in: "npm:^1.0.2" + is-extendable: "npm:^1.0.1" + checksum: 10c0/cb39ffb73c377222391af788b4c83d1a6cecb2d9fceb7015384f8deb46e151a9b030c21ef59a79cb524d4557e3f74c7248ab948a62a6e7e296b42644863d183b + languageName: node + linkType: hard + +"mkdirp-infer-owner@npm:^2.0.0": + version: 2.0.0 + resolution: "mkdirp-infer-owner@npm:2.0.0" + dependencies: + chownr: "npm:^2.0.0" + infer-owner: "npm:^1.0.4" + mkdirp: "npm:^1.0.3" + checksum: 10c0/548356a586b92a16fc90eb62b953e5a23d594b56084ecdf72446f4164bbaa6a3bacd8c140672ad24f10c5f561e16c35ac3d97a5ab422832c5ed5449c72501a03 + languageName: node + linkType: hard + +"mkdirp@npm:>=0.5 0, mkdirp@npm:^0.5.1": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: "npm:^1.2.6" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.0, mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"mocha-junit-reporter@npm:^2.0.0": + version: 2.2.1 + resolution: "mocha-junit-reporter@npm:2.2.1" + dependencies: + debug: "npm:^4.3.4" + md5: "npm:^2.3.0" + mkdirp: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + xml: "npm:^1.0.1" + peerDependencies: + mocha: ">=2.2.5" + checksum: 10c0/365a7a3f2f442864e0b75fa5bda2f7b0594e3056dc8db440445c9eb9a2f2b00b70c0ec4220ade61f441eeeeee5fa2a76465fa58fb7f7f914c6e9cbd02d76fba2 + languageName: node + linkType: hard + +"mocha-multi-reporters@npm:^1.5.1": + version: 1.5.1 + resolution: "mocha-multi-reporters@npm:1.5.1" + dependencies: + debug: "npm:^4.1.1" + lodash: "npm:^4.17.15" + peerDependencies: + mocha: ">=3.1.2" + checksum: 10c0/81a62668c34aed76fad3b8eff7d27a11f1730cb89957b4cac32a9e1050547fd8711a02f4100b4bd36c4234a7f62618158b7aa7cb946d882bb622c80a9051681d + languageName: node + linkType: hard + +"mocha@npm:^8.2.1, mocha@npm:^8.3.0": + version: 8.4.0 + resolution: "mocha@npm:8.4.0" + dependencies: + "@ungap/promise-all-settled": "npm:1.1.2" + ansi-colors: "npm:4.1.1" + browser-stdout: "npm:1.3.1" + chokidar: "npm:3.5.1" + debug: "npm:4.3.1" + diff: "npm:5.0.0" + escape-string-regexp: "npm:4.0.0" + find-up: "npm:5.0.0" + glob: "npm:7.1.6" + growl: "npm:1.10.5" + he: "npm:1.2.0" + js-yaml: "npm:4.0.0" + log-symbols: "npm:4.0.0" + minimatch: "npm:3.0.4" + ms: "npm:2.1.3" + nanoid: "npm:3.1.20" + serialize-javascript: "npm:5.0.1" + strip-json-comments: "npm:3.1.1" + supports-color: "npm:8.1.1" + which: "npm:2.0.2" + wide-align: "npm:1.1.3" + workerpool: "npm:6.1.0" + yargs: "npm:16.2.0" + yargs-parser: "npm:20.2.4" + yargs-unparser: "npm:2.0.0" + bin: + _mocha: bin/_mocha + mocha: bin/mocha + checksum: 10c0/9b4d31e1f3fdbc4efad38a2a98b4990ce823f6241f62ca31a7489d811628ccf68317a2b0caf50b235eb04738b41bf539c5ee9d4f456bc0596a58d2e46f7eee99 + languageName: node + linkType: hard + +"modify-values@npm:^1.0.0": + version: 1.0.1 + resolution: "modify-values@npm:1.0.1" + checksum: 10c0/6acb1b82aaf7a02f9f7b554b20cbfc159f223a79c66b0a257511c5933d50b85e12ea1220b0a90a2af6f80bc29ff784f929a52a51881867a93ae6a12ce87a729a + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"msgpackr-extract@npm:^3.0.2": + version: 3.0.3 + resolution: "msgpackr-extract@npm:3.0.3" + dependencies: + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "npm:3.0.3" + "@msgpackr-extract/msgpackr-extract-darwin-x64": "npm:3.0.3" + "@msgpackr-extract/msgpackr-extract-linux-arm": "npm:3.0.3" + "@msgpackr-extract/msgpackr-extract-linux-arm64": "npm:3.0.3" + "@msgpackr-extract/msgpackr-extract-linux-x64": "npm:3.0.3" + "@msgpackr-extract/msgpackr-extract-win32-x64": "npm:3.0.3" + node-gyp: "npm:latest" + node-gyp-build-optional-packages: "npm:5.2.2" + dependenciesMeta: + "@msgpackr-extract/msgpackr-extract-darwin-arm64": + optional: true + "@msgpackr-extract/msgpackr-extract-darwin-x64": + optional: true + "@msgpackr-extract/msgpackr-extract-linux-arm": + optional: true + "@msgpackr-extract/msgpackr-extract-linux-arm64": + optional: true + "@msgpackr-extract/msgpackr-extract-linux-x64": + optional: true + "@msgpackr-extract/msgpackr-extract-win32-x64": + optional: true + bin: + download-msgpackr-prebuilds: bin/download-prebuilds.js + checksum: 10c0/e504fd8bf86a29d7527c83776530ee6dc92dcb0273bb3679fd4a85173efead7f0ee32fb82c8410a13c33ef32828c45f81118ffc0fbed5d6842e72299894623b4 + languageName: node + linkType: hard + +"msgpackr@npm:^1.9.5, msgpackr@npm:^1.9.9": + version: 1.11.2 + resolution: "msgpackr@npm:1.11.2" + dependencies: + msgpackr-extract: "npm:^3.0.2" + dependenciesMeta: + msgpackr-extract: + optional: true + checksum: 10c0/7d2e81ca82c397b2352d470d6bc8f4a967fe4fe14f8fc1fc9906b23009fdfb543999b1ad29c700b8861581e0b6bf903d6f0fefb69a09375cbca6d4d802e6c906 + languageName: node + linkType: hard + +"multimatch@npm:5.0.0": + version: 5.0.0 + resolution: "multimatch@npm:5.0.0" + dependencies: + "@types/minimatch": "npm:^3.0.3" + array-differ: "npm:^3.0.0" + array-union: "npm:^2.1.0" + arrify: "npm:^2.0.1" + minimatch: "npm:^3.0.4" + checksum: 10c0/252ffae6d19491c169c22fc30cf8a99f6031f94a3495f187d3430b06200e9f05a7efae90ab9d834f090834e0d9c979ab55e7ad21f61a37995d807b4b0ccdcbd1 + languageName: node + linkType: hard + +"murmurhash-js@npm:^1.0.0": + version: 1.0.0 + resolution: "murmurhash-js@npm:1.0.0" + checksum: 10c0/f8569e16db0ba6f953bf88286e97cf737f1efe97b224e537c9308566ab963a067c7eca5b636fb473d6413c4cc3b79690b78ff7ab0f290e75db91c6fde0df92b4 + languageName: node + linkType: hard + +"mute-stdout@npm:^1.0.0": + version: 1.0.1 + resolution: "mute-stdout@npm:1.0.1" + checksum: 10c0/5b6a20ee77cbe9e61fa52cfb1f2ddf1c21d49a0c874a2f6a24bbff962031084a0694a0258e92b33c0f492229416031c1a53d4dcffc902b981daff2379fd40903 + languageName: node + linkType: hard + +"mute-stream@npm:0.0.8, mute-stream@npm:~0.0.4": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: 10c0/18d06d92e5d6d45e2b63c0e1b8f25376af71748ac36f53c059baa8b76ffac31c5ab225480494e7d35d30215ecdb18fed26ec23cafcd2f7733f2f14406bcd19e2 + languageName: node + linkType: hard + +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + +"nan@npm:^2.12.1": + version: 2.22.0 + resolution: "nan@npm:2.22.0" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/d5d31aefdb218deba308d44867c5f432b4d3aabeb57c70a2b236d62652e9fee7044e5d5afd380d9fef022fe7ebb2f2d6c85ca3cbcac5031aaca3592c844526bb + languageName: node + linkType: hard + +"nano-css@npm:^5.6.2": + version: 5.6.2 + resolution: "nano-css@npm:5.6.2" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + css-tree: "npm:^1.1.2" + csstype: "npm:^3.1.2" + fastest-stable-stringify: "npm:^2.0.2" + inline-style-prefixer: "npm:^7.0.1" + rtl-css-js: "npm:^1.16.1" + stacktrace-js: "npm:^2.0.2" + stylis: "npm:^4.3.0" + peerDependencies: + react: "*" + react-dom: "*" + checksum: 10c0/566fb9403815d78a110d68f011e1125cbeeb7299e2e6c60700f316ba0c48dc702c039163eae7a8f213a1390e45cedfdeccc203794d61a61116598adbb83029ec + languageName: node + linkType: hard + +"nanoid@npm:3.1.20": + version: 3.1.20 + resolution: "nanoid@npm:3.1.20" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/aac1e0b6bc8fb96a83a32a652df88385ccd66df6adaed257202f086d9d6e4ab3b3fb6bf9ea0e81a0e2996ae80da465760a8049105a499331ba57344868edac04 + languageName: node + linkType: hard + +"nanoid@npm:^3.1.12, nanoid@npm:^3.3.7": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + languageName: node + linkType: hard + +"nanomatch@npm:^1.2.9": + version: 1.2.13 + resolution: "nanomatch@npm:1.2.13" + dependencies: + arr-diff: "npm:^4.0.0" + array-unique: "npm:^0.3.2" + define-property: "npm:^2.0.2" + extend-shallow: "npm:^3.0.2" + fragment-cache: "npm:^0.2.1" + is-windows: "npm:^1.0.2" + kind-of: "npm:^6.0.2" + object.pick: "npm:^1.3.0" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.1" + checksum: 10c0/0f5cefa755ca2e20c86332821995effb24acb79551ddaf51c1b9112628cad234a0d8fd9ac6aa56ad1f8bfad6ff6ae86e851acb960943249d9fa44b091479953a + languageName: node + linkType: hard + +"napi-wasm@npm:^1.0.1, napi-wasm@npm:^1.1.2": + version: 1.1.3 + resolution: "napi-wasm@npm:1.1.3" + checksum: 10c0/7c365ab9dc59e6f20d7b7886279ecc03ffc7c3d502ed66d32652e3681c3a56c372f00f29b110aefd9b074a6bab6a997e9b602968c18622e2586818f417e41a5d + languageName: node + linkType: hard + +"natural-compare-lite@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare-lite@npm:1.4.0" + checksum: 10c0/f6cef26f5044515754802c0fc475d81426f3b90fe88c20fabe08771ce1f736ce46e0397c10acb569a4dd0acb84c7f1ee70676122f95d5bfdd747af3a6c6bbaa8 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"ncp@npm:^2.0.0": + version: 2.0.0 + resolution: "ncp@npm:2.0.0" + bin: + ncp: ./bin/ncp + checksum: 10c0/d515babf9d3205ab9252e7d640af7c3e1a880317016d41f2fce2e6b9c8f60eb8bb6afde30e8c4f8e1e3fa551465f094433c3f364b25a85d6a28ec52c1ad6e067 + languageName: node + linkType: hard + +"needle@npm:^3.1.0": + version: 3.3.1 + resolution: "needle@npm:3.3.1" + dependencies: + iconv-lite: "npm:^0.6.3" + sax: "npm:^1.2.4" + bin: + needle: bin/needle + checksum: 10c0/233b9315d47b735867d03e7a018fb665ee6cacf3a83b991b19538019cf42b538a3e85ca745c840b4c5e9a0ffdca76472f941363bf7c166214ae8cbc650fd4d39 + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d + languageName: node + linkType: hard + +"next-tick@npm:^1.1.0": + version: 1.1.0 + resolution: "next-tick@npm:1.1.0" + checksum: 10c0/3ba80dd805fcb336b4f52e010992f3e6175869c8d88bf4ff0a81d5d66e6049f89993463b28211613e58a6b7fe93ff5ccbba0da18d4fa574b96289e8f0b577f28 + languageName: node + linkType: hard + +"nib@npm:^1.1.2": + version: 1.2.0 + resolution: "nib@npm:1.2.0" + peerDependencies: + stylus: "*" + checksum: 10c0/c210054ddf292f43fc35dcdb295ef0343840284ded0b70a36f9501fc37155cfd90d0257549ad31172414c873caec5609c863c455e42c23e767e490cd40b7d4db + languageName: node + linkType: hard + +"nice-try@npm:^1.0.4": + version: 1.0.5 + resolution: "nice-try@npm:1.0.5" + checksum: 10c0/95568c1b73e1d0d4069a3e3061a2102d854513d37bcfda73300015b7ba4868d3b27c198d1dbbd8ebdef4112fc2ed9e895d4a0f2e1cce0bd334f2a1346dc9205f + languageName: node + linkType: hard + +"nise@npm:^1.5.2": + version: 1.5.3 + resolution: "nise@npm:1.5.3" + dependencies: + "@sinonjs/formatio": "npm:^3.2.1" + "@sinonjs/text-encoding": "npm:^0.7.1" + just-extend: "npm:^4.0.2" + lolex: "npm:^5.0.1" + path-to-regexp: "npm:^1.7.0" + checksum: 10c0/c142f35719f2d1e173d1bb041aeeaff42045ba665dc2e41393c3a9c102829ad3c555ec4271b41c66bf2ed8d2fbd56dbd29fbd5a3467ac743d46966161898357c + languageName: node + linkType: hard + +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: "npm:^2.0.2" + tslib: "npm:^2.0.3" + checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 + languageName: node + linkType: hard + +"node-addon-api@npm:^6.1.0": + version: 6.1.0 + resolution: "node-addon-api@npm:6.1.0" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/d2699c4ad15740fd31482a3b6fca789af7723ab9d393adc6ac45250faaee72edad8f0b10b2b9d087df0de93f1bdc16d97afdd179b26b9ebc9ed68b569faa4bac + languageName: node + linkType: hard + +"node-addon-api@npm:^7.0.0": + version: 7.1.1 + resolution: "node-addon-api@npm:7.1.1" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 + languageName: node + linkType: hard + +"node-elm-compiler@npm:^5.0.5": + version: 5.0.6 + resolution: "node-elm-compiler@npm:5.0.6" + dependencies: + cross-spawn: "npm:6.0.5" + find-elm-dependencies: "npm:^2.0.4" + lodash: "npm:^4.17.19" + temp: "npm:^0.9.0" + checksum: 10c0/17cf83f08b6e4b99cab3ad555d44fcb84223cf96e54af400ae334933d440e2de9772064d976da337f1e07c1795ad4ab30eaa335b4d5a9cf0501bc4af020f1599 + languageName: node + linkType: hard + +"node-fetch@npm:2.6.7": + version: 2.6.7 + resolution: "node-fetch@npm:2.6.7" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/fcae80f5ac52fbf5012f5e19df2bd3915e67d3b3ad51cb5942943df2238d32ba15890fecabd0e166876a9f98a581ab50f3f10eb942b09405c49ef8da36b826c7 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + +"node-forge@npm:^1.2.1": + version: 1.3.1 + resolution: "node-forge@npm:1.3.1" + checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 + languageName: node + linkType: hard + +"node-gyp-build-optional-packages@npm:5.1.1": + version: 5.1.1 + resolution: "node-gyp-build-optional-packages@npm:5.1.1" + dependencies: + detect-libc: "npm:^2.0.1" + bin: + node-gyp-build-optional-packages: bin.js + node-gyp-build-optional-packages-optional: optional.js + node-gyp-build-optional-packages-test: build-test.js + checksum: 10c0/f9fad2061c48fb0fc90831cd11d6a7670d731d22a5b00c7d3441b43b4003543299ff64ff2729afe2cefd7d14928e560d469336e5bb00f613932ec2cd56b3665b + languageName: node + linkType: hard + +"node-gyp-build-optional-packages@npm:5.2.2": + version: 5.2.2 + resolution: "node-gyp-build-optional-packages@npm:5.2.2" + dependencies: + detect-libc: "npm:^2.0.1" + bin: + node-gyp-build-optional-packages: bin.js + node-gyp-build-optional-packages-optional: optional.js + node-gyp-build-optional-packages-test: build-test.js + checksum: 10c0/c81128c6f91873381be178c5eddcbdf66a148a6a89a427ce2bcd457593ce69baf2a8662b6d22cac092d24aa9c43c230dec4e69b3a0da604503f4777cd77e282b + languageName: node + linkType: hard + +"node-gyp@npm:^9.0.0": + version: 9.4.1 + resolution: "node-gyp@npm:9.4.1" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^10.0.3" + nopt: "npm:^6.0.0" + npmlog: "npm:^6.0.0" + rimraf: "npm:^3.0.2" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^2.0.2" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/f7d676cfa79f27d35edf17fe9c80064123670362352d19729e5dc9393d7e99f1397491c3107eddc0c0e8941442a6244a7ba6c860cfbe4b433b4cae248a55fe10 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a + languageName: node + linkType: hard + +"node-ipc@npm:^9.1.4": + version: 9.2.1 + resolution: "node-ipc@npm:9.2.1" + dependencies: + event-pubsub: "npm:4.3.0" + js-message: "npm:1.0.7" + js-queue: "npm:2.0.2" + checksum: 10c0/ed6448e2c643a831b9795a52de727658417a2cbedd3a59988b9be7654383982577dc507e0ec13211d10ed90377124366e3869a137b05093a424caf647eba0523 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.18": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27 + languageName: node + linkType: hard + +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" + dependencies: + abbrev: "npm:^1.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/837b52c330df16fcaad816b1f54fec6b2854ab1aa771d935c1603fbcf9b023bb073f1466b1b67f48ea4dce127ae675b85b9d9355700e9b109de39db490919786 + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: "npm:^2.1.4" + resolve: "npm:^1.10.0" + semver: "npm:2 || 3 || 4 || 5" + validate-npm-package-license: "npm:^3.0.1" + checksum: 10c0/357cb1646deb42f8eb4c7d42c4edf0eec312f3628c2ef98501963cc4bbe7277021b2b1d977f982b2edce78f5a1014613ce9cf38085c3df2d76730481357ca504 + languageName: node + linkType: hard + +"normalize-package-data@npm:^3.0.0": + version: 3.0.3 + resolution: "normalize-package-data@npm:3.0.3" + dependencies: + hosted-git-info: "npm:^4.0.1" + is-core-module: "npm:^2.5.0" + semver: "npm:^7.3.4" + validate-npm-package-license: "npm:^3.0.1" + checksum: 10c0/e5d0f739ba2c465d41f77c9d950e291ea4af78f8816ddb91c5da62257c40b76d8c83278b0d08ffbcd0f187636ebddad20e181e924873916d03e6e5ea2ef026be + languageName: node + linkType: hard + +"normalize-package-data@npm:^4.0.0": + version: 4.0.1 + resolution: "normalize-package-data@npm:4.0.1" + dependencies: + hosted-git-info: "npm:^5.0.0" + is-core-module: "npm:^2.8.1" + semver: "npm:^7.3.5" + validate-npm-package-license: "npm:^3.0.4" + checksum: 10c0/3a6ace810d1bd2fd23b98fa53790a28bbfade5380eea0f2e0cc5cbc24987db43a4780846942edee7069fa9574bf050a9ed8d35faf9079e5e4d9a737d07a136dd + languageName: node + linkType: hard + +"normalize-package-data@npm:^5.0.0": + version: 5.0.0 + resolution: "normalize-package-data@npm:5.0.0" + dependencies: + hosted-git-info: "npm:^6.0.0" + is-core-module: "npm:^2.8.1" + semver: "npm:^7.3.5" + validate-npm-package-license: "npm:^3.0.4" + checksum: 10c0/705fe66279edad2f93f6e504d5dc37984e404361a3df921a76ab61447eb285132d20ff261cc0bee9566b8ce895d75fcfec913417170add267e2873429fe38392 + languageName: node + linkType: hard + +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: "npm:^1.0.1" + checksum: 10c0/db814326ff88057437233361b4c7e9cac7b54815b051b57f2d341ce89b1d8ec8cbd43e7fa95d7652b3b69ea8fcc294b89b8530d556a84d1bdace94229e1e9a8b + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: 10c0/bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 + languageName: node + linkType: hard + +"now-and-later@npm:^2.0.0": + version: 2.0.1 + resolution: "now-and-later@npm:2.0.1" + dependencies: + once: "npm:^1.3.2" + checksum: 10c0/a3b123b6a7378f300cf45b381efb69b7d085a4151dceeca8442e7e08aa50f6e44d15af114261dca201e19be85f9e25dd61ad74aab62ad3675210bfc60f1f19f5 + languageName: node + linkType: hard + +"npm-bundled@npm:^1.1.2": + version: 1.1.2 + resolution: "npm-bundled@npm:1.1.2" + dependencies: + npm-normalize-package-bin: "npm:^1.0.1" + checksum: 10c0/3f2337789afc8cb608a0dd71cefe459531053d48a5497db14b07b985c4cab15afcae88600db9f92eae072c89b982eeeec8e4463e1d77bc03a7e90f5dacf29769 + languageName: node + linkType: hard + +"npm-bundled@npm:^3.0.0": + version: 3.0.1 + resolution: "npm-bundled@npm:3.0.1" + dependencies: + npm-normalize-package-bin: "npm:^3.0.0" + checksum: 10c0/7975590a50b7ce80dd9f3eddc87f7e990c758f2f2c4d9313dd67a9aca38f1a5ac0abe20d514b850902c441e89d2346adfc3c6f1e9cbab3ea28ebb653c4442440 + languageName: node + linkType: hard + +"npm-install-checks@npm:^6.0.0": + version: 6.3.0 + resolution: "npm-install-checks@npm:6.3.0" + dependencies: + semver: "npm:^7.1.1" + checksum: 10c0/b046ef1de9b40f5d3a9831ce198e1770140a1c3f253dae22eb7b06045191ef79f18f1dcc15a945c919b3c161426861a28050abd321bf439190185794783b6452 + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^1.0.1": + version: 1.0.1 + resolution: "npm-normalize-package-bin@npm:1.0.1" + checksum: 10c0/b0c8c05fe419a122e0ff970ccbe7874ae24b4b4b08941a24d18097fe6e1f4b93e3f6abfb5512f9c5488827a5592f2fb3ce2431c41d338802aed24b9a0c160551 + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^2.0.0": + version: 2.0.0 + resolution: "npm-normalize-package-bin@npm:2.0.0" + checksum: 10c0/9b5283a2e423124c60fbc14244d36686b59e517d29156eacf9df8d3dc5d5bf4d9444b7669c607567ed2e089bbdbef5a2b3678cbf567284eeff3612da6939514b + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^3.0.0, npm-normalize-package-bin@npm:^3.0.1": + version: 3.0.1 + resolution: "npm-normalize-package-bin@npm:3.0.1" + checksum: 10c0/f1831a7f12622840e1375c785c3dab7b1d82dd521211c17ee5e9610cd1a34d8b232d3fdeebf50c170eddcb321d2c644bf73dbe35545da7d588c6b3fa488db0a5 + languageName: node + linkType: hard + +"npm-package-arg@npm:8.1.1": + version: 8.1.1 + resolution: "npm-package-arg@npm:8.1.1" + dependencies: + hosted-git-info: "npm:^3.0.6" + semver: "npm:^7.0.0" + validate-npm-package-name: "npm:^3.0.0" + checksum: 10c0/833f1f6b730649a4f19b5a8491f4e640f31940aa907ec86ed58d7b3ebe48bf528ad4d3f6151199944cb5a60c24e810d75e0e0ee3226af80026f91d34619b49f8 + languageName: node + linkType: hard + +"npm-package-arg@npm:^10.0.0, npm-package-arg@npm:^10.1.0": + version: 10.1.0 + resolution: "npm-package-arg@npm:10.1.0" + dependencies: + hosted-git-info: "npm:^6.0.0" + proc-log: "npm:^3.0.0" + semver: "npm:^7.3.5" + validate-npm-package-name: "npm:^5.0.0" + checksum: 10c0/ab56ed775b48e22755c324536336e3749b6a17763602bc0fb0d7e8b298100c2de8b5e2fb1d4fb3f451e9e076707a27096782e9b3a8da0c5b7de296be184b5a90 + languageName: node + linkType: hard + +"npm-package-arg@npm:^9.0.1": + version: 9.1.2 + resolution: "npm-package-arg@npm:9.1.2" + dependencies: + hosted-git-info: "npm:^5.0.0" + proc-log: "npm:^2.0.1" + semver: "npm:^7.3.5" + validate-npm-package-name: "npm:^4.0.0" + checksum: 10c0/e81aa931adfc5f19fb9f10fe9eb120a0203d63b879594b1a473c64257761cdde42e32fb5d9b2e90d6944a3229e8c3ffa62ce8c31a7c9c4971d34f9219fdc0bb5 + languageName: node + linkType: hard + +"npm-packlist@npm:5.1.1": + version: 5.1.1 + resolution: "npm-packlist@npm:5.1.1" + dependencies: + glob: "npm:^8.0.1" + ignore-walk: "npm:^5.0.1" + npm-bundled: "npm:^1.1.2" + npm-normalize-package-bin: "npm:^1.0.1" + bin: + npm-packlist: bin/index.js + checksum: 10c0/8d9845883722931576e8eb10ef779407ecfe7d3aec696af76fb3ccbee776560c214ef87bad3615f98bdf0bab759a3a0e5667932cd2c29e14d2a37de22ddf601c + languageName: node + linkType: hard + +"npm-packlist@npm:^7.0.0": + version: 7.0.4 + resolution: "npm-packlist@npm:7.0.4" + dependencies: + ignore-walk: "npm:^6.0.0" + checksum: 10c0/a6528b2d0aa09288166a21a04bb152231d29fd8c0e40e551ea5edb323a12d0580aace11b340387ba3a01c614db25bb4100a10c20d0ff53976eed786f95b82536 + languageName: node + linkType: hard + +"npm-pick-manifest@npm:^8.0.0, npm-pick-manifest@npm:^8.0.1": + version: 8.0.2 + resolution: "npm-pick-manifest@npm:8.0.2" + dependencies: + npm-install-checks: "npm:^6.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + npm-package-arg: "npm:^10.0.0" + semver: "npm:^7.3.5" + checksum: 10c0/9e58f7732203dbfdd7a338d6fd691c564017fd2ebfaa0ea39528a21db0c99f26370c759d99a0c5684307b79dbf76fa20e387010358a8651e273dc89930e922a0 + languageName: node + linkType: hard + +"npm-registry-fetch@npm:14.0.3": + version: 14.0.3 + resolution: "npm-registry-fetch@npm:14.0.3" + dependencies: + make-fetch-happen: "npm:^11.0.0" + minipass: "npm:^4.0.0" + minipass-fetch: "npm:^3.0.0" + minipass-json-stream: "npm:^1.0.1" + minizlib: "npm:^2.1.2" + npm-package-arg: "npm:^10.0.0" + proc-log: "npm:^3.0.0" + checksum: 10c0/5841f584b6a35200c7a0587f4c6bddbc6b5724b034840eb1d8879d13386e21d1bc86a4696a907559df848c19dd91b81fe10107b210dc6d28fdd300e48ea838d7 + languageName: node + linkType: hard + +"npm-registry-fetch@npm:^13.0.0": + version: 13.3.1 + resolution: "npm-registry-fetch@npm:13.3.1" + dependencies: + make-fetch-happen: "npm:^10.0.6" + minipass: "npm:^3.1.6" + minipass-fetch: "npm:^2.0.3" + minipass-json-stream: "npm:^1.0.1" + minizlib: "npm:^2.1.2" + npm-package-arg: "npm:^9.0.1" + proc-log: "npm:^2.0.0" + checksum: 10c0/86c8cdc2b0d2aa97d06031962f39442b0eacecd9989eebc88451e6b53b3c8572b89fb09cf0042ce6080e7d120353af359a75c5f60b085b5b455337d1e39e57ab + languageName: node + linkType: hard + +"npm-registry-fetch@npm:^14.0.0, npm-registry-fetch@npm:^14.0.3": + version: 14.0.5 + resolution: "npm-registry-fetch@npm:14.0.5" + dependencies: + make-fetch-happen: "npm:^11.0.0" + minipass: "npm:^5.0.0" + minipass-fetch: "npm:^3.0.0" + minipass-json-stream: "npm:^1.0.1" + minizlib: "npm:^2.1.2" + npm-package-arg: "npm:^10.0.0" + proc-log: "npm:^3.0.0" + checksum: 10c0/6f556095feb20455d6dc3bb2d5f602df9c5725ab49bca8570135e2900d0ccd0a619427bb668639d94d42651fab0a9e8e234f5381767982a1af17d721799cfc2d + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"npmlog@npm:6.0.2, npmlog@npm:^6.0.0, npmlog@npm:^6.0.2": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: "npm:^3.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^4.0.3" + set-blocking: "npm:^2.0.0" + checksum: 10c0/0cacedfbc2f6139c746d9cd4a85f62718435ad0ca4a2d6459cd331dd33ae58206e91a0742c1558634efcde3f33f8e8e7fd3adf1bfe7978310cf00bd55cccf890 + languageName: node + linkType: hard + +"npmlog@npm:^7.0.1": + version: 7.0.1 + resolution: "npmlog@npm:7.0.1" + dependencies: + are-we-there-yet: "npm:^4.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^5.0.0" + set-blocking: "npm:^2.0.0" + checksum: 10c0/d4e6a2aaa7b5b5d2e2ed8f8ac3770789ca0691a49f3576b6a8c97d560a4c3305d2c233a9173d62be737e6e4506bf9e89debd6120a3843c1d37315c34f90fef71 + languageName: node + linkType: hard + +"nth-check@npm:^2.0.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: "npm:^1.0.0" + checksum: 10c0/5fee7ff309727763689cfad844d979aedd2204a817fbaaf0e1603794a7c20db28548d7b024692f953557df6ce4a0ee4ae46cd8ebd9b36cfb300b9226b567c479 + languageName: node + linkType: hard + +"nullthrows@npm:^1.1.1": + version: 1.1.1 + resolution: "nullthrows@npm:1.1.1" + checksum: 10c0/56f34bd7c3dcb3bd23481a277fa22918120459d3e9d95ca72976c72e9cac33a97483f0b95fc420e2eb546b9fe6db398273aba9a938650cdb8c98ee8f159dcb30 + languageName: node + linkType: hard + +"number-is-nan@npm:^1.0.0": + version: 1.0.1 + resolution: "number-is-nan@npm:1.0.1" + checksum: 10c0/cb97149006acc5cd512c13c1838223abdf202e76ddfa059c5e8e7507aff2c3a78cd19057516885a2f6f5b576543dc4f7b6f3c997cc7df53ae26c260855466df5 + languageName: node + linkType: hard + +"nwsapi@npm:^2.2.12": + version: 2.2.13 + resolution: "nwsapi@npm:2.2.13" + checksum: 10c0/9dbd1071bba3570ef0b046c43c03d0584c461063f27539ba39f4185188e9d5c10cb06fd4426cdb300bb83020c3daa2c8f4fa9e8a070299539ac4007433357ac0 + languageName: node + linkType: hard + +"nx@npm:15.9.7, nx@npm:>=15.5.2 < 16": + version: 15.9.7 + resolution: "nx@npm:15.9.7" + dependencies: + "@nrwl/cli": "npm:15.9.7" + "@nrwl/nx-darwin-arm64": "npm:15.9.7" + "@nrwl/nx-darwin-x64": "npm:15.9.7" + "@nrwl/nx-linux-arm-gnueabihf": "npm:15.9.7" + "@nrwl/nx-linux-arm64-gnu": "npm:15.9.7" + "@nrwl/nx-linux-arm64-musl": "npm:15.9.7" + "@nrwl/nx-linux-x64-gnu": "npm:15.9.7" + "@nrwl/nx-linux-x64-musl": "npm:15.9.7" + "@nrwl/nx-win32-arm64-msvc": "npm:15.9.7" + "@nrwl/nx-win32-x64-msvc": "npm:15.9.7" + "@nrwl/tao": "npm:15.9.7" + "@parcel/watcher": "npm:2.0.4" + "@yarnpkg/lockfile": "npm:^1.1.0" + "@yarnpkg/parsers": "npm:3.0.0-rc.46" + "@zkochan/js-yaml": "npm:0.0.6" + axios: "npm:^1.0.0" + chalk: "npm:^4.1.0" + cli-cursor: "npm:3.1.0" + cli-spinners: "npm:2.6.1" + cliui: "npm:^7.0.2" + dotenv: "npm:~10.0.0" + enquirer: "npm:~2.3.6" + fast-glob: "npm:3.2.7" + figures: "npm:3.2.0" + flat: "npm:^5.0.2" + fs-extra: "npm:^11.1.0" + glob: "npm:7.1.4" + ignore: "npm:^5.0.4" + js-yaml: "npm:4.1.0" + jsonc-parser: "npm:3.2.0" + lines-and-columns: "npm:~2.0.3" + minimatch: "npm:3.0.5" + npm-run-path: "npm:^4.0.1" + open: "npm:^8.4.0" + semver: "npm:7.5.4" + string-width: "npm:^4.2.3" + strong-log-transformer: "npm:^2.1.0" + tar-stream: "npm:~2.2.0" + tmp: "npm:~0.2.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + v8-compile-cache: "npm:2.3.0" + yargs: "npm:^17.6.2" + yargs-parser: "npm:21.1.1" + peerDependencies: + "@swc-node/register": ^1.4.2 + "@swc/core": ^1.2.173 + dependenciesMeta: + "@nrwl/nx-darwin-arm64": + optional: true + "@nrwl/nx-darwin-x64": + optional: true + "@nrwl/nx-linux-arm-gnueabihf": + optional: true + "@nrwl/nx-linux-arm64-gnu": + optional: true + "@nrwl/nx-linux-arm64-musl": + optional: true + "@nrwl/nx-linux-x64-gnu": + optional: true + "@nrwl/nx-linux-x64-musl": + optional: true + "@nrwl/nx-win32-arm64-msvc": + optional: true + "@nrwl/nx-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + bin: + nx: bin/nx.js + checksum: 10c0/39b3c7e5efef3a10d0249db321a78fc9bb34806ae3d21ee211df29321367259841556989cbb4391b74f77d78f2629f90e65387b9414030fd921a9a03f8ccfbdc + languageName: node + linkType: hard + +"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-copy@npm:^0.1.0": + version: 0.1.0 + resolution: "object-copy@npm:0.1.0" + dependencies: + copy-descriptor: "npm:^0.1.0" + define-property: "npm:^0.2.5" + kind-of: "npm:^3.0.3" + checksum: 10c0/79314b05e9d626159a04f1d913f4c4aba9eae8848511cf5f4c8e3b04bb3cc313b65f60357f86462c959a14c2d58380fedf89b6b32ecec237c452a5ef3900a293 + languageName: node + linkType: hard + +"object-hash@npm:^3.0.0": + version: 3.0.0 + resolution: "object-hash@npm:3.0.0" + checksum: 10c0/a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.1, object-inspect@npm:^1.13.3": + version: 1.13.3 + resolution: "object-inspect@npm:1.13.3" + checksum: 10c0/cc3f15213406be89ffdc54b525e115156086796a515410a8d390215915db9f23c8eab485a06f1297402f440a33715fe8f71a528c1dcbad6e1a3bcaf5a46921d4 + languageName: node + linkType: hard + +"object-is@npm:^1.1.5": + version: 1.1.6 + resolution: "object-is@npm:1.1.6" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + checksum: 10c0/506af444c4dce7f8e31f34fc549e2fb8152d6b9c4a30c6e62852badd7f520b579c679af433e7a072f9d78eb7808d230dc12e1cf58da9154dfbf8813099ea0fe0 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object-visit@npm:^1.0.0": + version: 1.0.1 + resolution: "object-visit@npm:1.0.1" + dependencies: + isobject: "npm:^3.0.0" + checksum: 10c0/086b475bda24abd2318d2b187c3e928959b89f5cb5883d6fe5a42d03719b61fc18e765f658de9ac8730e67ba9ff26d61e73d991215948ff9ecefe771e0071029 + languageName: node + linkType: hard + +"object.assign@npm:^4.0.4, object.assign@npm:^4.1.0, object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" + dependencies: + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + object-keys: "npm:^1.1.1" + checksum: 10c0/60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469 + languageName: node + linkType: hard + +"object.defaults@npm:^1.0.0, object.defaults@npm:^1.1.0": + version: 1.1.0 + resolution: "object.defaults@npm:1.1.0" + dependencies: + array-each: "npm:^1.0.1" + array-slice: "npm:^1.0.0" + for-own: "npm:^1.0.0" + isobject: "npm:^3.0.0" + checksum: 10c0/9ed5c41ce500c2dce2e6f8baa71b0e73b013dcd57c02e545dd85b46e52140af707e2b05c31f6126209f8b15709f10817ddbe6fb5c13f8d873d811694f28ee3fd + languageName: node + linkType: hard + +"object.entries@npm:^1.1.8": + version: 1.1.8 + resolution: "object.entries@npm:1.1.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/db9ea979d2956a3bc26c262da4a4d212d36f374652cc4c13efdd069c1a519c16571c137e2893d1c46e1cb0e15c88fd6419eaf410c945f329f09835487d7e65d3 + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b + languageName: node + linkType: hard + +"object.groupby@npm:^1.0.3": + version: 1.0.3 + resolution: "object.groupby@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + checksum: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c + languageName: node + linkType: hard + +"object.map@npm:^1.0.0": + version: 1.0.1 + resolution: "object.map@npm:1.0.1" + dependencies: + for-own: "npm:^1.0.0" + make-iterator: "npm:^1.0.0" + checksum: 10c0/f5dff48d3aa6604e8c1983c988a1314b8858181cbedc1671a83c8db6f247a97f31a7acb7ec1b85a72a785149bc34ffbd284d953d902fef7a3c19e2064959a0aa + languageName: node + linkType: hard + +"object.pick@npm:^1.2.0, object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: "npm:^3.0.1" + checksum: 10c0/cd316ec986e49895a28f2df9182de9cdeee57cd2a952c122aacc86344c28624fe002d9affc4f48b5014ec7c033da9942b08821ddb44db8c5bac5b3ec54bdc31e + languageName: node + linkType: hard + +"object.reduce@npm:^1.0.0": + version: 1.0.1 + resolution: "object.reduce@npm:1.0.1" + dependencies: + for-own: "npm:^1.0.0" + make-iterator: "npm:^1.0.0" + checksum: 10c0/d3c10543bf939f7475e61f90784613fec60c6a3b92a45e2d7a88b1fe297c1466edd0148a102cbbb9eb14a48bafecb698917af5b76895f434e6a715e78397f5fc + languageName: node + linkType: hard + +"object.values@npm:^1.1.6, object.values@npm:^1.2.0": + version: 1.2.0 + resolution: "object.values@npm:1.2.0" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3 + languageName: node + linkType: hard + +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 + languageName: node + linkType: hard + +"on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/c904f9e518b11941eb60279a3cbfaf1289bd0001f600a950255b1dede9fe3df8cd74f38483550b3bb9485165166acb5db500c3b4c4337aec2815c88c96fcc2ea + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.3.2, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"once@npm:~1.3.0": + version: 1.3.3 + resolution: "once@npm:1.3.3" + dependencies: + wrappy: "npm:1" + checksum: 10c0/bb9c0fa8f6420b89fea4e0fc80aac175f025358cd1374a8e7afb92672f58473684f45a784e18f147d07cf87e629cc277f63f35c48fdfdced662edd18779c5876 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0, onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"open@npm:^7.0.3, open@npm:^7.4.2": + version: 7.4.2 + resolution: "open@npm:7.4.2" + dependencies: + is-docker: "npm:^2.0.0" + is-wsl: "npm:^2.1.1" + checksum: 10c0/77573a6a68f7364f3a19a4c80492712720746b63680ee304555112605ead196afe91052bd3c3d165efdf4e9d04d255e87de0d0a77acec11ef47fd5261251813f + languageName: node + linkType: hard + +"open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + languageName: node + linkType: hard + +"ora@npm:^5.2.0, ora@npm:^5.4.1": + version: 5.4.1 + resolution: "ora@npm:5.4.1" + dependencies: + bl: "npm:^4.1.0" + chalk: "npm:^4.1.0" + cli-cursor: "npm:^3.1.0" + cli-spinners: "npm:^2.5.0" + is-interactive: "npm:^1.0.0" + is-unicode-supported: "npm:^0.1.0" + log-symbols: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + wcwidth: "npm:^1.0.1" + checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 + languageName: node + linkType: hard + +"ordered-binary@npm:^1.4.1": + version: 1.5.3 + resolution: "ordered-binary@npm:1.5.3" + checksum: 10c0/2b67c90c79071f54344762fcecac256c3c6fe02a3ce1d349c7cab38a55a6137320b13022d6dd26faac462d887f48a32e04693a3ae30592185f290c793b92de03 + languageName: node + linkType: hard + +"ordered-read-streams@npm:^1.0.0": + version: 1.0.1 + resolution: "ordered-read-streams@npm:1.0.1" + dependencies: + readable-stream: "npm:^2.0.1" + checksum: 10c0/6243667adbcea69527cfebd1e483f0d06109dea578e4bbd6f185acfd1c3cc5f059b887fe600ba3084498924b9566405c0595819e02caf9ce88bc604e90b652b8 + languageName: node + linkType: hard + +"os-browserify@npm:^0.3.0": + version: 0.3.0 + resolution: "os-browserify@npm:0.3.0" + checksum: 10c0/6ff32cb1efe2bc6930ad0fd4c50e30c38010aee909eba8d65be60af55efd6cbb48f0287e3649b4e3f3a63dce5a667b23c187c4293a75e557f0d5489d735bcf52 + languageName: node + linkType: hard + +"os-homedir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-homedir@npm:1.0.2" + checksum: 10c0/6be4aa67317ee247b8d46142e243fb4ef1d2d65d3067f54bfc5079257a2f4d4d76b2da78cba7af3cb3f56dbb2e4202e0c47f26171d11ca1ed4008d842c90363f + languageName: node + linkType: hard + +"os-locale@npm:^1.4.0": + version: 1.4.0 + resolution: "os-locale@npm:1.4.0" + dependencies: + lcid: "npm:^1.0.0" + checksum: 10c0/302173159d562000ddf982ed75c493a0d861e91372c9e1b13aab21590ff2e1ba264a41995b29be8dc5278a6127ffcd2ad5591779e8164a570fc5fa6c0787b057 + languageName: node + linkType: hard + +"os-tmpdir@npm:^1.0.0, os-tmpdir@npm:~1.0.1, os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 10c0/f438450224f8e2687605a8dd318f0db694b6293c5d835ae509a69e97c8de38b6994645337e5577f5001115470414638978cc49da1cdcc25106dad8738dc69990 + languageName: node + linkType: hard + +"os@npm:0.1.1": + version: 0.1.1 + resolution: "os@npm:0.1.1" + checksum: 10c0/8b9bcca91d9f7d063b8fa3cc5735b1e250e64bfe7474e04478007e20ef98eb11c9e7548008b999c310c0068f00edbf973f1f1dffabd8a33fff04150a61171732 + languageName: node + linkType: hard + +"osenv@npm:^0.1.3": + version: 0.1.5 + resolution: "osenv@npm:0.1.5" + dependencies: + os-homedir: "npm:^1.0.0" + os-tmpdir: "npm:^1.0.0" + checksum: 10c0/b33ed4b77e662f3ee2a04bf4b56cad2107ab069dee982feb9e39ad44feb9aa0cf1016b9ac6e05d0d84c91fa496798fe48dd05a33175d624e51668068b9805302 + languageName: node + linkType: hard + +"p-finally@npm:^1.0.0": + version: 1.0.0 + resolution: "p-finally@npm:1.0.0" + checksum: 10c0/6b8552339a71fe7bd424d01d8451eea92d379a711fc62f6b2fe64cad8a472c7259a236c9a22b4733abca0b5666ad503cb497792a0478c5af31ded793d00937e7 + languageName: node + linkType: hard + +"p-limit@npm:^1.1.0": + version: 1.3.0 + resolution: "p-limit@npm:1.3.0" + dependencies: + p-try: "npm:^1.0.0" + checksum: 10c0/5c1b1d53d180b2c7501efb04b7c817448e10efe1ba46f4783f8951994d5027e4cd88f36ad79af50546682594c4ebd11702ac4b9364c47f8074890e2acad0edee + languageName: node + linkType: hard + +"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^2.0.0": + version: 2.0.0 + resolution: "p-locate@npm:2.0.0" + dependencies: + p-limit: "npm:^1.1.0" + checksum: 10c0/82da4be88fb02fd29175e66021610c881938d3cc97c813c71c1a605fac05617d57fd5d3b337494a6106c0edb2a37c860241430851411f1b265108cead34aee67 + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: "npm:^2.0.0" + checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map-series@npm:2.1.0": + version: 2.1.0 + resolution: "p-map-series@npm:2.1.0" + checksum: 10c0/302ca686a61c498b227fc45d4e2b2e5bfd20a03f4156a976d94c4ff7decf9cd5a815fa6846b43b37d587ffa8d4671ff2bd596fa83fe8b9113b5102da94940e2a + languageName: node + linkType: hard + +"p-map@npm:4.0.0, p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"p-pipe@npm:3.1.0": + version: 3.1.0 + resolution: "p-pipe@npm:3.1.0" + checksum: 10c0/9b3076828ea7e9469c0f92c78fa44096726208d547efdb2d6148cbe135d1a70bd449de5be13e234dd669d9515343bd68527b316bf9d5639cee639e2fdde20aaf + languageName: node + linkType: hard + +"p-queue@npm:6.6.2": + version: 6.6.2 + resolution: "p-queue@npm:6.6.2" + dependencies: + eventemitter3: "npm:^4.0.4" + p-timeout: "npm:^3.2.0" + checksum: 10c0/5739ecf5806bbeadf8e463793d5e3004d08bb3f6177bd1a44a005da8fd81bb90f80e4633e1fb6f1dfd35ee663a5c0229abe26aebb36f547ad5a858347c7b0d3e + languageName: node + linkType: hard + +"p-reduce@npm:2.1.0, p-reduce@npm:^2.0.0, p-reduce@npm:^2.1.0": + version: 2.1.0 + resolution: "p-reduce@npm:2.1.0" + checksum: 10c0/27b8ff0fb044995507a06cd6357dffba0f2b98862864745972562a21885d7906ce5c794036d2aaa63ef6303158e41e19aed9f19651dfdafb38548ecec7d0de15 + languageName: node + linkType: hard + +"p-timeout@npm:^3.2.0": + version: 3.2.0 + resolution: "p-timeout@npm:3.2.0" + dependencies: + p-finally: "npm:^1.0.0" + checksum: 10c0/524b393711a6ba8e1d48137c5924749f29c93d70b671e6db761afa784726572ca06149c715632da8f70c090073afb2af1c05730303f915604fd38ee207b70a61 + languageName: node + linkType: hard + +"p-try@npm:^1.0.0": + version: 1.0.0 + resolution: "p-try@npm:1.0.0" + checksum: 10c0/757ba31de5819502b80c447826fac8be5f16d3cb4fbf9bc8bc4971dba0682e84ac33e4b24176ca7058c69e29f64f34d8d9e9b08e873b7b7bb0aa89d620fa224a + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"p-waterfall@npm:2.1.1": + version: 2.1.1 + resolution: "p-waterfall@npm:2.1.1" + dependencies: + p-reduce: "npm:^2.0.0" + checksum: 10c0/ccae582b75a3597018a375f8eac32b93e8bfb9fc22a8e5037787ef4ebf5958d7465c2d3cbe26443971fbbfda2bcb7b645f694b91f928fc9a71fa5031e6e33f85 + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"pacote@npm:15.1.1": + version: 15.1.1 + resolution: "pacote@npm:15.1.1" + dependencies: + "@npmcli/git": "npm:^4.0.0" + "@npmcli/installed-package-contents": "npm:^2.0.1" + "@npmcli/promise-spawn": "npm:^6.0.1" + "@npmcli/run-script": "npm:^6.0.0" + cacache: "npm:^17.0.0" + fs-minipass: "npm:^3.0.0" + minipass: "npm:^4.0.0" + npm-package-arg: "npm:^10.0.0" + npm-packlist: "npm:^7.0.0" + npm-pick-manifest: "npm:^8.0.0" + npm-registry-fetch: "npm:^14.0.0" + proc-log: "npm:^3.0.0" + promise-retry: "npm:^2.0.1" + read-package-json: "npm:^6.0.0" + read-package-json-fast: "npm:^3.0.0" + sigstore: "npm:^1.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + bin: + pacote: lib/bin.js + checksum: 10c0/382927250bb7a410c2fd08fe5f17e25cbb10db993578dbce81ecbf2bc28439fca20457b182e7c8982c8f18eeb571e4fd60390b3b7ce8cb08e2e43953af3df22f + languageName: node + linkType: hard + +"pacote@npm:^15.0.0, pacote@npm:^15.0.8": + version: 15.2.0 + resolution: "pacote@npm:15.2.0" + dependencies: + "@npmcli/git": "npm:^4.0.0" + "@npmcli/installed-package-contents": "npm:^2.0.1" + "@npmcli/promise-spawn": "npm:^6.0.1" + "@npmcli/run-script": "npm:^6.0.0" + cacache: "npm:^17.0.0" + fs-minipass: "npm:^3.0.0" + minipass: "npm:^5.0.0" + npm-package-arg: "npm:^10.0.0" + npm-packlist: "npm:^7.0.0" + npm-pick-manifest: "npm:^8.0.0" + npm-registry-fetch: "npm:^14.0.0" + proc-log: "npm:^3.0.0" + promise-retry: "npm:^2.0.1" + read-package-json: "npm:^6.0.0" + read-package-json-fast: "npm:^3.0.0" + sigstore: "npm:^1.3.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + bin: + pacote: lib/bin.js + checksum: 10c0/0e680a360d7577df61c36c671dcc9c63a1ef176518a6ec19a3200f91da51205432559e701cba90f0ba6901372765dde68a07ff003474d656887eb09b54f35c5f + languageName: node + linkType: hard + +"pako@npm:~1.0.2, pako@npm:~1.0.5": + version: 1.0.11 + resolution: "pako@npm:1.0.11" + checksum: 10c0/86dd99d8b34c3930345b8bbeb5e1cd8a05f608eeb40967b293f72fe469d0e9c88b783a8777e4cc7dc7c91ce54c5e93d88ff4b4f060e6ff18408fd21030d9ffbe + languageName: node + linkType: hard + +"parcel-for-vscode@workspace:packages/utils/parcelforvscode": + version: 0.0.0-use.local + resolution: "parcel-for-vscode@workspace:packages/utils/parcelforvscode" + dependencies: + "@parcel/lsp": "npm:2.14.4" + "@parcel/lsp-protocol": "npm:2.14.4" + "@parcel/watcher": "npm:^2.0.7" + "@types/mocha": "npm:^8.0.4" + "@types/node": "npm:>= 18" + "@types/vscode": "npm:^1.67.0" + "@typescript-eslint/eslint-plugin": "npm:^5.59.7" + "@typescript-eslint/parser": "npm:^5.59.7" + eslint: "npm:^8.41.0" + glob: "npm:^7.1.6" + mocha: "npm:^8.2.1" + typescript: "npm:>=3.0.0" + vsce-yarn-patch: "npm:^1.66.2" + vscode-languageclient: "npm:^8.0.2" + vscode-test: "npm:^1.5.0" + languageName: unknown + linkType: soft + +"parcel-react-server-components-example@workspace:packages/examples/react-server-components": + version: 0.0.0-use.local + resolution: "parcel-react-server-components-example@workspace:packages/examples/react-server-components" + dependencies: + "@parcel/rsc": "npm:2.14.4" + express: "npm:^4.18.2" + react: "npm:^19" + react-dom: "npm:^19" + languageName: unknown + linkType: soft + +"parcel-rsc-client@workspace:packages/examples/rsc-client": + version: 0.0.0-use.local + resolution: "parcel-rsc-client@workspace:packages/examples/rsc-client" + dependencies: + "@parcel/rsc": "npm:2.14.4" + cors: "npm:^2.8.5" + express: "npm:^4.18.2" + react: "npm:^19" + react-dom: "npm:^19" + languageName: unknown + linkType: soft + +"parcel-rsc-static-example@workspace:packages/examples/react-static": + version: 0.0.0-use.local + resolution: "parcel-rsc-static-example@workspace:packages/examples/react-static" + dependencies: + "@parcel/rsc": "npm:2.14.4" + react: "npm:^19" + react-dom: "npm:^19" + languageName: unknown + linkType: soft + +"parcel@npm:2.14.4, parcel@workspace:packages/core/parcel": + version: 0.0.0-use.local + resolution: "parcel@workspace:packages/core/parcel" + dependencies: + "@babel/core": "npm:^7.22.11" + "@parcel/babel-register": "npm:2.14.4" + "@parcel/config-default": "npm:2.14.4" + "@parcel/core": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.14.4" + "@parcel/events": "npm:2.14.4" + "@parcel/feature-flags": "npm:2.14.4" + "@parcel/fs": "npm:2.14.4" + "@parcel/logger": "npm:2.14.4" + "@parcel/package-manager": "npm:2.14.4" + "@parcel/reporter-cli": "npm:2.14.4" + "@parcel/reporter-dev-server": "npm:2.14.4" + "@parcel/reporter-tracer": "npm:2.14.4" + "@parcel/utils": "npm:2.14.4" + chalk: "npm:^4.1.2" + commander: "npm:^12.1.0" + get-port: "npm:^4.2.0" + bin: + parcel: src/bin.js + languageName: unknown + linkType: soft + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.7": + version: 5.1.7 + resolution: "parse-asn1@npm:5.1.7" + dependencies: + asn1.js: "npm:^4.10.1" + browserify-aes: "npm:^1.2.0" + evp_bytestokey: "npm:^1.0.3" + hash-base: "npm:~3.0" + pbkdf2: "npm:^3.1.2" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/05eb5937405c904eb5a7f3633bab1acc11f4ae3478a07ef5c6d81ce88c3c0e505ff51f9c7b935ebc1265c868343793698fc91025755a895d0276f620f95e8a82 + languageName: node + linkType: hard + +"parse-conflict-json@npm:^3.0.0": + version: 3.0.1 + resolution: "parse-conflict-json@npm:3.0.1" + dependencies: + json-parse-even-better-errors: "npm:^3.0.0" + just-diff: "npm:^6.0.0" + just-diff-apply: "npm:^5.2.0" + checksum: 10c0/610b37181229ce3e945125c3a9548ec24d1de2d697a7ea3ef0f2660cccc6613715c2ba4bdbaf37c565133d6b61758703618a2c63d1ee29f97fd33c70a8aae323 + languageName: node + linkType: hard + +"parse-filepath@npm:^1.0.1": + version: 1.0.2 + resolution: "parse-filepath@npm:1.0.2" + dependencies: + is-absolute: "npm:^1.0.0" + map-cache: "npm:^0.2.0" + path-root: "npm:^0.1.1" + checksum: 10c0/37bbd225fa864257246777efbdf72a9305c4ae12110bf467d11994e93f8be60dd309dcef68124a2c78c5d3b4e64e1c36fcc2560e2ea93fd97767831e7a446805 + languageName: node + linkType: hard + +"parse-json@npm:^2.2.0": + version: 2.2.0 + resolution: "parse-json@npm:2.2.0" + dependencies: + error-ex: "npm:^1.2.0" + checksum: 10c0/7a90132aa76016f518a3d5d746a21b3f1ad0f97a68436ed71b6f995b67c7151141f5464eea0c16c59aec9b7756519a0e3007a8f98cf3714632d509ec07736df6 + languageName: node + linkType: hard + +"parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-json@npm:4.0.0" + dependencies: + error-ex: "npm:^1.3.1" + json-parse-better-errors: "npm:^1.0.1" + checksum: 10c0/8d80790b772ccb1bcea4e09e2697555e519d83d04a77c2b4237389b813f82898943a93ffff7d0d2406203bdd0c30dcf95b1661e3a53f83d0e417f053957bef32 + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"parse-node-version@npm:^1.0.0, parse-node-version@npm:^1.0.1": + version: 1.0.1 + resolution: "parse-node-version@npm:1.0.1" + checksum: 10c0/999cd3d7da1425c2e182dce82b226c6dc842562d3ed79ec47f5c719c32a7f6c1a5352495b894fc25df164be7f2ede4224758255da9902ddef81f2b77ba46bb2c + languageName: node + linkType: hard + +"parse-package-name@npm:^0.1.0": + version: 0.1.0 + resolution: "parse-package-name@npm:0.1.0" + checksum: 10c0/058c5a4262db5add0bef3cf42c1252226a07815f36568621dc1572cce18dec2a0e1d499a38ce4b16eb9d5861e4077e92288480645a6128afddfe5ede411075b6 + languageName: node + linkType: hard + +"parse-passwd@npm:^1.0.0": + version: 1.0.0 + resolution: "parse-passwd@npm:1.0.0" + checksum: 10c0/1c05c05f95f184ab9ca604841d78e4fe3294d46b8e3641d305dcc28e930da0e14e602dbda9f3811cd48df5b0e2e27dbef7357bf0d7c40e41b18c11c3a8b8d17b + languageName: node + linkType: hard + +"parse-path@npm:^7.0.0": + version: 7.0.0 + resolution: "parse-path@npm:7.0.0" + dependencies: + protocols: "npm:^2.0.0" + checksum: 10c0/e7646f6b998b083bbd40102643d803557ce4ae18ae1704e6cc7ae2525ea7c5400f4a3635aca3244cfe65ce4dd0ff77db1142dde4d080e8a80c364c4b3e8fe8d2 + languageName: node + linkType: hard + +"parse-semver@npm:^1.1.1": + version: 1.1.1 + resolution: "parse-semver@npm:1.1.1" + dependencies: + semver: "npm:^5.1.0" + checksum: 10c0/53c6932ee1aef770fd206f91f17d61b8ec1cdd794b5bf92544d70777f7d64a9263b185d73ec0bc5321b3d0113c8bd18952019d676ab9d2cd511131b272861438 + languageName: node + linkType: hard + +"parse-url@npm:^8.1.0": + version: 8.1.0 + resolution: "parse-url@npm:8.1.0" + dependencies: + parse-path: "npm:^7.0.0" + checksum: 10c0/68b95afdf4bbf72e57c7ab66f8757c935fff888f7e2b0f1e06098b4faa19e06b6b743bddaed5bc8df4f0c2de6fc475355d787373b2fdd40092be9e4e4b996648 + languageName: node + linkType: hard + +"parse5-htmlparser2-tree-adapter@npm:^7.0.0": + version: 7.1.0 + resolution: "parse5-htmlparser2-tree-adapter@npm:7.1.0" + dependencies: + domhandler: "npm:^5.0.3" + parse5: "npm:^7.0.0" + checksum: 10c0/e5a4e0b834c84c9e244b5749f8d007f4baaeafac7a1da2c54be3421ffd9ef8fdec4f198bf55cda22e88e6ba95e9943f6ed5aa3ae5900b39972ebf5dc8c3f4722 + languageName: node + linkType: hard + +"parse5-parser-stream@npm:^7.1.2": + version: 7.1.2 + resolution: "parse5-parser-stream@npm:7.1.2" + dependencies: + parse5: "npm:^7.0.0" + checksum: 10c0/e236c61000d38ecad369e725a48506b051cebad8abb00e6d4e8bff7aa85c183820fcb45db1559cc90955bdbbdbd665ea94c41259594e74566fff411478dc7fcb + languageName: node + linkType: hard + +"parse5@npm:^7.0.0, parse5@npm:^7.1.2": + version: 7.2.1 + resolution: "parse5@npm:7.2.1" + dependencies: + entities: "npm:^4.5.0" + checksum: 10c0/829d37a0c709215a887e410a7118d754f8e1afd7edb529db95bc7bbf8045fb0266a7b67801331d8e8d9d073ea75793624ec27ce9ff3b96862c3b9008f4d68e80 + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 + languageName: node + linkType: hard + +"pascalcase@npm:^0.1.1": + version: 0.1.1 + resolution: "pascalcase@npm:0.1.1" + checksum: 10c0/48dfe90618e33810bf58211d8f39ad2c0262f19ad6354da1ba563935b5f429f36409a1fb9187c220328f7a4dc5969917f8e3e01ee089b5f1627b02aefe39567b + languageName: node + linkType: hard + +"patch-package@npm:^8.0.0": + version: 8.0.0 + resolution: "patch-package@npm:8.0.0" + dependencies: + "@yarnpkg/lockfile": "npm:^1.1.0" + chalk: "npm:^4.1.2" + ci-info: "npm:^3.7.0" + cross-spawn: "npm:^7.0.3" + find-yarn-workspace-root: "npm:^2.0.0" + fs-extra: "npm:^9.0.0" + json-stable-stringify: "npm:^1.0.2" + klaw-sync: "npm:^6.0.0" + minimist: "npm:^1.2.6" + open: "npm:^7.4.2" + rimraf: "npm:^2.6.3" + semver: "npm:^7.5.3" + slash: "npm:^2.0.0" + tmp: "npm:^0.0.33" + yaml: "npm:^2.2.2" + bin: + patch-package: index.js + checksum: 10c0/690eab0537e953a3fd7d32bb23f0e82f97cd448f8244c3227ed55933611a126f9476397325c06ad2c11d881a19b427a02bd1881bee78d89f1731373fc4fe0fee + languageName: node + linkType: hard + +"path-browserify@npm:^1.0.0": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 + languageName: node + linkType: hard + +"path-dirname@npm:^1.0.0": + version: 1.0.2 + resolution: "path-dirname@npm:1.0.2" + checksum: 10c0/71e59be2bada7c91f62b976245fd421b7cb01fde3207fe53a82d8880621ad04fd8b434e628c9cf4e796259fc168a107d77cd56837725267c5b2c58cefe2c4e1b + languageName: node + linkType: hard + +"path-exists@npm:^2.0.0": + version: 2.1.0 + resolution: "path-exists@npm:2.1.0" + dependencies: + pinkie-promise: "npm:^2.0.0" + checksum: 10c0/87352f1601c085d5a6eb202f60e5c016c1b790bd0bc09398af446ed3f5c4510b4531ff99cf8acac2d91868886e792927b4292f768b35a83dce12588fb7cbb46e + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-is-inside@npm:1.0.2, path-is-inside@npm:^1.0.2": + version: 1.0.2 + resolution: "path-is-inside@npm:1.0.2" + checksum: 10c0/7fdd4b41672c70461cce734fc222b33e7b447fa489c7c4377c95e7e6852d83d69741f307d88ec0cc3b385b41cb4accc6efac3c7c511cd18512e95424f5fa980c + languageName: node + linkType: hard + +"path-key@npm:^2.0.1": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: 10c0/dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-root-regex@npm:^0.1.0": + version: 0.1.2 + resolution: "path-root-regex@npm:0.1.2" + checksum: 10c0/27651a234f280c70d982dd25c35550f74a4284cde6b97237aab618cb4b5745682d18cdde1160617bb4a4b6b8aec4fbc911c4a2ad80d01fa4c7ee74dae7af2337 + languageName: node + linkType: hard + +"path-root@npm:^0.1.1": + version: 0.1.1 + resolution: "path-root@npm:0.1.1" + dependencies: + path-root-regex: "npm:^0.1.0" + checksum: 10c0/aed5cd290df84c46c7730f6a363e95e47a23929b51ab068a3818d69900da3e89dc154cdfd0c45c57b2e02f40c094351bc862db70c2cb00b7e6bd47039a227813 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1, path-scurry@npm:^1.6.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.10": + version: 0.1.10 + resolution: "path-to-regexp@npm:0.1.10" + checksum: 10c0/34196775b9113ca6df88e94c8d83ba82c0e1a2063dd33bfe2803a980da8d49b91db8104f49d5191b44ea780d46b8670ce2b7f4a5e349b0c48c6779b653f1afe4 + languageName: node + linkType: hard + +"path-to-regexp@npm:3.3.0": + version: 3.3.0 + resolution: "path-to-regexp@npm:3.3.0" + checksum: 10c0/ffa0ebe7088d38d435a8d08b0fe6e8c93ceb2a81a65d4dd1d9a538f52e09d5e3474ed5f553cb3b180d894b0caa10698a68737ab599fd1e56b4663d1a64c9f77b + languageName: node + linkType: hard + +"path-to-regexp@npm:^1.7.0": + version: 1.9.0 + resolution: "path-to-regexp@npm:1.9.0" + dependencies: + isarray: "npm:0.0.1" + checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751 + languageName: node + linkType: hard + +"path-type@npm:^1.0.0": + version: 1.1.0 + resolution: "path-type@npm:1.1.0" + dependencies: + graceful-fs: "npm:^4.1.2" + pify: "npm:^2.0.0" + pinkie-promise: "npm:^2.0.0" + checksum: 10c0/2b8c348cb52bbc0c0568afa10a0a5d8f6233adfe5ae75feb56064f6aed6324ab74185c61c2545f4e52ca08acdc76005f615da4e127ed6eecb866002cf491f350 + languageName: node + linkType: hard + +"path-type@npm:^3.0.0": + version: 3.0.0 + resolution: "path-type@npm:3.0.0" + dependencies: + pify: "npm:^3.0.0" + checksum: 10c0/1332c632f1cac15790ebab8dd729b67ba04fc96f81647496feb1c2975d862d046f41e4b975dbd893048999b2cc90721f72924ad820acc58c78507ba7141a8e56 + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"pbkdf2@npm:^3.1.2": + version: 3.1.2 + resolution: "pbkdf2@npm:3.1.2" + dependencies: + create-hash: "npm:^1.1.2" + create-hmac: "npm:^1.1.4" + ripemd160: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + sha.js: "npm:^2.4.8" + checksum: 10c0/5a30374e87d33fa080a92734d778cf172542cc7e41b96198c4c88763997b62d7850de3fbda5c3111ddf79805ee7c1da7046881c90ac4920b5e324204518b05fd + languageName: node + linkType: hard + +"pend@npm:~1.2.0": + version: 1.2.0 + resolution: "pend@npm:1.2.0" + checksum: 10c0/8a87e63f7a4afcfb0f9f77b39bb92374afc723418b9cb716ee4257689224171002e07768eeade4ecd0e86f1fa3d8f022994219fb45634f2dbd78c6803e452458 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pify@npm:5.0.0, pify@npm:^5.0.0": + version: 5.0.0 + resolution: "pify@npm:5.0.0" + checksum: 10c0/9f6f3cd1f159652692f514383efe401a06473af35a699962230ad1c4c9796df5999961461fc1a3b81eed8e3e74adb8bd032474fb3f93eb6bdbd9f33328da1ed2 + languageName: node + linkType: hard + +"pify@npm:^2.0.0, pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc + languageName: node + linkType: hard + +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 10c0/fead19ed9d801f1b1fcd0638a1ac53eabbb0945bf615f2f8806a8b646565a04a1b0e7ef115c951d225f042cca388fdc1cd3add46d10d1ed6951c20bd2998af10 + languageName: node + linkType: hard + +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf + languageName: node + linkType: hard + +"pinkie-promise@npm:^2.0.0": + version: 2.0.1 + resolution: "pinkie-promise@npm:2.0.1" + dependencies: + pinkie: "npm:^2.0.0" + checksum: 10c0/11b5e5ce2b090c573f8fad7b517cbca1bb9a247587306f05ae71aef6f9b2cd2b923c304aa9663c2409cfde27b367286179f1379bc4ec18a3fbf2bb0d473b160a + languageName: node + linkType: hard + +"pinkie@npm:^2.0.0": + version: 2.0.4 + resolution: "pinkie@npm:2.0.4" + checksum: 10c0/25228b08b5597da42dc384221aa0ce56ee0fbf32965db12ba838e2a9ca0193c2f0609c45551ee077ccd2060bf109137fdb185b00c6d7e0ed7e35006d20fdcbc6 + languageName: node + linkType: hard + +"pirates@npm:^4.0.0, pirates@npm:^4.0.1, pirates@npm:^4.0.6": + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 + languageName: node + linkType: hard + +"pkg-dir@npm:^3.0.0": + version: 3.0.0 + resolution: "pkg-dir@npm:3.0.0" + dependencies: + find-up: "npm:^3.0.0" + checksum: 10c0/902a3d0c1f8ac43b1795fa1ba6ffeb37dfd53c91469e969790f6ed5e29ff2bdc50b63ba6115dc056d2efb4a040aa2446d512b3804bdafdf302f734fb3ec21847 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: "npm:^4.0.0" + checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 + languageName: node + linkType: hard + +"please-upgrade-node@npm:^3.2.0": + version: 3.2.0 + resolution: "please-upgrade-node@npm:3.2.0" + dependencies: + semver-compare: "npm:^1.0.0" + checksum: 10c0/222514d2841022be4b843f38d415beadcc6409c0545d6d153778d71c601bba7bbf1cd5827d650c7fae6a9a2ba7cf00f4b6729b40d015a3a5ba2937e57bc1c435 + languageName: node + linkType: hard + +"plugin-error@npm:^1.0.1": + version: 1.0.1 + resolution: "plugin-error@npm:1.0.1" + dependencies: + ansi-colors: "npm:^1.0.1" + arr-diff: "npm:^4.0.0" + arr-union: "npm:^3.1.0" + extend-shallow: "npm:^3.0.2" + checksum: 10c0/9b0ef44f8d2749013dfeb4a86c8082f2f277bf72e0c694c30dd504d0b329f321db91fe9d9cb0f7e8579f7ffa4260b7792827bc5ef4f87d6bcc0fc691de3d91a1 + languageName: node + linkType: hard + +"posix-character-classes@npm:^0.1.0": + version: 0.1.1 + resolution: "posix-character-classes@npm:0.1.1" + checksum: 10c0/cce88011548a973b4af58361cd8f5f7b5a6faff8eef0901565802f067bcabf82597e920d4c97c22068464be3cbc6447af589f6cc8a7d813ea7165be60a0395bc + languageName: node + linkType: hard + +"possible-typed-array-names@npm:^1.0.0": + version: 1.0.0 + resolution: "possible-typed-array-names@npm:1.0.0" + checksum: 10c0/d9aa22d31f4f7680e20269db76791b41c3a32c01a373e25f8a4813b4d45f7456bfc2b6d68f752dc4aab0e0bb0721cb3d76fb678c9101cb7a16316664bc2c73fd + languageName: node + linkType: hard + +"postcss-calc@npm:^10.0.2": + version: 10.0.2 + resolution: "postcss-calc@npm:10.0.2" + dependencies: + postcss-selector-parser: "npm:^6.1.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.38 + checksum: 10c0/f57c9db7a7a2f3a0cdf45990089c051248d995bb2b9d1bd1fcd1634507851e92ea85bbc71a3594e359e9e9287ba0a820c90d6d292126a4b735cda364a86ce9cf + languageName: node + linkType: hard + +"postcss-colormin@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-colormin@npm:7.0.2" + dependencies: + browserslist: "npm:^4.23.3" + caniuse-api: "npm:^3.0.0" + colord: "npm:^2.9.3" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/76d09fb7e0218698e622a7c2cfc9087985f48f3a7e44f2655d5eefac4ae9c04198ae9d408dc7ace15d3aa5bde80e7031e462b0cb9b5bd50cfa76bbb1503c755b + languageName: node + linkType: hard + +"postcss-convert-values@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-convert-values@npm:7.0.4" + dependencies: + browserslist: "npm:^4.23.3" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/9839b29f7c638672115c9fef5ed7df016aa43ea9dd42a4a2ace16e6a49c75246d2c19f3e03a6409ed3bc7c2fa4de6203bf5789cef8268c76618326b68e3bc591 + languageName: node + linkType: hard + +"postcss-custom-properties@npm:^12.1.2": + version: 12.1.11 + resolution: "postcss-custom-properties@npm:12.1.11" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.2 + checksum: 10c0/99ad5a9f9a69590141157e447f48d9d6da74f0e83bf552cd5a4e74db7a03222f1e9e37df7ee442a7b97f5c6c824c1018667ee27ac64e0bc6ee7e67e89bc552c5 + languageName: node + linkType: hard + +"postcss-discard-comments@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-discard-comments@npm:7.0.3" + dependencies: + postcss-selector-parser: "npm:^6.1.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/7700c8fb9a83c6ea5cc784267b9afd6e2968fda0358d583af5913baa28dfc91b0f2a4bd0b2bd62a86ebcb8dadb2547e287beae25b5a097e21c1f723367ccf112 + languageName: node + linkType: hard + +"postcss-discard-duplicates@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-discard-duplicates@npm:7.0.1" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/5cc2cac249f68004864865ea2ec38b7d5e28184f33e904e531ff57b533aacb73ec49e4a7d83219184001b8d167e5bcabc1673248134468d7ebaa0bfb9ff78f0a + languageName: node + linkType: hard + +"postcss-discard-empty@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-discard-empty@npm:7.0.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/b54fc9ad59a6015f6b82b8c826717a4a2f82b272608f6ae37a0b568f4f6c503f5ac7d13d415853a946a0422cb37b9fe1d5ddcee91fe0c2086001138710600d8b + languageName: node + linkType: hard + +"postcss-discard-overridden@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-discard-overridden@npm:7.0.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/ca00ed1d4e8793fc780039f235fa2caef123d3aa28cae47cc1472ca03b21386c39fae1f11fbf319dcb94c6bda923824067254c7e20e8b00354b47015dc754658 + languageName: node + linkType: hard + +"postcss-import@npm:^15.1.0": + version: 15.1.0 + resolution: "postcss-import@npm:15.1.0" + dependencies: + postcss-value-parser: "npm:^4.0.0" + read-cache: "npm:^1.0.0" + resolve: "npm:^1.1.7" + peerDependencies: + postcss: ^8.0.0 + checksum: 10c0/518aee5c83ea6940e890b0be675a2588db68b2582319f48c3b4e06535a50ea6ee45f7e63e4309f8754473245c47a0372632378d1d73d901310f295a92f26f17b + languageName: node + linkType: hard + +"postcss-import@npm:^16.1.0": + version: 16.1.0 + resolution: "postcss-import@npm:16.1.0" + dependencies: + postcss-value-parser: "npm:^4.0.0" + read-cache: "npm:^1.0.0" + resolve: "npm:^1.1.7" + peerDependencies: + postcss: ^8.0.0 + checksum: 10c0/60e6499354079a3f46242b861412a40c54be7ab99f4ad55096a07ffe5e57fcc01c2c626b5d1fbc7a18cd23adc82b320c205059d0c7ab09e91baba8dc45c88e29 + languageName: node + linkType: hard + +"postcss-js@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-js@npm:4.0.1" + dependencies: + camelcase-css: "npm:^2.0.1" + peerDependencies: + postcss: ^8.4.21 + checksum: 10c0/af35d55cb873b0797d3b42529514f5318f447b134541844285c9ac31a17497297eb72296902967911bb737a75163441695737300ce2794e3bd8c70c13a3b106e + languageName: node + linkType: hard + +"postcss-load-config@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-load-config@npm:4.0.2" + dependencies: + lilconfig: "npm:^3.0.0" + yaml: "npm:^2.3.4" + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + checksum: 10c0/3d7939acb3570b0e4b4740e483d6e555a3e2de815219cb8a3c8fc03f575a6bde667443aa93369c0be390af845cb84471bf623e24af833260de3a105b78d42519 + languageName: node + linkType: hard + +"postcss-merge-longhand@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-merge-longhand@npm:7.0.4" + dependencies: + postcss-value-parser: "npm:^4.2.0" + stylehacks: "npm:^7.0.4" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/6f50f7775dd361f83daf1acb3e0001d700ed2b7b9bea02df172143adc7fa196ce9209c9e482010ce36fd704512433b62692c5ab2eef5226db71ea3e694654dc7 + languageName: node + linkType: hard + +"postcss-merge-rules@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-merge-rules@npm:7.0.4" + dependencies: + browserslist: "npm:^4.23.3" + caniuse-api: "npm:^3.0.0" + cssnano-utils: "npm:^5.0.0" + postcss-selector-parser: "npm:^6.1.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/fffdcef4ada68e92ab8e6dc34a3b9aa2b87188cd4d08f5ba0ff2aff7e3e3c7f086830748ff64db091b5ccb9ac59ac37cfaab1268ed3efb50ab9c4f3714eb5f6d + languageName: node + linkType: hard + +"postcss-minify-font-values@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-minify-font-values@npm:7.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/f8be40099a6986d96b9cd2eb9c32a9c681efc6ecd6504c9ab7e01feb9e688c8b9656dfd7f35aa6de2585a86d607f62152ee81d0175e712e4658d184d25f63d58 + languageName: node + linkType: hard + +"postcss-minify-gradients@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-minify-gradients@npm:7.0.0" + dependencies: + colord: "npm:^2.9.3" + cssnano-utils: "npm:^5.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/15d162192b598242e14def81a62e30cf273ab14f1db702c391e6bdd442c570a1aa76fc326874253a2d67f75b4d4fe73ba4f664e85dbff883f24b7090c340bfad + languageName: node + linkType: hard + +"postcss-minify-params@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-minify-params@npm:7.0.2" + dependencies: + browserslist: "npm:^4.23.3" + cssnano-utils: "npm:^5.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/0e041f70554bae9d4a66c8ab2f2f3ed8bf73862c9d5ff9972ac7f1a596badd1544f093fa2362dd33e96c038af9e10287cdbfec9f480c49bffdcbaca9fdcb1e4e + languageName: node + linkType: hard + +"postcss-minify-selectors@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-minify-selectors@npm:7.0.4" + dependencies: + cssesc: "npm:^3.0.0" + postcss-selector-parser: "npm:^6.1.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/212b8f3d62eb2a27ed57d4e76b75b0886806ddb9e2497c0bb79308fa75dabaaaa4ed2b97734896e87603272d05231fd74aee2c256a48d77aa468b5b64cc7866a + languageName: node + linkType: hard + +"postcss-modules-extract-imports@npm:^3.1.0": + version: 3.1.0 + resolution: "postcss-modules-extract-imports@npm:3.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/402084bcab376083c4b1b5111b48ec92974ef86066f366f0b2d5b2ac2b647d561066705ade4db89875a13cb175b33dd6af40d16d32b2ea5eaf8bac63bd2bf219 + languageName: node + linkType: hard + +"postcss-modules-local-by-default@npm:^4.0.5": + version: 4.1.0 + resolution: "postcss-modules-local-by-default@npm:4.1.0" + dependencies: + icss-utils: "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + postcss-value-parser: "npm:^4.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/d6e47d2488c6fcde2c91696d15ef094e6b1cdd8d5dcdf20c6ac72567fcc4778f5f80b8381839232b37242f200b4d83e98a947bf3b3315b0bf673ea42528a3caf + languageName: node + linkType: hard + +"postcss-modules-scope@npm:^3.2.0": + version: 3.2.1 + resolution: "postcss-modules-scope@npm:3.2.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/bd2d81f79e3da0ef6365b8e2c78cc91469d05b58046b4601592cdeef6c4050ed8fe1478ae000a1608042fc7e692cb51fecbd2d9bce3f4eace4d32e883ffca10b + languageName: node + linkType: hard + +"postcss-modules-values@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-modules-values@npm:4.0.0" + dependencies: + icss-utils: "npm:^5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/dd18d7631b5619fb9921b198c86847a2a075f32e0c162e0428d2647685e318c487a2566cc8cc669fc2077ef38115cde7a068e321f46fb38be3ad49646b639dbc + languageName: node + linkType: hard + +"postcss-modules@npm:^6.0.0": + version: 6.0.1 + resolution: "postcss-modules@npm:6.0.1" + dependencies: + generic-names: "npm:^4.0.0" + icss-utils: "npm:^5.1.0" + lodash.camelcase: "npm:^4.3.0" + postcss-modules-extract-imports: "npm:^3.1.0" + postcss-modules-local-by-default: "npm:^4.0.5" + postcss-modules-scope: "npm:^3.2.0" + postcss-modules-values: "npm:^4.0.0" + string-hash: "npm:^1.1.3" + peerDependencies: + postcss: ^8.0.0 + checksum: 10c0/b82230693cb257b69db486df8835626d96632481ec6a8777b51ae7a530a56fa0ed399cbc8c2c777525f31fefab5a2d12ea7331a748fdfddde9f16cf3fff3bc58 + languageName: node + linkType: hard + +"postcss-nested@npm:^6.2.0": + version: 6.2.0 + resolution: "postcss-nested@npm:6.2.0" + dependencies: + postcss-selector-parser: "npm:^6.1.1" + peerDependencies: + postcss: ^8.2.14 + checksum: 10c0/7f9c3f2d764191a39364cbdcec350f26a312431a569c9ef17408021424726b0d67995ff5288405e3724bb7152a4c92f73c027e580ec91e798800ed3c52e2bc6e + languageName: node + linkType: hard + +"postcss-normalize-charset@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-normalize-charset@npm:7.0.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/06d9c4487a4b0e195133a1fb7a115db7014e49d2567cce73e24c59f473f0e65a1999850a726afb3bdb2d36017a3e5c92ac4fd2a7ecc427da4ff79522765fabdd + languageName: node + linkType: hard + +"postcss-normalize-display-values@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-normalize-display-values@npm:7.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/439524e1d3ed36d6265c05da10540e17aa8605e1b396f71ca4364ab3b8b98ca97763c58c211fb9492662429d43613a7fe7009a8638c84a8db327e572c382272a + languageName: node + linkType: hard + +"postcss-normalize-positions@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-normalize-positions@npm:7.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/428763c937cd178c8ee544cd93a9d1fef667dc9a8700ffe2e61b0beeea7f64f712492b9aeb8a1ef927ab752ec34be7ddeb23d2b50e4bc6eba02b0e58312b27a7 + languageName: node + linkType: hard + +"postcss-normalize-repeat-style@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-normalize-repeat-style@npm:7.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/cf7cd9f355fd26f1c9b0c11a923029ac5ea3020520db5a9778dd19c5ee1f48a1f1f368b4ae75fc6b63cb5761eef72333e486ab0de1537b9cb62d213a8c5576d0 + languageName: node + linkType: hard + +"postcss-normalize-string@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-normalize-string@npm:7.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/8857563f85841ce432bb9a5a9ba129847890b61693adff96d565b69dc2d5456f54dec33f4f6ce5b0abf0a484dbfb0145846d99f988959c5ac875a86a2a180576 + languageName: node + linkType: hard + +"postcss-normalize-timing-functions@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-normalize-timing-functions@npm:7.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/bc5f6999b4c9e28e5be785ef90fe68fd48d44059ecc73ee194c2603260597d685b13a1e1751df9a2cee100fea7abb7e1b1cbcf1a7a428a576961705c9d426788 + languageName: node + linkType: hard + +"postcss-normalize-unicode@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-normalize-unicode@npm:7.0.2" + dependencies: + browserslist: "npm:^4.23.3" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/0df1aac932cc2340715178fd024e0f6d872ea5a4bee1bc8357317a75a7b2c904d885f754cc162af001aa2a9ded7c54fac7cbcd701e21e995c1ace92dc08f2b9d + languageName: node + linkType: hard + +"postcss-normalize-url@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-normalize-url@npm:7.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/3050e228be48fe0121d1316c267e629b232e8401a547128d142c3dea55eeae1e232c9beeea5c76439009188993b14925c5cf40e3a44856d076a7b8fcf4721f86 + languageName: node + linkType: hard + +"postcss-normalize-whitespace@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-normalize-whitespace@npm:7.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/8d61234962a4850fc61292592171e1d13de2e90d96a2eaed8c85672a05caceda02a3bd1cb495cb72414741f99d50083362df14923efaca1b3e09657d24cea34b + languageName: node + linkType: hard + +"postcss-ordered-values@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-ordered-values@npm:7.0.1" + dependencies: + cssnano-utils: "npm:^5.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/9fc62e9039c7d4fa417d165678b065fc577a7232aa41a94a4e9208ad7db2268e1ce003aaad7c6a569afdf890a43416b0bf21047461505b4e3a16eec311a6eb63 + languageName: node + linkType: hard + +"postcss-reduce-initial@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-reduce-initial@npm:7.0.2" + dependencies: + browserslist: "npm:^4.23.3" + caniuse-api: "npm:^3.0.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/1e6fafaf5fac52b351c8de156ed62e4e1f48da7eb07f9ce90da54b45dca61da9af1e954b8a343271cb3e4ec99e0c5f18d7f9f96da0ca144511fca04498fac78c + languageName: node + linkType: hard + +"postcss-reduce-transforms@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-reduce-transforms@npm:7.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/b2d4b65e71d38b604b41937850d1d64794964d6eced90f05891cfae8a78c7a9fed49911f51da9dcc5d715ac18e8bc7eacf691f2c5321dfe4d781f3e4442dfea9 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.1.1, postcss-selector-parser@npm:^6.1.2": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-selector-parser@npm:7.0.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/e96e096afcce70bf5c97789f5ea09d7415ae5eb701d82b05b5e8532885d31363b484fcb1ca9488c9a331f30508d9e5bb6c3109eb2eb5067ef3d3919f9928cd9d + languageName: node + linkType: hard + +"postcss-svgo@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-svgo@npm:7.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + svgo: "npm:^3.3.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/7c7b177e6f4e2a3e9ada76d53afa02e08d900c8ac15600ba9daa80480269d538405e544bd8091bc5eb7529173a476896fad885a72a247258265424b29a9195ed + languageName: node + linkType: hard + +"postcss-unique-selectors@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-unique-selectors@npm:7.0.3" + dependencies: + postcss-selector-parser: "npm:^6.1.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/2eb90eb0745d1e29d411ea5108f1cd9737de5b8f739cabc717074872bc4015950c9963f870b23b33b9ef45e7887eecfe5560cffee56616d4e0b8d0fac4f7cb10 + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 + languageName: node + linkType: hard + +"postcss@npm:^8.1.10, postcss@npm:^8.4.47, postcss@npm:^8.4.5": + version: 8.4.49 + resolution: "postcss@npm:8.4.49" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 + languageName: node + linkType: hard + +"posthtml-expressions@npm:^1.7.1": + version: 1.11.4 + resolution: "posthtml-expressions@npm:1.11.4" + dependencies: + fclone: "npm:^1.0.11" + posthtml: "npm:^0.16.5" + posthtml-match-helper: "npm:^1.0.1" + posthtml-parser: "npm:^0.10.0" + posthtml-render: "npm:^3.0.0" + checksum: 10c0/5a535ce4c419a25e43039fbf5f8d0b63516c02d1e442da4762bb79fba96204ceaded8bfc6fd98469ea7ff45bf6e8957a88c416aba8375fde08584db805378c57 + languageName: node + linkType: hard + +"posthtml-include@npm:^2.0.1": + version: 2.0.1 + resolution: "posthtml-include@npm:2.0.1" + dependencies: + posthtml: "npm:^0.16.6" + posthtml-expressions: "npm:^1.7.1" + posthtml-parser: "npm:^0.11.0" + checksum: 10c0/8ea1b62b63dc8444e7b500b899a1888f9b528b7e59c8ae833aeb400c895470f972aa1d57cc2f56fac6c5ace2d564be068d5965f7098860ef9beb37502c88e8a5 + languageName: node + linkType: hard + +"posthtml-match-helper@npm:^1.0.1": + version: 1.0.4 + resolution: "posthtml-match-helper@npm:1.0.4" + peerDependencies: + posthtml: ">=0.5.0" + checksum: 10c0/dce13512a09b8151a7234632f4e4885d8108402ab411316768372b7c5cef9962707cd6740c8629b4284566eb7c1edd0e9220b1dc09a68548d52f04e0047c5738 + languageName: node + linkType: hard + +"posthtml-obfuscate@npm:^0.1.5": + version: 0.1.5 + resolution: "posthtml-obfuscate@npm:0.1.5" + checksum: 10c0/b27d6a6e667050b6456f85a29732ba26ab5d1418f9120bbf07528a299e3502e586aa0a1dc05afa9a66ebbae7076fcc61fac02a3eb653a15fc40e324afb3d9636 + languageName: node + linkType: hard + +"posthtml-parser@npm:^0.10.0": + version: 0.10.2 + resolution: "posthtml-parser@npm:0.10.2" + dependencies: + htmlparser2: "npm:^7.1.1" + checksum: 10c0/90c7c2e0892c18577a56a5dd60a54c40feb0be7c712a79f711e1730b5eea468f8d521d387af9f08d78e6bca9df613286c3ff8a95ac9426671cbe9021d7ec2ae5 + languageName: node + linkType: hard + +"posthtml-parser@npm:^0.11.0": + version: 0.11.0 + resolution: "posthtml-parser@npm:0.11.0" + dependencies: + htmlparser2: "npm:^7.1.1" + checksum: 10c0/89bf980a60124790f776a9f21aec0f154eba5412d16f0f3a95de7a53d31b9acb9264bf317ab40c080413e3018a8e65c86278e6e8c0731c8e0363418982ed4296 + languageName: node + linkType: hard + +"posthtml-parser@npm:^0.12.1": + version: 0.12.1 + resolution: "posthtml-parser@npm:0.12.1" + dependencies: + htmlparser2: "npm:^9.0.0" + checksum: 10c0/24c7986a03350625fa9b55e43ce81e0b8a7b477583de2f74c68b289e7343ec71ea52e33a9c1076c5b14e1e44cfc9f027f523ed7c6ac5b543ed583b4ecc0774ae + languageName: node + linkType: hard + +"posthtml-render@npm:^3.0.0": + version: 3.0.0 + resolution: "posthtml-render@npm:3.0.0" + dependencies: + is-json: "npm:^2.0.1" + checksum: 10c0/7adb9c20d0908663019c3c2dede3f6cc8bd19c17c81a1f42a1d8772195be4e5252aeb72a764e92d3424aebfa8c5d35c7ef1ec25243a802d35897aa928858505b + languageName: node + linkType: hard + +"posthtml@npm:^0.16.5, posthtml@npm:^0.16.6": + version: 0.16.6 + resolution: "posthtml@npm:0.16.6" + dependencies: + posthtml-parser: "npm:^0.11.0" + posthtml-render: "npm:^3.0.0" + checksum: 10c0/0505cb70ece051206ffa932394181372be6390a974fd2f50e4e6fdd5d11e41feffba9a5f5e22809ca42899f79bd489d53ceac1d7ad0d782db9521b578e5b7f5a + languageName: node + linkType: hard + +"preact@npm:^10.26.4": + version: 10.26.4 + resolution: "preact@npm:10.26.4" + checksum: 10c0/8abf64ec6f9773f0c4fb3746b7caa3d83e2de4d464928e7f64fc779c96ef9e135d23c1ade8d0923c9191f6d203d9f22bb92d8a50dc0f4f310073dfaa51a56922 + languageName: node + linkType: hard + +"preact@npm:^10.5.9": + version: 10.25.0 + resolution: "preact@npm:10.25.0" + checksum: 10c0/703e021e7a268aea929e9c896484608e18dd9f5aa62c71d3205fedf69269d9592e4cfe17adda78ca4cec1f5f0057a062300daeeb477333ba2005a4d9e3fbc970 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prettier@npm:2.2.1": + version: 2.2.1 + resolution: "prettier@npm:2.2.1" + bin: + prettier: bin-prettier.js + checksum: 10c0/4041ff87d6cba9134a8e0eb74a9e7f50f7091de6b95f5a6fb1928795c7d0584ae46806e0d75588fbc912b2cda2439d28a14fb84416946384cf71d60f5a0a68a6 + languageName: node + linkType: hard + +"prettier@npm:2.4.1": + version: 2.4.1 + resolution: "prettier@npm:2.4.1" + bin: + prettier: bin-prettier.js + checksum: 10c0/eccb2c486117d6f8d171a8589924324056648ad2a798a5222fab2ef751aa47c6048792dff03ecadeaac4b7e0a5aef8ef64e413f43947d651022bc7f4480882f5 + languageName: node + linkType: hard + +"pretty-format@npm:29.4.3": + version: 29.4.3 + resolution: "pretty-format@npm:29.4.3" + dependencies: + "@jest/schemas": "npm:^29.4.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/3426542b0218d83ffd542374cfb23c6db00c7d0fad751b20e53debe35a420f3fd5976062e47bde79c36ff936421a3df52e1fe0048596c18200a59daa86a593bd + languageName: node + linkType: hard + +"pretty-hrtime@npm:^1.0.0": + version: 1.0.3 + resolution: "pretty-hrtime@npm:1.0.3" + checksum: 10c0/67cb3fc283a72252b49ac488647e6a01b78b7aa1b8f2061834aa1650691229081518ef3ca940f77f41cc8a8f02ba9eeb74b843481596670209e493062f2e89e0 + languageName: node + linkType: hard + +"proc-log@npm:^2.0.0, proc-log@npm:^2.0.1": + version: 2.0.1 + resolution: "proc-log@npm:2.0.1" + checksum: 10c0/701c501429775ce34cec28ef6a1c976537274b42917212fb8a5975ebcecb0a85612907fd7f99ff28ff4c2112bb84a0f4322fc9b9e1e52a8562fcbb1d5b3ce608 + languageName: node + linkType: hard + +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"process-nextick-args@npm:^2.0.0, process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 + languageName: node + linkType: hard + +"promise-all-reject-late@npm:^1.0.0": + version: 1.0.1 + resolution: "promise-all-reject-late@npm:1.0.1" + checksum: 10c0/f1af0c7b0067e84d64751148ee5bb6c3e84f4a4d1316d6fe56261e1d2637cf71b49894bcbd2c6daf7d45afb1bc99efc3749be277c3e0518b70d0c5a29d037011 + languageName: node + linkType: hard + +"promise-call-limit@npm:^1.0.1": + version: 1.0.2 + resolution: "promise-call-limit@npm:1.0.2" + checksum: 10c0/500aed321d7b9212da403db369551d7190c96c8937c3b2d15c6097d1037b17fb802c7decfbc8ba6bb937f1cc1ea291e5eba10ed9ea76adc0f398ab9f7d174a58 + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 10c0/d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"promise@npm:^7.0.1": + version: 7.3.1 + resolution: "promise@npm:7.3.1" + dependencies: + asap: "npm:~2.0.3" + checksum: 10c0/742e5c0cc646af1f0746963b8776299701ad561ce2c70b49365d62c8db8ea3681b0a1bf0d4e2fe07910bf72f02d39e51e8e73dc8d7503c3501206ac908be107f + languageName: node + linkType: hard + +"promzard@npm:^0.3.0": + version: 0.3.0 + resolution: "promzard@npm:0.3.0" + dependencies: + read: "npm:1" + checksum: 10c0/7fd8dbcd9764b35092da65867cc60fdcf2ea85d77e8ed1ae348ec0af1a22616f74053ccf8dad7d8de01e1e3aafe349d77ef56653c2db3791589ac2a8ef485149 + languageName: node + linkType: hard + +"prop-types@npm:^15.8.1": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.13.1" + checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 + languageName: node + linkType: hard + +"proto-list@npm:~1.2.1": + version: 1.2.4 + resolution: "proto-list@npm:1.2.4" + checksum: 10c0/b9179f99394ec8a68b8afc817690185f3b03933f7b46ce2e22c1930dc84b60d09f5ad222beab4e59e58c6c039c7f7fcf620397235ef441a356f31f9744010e12 + languageName: node + linkType: hard + +"protocols@npm:^2.0.0, protocols@npm:^2.0.1": + version: 2.0.1 + resolution: "protocols@npm:2.0.1" + checksum: 10c0/016cc58a596e401004a028a2f7005e3444bf89ee8f606409c411719374d1e8bba0464fc142a065cce0d19f41669b2f7ffe25a8bde4f16ce3b6eb01fabc51f2e7 + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + +"prr@npm:~1.0.1": + version: 1.0.1 + resolution: "prr@npm:1.0.1" + checksum: 10c0/5b9272c602e4f4472a215e58daff88f802923b84bc39c8860376bb1c0e42aaf18c25d69ad974bd06ec6db6f544b783edecd5502cd3d184748d99080d68e4be5f + languageName: node + linkType: hard + +"ps-node@npm:^0.1.6": + version: 0.1.6 + resolution: "ps-node@npm:0.1.6" + dependencies: + table-parser: "npm:^0.1.3" + checksum: 10c0/ce14be5505da002a40bbf4271e5bc1e4281f9a0cef1c86091392307ce0367d0d7da04e4031ac320a2d7a793baeaa6796dae159a72906a6cd0988c9586509aa9e + languageName: node + linkType: hard + +"public-encrypt@npm:^4.0.3": + version: 4.0.3 + resolution: "public-encrypt@npm:4.0.3" + dependencies: + bn.js: "npm:^4.1.0" + browserify-rsa: "npm:^4.0.0" + create-hash: "npm:^1.1.0" + parse-asn1: "npm:^5.0.0" + randombytes: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/6c2cc19fbb554449e47f2175065d6b32f828f9b3badbee4c76585ac28ae8641aafb9bb107afc430c33c5edd6b05dbe318df4f7d6d7712b1093407b11c4280700 + languageName: node + linkType: hard + +"pug-attrs@npm:^3.0.0": + version: 3.0.0 + resolution: "pug-attrs@npm:3.0.0" + dependencies: + constantinople: "npm:^4.0.1" + js-stringify: "npm:^1.0.2" + pug-runtime: "npm:^3.0.0" + checksum: 10c0/28178e91c05e8eb9130861c78dccc61eae3e1610931346065bd32ad0b08b023a8dcf2470c3b2409ba45a5098d6d7ed15687717e91cf77770c6381a18626e5194 + languageName: node + linkType: hard + +"pug-code-gen@npm:^3.0.3": + version: 3.0.3 + resolution: "pug-code-gen@npm:3.0.3" + dependencies: + constantinople: "npm:^4.0.1" + doctypes: "npm:^1.1.0" + js-stringify: "npm:^1.0.2" + pug-attrs: "npm:^3.0.0" + pug-error: "npm:^2.1.0" + pug-runtime: "npm:^3.0.1" + void-elements: "npm:^3.1.0" + with: "npm:^7.0.0" + checksum: 10c0/517a93930dbc80bc7fa5f60ff324229a07cc5ab70ed9d344ce105e2fe24de68db5121c8457a9ba99cdc8d48dd18779dd34956ebfcab009b3c1c6843a3cade109 + languageName: node + linkType: hard + +"pug-error@npm:^2.0.0, pug-error@npm:^2.1.0": + version: 2.1.0 + resolution: "pug-error@npm:2.1.0" + checksum: 10c0/bbce339b17fab9890de84975c0cd8723a847bf65f35653d3ebcf77018e8ad91529d56e978ab80f4c64c9f4f07ef9e56e7a9fda3be44249c344a93ba11fccff79 + languageName: node + linkType: hard + +"pug-filters@npm:^4.0.0": + version: 4.0.0 + resolution: "pug-filters@npm:4.0.0" + dependencies: + constantinople: "npm:^4.0.1" + jstransformer: "npm:1.0.0" + pug-error: "npm:^2.0.0" + pug-walk: "npm:^2.0.0" + resolve: "npm:^1.15.1" + checksum: 10c0/7ddd62f5eb97f5242858bd56d93ffed387fef3742210a53770c980020cf91a34384b84b7fc8f0de185b43dfa77de2c4d0f63f575a4c5b3887fdef4e64b8d559d + languageName: node + linkType: hard + +"pug-lexer@npm:^5.0.1": + version: 5.0.1 + resolution: "pug-lexer@npm:5.0.1" + dependencies: + character-parser: "npm:^2.2.0" + is-expression: "npm:^4.0.0" + pug-error: "npm:^2.0.0" + checksum: 10c0/24195a5681953ab91c6a3ccd80a643f760dddb65e2f266bf8ccba145018ba0271536efe1572de2c2224163eb00873c2f1df0ad7ea7aa8bcbf79a66b586ca8435 + languageName: node + linkType: hard + +"pug-linker@npm:^4.0.0": + version: 4.0.0 + resolution: "pug-linker@npm:4.0.0" + dependencies: + pug-error: "npm:^2.0.0" + pug-walk: "npm:^2.0.0" + checksum: 10c0/db754ff34cdd4ba9d9e2d9535cce2a74178f2172e848a5fa6381907cb5bfaa0d39d4cc3eb29893d35fc1c417e83ae3cfd434640ba7d3b635c63199104fae976c + languageName: node + linkType: hard + +"pug-load@npm:^3.0.0": + version: 3.0.0 + resolution: "pug-load@npm:3.0.0" + dependencies: + object-assign: "npm:^4.1.1" + pug-walk: "npm:^2.0.0" + checksum: 10c0/2a7659dfaf9872dd25d851f85e4c27fa447d907b1db3540030cd844614159ff181e067d8f2bedf90eb6b5b1ff03747253859ecbbb822e40f4834b15591d4e108 + languageName: node + linkType: hard + +"pug-parser@npm:^6.0.0": + version: 6.0.0 + resolution: "pug-parser@npm:6.0.0" + dependencies: + pug-error: "npm:^2.0.0" + token-stream: "npm:1.0.0" + checksum: 10c0/faa6cec43afdeb2705eb8c68dfdb2e65836238df8043ae55295ffb72450b8c7a990ea1be60adbde19f58988b9e1d18a84ea42453e2c4f104d0031f78fda737b2 + languageName: node + linkType: hard + +"pug-runtime@npm:^3.0.0, pug-runtime@npm:^3.0.1": + version: 3.0.1 + resolution: "pug-runtime@npm:3.0.1" + checksum: 10c0/0db8166d2e17695a6941d1de81dcb21c8a52921299b1e03bf6a0a3d2b0036b51cf98101b3937b731c745e8d3e0268cb0b728c02f61a80a25fcfaa15c594fb1be + languageName: node + linkType: hard + +"pug-strip-comments@npm:^2.0.0": + version: 2.0.0 + resolution: "pug-strip-comments@npm:2.0.0" + dependencies: + pug-error: "npm:^2.0.0" + checksum: 10c0/ca498adedaeba51dd836b20129bbd161e2d5a397a2baaa553b1e74e888caa2258dcd7326396fc6f8fed8c7b7f906cfebc4c386ccbee8888a27b2ca0d4d86d206 + languageName: node + linkType: hard + +"pug-walk@npm:^2.0.0": + version: 2.0.0 + resolution: "pug-walk@npm:2.0.0" + checksum: 10c0/005d63177bcf057f5a618b182f6d4600afb039200b07a381a0d89288a2b3126e763a0a6c40b758eab0731c8e63cad1bbcb46d96803b9ae9cfc879f6ef5a0f8f4 + languageName: node + linkType: hard + +"pug@npm:^3.0.2": + version: 3.0.3 + resolution: "pug@npm:3.0.3" + dependencies: + pug-code-gen: "npm:^3.0.3" + pug-filters: "npm:^4.0.0" + pug-lexer: "npm:^5.0.1" + pug-linker: "npm:^4.0.0" + pug-load: "npm:^3.0.0" + pug-parser: "npm:^6.0.0" + pug-runtime: "npm:^3.0.1" + pug-strip-comments: "npm:^2.0.0" + checksum: 10c0/bda53d3a6deea1d348cd5ab17427c77f3d74165510ad16f4fd182cc63618ad09388ecda317d17122ee890c8a68f9a54b96221fce7f44a332e463fdbb10a9d1e2 + languageName: node + linkType: hard + +"pump@npm:^2.0.0": + version: 2.0.1 + resolution: "pump@npm:2.0.1" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/f1fe8960f44d145f8617ea4c67de05392da4557052980314c8f85081aee26953bdcab64afad58a2b1df0e8ff7203e3710e848cbe81a01027978edc6e264db355 + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.2 + resolution: "pump@npm:3.0.2" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/5ad655cb2a7738b4bcf6406b24ad0970d680649d996b55ad20d1be8e0c02394034e4c45ff7cd105d87f1e9b96a0e3d06fd28e11fae8875da26e7f7a8e2c9726f + languageName: node + linkType: hard + +"pumpify@npm:^1.3.5": + version: 1.5.1 + resolution: "pumpify@npm:1.5.1" + dependencies: + duplexify: "npm:^3.6.0" + inherits: "npm:^2.0.3" + pump: "npm:^2.0.0" + checksum: 10c0/0bcabf9e3dbf2d0cc1f9b84ac80d3c75386111caf8963bfd98817a1e2192000ac0ccc804ca6ccd5b2b8430fdb71347b20fb2f014fe3d41adbacb1b502a841c45 + languageName: node + linkType: hard + +"punycode@npm:^1.4.1": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: 10c0/354b743320518aef36f77013be6e15da4db24c2b4f62c5f1eb0529a6ed02fbaf1cb52925785f6ab85a962f2b590d9cd5ad730b70da72b5f180e2556b8bd3ca08 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"q@npm:^1.5.1": + version: 1.5.1 + resolution: "q@npm:1.5.1" + checksum: 10c0/7855fbdba126cb7e92ef3a16b47ba998c0786ec7fface236e3eb0135b65df36429d91a86b1fff3ab0927b4ac4ee88a2c44527c7c3b8e2a37efbec9fe34803df4 + languageName: node + linkType: hard + +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 + languageName: node + linkType: hard + +"qs@npm:^6.12.3": + version: 6.13.1 + resolution: "qs@npm:6.13.1" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10c0/5ef527c0d62ffca5501322f0832d800ddc78eeb00da3b906f1b260ca0492721f8cdc13ee4b8fd8ac314a6ec37b948798c7b603ccc167e954088df392092f160c + languageName: node + linkType: hard + +"querystring-es3@npm:^0.2.1": + version: 0.2.1 + resolution: "querystring-es3@npm:0.2.1" + checksum: 10c0/476938c1adb45c141f024fccd2ffd919a3746e79ed444d00e670aad68532977b793889648980e7ca7ff5ffc7bfece623118d0fbadcaf217495eeb7059ae51580 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"quick-lru@npm:^4.0.1": + version: 4.0.1 + resolution: "quick-lru@npm:4.0.1" + checksum: 10c0/f9b1596fa7595a35c2f9d913ac312fede13d37dc8a747a51557ab36e11ce113bbe88ef4c0154968845559a7709cb6a7e7cbe75f7972182451cd45e7f057a334d + languageName: node + linkType: hard + +"ramda@npm:^0.27.1": + version: 0.27.2 + resolution: "ramda@npm:0.27.2" + checksum: 10c0/1bbcb5bcde33ab2669810644f920b8af4e228967ff800962100803dcdad57b09c5eeee50d9871c74aa20ce496a2d96ec48774e545d7943c8f742ccac5e0fa072 + languageName: node + linkType: hard + +"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"randomfill@npm:^1.0.4": + version: 1.0.4 + resolution: "randomfill@npm:1.0.4" + dependencies: + randombytes: "npm:^2.0.5" + safe-buffer: "npm:^5.1.0" + checksum: 10c0/11aeed35515872e8f8a2edec306734e6b74c39c46653607f03c68385ab8030e2adcc4215f76b5e4598e028c4750d820afd5c65202527d831d2a5f207fe2bc87c + languageName: node + linkType: hard + +"range-parser@npm:1.2.0": + version: 1.2.0 + resolution: "range-parser@npm:1.2.0" + checksum: 10c0/c7aef4f6588eb974c475649c157f197d07437d8c6c8ff7e36280a141463fb5ab7a45918417334ebd7b665c6b8321cf31c763f7631dd5f5db9372249261b8b02a + languageName: node + linkType: hard + +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + unpipe: "npm:1.0.0" + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + languageName: node + linkType: hard + +"react-dom@npm:^18.2.0": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + scheduler: "npm:^0.23.2" + peerDependencies: + react: ^18.3.1 + checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 + languageName: node + linkType: hard + +"react-dom@npm:^19, react-dom@npm:^19.1.0": + version: 19.1.0 + resolution: "react-dom@npm:19.1.0" + dependencies: + scheduler: "npm:^0.26.0" + peerDependencies: + react: ^19.1.0 + checksum: 10c0/3e26e89bb6c67c9a6aa86cb888c7a7f8258f2e347a6d2a15299c17eb16e04c19194e3452bc3255bd34000a61e45e2cb51e46292392340432f133e5a5d2dfb5fc + languageName: node + linkType: hard + +"react-is@npm:^16.13.1": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + +"react-refresh@npm:>=0.9 <=0.16": + version: 0.16.0 + resolution: "react-refresh@npm:0.16.0" + checksum: 10c0/122525dbd7a44140757f46b8b93df6a349126e64b270809a8f082809662be5837a97310e56df2cfc7dac98b8adfaaafa570ec579c8b269c374e6928394307c68 + languageName: node + linkType: hard + +"react-resizable-panels@npm:^0.0.61": + version: 0.0.61 + resolution: "react-resizable-panels@npm:0.0.61" + peerDependencies: + react: ^16.14.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 + checksum: 10c0/52b7374605034f26d30b47835c0bcb5f35022f0246a4d4d1deec98ecb82b822fa9c453324551232b2bbc6e5d9d17a2a99502d3255a7e4a0786d61105ed3924fc + languageName: node + linkType: hard + +"react-server-dom-parcel@npm:^19.1.0": + version: 19.1.0 + resolution: "react-server-dom-parcel@npm:19.1.0" + peerDependencies: + react: ^19.1.0 + react-dom: ^19.1.0 + checksum: 10c0/82f4822e427308474118a705419b057cf325018078e3c3d622070fdb85a566835f9a902ee367bd94c8ccde35947086614ce6c9319074368be90651fbd2c3696f + languageName: node + linkType: hard + +"react-universal-interface@npm:^0.6.2": + version: 0.6.2 + resolution: "react-universal-interface@npm:0.6.2" + peerDependencies: + react: "*" + tslib: "*" + checksum: 10c0/97c32ecb7a425c3bcaa92dcf84c46146b49610d928efde9e9ee5518c475a0db942f01634dd490e4f42fcd95cc2f49657c1b96dcef96423c06f077147fe1968ab + languageName: node + linkType: hard + +"react-use@npm:^17.4.0": + version: 17.5.1 + resolution: "react-use@npm:17.5.1" + dependencies: + "@types/js-cookie": "npm:^2.2.6" + "@xobotyi/scrollbar-width": "npm:^1.9.5" + copy-to-clipboard: "npm:^3.3.1" + fast-deep-equal: "npm:^3.1.3" + fast-shallow-equal: "npm:^1.0.0" + js-cookie: "npm:^2.2.1" + nano-css: "npm:^5.6.2" + react-universal-interface: "npm:^0.6.2" + resize-observer-polyfill: "npm:^1.5.1" + screenfull: "npm:^5.1.0" + set-harmonic-interval: "npm:^1.0.1" + throttle-debounce: "npm:^3.0.1" + ts-easing: "npm:^0.2.0" + tslib: "npm:^2.1.0" + peerDependencies: + react: "*" + react-dom: "*" + checksum: 10c0/3d6a8f46539b32698d31600239e72b5c23376a5343d0d687c6520e14532ed7f5c72c9b99d222be4eeacb0401ce3ae763d5648d0476440c8b4a6afbd56dc98bfa + languageName: node + linkType: hard + +"react@npm:^18.2.0": + version: 18.3.1 + resolution: "react@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 + languageName: node + linkType: hard + +"react@npm:^19, react@npm:^19.1.0": + version: 19.1.0 + resolution: "react@npm:19.1.0" + checksum: 10c0/530fb9a62237d54137a13d2cfb67a7db6a2156faed43eecc423f4713d9b20c6f2728b026b45e28fcd72e8eadb9e9ed4b089e99f5e295d2f0ad3134251bdd3698 + languageName: node + linkType: hard + +"read-cache@npm:^1.0.0": + version: 1.0.0 + resolution: "read-cache@npm:1.0.0" + dependencies: + pify: "npm:^2.3.0" + checksum: 10c0/90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 + languageName: node + linkType: hard + +"read-cmd-shim@npm:3.0.0": + version: 3.0.0 + resolution: "read-cmd-shim@npm:3.0.0" + checksum: 10c0/7a5fbd586e2336e589aa48ec9c2d77ad2486759f49d95d9b4a6b83576adb0d7ee1e5630111375678322c8b34af9834590085e85a8cb8623a7eb09a9de3fdf5ee + languageName: node + linkType: hard + +"read-cmd-shim@npm:^4.0.0": + version: 4.0.0 + resolution: "read-cmd-shim@npm:4.0.0" + checksum: 10c0/e62db17ec9708f1e7c6a31f0a46d43df2069d85cf0df3b9d1d99e5ed36e29b1e8b2f8a427fd8bbb9bc40829788df1471794f9b01057e4b95ed062806e4df5ba9 + languageName: node + linkType: hard + +"read-package-json-fast@npm:^2.0.3": + version: 2.0.3 + resolution: "read-package-json-fast@npm:2.0.3" + dependencies: + json-parse-even-better-errors: "npm:^2.3.0" + npm-normalize-package-bin: "npm:^1.0.1" + checksum: 10c0/c265a5d6c85f4c8ee0bf35b0b0d92800a7439e5cf4d1f5a2b3f9615a02ee2fd46bca6c2f07e244bfac1c40816eb0d28aec259ae99d7552d144dd9f971a5d2028 + languageName: node + linkType: hard + +"read-package-json-fast@npm:^3.0.0, read-package-json-fast@npm:^3.0.2": + version: 3.0.2 + resolution: "read-package-json-fast@npm:3.0.2" + dependencies: + json-parse-even-better-errors: "npm:^3.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + checksum: 10c0/37787e075f0260a92be0428687d9020eecad7ece3bda37461c2219e50d1ec183ab6ba1d9ada193691435dfe119a42c8a5b5b5463f08c8ddbc3d330800b265318 + languageName: node + linkType: hard + +"read-package-json@npm:5.0.1": + version: 5.0.1 + resolution: "read-package-json@npm:5.0.1" + dependencies: + glob: "npm:^8.0.1" + json-parse-even-better-errors: "npm:^2.3.1" + normalize-package-data: "npm:^4.0.0" + npm-normalize-package-bin: "npm:^1.0.1" + checksum: 10c0/f7730989cb4cd4aba428320e2326dd1f866cc662b6b3aec4a327282e0e92890e2342a5f6f9ed064cd68dca9d82ec47a55a75e61f993aca0a2d003844b5bc6b1a + languageName: node + linkType: hard + +"read-package-json@npm:^5.0.0": + version: 5.0.2 + resolution: "read-package-json@npm:5.0.2" + dependencies: + glob: "npm:^8.0.1" + json-parse-even-better-errors: "npm:^2.3.1" + normalize-package-data: "npm:^4.0.0" + npm-normalize-package-bin: "npm:^2.0.0" + checksum: 10c0/78972bda869efb6191f7b70ab0ca1e7a86549a4aaf73cb379dfeb57098e4ecaa1128ba3f81485ed0b52174605ef16fce1599a551228e5f656a17a1a53a1793e7 + languageName: node + linkType: hard + +"read-package-json@npm:^6.0.0": + version: 6.0.4 + resolution: "read-package-json@npm:6.0.4" + dependencies: + glob: "npm:^10.2.2" + json-parse-even-better-errors: "npm:^3.0.0" + normalize-package-data: "npm:^5.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + checksum: 10c0/0eb1110b35bc109a8d2789358a272c66b0fb8fd335a98df2ea9ff3423be564e2908f27d98f3f4b41da35495e04dc1763b33aad7cc24bfd58dfc6d60cca7d70c9 + languageName: node + linkType: hard + +"read-pkg-up@npm:^1.0.1": + version: 1.0.1 + resolution: "read-pkg-up@npm:1.0.1" + dependencies: + find-up: "npm:^1.0.0" + read-pkg: "npm:^1.0.0" + checksum: 10c0/36c4fc8bd73edf77a4eeb497b6e43010819ea4aef64cbf8e393439fac303398751c5a299feab84e179a74507e3a1416e1ed033a888b1dac3463bf46d1765f7ac + languageName: node + linkType: hard + +"read-pkg-up@npm:^3.0.0": + version: 3.0.0 + resolution: "read-pkg-up@npm:3.0.0" + dependencies: + find-up: "npm:^2.0.0" + read-pkg: "npm:^3.0.0" + checksum: 10c0/2cd0a180260b0d235990e6e9c8c2330a03882d36bc2eba8930e437ef23ee52a68a894e7e1ccb1c33f03bcceb270a861ee5f7eac686f238857755e2cddfb48ffd + languageName: node + linkType: hard + +"read-pkg-up@npm:^4.0.0": + version: 4.0.0 + resolution: "read-pkg-up@npm:4.0.0" + dependencies: + find-up: "npm:^3.0.0" + read-pkg: "npm:^3.0.0" + checksum: 10c0/c889c5bd9a4de84bfb5234ed7e5450b90cf83d05a25025ba04cfe3e1f12302e689d5c445b1c67cc564fbd7e1b931f638fea0299a188e1fd36eac183a1167b533 + languageName: node + linkType: hard + +"read-pkg-up@npm:^5.0.0": + version: 5.0.0 + resolution: "read-pkg-up@npm:5.0.0" + dependencies: + find-up: "npm:^3.0.0" + read-pkg: "npm:^5.0.0" + checksum: 10c0/c3bb62be995b6d4ed16cf9879cbb42035547b8f633986f0171f93f3dcf31b229b585cf70a03cc63fa7d48848009c9180f14396ed99201884ff9bd3a2c5ad1066 + languageName: node + linkType: hard + +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: "npm:^4.1.0" + read-pkg: "npm:^5.2.0" + type-fest: "npm:^0.8.1" + checksum: 10c0/82b3ac9fd7c6ca1bdc1d7253eb1091a98ff3d195ee0a45386582ce3e69f90266163c34121e6a0a02f1630073a6c0585f7880b3865efcae9c452fa667f02ca385 + languageName: node + linkType: hard + +"read-pkg@npm:^1.0.0": + version: 1.1.0 + resolution: "read-pkg@npm:1.1.0" + dependencies: + load-json-file: "npm:^1.0.0" + normalize-package-data: "npm:^2.3.2" + path-type: "npm:^1.0.0" + checksum: 10c0/51fce9f7066787dc7688ea7014324cedeb9f38daa7dace4f1147d526f22354a07189ef728710bc97e27fcf5ed3a03b68ad8b60afb4251984640b6f09c180d572 + languageName: node + linkType: hard + +"read-pkg@npm:^3.0.0": + version: 3.0.0 + resolution: "read-pkg@npm:3.0.0" + dependencies: + load-json-file: "npm:^4.0.0" + normalize-package-data: "npm:^2.3.2" + path-type: "npm:^3.0.0" + checksum: 10c0/65acf2df89fbcd506b48b7ced56a255ba00adf7ecaa2db759c86cc58212f6fd80f1f0b7a85c848551a5d0685232e9b64f45c1fd5b48d85df2761a160767eeb93 + languageName: node + linkType: hard + +"read-pkg@npm:^5.0.0, read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": "npm:^2.4.0" + normalize-package-data: "npm:^2.5.0" + parse-json: "npm:^5.0.0" + type-fest: "npm:^0.6.0" + checksum: 10c0/b51a17d4b51418e777029e3a7694c9bd6c578a5ab99db544764a0b0f2c7c0f58f8a6bc101f86a6fceb8ba6d237d67c89acf6170f6b98695d0420ddc86cf109fb + languageName: node + linkType: hard + +"read@npm:1, read@npm:^1.0.7": + version: 1.0.7 + resolution: "read@npm:1.0.7" + dependencies: + mute-stream: "npm:~0.0.4" + checksum: 10c0/443533f05d5bb11b36ef1c6d625aae4e2ced8967e93cf546f35aa77b4eb6bd157f4256619e446bae43467f8f6619c7bc5c76983348dffaf36afedf4224f46216 + languageName: node + linkType: hard + +"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readable-stream@npm:>=1.0.33-1 <1.1.0-0": + version: 1.0.34 + resolution: "readable-stream@npm:1.0.34" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.1" + isarray: "npm:0.0.1" + string_decoder: "npm:~0.10.x" + checksum: 10c0/02272551396ed8930ddee1a088bdf0379f0f7cc47ac49ed8804e998076cb7daec9fbd2b1fd9c0490ec72e56e8bb3651abeb8080492b8e0a9c3f2158330908ed6 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa + languageName: node + linkType: hard + +"readdirp@npm:^2.2.1": + version: 2.2.1 + resolution: "readdirp@npm:2.2.1" + dependencies: + graceful-fs: "npm:^4.1.11" + micromatch: "npm:^3.1.10" + readable-stream: "npm:^2.0.2" + checksum: 10c0/770d177372ff2212d382d425d55ca48301fcbf3231ab3827257bbcca7ff44fb51fe4af6acc2dda8512dc7f29da390e9fbea5b2b3fc724b86e85cc828395b7797 + languageName: node + linkType: hard + +"readdirp@npm:^4.0.1": + version: 4.0.2 + resolution: "readdirp@npm:4.0.2" + checksum: 10c0/a16ecd8ef3286dcd90648c3b103e3826db2b766cdb4a988752c43a83f683d01c7059158d623cbcd8bdfb39e65d302d285be2d208e7d9f34d022d912b929217dd + languageName: node + linkType: hard + +"readdirp@npm:~3.5.0": + version: 3.5.0 + resolution: "readdirp@npm:3.5.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/293de2ed981884a09e76fbf90bddc7e1a87667e57e0284ddc8c177e3151b0d179a9a56441d9f2f3654423924ec100af57ba9e507086527f98fd1d21bdd041c3e + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: "npm:^1.1.6" + checksum: 10c0/22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 + languageName: node + linkType: hard + +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: "npm:^4.0.0" + strip-indent: "npm:^3.0.0" + checksum: 10c0/d64a6b5c0b50eb3ddce3ab770f866658a2b9998c678f797919ceb1b586bab9259b311407280bd80b804e2a7c7539b19238ae6a2a20c843f1a7fcff21d48c2eae + languageName: node + linkType: hard + +"reflect.getprototypeof@npm:^1.0.4, reflect.getprototypeof@npm:^1.0.6": + version: 1.0.7 + resolution: "reflect.getprototypeof@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + which-builtin-type: "npm:^1.1.4" + checksum: 10c0/841814f7631b55ee42e198cb14a5c25c0752431ab8f0ad9794c32d46ab9fb0d5ba4939edac1f99a174a21443a1400a72bccbbb9ccd9277e4b4bf6d14aabb31c8 + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/5510785eeaf56bbfdf4e663d6753f125c08d2a372d4107bc1b756b7bf142e2ed80c2733a8b54e68fb309ba37690e66a0362699b0e21d5c1f0255dea1b00e6460 + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10c0/f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0, regenerator-runtime@npm:^0.14.1": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.15.2": + version: 0.15.2 + resolution: "regenerator-transform@npm:0.15.2" + dependencies: + "@babel/runtime": "npm:^7.8.4" + checksum: 10c0/7cfe6931ec793269701994a93bab89c0cc95379191fad866270a7fea2adfec67ea62bb5b374db77058b60ba4509319d9b608664d0d288bd9989ca8dbd08fae90 + languageName: node + linkType: hard + +"regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": + version: 1.0.2 + resolution: "regex-not@npm:1.0.2" + dependencies: + extend-shallow: "npm:^3.0.2" + safe-regex: "npm:^1.1.0" + checksum: 10c0/a0f8d6045f63b22e9759db10e248369c443b41cedd7dba0922d002b66c2734bc2aef0d98c4d45772d1f756245f4c5203856b88b9624bba2a58708858a8d485d6 + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.5.2, regexp.prototype.flags@npm:^1.5.3": + version: 1.5.3 + resolution: "regexp.prototype.flags@npm:1.5.3" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-errors: "npm:^1.3.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/e1a7c7dc42cc91abf73e47a269c4b3a8f225321b7f617baa25821f6a123a91d23a73b5152f21872c566e699207e1135d075d2251cd3e84cc96d82a910adf6020 + languageName: node + linkType: hard + +"regexpu-core@npm:^6.1.1": + version: 6.2.0 + resolution: "regexpu-core@npm:6.2.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.12.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10c0/bbcb83a854bf96ce4005ee4e4618b71c889cda72674ce6092432f0039b47890c2d0dfeb9057d08d440999d9ea03879ebbb7f26ca005ccf94390e55c348859b98 + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd + languageName: node + linkType: hard + +"regjsparser@npm:^0.12.0": + version: 0.12.0 + resolution: "regjsparser@npm:0.12.0" + dependencies: + jsesc: "npm:~3.0.2" + bin: + regjsparser: bin/parser + checksum: 10c0/99d3e4e10c8c7732eb7aa843b8da2fd8b647fe144d3711b480e4647dc3bff4b1e96691ccf17f3ace24aa866a50b064236177cb25e6e4fbbb18285d99edaed83b + languageName: node + linkType: hard + +"remove-bom-buffer@npm:^3.0.0": + version: 3.0.0 + resolution: "remove-bom-buffer@npm:3.0.0" + dependencies: + is-buffer: "npm:^1.1.5" + is-utf8: "npm:^0.2.1" + checksum: 10c0/5179a73424893880709fff54ba2160d6175abfb587031a4cdf16f43acb5952d219fe342a40ea45a4d2ef40cd7af19722b0ba6447a6605b42b6c0674eff320896 + languageName: node + linkType: hard + +"remove-bom-stream@npm:^1.2.0": + version: 1.2.0 + resolution: "remove-bom-stream@npm:1.2.0" + dependencies: + remove-bom-buffer: "npm:^3.0.0" + safe-buffer: "npm:^5.1.0" + through2: "npm:^2.0.3" + checksum: 10c0/c5f34d3308c7864579838a3741a08983bd47d3bac5e6f9e4f498c1eccdc6784805ce52aec1700c420eff09d05184e6c96bb6a3380cf18aadce6dd3d4138399cb + languageName: node + linkType: hard + +"remove-trailing-separator@npm:^1.0.1, remove-trailing-separator@npm:^1.1.0": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: 10c0/3568f9f8f5af3737b4aee9e6e1e8ec4be65a92da9cb27f989e0893714d50aa95ed2ff02d40d1fa35e1b1a234dc9c2437050ef356704a3999feaca6667d9e9bfc + languageName: node + linkType: hard + +"repeat-element@npm:^1.1.2": + version: 1.1.4 + resolution: "repeat-element@npm:1.1.4" + checksum: 10c0/81aa8d82bc845780803ef52df3533fa399974b99df571d0bb86e91f0ffca9ee4b9c4e8e5e72af087938cc28d2aef93d106a6d01da685d72ce96455b90a9f9f69 + languageName: node + linkType: hard + +"repeat-string@npm:^1.6.1": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d + languageName: node + linkType: hard + +"replace-ext@npm:^1.0.0": + version: 1.0.1 + resolution: "replace-ext@npm:1.0.1" + checksum: 10c0/9a9c3d68d0d31f20533ed23e9f6990cff8320cf357eebfa56c0d7b63746ae9f2d6267f3321e80e0bffcad854f710fc9a48dbcf7615579d767db69e9cd4a43168 + languageName: node + linkType: hard + +"replace-homedir@npm:^1.0.0": + version: 1.0.0 + resolution: "replace-homedir@npm:1.0.0" + dependencies: + homedir-polyfill: "npm:^1.0.1" + is-absolute: "npm:^1.0.0" + remove-trailing-separator: "npm:^1.1.0" + checksum: 10c0/7ccdc91dde3dfbf284eb5841291fa634f61a4534d4a1faf3de7ada14db27675cf76b0246c29bf11544ebb8a9e75b401cb5185fa17a9b9a0bd4910f8ff1a25073 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"require-main-filename@npm:^1.0.1": + version: 1.0.1 + resolution: "require-main-filename@npm:1.0.1" + checksum: 10c0/1ab87efb72a0e223a667154e92f29ca753fd42eb87f22db142b91c86d134e29ecf18af929111ccd255fd340b57d84a9d39489498d8dfd5136b300ded30a5f0b6 + languageName: node + linkType: hard + +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: 10c0/b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 + languageName: node + linkType: hard + +"resize-observer-polyfill@npm:^1.5.1": + version: 1.5.1 + resolution: "resize-observer-polyfill@npm:1.5.1" + checksum: 10c0/5e882475067f0b97dc07e0f37c3e335ac5bc3520d463f777cec7e894bb273eddbfecb857ae668e6fb6881fd6f6bb7148246967172139302da50fa12ea3a15d95 + languageName: node + linkType: hard + +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: "npm:^5.0.0" + checksum: 10c0/e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4 + languageName: node + linkType: hard + +"resolve-dir@npm:^1.0.0, resolve-dir@npm:^1.0.1": + version: 1.0.1 + resolution: "resolve-dir@npm:1.0.1" + dependencies: + expand-tilde: "npm:^2.0.0" + global-modules: "npm:^1.0.0" + checksum: 10c0/8197ed13e4a51d9cd786ef6a09fc83450db016abe7ef3311ca39389b3e508d77c26fe0cf0483a9b407b8caa2764bb5ccc52cf6a017ded91492a416475a56066f + languageName: node + linkType: hard + +"resolve-from@npm:5.0.0, resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-options@npm:^1.1.0": + version: 1.1.0 + resolution: "resolve-options@npm:1.1.0" + dependencies: + value-or-function: "npm:^3.0.0" + checksum: 10c0/2f55cbe96ef8260771fc52a4335bb4a04e0d7b52e616c2538a0eb48fd8335a932a3bfc67356a21db965e4bc3e4be869e7925d475c8fb556adf771cc5409fbf3d + languageName: node + linkType: hard + +"resolve-url@npm:^0.2.1": + version: 0.2.1 + resolution: "resolve-url@npm:0.2.1" + checksum: 10c0/c285182cfcddea13a12af92129ce0569be27fb0074ffaefbd3ba3da2eac2acecdfc996d435c4982a9fa2b4708640e52837c9153a5ab9255886a00b0b9e8d2a54 + languageName: node + linkType: hard + +"resolve@npm:^0.6.1": + version: 0.6.3 + resolution: "resolve@npm:0.6.3" + checksum: 10c0/57f63aab332a668a1a424747b58851b7dddcfbd9b7a425a6050887858174943e499d1d11e3c10e676e8b0ede15ee6fc3ce919195c12d68082729db93a1517b6d + languageName: node + linkType: hard + +"resolve@npm:^1.0.0, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.14.2, resolve@npm:^1.15.1, resolve@npm:^1.19.0, resolve@npm:^1.22.4, resolve@npm:^1.22.8, resolve@npm:^1.4.0": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + languageName: node + linkType: hard + +"resolve@npm:^2.0.0-next.5": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^0.6.1#optional!builtin": + version: 0.6.3 + resolution: "resolve@patch:resolve@npm%3A0.6.3#optional!builtin::version=0.6.3&hash=3bafbf" + checksum: 10c0/a46adc49c7d6828028244cf4d6b9e09d8334f8f175195685c96f5f415986e1587d8a83757ebc4e706be7b8b95911046e0ddc83e9be539050add1806564eff841 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.15.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 + languageName: node + linkType: hard + +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f + languageName: node + linkType: hard + +"ret@npm:~0.1.10": + version: 0.1.15 + resolution: "ret@npm:0.1.15" + checksum: 10c0/01f77cad0f7ea4f955852c03d66982609893edc1240c0c964b4c9251d0f9fb6705150634060d169939b096d3b77f4c84d6b6098a5b5d340160898c8581f1f63f + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rfdc@npm:^1.3.0": + version: 1.4.1 + resolution: "rfdc@npm:1.4.1" + checksum: 10c0/4614e4292356cafade0b6031527eea9bc90f2372a22c012313be1dcc69a3b90c7338158b414539be863fa95bfcb2ddcd0587be696841af4e6679d85e62c060c7 + languageName: node + linkType: hard + +"rimraf@npm:2, rimraf@npm:^2.6.3": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: ./bin.js + checksum: 10c0/4eef73d406c6940927479a3a9dee551e14a54faf54b31ef861250ac815172bade86cc6f7d64a4dc5e98b65e4b18a2e1c9ff3b68d296be0c748413f092bb0dd40 + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"rimraf@npm:^4.4.1": + version: 4.4.1 + resolution: "rimraf@npm:4.4.1" + dependencies: + glob: "npm:^9.2.0" + bin: + rimraf: dist/cjs/src/bin.js + checksum: 10c0/8c5e142d26d8b222be9dc9a1a41ba48e95d8f374e813e66a8533e87c6180174fcb3f573b9b592eca12740ebf8b78526d136acd971d4a790763d6f2232c34fa24 + languageName: node + linkType: hard + +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" + dependencies: + glob: "npm:^10.3.7" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc + languageName: node + linkType: hard + +"rimraf@npm:~2.6.2": + version: 2.6.3 + resolution: "rimraf@npm:2.6.3" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: ./bin.js + checksum: 10c0/f1e646f8c567795f2916aef7aadf685b543da6b9a53e482bb04b07472c7eef2b476045ba1e29f401c301c66b630b22b815ab31fdd60c5e1ae6566ff523debf45 + languageName: node + linkType: hard + +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": + version: 2.0.2 + resolution: "ripemd160@npm:2.0.2" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + checksum: 10c0/f6f0df78817e78287c766687aed4d5accbebc308a8e7e673fb085b9977473c1f139f0c5335d353f172a915bb288098430755d2ad3c4f30612f4dd0c901cd2c3a + languageName: node + linkType: hard + +"rrweb-cssom@npm:^0.7.1": + version: 0.7.1 + resolution: "rrweb-cssom@npm:0.7.1" + checksum: 10c0/127b8ca6c8aac45e2755abbae6138d4a813b1bedc2caabf79466ae83ab3cfc84b5bfab513b7033f0aa4561c7753edf787d0dd01163ceacdee2e8eb1b6bf7237e + languageName: node + linkType: hard + +"rsc-html-stream@npm:^0.0.5": + version: 0.0.5 + resolution: "rsc-html-stream@npm:0.0.5" + checksum: 10c0/a8c01757436228bb723ddcb3b9fe348157567699418b018e56a1b94912a62e978c498d4bc8ad2af6ece3a5558e3008af4028ab5630f57e11af10f5e4a9f98c8b + languageName: node + linkType: hard + +"rtl-css-js@npm:^1.16.1": + version: 1.16.1 + resolution: "rtl-css-js@npm:1.16.1" + dependencies: + "@babel/runtime": "npm:^7.1.2" + checksum: 10c0/4b81ef50e50c97455d61c9bb576e2892651c79bac5d0c52b4123ebb9d6a2c5144590a79c9db0a3212a81b4eb83bf317e03637220f20b387a37b96cbac324d3d2 + languageName: node + linkType: hard + +"run-async@npm:^2.4.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: 10c0/35a68c8f1d9664f6c7c2e153877ca1d6e4f886e5ca067c25cdd895a6891ff3a1466ee07c63d6a9be306e9619ff7d509494e6d9c129516a36b9fd82263d579ee1 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"rxjs@npm:^7.5.1, rxjs@npm:^7.5.5": + version: 7.8.1 + resolution: "rxjs@npm:7.8.1" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/3c49c1ecd66170b175c9cacf5cef67f8914dcbc7cd0162855538d365c83fea631167cacb644b3ce533b2ea0e9a4d0b12175186985f89d75abe73dbd8f7f06f68 + languageName: node + linkType: hard + +"safe-array-concat@npm:^1.1.2": + version: 1.1.2 + resolution: "safe-array-concat@npm:1.1.2" + dependencies: + call-bind: "npm:^1.0.7" + get-intrinsic: "npm:^1.2.4" + has-symbols: "npm:^1.0.3" + isarray: "npm:^2.0.5" + checksum: 10c0/12f9fdb01c8585e199a347eacc3bae7b5164ae805cdc8c6707199dbad5b9e30001a50a43c4ee24dc9ea32dbb7279397850e9208a7e217f4d8b1cf5d90129dec9 + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.0.3": + version: 1.0.3 + resolution: "safe-regex-test@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-regex: "npm:^1.1.4" + checksum: 10c0/900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603 + languageName: node + linkType: hard + +"safe-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex@npm:1.1.0" + dependencies: + ret: "npm:~0.1.10" + checksum: 10c0/547d58aa5184cbef368fd5ed5f28d20f911614748c5da6b35f53fd6626396707587251e6e3d1e3010fd3ff1212e413841b8825eaa5f317017ca62a30899af31a + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sass@npm:^1.38.0": + version: 1.81.0 + resolution: "sass@npm:1.81.0" + dependencies: + "@parcel/watcher": "npm:^2.4.1" + chokidar: "npm:^4.0.0" + immutable: "npm:^5.0.2" + source-map-js: "npm:>=0.6.2 <2.0.0" + dependenciesMeta: + "@parcel/watcher": + optional: true + bin: + sass: sass.js + checksum: 10c0/9c59b3c9b4231c18fcb4583cc232dbc4de501ddc11101b7a025e44833e3f3ce6031546dc1cd109ee9f04ebcfb1fe30ff870810af33b8feb9aa9e36dfba9ec1ef + languageName: node + linkType: hard + +"sax@npm:^1.2.4": + version: 1.4.1 + resolution: "sax@npm:1.4.1" + checksum: 10c0/6bf86318a254c5d898ede6bd3ded15daf68ae08a5495a2739564eb265cd13bcc64a07ab466fb204f67ce472bb534eb8612dac587435515169593f4fffa11de7c + languageName: node + linkType: hard + +"sax@npm:~1.3.0": + version: 1.3.0 + resolution: "sax@npm:1.3.0" + checksum: 10c0/599dbe0ba9d8bd55e92d920239b21d101823a6cedff71e542589303fa0fa8f3ece6cf608baca0c51be846a2e88365fac94a9101a9c341d94b98e30c4deea5bea + languageName: node + linkType: hard + +"saxes@npm:^6.0.0": + version: 6.0.0 + resolution: "saxes@npm:6.0.0" + dependencies: + xmlchars: "npm:^2.2.0" + checksum: 10c0/3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 + languageName: node + linkType: hard + +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 + languageName: node + linkType: hard + +"scheduler@npm:^0.26.0": + version: 0.26.0 + resolution: "scheduler@npm:0.26.0" + checksum: 10c0/5b8d5bfddaae3513410eda54f2268e98a376a429931921a81b5c3a2873aab7ca4d775a8caac5498f8cbc7d0daeab947cf923dbd8e215d61671f9f4e392d34356 + languageName: node + linkType: hard + +"screenfull@npm:^5.1.0": + version: 5.2.0 + resolution: "screenfull@npm:5.2.0" + checksum: 10c0/86fd49983e2edc153ee2e674a570c711cb0961a9cacca659309f79636ccc8ca8a0b830ea4dacdae7403a8bb7ba6affd5bcdce053aa97782961247a49bfd2ba68 + languageName: node + linkType: hard + +"semver-compare@npm:^1.0.0": + version: 1.0.0 + resolution: "semver-compare@npm:1.0.0" + checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1 + languageName: node + linkType: hard + +"semver-greatest-satisfied-range@npm:^1.1.0": + version: 1.1.0 + resolution: "semver-greatest-satisfied-range@npm:1.1.0" + dependencies: + sver-compat: "npm:^1.5.0" + checksum: 10c0/66f3a52a9ca788523452e5efc70373ca497abc24945eadc5b52b6d06c2821ec201018d1c9eab8d53e8630e9c5457eb4d428828b7ca068b95c41be4cc6ca3a6d6 + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.1.0, semver@npm:^5.5.0, semver@npm:^5.6.0": + version: 5.7.2 + resolution: "semver@npm:5.7.2" + bin: + semver: bin/semver + checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 + languageName: node + linkType: hard + +"semver@npm:7.3.8": + version: 7.3.8 + resolution: "semver@npm:7.3.8" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 10c0/7e581d679530db31757301c2117721577a2bb36a301a443aac833b8efad372cda58e7f2a464fe4412ae1041cc1f63a6c1fe0ced8c57ce5aca1e0b57bb0d627b9 + languageName: node + linkType: hard + +"semver@npm:7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + languageName: node + linkType: hard + +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 + languageName: node + linkType: hard + +"serialize-javascript@npm:5.0.1": + version: 5.0.1 + resolution: "serialize-javascript@npm:5.0.1" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/646bd92a8298d764d38316f3006bce0b0def6d0e254791396ac34403847654d9346b0b6ed7865efd799d93d4c47d900e08a8fa7a6f7f8d2dbaebab5444c3b431 + languageName: node + linkType: hard + +"serve-handler@npm:^6.0.0": + version: 6.1.6 + resolution: "serve-handler@npm:6.1.6" + dependencies: + bytes: "npm:3.0.0" + content-disposition: "npm:0.5.2" + mime-types: "npm:2.1.18" + minimatch: "npm:3.1.2" + path-is-inside: "npm:1.0.2" + path-to-regexp: "npm:3.3.0" + range-parser: "npm:1.2.0" + checksum: 10c0/1e1cb6bbc51ee32bc1505f2e0605bdc2e96605c522277c977b67f83be9d66bd1eec8604388714a4d728e036d86b629bc9aec02120ea030d3d2c3899d44696503 + languageName: node + linkType: hard + +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" + dependencies: + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.19.0" + checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + functions-have-names: "npm:^1.2.3" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 + languageName: node + linkType: hard + +"set-harmonic-interval@npm:^1.0.1": + version: 1.0.1 + resolution: "set-harmonic-interval@npm:1.0.1" + checksum: 10c0/49014d928a62c8418507bf66ffef7066783e8fb19f76e955318bbae5a8c4b56e1a7176b370f9040ef9de51531aa522a3f96fa5c47b1534635aa577ff7c12f9c6 + languageName: node + linkType: hard + +"set-value@npm:^2.0.0, set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: "npm:^2.0.1" + is-extendable: "npm:^0.1.1" + is-plain-object: "npm:^2.0.3" + split-string: "npm:^3.0.1" + checksum: 10c0/4c40573c4f6540456e4b38b95f570272c4cfbe1d12890ad4057886da8535047cd772dfadf5b58e2e87aa244dfb4c57e3586f6716b976fc47c5144b6b09e1811b + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.4, setimmediate@npm:^1.0.5, setimmediate@npm:~1.0.4": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + bin: + sha.js: ./bin.js + checksum: 10c0/b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5 + languageName: node + linkType: hard + +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: "npm:^6.0.2" + checksum: 10c0/7bab09613a1b9f480c85a9823aebec533015579fa055ba6634aa56ba1f984380670eaf33b8217502931872aa1401c9fcadaa15f9f604d631536df475b05bcf1e + languageName: node + linkType: hard + +"shallow-copy@npm:0.0.1": + version: 0.0.1 + resolution: "shallow-copy@npm:0.0.1" + checksum: 10c0/ab1c762e36fa3a02cec228e111f227be0b46457a82f123c5ef13f3bc970be16b74dbfd0f1b6ffb450a66db856832800c86713ffc1ec5733d61f59f23fe114769 + languageName: node + linkType: hard + +"sharp@npm:^0.33.5": + version: 0.33.5 + resolution: "sharp@npm:0.33.5" + dependencies: + "@img/sharp-darwin-arm64": "npm:0.33.5" + "@img/sharp-darwin-x64": "npm:0.33.5" + "@img/sharp-libvips-darwin-arm64": "npm:1.0.4" + "@img/sharp-libvips-darwin-x64": "npm:1.0.4" + "@img/sharp-libvips-linux-arm": "npm:1.0.5" + "@img/sharp-libvips-linux-arm64": "npm:1.0.4" + "@img/sharp-libvips-linux-s390x": "npm:1.0.4" + "@img/sharp-libvips-linux-x64": "npm:1.0.4" + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.4" + "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.4" + "@img/sharp-linux-arm": "npm:0.33.5" + "@img/sharp-linux-arm64": "npm:0.33.5" + "@img/sharp-linux-s390x": "npm:0.33.5" + "@img/sharp-linux-x64": "npm:0.33.5" + "@img/sharp-linuxmusl-arm64": "npm:0.33.5" + "@img/sharp-linuxmusl-x64": "npm:0.33.5" + "@img/sharp-wasm32": "npm:0.33.5" + "@img/sharp-win32-ia32": "npm:0.33.5" + "@img/sharp-win32-x64": "npm:0.33.5" + color: "npm:^4.2.3" + detect-libc: "npm:^2.0.3" + semver: "npm:^7.6.3" + dependenciesMeta: + "@img/sharp-darwin-arm64": + optional: true + "@img/sharp-darwin-x64": + optional: true + "@img/sharp-libvips-darwin-arm64": + optional: true + "@img/sharp-libvips-darwin-x64": + optional: true + "@img/sharp-libvips-linux-arm": + optional: true + "@img/sharp-libvips-linux-arm64": + optional: true + "@img/sharp-libvips-linux-s390x": + optional: true + "@img/sharp-libvips-linux-x64": + optional: true + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + "@img/sharp-libvips-linuxmusl-x64": + optional: true + "@img/sharp-linux-arm": + optional: true + "@img/sharp-linux-arm64": + optional: true + "@img/sharp-linux-s390x": + optional: true + "@img/sharp-linux-x64": + optional: true + "@img/sharp-linuxmusl-arm64": + optional: true + "@img/sharp-linuxmusl-x64": + optional: true + "@img/sharp-wasm32": + optional: true + "@img/sharp-win32-ia32": + optional: true + "@img/sharp-win32-x64": + optional: true + checksum: 10c0/6b81421ddfe6ee524d8d77e325c5e147fef22884e1c7b1656dfd89a88d7025894115da02d5f984261bf2e6daa16f98cadd1721c4ba408b4212b1d2a60f233484 + languageName: node + linkType: hard + +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: "npm:^1.0.0" + checksum: 10c0/7b20dbf04112c456b7fc258622dafd566553184ac9b6938dd30b943b065b21dabd3776460df534cc02480db5e1b6aec44700d985153a3da46e7db7f9bd21326d + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 10c0/9abc45dee35f554ae9453098a13fdc2f1730e525a5eb33c51f096cc31f6f10a4b38074c1ebf354ae7bffa7229506083844008dfc3bb7818228568c0b2dc1fff2 + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shell-quote@npm:^1.8.1": + version: 1.8.1 + resolution: "shell-quote@npm:1.8.1" + checksum: 10c0/8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a + languageName: node + linkType: hard + +"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + object-inspect: "npm:^1.13.1" + checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f + languageName: node + linkType: hard + +"signal-exit@npm:3.0.7, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"sigstore@npm:^1.0.0, sigstore@npm:^1.3.0, sigstore@npm:^1.4.0": + version: 1.9.0 + resolution: "sigstore@npm:1.9.0" + dependencies: + "@sigstore/bundle": "npm:^1.1.0" + "@sigstore/protobuf-specs": "npm:^0.2.0" + "@sigstore/sign": "npm:^1.0.0" + "@sigstore/tuf": "npm:^1.0.3" + make-fetch-happen: "npm:^11.0.1" + bin: + sigstore: bin/sigstore.js + checksum: 10c0/64091a95f7a2073ab833bc172aadae0768b84c513a4e3dd3c6f55a1120ea774c293521b7eb6de510dd00562b4351acc2b9295b604c725a9c524fe4f81e4e8203 + languageName: node + linkType: hard + +"simple-git@npm:^3.21.0": + version: 3.27.0 + resolution: "simple-git@npm:3.27.0" + dependencies: + "@kwsites/file-exists": "npm:^1.1.1" + "@kwsites/promise-deferred": "npm:^1.1.1" + debug: "npm:^4.3.5" + checksum: 10c0/ef56cabea585377d3e0ca30e4e93447f465d91f23eaf751693cc31f366b5f7636facf52ad5bcd598bfdf295fa60732e7a394303d378995b52e2d221d92e5f9f4 + languageName: node + linkType: hard + +"simple-swizzle@npm:^0.2.2": + version: 0.2.2 + resolution: "simple-swizzle@npm:0.2.2" + dependencies: + is-arrayish: "npm:^0.3.1" + checksum: 10c0/df5e4662a8c750bdba69af4e8263c5d96fe4cd0f9fe4bdfa3cbdeb45d2e869dff640beaaeb1ef0e99db4d8d2ec92f85508c269f50c972174851bc1ae5bd64308 + languageName: node + linkType: hard + +"sinon@npm:^7.3.1": + version: 7.5.0 + resolution: "sinon@npm:7.5.0" + dependencies: + "@sinonjs/commons": "npm:^1.4.0" + "@sinonjs/formatio": "npm:^3.2.1" + "@sinonjs/samsam": "npm:^3.3.3" + diff: "npm:^3.5.0" + lolex: "npm:^4.2.0" + nise: "npm:^1.5.2" + supports-color: "npm:^5.5.0" + checksum: 10c0/44efbca7bc3ba7b91773f666a1a816a12f420aff1ddd7f62d894bfea37a0b6994224a89abf24f2a98cbca708b8a66a36bb96158e9f103a427483aa4b41236201 + languageName: node + linkType: hard + +"slash@npm:3.0.0, slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slash@npm:^1.0.0": + version: 1.0.0 + resolution: "slash@npm:1.0.0" + checksum: 10c0/3944659885d905480f98810542fd314f3e1006eaad25ec78227a7835a469d9ed66fc3dd90abc7377dd2e71f4b5473e8f766bd08198fdd25152a80792e9ed464c + languageName: node + linkType: hard + +"slash@npm:^2.0.0": + version: 2.0.0 + resolution: "slash@npm:2.0.0" + checksum: 10c0/f83dbd3cb62c41bb8fcbbc6bf5473f3234b97fa1d008f571710a9d3757a28c7169e1811cad1554ccb1cc531460b3d221c9a7b37f549398d9a30707f0a5af9193 + languageName: node + linkType: hard + +"slice-ansi@npm:^3.0.0": + version: 3.0.0 + resolution: "slice-ansi@npm:3.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + astral-regex: "npm:^2.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + checksum: 10c0/88083c9d0ca67d09f8b4c78f68833d69cabbb7236b74df5d741ad572bbf022deaf243fa54009cd434350622a1174ab267710fcc80a214ecc7689797fe00cb27c + languageName: node + linkType: hard + +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + astral-regex: "npm:^2.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd + languageName: node + linkType: hard + +"snapdragon-node@npm:^2.0.1": + version: 2.1.1 + resolution: "snapdragon-node@npm:2.1.1" + dependencies: + define-property: "npm:^1.0.0" + isobject: "npm:^3.0.0" + snapdragon-util: "npm:^3.0.1" + checksum: 10c0/7616e6a1ca054afe3ad8defda17ebe4c73b0800d2e0efd635c44ee1b286f8ac7900517314b5330862ce99b28cd2782348ee78bae573ff0f55832ad81d9657f3f + languageName: node + linkType: hard + +"snapdragon-util@npm:^3.0.1": + version: 3.0.1 + resolution: "snapdragon-util@npm:3.0.1" + dependencies: + kind-of: "npm:^3.2.0" + checksum: 10c0/4441856d343399ba7f37f79681949d51b922e290fcc07e7bc94655a50f584befa4fb08f40c3471cd160e004660161964d8ff140cba49baa59aa6caba774240e3 + languageName: node + linkType: hard + +"snapdragon@npm:^0.8.1": + version: 0.8.2 + resolution: "snapdragon@npm:0.8.2" + dependencies: + base: "npm:^0.11.1" + debug: "npm:^2.2.0" + define-property: "npm:^0.2.5" + extend-shallow: "npm:^2.0.1" + map-cache: "npm:^0.2.2" + source-map: "npm:^0.5.6" + source-map-resolve: "npm:^0.5.0" + use: "npm:^3.1.0" + checksum: 10c0/dfdac1f73d47152d72fc07f4322da09bbddfa31c1c9c3ae7346f252f778c45afa5b03e90813332f02f04f6de8003b34a168c456f8bb719024d092f932520ffca + languageName: node + linkType: hard + +"snarkdown@npm:^2.0.0": + version: 2.0.0 + resolution: "snarkdown@npm:2.0.0" + checksum: 10c0/2e1645924041f0a69804b2d0eac3eef0403d1d769da374c73102f1f8a401401990c79e6dd1ee0ea302585ecea232e358c11134781b389b0afffb987f4db5b36d + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" + dependencies: + agent-base: "npm:^6.0.2" + debug: "npm:^4.3.3" + socks: "npm:^2.6.2" + checksum: 10c0/b859f7eb8e96ec2c4186beea233ae59c02404094f3eb009946836af27d6e5c1627d1975a69b4d2e20611729ed543b6db3ae8481eb38603433c50d0345c987600 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.6.2": + version: 2.8.3 + resolution: "socks@npm:2.8.3" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 + languageName: node + linkType: hard + +"sort-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "sort-keys@npm:2.0.0" + dependencies: + is-plain-obj: "npm:^1.0.0" + checksum: 10c0/c11a6313995cb67ccf35fed4b1f6734176cc1d1e350ee311c061a2340ada4f7e23b046db064d518b63adba98c0f763739920c59fb4659a0b8482ec7a1f255081 + languageName: node + linkType: hard + +"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-resolve@npm:^0.5.0": + version: 0.5.3 + resolution: "source-map-resolve@npm:0.5.3" + dependencies: + atob: "npm:^2.1.2" + decode-uri-component: "npm:^0.2.0" + resolve-url: "npm:^0.2.1" + source-map-url: "npm:^0.4.0" + urix: "npm:^0.1.0" + checksum: 10c0/410acbe93882e058858d4c1297be61da3e1533f95f25b95903edddc1fb719654e705663644677542d1fb78a66390238fad1a57115fc958a0724cf9bb509caf57 + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.16, source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map-url@npm:^0.4.0": + version: 0.4.1 + resolution: "source-map-url@npm:0.4.1" + checksum: 10c0/f8af0678500d536c7f643e32094d6718a4070ab4ca2d2326532512cfbe2d5d25a45849b4b385879326f2d7523bb3b686d0360dd347a3cda09fd89a5c28d4bc58 + languageName: node + linkType: hard + +"source-map@npm:0.5.6": + version: 0.5.6 + resolution: "source-map@npm:0.5.6" + checksum: 10c0/beb2c5974bb58954d75e86249953d47ae16f7df1a8531abb9fcae0cd262d9fa09c2db3a134e20e99358b1adba42b6b054a32c8e16b571b3efcf6af644c329f0d + languageName: node + linkType: hard + +"source-map@npm:^0.5.1, source-map@npm:^0.5.6": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 10c0/904e767bb9c494929be013017380cbba013637da1b28e5943b566031e29df04fba57edf3f093e0914be094648b577372bd8ad247fa98cfba9c600794cd16b599 + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"source-map@npm:^0.7.3": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc + languageName: node + linkType: hard + +"sourcemap-codec@npm:^1.4.8": + version: 1.4.8 + resolution: "sourcemap-codec@npm:1.4.8" + checksum: 10c0/f099279fdaae070ff156df7414bbe39aad69cdd615454947ed3e19136bfdfcb4544952685ee73f56e17038f4578091e12b17b283ed8ac013882916594d95b9e6 + languageName: node + linkType: hard + +"sparkles@npm:^1.0.0": + version: 1.0.1 + resolution: "sparkles@npm:1.0.1" + checksum: 10c0/2327c06d259f1cf3c56e627f22119f89230479fb1007711c971cb6d9c4ed53850a8533d0d7bfca94e120340ba610bd255f0976779717413c6fc147cc0fc1ae6e + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.2.0 + resolution: "spdx-correct@npm:3.2.0" + dependencies: + spdx-expression-parse: "npm:^3.0.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/49208f008618b9119208b0dadc9208a3a55053f4fd6a0ae8116861bd22696fc50f4142a35ebfdb389e05ccf2de8ad142573fefc9e26f670522d899f7b2fe7386 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.5.0 + resolution: "spdx-exceptions@npm:2.5.0" + checksum: 10c0/37217b7762ee0ea0d8b7d0c29fd48b7e4dfb94096b109d6255b589c561f57da93bf4e328c0290046115961b9209a8051ad9f525e48d433082fc79f496a4ea940 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: "npm:^2.1.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/6f8a41c87759fa184a58713b86c6a8b028250f158159f1d03ed9d1b6ee4d9eefdc74181c8ddc581a341aa971c3e7b79e30b59c23b05d2436d5de1c30bdef7171 + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.20 + resolution: "spdx-license-ids@npm:3.0.20" + checksum: 10c0/bdff7534fad6ef59be49becda1edc3fb7f5b3d6f296a715516ab9d972b8ad59af2c34b2003e01db8970d4c673d185ff696ba74c6b61d3bf327e2b3eac22c297c + languageName: node + linkType: hard + +"split-string@npm:^3.0.1, split-string@npm:^3.0.2": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: "npm:^3.0.0" + checksum: 10c0/72d7cd625445c7af215130e1e2bc183013bb9dd48a074eda1d35741e2b0dcb355e6df5b5558a62543a24dcec37dd1d6eb7a6228ff510d3c9de0f3dc1d1da8a70 + languageName: node + linkType: hard + +"split2@npm:^3.0.0": + version: 3.2.2 + resolution: "split2@npm:3.2.2" + dependencies: + readable-stream: "npm:^3.0.0" + checksum: 10c0/2dad5603c52b353939befa3e2f108f6e3aff42b204ad0f5f16dd12fd7c2beab48d117184ce6f7c8854f9ee5ffec6faae70d243711dd7d143a9f635b4a285de4e + languageName: node + linkType: hard + +"split2@npm:^4.2.0": + version: 4.2.0 + resolution: "split2@npm:4.2.0" + checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 + languageName: node + linkType: hard + +"split@npm:^1.0.0": + version: 1.0.1 + resolution: "split@npm:1.0.1" + dependencies: + through: "npm:2" + checksum: 10c0/7f489e7ed5ff8a2e43295f30a5197ffcb2d6202c9cf99357f9690d645b19c812bccf0be3ff336fea5054cda17ac96b91d67147d95dbfc31fbb5804c61962af85 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"ssri@npm:9.0.1, ssri@npm:^9.0.0": + version: 9.0.1 + resolution: "ssri@npm:9.0.1" + dependencies: + minipass: "npm:^3.1.1" + checksum: 10c0/c5d153ce03b5980d683ecaa4d805f6a03d8dc545736213803e168a1907650c46c08a4e5ce6d670a0205482b35c35713d9d286d9133bdd79853a406e22ad81f04 + languageName: node + linkType: hard + +"ssri@npm:^10.0.0, ssri@npm:^10.0.1": + version: 10.0.6 + resolution: "ssri@npm:10.0.6" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"stack-generator@npm:^2.0.5": + version: 2.0.10 + resolution: "stack-generator@npm:2.0.10" + dependencies: + stackframe: "npm:^1.3.4" + checksum: 10c0/c3f6f6c580488e65c0fee806a57f6ae4b79e6435f144be471c1f20328a8d9d8492d4f3beed31840f6dae03e2633325e2764fd3aca5c3126a0639e7c9ddfa45ce + languageName: node + linkType: hard + +"stack-trace@npm:0.0.10": + version: 0.0.10 + resolution: "stack-trace@npm:0.0.10" + checksum: 10c0/9ff3dabfad4049b635a85456f927a075c9d0c210e3ea336412d18220b2a86cbb9b13ec46d6c37b70a302a4ea4d49e30e5d4944dd60ae784073f1cde778ac8f4b + languageName: node + linkType: hard + +"stackframe@npm:^1.3.4": + version: 1.3.4 + resolution: "stackframe@npm:1.3.4" + checksum: 10c0/18410f7a1e0c5d211a4effa83bdbf24adbe8faa8c34db52e1cd3e89837518c592be60b60d8b7270ac53eeeb8b807cd11b399a41667f6c9abb41059c3ccc8a989 + languageName: node + linkType: hard + +"stacktrace-gps@npm:^3.0.4": + version: 3.1.2 + resolution: "stacktrace-gps@npm:3.1.2" + dependencies: + source-map: "npm:0.5.6" + stackframe: "npm:^1.3.4" + checksum: 10c0/0dcc1aa46e364a2b4d1eabce4777fecf337576a11ee3cfc92f07b9ec79ccb76810752431eeb9771289d250d0bb58dbe19a178b96bf7b2e9f773334d03aa96bb9 + languageName: node + linkType: hard + +"stacktrace-js@npm:^2.0.2": + version: 2.0.2 + resolution: "stacktrace-js@npm:2.0.2" + dependencies: + error-stack-parser: "npm:^2.0.6" + stack-generator: "npm:^2.0.5" + stacktrace-gps: "npm:^3.0.4" + checksum: 10c0/9a10c222524ca03690bcb27437b39039885223e39320367f2be36e6f750c2d198ae99189869a22c255bf60072631eb609d47e8e33661e95133686904e01121ec + languageName: node + linkType: hard + +"static-extend@npm:^0.1.1": + version: 0.1.2 + resolution: "static-extend@npm:0.1.2" + dependencies: + define-property: "npm:^0.2.5" + object-copy: "npm:^0.1.0" + checksum: 10c0/284f5865a9e19d079f1badbcd70d5f9f82e7a08393f818a220839cd5f71729e89105e1c95322bd28e833161d484cee671380ca443869ae89578eef2bf55c0653 + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"statuses@npm:~1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 + languageName: node + linkType: hard + +"stream-browserify@npm:^3.0.0": + version: 3.0.0 + resolution: "stream-browserify@npm:3.0.0" + dependencies: + inherits: "npm:~2.0.4" + readable-stream: "npm:^3.5.0" + checksum: 10c0/ec3b975a4e0aa4b3dc5e70ffae3fc8fd29ac725353a14e72f213dff477b00330140ad014b163a8cbb9922dfe90803f81a5ea2b269e1bbfd8bd71511b88f889ad + languageName: node + linkType: hard + +"stream-exhaust@npm:^1.0.1": + version: 1.0.2 + resolution: "stream-exhaust@npm:1.0.2" + checksum: 10c0/e8b84a9496ba8ecfde7549e682803a98c8dc983b60cb27726797c9c2627d0b4b2cb95d7016f015465e97ea77e9e41fccce2105ecf2c87451597e3a34405a72b3 + languageName: node + linkType: hard + +"stream-http@npm:^3.1.0": + version: 3.2.0 + resolution: "stream-http@npm:3.2.0" + dependencies: + builtin-status-codes: "npm:^3.0.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.6.0" + xtend: "npm:^4.0.2" + checksum: 10c0/f128fb8076d60cd548f229554b6a1a70c08a04b7b2afd4dbe7811d20f27f7d4112562eb8bce86d72a8691df3b50573228afcf1271e55e81f981536c67498bc41 + languageName: node + linkType: hard + +"stream-shift@npm:^1.0.0": + version: 1.0.3 + resolution: "stream-shift@npm:1.0.3" + checksum: 10c0/939cd1051ca750d240a0625b106a2b988c45fb5a3be0cebe9a9858cb01bc1955e8c7b9fac17a9462976bea4a7b704e317c5c2200c70f0ca715a3363b9aa4fd3b + languageName: node + linkType: hard + +"string-argv@npm:0.3.1": + version: 0.3.1 + resolution: "string-argv@npm:0.3.1" + checksum: 10c0/f59582070f0a4a2d362d8331031f313771ad2b939b223b0593d7765de2689c975e0069186cef65977a29af9deec248c7e480ea4015d153ead754aea5e4bcfe7c + languageName: node + linkType: hard + +"string-hash@npm:^1.1.3": + version: 1.1.3 + resolution: "string-hash@npm:1.1.3" + checksum: 10c0/179725d7706b49fbbc0a4901703a2d8abec244140879afd5a17908497e586a6b07d738f6775450aefd9f8dd729e4a0abd073fbc6fa3bd020b7a1d2369614af88 + languageName: node + linkType: hard + +"string-natural-compare@npm:^3.0.1": + version: 3.0.1 + resolution: "string-natural-compare@npm:3.0.1" + checksum: 10c0/85a6a9195736be500af5d817c7ea36b7e1ac278af079a807f70f79a56602359ee6743ca409af6291b94557de550ff60d1ec31b3c4fc8e7a08d0e12cdab57c149 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^1.0.1, string-width@npm:^1.0.2": + version: 1.0.2 + resolution: "string-width@npm:1.0.2" + dependencies: + code-point-at: "npm:^1.0.0" + is-fullwidth-code-point: "npm:^1.0.0" + strip-ansi: "npm:^3.0.0" + checksum: 10c0/c558438baed23a9ab9370bb6a939acbdb2b2ffc517838d651aad0f5b2b674fb85d460d9b1d0b6a4c210dffd09e3235222d89a5bd4c0c1587f78b2bb7bc00c65e + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: "npm:^2.0.0" + strip-ansi: "npm:^4.0.0" + checksum: 10c0/e5f2b169fcf8a4257a399f95d069522f056e92ec97dbdcb9b0cdf14d688b7ca0b1b1439a1c7b9773cd79446cbafd582727279d6bfdd9f8edd306ea5e90e5b610 + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string.prototype.includes@npm:^2.0.1": + version: 2.0.1 + resolution: "string.prototype.includes@npm:2.0.1" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + checksum: 10c0/25ce9c9b49128352a2618fbe8758b46f945817a58a4420f4799419e40a8d28f116e176c7590d767d5327a61e75c8f32c86171063f48e389b9fdd325f1bd04ee5 + languageName: node + linkType: hard + +"string.prototype.matchall@npm:^4.0.11": + version: 4.0.11 + resolution: "string.prototype.matchall@npm:4.0.11" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + internal-slot: "npm:^1.0.7" + regexp.prototype.flags: "npm:^1.5.2" + set-function-name: "npm:^2.0.2" + side-channel: "npm:^1.0.6" + checksum: 10c0/915a2562ac9ab5e01b7be6fd8baa0b2b233a0a9aa975fcb2ec13cc26f08fb9a3e85d5abdaa533c99c6fc4c5b65b914eba3d80c4aff9792a4c9fed403f28f7d9d + languageName: node + linkType: hard + +"string.prototype.repeat@npm:^1.0.0": + version: 1.0.0 + resolution: "string.prototype.repeat@npm:1.0.0" + dependencies: + define-properties: "npm:^1.1.3" + es-abstract: "npm:^1.17.5" + checksum: 10c0/94c7978566cffa1327d470fd924366438af9b04b497c43a9805e476e2e908aa37a1fd34cc0911156c17556dab62159d12c7b92b3cc304c3e1281fe4c8e668f40 + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.2.9": + version: 1.2.9 + resolution: "string.prototype.trim@npm:1.2.9" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/dcef1a0fb61d255778155006b372dff8cc6c4394bc39869117e4241f41a2c52899c0d263ffc7738a1f9e61488c490b05c0427faa15151efad721e1a9fb2663c2 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimend@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"string_decoder@npm:~0.10.x": + version: 0.10.31 + resolution: "string_decoder@npm:0.10.31" + checksum: 10c0/1c628d78f974aa7539c496029f48e7019acc32487fc695464f9d6bdfec98edd7d933a06b3216bc2016918f6e75074c611d84430a53cb0e43071597d6c1ac5e25 + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + +"stringify-object@npm:^3.3.0": + version: 3.3.0 + resolution: "stringify-object@npm:3.3.0" + dependencies: + get-own-enumerable-property-symbols: "npm:^3.0.0" + is-obj: "npm:^1.0.1" + is-regexp: "npm:^1.0.0" + checksum: 10c0/ba8078f84128979ee24b3de9a083489cbd3c62cb8572a061b47d4d82601a8ae4b4d86fa8c54dd955593da56bb7c16a6de51c27221fdc6b7139bb4f29d815f35b + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: "npm:^2.0.0" + checksum: 10c0/f6e7fbe8e700105dccf7102eae20e4f03477537c74b286fd22cfc970f139002ed6f0d9c10d0e21aa9ed9245e0fa3c9275930e8795c5b947da136e4ecb644a70f + languageName: node + linkType: hard + +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: "npm:^3.0.0" + checksum: 10c0/d75d9681e0637ea316ddbd7d4d3be010b1895a17e885155e0ed6a39755ae0fd7ef46e14b22162e66a62db122d3a98ab7917794e255532ab461bb0a04feb03e7d + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-bom@npm:2.0.0" + dependencies: + is-utf8: "npm:^0.2.0" + checksum: 10c0/4fcbb248af1d5c1f2d710022b7d60245077e7942079bfb7ef3fc8c1ae78d61e96278525ba46719b15ab12fced5c7603777105bc898695339d7c97c64d300ed0b + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: "npm:^1.0.0" + checksum: 10c0/ae0deaf41c8d1001c5d4fbe16cb553865c1863da4fae036683b474fa926af9fc121e155cb3fc57a68262b2ae7d5b8420aa752c97a6428c315d00efe2a3875679 + languageName: node + linkType: hard + +"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strong-log-transformer@npm:2.1.0, strong-log-transformer@npm:^2.1.0": + version: 2.1.0 + resolution: "strong-log-transformer@npm:2.1.0" + dependencies: + duplexer: "npm:^0.1.1" + minimist: "npm:^1.2.0" + through: "npm:^2.3.4" + bin: + sl-log-transformer: bin/sl-log-transformer.js + checksum: 10c0/3c3b8aa8f34d661910563ff996412e2f527fc814e699a376854b554d4a4294ab7e285b4e2c08a080a7b19c5600a9b93a98798d3ac600fe3de545ca6605c07829 + languageName: node + linkType: hard + +"style-mod@npm:^4.0.0, style-mod@npm:^4.1.0": + version: 4.1.2 + resolution: "style-mod@npm:4.1.2" + checksum: 10c0/ad4d870b3642b0e42ecc7be0e106dd14b7af11985e34fee8de34e5e38c3214bfc96fa7055acea86d75a3a59ddea3f6a8c6641001a66494d7df72d09685e3fadb + languageName: node + linkType: hard + +"stylehacks@npm:^7.0.4": + version: 7.0.4 + resolution: "stylehacks@npm:7.0.4" + dependencies: + browserslist: "npm:^4.23.3" + postcss-selector-parser: "npm:^6.1.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/b4d0b280ba274503ecc04111cc11c713e0d65db079fbcd8b42d6350be1cca20e28611eddee93b419aa208176a0d3a5fff83d83ef958d1876713809b6a2787c0c + languageName: node + linkType: hard + +"stylis@npm:^4.3.0": + version: 4.3.4 + resolution: "stylis@npm:4.3.4" + checksum: 10c0/4899c2674cd2538e314257abd1ba7ea3c2176439659ddac6593c78192cfd4a06f814a0a4fc69bc7f8fcc6b997e13d383dd9b578b71074746a0fb86045a83e42d + languageName: node + linkType: hard + +"stylus@npm:^0.63.0": + version: 0.63.0 + resolution: "stylus@npm:0.63.0" + dependencies: + "@adobe/css-tools": "npm:~4.3.3" + debug: "npm:^4.3.2" + glob: "npm:^7.1.6" + sax: "npm:~1.3.0" + source-map: "npm:^0.7.3" + bin: + stylus: bin/stylus + checksum: 10c0/13767c1b2f7be4edfada3551d8efd71891cdd626f89e1a4f3109fcb28843d7a63e2cfa914f9c2a15cb83316a7dc20bc9c1fa6f054f0e3c2b531864520efd55c6 + languageName: node + linkType: hard + +"sucrase@npm:^3.35.0": + version: 3.35.0 + resolution: "sucrase@npm:3.35.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.2" + commander: "npm:^4.0.0" + glob: "npm:^10.3.10" + lines-and-columns: "npm:^1.1.6" + mz: "npm:^2.7.0" + pirates: "npm:^4.0.1" + ts-interface-checker: "npm:^0.1.9" + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + languageName: node + linkType: hard + +"sugarss@npm:^4.0.1": + version: 4.0.1 + resolution: "sugarss@npm:4.0.1" + peerDependencies: + postcss: ^8.3.3 + checksum: 10c0/18b78c8839ab9eea9681366223277e10adf6b1dd54e7b64fbdae3a1234eedcc16a772bb62c8f3dc9665acc07496981e24bf773c8c362b5f294b9b1e12fbe58aa + languageName: node + linkType: hard + +"supports-color@npm:8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0, supports-color@npm:^5.5.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^2.0.0": + version: 2.3.0 + resolution: "supports-hyperlinks@npm:2.3.0" + dependencies: + has-flag: "npm:^4.0.0" + supports-color: "npm:^7.0.0" + checksum: 10c0/4057f0d86afb056cd799602f72d575b8fdd79001c5894bcb691176f14e870a687e7981e50bc1484980e8b688c6d5bcd4931e1609816abb5a7dc1486b7babf6a1 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"sver-compat@npm:^1.5.0": + version: 1.5.0 + resolution: "sver-compat@npm:1.5.0" + dependencies: + es6-iterator: "npm:^2.0.1" + es6-symbol: "npm:^3.1.1" + checksum: 10c0/23388477ff4c6ef45c66d3a1347cb392cfcfd2e995ab15b56fd0f4fed1c263730f71816ffb62a433d37aa467939a3b9ccc9542bf2d0ef1f38fdd23cd77842dcb + languageName: node + linkType: hard + +"svg-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "svg-parser@npm:2.0.4" + checksum: 10c0/02f6cb155dd7b63ebc2f44f36365bc294543bebb81b614b7628f1af3c54ab64f7e1cec20f06e252bf95bdde78441ae295a412c68ad1678f16a6907d924512b7a + languageName: node + linkType: hard + +"svgo@npm:^3.3.2": + version: 3.3.2 + resolution: "svgo@npm:3.3.2" + dependencies: + "@trysound/sax": "npm:0.2.0" + commander: "npm:^7.2.0" + css-select: "npm:^5.1.0" + css-tree: "npm:^2.3.1" + css-what: "npm:^6.1.0" + csso: "npm:^5.0.5" + picocolors: "npm:^1.0.0" + bin: + svgo: ./bin/svgo + checksum: 10c0/a6badbd3d1d6dbb177f872787699ab34320b990d12e20798ecae915f0008796a0f3c69164f1485c9def399e0ce0a5683eb4a8045e51a5e1c364bb13a0d9f79e1 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 10c0/dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 + languageName: node + linkType: hard + +"table-parser@npm:^0.1.3": + version: 0.1.3 + resolution: "table-parser@npm:0.1.3" + dependencies: + connected-domain: "npm:^1.0.0" + checksum: 10c0/6189ef272d2721700f035c1e1e57a592d7852acec46da1abe1af00a7af1246ef4efdf4ac37dd8fb1553deeef80a7cbfc325835a4a7d7b0efbe13b2f3c4ec12ec + languageName: node + linkType: hard + +"table@npm:^6.8.1": + version: 6.8.2 + resolution: "table@npm:6.8.2" + dependencies: + ajv: "npm:^8.0.1" + lodash.truncate: "npm:^4.4.2" + slice-ansi: "npm:^4.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/f8b348af38ee34e419d8ce7306ba00671ce6f20e861ccff22555f491ba264e8416086063ce278a8d81abfa8d23b736ec2cca7ac4029b5472f63daa4b4688b803 + languageName: node + linkType: hard + +"tailwindcss@npm:^3.0.2": + version: 3.4.15 + resolution: "tailwindcss@npm:3.4.15" + dependencies: + "@alloc/quick-lru": "npm:^5.2.0" + arg: "npm:^5.0.2" + chokidar: "npm:^3.6.0" + didyoumean: "npm:^1.2.2" + dlv: "npm:^1.1.3" + fast-glob: "npm:^3.3.2" + glob-parent: "npm:^6.0.2" + is-glob: "npm:^4.0.3" + jiti: "npm:^1.21.6" + lilconfig: "npm:^2.1.0" + micromatch: "npm:^4.0.8" + normalize-path: "npm:^3.0.0" + object-hash: "npm:^3.0.0" + picocolors: "npm:^1.1.1" + postcss: "npm:^8.4.47" + postcss-import: "npm:^15.1.0" + postcss-js: "npm:^4.0.1" + postcss-load-config: "npm:^4.0.2" + postcss-nested: "npm:^6.2.0" + postcss-selector-parser: "npm:^6.1.2" + resolve: "npm:^1.22.8" + sucrase: "npm:^3.35.0" + bin: + tailwind: lib/cli.js + tailwindcss: lib/cli.js + checksum: 10c0/709058837c5adf0b7e1386ba353983dcf2af3d390e8822fac8d53ecaaad0f6f040fd3050b1db636e2abd46ae775317a89b350ce925477ea96cca8f6c56d901df + languageName: node + linkType: hard + +"tar-stream@npm:~2.2.0": + version: 2.2.0 + resolution: "tar-stream@npm:2.2.0" + dependencies: + bl: "npm:^4.0.3" + end-of-stream: "npm:^1.4.1" + fs-constants: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^3.1.1" + checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 + languageName: node + linkType: hard + +"tar@npm:6.1.11": + version: 6.1.11 + resolution: "tar@npm:6.1.11" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^3.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/5a016f5330f43815420797b87ade578e2ea60affd47439c988a3fc8f7bb6b36450d627c31ba6a839346fae248b4c8c12bb06bb0716211f37476838c7eff91f05 + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"temp-dir@npm:1.0.0, temp-dir@npm:^1.0.0": + version: 1.0.0 + resolution: "temp-dir@npm:1.0.0" + checksum: 10c0/648669d5e154d1961217784c786acadccf0156519c19e0aceda7edc76f5bdfa32a40dd7f88ebea9238ed6e3dedf08b846161916c8947058c384761351be90a8e + languageName: node + linkType: hard + +"temp-dir@npm:^2.0.0": + version: 2.0.0 + resolution: "temp-dir@npm:2.0.0" + checksum: 10c0/b1df969e3f3f7903f3426861887ed76ba3b495f63f6d0c8e1ce22588679d9384d336df6064210fda14e640ed422e2a17d5c40d901f60e161c99482d723f4d309 + languageName: node + linkType: hard + +"temp@npm:^0.9.0": + version: 0.9.4 + resolution: "temp@npm:0.9.4" + dependencies: + mkdirp: "npm:^0.5.1" + rimraf: "npm:~2.6.2" + checksum: 10c0/7a1cd75efa65b9ca97fc0dfa752673842d23fa41d9c641a447d86ca986eb7662f0d17771e1edf8d0149e76de3c6e7005faf2ccaa3baf64811c86d1d1a951dda7 + languageName: node + linkType: hard + +"temp@npm:~0.4.0": + version: 0.4.0 + resolution: "temp@npm:0.4.0" + checksum: 10c0/cf25c604d7509c3a41d2893c9779d4130a127ac2a9bea23ec1a5ff7da0f82e0014b5dcd77a4ce7227e63bc667ad4bd5ec312441e01e39ca5dcee6e146fbdaefb + languageName: node + linkType: hard + +"tempy@npm:1.0.0": + version: 1.0.0 + resolution: "tempy@npm:1.0.0" + dependencies: + del: "npm:^6.0.0" + is-stream: "npm:^2.0.0" + temp-dir: "npm:^2.0.0" + type-fest: "npm:^0.16.0" + unique-string: "npm:^2.0.0" + checksum: 10c0/6f537111fa279466bbfbad0bf0f75cd70539a3fd5871fe07c57c0dd57dc10415052f369af67df5e620899bf39ae919678ac10656411e7985c7bbefc77111cd66 + languageName: node + linkType: hard + +"tempy@npm:^0.2.1": + version: 0.2.1 + resolution: "tempy@npm:0.2.1" + dependencies: + temp-dir: "npm:^1.0.0" + unique-string: "npm:^1.0.0" + checksum: 10c0/cfaca3f3350cf29feefbba276596c9036017703bb384923a9d86ecc57629b7deb6be15e8ba8740a86dc2219628a0323ea4fbc162de0da6d80fb748956c76956f + languageName: node + linkType: hard + +"tempy@npm:^0.3.0": + version: 0.3.0 + resolution: "tempy@npm:0.3.0" + dependencies: + temp-dir: "npm:^1.0.0" + type-fest: "npm:^0.3.1" + unique-string: "npm:^1.0.0" + checksum: 10c0/9432dc82569ab0f34f23aab19ab277c58c7fcf12f903483436e9e1ee72b6b5be2189da31e351eecc69a0f98f6f2003d524cdbc50e67ee7202edf3675f9b0c2c0 + languageName: node + linkType: hard + +"term-size@npm:^2.2.1": + version: 2.2.1 + resolution: "term-size@npm:2.2.1" + checksum: 10c0/89f6bba1d05d425156c0910982f9344d9e4aebf12d64bfa1f460d93c24baa7bc4c4a21d355fbd7153c316433df0538f64d0ae6e336cc4a69fdda4f85d62bc79d + languageName: node + linkType: hard + +"terminal-link@npm:^2.1.1": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: "npm:^4.2.1" + supports-hyperlinks: "npm:^2.0.0" + checksum: 10c0/947458a5cd5408d2ffcdb14aee50bec8fb5022ae683b896b2f08ed6db7b2e7d42780d5c8b51e930e9c322bd7c7a517f4fa7c76983d0873c83245885ac5ee13e3 + languageName: node + linkType: hard + +"terser@npm:^5.14.2, terser@npm:^5.2.0": + version: 5.36.0 + resolution: "terser@npm:5.36.0" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/f4ed2bead19f64789ddcfb85b7cef78f3942f967b8890c54f57d1e35bc7d547d551c6a4c32210bce6ba45b1c738314bbfac6acbc6c762a45cd171777d0c120d9 + languageName: node + linkType: hard + +"text-extensions@npm:^1.0.0": + version: 1.9.0 + resolution: "text-extensions@npm:1.9.0" + checksum: 10c0/9ad5a9f723a871e2d884e132d7e93f281c60b5759c95f3f6b04704856548715d93a36c10dbaf5f12b91bf405f0cf3893bf169d4d143c0f5509563b992d385443 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + +"throttle-debounce@npm:^3.0.1": + version: 3.0.1 + resolution: "throttle-debounce@npm:3.0.1" + checksum: 10c0/c8e558479463b7ed8bac30d6b10cc87abd1c9fc64edfce2db4109be1a04acaef5d2d0557f49c1a3845ea07d9f79e6e0389b1b60db0a77c44e5b7a1216596f285 + languageName: node + linkType: hard + +"through2-filter@npm:^3.0.0": + version: 3.1.0 + resolution: "through2-filter@npm:3.1.0" + dependencies: + through2: "npm:^4.0.2" + checksum: 10c0/78efd97421df7dbb6b5186266a45c0f3e26d371328d3fea42f4bd8998974c5a67f676ad20b46c4c69bf6720f9fe0be3dc0fc5d2d4566482efd2f1371aac478de + languageName: node + linkType: hard + +"through2@npm:^0.6.3": + version: 0.6.5 + resolution: "through2@npm:0.6.5" + dependencies: + readable-stream: "npm:>=1.0.33-1 <1.1.0-0" + xtend: "npm:>=4.0.0 <4.1.0-0" + checksum: 10c0/3294325d73b120ffbb8cd00e28a649a99e194cef2638bf782b6c2eb0c163b388f7b7bb908003949f58f9f6b8f771defd24b6e4df051eb410fd87931521963b98 + languageName: node + linkType: hard + +"through2@npm:^2.0.0, through2@npm:^2.0.3": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: "npm:~2.3.6" + xtend: "npm:~4.0.1" + checksum: 10c0/cbfe5b57943fa12b4f8c043658c2a00476216d79c014895cef1ac7a1d9a8b31f6b438d0e53eecbb81054b93128324a82ecd59ec1a4f91f01f7ac113dcb14eade + languageName: node + linkType: hard + +"through2@npm:^4.0.0, through2@npm:^4.0.2": + version: 4.0.2 + resolution: "through2@npm:4.0.2" + dependencies: + readable-stream: "npm:3" + checksum: 10c0/3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c + languageName: node + linkType: hard + +"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc + languageName: node + linkType: hard + +"time-stamp@npm:^1.0.0": + version: 1.1.0 + resolution: "time-stamp@npm:1.1.0" + checksum: 10c0/99340b52a6ab3ce805c30c1884baee06251c54ef37d852979edf2b2b1d649664fc1ced50e0c7df90f8deb3dc28cb310af3e6002c2b63966c68f488e0bac3e5c5 + languageName: node + linkType: hard + +"timers-browserify@npm:^2.0.11": + version: 2.0.12 + resolution: "timers-browserify@npm:2.0.12" + dependencies: + setimmediate: "npm:^1.0.4" + checksum: 10c0/98e84db1a685bc8827c117a8bc62aac811ad56a995d07938fc7ed8cdc5bf3777bfe2d4e5da868847194e771aac3749a20f6cdd22091300fe889a76fe214a4641 + languageName: node + linkType: hard + +"timsort@npm:^0.3.0": + version: 0.3.0 + resolution: "timsort@npm:0.3.0" + checksum: 10c0/571b2054a0db3cf80eb255f8609a1f798cae9176f9ec6e3fbd03d64186c015cc9e1e75b88ba38e1d71aebcc03a931352522c7387dcb90caeb148375c7bc106f4 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c + languageName: node + linkType: hard + +"tldts-core@npm:^6.1.64": + version: 6.1.64 + resolution: "tldts-core@npm:6.1.64" + checksum: 10c0/e5f562c5c46bbea520db3a5675f63c679cd4f107b716031899f1b65f333677ef413a321492c06c1745d0e0e7f9f686cb862cd286adc62332c83a18782cfbb0f4 + languageName: node + linkType: hard + +"tldts@npm:^6.1.32": + version: 6.1.64 + resolution: "tldts@npm:6.1.64" + dependencies: + tldts-core: "npm:^6.1.64" + bin: + tldts: bin/cli.js + checksum: 10c0/d30b0501a57f9ad918ce5c6ee49ac67d37f5e81db482a0ff274a634bbb35360086e815f82d35990d1327655cd26a96ac0205916ae8aabe9ec60a5632c359e3bc + languageName: node + linkType: hard + +"tmp@npm:0.0.29": + version: 0.0.29 + resolution: "tmp@npm:0.0.29" + dependencies: + os-tmpdir: "npm:~1.0.1" + checksum: 10c0/3cd615b7320c8927492cdcf1944a54d53cc7252a21a6d52872ea46be8bea6fc30e1f650c935454b83e72eaebc42b840d98d151888dded4ccc6f08b7a8a6e6dc6 + languageName: node + linkType: hard + +"tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: "npm:~1.0.2" + checksum: 10c0/69863947b8c29cabad43fe0ce65cec5bb4b481d15d4b4b21e036b060b3edbf3bc7a5541de1bacb437bb3f7c4538f669752627fdf9b4aaf034cebd172ba373408 + languageName: node + linkType: hard + +"tmp@npm:~0.2.1": + version: 0.2.3 + resolution: "tmp@npm:0.2.3" + checksum: 10c0/3e809d9c2f46817475b452725c2aaa5d11985cf18d32a7a970ff25b568438e2c076c2e8609224feef3b7923fa9749b74428e3e634f6b8e520c534eef2fd24125 + languageName: node + linkType: hard + +"to-absolute-glob@npm:^2.0.0": + version: 2.0.2 + resolution: "to-absolute-glob@npm:2.0.2" + dependencies: + is-absolute: "npm:^1.0.0" + is-negated-glob: "npm:^1.0.0" + checksum: 10c0/7c5384222d6bd8f68d105bcc618794dfc3433de74eea195da172f27e107e8b2e1e1991e4adaf837f65e04623e4b03d90e19fd48aaeecfc89b6f642da2510c4d5 + languageName: node + linkType: hard + +"to-object-path@npm:^0.3.0": + version: 0.3.0 + resolution: "to-object-path@npm:0.3.0" + dependencies: + kind-of: "npm:^3.0.2" + checksum: 10c0/731832a977614c03a770363ad2bd9e9c82f233261861724a8e612bb90c705b94b1a290a19f52958e8e179180bb9b71121ed65e245691a421467726f06d1d7fc3 + languageName: node + linkType: hard + +"to-regex-range@npm:^2.1.0": + version: 2.1.1 + resolution: "to-regex-range@npm:2.1.1" + dependencies: + is-number: "npm:^3.0.0" + repeat-string: "npm:^1.6.1" + checksum: 10c0/440d82dbfe0b2e24f36dd8a9467240406ad1499fc8b2b0f547372c22ed1d092ace2a3eb522bb09bfd9c2f39bf1ca42eb78035cf6d2b8c9f5c78da3abc96cd949 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": + version: 3.0.2 + resolution: "to-regex@npm:3.0.2" + dependencies: + define-property: "npm:^2.0.2" + extend-shallow: "npm:^3.0.2" + regex-not: "npm:^1.0.2" + safe-regex: "npm:^1.1.0" + checksum: 10c0/99d0b8ef397b3f7abed4bac757b0f0bb9f52bfd39167eb7105b144becfaa9a03756892352d01ac6a911f0c1ceef9f81db68c46899521a3eed054082042796120 + languageName: node + linkType: hard + +"to-through@npm:^2.0.0": + version: 2.0.0 + resolution: "to-through@npm:2.0.0" + dependencies: + through2: "npm:^2.0.3" + checksum: 10c0/f8a7b0b38c51bcc018c38e6867588ac72120bd62232250b49a0fc209bd53ed66461ff85dc50b398c8e3686aa3e61165bce1dce4e89930f2f973b0fd3f64e4d2c + languageName: node + linkType: hard + +"toggle-selection@npm:^1.0.6": + version: 1.0.6 + resolution: "toggle-selection@npm:1.0.6" + checksum: 10c0/f2cf1f2c70f374fd87b0cdc8007453ba9e981c4305a8bf4eac10a30e62ecdfd28bca7d18f8f15b15a506bf8a7bfb20dbe3539f0fcf2a2c8396c1a78d53e1f179 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"token-stream@npm:1.0.0": + version: 1.0.0 + resolution: "token-stream@npm:1.0.0" + checksum: 10c0/c1924a89686fc035d579cbe856da12306571d5fe7408eeeebe80df7c25c5cc644b8ae102d5cbc0f085d0e105f391d1a48dc0e568520434c5b444ea6c7de2b822 + languageName: node + linkType: hard + +"tough-cookie@npm:^5.0.0": + version: 5.0.0 + resolution: "tough-cookie@npm:5.0.0" + dependencies: + tldts: "npm:^6.1.32" + checksum: 10c0/4a69c885bf6f45c5a64e60262af99e8c0d58a33bd3d0ce5da62121eeb9c00996d0128a72df8fc4614cbde59cc8b70aa3e21e4c3c98c2bbde137d7aba7fa00124 + languageName: node + linkType: hard + +"tr46@npm:^5.0.0": + version: 5.0.0 + resolution: "tr46@npm:5.0.0" + dependencies: + punycode: "npm:^2.3.1" + checksum: 10c0/1521b6e7bbc8adc825c4561480f9fe48eb2276c81335eed9fa610aa4c44a48a3221f78b10e5f18b875769eb3413e30efbf209ed556a17a42aa8d690df44b7bee + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + +"traverse@npm:>=0.3.0 <0.4": + version: 0.3.9 + resolution: "traverse@npm:0.3.9" + checksum: 10c0/05f04ff1002f08f19b033187124764e2713186c7a7c0ad88172368df993edc4fa7580e829e252cef6b38375317b69671932ee3820381398a9e375aad3797f607 + languageName: node + linkType: hard + +"treeverse@npm:^3.0.0": + version: 3.0.0 + resolution: "treeverse@npm:3.0.0" + checksum: 10c0/286479b9c05a8fb0538ee7d67a5502cea7704f258057c784c9c1118a2f598788b2c0f7a8d89e74648af88af0225b31766acecd78e6060736f09b21dd3fa255db + languageName: node + linkType: hard + +"trim-newlines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-newlines@npm:3.0.1" + checksum: 10c0/03cfefde6c59ff57138412b8c6be922ecc5aec30694d784f2a65ef8dcbd47faef580b7de0c949345abdc56ec4b4abf64dd1e5aea619b200316e471a3dd5bf1f6 + languageName: node + linkType: hard + +"trim-right@npm:^1.0.1": + version: 1.0.1 + resolution: "trim-right@npm:1.0.1" + checksum: 10c0/71989ec179c6b42a56e03db68e60190baabf39d32d4e1252fa1501c4e478398ae29d7191beffe015b9d9dc76f04f4b3a946bdb9949ad6b0c0b0c5db65f3eb672 + languageName: node + linkType: hard + +"ts-easing@npm:^0.2.0": + version: 0.2.0 + resolution: "ts-easing@npm:0.2.0" + checksum: 10c0/84ec20192310c697ff890ca2e0625e131a32596a7c5956326c9632faca9037abf2dd3de4d81ac358ae9f26a6a2cfe2300f13756b26995f753d882e3d0463e327 + languageName: node + linkType: hard + +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.15.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" + dependencies: + "@types/json5": "npm:^0.0.29" + json5: "npm:^1.0.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^4.1.2": + version: 4.2.0 + resolution: "tsconfig-paths@npm:4.2.0" + dependencies: + json5: "npm:^2.2.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/09a5877402d082bb1134930c10249edeebc0211f36150c35e1c542e5b91f1047b1ccf7da1e59babca1ef1f014c525510f4f870de7c9bda470c73bb4e2721b3ea + languageName: node + linkType: hard + +"tslib@npm:^1.8.1": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 + languageName: node + linkType: hard + +"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.8.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"tsutils@npm:^3.21.0": + version: 3.21.0 + resolution: "tsutils@npm:3.21.0" + dependencies: + tslib: "npm:^1.8.1" + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2 + languageName: node + linkType: hard + +"tty-browserify@npm:^0.0.1": + version: 0.0.1 + resolution: "tty-browserify@npm:0.0.1" + checksum: 10c0/5e34883388eb5f556234dae75b08e069b9e62de12bd6d87687f7817f5569430a6dfef550b51dbc961715ae0cd0eb5a059e6e3fc34dc127ea164aa0f9b5bb033d + languageName: node + linkType: hard + +"tuf-js@npm:^1.1.7": + version: 1.1.7 + resolution: "tuf-js@npm:1.1.7" + dependencies: + "@tufjs/models": "npm:1.0.4" + debug: "npm:^4.3.4" + make-fetch-happen: "npm:^11.1.1" + checksum: 10c0/7c4980ada7a55f2670b895e8d9345ef2eec4a471c47f6127543964a12a8b9b69f16002990e01a138cd775aa954880b461186a6eaf7b86633d090425b4273375b + languageName: node + linkType: hard + +"tunnel@npm:0.0.4": + version: 0.0.4 + resolution: "tunnel@npm:0.0.4" + checksum: 10c0/a0f40877850f5465cbd8a70ad2eab8b98f1f839b1e9a19ea0f061c9f8bac9ab88851673005c16e33f953c39a5a9a184df369a20b9ae6288e4b5c1a3114ef4794 + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd + languageName: node + linkType: hard + +"type-fest@npm:^0.16.0": + version: 0.16.0 + resolution: "type-fest@npm:0.16.0" + checksum: 10c0/6b4d846534e7bcb49a6160b068ffaed2b62570d989d909ac3f29df5ef1e993859f890a4242eebe023c9e923f96adbcb3b3e88a198c35a1ee9a731e147a6839c3 + languageName: node + linkType: hard + +"type-fest@npm:^0.18.0": + version: 0.18.1 + resolution: "type-fest@npm:0.18.1" + checksum: 10c0/303f5ecf40d03e1d5b635ce7660de3b33c18ed8ebc65d64920c02974d9e684c72483c23f9084587e9dd6466a2ece1da42ddc95b412a461794dd30baca95e2bac + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-fest@npm:^0.3.1": + version: 0.3.1 + resolution: "type-fest@npm:0.3.1" + checksum: 10c0/ef632e9549f331024594bbb8b620fe570d90abd8e7f2892d4aff733fd72698774e1a88e277fac02b4267de17d79cbb87860332f64f387145532b13ace6510502 + languageName: node + linkType: hard + +"type-fest@npm:^0.4.1": + version: 0.4.1 + resolution: "type-fest@npm:0.4.1" + checksum: 10c0/2e65f43209492638244842f70d86e7325361c92dd1cc8e3bf5728c96b980305087fa5ba60652e9053d56c302ef4f1beb9652a91b72a50da0ea66c6b851f3b9cb + languageName: node + linkType: hard + +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: 10c0/0c585c26416fce9ecb5691873a1301b5aff54673c7999b6f925691ed01f5b9232db408cdbb0bd003d19f5ae284322523f44092d1f81ca0a48f11f7cf0be8cd38 + languageName: node + linkType: hard + +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: 10c0/dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + languageName: node + linkType: hard + +"type@npm:^2.7.2": + version: 2.7.3 + resolution: "type@npm:2.7.3" + checksum: 10c0/dec6902c2c42fcb86e3adf8cdabdf80e5ef9de280872b5fd547351e9cca2fe58dd2aa6d2547626ddff174145db272f62d95c7aa7038e27c11315657d781a688d + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-buffer@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "typed-array-byte-length@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3 + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.2": + version: 1.0.3 + resolution: "typed-array-byte-offset@npm:1.0.3" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10c0/5da29585f96671c0521475226d3227000b3e01d1e99208b66bb05b75c7c8f4d0e9cc2e79920f3bfbc792a00102df1daa2608a2753e3f291b671d5a80245bde5b + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.6": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + is-typed-array: "npm:^1.1.13" + possible-typed-array-names: "npm:^1.0.0" + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 + languageName: node + linkType: hard + +"typed-rest-client@npm:1.2.0": + version: 1.2.0 + resolution: "typed-rest-client@npm:1.2.0" + dependencies: + tunnel: "npm:0.0.4" + underscore: "npm:1.8.3" + checksum: 10c0/094df78488698298a28fdf4af1a54bde71cf4225cee8d16a1d518957afceb8647bc0e742a99b6ffdefa276f8ab10740ad2f8166c0fe7b44e8891e776ff8d917f + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 + languageName: node + linkType: hard + +"typescript@npm:>=3.0.0": + version: 5.7.2 + resolution: "typescript@npm:5.7.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/a873118b5201b2ef332127ef5c63fb9d9c155e6fdbe211cbd9d8e65877283797cca76546bad742eea36ed7efbe3424a30376818f79c7318512064e8625d61622 + languageName: node + linkType: hard + +"typescript@npm:^3 || ^4": + version: 4.9.5 + resolution: "typescript@npm:4.9.5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/5f6cad2e728a8a063521328e612d7876e12f0d8a8390d3b3aaa452a6a65e24e9ac8ea22beb72a924fd96ea0a49ea63bb4e251fb922b12eedfb7f7a26475e5c56 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A>=3.0.0#optional!builtin": + version: 5.7.2 + resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/f3b8082c9d1d1629a215245c9087df56cb784f9fb6f27b5d55577a20e68afe2a889c040aacff6d27e35be165ecf9dca66e694c42eb9a50b3b2c451b36b5675cb + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^3 || ^4#optional!builtin": + version: 4.9.5 + resolution: "typescript@patch:typescript@npm%3A4.9.5#optional!builtin::version=4.9.5&hash=289587" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/e3333f887c6829dfe0ab6c1dbe0dd1e3e2aeb56c66460cb85c5440c566f900c833d370ca34eb47558c0c69e78ced4bfe09b8f4f98b6de7afed9b84b8d1dd06a1 + languageName: node + linkType: hard + +"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": + version: 1.0.6 + resolution: "uc.micro@npm:1.0.6" + checksum: 10c0/9bde2afc6f2e24b899db6caea47dae778b88862ca76688d844ef6e6121dec0679c152893a74a6cfbd2e6fde34654e6bd8424fee8e0166cdfa6c9ae5d42b8a17b + languageName: node + linkType: hard + +"uglify-js@npm:^3.1.4": + version: 3.19.3 + resolution: "uglify-js@npm:3.19.3" + bin: + uglifyjs: bin/uglifyjs + checksum: 10c0/83b0a90eca35f778e07cad9622b80c448b6aad457c9ff8e568afed978212b42930a95f9e1be943a1ffa4258a3340fbb899f41461131c05bb1d0a9c303aed8479 + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.0.3" + which-boxed-primitive: "npm:^1.0.2" + checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 + languageName: node + linkType: hard + +"unc-path-regex@npm:^0.1.2": + version: 0.1.2 + resolution: "unc-path-regex@npm:0.1.2" + checksum: 10c0/bf9c781c4e2f38e6613ea17a51072e4b416840fbe6eeb244597ce9b028fac2fb6cfd3dde1f14111b02c245e665dc461aab8168ecc30b14364d02caa37f812996 + languageName: node + linkType: hard + +"underscore@npm:1.8.3": + version: 1.8.3 + resolution: "underscore@npm:1.8.3" + checksum: 10c0/b9f8c5756252e01c057859c4b0932dc0bea73122121bbe465f1e1fa975ca6c3b6a3c8b967b7918d374686f9f1beb96c0d5c5d52788fc1328992bff02dba3599c + languageName: node + linkType: hard + +"undertaker-registry@npm:^1.0.0": + version: 1.0.1 + resolution: "undertaker-registry@npm:1.0.1" + checksum: 10c0/55b60fac04e7fda61d544c33c3d71e9d20aaa91026ca4833041fcd4c2de890f1a798320a8eb3dc3e9a0af68dd2fc7b26087ed6a48fd1163ac1dfacd3936a11fe + languageName: node + linkType: hard + +"undertaker@npm:^1.2.1": + version: 1.3.0 + resolution: "undertaker@npm:1.3.0" + dependencies: + arr-flatten: "npm:^1.0.1" + arr-map: "npm:^2.0.0" + bach: "npm:^1.0.0" + collection-map: "npm:^1.0.0" + es6-weak-map: "npm:^2.0.1" + fast-levenshtein: "npm:^1.0.0" + last-run: "npm:^1.1.0" + object.defaults: "npm:^1.0.0" + object.reduce: "npm:^1.0.0" + undertaker-registry: "npm:^1.0.0" + checksum: 10c0/3442616fca45767e667de467a690803751d57f952807643e29cf017d8bfdc5be2bbd13c888a0f0c0f64bf1583417ee13736605b899d482e0fec8dbe43dfa9ce8 + languageName: node + linkType: hard + +"undici-types@npm:~6.19.8": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 + languageName: node + linkType: hard + +"undici@npm:^6.19.5": + version: 6.21.2 + resolution: "undici@npm:6.21.2" + checksum: 10c0/799bbc02b77dda9b6b12d56d2620a3a4d4cf087908d6a548acc3ce32f21b5c27467f75c2c4b30fab281daf341210be3d685e8fe99854288de541715ae5735027 + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10c0/4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.2.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" + checksum: 10c0/1d0a2deefd97974ddff5b7cb84f9884177f4489928dfcebb4b2b091d6124f2739df51fc6ea15958e1b5637ac2a24cff9bf21ea81e45335086ac52c0b4c717d6d + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 10c0/50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 + languageName: node + linkType: hard + +"union-value@npm:^1.0.0": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: "npm:^3.1.0" + get-value: "npm:^2.0.6" + is-extendable: "npm:^0.1.1" + set-value: "npm:^2.0.1" + checksum: 10c0/8758d880cb9545f62ce9cfb9b791b2b7a206e0ff5cc4b9d7cd6581da2c6839837fbb45e639cf1fd8eef3cae08c0201b614b7c06dd9f5f70d9dbe7c5fe2fbf592 + languageName: node + linkType: hard + +"unique-filename@npm:^2.0.0": + version: 2.0.1 + resolution: "unique-filename@npm:2.0.1" + dependencies: + unique-slug: "npm:^3.0.0" + checksum: 10c0/55d95cd670c4a86117ebc34d394936d712d43b56db6bc511f9ca00f666373818bf9f075fb0ab76bcbfaf134592ef26bb75aad20786c1ff1ceba4457eaba90fb8 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-slug@npm:3.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/617240eb921af803b47d322d75a71a363dacf2e56c29ae5d1404fad85f64f4ec81ef10ee4fd79215d0202cbe1e5a653edb0558d59c9c81d3bd538c2d58e4c026 + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"unique-stream@npm:^2.0.2": + version: 2.3.1 + resolution: "unique-stream@npm:2.3.1" + dependencies: + json-stable-stringify-without-jsonify: "npm:^1.0.1" + through2-filter: "npm:^3.0.0" + checksum: 10c0/4827c5f249d1d760076d64e087d18618104ce5511112c85150b0dd76cea5ddd5a5fd143559597d07b519c2a19abd83f5cdaac3a30204d66cff63e986dd4cd18c + languageName: node + linkType: hard + +"unique-string@npm:^1.0.0": + version: 1.0.0 + resolution: "unique-string@npm:1.0.0" + dependencies: + crypto-random-string: "npm:^1.0.0" + checksum: 10c0/79cc2a6515a51e6350c74f65c92246511966c47528f1119318cbe8d68a508842f4e5a2a81857a65f3919629397a525f820505116dd89cac425294598e35ca12c + languageName: node + linkType: hard + +"unique-string@npm:^2.0.0": + version: 2.0.0 + resolution: "unique-string@npm:2.0.0" + dependencies: + crypto-random-string: "npm:^2.0.0" + checksum: 10c0/11820db0a4ba069d174bedfa96c588fc2c96b083066fafa186851e563951d0de78181ac79c744c1ed28b51f9d82ac5b8196ff3e4560d0178046ef455d8c2244b + languageName: node + linkType: hard + +"universal-user-agent@npm:^6.0.0": + version: 6.0.1 + resolution: "universal-user-agent@npm:6.0.1" + checksum: 10c0/5c9c46ffe19a975e11e6443640ed4c9e0ce48fcc7203325757a8414ac49940ebb0f4667f2b1fa561489d1eb22cb2d05a0f7c82ec20c5cba42e58e188fb19b187 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c + languageName: node + linkType: hard + +"unset-value@npm:^1.0.0": + version: 1.0.0 + resolution: "unset-value@npm:1.0.0" + dependencies: + has-value: "npm:^0.3.1" + isobject: "npm:^3.0.0" + checksum: 10c0/68a796dde4a373afdbf017de64f08490a3573ebee549136da0b3a2245299e7f65f647ef70dc13c4ac7f47b12fba4de1646fa0967a365638578fedce02b9c0b1f + languageName: node + linkType: hard + +"unzipper@npm:^0.10.11": + version: 0.10.14 + resolution: "unzipper@npm:0.10.14" + dependencies: + big-integer: "npm:^1.6.17" + binary: "npm:~0.3.0" + bluebird: "npm:~3.4.1" + buffer-indexof-polyfill: "npm:~1.0.0" + duplexer2: "npm:~0.1.4" + fstream: "npm:^1.0.12" + graceful-fs: "npm:^4.2.2" + listenercount: "npm:~1.0.1" + readable-stream: "npm:~2.3.6" + setimmediate: "npm:~1.0.4" + checksum: 10c0/0d9d0bdb566581534fba4ad88cbf037f3c1d9aa97fcd26ca52d30e7e198a3c6cb9e315deadc59821647c98657f233601cb9ebfc92f59228a1fe594197061760e + languageName: node + linkType: hard + +"upath@npm:2.0.1, upath@npm:^2.0.1": + version: 2.0.1 + resolution: "upath@npm:2.0.1" + checksum: 10c0/79e8e1296b00e24a093b077cfd7a238712d09290c850ce59a7a01458ec78c8d26dcc2ab50b1b9d6a84dabf6511fb4969afeb8a5c9a001aa7272b9cc74c34670f + languageName: node + linkType: hard + +"upath@npm:^1.1.1": + version: 1.2.0 + resolution: "upath@npm:1.2.0" + checksum: 10c0/3746f24099bf69dbf8234cecb671e1016e1f6b26bd306de4ff8966fb0bc463fa1014ffc48646b375de1ab573660e3a0256f6f2a87218b2dfa1779a84ef6992fa + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.1": + version: 1.1.1 + resolution: "update-browserslist-db@npm:1.1.1" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.0" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"urix@npm:^0.1.0": + version: 0.1.0 + resolution: "urix@npm:0.1.0" + checksum: 10c0/264f1b29360c33c0aec5fb9819d7e28f15d1a3b83175d2bcc9131efe8583f459f07364957ae3527f1478659ec5b2d0f1ad401dfb625f73e4d424b3ae35fc5fc0 + languageName: node + linkType: hard + +"url-join@npm:^1.1.0": + version: 1.1.0 + resolution: "url-join@npm:1.1.0" + checksum: 10c0/813a22d0f91600e2f029f06018eb006e34607cf26d829bfdb3ec0650b3c16b94ca6303c1ce84997bd81534909b9460fa54d6be44c0751ff6a2c818ac9165bfb0 + languageName: node + linkType: hard + +"url@npm:^0.11.0": + version: 0.11.4 + resolution: "url@npm:0.11.4" + dependencies: + punycode: "npm:^1.4.1" + qs: "npm:^6.12.3" + checksum: 10c0/cc93405ae4a9b97a2aa60ca67f1cb1481c0221cb4725a7341d149be5e2f9cfda26fd432d64dbbec693d16593b68b8a46aad8e5eab21f814932134c9d8620c662 + languageName: node + linkType: hard + +"use@npm:^3.1.0": + version: 3.1.1 + resolution: "use@npm:3.1.1" + checksum: 10c0/75b48673ab80d5139c76922630d5a8a44e72ed58dbaf54dee1b88352d10e1c1c1fc332066c782d8ae9a56503b85d3dc67ff6d2ffbd9821120466d1280ebb6d6e + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"util@npm:^0.12.3, util@npm:^0.12.5": + version: 0.12.5 + resolution: "util@npm:0.12.5" + dependencies: + inherits: "npm:^2.0.3" + is-arguments: "npm:^1.0.4" + is-generator-function: "npm:^1.0.7" + is-typed-array: "npm:^1.1.3" + which-typed-array: "npm:^1.1.2" + checksum: 10c0/c27054de2cea2229a66c09522d0fa1415fb12d861d08523a8846bf2e4cbf0079d4c3f725f09dcb87493549bcbf05f5798dce1688b53c6c17201a45759e7253f3 + languageName: node + linkType: hard + +"utility-types@npm:^3.10.0": + version: 3.11.0 + resolution: "utility-types@npm:3.11.0" + checksum: 10c0/2f1580137b0c3e6cf5405f37aaa8f5249961a76d26f1ca8efc0ff49a2fc0e0b2db56de8e521a174d075758e0c7eb3e590edec0832eb44478b958f09914920f19 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 + languageName: node + linkType: hard + +"uuid@npm:8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + languageName: node + linkType: hard + +"v8-compile-cache@npm:2.3.0": + version: 2.3.0 + resolution: "v8-compile-cache@npm:2.3.0" + checksum: 10c0/b2d866febf943fbbf0b5e8d43ae9a9b0dacd11dd76e6a9c8e8032268f0136f081e894a2723774ae2d86befa994be4d4046b0717d82df4f3a10e067994ad5c688 + languageName: node + linkType: hard + +"v8-compile-cache@npm:^2.0.0": + version: 2.4.0 + resolution: "v8-compile-cache@npm:2.4.0" + checksum: 10c0/387851192545e7f4d691ba674de90890bba76c0f08ee4909ab862377f556221e75b3a361466490e201203401d64d7795f889882bdabc98b6f3c0bf1038a535be + languageName: node + linkType: hard + +"v8flags@npm:^3.2.0": + version: 3.2.0 + resolution: "v8flags@npm:3.2.0" + dependencies: + homedir-polyfill: "npm:^1.0.1" + checksum: 10c0/aa0149384c1b75eee60f9e4339dbcc891d5a2154f51dbe41feb35a2227e88c0f30701234676c47b7887414c6a95bce23783931eeed52126842b7ba3a75984da7 + languageName: node + linkType: hard + +"validate-npm-package-license@npm:3.0.4, validate-npm-package-license@npm:^3.0.1, validate-npm-package-license@npm:^3.0.4": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: "npm:^3.0.0" + spdx-expression-parse: "npm:^3.0.0" + checksum: 10c0/7b91e455a8de9a0beaa9fe961e536b677da7f48c9a493edf4d4d4a87fd80a7a10267d438723364e432c2fcd00b5650b5378275cded362383ef570276e6312f4f + languageName: node + linkType: hard + +"validate-npm-package-name@npm:4.0.0, validate-npm-package-name@npm:^4.0.0": + version: 4.0.0 + resolution: "validate-npm-package-name@npm:4.0.0" + dependencies: + builtins: "npm:^5.0.0" + checksum: 10c0/d7f753c0aac0a2b8dd06752e7278d18165a21e28b5064d897a1b6f10350d857b339d6bd9e08dd140710433479940bec9ba151b619196780dc6e49dd8fbff6df8 + languageName: node + linkType: hard + +"validate-npm-package-name@npm:^3.0.0": + version: 3.0.0 + resolution: "validate-npm-package-name@npm:3.0.0" + dependencies: + builtins: "npm:^1.0.3" + checksum: 10c0/064f21f59aefae6cc286dd4a50b15d14adb0227e0facab4316197dfb8d06801669e997af5081966c15f7828a5e6ff1957bd20886aeb6b9d0fa430e4cb5db9c4a + languageName: node + linkType: hard + +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.1 + resolution: "validate-npm-package-name@npm:5.0.1" + checksum: 10c0/903e738f7387404bb72f7ac34e45d7010c877abd2803dc2d614612527927a40a6d024420033132e667b1bade94544b8a1f65c9431a4eb30d0ce0d80093cd1f74 + languageName: node + linkType: hard + +"value-or-function@npm:^3.0.0": + version: 3.0.0 + resolution: "value-or-function@npm:3.0.0" + checksum: 10c0/78a75b44543bb70ea3eee1804bbb101558f422335e3b62ed8864deeb85295efab1b109f607c3806b13c2fc48630d93f6c564b2796377a01a6302d355323ecebe + languageName: node + linkType: hard + +"vary@npm:^1, vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"vinyl-fs@npm:^3.0.0": + version: 3.0.3 + resolution: "vinyl-fs@npm:3.0.3" + dependencies: + fs-mkdirp-stream: "npm:^1.0.0" + glob-stream: "npm:^6.1.0" + graceful-fs: "npm:^4.0.0" + is-valid-glob: "npm:^1.0.0" + lazystream: "npm:^1.0.0" + lead: "npm:^1.0.0" + object.assign: "npm:^4.0.4" + pumpify: "npm:^1.3.5" + readable-stream: "npm:^2.3.3" + remove-bom-buffer: "npm:^3.0.0" + remove-bom-stream: "npm:^1.2.0" + resolve-options: "npm:^1.1.0" + through2: "npm:^2.0.0" + to-through: "npm:^2.0.0" + value-or-function: "npm:^3.0.0" + vinyl: "npm:^2.0.0" + vinyl-sourcemap: "npm:^1.1.0" + checksum: 10c0/c7e52624b8a32fd5164210d0ce45050ddfcd535ac0b172c59138a402ca730bd1083ee78e43dc71d8ee21475869e9c080ff212e98926a2b980eb3aa644a561777 + languageName: node + linkType: hard + +"vinyl-sourcemap@npm:^1.1.0": + version: 1.1.0 + resolution: "vinyl-sourcemap@npm:1.1.0" + dependencies: + append-buffer: "npm:^1.0.2" + convert-source-map: "npm:^1.5.0" + graceful-fs: "npm:^4.1.6" + normalize-path: "npm:^2.1.1" + now-and-later: "npm:^2.0.0" + remove-bom-buffer: "npm:^3.0.0" + vinyl: "npm:^2.0.0" + checksum: 10c0/5945250fbc04ed8be348f27adfcf842d310f2e4eea88c4821b48768d12bc8407c332c26b0eeabc63f5808843a2859d902020572bdc42e625a9d049a298d8cf68 + languageName: node + linkType: hard + +"vinyl-sourcemaps-apply@npm:^0.2.0": + version: 0.2.1 + resolution: "vinyl-sourcemaps-apply@npm:0.2.1" + dependencies: + source-map: "npm:^0.5.1" + checksum: 10c0/141c66335eb98f40e2c31418cda57b33ef5378480c73c8416fd88e44655212160119a629f740d1b1969e84481c5e01d3e3f861c38ed16a0cf2afcc112a466f7d + languageName: node + linkType: hard + +"vinyl@npm:^2.0.0": + version: 2.2.1 + resolution: "vinyl@npm:2.2.1" + dependencies: + clone: "npm:^2.1.1" + clone-buffer: "npm:^1.0.0" + clone-stats: "npm:^1.0.0" + cloneable-readable: "npm:^1.0.0" + remove-trailing-separator: "npm:^1.0.1" + replace-ext: "npm:^1.0.0" + checksum: 10c0/e7073fe5a3e10bbd5a3abe7ccf3351ed1b784178576b09642c08b0ef4056265476610aabd29eabfaaf456ada45f05f4112a35687d502f33aab33b025fc6ec38f + languageName: node + linkType: hard + +"vm-browserify@npm:^1.1.2": + version: 1.1.2 + resolution: "vm-browserify@npm:1.1.2" + checksum: 10c0/0cc1af6e0d880deb58bc974921320c187f9e0a94f25570fca6b1bd64e798ce454ab87dfd797551b1b0cc1849307421aae0193cedf5f06bdb5680476780ee344b + languageName: node + linkType: hard + +"void-elements@npm:^3.1.0": + version: 3.1.0 + resolution: "void-elements@npm:3.1.0" + checksum: 10c0/0b8686f9f9aa44012e9bd5eabf287ae0cde409b9a2854c5a2335cb83920c957668ac5876e3f0d158dd424744ac411a7270e64128556b451ed3bec875ef18534d + languageName: node + linkType: hard + +"vsce-yarn-patch@npm:^1.66.2": + version: 1.66.2 + resolution: "vsce-yarn-patch@npm:1.66.2" + dependencies: + azure-devops-node-api: "npm:^7.2.0" + chalk: "npm:^2.4.2" + cheerio: "npm:^1.0.0-rc.1" + commander: "npm:^2.8.1" + denodeify: "npm:^1.2.1" + didyoumean: "npm:^1.2.1" + glob: "npm:^7.0.6" + lodash: "npm:^4.17.10" + markdown-it: "npm:^8.3.1" + mime: "npm:^1.3.4" + minimatch: "npm:^3.0.3" + osenv: "npm:^0.1.3" + parse-semver: "npm:^1.1.1" + read: "npm:^1.0.7" + semver: "npm:^5.1.0" + tmp: "npm:0.0.29" + typed-rest-client: "npm:1.2.0" + url-join: "npm:^1.1.0" + yauzl: "npm:^2.3.1" + yazl: "npm:^2.2.2" + bin: + vsce: out/vsce + checksum: 10c0/1482a2287bde6d1ca0e1c48dc5aba4c47f6dde84674f37a745371e8090b0ae729aa64a01cc91ec9d7e6648435177a2af1cc9c94301d7cd9633d09382449b23c0 + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:8.1.0": + version: 8.1.0 + resolution: "vscode-jsonrpc@npm:8.1.0" + checksum: 10c0/cb797b892227e7997378c6a1563b9849b6ec8190daae6fd18909fff4b33f6a98690bb315b95a3e4eeb9bf373d11896028c2111d71101544dfa16cb18a53cfcaa + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:^8.0.2": + version: 8.2.1 + resolution: "vscode-jsonrpc@npm:8.2.1" + checksum: 10c0/595e07f779112d979d9cd37a00e4b973c39da09dd7c35b149f9fb7857c87db00d0ece7772c5a6f65cc19e38afc4fc64f8130d2f0e6b5f7fc160a0fc6b94e8c07 + languageName: node + linkType: hard + +"vscode-languageclient@npm:^8.0.2": + version: 8.1.0 + resolution: "vscode-languageclient@npm:8.1.0" + dependencies: + minimatch: "npm:^5.1.0" + semver: "npm:^7.3.7" + vscode-languageserver-protocol: "npm:3.17.3" + checksum: 10c0/dc141a91ec482289aa6e4510eb85bcca31aff8dab98fc369dd3edb45dc3e3b316ddc7618ea4f262a5c530cff21276b037e7b86cf408ee11ed8015b4268c5cba6 + languageName: node + linkType: hard + +"vscode-languageserver-protocol@npm:3.17.3": + version: 3.17.3 + resolution: "vscode-languageserver-protocol@npm:3.17.3" + dependencies: + vscode-jsonrpc: "npm:8.1.0" + vscode-languageserver-types: "npm:3.17.3" + checksum: 10c0/c8448cab8c8e3df386825f129a2f06a748510ad3407cb3d2122c6b661e973c32bb2f2612d64ea80e8c0344001adc80ee2f4c8bbce4fa81dd3eef888309457578 + languageName: node + linkType: hard + +"vscode-languageserver-textdocument@npm:^1.0.0": + version: 1.0.12 + resolution: "vscode-languageserver-textdocument@npm:1.0.12" + checksum: 10c0/534349894b059602c4d97615a1147b6c4c031141c2093e59657f54e38570f5989c21b376836f13b9375419869242e9efb4066643208b21ab1e1dee111a0f00fb + languageName: node + linkType: hard + +"vscode-languageserver-types@npm:3.17.3": + version: 3.17.3 + resolution: "vscode-languageserver-types@npm:3.17.3" + checksum: 10c0/a70d4ac0dbc08ba425b97e329e6a5696dabc6a264415bacb861e10d859b224f1b46d1fb41c17b6fdd31b32749d3bdfc819cb1b8a57dbe0d1e70e661ba8cfa397 + languageName: node + linkType: hard + +"vscode-languageserver@npm:^8.0.2": + version: 8.1.0 + resolution: "vscode-languageserver@npm:8.1.0" + dependencies: + vscode-languageserver-protocol: "npm:3.17.3" + bin: + installServerIntoExtension: bin/installServerIntoExtension + checksum: 10c0/1c05a491bbb4fb5266b3cc7d0be3b267aea2ff0c8aece2d8fb35e0a1b86ccc9aee252d08becec97d292fd3e1cc099cf350d720fb6c1a19f64fd1ac360f6248ae + languageName: node + linkType: hard + +"vscode-test@npm:^1.5.0": + version: 1.6.1 + resolution: "vscode-test@npm:1.6.1" + dependencies: + http-proxy-agent: "npm:^4.0.1" + https-proxy-agent: "npm:^5.0.0" + rimraf: "npm:^3.0.2" + unzipper: "npm:^0.10.11" + checksum: 10c0/68e45d52891484481b20f21891dd76d45e54ecb5669b6633e6294b3e85239fdda901feb4678efaaf715084a1f0e86875461f401189ba688a12447dc275de1caf + languageName: node + linkType: hard + +"vue@npm:~3.2.47": + version: 3.2.47 + resolution: "vue@npm:3.2.47" + dependencies: + "@vue/compiler-dom": "npm:3.2.47" + "@vue/compiler-sfc": "npm:3.2.47" + "@vue/runtime-dom": "npm:3.2.47" + "@vue/server-renderer": "npm:3.2.47" + "@vue/shared": "npm:3.2.47" + checksum: 10c0/eeed8609d3793d74f25023298365fbfb16f8a437fe1a06031b2ab250e86ea7f0d3bc97cda7f9f125eb5a2c16528a5263b7d3fb40c8abab0e6120233f22cdb49d + languageName: node + linkType: hard + +"w3c-keyname@npm:^2.2.4": + version: 2.2.8 + resolution: "w3c-keyname@npm:2.2.8" + checksum: 10c0/37cf335c90efff31672ebb345577d681e2177f7ff9006a9ad47c68c5a9d265ba4a7b39d6c2599ceea639ca9315584ce4bd9c9fbf7a7217bfb7a599e71943c4c4 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^5.0.0": + version: 5.0.0 + resolution: "w3c-xmlserializer@npm:5.0.0" + dependencies: + xml-name-validator: "npm:^5.0.0" + checksum: 10c0/8712774c1aeb62dec22928bf1cdfd11426c2c9383a1a63f2bcae18db87ca574165a0fbe96b312b73652149167ac6c7f4cf5409f2eb101d9c805efe0e4bae798b + languageName: node + linkType: hard + +"walk-up-path@npm:^1.0.0": + version: 1.0.0 + resolution: "walk-up-path@npm:1.0.0" + checksum: 10c0/e2dc2346acfeec355c8af17095aa8689b57906f0f3ad5f3ff1b0a29a36ee41904608e9a3545a933a2cfa22f20905e2bbe5dd6469cb31b110c8e129c23103e985 + languageName: node + linkType: hard + +"wasm-sourcemap@npm:^1.0.0": + version: 1.0.0 + resolution: "wasm-sourcemap@npm:1.0.0" + checksum: 10c0/d14911c7f4a75a0998b84a5b9c0311a721ab4e0cec267effed80e6257bd6c52f86ec3bd362b53f135f4822e82c0fe29832bb49756fb60e7a210905de96561f62 + languageName: node + linkType: hard + +"wcwidth@npm:^1.0.0, wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: "npm:^1.0.3" + checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 + languageName: node + linkType: hard + +"weak-lru-cache@npm:^1.2.2": + version: 1.2.2 + resolution: "weak-lru-cache@npm:1.2.2" + checksum: 10c0/744847bd5b96ca86db1cb40d0aea7e92c02bbdb05f501181bf9c581e82fa2afbda32a327ffbe75749302b8492ab449f1c657ca02410d725f5d412d1e6c607d72 + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 + languageName: node + linkType: hard + +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" + dependencies: + iconv-lite: "npm:0.6.3" + checksum: 10c0/273b5f441c2f7fda3368a496c3009edbaa5e43b71b09728f90425e7f487e5cef9eb2b846a31bd760dd8077739c26faf6b5ca43a5f24033172b003b72cf61a93e + languageName: node + linkType: hard + +"whatwg-fetch@npm:^3.4.1": + version: 3.6.20 + resolution: "whatwg-fetch@npm:3.6.20" + checksum: 10c0/fa972dd14091321d38f36a4d062298df58c2248393ef9e8b154493c347c62e2756e25be29c16277396046d6eaa4b11bd174f34e6403fff6aaca9fb30fa1ff46d + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: 10c0/a773cdc8126b514d790bdae7052e8bf242970cebd84af62fb2f35a33411e78e981f6c0ab9ed1fe6ec5071b09d5340ac9178e05b52d35a9c4bcf558ba1b1551df + languageName: node + linkType: hard + +"whatwg-url@npm:^14.0.0": + version: 14.0.0 + resolution: "whatwg-url@npm:14.0.0" + dependencies: + tr46: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + checksum: 10c0/ac32e9ba9d08744605519bbe9e1371174d36229689ecc099157b6ba102d4251a95e81d81f3d80271eb8da182eccfa65653f07f0ab43ea66a6934e643fd091ba9 + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + +"which-boxed-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "which-boxed-primitive@npm:1.0.2" + dependencies: + is-bigint: "npm:^1.0.1" + is-boolean-object: "npm:^1.1.0" + is-number-object: "npm:^1.0.4" + is-string: "npm:^1.0.5" + is-symbol: "npm:^1.0.3" + checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e + languageName: node + linkType: hard + +"which-builtin-type@npm:^1.1.4": + version: 1.2.0 + resolution: "which-builtin-type@npm:1.2.0" + dependencies: + call-bind: "npm:^1.0.7" + function.prototype.name: "npm:^1.1.6" + has-tostringtag: "npm:^1.0.2" + is-async-function: "npm:^2.0.0" + is-date-object: "npm:^1.0.5" + is-finalizationregistry: "npm:^1.1.0" + is-generator-function: "npm:^1.0.10" + is-regex: "npm:^1.1.4" + is-weakref: "npm:^1.0.2" + isarray: "npm:^2.0.5" + which-boxed-primitive: "npm:^1.0.2" + which-collection: "npm:^1.0.2" + which-typed-array: "npm:^1.1.15" + checksum: 10c0/7cd4a8ccfa6a3cb7c2296c716e7266b9f31a66f3e131fe7b185232c16d3ad21442046ec1798c4ec1e19dce7eb99c7751377192e5e734dc07042d14ec0f09b332 + languageName: node + linkType: hard + +"which-collection@npm:^1.0.2": + version: 1.0.2 + resolution: "which-collection@npm:1.0.2" + dependencies: + is-map: "npm:^2.0.3" + is-set: "npm:^2.0.3" + is-weakmap: "npm:^2.0.2" + is-weakset: "npm:^2.0.3" + checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2 + languageName: node + linkType: hard + +"which-module@npm:^1.0.0": + version: 1.0.0 + resolution: "which-module@npm:1.0.0" + checksum: 10c0/ce5088fb12dae0b6d5997b6221342943ff6275c3b2cd9c569f04ec23847c71013d254c6127d531010dccc22c0fc0f8dce2b6ecf6898941a60b576adb2018af22 + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.2": + version: 1.1.15 + resolution: "which-typed-array@npm:1.1.15" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/4465d5348c044032032251be54d8988270e69c6b7154f8fcb2a47ff706fe36f7624b3a24246b8d9089435a8f4ec48c1c1025c5d6b499456b9e5eff4f48212983 + languageName: node + linkType: hard + +"which@npm:2.0.2, which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^1.2.14, which@npm:^1.2.9": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + languageName: node + linkType: hard + +"which@npm:^3.0.0": + version: 3.0.1 + resolution: "which@npm:3.0.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: bin/which.js + checksum: 10c0/15263b06161a7c377328fd2066cb1f093f5e8a8f429618b63212b5b8847489be7bcab0ab3eb07f3ecc0eda99a5a7ea52105cf5fa8266bedd083cc5a9f6da24f1 + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"wide-align@npm:1.1.3": + version: 1.1.3 + resolution: "wide-align@npm:1.1.3" + dependencies: + string-width: "npm:^1.0.2 || 2" + checksum: 10c0/9bf69ad55f7bcccd5a7af2ebbb8115aebf1b17e6d4f0a2a40a84f5676e099153b9adeab331e306661bf2a8419361bacba83057a62163947507473ce7ac4116b7 + languageName: node + linkType: hard + +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: "npm:^1.0.2 || 2 || 3 || 4" + checksum: 10c0/1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95 + languageName: node + linkType: hard + +"with@npm:^7.0.0": + version: 7.0.2 + resolution: "with@npm:7.0.2" + dependencies: + "@babel/parser": "npm:^7.9.6" + "@babel/types": "npm:^7.9.6" + assert-never: "npm:^1.2.1" + babel-walk: "npm:3.0.0-canary-5" + checksum: 10c0/99289e49afc4b1776afae0ef85e84cfa775e8e07464d2b9853a31b0822347031d1cf77f287d25adc8c3f81e4fa68f4ee31526a9c95d4981ba08a1fe24dee111a + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + +"wordwrap@npm:^1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 10c0/7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 + languageName: node + linkType: hard + +"workerpool@npm:6.1.0": + version: 6.1.0 + resolution: "workerpool@npm:6.1.0" + checksum: 10c0/b3bf34014f4323e8fbe0d2a9aaabb047c444de757c781668480098a1e89efb1a1e9624df0046b5f18ef0db3d02d1f0341a462655c5b28dafc0e826c5d6a9d356 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^2.0.0": + version: 2.1.0 + resolution: "wrap-ansi@npm:2.1.0" + dependencies: + string-width: "npm:^1.0.1" + strip-ansi: "npm:^3.0.1" + checksum: 10c0/1a47367eef192fc9ecaf00238bad5de8987c3368082b619ab36c5e2d6d7b0a2aef95a2ca65840be598c56ced5090a3ba487956c7aee0cac7c45017502fa980fb + languageName: node + linkType: hard + +"wrap-ansi@npm:^6.0.1, wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"write-file-atomic@npm:4.0.1": + version: 4.0.1 + resolution: "write-file-atomic@npm:4.0.1" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.7" + checksum: 10c0/3a4d89bdb993937917a61e3847f75eb857dcac157ab4c956c9bab5d95ba82a482de6eff950752e06e86d1950fdc0f794cc29fe63d6ee9dba00aedc21a8b1e039 + languageName: node + linkType: hard + +"write-file-atomic@npm:^2.4.2": + version: 2.4.3 + resolution: "write-file-atomic@npm:2.4.3" + dependencies: + graceful-fs: "npm:^4.1.11" + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.2" + checksum: 10c0/8cb4bba0c1ab814a9b127844da0db4fb8c5e06ddbe6317b8b319377c73b283673036c8b9360120062898508b9428d81611cf7fa97584504a00bc179b2a580b92 + languageName: node + linkType: hard + +"write-file-atomic@npm:^5.0.0": + version: 5.0.1 + resolution: "write-file-atomic@npm:5.0.1" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^4.0.1" + checksum: 10c0/e8c850a8e3e74eeadadb8ad23c9d9d63e4e792bd10f4836ed74189ef6e996763959f1249c5650e232f3c77c11169d239cbfc8342fc70f3fe401407d23810505d + languageName: node + linkType: hard + +"write-json-file@npm:^3.2.0": + version: 3.2.0 + resolution: "write-json-file@npm:3.2.0" + dependencies: + detect-indent: "npm:^5.0.0" + graceful-fs: "npm:^4.1.15" + make-dir: "npm:^2.1.0" + pify: "npm:^4.0.1" + sort-keys: "npm:^2.0.0" + write-file-atomic: "npm:^2.4.2" + checksum: 10c0/3eadcb6e832ac34dbba37d4eea8871d9fef0e0d77c486b13ed5f81d84a8fcecd9e1a04277e2691eb803c2bed39c2a315e98b96f492c271acee2836acc6276043 + languageName: node + linkType: hard + +"write-pkg@npm:4.0.0": + version: 4.0.0 + resolution: "write-pkg@npm:4.0.0" + dependencies: + sort-keys: "npm:^2.0.0" + type-fest: "npm:^0.4.1" + write-json-file: "npm:^3.2.0" + checksum: 10c0/8e20db5fa444dad04e3703c18d8e0f89679caa60accbee5da9ea3aa076430b3f32d99f50d8860d29044245775795455c62d12d16a7856d407e30df7b79f39505 + languageName: node + linkType: hard + +"ws@npm:^8.18.0": + version: 8.18.0 + resolution: "ws@npm:8.18.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + languageName: node + linkType: hard + +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 10c0/3fcf44e7b73fb18be917fdd4ccffff3639373c7cb83f8fc35df6001fecba7942f1dbead29d91ebb8315e2f2ff786b508f0c9dc0215b6353f9983c6b7d62cb1f5 + languageName: node + linkType: hard + +"xml@npm:^1.0.1": + version: 1.0.1 + resolution: "xml@npm:1.0.1" + checksum: 10c0/04bcc9b8b5e7b49392072fbd9c6b0f0958bd8e8f8606fee460318e43991349a68cbc5384038d179ff15aef7d222285f69ca0f067f53d071084eb14c7fdb30411 + languageName: node + linkType: hard + +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 10c0/b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 + languageName: node + linkType: hard + +"xtend@npm:>=4.0.0 <4.1.0-0, xtend@npm:^4.0.2, xtend@npm:~4.0.1": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + languageName: node + linkType: hard + +"xtend@npm:^2.1.2": + version: 2.2.0 + resolution: "xtend@npm:2.2.0" + checksum: 10c0/396c724b8ea54c7346d7ca304116dc9aa0327b4cee4782c0a42707e6022d9a6b1c1d61b056357b1ee24102d6a366a90a313cc38e79bf70452d4d205b64a1575f + languageName: node + linkType: hard + +"y18n@npm:^3.2.1": + version: 3.2.2 + resolution: "y18n@npm:3.2.2" + checksum: 10c0/08dc1880f6f766057ed25cd61ef0c7dab3db93639db9a7487a84f75dac7a349dface8dff8d1d8b7bdf50969fcd69ab858ab26b06968b4e4b12ee60d195233c46 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yaml@npm:^1.10.0": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f + languageName: node + linkType: hard + +"yaml@npm:^2.2.2, yaml@npm:^2.3.4": + version: 2.6.1 + resolution: "yaml@npm:2.6.1" + bin: + yaml: bin.mjs + checksum: 10c0/aebf07f61c72b38c74d2b60c3a3ccf89ee4da45bcd94b2bfb7899ba07a5257625a7c9f717c65a6fc511563d48001e01deb1d9e55f0133f3e2edf86039c8c1be7 + languageName: node + linkType: hard + +"yargs-parser@npm:20.2.4": + version: 20.2.4 + resolution: "yargs-parser@npm:20.2.4" + checksum: 10c0/08dc341f0b9f940c2fffc1d1decf3be00e28cabd2b578a694901eccc7dcd10577f10c6aa1b040fdd9a68b2042515a60f18476543bccacf9f3ce2c8534cd87435 + languageName: node + linkType: hard + +"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 + languageName: node + linkType: hard + +"yargs-parser@npm:^5.0.1": + version: 5.0.1 + resolution: "yargs-parser@npm:5.0.1" + dependencies: + camelcase: "npm:^3.0.0" + object.assign: "npm:^4.1.0" + checksum: 10c0/94f24930da4eb80c6ba1c308e1d187a6cab6206f08cda8654b3ebbd0d20f689c113a5111898e90c5885fdc39ce68de5a59aca703f2578335af644ba8f239166f + languageName: node + linkType: hard + +"yargs-unparser@npm:2.0.0": + version: 2.0.0 + resolution: "yargs-unparser@npm:2.0.0" + dependencies: + camelcase: "npm:^6.0.0" + decamelize: "npm:^4.0.0" + flat: "npm:^5.0.2" + is-plain-obj: "npm:^2.1.0" + checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 + languageName: node + linkType: hard + +"yargs@npm:16.2.0, yargs@npm:^16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.0" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^20.2.2" + checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 + languageName: node + linkType: hard + +"yargs@npm:^17.6.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yargs@npm:^7.1.0": + version: 7.1.2 + resolution: "yargs@npm:7.1.2" + dependencies: + camelcase: "npm:^3.0.0" + cliui: "npm:^3.2.0" + decamelize: "npm:^1.1.1" + get-caller-file: "npm:^1.0.1" + os-locale: "npm:^1.4.0" + read-pkg-up: "npm:^1.0.1" + require-directory: "npm:^2.1.1" + require-main-filename: "npm:^1.0.1" + set-blocking: "npm:^2.0.0" + string-width: "npm:^1.0.2" + which-module: "npm:^1.0.0" + y18n: "npm:^3.2.1" + yargs-parser: "npm:^5.0.1" + checksum: 10c0/ca7dc99af8335a731cf8255bc5a8a782e0d591de21ff7e4abc8f65ad58acab638a5760f368d64a8dcc4f8cb2978ecba45f459c8c5368203cf6339be7e395cdb5 + languageName: node + linkType: hard + +"yauzl@npm:^2.3.1": + version: 2.10.0 + resolution: "yauzl@npm:2.10.0" + dependencies: + buffer-crc32: "npm:~0.2.3" + fd-slicer: "npm:~1.1.0" + checksum: 10c0/f265002af7541b9ec3589a27f5fb8f11cf348b53cc15e2751272e3c062cd73f3e715bc72d43257de71bbaecae446c3f1b14af7559e8ab0261625375541816422 + languageName: node + linkType: hard + +"yazl@npm:^2.2.2": + version: 2.5.1 + resolution: "yazl@npm:2.5.1" + dependencies: + buffer-crc32: "npm:~0.2.3" + checksum: 10c0/61a14fcf47246f1a667509809e1034d9548ef7a57cec94bc0395fa0ba74beaa6a412783b99ae59ee33e26e611929b909734f0aa5d1b32f811b206917f85fe87a + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard From 396c3941f74dc509ee7fe4c60bff8b2c7ecf78a4 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 12:35:39 -0700 Subject: [PATCH 1026/1076] Create separate rust packages for each architecture --- .gitignore | 1 + package.json | 10 +-- packages/core/rust-darwin-arm64/package.json | 29 ++++++++ packages/core/rust-darwin-x64/package.json | 29 ++++++++ .../rust-linux-arm-gnueabihf/package.json | 29 ++++++++ .../core/rust-linux-arm64-gnu/package.json | 32 ++++++++ .../core/rust-linux-arm64-musl/package.json | 32 ++++++++ packages/core/rust-linux-x64-gnu/package.json | 32 ++++++++ .../core/rust-linux-x64-musl/package.json | 32 ++++++++ .../core/rust-win32-x64-msvc/package.json | 29 ++++++++ packages/core/rust/package.json | 10 +++ scripts/build-native.js | 12 ++- yarn.lock | 73 +++++++++++++++++++ 13 files changed, 344 insertions(+), 6 deletions(-) create mode 100644 packages/core/rust-darwin-arm64/package.json create mode 100644 packages/core/rust-darwin-x64/package.json create mode 100644 packages/core/rust-linux-arm-gnueabihf/package.json create mode 100644 packages/core/rust-linux-arm64-gnu/package.json create mode 100644 packages/core/rust-linux-arm64-musl/package.json create mode 100644 packages/core/rust-linux-x64-gnu/package.json create mode 100644 packages/core/rust-linux-x64-musl/package.json create mode 100644 packages/core/rust-win32-x64-msvc/package.json diff --git a/.gitignore b/.gitignore index bb61c45b847..b50d55752e7 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ yarn-debug.log* yarn-error.log* *.log *.min.js +*.node diff --git a/package.json b/package.json index c0f2bd93210..f38dbf76798 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ ], "scripts": { "build": "yarn build-bundles && cross-env NODE_ENV=production PARCEL_BUILD_ENV=production gulp", - "build-bundles": "rimraf --glob packages/*/*/lib && cross-env NODE_ENV=production PARCEL_BUILD_ENV=production PARCEL_SELF_BUILD=true parcel build --no-cache packages/core/{fs,codeframe,package-manager,utils} packages/reporters/{cli,dev-server} packages/utils/{parcel-lsp,parcel-lsp-protocol,parcel-watcher-watchman-js,error-overlay}", + "build-bundles": "rimraf --glob 'packages/*/*/lib' && cross-env NODE_ENV=production PARCEL_BUILD_ENV=production PARCEL_SELF_BUILD=true ./node_modules/.bin/parcel build --no-cache 'packages/core/{fs,codeframe,package-manager,utils}' 'packages/reporters/{cli,dev-server}' 'packages/utils/{parcel-lsp,parcel-lsp-protocol,parcel-watcher-watchman-js,error-overlay}'", "build-ts": "lerna run build-ts && lerna run check-ts", "build-native": "node scripts/build-native.js", "build-native-release": "node scripts/build-native.js --release", @@ -31,10 +31,10 @@ "test:integration": "yarn workspace @parcel/integration-tests test", "test:integration-ci": "yarn workspace @parcel/integration-tests test-ci", "test": "yarn test:unit && yarn test:integration", - "dev:release": "SKIP_PLUGIN_COMPATIBILITY_CHECK=true lerna publish -y --canary --preid dev --dist-tag=dev --exact --force-publish=* --no-git-tag-version --no-push", - "canary:release": "SKIP_PLUGIN_COMPATIBILITY_CHECK=true lerna publish -y --canary --preid canary --dist-tag=canary --exact --force-publish=* --no-git-tag-version --no-push", - "tag:prerelease": "lerna version --exact --force-publish=* --no-git-tag-version --no-push && yarn adjust-versions --exact", - "tag:release": "lerna version --exact --force-publish=* --no-git-tag-version --no-push && yarn adjust-versions", + "dev:release": "SKIP_PLUGIN_COMPATIBILITY_CHECK=true lerna publish -y --canary --preid dev --dist-tag=dev --exact --force-publish='*' --no-git-tag-version --no-push", + "canary:release": "SKIP_PLUGIN_COMPATIBILITY_CHECK=true lerna publish -y --canary --preid canary --dist-tag=canary --exact --force-publish='*' --no-git-tag-version --no-push", + "tag:prerelease": "lerna version --exact --force-publish='*' --no-git-tag-version --no-push && yarn adjust-versions --exact", + "tag:release": "lerna version --exact --force-publish='*' --no-git-tag-version --no-push && yarn adjust-versions", "adjust-versions": "node scripts/update-config-dependencies.js && node scripts/update-engines-peerdeps.js", "release": "lerna publish -y from-package --pre-dist-tag=next --no-git-tag-version --no-push", "prepare": "husky install", diff --git a/packages/core/rust-darwin-arm64/package.json b/packages/core/rust-darwin-arm64/package.json new file mode 100644 index 00000000000..85d3eacaab9 --- /dev/null +++ b/packages/core/rust-darwin-arm64/package.json @@ -0,0 +1,29 @@ +{ + "name": "@parcel/rust-darwin-arm64", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "os": [ + "darwin" + ], + "cpu": [ + "arm64" + ], + "main": "parcel-node-bindings.darwin-arm64.node", + "files": [ + "parcel-node-bindings.darwin-arm64.node" + ], + "engines": { + "node": ">= 10" + } +} diff --git a/packages/core/rust-darwin-x64/package.json b/packages/core/rust-darwin-x64/package.json new file mode 100644 index 00000000000..cdbb7fe6a0f --- /dev/null +++ b/packages/core/rust-darwin-x64/package.json @@ -0,0 +1,29 @@ +{ + "name": "@parcel/rust-darwin-x64", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "os": [ + "darwin" + ], + "cpu": [ + "x64" + ], + "main": "parcel-node-bindings.darwin-x64.node", + "files": [ + "parcel-node-bindings.darwin-x64.node" + ], + "engines": { + "node": ">= 10" + } +} diff --git a/packages/core/rust-linux-arm-gnueabihf/package.json b/packages/core/rust-linux-arm-gnueabihf/package.json new file mode 100644 index 00000000000..7318783506a --- /dev/null +++ b/packages/core/rust-linux-arm-gnueabihf/package.json @@ -0,0 +1,29 @@ +{ + "name": "@parcel/rust-linux-arm-gnueabihf", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "os": [ + "linux" + ], + "cpu": [ + "arm" + ], + "main": "parcel-node-bindings.linux-arm-gnueabihf.node", + "files": [ + "parcel-node-bindings.linux-arm-gnueabihf.node" + ], + "engines": { + "node": ">= 10" + } +} diff --git a/packages/core/rust-linux-arm64-gnu/package.json b/packages/core/rust-linux-arm64-gnu/package.json new file mode 100644 index 00000000000..eed69dff222 --- /dev/null +++ b/packages/core/rust-linux-arm64-gnu/package.json @@ -0,0 +1,32 @@ +{ + "name": "@parcel/rust-linux-arm64-gnu", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "os": [ + "linux" + ], + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "main": "parcel-node-bindings.linux-arm64-gnu.node", + "files": [ + "parcel-node-bindings.linux-arm64-gnu.node" + ], + "engines": { + "node": ">= 10" + } +} diff --git a/packages/core/rust-linux-arm64-musl/package.json b/packages/core/rust-linux-arm64-musl/package.json new file mode 100644 index 00000000000..4029cdbafd8 --- /dev/null +++ b/packages/core/rust-linux-arm64-musl/package.json @@ -0,0 +1,32 @@ +{ + "name": "@parcel/rust-linux-arm64-musl", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "os": [ + "linux" + ], + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "main": "parcel-node-bindings.linux-arm64-musl.node", + "files": [ + "parcel-node-bindings.linux-arm64-musl.node" + ], + "engines": { + "node": ">= 10" + } +} diff --git a/packages/core/rust-linux-x64-gnu/package.json b/packages/core/rust-linux-x64-gnu/package.json new file mode 100644 index 00000000000..b4493f38b05 --- /dev/null +++ b/packages/core/rust-linux-x64-gnu/package.json @@ -0,0 +1,32 @@ +{ + "name": "@parcel/rust-linux-x64-gnu", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "os": [ + "linux" + ], + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "main": "parcel-node-bindings.linux-x64-gnu.node", + "files": [ + "parcel-node-bindings.linux-x64-gnu.node" + ], + "engines": { + "node": ">= 10" + } +} diff --git a/packages/core/rust-linux-x64-musl/package.json b/packages/core/rust-linux-x64-musl/package.json new file mode 100644 index 00000000000..31d9ffd737e --- /dev/null +++ b/packages/core/rust-linux-x64-musl/package.json @@ -0,0 +1,32 @@ +{ + "name": "@parcel/rust-linux-x64-musl", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "os": [ + "linux" + ], + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "main": "parcel-node-bindings.linux-x64-musl.node", + "files": [ + "parcel-node-bindings.linux-x64-musl.node" + ], + "engines": { + "node": ">= 10" + } +} diff --git a/packages/core/rust-win32-x64-msvc/package.json b/packages/core/rust-win32-x64-msvc/package.json new file mode 100644 index 00000000000..77431d65c80 --- /dev/null +++ b/packages/core/rust-win32-x64-msvc/package.json @@ -0,0 +1,29 @@ +{ + "name": "@parcel/rust-win32-x64-msvc", + "version": "2.14.4", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/parcel.git" + }, + "os": [ + "win32" + ], + "cpu": [ + "x64" + ], + "main": "parcel-node-bindings.win32-x64-msvc.node", + "files": [ + "parcel-node-bindings.win32-x64-msvc.node" + ], + "engines": { + "node": ">= 10" + } +} diff --git a/packages/core/rust/package.json b/packages/core/rust/package.json index 1a4c35aaf22..946c5b6a5a6 100644 --- a/packages/core/rust/package.json +++ b/packages/core/rust/package.json @@ -43,6 +43,16 @@ "optional": true } }, + "optionalDependencies": { + "@parcel/rust-darwin-arm64": "2.14.4", + "@parcel/rust-darwin-x64": "2.14.4", + "@parcel/rust-linux-arm-gnueabihf": "2.14.4", + "@parcel/rust-linux-arm64-gnu": "2.14.4", + "@parcel/rust-linux-arm64-musl": "2.14.4", + "@parcel/rust-linux-x64-gnu": "2.14.4", + "@parcel/rust-linux-x64-musl": "2.14.4", + "@parcel/rust-win32-x64-msvc": "2.14.4" + }, "scripts": { "build": "napi build --platform --cargo-cwd ../../../crates/node-bindings", "build-canary": "napi build --platform --profile canary --cargo-cwd ../../../crates/node-bindings", diff --git a/scripts/build-native.js b/scripts/build-native.js index 3cf7de89769..4c86943d448 100644 --- a/scripts/build-native.js +++ b/scripts/build-native.js @@ -17,8 +17,9 @@ async function build() { let packages = glob.sync('packages/*/*', {onlyFiles: false}); for (let pkg of packages) { + let pkgJSON; try { - let pkgJSON = JSON.parse(fs.readFileSync(path.join(pkg, 'package.json'))); + pkgJSON = JSON.parse(fs.readFileSync(path.join(pkg, 'package.json'))); if (!wasm && !pkgJSON.napi) continue; if (wasm && !pkgJSON.scripts?.['wasm:build-release']) continue; } catch (err) { @@ -52,6 +53,15 @@ async function build() { yarn.on('close', code => (code === 0 ? resolve() : reject())); }).catch(() => process.exit(1)); + + if (pkgJSON.napi) { + for (let binding of glob.sync('*.node', {cwd: pkg, onlyFiles: false})) { + let match = binding.match(/^.*?\.(.+?)\.node$/); + if (match) { + fs.renameSync(path.join(pkg, binding), path.join(path.dirname(pkg), path.basename(pkg) + '-' + match[1], binding)); + } + } + } } } diff --git a/yarn.lock b/yarn.lock index 2b9d383e324..eaff2f52ab9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4708,14 +4708,87 @@ __metadata: languageName: unknown linkType: soft +"@parcel/rust-darwin-arm64@npm:2.14.4, @parcel/rust-darwin-arm64@workspace:packages/core/rust-darwin-arm64": + version: 0.0.0-use.local + resolution: "@parcel/rust-darwin-arm64@workspace:packages/core/rust-darwin-arm64" + languageName: unknown + linkType: soft + +"@parcel/rust-darwin-x64@npm:2.14.4, @parcel/rust-darwin-x64@workspace:packages/core/rust-darwin-x64": + version: 0.0.0-use.local + resolution: "@parcel/rust-darwin-x64@workspace:packages/core/rust-darwin-x64" + languageName: unknown + linkType: soft + +"@parcel/rust-linux-arm-gnueabihf@npm:2.14.4, @parcel/rust-linux-arm-gnueabihf@workspace:packages/core/rust-linux-arm-gnueabihf": + version: 0.0.0-use.local + resolution: "@parcel/rust-linux-arm-gnueabihf@workspace:packages/core/rust-linux-arm-gnueabihf" + languageName: unknown + linkType: soft + +"@parcel/rust-linux-arm64-gnu@npm:2.14.4, @parcel/rust-linux-arm64-gnu@workspace:packages/core/rust-linux-arm64-gnu": + version: 0.0.0-use.local + resolution: "@parcel/rust-linux-arm64-gnu@workspace:packages/core/rust-linux-arm64-gnu" + languageName: unknown + linkType: soft + +"@parcel/rust-linux-arm64-musl@npm:2.14.4, @parcel/rust-linux-arm64-musl@workspace:packages/core/rust-linux-arm64-musl": + version: 0.0.0-use.local + resolution: "@parcel/rust-linux-arm64-musl@workspace:packages/core/rust-linux-arm64-musl" + languageName: unknown + linkType: soft + +"@parcel/rust-linux-x64-gnu@npm:2.14.4, @parcel/rust-linux-x64-gnu@workspace:packages/core/rust-linux-x64-gnu": + version: 0.0.0-use.local + resolution: "@parcel/rust-linux-x64-gnu@workspace:packages/core/rust-linux-x64-gnu" + languageName: unknown + linkType: soft + +"@parcel/rust-linux-x64-musl@npm:2.14.4, @parcel/rust-linux-x64-musl@workspace:packages/core/rust-linux-x64-musl": + version: 0.0.0-use.local + resolution: "@parcel/rust-linux-x64-musl@workspace:packages/core/rust-linux-x64-musl" + languageName: unknown + linkType: soft + +"@parcel/rust-win32-x64-msvc@npm:2.14.4, @parcel/rust-win32-x64-msvc@workspace:packages/core/rust-win32-x64-msvc": + version: 0.0.0-use.local + resolution: "@parcel/rust-win32-x64-msvc@workspace:packages/core/rust-win32-x64-msvc" + languageName: unknown + linkType: soft + "@parcel/rust@npm:2.14.4, @parcel/rust@workspace:packages/core/rust": version: 0.0.0-use.local resolution: "@parcel/rust@workspace:packages/core/rust" dependencies: "@napi-rs/cli": "npm:^2.15.2" + "@parcel/rust-darwin-arm64": "npm:2.14.4" + "@parcel/rust-darwin-x64": "npm:2.14.4" + "@parcel/rust-linux-arm-gnueabihf": "npm:2.14.4" + "@parcel/rust-linux-arm64-gnu": "npm:2.14.4" + "@parcel/rust-linux-arm64-musl": "npm:2.14.4" + "@parcel/rust-linux-x64-gnu": "npm:2.14.4" + "@parcel/rust-linux-x64-musl": "npm:2.14.4" + "@parcel/rust-win32-x64-msvc": "npm:2.14.4" napi-wasm: "npm:^1.1.2" peerDependencies: napi-wasm: ^1.1.2 + dependenciesMeta: + "@parcel/rust-darwin-arm64": + optional: true + "@parcel/rust-darwin-x64": + optional: true + "@parcel/rust-linux-arm-gnueabihf": + optional: true + "@parcel/rust-linux-arm64-gnu": + optional: true + "@parcel/rust-linux-arm64-musl": + optional: true + "@parcel/rust-linux-x64-gnu": + optional: true + "@parcel/rust-linux-x64-musl": + optional: true + "@parcel/rust-win32-x64-msvc": + optional: true peerDependenciesMeta: napi-wasm: optional: true From 530180ad2127958be8bb388fafd2c542a274f799 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 12:38:19 -0700 Subject: [PATCH 1027/1076] fix ts build --- packages/core/profiler/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/profiler/package.json b/packages/core/profiler/package.json index 0a2ab4cdca6..d4b1d9e990b 100644 --- a/packages/core/profiler/package.json +++ b/packages/core/profiler/package.json @@ -20,7 +20,7 @@ "node": ">= 16.0.0" }, "scripts": { - "build-ts": "flow-to-ts src/*.js --write && rm -f ./src/*.d.ts && tsc --emitDeclarationOnly --declaration --esModuleInterop --target es2015 --moduleResolution node16 --module node16 src/*.ts && mkdir -p lib && mv src/*.d.ts lib/. && rm src/*.ts && node build-ts.js", + "build-ts": "flow-to-ts src/*.js --write && rm -f './src/*.d.ts' && tsc --emitDeclarationOnly --declaration --esModuleInterop --target es2015 --moduleResolution node16 --module node16 src/*.ts && mkdir -p lib && mv src/*.d.ts lib/. && rm src/*.ts && node build-ts.js", "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { From 1083572bc2d4c71db63f4619357d4e87e434ddf4 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 13:37:51 -0700 Subject: [PATCH 1028/1076] fix rust package npm files --- .github/workflows/release.yml | 2 -- packages/core/rust/package.json | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7d51d0d2cae..daf91248b04 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -172,8 +172,6 @@ jobs: with: fetch-depth: 0 - uses: bahmutov/npm-install@v1.8.35 - - name: Build native packages - run: yarn build-native-${{ inputs.profile }} - name: Download artifacts uses: actions/download-artifact@v4 with: diff --git a/packages/core/rust/package.json b/packages/core/rust/package.json index 946c5b6a5a6..049621c93c2 100644 --- a/packages/core/rust/package.json +++ b/packages/core/rust/package.json @@ -23,7 +23,7 @@ "node": ">= 16.0.0" }, "files": [ - "lib", + "lib/*.js", "browser.js", "index.d.ts", "index.js", From 8ce8d3f03220ab6ee2e23d1270a3e8f117d94dc4 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 17:06:59 -0700 Subject: [PATCH 1029/1076] SVG to JSX fixes --- crates/core/Cargo.toml | 2 +- crates/html/src/jsx.rs | 48 ++++++++++++++----- .../integration/svg-react-config/package.json | 3 ++ .../core/integration-tests/test/svg-react.js | 7 +-- packages/transformers/js/src/JSTransformer.js | 8 ++-- .../svg-jsx/src/SvgJsxTransformer.js | 1 + 6 files changed, 48 insertions(+), 21 deletions(-) diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 5f0cf986bb2..78e4a75f022 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -9,6 +9,6 @@ bitflags = { version = "2.7.0", features = ["serde"] } browserslist-rs = "0.18.1" json-sourcemap = "0.2.0" node-semver = "2.2.0" -serde = { version = "1.0.123", features = ["derive"] } +serde = { version = "1.0.123", features = ["derive", "rc"] } serde_bytes = "0.11.5" serde-value = "0.7.0" diff --git a/crates/html/src/jsx.rs b/crates/html/src/jsx.rs index 242f55d6047..8b5ddd28324 100644 --- a/crates/html/src/jsx.rs +++ b/crates/html/src/jsx.rs @@ -23,7 +23,6 @@ fn to_jsx<'arena>(dom: &'arena Node<'arena>) -> JSXElementChild { attrs: attrs .borrow() .iter() - .filter(|attr| matches!(attr.name.ns, ns!())) .map(|attr| { JSXAttrOrSpread::JSXAttr(JSXAttr { name: JSXAttrName::Ident(IdentName::new( @@ -470,18 +469,18 @@ fn jsx_attr_name<'a>(name: &'a ExpandedName) -> &'a str { expanded_name!("", "x") => "x", expanded_name!("", "xchannelselector") => "xChannelSelector", expanded_name!("", "x-height") => "xHeight", - expanded_name!("", "xlink:actuate") => "xlinkActuate", - expanded_name!("", "xlink:arcrole") => "xlinkArcrole", - expanded_name!("", "xlink:href") => "xlinkHref", - expanded_name!("", "xlink:role") => "xlinkRole", - expanded_name!("", "xlink:show") => "xlinkShow", - expanded_name!("", "xlink:title") => "xlinkTitle", - expanded_name!("", "xlink:type") => "xlinkType", - expanded_name!("", "xml:base") => "xmlBase", - expanded_name!("", "xml:lang") => "xmlLang", - expanded_name!("", "xmlns") => "xmlns", - expanded_name!("", "xml:space") => "xmlSpace", - expanded_name!("", "xmlns:xlink") => "xmlnsXlink", + expanded_name!(xlink "actuate") => "xlinkActuate", + expanded_name!(xlink "arcrole") => "xlinkArcrole", + expanded_name!(xlink "href") => "xlinkHref", + expanded_name!(xlink "role") => "xlinkRole", + expanded_name!(xlink "show") => "xlinkShow", + expanded_name!(xlink "title") => "xlinkTitle", + expanded_name!(xlink "type") => "xlinkType", + expanded_name!(xml "base") => "xmlBase", + expanded_name!(xml "lang") => "xmlLang", + expanded_name!(xmlns "xmlns") => "xmlns", + expanded_name!(xml "space") => "xmlSpace", + expanded_name!(xmlns "xlink") => "xmlnsXlink", expanded_name!("", "y1") => "y1", expanded_name!("", "y2") => "y2", expanded_name!("", "y") => "y", @@ -708,6 +707,10 @@ impl<'de> Deserialize<'de> for ExpandProps { } pub fn to_component<'arena>(dom: &'arena Node<'arena>, options: JsxOptions) -> Program { + if let Some(svg) = dom.find(expanded_name!(svg "svg")) { + svg.remove_attribute(expanded_name!(xmlns "xmlns")); + } + if options.dimensions { match &options.icon { Icon::None => {} @@ -1200,6 +1203,25 @@ mod tests { ..Default::default() }, ); + + test( + r#" + + + foo + + "#, + indoc! {r#" + export default function SvgComponent(props) { + return + foo + ; + } + "#}, + JsxOptions { + ..Default::default() + }, + ); } #[test] diff --git a/packages/core/integration-tests/test/integration/svg-react-config/package.json b/packages/core/integration-tests/test/integration/svg-react-config/package.json index 7ca2d696c01..8a8299f63fb 100644 --- a/packages/core/integration-tests/test/integration/svg-react-config/package.json +++ b/packages/core/integration-tests/test/integration/svg-react-config/package.json @@ -1,5 +1,8 @@ { "dependencies": { "preact": "*" + }, + "alias": { + "preact/jsx-dev-runtime": "preact/jsx-runtime" } } diff --git a/packages/core/integration-tests/test/svg-react.js b/packages/core/integration-tests/test/svg-react.js index 6ce15972bd0..6235ec2afde 100644 --- a/packages/core/integration-tests/test/svg-react.js +++ b/packages/core/integration-tests/test/svg-react.js @@ -19,7 +19,7 @@ describe('svg-react', function () { let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf-8'); assert(!file.includes('inkscape')); assert(file.includes('function SvgComponent')); - assert(file.includes('createElement("svg"')); + assert(file.includes('jsxDEV)("svg"')); assert(file.includes('id: "fbacef__circle"')); }); @@ -37,7 +37,7 @@ describe('svg-react', function () { let types = await outputFS.readFile(b.getBundles()[1].filePath, 'utf-8'); assert(!file.includes('inkscape')); - assert(file.includes('createElement("svg"')); + assert(file.includes('jsxDEV)("svg"')); assert(types.includes('const Icon: SVGRComponent')); }); @@ -57,7 +57,8 @@ describe('svg-react', function () { assert(file.includes('function SvgComponent')); assert(file.includes('_react.forwardRef')); assert(file.includes('_react.memo')); - assert(file.includes('h("svg"')); + assert(file.includes('preact/jsx-dev-runtime')); + assert(file.includes('jsxDEV)("svg"')); assert(file.includes('width: "1em"')); assert(file.includes('role: "img"')); assert(file.includes('fill: props.fill')); diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index aa990bfc964..5f487d8a0a1 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -258,9 +258,7 @@ export default (new Transformer({ }); } - if (automaticJSXRuntime) { - jsxImportSource = reactLib; - } + jsxImportSource = reactLib; } isJSX = Boolean(compilerOptions?.jsx || pragma); @@ -450,7 +448,9 @@ export default (new Transformer({ type, jsx_pragma: config?.pragma, jsx_pragma_frag: config?.pragmaFrag, - automatic_jsx_runtime: Boolean(config?.automaticJSXRuntime), + automatic_jsx_runtime: Boolean( + config?.automaticJSXRuntime || asset.meta.jsxRuntime === 'automatic', + ), jsx_import_source: config?.jsxImportSource, is_development: options.mode === 'development', react_refresh: Boolean(config?.reactRefresh), diff --git a/packages/transformers/svg-jsx/src/SvgJsxTransformer.js b/packages/transformers/svg-jsx/src/SvgJsxTransformer.js index 8b4f0038efd..dc644d35b8d 100644 --- a/packages/transformers/svg-jsx/src/SvgJsxTransformer.js +++ b/packages/transformers/svg-jsx/src/SvgJsxTransformer.js @@ -95,6 +95,7 @@ Unsupported SVGR option "template". asset.type = 'jsx'; asset.bundleBehavior = null; + asset.meta.jsxRuntime = 'automatic'; asset.setBuffer(jsx); return [asset]; From f7d5ffd735f723f639f7cb863c899d09e95d46c9 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 17:13:20 -0700 Subject: [PATCH 1030/1076] Fix exporting objects with non-configurable prototypes from RSCs Fixes #10150 --- packages/core/integration-tests/test/react-server.js | 7 +++++-- packages/runtimes/rsc/rsc-helpers.jsx | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/core/integration-tests/test/react-server.js b/packages/core/integration-tests/test/react-server.js index 8b60a825049..812357381d6 100644 --- a/packages/core/integration-tests/test/react-server.js +++ b/packages/core/integration-tests/test/react-server.js @@ -614,11 +614,11 @@ describe('react server components', function () { it('should support inject CSS resources', async function () { await fsFixture(overlayFS, dir)` index.jsx: - import {Server} from './Page.jsx'; + import {Server, foo} from './Page.jsx'; function render() { return ; } - output = {render}; + output = {render, foo: foo.map(f => f * 2)}; Page.jsx: "use server-entry"; @@ -627,6 +627,8 @@ describe('react server components', function () { return

Server

; } + export const foo = [1, 2, 3]; + server.css: .server { color: red } `; @@ -656,6 +658,7 @@ describe('react server components', function () { ); let res = (await run(b, {output: null}, {require: false})).output; + assert.deepEqual(res.foo, [2, 4, 6]); let output = res.render(); output.type.$$typeof; diff --git a/packages/runtimes/rsc/rsc-helpers.jsx b/packages/runtimes/rsc/rsc-helpers.jsx index de72411af93..d9515ce5060 100644 --- a/packages/runtimes/rsc/rsc-helpers.jsx +++ b/packages/runtimes/rsc/rsc-helpers.jsx @@ -44,7 +44,7 @@ function createResourcesValueProxy(value, resources, bootstrapScript) { let proxy = new Proxy(value, { get(target, prop, receiver) { - if (prototypeProxy && prop === 'prototype') { + if (prototypeProxy && prop === 'prototype' && Object.getOwnPropertyDescriptor(target, 'prototype').configurable) { return prototypeProxy; } From 1c507d0e9b054e6ad6b7f815b7ea3b8556f740d0 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 17:36:55 -0700 Subject: [PATCH 1031/1076] upgrade dependencies --- package.json | 22 +- packages/core/codeframe/package.json | 2 +- packages/core/core/package.json | 20 +- packages/core/diagnostic/package.json | 2 +- packages/core/fs/package.json | 4 +- packages/core/integration-tests/package.json | 44 +- packages/core/package-manager/package.json | 8 +- packages/core/register/package.json | 2 +- packages/core/rust/package.json | 2 +- packages/core/test-utils/package.json | 6 +- packages/core/types-internal/package.json | 2 +- packages/core/utils/package.json | 22 +- packages/dev/babel-preset/package.json | 4 +- packages/dev/babel-register/package.json | 2 +- packages/dev/eslint-config/package.json | 8 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 2 +- packages/dev/query/package.json | 4 +- packages/dev/repl/package.json | 14 +- packages/examples/html/package.json | 6 +- packages/examples/kitchen-sink/package.json | 6 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 4 +- .../react-server-components/package.json | 6 +- packages/examples/react-static/package.json | 4 +- packages/examples/rsc-client/package.json | 6 +- packages/examples/simple/package.json | 2 +- packages/examples/ts-example/package.json | 2 +- packages/optimizers/css/package.json | 6 +- packages/optimizers/cssnano/package.json | 4 +- packages/optimizers/data-url/package.json | 2 +- packages/optimizers/esbuild/package.json | 2 +- packages/optimizers/htmlnano/package.json | 4 +- .../optimizers/inline-requires/package.json | 2 +- packages/optimizers/swc/package.json | 2 +- packages/optimizers/terser/package.json | 2 +- packages/packagers/css/package.json | 6 +- packages/packagers/js/package.json | 2 +- packages/packagers/react-static/package.json | 2 +- packages/packagers/xml/package.json | 2 +- packages/reporters/cli/package.json | 4 +- packages/reporters/dev-server/package.json | 10 +- packages/reporters/lsp-reporter/package.json | 4 +- packages/transformers/babel/package.json | 6 +- .../transformers/coffeescript/package.json | 4 +- packages/transformers/css/package.json | 6 +- packages/transformers/elm/package.json | 10 +- packages/transformers/graphql/package.json | 2 +- packages/transformers/js/package.json | 4 +- packages/transformers/json/package.json | 2 +- packages/transformers/jsonld/package.json | 2 +- packages/transformers/less/package.json | 2 +- packages/transformers/postcss/package.json | 8 +- packages/transformers/pug/package.json | 2 +- .../react-refresh-wrap/package.json | 2 +- packages/transformers/sass/package.json | 2 +- packages/transformers/sugarss/package.json | 2 +- packages/transformers/svg-react/package.json | 4 +- packages/transformers/toml/package.json | 2 +- packages/transformers/vue/package.json | 6 +- .../transformers/webextension/package.json | 2 +- .../transformers/webmanifest/package.json | 2 +- packages/transformers/xml/package.json | 2 +- .../package.json | 2 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/create-react-app/package.json | 10 +- packages/utils/error-overlay/package.json | 2 +- .../utils/node-resolver-core/package.json | 20 +- .../utils/parcel-lsp-protocol/package.json | 2 +- packages/utils/parcel-lsp/package.json | 12 +- packages/utils/parcelforvscode/package.json | 14 +- packages/utils/rsc/package.json | 8 +- packages/validators/eslint/package.json | 2 +- yarn.lock | 2886 ++++++++--------- 74 files changed, 1615 insertions(+), 1683 deletions(-) diff --git a/package.json b/package.json index f38dbf76798..9db98659d04 100644 --- a/package.json +++ b/package.json @@ -45,26 +45,26 @@ "@khanacademy/flow-to-ts": "^0.5.2", "@napi-rs/cli": "^2.18.3", "@parcel/babel-register": "*", - "@swc/core": "^1.11.5", - "@types/node": ">= 18", + "@swc/core": "^1.11.24", + "@types/node": "^22.15.17", "buffer": "mischnic/buffer#b8a4fa94", - "cross-env": "^7.0.0", - "eslint": "^8.41.0", - "fast-glob": "^3.2.12", + "cross-env": "^7.0.3", + "eslint": "^8.57.1", + "fast-glob": "^3.3.3", "flow-bin": "0.184.0", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", "husky": "^6.0.0", "lerna": "^6.6.2", - "lint-staged": "^10.2.11", - "mocha": "^8.3.0", - "mocha-junit-reporter": "^2.0.0", + "lint-staged": "^10.5.4", + "mocha": "^8.4.0", + "mocha-junit-reporter": "^2.2.1", "mocha-multi-reporters": "^1.5.1", "prettier": "2.4.1", "punycode": "^2.3.1", - "rimraf": "^5.0.5", - "semver": "^7.5.2", - "sinon": "^7.3.1" + "rimraf": "^5.0.10", + "semver": "^7.7.1", + "sinon": "^7.5.0" }, "engines": { "node": ">= 16.0.0" diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index 4c65597f10c..ba843fd71b0 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -32,6 +32,6 @@ "devDependencies": { "emphasize": "^4.2.0", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" + "string-width": "^4.2.3" } } diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 88c7f513c7a..d7e7c27552d 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -24,7 +24,7 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", + "@mischnic/json-sourcemap": "^0.1.1", "@parcel/cache": "2.14.4", "@parcel/diagnostic": "2.14.4", "@parcel/events": "2.14.4", @@ -40,19 +40,19 @@ "@parcel/types": "2.14.4", "@parcel/utils": "2.14.4", "@parcel/workers": "2.14.4", - "base-x": "^3.0.8", - "browserslist": "^4.6.6", - "clone": "^2.1.1", - "dotenv": "^16.4.5", - "dotenv-expand": "^11.0.6", - "json5": "^2.2.0", - "msgpackr": "^1.9.9", + "base-x": "^3.0.11", + "browserslist": "^4.24.5", + "clone": "^2.1.2", + "dotenv": "^16.5.0", + "dotenv-expand": "^11.0.7", + "json5": "^2.2.3", + "msgpackr": "^1.11.2", "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "semver": "^7.7.1" }, "devDependencies": { "@parcel/babel-register": "2.14.4", - "@types/node": ">= 18", + "@types/node": "^22.15.17", "graphviz": "^0.0.9", "tempy": "^0.2.1" }, diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index ce04d211816..3f8bbba3b0d 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -25,7 +25,7 @@ "check-ts": "tsc --noEmit lib/diagnostic.d.ts" }, "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", + "@mischnic/json-sourcemap": "^0.1.1", "nullthrows": "^1.1.1" } } diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index 6c4f818fad7..0b53eb4329e 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -61,10 +61,10 @@ }, "devDependencies": { "@parcel/watcher-watchman-js": "2.14.4", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.11", "ncp": "^2.0.0", "nullthrows": "^1.1.1", - "utility-types": "^3.10.0" + "utility-types": "^3.11.0" }, "peerDependencies": { "@parcel/core": "^2.14.4" diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index 6c59a524e1f..b7d8676d6ae 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -19,40 +19,40 @@ "@babel/plugin-syntax-module-attributes": "^7.10.4", "@babel/preset-env": "^7.22.14", "@babel/preset-typescript": "^7.22.11", - "@mdx-js/react": "^1.5.3", - "@types/react": "^19", - "@types/react-dom": "^19", - "autoprefixer": "^10.4.0", + "@mdx-js/react": "^1.6.22", + "@types/react": "^19.1.3", + "@types/react-dom": "^19.1.3", + "autoprefixer": "^10.4.21", "chalk": "^4.1.2", - "command-exists": "^1.2.6", - "core-js": "^3.2.1", - "cross-env": "^7.0.0", + "command-exists": "^1.2.9", + "core-js": "^3.42.0", + "cross-env": "^7.0.3", "date-fns": "^4.1.0", - "elm": "^0.19.1-5", - "elm-hot": "^1.1.5", - "esbuild-register": "^3.5.0", - "exif-reader": "^2.0.1", - "get-port": "^5.0.0", - "http-proxy-middleware": "^2.0.1", + "elm": "^0.19.1-6", + "elm-hot": "^1.1.6", + "esbuild-register": "^3.6.0", + "exif-reader": "^2.0.2", + "get-port": "^5.1.1", + "http-proxy-middleware": "^2.0.9", "jsdom": "^25.0.1", - "json5": "^2.2.0", - "lodash": "^4.17.15", + "json5": "^2.2.3", + "lodash": "^4.17.21", "ncp": "^2.0.0", - "nib": "^1.1.2", - "node-elm-compiler": "^5.0.5", + "nib": "^1.2.0", + "node-elm-compiler": "^5.0.6", "parcel": "2.14.4", - "postcss": "^8.4.5", - "postcss-custom-properties": "^12.1.2", + "postcss": "^8.5.3", + "postcss-custom-properties": "^12.1.11", "postcss-import": "^16.1.0", "posthtml-include": "^2.0.1", "posthtml-obfuscate": "^0.1.5", - "preact": "^10.5.9", + "preact": "^10.26.6", "react": "^19.1.0", "react-dom": "^19.1.0", "sugarss": "^4.0.1", - "tailwindcss": "^3.0.2", + "tailwindcss": "^3.4.17", "tempy": "^0.3.0", "wasm-sourcemap": "^1.0.0", - "ws": "^8.18.0" + "ws": "^8.18.2" } } diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index 2e11a0fdb1b..a0cf5a52bf7 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -50,12 +50,12 @@ "@parcel/types": "2.14.4", "@parcel/utils": "2.14.4", "@parcel/workers": "2.14.4", - "@swc/core": "^1.11.5", - "semver": "^7.5.2" + "@swc/core": "^1.11.24", + "semver": "^7.7.1" }, "devDependencies": { - "command-exists": "^1.2.6", - "cross-spawn": "^7.0.3", + "command-exists": "^1.2.9", + "cross-spawn": "^7.0.6", "nullthrows": "^1.1.1", "split2": "^4.2.0" }, diff --git a/packages/core/register/package.json b/packages/core/register/package.json index 9d443900fa3..1cee8dc2a77 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -28,6 +28,6 @@ "@parcel/core": "2.14.4", "@parcel/fs": "2.14.4", "@parcel/package-manager": "2.14.4", - "pirates": "^4.0.0" + "pirates": "^4.0.7" } } diff --git a/packages/core/rust/package.json b/packages/core/rust/package.json index 049621c93c2..692c6331e5d 100644 --- a/packages/core/rust/package.json +++ b/packages/core/rust/package.json @@ -33,7 +33,7 @@ ], "devDependencies": { "@napi-rs/cli": "^2.15.2", - "napi-wasm": "^1.1.2" + "napi-wasm": "^1.1.3" }, "peerDependencies": { "napi-wasm": "^1.1.2" diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index a42caa2ad06..be8c1b0a544 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -21,9 +21,9 @@ "chalk": "^4.1.2", "ncp": "^2.0.0", "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", + "posthtml": "^0.16.6", "posthtml-parser": "^0.12.1", - "resolve": "^1.12.0", - "ws": "^8.18.0" + "resolve": "^1.22.10", + "ws": "^8.18.2" } } diff --git a/packages/core/types-internal/package.json b/packages/core/types-internal/package.json index c4baa300956..660959dcb8c 100644 --- a/packages/core/types-internal/package.json +++ b/packages/core/types-internal/package.json @@ -19,6 +19,6 @@ "@parcel/diagnostic": "2.14.4", "@parcel/feature-flags": "2.14.4", "@parcel/source-map": "^2.1.1", - "utility-types": "^3.10.0" + "utility-types": "^3.11.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 805acce712a..9abb578480e 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -43,21 +43,21 @@ "nullthrows": "^1.1.1" }, "devDependencies": { - "@iarna/toml": "^2.2.0", + "@iarna/toml": "^2.2.5", "ansi-html-community": "0.0.8", - "clone": "^2.1.1", - "fast-glob": "^3.2.12", + "clone": "^2.1.2", + "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "is-glob": "^4.0.0", - "is-url": "^1.2.2", - "json5": "^2.2.0", - "lru-cache": "^10.0.0", - "micromatch": "^4.0.4", - "node-forge": "^1.2.1", + "is-glob": "^4.0.3", + "is-url": "^1.2.4", + "json5": "^2.2.3", + "lru-cache": "^10.4.3", + "micromatch": "^4.0.8", + "node-forge": "^1.3.1", "nullthrows": "^1.1.1", - "open": "^7.0.3", + "open": "^7.4.2", "snarkdown": "^2.0.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "terminal-link": "^2.1.1" }, "browser": { diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index eb2666ad64e..a07b0ec4bd8 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -13,8 +13,8 @@ "@babel/preset-env": "^7.22.14", "@babel/preset-flow": "^7.22.5", "@babel/preset-react": "^7.22.5", - "babel-plugin-minify-dead-code-elimination": "^0.5.0", - "babel-plugin-transform-inline-environment-variables": "^0.4.3", + "babel-plugin-minify-dead-code-elimination": "^0.5.2", + "babel-plugin-transform-inline-environment-variables": "^0.4.4", "read-pkg-up": "^4.0.0" }, "devDependencies": { diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index d01890191cc..dac6767a8a7 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -11,7 +11,7 @@ "dependencies": { "@babel/register": "^7.22.5", "@parcel/babel-preset": "2.14.4", - "resolve": "^1.12.0" + "resolve": "^1.22.10" }, "peerDependencies": { "@babel/core": "^7.22.11" diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index bc34a8f66ac..8f467ccb84b 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -7,12 +7,12 @@ "@babel/plugin-syntax-flow": "^7.14.5", "@babel/plugin-transform-react-jsx": "^7.14.9", "@parcel/eslint-plugin": "2.14.4", - "eslint-config-prettier": "^8.8.0", + "eslint-config-prettier": "^8.10.0", "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-mocha": "^8.0.0", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-mocha": "^8.2.0", "eslint-plugin-monorepo": "^0.3.2", - "eslint-plugin-react": "^7.32.2" + "eslint-plugin-react": "^7.37.5" }, "peerDependencies": { "@babel/core": "^7.22.11", diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index 036c2621140..d983ba36a21 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -9,6 +9,6 @@ "devDependencies": { "@babel/core": "^7.22.11", "@babel/eslint-parser": "^7.22.11", - "eslint": "^8.41.0" + "eslint": "^8.57.1" } } diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index 1822757bc50..4c0c5aa3619 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -12,7 +12,7 @@ "@babel/types": "^7.22.11", "@parcel/core": "2.14.4", "@parcel/fs": "2.14.4", - "nanoid": "^3.1.12", + "nanoid": "^3.3.11", "nullthrows": "^1.1.1" } } diff --git a/packages/dev/query/package.json b/packages/dev/query/package.json index 14a0ad1a7d7..28ae3633e03 100644 --- a/packages/dev/query/package.json +++ b/packages/dev/query/package.json @@ -22,8 +22,8 @@ "@parcel/core": "2.14.4", "@parcel/graph": "3.4.4", "nullthrows": "^1.1.1", - "table": "^6.8.1", - "v8-compile-cache": "^2.0.0" + "table": "^6.9.0", + "v8-compile-cache": "^2.4.0" }, "devDependencies": { "@babel/core": "^7.22.11", diff --git a/packages/dev/repl/package.json b/packages/dev/repl/package.json index b154ff76559..4c384753359 100644 --- a/packages/dev/repl/package.json +++ b/packages/dev/repl/package.json @@ -22,7 +22,7 @@ "@codemirror/state": "^6.2.0", "@codemirror/theme-one-dark": "^6.1.2", "@codemirror/view": "^6.12.0", - "@lezer/common": "^1.0.2", + "@lezer/common": "^1.2.3", "@mischnic/dot-svg": "^0.0.0", "@mischnic/pako": "^1.0.10", "@mischnic/yarn-browser": "^0.0.4", @@ -30,17 +30,17 @@ "@parcel/core": "2.14.4", "@parcel/fs": "2.14.4", "@parcel/package-manager": "2.14.4", - "comlink": "^4.3.1", + "comlink": "^4.4.2", "filesize": "^10.1.6", "idb": "^5.0.8", "isomorphic-fetch": "^3.0.0", - "jszip": "^3.7.1", + "jszip": "^3.10.1", "nullthrows": "^1.1.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-resizable-panels": "^0.0.61", - "react-use": "^17.4.0", - "semver": "^7.3.5" + "react-use": "^17.6.0", + "semver": "^7.7.1" }, "browserslist": "Chrome 75", "devDependencies": { diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index a071d367a50..efc8a7b80d8 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -17,8 +17,8 @@ "parcel": "2.14.4" }, "dependencies": { - "lodash": "^4.17.11", - "react": "^19", - "react-dom": "^19" + "lodash": "^4.17.21", + "react": "^19.1.0", + "react-dom": "^19.1.0" } } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index a8143f82d4c..b8c56a84443 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -35,8 +35,8 @@ } }, "dependencies": { - "lodash": "^4.17.11", - "react": "^19", - "react-dom": "^19" + "lodash": "^4.17.21", + "react": "^19.1.0", + "react-dom": "^19.1.0" } } diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 478cc36c372..674c3bd133b 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -26,7 +26,7 @@ } }, "dependencies": { - "react": "^19", - "react-dom": "^19" + "react": "^19.1.0", + "react-dom": "^19.1.0" } } diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index 57387adfec4..f7a90edaab9 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -12,7 +12,7 @@ "@parcel/core": "2.14.4" }, "dependencies": { - "react": "^19", - "react-dom": "^19" + "react": "^19.1.0", + "react-dom": "^19.1.0" } } diff --git a/packages/examples/react-server-components/package.json b/packages/examples/react-server-components/package.json index 0393ba0ca1e..832d4103ee1 100644 --- a/packages/examples/react-server-components/package.json +++ b/packages/examples/react-server-components/package.json @@ -21,8 +21,8 @@ }, "dependencies": { "@parcel/rsc": "2.14.4", - "express": "^4.18.2", - "react": "^19", - "react-dom": "^19" + "express": "^4.21.2", + "react": "^19.1.0", + "react-dom": "^19.1.0" } } diff --git a/packages/examples/react-static/package.json b/packages/examples/react-static/package.json index 1602f25cb76..de0e5114992 100644 --- a/packages/examples/react-static/package.json +++ b/packages/examples/react-static/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@parcel/rsc": "2.14.4", - "react": "^19", - "react-dom": "^19" + "react": "^19.1.0", + "react-dom": "^19.1.0" } } diff --git a/packages/examples/rsc-client/package.json b/packages/examples/rsc-client/package.json index bd5a1f0738d..d4088202389 100644 --- a/packages/examples/rsc-client/package.json +++ b/packages/examples/rsc-client/package.json @@ -21,8 +21,8 @@ "dependencies": { "@parcel/rsc": "2.14.4", "cors": "^2.8.5", - "express": "^4.18.2", - "react": "^19", - "react-dom": "^19" + "express": "^4.21.2", + "react": "^19.1.0", + "react-dom": "^19.1.0" } } diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index 6faab772803..4160e5ee6db 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -24,6 +24,6 @@ } }, "dependencies": { - "lodash": "^4.17.11" + "lodash": "^4.17.21" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index 21974128ddd..d66846263af 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -15,6 +15,6 @@ "module": "dist/module.js", "types": "dist/types.d.ts", "dependencies": { - "lodash": "^4.17.11" + "lodash": "^4.17.21" } } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index e2e00ec1f3d..253b15d005d 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -24,12 +24,12 @@ "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.14.4", - "browserslist": "^4.6.6", - "lightningcss": "^1.22.1", + "browserslist": "^4.24.5", + "lightningcss": "^1.30.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "lightningcss-wasm": "^1.22.1" + "lightningcss-wasm": "^1.30.0" }, "browser": { "lightningcss": "lightningcss-wasm" diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index ae1f99bdc5f..349abccfbc6 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -22,7 +22,7 @@ "dependencies": { "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", - "cssnano": "^7.0.6", - "postcss": "^8.4.5" + "cssnano": "^7.0.7", + "postcss": "^8.5.3" } } diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index e88077f49cc..bbc9b46690d 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -22,7 +22,7 @@ "dependencies": { "@parcel/plugin": "2.14.4", "@parcel/utils": "2.14.4", - "isbinaryfile": "^5.0.2", + "isbinaryfile": "^5.0.4", "mime": "^3.0.0" } } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index ff21dc9fcd5..448b3923253 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -24,7 +24,7 @@ "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.14.4", - "esbuild": "^0.25.0", + "esbuild": "^0.25.4", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index b400faaba05..53facead88e 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -23,9 +23,9 @@ "@parcel/diagnostic": "2.14.4", "@parcel/plugin": "2.14.4", "@parcel/utils": "2.14.4", - "htmlnano": "^2.0.0", + "htmlnano": "^2.1.2", "nullthrows": "^1.1.1", - "posthtml": "^0.16.5" + "posthtml": "^0.16.6" }, "devDependencies": { "svgo": "^3.3.2" diff --git a/packages/optimizers/inline-requires/package.json b/packages/optimizers/inline-requires/package.json index 3c8c4f28dd5..77bd5816838 100644 --- a/packages/optimizers/inline-requires/package.json +++ b/packages/optimizers/inline-requires/package.json @@ -23,7 +23,7 @@ "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", "@parcel/types": "2.14.4", - "@swc/core": "^1.11.5", + "@swc/core": "^1.11.24", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/swc/package.json b/packages/optimizers/swc/package.json index a1ebe75671f..b1346a1e9d8 100644 --- a/packages/optimizers/swc/package.json +++ b/packages/optimizers/swc/package.json @@ -24,7 +24,7 @@ "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.14.4", - "@swc/core": "^1.11.5", + "@swc/core": "^1.11.24", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index def97627302..74040219d9c 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -25,6 +25,6 @@ "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.14.4", "nullthrows": "^1.1.1", - "terser": "^5.2.0" + "terser": "^5.39.0" } } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index 16dc7430700..72b033b6656 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -24,12 +24,12 @@ "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.14.4", - "lightningcss": "^1.22.1", + "lightningcss": "^1.30.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "lightningcss-wasm": "^1.22.1", - "postcss": "^8.4.5" + "lightningcss-wasm": "^1.30.0", + "postcss": "^8.5.3" }, "browser": { "lightningcss": "lightningcss-wasm" diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index 04a57737c15..394e3fdf80d 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -26,7 +26,7 @@ "@parcel/source-map": "^2.1.1", "@parcel/types": "2.14.4", "@parcel/utils": "2.14.4", - "globals": "^13.2.0", + "globals": "^13.24.0", "nullthrows": "^1.1.1" } } diff --git a/packages/packagers/react-static/package.json b/packages/packagers/react-static/package.json index 97127666a8a..1419e9ec1a7 100644 --- a/packages/packagers/react-static/package.json +++ b/packages/packagers/react-static/package.json @@ -26,6 +26,6 @@ "@parcel/types": "2.14.4", "@parcel/utils": "2.14.4", "nullthrows": "^1.1.1", - "rsc-html-stream": "^0.0.5" + "rsc-html-stream": "^0.0.6" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index a3219d33020..4575b10c1ec 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -23,6 +23,6 @@ "@parcel/plugin": "2.14.4", "@parcel/types": "2.14.4", "@parcel/utils": "2.14.4", - "@xmldom/xmldom": "^0.9.3" + "@xmldom/xmldom": "^0.9.8" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index 6d95db2aa35..e24aad54a86 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -41,8 +41,8 @@ "@parcel/feature-flags": "2.14.4", "filesize": "^10.1.6", "nullthrows": "^1.1.1", - "ora": "^5.2.0", - "string-width": "^4.2.0", + "ora": "^5.4.1", + "string-width": "^4.2.3", "wrap-ansi": "^7.0.0" } } diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 79bf6e1ed3e..54db15800a5 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -41,13 +41,13 @@ "@parcel/diagnostic": "2.14.4", "@parcel/types": "2.14.4", "connect": "^3.7.0", - "ejs": "^3.1.6", + "ejs": "^3.1.10", "fresh": "^0.5.2", - "http-proxy-middleware": "^2.0.1", - "launch-editor": "^2.3.0", + "http-proxy-middleware": "^2.0.9", + "launch-editor": "^2.10.0", "mime-types": "2.1.18", "nullthrows": "^1.1.1", - "serve-handler": "^6.0.0", - "ws": "^8.18.0" + "serve-handler": "^6.1.6", + "ws": "^8.18.2" } } diff --git a/packages/reporters/lsp-reporter/package.json b/packages/reporters/lsp-reporter/package.json index ba25bce28b0..8f87811d68f 100644 --- a/packages/reporters/lsp-reporter/package.json +++ b/packages/reporters/lsp-reporter/package.json @@ -23,9 +23,9 @@ "@parcel/lsp-protocol": "2.14.4", "@parcel/plugin": "2.14.4", "@parcel/utils": "2.14.4", - "node-ipc": "^9.1.4", + "node-ipc": "^9.2.1", "nullthrows": "^1.1.1", "ps-node": "^0.1.6", - "vscode-jsonrpc": "^8.0.2" + "vscode-jsonrpc": "^8.2.1" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index 030d0edbe50..c8eea6f1233 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -24,10 +24,10 @@ "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.14.4", - "browserslist": "^4.6.6", - "json5": "^2.2.0", + "browserslist": "^4.24.5", + "json5": "^2.2.3", "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "semver": "^7.7.1" }, "devDependencies": { "@babel/core": "^7.22.11", diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 9e0df69fc90..1f6ca485f4c 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -23,8 +23,8 @@ "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.14.4", - "coffeescript": "^2.0.3", + "coffeescript": "^2.7.0", "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "semver": "^7.7.1" } } diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 2e39842eb00..6f19db094b0 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -24,12 +24,12 @@ "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.14.4", - "browserslist": "^4.6.6", - "lightningcss": "^1.22.1", + "browserslist": "^4.24.5", + "lightningcss": "^1.30.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "lightningcss-wasm": "^1.22.1" + "lightningcss-wasm": "^1.30.0" }, "browser": { "lightningcss": "lightningcss-wasm" diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index 68e3c0d2399..629def25d7a 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -22,12 +22,12 @@ "dependencies": { "@parcel/diagnostic": "2.14.4", "@parcel/plugin": "2.14.4", - "command-exists": "^1.2.8", - "cross-spawn": "^7.0.3", - "elm-hot": "^1.1.5", - "node-elm-compiler": "^5.0.5", + "command-exists": "^1.2.9", + "cross-spawn": "^7.0.6", + "elm-hot": "^1.1.6", + "node-elm-compiler": "^5.0.6", "nullthrows": "^1.1.1", - "terser": "^5.14.2" + "terser": "^5.39.0" }, "peerDependencies": { "elm": "^0.19.1-5" diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index 459e7f32852..74cfa0e2e40 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.14.4", - "graphql": "^15.0.0", + "graphql": "^15.10.1", "graphql-import-macro": "^1.0.0" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index a5b70db4f92..0ba07a2952f 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -34,10 +34,10 @@ "@parcel/utils": "2.14.4", "@parcel/workers": "2.14.4", "@swc/helpers": "^0.5.0", - "browserslist": "^4.6.6", + "browserslist": "^4.24.5", "nullthrows": "^1.1.1", "regenerator-runtime": "^0.14.1", - "semver": "^7.5.2" + "semver": "^7.7.1" }, "peerDependencies": { "@parcel/core": "^2.14.4" diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index 76ab2f98202..ff119ce8138 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -21,6 +21,6 @@ }, "dependencies": { "@parcel/plugin": "2.14.4", - "json5": "^2.2.0" + "json5": "^2.2.3" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index a0d916726f7..b8f1c266a69 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -25,6 +25,6 @@ "dependencies": { "@parcel/plugin": "2.14.4", "@parcel/types": "2.14.4", - "json5": "^2.2.0" + "json5": "^2.2.3" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index 5023d5cc1ef..a8a9604c2f6 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -22,6 +22,6 @@ "dependencies": { "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", - "less": "^4.1.1" + "less": "^4.3.0" } } diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index bc6bff1a5f2..cd3b5f97886 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -24,13 +24,13 @@ "@parcel/plugin": "2.14.4", "@parcel/rust": "2.14.4", "@parcel/utils": "2.14.4", - "clone": "^2.1.1", + "clone": "^2.1.2", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", - "semver": "^7.5.2" + "semver": "^7.7.1" }, "devDependencies": { - "postcss": "^8.4.5", - "postcss-modules": "^6.0.0" + "postcss": "^8.5.3", + "postcss-modules": "^6.0.1" } } diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index 9e070d403d3..8d25bf31d28 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -21,6 +21,6 @@ }, "dependencies": { "@parcel/plugin": "2.14.4", - "pug": "^3.0.2" + "pug": "^3.0.3" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index bf98f5c5c7c..94eb9d4e624 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -23,6 +23,6 @@ "@parcel/error-overlay": "2.14.4", "@parcel/plugin": "2.14.4", "@parcel/utils": "2.14.4", - "react-refresh": ">=0.9 <=0.16" + "react-refresh": "^0.16.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index b059565ba3e..baa03e98cca 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -22,6 +22,6 @@ "dependencies": { "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", - "sass": "^1.38.0" + "sass": "^1.88.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index 021895747ee..ed630eb32f6 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.14.4", - "postcss": "^8.4.5", + "postcss": "^8.5.3", "sugarss": "^4.0.1" } } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index 093f8dae074..68b50d2ec75 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -23,7 +23,7 @@ "@parcel/diagnostic": "2.14.4", "@parcel/plugin": "2.14.4", "@parcel/utils": "2.14.4", - "@svgr/core": "^8.0.0", - "@svgr/plugin-jsx": "^8.0.0" + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" } } diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index 5f895d5890c..33d5dd5c728 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -20,7 +20,7 @@ "parcel": "^2.14.4" }, "dependencies": { - "@iarna/toml": "^2.2.3", + "@iarna/toml": "^2.2.5", "@parcel/plugin": "2.14.4" } } diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index d8a31ea7cd5..97012000a82 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -20,16 +20,16 @@ "parcel": "^2.14.4" }, "dependencies": { - "@ladjs/consolidate": "^1.0.3", + "@ladjs/consolidate": "^1.0.4", "@parcel/diagnostic": "2.14.4", "@parcel/plugin": "2.14.4", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.14.4", "@vue/compiler-sfc": "^3.2.27", "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "semver": "^7.7.1" }, "devDependencies": { - "vue": "^3.2.27" + "vue": "^3.5.13" } } diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index 7f6f37be44e..3a4c48a4587 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -19,7 +19,7 @@ "parcel": "^2.14.4" }, "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", + "@mischnic/json-sourcemap": "^0.1.1", "@parcel/diagnostic": "2.14.4", "@parcel/plugin": "2.14.4", "@parcel/utils": "2.14.4", diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index 075a65accbc..b1227ea4454 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -19,7 +19,7 @@ "parcel": "^2.14.4" }, "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", + "@mischnic/json-sourcemap": "^0.1.1", "@parcel/diagnostic": "2.14.4", "@parcel/plugin": "2.14.4", "@parcel/utils": "2.14.4" diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index 13e4cec8ce1..25e8f7b9252 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -21,6 +21,6 @@ }, "dependencies": { "@parcel/plugin": "2.14.4", - "@xmldom/xmldom": "^0.9.3" + "@xmldom/xmldom": "^0.9.8" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index e097670fb1e..7c82e327596 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@babel/plugin-transform-runtime": "^7.22.10", - "semver": "^7.5.2" + "semver": "^7.7.1" }, "devDependencies": { "@babel/core": "^7.22.11", diff --git a/packages/utils/babel-preset-env/package.json b/packages/utils/babel-preset-env/package.json index 2faa7685c34..54cef340620 100644 --- a/packages/utils/babel-preset-env/package.json +++ b/packages/utils/babel-preset-env/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@babel/preset-env": "^7.22.14", - "semver": "^7.5.2" + "semver": "^7.7.1" }, "devDependencies": { "@babel/core": "^7.22.11" diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 031d8747b78..55eb4d55ddf 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -21,14 +21,14 @@ }, "dependencies": { "chalk": "^4.1.2", - "command-exists": "^1.2.6", + "command-exists": "^1.2.9", "commander": "^12.1.0", - "cross-spawn": "^7.0.3", + "cross-spawn": "^7.0.6", "ncp": "^2.0.0", - "rimraf": "^5.0.5", - "simple-git": "^3.21.0", + "rimraf": "^5.0.10", + "simple-git": "^3.27.0", "tempy": "^0.2.1", - "v8-compile-cache": "^2.0.0" + "v8-compile-cache": "^2.4.0" }, "devDependencies": { "@babel/core": "^7.22.11", diff --git a/packages/utils/error-overlay/package.json b/packages/utils/error-overlay/package.json index 4b21be458e1..b20f3002f55 100644 --- a/packages/utils/error-overlay/package.json +++ b/packages/utils/error-overlay/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "ansi-html-community": "0.0.8", - "preact": "^10.26.4" + "preact": "^10.26.6" }, "alias": { "preact/jsx-dev-runtime": "preact/jsx-runtime" diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index 8014b589a15..b60a28683c6 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -25,36 +25,36 @@ "lib" ], "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", + "@mischnic/json-sourcemap": "^0.1.1", "@parcel/diagnostic": "2.14.4", "@parcel/fs": "2.14.4", "@parcel/rust": "2.14.4", "@parcel/utils": "2.14.4", "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "semver": "^7.7.1" }, "devDependencies": { - "assert": "^2.0.0", + "assert": "^2.1.0", "browserify-zlib": "^0.2.0", "buffer": "^5.5.0||^6.0.0", "console-browserify": "^1.2.0", "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.12.0", + "crypto-browserify": "^3.12.1", "domain-browser": "^5.7.0", - "events": "^3.1.0", + "events": "^3.3.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", - "path-browserify": "^1.0.0", + "path-browserify": "^1.0.1", "process": "^0.11.10", "punycode": "^2.3.1", "querystring-es3": "^0.2.1", "stream-browserify": "^3.0.0", - "stream-http": "^3.1.0", + "stream-http": "^3.2.0", "string_decoder": "^1.3.0", - "timers-browserify": "^2.0.11", + "timers-browserify": "^2.0.12", "tty-browserify": "^0.0.1", - "url": "^0.11.0", - "util": "^0.12.3", + "url": "^0.11.4", + "util": "^0.12.5", "vm-browserify": "^1.1.2" }, "browser": { diff --git a/packages/utils/parcel-lsp-protocol/package.json b/packages/utils/parcel-lsp-protocol/package.json index 501d7ffbcd8..3fa8b0dfb25 100644 --- a/packages/utils/parcel-lsp-protocol/package.json +++ b/packages/utils/parcel-lsp-protocol/package.json @@ -26,7 +26,7 @@ "typescript": ">=3.0.0" }, "dependencies": { - "vscode-jsonrpc": "^8.0.2" + "vscode-jsonrpc": "^8.2.1" }, "targets": { "types": false diff --git a/packages/utils/parcel-lsp/package.json b/packages/utils/parcel-lsp/package.json index 66ddc58ca7c..2428ed61e50 100644 --- a/packages/utils/parcel-lsp/package.json +++ b/packages/utils/parcel-lsp/package.json @@ -29,16 +29,16 @@ "@parcel/watcher": "^2.0.7", "common-path-prefix": "^3.0.0", "nullthrows": "^1.1.1", - "vscode-jsonrpc": "^8.0.2", - "vscode-languageclient": "^8.0.2", - "vscode-languageserver": "^8.0.2", - "vscode-languageserver-textdocument": "^1.0.0" + "vscode-jsonrpc": "^8.2.1", + "vscode-languageclient": "^8.1.0", + "vscode-languageserver": "^8.1.0", + "vscode-languageserver-textdocument": "^1.0.12" }, "devDependencies": { - "@types/node": ">= 18", + "@types/node": "^22.15.17", "@typescript-eslint/eslint-plugin": "^5.59.7", "@typescript-eslint/parser": "^5.59.7", - "eslint": "^8.41.0", + "eslint": "^8.57.1", "typescript": ">=3.0.0" }, "targets": { diff --git a/packages/utils/parcelforvscode/package.json b/packages/utils/parcelforvscode/package.json index 4abb5573cc4..ccf60d1cfc2 100644 --- a/packages/utils/parcelforvscode/package.json +++ b/packages/utils/parcelforvscode/package.json @@ -109,18 +109,18 @@ "devDependencies": { "@parcel/lsp": "2.14.4", "@parcel/lsp-protocol": "2.14.4", - "@types/mocha": "^8.0.4", - "@types/node": ">= 18", + "@types/mocha": "^8.2.3", + "@types/node": "^22.15.17", "@types/vscode": "^1.67.0", "@typescript-eslint/eslint-plugin": "^5.59.7", "@typescript-eslint/parser": "^5.59.7", - "eslint": "^8.41.0", - "glob": "^7.1.6", - "mocha": "^8.2.1", + "eslint": "^8.57.1", + "glob": "^7.2.3", + "mocha": "^8.4.0", "typescript": ">=3.0.0", "vsce-yarn-patch": "^1.66.2", - "vscode-languageclient": "^8.0.2", - "vscode-test": "^1.5.0" + "vscode-languageclient": "^8.1.0", + "vscode-test": "^1.6.1" }, "dependencies": { "@parcel/watcher": "^2.0.7" diff --git a/packages/utils/rsc/package.json b/packages/utils/rsc/package.json index 826bbad555d..5441d19bb99 100644 --- a/packages/utils/rsc/package.json +++ b/packages/utils/rsc/package.json @@ -33,12 +33,12 @@ }, "dependencies": { "react-server-dom-parcel": "^19.1.0", - "rsc-html-stream": "^0.0.5" + "rsc-html-stream": "^0.0.6" }, "devDependencies": { - "@types/node": ">= 18", - "@types/react": "^19", - "@types/react-dom": "^19" + "@types/node": "^22.15.17", + "@types/react": "^19.1.3", + "@types/react-dom": "^19.1.3" }, "peerDependencies": { "react": "^19.1.0", diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index 4bc0d70a2e6..76e006f5186 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -26,7 +26,7 @@ "chalk": "^4.1.2" }, "devDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^8.57.1" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" diff --git a/yarn.lock b/yarn.lock index eaff2f52ab9..36eed5bd5b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,18 +29,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": - version: 7.26.2 - resolution: "@babel/code-frame@npm:7.26.2" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.27.1": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.27.1": version: 7.27.1 resolution: "@babel/code-frame@npm:7.27.1" dependencies: @@ -95,20 +84,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.22.10, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": - version: 7.26.2 - resolution: "@babel/generator@npm:7.26.2" - dependencies: - "@babel/parser": "npm:^7.26.2" - "@babel/types": "npm:^7.26.0" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^3.0.2" - checksum: 10c0/167ebce8977142f5012fad6bd91da51ac52bcd752f2261a54b7ab605d928aebe57e21636cdd2a9c7757e552652c68d9fcb5d40b06fcb66e02d9ee7526e118a5c - languageName: node - linkType: hard - -"@babel/generator@npm:^7.27.1": +"@babel/generator@npm:^7.22.10, @babel/generator@npm:^7.26.0, @babel/generator@npm:^7.27.1": version: 7.27.1 resolution: "@babel/generator@npm:7.27.1" dependencies: @@ -121,7 +97,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.27.1": +"@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.25.9, @babel/helper-annotate-as-pure@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-annotate-as-pure@npm:7.27.1" dependencies: @@ -130,15 +106,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" - dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe - languageName: node - linkType: hard - "@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9" @@ -162,24 +129,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf - languageName: node - linkType: hard - -"@babel/helper-create-class-features-plugin@npm:^7.21.0": +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.25.9": version: 7.27.1 resolution: "@babel/helper-create-class-features-plugin@npm:7.27.1" dependencies: @@ -224,16 +174,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff - languageName: node - linkType: hard - "@babel/helper-member-expression-to-functions@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-member-expression-to-functions@npm:7.27.1" @@ -267,15 +207,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" - dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c - languageName: node - linkType: hard - "@babel/helper-optimise-call-expression@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" @@ -285,14 +216,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.25.9 - resolution: "@babel/helper-plugin-utils@npm:7.25.9" - checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.14.5": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.27.1 resolution: "@babel/helper-plugin-utils@npm:7.27.1" checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b @@ -312,20 +236,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-replace-supers@npm:7.25.9" - dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.27.1": +"@babel/helper-replace-supers@npm:^7.25.9, @babel/helper-replace-supers@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-replace-supers@npm:7.27.1" dependencies: @@ -348,17 +259,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9, @babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" dependencies: @@ -368,13 +269,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-string-parser@npm:7.25.9" - checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 - languageName: node - linkType: hard - "@babel/helper-string-parser@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-string-parser@npm:7.27.1" @@ -382,14 +276,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.27.1": +"@babel/helper-validator-identifier@npm:^7.25.9, @babel/helper-validator-identifier@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-validator-identifier@npm:7.27.1" checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 @@ -424,18 +311,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.16.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": - version: 7.26.2 - resolution: "@babel/parser@npm:7.26.2" - dependencies: - "@babel/types": "npm:^7.26.0" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/751a743087b3a9172a7599f1421830d44c38f065ef781588d2bfb1c98f9b461719a226feb13c868d7a284783eee120c88ea522593118f2668f46ebfb1105c4d7 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": +"@babel/parser@npm:^7.16.4, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": version: 7.27.2 resolution: "@babel/parser@npm:7.27.2" dependencies: @@ -1609,18 +1485,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.5, @babel/template@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/template@npm:7.25.9" - dependencies: - "@babel/code-frame": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab - languageName: node - linkType: hard - -"@babel/template@npm:^7.27.1": +"@babel/template@npm:^7.22.5, @babel/template@npm:^7.25.9, @babel/template@npm:^7.27.1": version: 7.27.2 resolution: "@babel/template@npm:7.27.2" dependencies: @@ -1631,22 +1496,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/traverse@npm:7.25.9" - dependencies: - "@babel/code-frame": "npm:^7.25.9" - "@babel/generator": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" - "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.27.1": +"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.27.1": version: 7.27.1 resolution: "@babel/traverse@npm:7.27.1" dependencies: @@ -1661,17 +1511,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.21.3, @babel/types@npm:^7.22.11, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.9.6": - version: 7.26.0 - resolution: "@babel/types@npm:7.26.0" - dependencies: - "@babel/helper-string-parser": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8 - languageName: node - linkType: hard - -"@babel/types@npm:^7.27.1": +"@babel/types@npm:^7.21.3, @babel/types@npm:^7.22.11, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.9.6": version: 7.27.1 resolution: "@babel/types@npm:7.27.1" dependencies: @@ -1879,177 +1719,177 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/aix-ppc64@npm:0.25.0" +"@esbuild/aix-ppc64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/aix-ppc64@npm:0.25.4" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/android-arm64@npm:0.25.0" +"@esbuild/android-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-arm64@npm:0.25.4" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/android-arm@npm:0.25.0" +"@esbuild/android-arm@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-arm@npm:0.25.4" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/android-x64@npm:0.25.0" +"@esbuild/android-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-x64@npm:0.25.4" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/darwin-arm64@npm:0.25.0" +"@esbuild/darwin-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/darwin-arm64@npm:0.25.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/darwin-x64@npm:0.25.0" +"@esbuild/darwin-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/darwin-x64@npm:0.25.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/freebsd-arm64@npm:0.25.0" +"@esbuild/freebsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/freebsd-arm64@npm:0.25.4" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/freebsd-x64@npm:0.25.0" +"@esbuild/freebsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/freebsd-x64@npm:0.25.4" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/linux-arm64@npm:0.25.0" +"@esbuild/linux-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-arm64@npm:0.25.4" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/linux-arm@npm:0.25.0" +"@esbuild/linux-arm@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-arm@npm:0.25.4" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/linux-ia32@npm:0.25.0" +"@esbuild/linux-ia32@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-ia32@npm:0.25.4" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/linux-loong64@npm:0.25.0" +"@esbuild/linux-loong64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-loong64@npm:0.25.4" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/linux-mips64el@npm:0.25.0" +"@esbuild/linux-mips64el@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-mips64el@npm:0.25.4" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/linux-ppc64@npm:0.25.0" +"@esbuild/linux-ppc64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-ppc64@npm:0.25.4" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/linux-riscv64@npm:0.25.0" +"@esbuild/linux-riscv64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-riscv64@npm:0.25.4" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/linux-s390x@npm:0.25.0" +"@esbuild/linux-s390x@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-s390x@npm:0.25.4" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/linux-x64@npm:0.25.0" +"@esbuild/linux-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-x64@npm:0.25.4" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-arm64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/netbsd-arm64@npm:0.25.0" +"@esbuild/netbsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/netbsd-arm64@npm:0.25.4" conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/netbsd-x64@npm:0.25.0" +"@esbuild/netbsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/netbsd-x64@npm:0.25.4" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/openbsd-arm64@npm:0.25.0" +"@esbuild/openbsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/openbsd-arm64@npm:0.25.4" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/openbsd-x64@npm:0.25.0" +"@esbuild/openbsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/openbsd-x64@npm:0.25.4" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/sunos-x64@npm:0.25.0" +"@esbuild/sunos-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/sunos-x64@npm:0.25.4" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/win32-arm64@npm:0.25.0" +"@esbuild/win32-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-arm64@npm:0.25.4" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/win32-ia32@npm:0.25.0" +"@esbuild/win32-ia32@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-ia32@npm:0.25.4" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.25.0": - version: 0.25.0 - resolution: "@esbuild/win32-x64@npm:0.25.0" +"@esbuild/win32-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-x64@npm:0.25.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2135,7 +1975,7 @@ __metadata: languageName: node linkType: hard -"@iarna/toml@npm:^2.2.0, @iarna/toml@npm:^2.2.3": +"@iarna/toml@npm:^2.2.5": version: 2.2.5 resolution: "@iarna/toml@npm:2.2.5" checksum: 10c0/d095381ad4554aca233b7cf5a91f243ef619e5e15efd3157bc640feac320545450d14b394aebbf6f02a2047437ced778ae598d5879a995441ab7b6c0b2c2f201 @@ -2438,7 +2278,7 @@ __metadata: languageName: node linkType: hard -"@ladjs/consolidate@npm:^1.0.3": +"@ladjs/consolidate@npm:^1.0.4": version: 1.0.4 resolution: "@ladjs/consolidate@npm:1.0.4" peerDependencies: @@ -2693,7 +2533,7 @@ __metadata: languageName: node linkType: hard -"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0": +"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0, @lezer/common@npm:^1.2.3": version: 1.2.3 resolution: "@lezer/common@npm:1.2.3" checksum: 10c0/fe9f8e111080ef94037a34ca2af1221c8d01c1763ba5ecf708a286185c76119509a5d19d924c8842172716716ddce22d7834394670c4a9432f0ba9f3b7c0f50d @@ -2804,7 +2644,7 @@ __metadata: languageName: node linkType: hard -"@mdx-js/react@npm:^1.5.3": +"@mdx-js/react@npm:^1.6.22": version: 1.6.22 resolution: "@mdx-js/react@npm:1.6.22" peerDependencies: @@ -2820,7 +2660,7 @@ __metadata: languageName: node linkType: hard -"@mischnic/json-sourcemap@npm:^0.1.0": +"@mischnic/json-sourcemap@npm:^0.1.1": version: 0.1.1 resolution: "@mischnic/json-sourcemap@npm:0.1.1" dependencies: @@ -3454,7 +3294,7 @@ __metadata: "@babel/core": "npm:^7.22.11" "@babel/plugin-transform-runtime": "npm:^7.22.10" "@parcel/babel-preset-env": "npm:2.14.4" - semver: "npm:^7.5.2" + semver: "npm:^7.7.1" languageName: unknown linkType: soft @@ -3464,7 +3304,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.22.11" "@babel/preset-env": "npm:^7.22.14" - semver: "npm:^7.5.2" + semver: "npm:^7.7.1" peerDependencies: "@babel/core": ^7.22.11 languageName: unknown @@ -3479,8 +3319,8 @@ __metadata: "@babel/preset-env": "npm:^7.22.14" "@babel/preset-flow": "npm:^7.22.5" "@babel/preset-react": "npm:^7.22.5" - babel-plugin-minify-dead-code-elimination: "npm:^0.5.0" - babel-plugin-transform-inline-environment-variables: "npm:^0.4.3" + babel-plugin-minify-dead-code-elimination: "npm:^0.5.2" + babel-plugin-transform-inline-environment-variables: "npm:^0.4.4" read-pkg-up: "npm:^4.0.0" languageName: unknown linkType: soft @@ -3491,7 +3331,7 @@ __metadata: dependencies: "@babel/register": "npm:^7.22.5" "@parcel/babel-preset": "npm:2.14.4" - resolve: "npm:^1.12.0" + resolve: "npm:^1.22.10" peerDependencies: "@babel/core": ^7.22.11 languageName: unknown @@ -3556,7 +3396,7 @@ __metadata: chalk: "npm:^4.1.2" emphasize: "npm:^4.2.0" slice-ansi: "npm:^4.0.0" - string-width: "npm:^4.2.0" + string-width: "npm:^4.2.3" languageName: unknown linkType: soft @@ -3674,7 +3514,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/core@workspace:packages/core/core" dependencies: - "@mischnic/json-sourcemap": "npm:^0.1.0" + "@mischnic/json-sourcemap": "npm:^0.1.1" "@parcel/babel-register": "npm:2.14.4" "@parcel/cache": "npm:2.14.4" "@parcel/diagnostic": "npm:2.14.4" @@ -3691,17 +3531,17 @@ __metadata: "@parcel/types": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" "@parcel/workers": "npm:2.14.4" - "@types/node": "npm:>= 18" - base-x: "npm:^3.0.8" - browserslist: "npm:^4.6.6" - clone: "npm:^2.1.1" - dotenv: "npm:^16.4.5" - dotenv-expand: "npm:^11.0.6" + "@types/node": "npm:^22.15.17" + base-x: "npm:^3.0.11" + browserslist: "npm:^4.24.5" + clone: "npm:^2.1.2" + dotenv: "npm:^16.5.0" + dotenv-expand: "npm:^11.0.7" graphviz: "npm:^0.0.9" - json5: "npm:^2.2.0" - msgpackr: "npm:^1.9.9" + json5: "npm:^2.2.3" + msgpackr: "npm:^1.11.2" nullthrows: "npm:^1.1.1" - semver: "npm:^7.5.2" + semver: "npm:^7.7.1" tempy: "npm:^0.2.1" languageName: unknown linkType: soft @@ -3713,14 +3553,14 @@ __metadata: "@babel/core": "npm:^7.22.11" "@parcel/babel-register": "npm:2.14.4" chalk: "npm:^4.1.2" - command-exists: "npm:^1.2.6" + command-exists: "npm:^1.2.9" commander: "npm:^12.1.0" - cross-spawn: "npm:^7.0.3" + cross-spawn: "npm:^7.0.6" ncp: "npm:^2.0.0" - rimraf: "npm:^5.0.5" - simple-git: "npm:^3.21.0" + rimraf: "npm:^5.0.10" + simple-git: "npm:^3.27.0" tempy: "npm:^0.2.1" - v8-compile-cache: "npm:^2.0.0" + v8-compile-cache: "npm:^2.4.0" bin: parcel-create-react-app: src/bin.js languageName: unknown @@ -3730,7 +3570,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/diagnostic@workspace:packages/core/diagnostic" dependencies: - "@mischnic/json-sourcemap": "npm:^0.1.0" + "@mischnic/json-sourcemap": "npm:^0.1.1" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -3740,7 +3580,7 @@ __metadata: resolution: "@parcel/error-overlay@workspace:packages/utils/error-overlay" dependencies: ansi-html-community: "npm:0.0.8" - preact: "npm:^10.26.4" + preact: "npm:^10.26.6" languageName: unknown linkType: soft @@ -3763,12 +3603,12 @@ __metadata: "@babel/plugin-syntax-flow": "npm:^7.14.5" "@babel/plugin-transform-react-jsx": "npm:^7.14.9" "@parcel/eslint-plugin": "npm:2.14.4" - eslint-config-prettier: "npm:^8.8.0" + eslint-config-prettier: "npm:^8.10.0" eslint-plugin-flowtype: "npm:^8.0.3" - eslint-plugin-import: "npm:^2.22.1" - eslint-plugin-mocha: "npm:^8.0.0" + eslint-plugin-import: "npm:^2.31.0" + eslint-plugin-mocha: "npm:^8.2.0" eslint-plugin-monorepo: "npm:^0.3.2" - eslint-plugin-react: "npm:^7.32.2" + eslint-plugin-react: "npm:^7.37.5" peerDependencies: "@babel/core": ^7.22.11 eslint: ">= 7.0.0" @@ -3793,7 +3633,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.22.11" "@babel/eslint-parser": "npm:^7.22.11" - eslint: "npm:^8.41.0" + eslint: "npm:^8.57.1" read-pkg-up: "npm:^5.0.0" languageName: unknown linkType: soft @@ -3821,10 +3661,10 @@ __metadata: "@parcel/watcher": "npm:^2.0.7" "@parcel/watcher-watchman-js": "npm:2.14.4" "@parcel/workers": "npm:2.14.4" - graceful-fs: "npm:^4.2.4" + graceful-fs: "npm:^4.2.11" ncp: "npm:^2.0.0" nullthrows: "npm:^1.1.1" - utility-types: "npm:^3.10.0" + utility-types: "npm:^3.11.0" peerDependencies: "@parcel/core": ^2.14.4 languageName: unknown @@ -3845,10 +3685,10 @@ __metadata: dependencies: "@babel/core": "npm:^7.22.11" "@parcel/babel-register": "npm:2.14.4" - lodash: "npm:^4.17.11" + lodash: "npm:^4.17.21" parcel: "npm:2.14.4" - react: "npm:^19" - react-dom: "npm:^19" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" languageName: unknown linkType: soft @@ -3863,41 +3703,41 @@ __metadata: "@babel/plugin-syntax-module-attributes": "npm:^7.10.4" "@babel/preset-env": "npm:^7.22.14" "@babel/preset-typescript": "npm:^7.22.11" - "@mdx-js/react": "npm:^1.5.3" - "@types/react": "npm:^19" - "@types/react-dom": "npm:^19" - autoprefixer: "npm:^10.4.0" + "@mdx-js/react": "npm:^1.6.22" + "@types/react": "npm:^19.1.3" + "@types/react-dom": "npm:^19.1.3" + autoprefixer: "npm:^10.4.21" chalk: "npm:^4.1.2" - command-exists: "npm:^1.2.6" - core-js: "npm:^3.2.1" - cross-env: "npm:^7.0.0" + command-exists: "npm:^1.2.9" + core-js: "npm:^3.42.0" + cross-env: "npm:^7.0.3" date-fns: "npm:^4.1.0" - elm: "npm:^0.19.1-5" - elm-hot: "npm:^1.1.5" - esbuild-register: "npm:^3.5.0" - exif-reader: "npm:^2.0.1" - get-port: "npm:^5.0.0" - http-proxy-middleware: "npm:^2.0.1" + elm: "npm:^0.19.1-6" + elm-hot: "npm:^1.1.6" + esbuild-register: "npm:^3.6.0" + exif-reader: "npm:^2.0.2" + get-port: "npm:^5.1.1" + http-proxy-middleware: "npm:^2.0.9" jsdom: "npm:^25.0.1" - json5: "npm:^2.2.0" - lodash: "npm:^4.17.15" + json5: "npm:^2.2.3" + lodash: "npm:^4.17.21" ncp: "npm:^2.0.0" - nib: "npm:^1.1.2" - node-elm-compiler: "npm:^5.0.5" + nib: "npm:^1.2.0" + node-elm-compiler: "npm:^5.0.6" parcel: "npm:2.14.4" - postcss: "npm:^8.4.5" - postcss-custom-properties: "npm:^12.1.2" + postcss: "npm:^8.5.3" + postcss-custom-properties: "npm:^12.1.11" postcss-import: "npm:^16.1.0" posthtml-include: "npm:^2.0.1" posthtml-obfuscate: "npm:^0.1.5" - preact: "npm:^10.5.9" + preact: "npm:^10.26.6" react: "npm:^19.1.0" react-dom: "npm:^19.1.0" sugarss: "npm:^4.0.1" - tailwindcss: "npm:^3.0.2" + tailwindcss: "npm:^3.4.17" tempy: "npm:^0.3.0" wasm-sourcemap: "npm:^1.0.0" - ws: "npm:^8.18.0" + ws: "npm:^8.18.2" languageName: unknown linkType: soft @@ -3911,10 +3751,10 @@ __metadata: "@parcel/core": "npm:2.14.4" "@parcel/optimizer-esbuild": "npm:2.14.4" "@parcel/reporter-sourcemap-visualiser": "npm:2.14.4" - lodash: "npm:^4.17.11" + lodash: "npm:^4.17.21" parcel: "npm:2.14.4" - react: "npm:^19" - react-dom: "npm:^19" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" languageName: unknown linkType: soft @@ -3947,7 +3787,7 @@ __metadata: resolution: "@parcel/lsp-protocol@workspace:packages/utils/parcel-lsp-protocol" dependencies: typescript: "npm:>=3.0.0" - vscode-jsonrpc: "npm:^8.0.2" + vscode-jsonrpc: "npm:^8.2.1" languageName: unknown linkType: soft @@ -3957,17 +3797,17 @@ __metadata: dependencies: "@parcel/lsp-protocol": "npm:2.14.4" "@parcel/watcher": "npm:^2.0.7" - "@types/node": "npm:>= 18" + "@types/node": "npm:^22.15.17" "@typescript-eslint/eslint-plugin": "npm:^5.59.7" "@typescript-eslint/parser": "npm:^5.59.7" common-path-prefix: "npm:^3.0.0" - eslint: "npm:^8.41.0" + eslint: "npm:^8.57.1" nullthrows: "npm:^1.1.1" typescript: "npm:>=3.0.0" - vscode-jsonrpc: "npm:^8.0.2" - vscode-languageclient: "npm:^8.0.2" - vscode-languageserver: "npm:^8.0.2" - vscode-languageserver-textdocument: "npm:^1.0.0" + vscode-jsonrpc: "npm:^8.2.1" + vscode-languageclient: "npm:^8.1.0" + vscode-languageserver: "npm:^8.1.0" + vscode-languageserver-textdocument: "npm:^1.0.12" languageName: unknown linkType: soft @@ -3993,27 +3833,27 @@ __metadata: "@khanacademy/flow-to-ts": "npm:^0.5.2" "@napi-rs/cli": "npm:^2.18.3" "@parcel/babel-register": "npm:*" - "@swc/core": "npm:^1.11.5" - "@types/node": "npm:>= 18" + "@swc/core": "npm:^1.11.24" + "@types/node": "npm:^22.15.17" buffer: "mischnic/buffer#b8a4fa94" - cross-env: "npm:^7.0.0" - eslint: "npm:^8.41.0" - fast-glob: "npm:^3.2.12" + cross-env: "npm:^7.0.3" + eslint: "npm:^8.57.1" + fast-glob: "npm:^3.3.3" flow-bin: "npm:0.184.0" gulp: "npm:^4.0.2" gulp-babel: "npm:^8.0.0" husky: "npm:^6.0.0" lerna: "npm:^6.6.2" - lint-staged: "npm:^10.2.11" - mocha: "npm:^8.3.0" - mocha-junit-reporter: "npm:^2.0.0" + lint-staged: "npm:^10.5.4" + mocha: "npm:^8.4.0" + mocha-junit-reporter: "npm:^2.2.1" mocha-multi-reporters: "npm:^1.5.1" patch-package: "npm:^8.0.0" prettier: "npm:2.4.1" punycode: "npm:^2.3.1" - rimraf: "npm:^5.0.5" - semver: "npm:^7.5.2" - sinon: "npm:^7.3.1" + rimraf: "npm:^5.0.10" + semver: "npm:^7.7.1" + sinon: "npm:^7.5.0" languageName: unknown linkType: soft @@ -4031,34 +3871,34 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/node-resolver-core@workspace:packages/utils/node-resolver-core" dependencies: - "@mischnic/json-sourcemap": "npm:^0.1.0" + "@mischnic/json-sourcemap": "npm:^0.1.1" "@parcel/diagnostic": "npm:2.14.4" "@parcel/fs": "npm:2.14.4" "@parcel/rust": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - assert: "npm:^2.0.0" + assert: "npm:^2.1.0" browserify-zlib: "npm:^0.2.0" buffer: "npm:^5.5.0||^6.0.0" console-browserify: "npm:^1.2.0" constants-browserify: "npm:^1.0.0" - crypto-browserify: "npm:^3.12.0" + crypto-browserify: "npm:^3.12.1" domain-browser: "npm:^5.7.0" - events: "npm:^3.1.0" + events: "npm:^3.3.0" https-browserify: "npm:^1.0.0" nullthrows: "npm:^1.1.1" os-browserify: "npm:^0.3.0" - path-browserify: "npm:^1.0.0" + path-browserify: "npm:^1.0.1" process: "npm:^0.11.10" punycode: "npm:^2.3.1" querystring-es3: "npm:^0.2.1" - semver: "npm:^7.5.2" + semver: "npm:^7.7.1" stream-browserify: "npm:^3.0.0" - stream-http: "npm:^3.1.0" + stream-http: "npm:^3.2.0" string_decoder: "npm:^1.3.0" - timers-browserify: "npm:^2.0.11" + timers-browserify: "npm:^2.0.12" tty-browserify: "npm:^0.0.1" - url: "npm:^0.11.0" - util: "npm:^0.12.3" + url: "npm:^0.11.4" + util: "npm:^0.12.5" vm-browserify: "npm:^1.1.2" languageName: unknown linkType: soft @@ -4080,9 +3920,9 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" "@parcel/utils": "npm:2.14.4" - browserslist: "npm:^4.6.6" - lightningcss: "npm:^1.22.1" - lightningcss-wasm: "npm:^1.22.1" + browserslist: "npm:^4.24.5" + lightningcss: "npm:^1.30.0" + lightningcss-wasm: "npm:^1.30.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -4093,8 +3933,8 @@ __metadata: dependencies: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" - cssnano: "npm:^7.0.6" - postcss: "npm:^8.4.5" + cssnano: "npm:^7.0.7" + postcss: "npm:^8.5.3" languageName: unknown linkType: soft @@ -4104,7 +3944,7 @@ __metadata: dependencies: "@parcel/plugin": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - isbinaryfile: "npm:^5.0.2" + isbinaryfile: "npm:^5.0.4" mime: "npm:^3.0.0" languageName: unknown linkType: soft @@ -4117,7 +3957,7 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" "@parcel/utils": "npm:2.14.4" - esbuild: "npm:^0.25.0" + esbuild: "npm:^0.25.4" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -4139,9 +3979,9 @@ __metadata: "@parcel/diagnostic": "npm:2.14.4" "@parcel/plugin": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - htmlnano: "npm:^2.0.0" + htmlnano: "npm:^2.1.2" nullthrows: "npm:^1.1.1" - posthtml: "npm:^0.16.5" + posthtml: "npm:^0.16.6" svgo: "npm:^3.3.2" languageName: unknown linkType: soft @@ -4167,7 +4007,7 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" "@parcel/types": "npm:2.14.4" - "@swc/core": "npm:^1.11.5" + "@swc/core": "npm:^1.11.24" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -4201,7 +4041,7 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" "@parcel/utils": "npm:2.14.4" - "@swc/core": "npm:^1.11.5" + "@swc/core": "npm:^1.11.24" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -4215,7 +4055,7 @@ __metadata: "@parcel/source-map": "npm:^2.1.1" "@parcel/utils": "npm:2.14.4" nullthrows: "npm:^1.1.1" - terser: "npm:^5.2.0" + terser: "npm:^5.39.0" languageName: unknown linkType: soft @@ -4230,11 +4070,11 @@ __metadata: "@parcel/types": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" "@parcel/workers": "npm:2.14.4" - "@swc/core": "npm:^1.11.5" - command-exists: "npm:^1.2.6" - cross-spawn: "npm:^7.0.3" + "@swc/core": "npm:^1.11.24" + command-exists: "npm:^1.2.9" + cross-spawn: "npm:^7.0.6" nullthrows: "npm:^1.1.1" - semver: "npm:^7.5.2" + semver: "npm:^7.7.1" split2: "npm:^4.2.0" peerDependencies: "@parcel/core": ^2.14.4 @@ -4249,10 +4089,10 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" "@parcel/utils": "npm:2.14.4" - lightningcss: "npm:^1.22.1" - lightningcss-wasm: "npm:^1.22.1" + lightningcss: "npm:^1.30.0" + lightningcss-wasm: "npm:^1.30.0" nullthrows: "npm:^1.1.1" - postcss: "npm:^8.4.5" + postcss: "npm:^8.5.3" languageName: unknown linkType: soft @@ -4277,7 +4117,7 @@ __metadata: "@parcel/source-map": "npm:^2.1.1" "@parcel/types": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - globals: "npm:^13.2.0" + globals: "npm:^13.24.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -4309,7 +4149,7 @@ __metadata: "@parcel/types": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" nullthrows: "npm:^1.1.1" - rsc-html-stream: "npm:^0.0.5" + rsc-html-stream: "npm:^0.0.6" languageName: unknown linkType: soft @@ -4357,7 +4197,7 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/types": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - "@xmldom/xmldom": "npm:^0.9.3" + "@xmldom/xmldom": "npm:^0.9.8" languageName: unknown linkType: soft @@ -4390,8 +4230,8 @@ __metadata: "@parcel/core": "npm:2.14.4" "@parcel/graph": "npm:3.4.4" nullthrows: "npm:^1.1.1" - table: "npm:^6.8.1" - v8-compile-cache: "npm:^2.0.0" + table: "npm:^6.9.0" + v8-compile-cache: "npm:^2.4.0" bin: parcel-query: src/bin.js languageName: unknown @@ -4402,8 +4242,8 @@ __metadata: resolution: "@parcel/react-hmr-example@workspace:packages/examples/react-hmr" dependencies: parcel: "npm:2.14.4" - react: "npm:^19" - react-dom: "npm:^19" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" languageName: unknown linkType: soft @@ -4414,8 +4254,8 @@ __metadata: "@babel/core": "npm:^7.22.11" "@parcel/babel-register": "npm:2.14.4" "@parcel/core": "npm:2.14.4" - react: "npm:^19" - react-dom: "npm:^19" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" languageName: unknown linkType: soft @@ -4427,7 +4267,7 @@ __metadata: "@parcel/core": "npm:2.14.4" "@parcel/fs": "npm:2.14.4" "@parcel/package-manager": "npm:2.14.4" - pirates: "npm:^4.0.0" + pirates: "npm:^4.0.7" languageName: unknown linkType: soft @@ -4447,7 +4287,7 @@ __metadata: "@codemirror/state": "npm:^6.2.0" "@codemirror/theme-one-dark": "npm:^6.1.2" "@codemirror/view": "npm:^6.12.0" - "@lezer/common": "npm:^1.0.2" + "@lezer/common": "npm:^1.2.3" "@mischnic/dot-svg": "npm:^0.0.0" "@mischnic/pako": "npm:^1.0.10" "@mischnic/yarn-browser": "npm:^0.0.4" @@ -4455,18 +4295,18 @@ __metadata: "@parcel/core": "npm:2.14.4" "@parcel/fs": "npm:2.14.4" "@parcel/package-manager": "npm:2.14.4" - comlink: "npm:^4.3.1" + comlink: "npm:^4.4.2" eslint-config-react-app: "npm:^7.0.1" filesize: "npm:^10.1.6" idb: "npm:^5.0.8" isomorphic-fetch: "npm:^3.0.0" - jszip: "npm:^3.7.1" + jszip: "npm:^3.10.1" nullthrows: "npm:^1.1.1" - react: "npm:^18.2.0" - react-dom: "npm:^18.2.0" + react: "npm:^18.3.1" + react-dom: "npm:^18.3.1" react-resizable-panels: "npm:^0.0.61" - react-use: "npm:^17.4.0" - semver: "npm:^7.3.5" + react-use: "npm:^17.6.0" + semver: "npm:^7.7.1" sharp: "npm:^0.33.5" languageName: unknown linkType: soft @@ -4523,8 +4363,8 @@ __metadata: chalk: "npm:^4.1.2" filesize: "npm:^10.1.6" nullthrows: "npm:^1.1.1" - ora: "npm:^5.2.0" - string-width: "npm:^4.2.0" + ora: "npm:^5.4.1" + string-width: "npm:^4.2.3" term-size: "npm:^2.2.1" wrap-ansi: "npm:^7.0.0" languageName: unknown @@ -4552,14 +4392,14 @@ __metadata: "@parcel/types": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" connect: "npm:^3.7.0" - ejs: "npm:^3.1.6" + ejs: "npm:^3.1.10" fresh: "npm:^0.5.2" - http-proxy-middleware: "npm:^2.0.1" - launch-editor: "npm:^2.3.0" + http-proxy-middleware: "npm:^2.0.9" + launch-editor: "npm:^2.10.0" mime-types: "npm:2.1.18" nullthrows: "npm:^1.1.1" - serve-handler: "npm:^6.0.0" - ws: "npm:^8.18.0" + serve-handler: "npm:^6.1.6" + ws: "npm:^8.18.2" languageName: unknown linkType: soft @@ -4581,10 +4421,10 @@ __metadata: "@parcel/lsp-protocol": "npm:2.14.4" "@parcel/plugin": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - node-ipc: "npm:^9.1.4" + node-ipc: "npm:^9.2.1" nullthrows: "npm:^1.1.1" ps-node: "npm:^0.1.6" - vscode-jsonrpc: "npm:^8.0.2" + vscode-jsonrpc: "npm:^8.2.1" languageName: unknown linkType: soft @@ -4646,11 +4486,11 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/rsc@workspace:packages/utils/rsc" dependencies: - "@types/node": "npm:>= 18" - "@types/react": "npm:^19" - "@types/react-dom": "npm:^19" + "@types/node": "npm:^22.15.17" + "@types/react": "npm:^19.1.3" + "@types/react-dom": "npm:^19.1.3" react-server-dom-parcel: "npm:^19.1.0" - rsc-html-stream: "npm:^0.0.5" + rsc-html-stream: "npm:^0.0.6" peerDependencies: react: ^19.1.0 react-dom: ^19.1.0 @@ -4769,7 +4609,7 @@ __metadata: "@parcel/rust-linux-x64-gnu": "npm:2.14.4" "@parcel/rust-linux-x64-musl": "npm:2.14.4" "@parcel/rust-win32-x64-msvc": "npm:2.14.4" - napi-wasm: "npm:^1.1.2" + napi-wasm: "npm:^1.1.3" peerDependencies: napi-wasm: ^1.1.2 dependenciesMeta: @@ -4808,7 +4648,7 @@ __metadata: "@babel/core": "npm:^7.22.11" "@parcel/babel-register": "npm:2.14.4" "@parcel/core": "npm:2.14.4" - lodash: "npm:^4.17.11" + lodash: "npm:^4.17.21" languageName: unknown linkType: soft @@ -4833,10 +4673,10 @@ __metadata: chalk: "npm:^4.1.2" ncp: "npm:^2.0.0" nullthrows: "npm:^1.1.1" - posthtml: "npm:^0.16.5" + posthtml: "npm:^0.16.6" posthtml-parser: "npm:^0.12.1" - resolve: "npm:^1.12.0" - ws: "npm:^8.18.0" + resolve: "npm:^1.22.10" + ws: "npm:^8.18.2" languageName: unknown linkType: soft @@ -4863,10 +4703,10 @@ __metadata: "@parcel/source-map": "npm:^2.1.1" "@parcel/types": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - browserslist: "npm:^4.6.6" - json5: "npm:^2.2.0" + browserslist: "npm:^4.24.5" + json5: "npm:^2.2.3" nullthrows: "npm:^1.1.1" - semver: "npm:^7.5.2" + semver: "npm:^7.7.1" languageName: unknown linkType: soft @@ -4877,9 +4717,9 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" "@parcel/utils": "npm:2.14.4" - coffeescript: "npm:^2.0.3" + coffeescript: "npm:^2.7.0" nullthrows: "npm:^1.1.1" - semver: "npm:^7.5.2" + semver: "npm:^7.7.1" languageName: unknown linkType: soft @@ -4891,9 +4731,9 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" "@parcel/utils": "npm:2.14.4" - browserslist: "npm:^4.6.6" - lightningcss: "npm:^1.22.1" - lightningcss-wasm: "npm:^1.22.1" + browserslist: "npm:^4.24.5" + lightningcss: "npm:^1.30.0" + lightningcss-wasm: "npm:^1.30.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -4904,12 +4744,12 @@ __metadata: dependencies: "@parcel/diagnostic": "npm:2.14.4" "@parcel/plugin": "npm:2.14.4" - command-exists: "npm:^1.2.8" - cross-spawn: "npm:^7.0.3" - elm-hot: "npm:^1.1.5" - node-elm-compiler: "npm:^5.0.5" + command-exists: "npm:^1.2.9" + cross-spawn: "npm:^7.0.6" + elm-hot: "npm:^1.1.6" + node-elm-compiler: "npm:^5.0.6" nullthrows: "npm:^1.1.1" - terser: "npm:^5.14.2" + terser: "npm:^5.39.0" peerDependencies: elm: ^0.19.1-5 languageName: unknown @@ -4930,7 +4770,7 @@ __metadata: resolution: "@parcel/transformer-graphql@workspace:packages/transformers/graphql" dependencies: "@parcel/plugin": "npm:2.14.4" - graphql: "npm:^15.0.0" + graphql: "npm:^15.10.1" graphql-import-macro: "npm:^1.0.0" languageName: unknown linkType: soft @@ -4986,10 +4826,10 @@ __metadata: "@parcel/utils": "npm:2.14.4" "@parcel/workers": "npm:2.14.4" "@swc/helpers": "npm:^0.5.0" - browserslist: "npm:^4.6.6" + browserslist: "npm:^4.24.5" nullthrows: "npm:^1.1.1" regenerator-runtime: "npm:^0.14.1" - semver: "npm:^7.5.2" + semver: "npm:^7.7.1" peerDependencies: "@parcel/core": ^2.14.4 languageName: unknown @@ -5000,7 +4840,7 @@ __metadata: resolution: "@parcel/transformer-json@workspace:packages/transformers/json" dependencies: "@parcel/plugin": "npm:2.14.4" - json5: "npm:^2.2.0" + json5: "npm:^2.2.3" languageName: unknown linkType: soft @@ -5010,7 +4850,7 @@ __metadata: dependencies: "@parcel/plugin": "npm:2.14.4" "@parcel/types": "npm:2.14.4" - json5: "npm:^2.2.0" + json5: "npm:^2.2.3" languageName: unknown linkType: soft @@ -5020,7 +4860,7 @@ __metadata: dependencies: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" - less: "npm:^4.1.1" + less: "npm:^4.3.0" languageName: unknown linkType: soft @@ -5040,12 +4880,12 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/rust": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - clone: "npm:^2.1.1" + clone: "npm:^2.1.2" nullthrows: "npm:^1.1.1" - postcss: "npm:^8.4.5" - postcss-modules: "npm:^6.0.0" + postcss: "npm:^8.5.3" + postcss-modules: "npm:^6.0.1" postcss-value-parser: "npm:^4.2.0" - semver: "npm:^7.5.2" + semver: "npm:^7.7.1" languageName: unknown linkType: soft @@ -5063,7 +4903,7 @@ __metadata: resolution: "@parcel/transformer-pug@workspace:packages/transformers/pug" dependencies: "@parcel/plugin": "npm:2.14.4" - pug: "npm:^3.0.2" + pug: "npm:^3.0.3" languageName: unknown linkType: soft @@ -5082,7 +4922,7 @@ __metadata: "@parcel/error-overlay": "npm:2.14.4" "@parcel/plugin": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - react-refresh: "npm:>=0.9 <=0.16" + react-refresh: "npm:^0.16.0" languageName: unknown linkType: soft @@ -5100,7 +4940,7 @@ __metadata: dependencies: "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" - sass: "npm:^1.38.0" + sass: "npm:^1.88.0" languageName: unknown linkType: soft @@ -5119,7 +4959,7 @@ __metadata: resolution: "@parcel/transformer-sugarss@workspace:packages/transformers/sugarss" dependencies: "@parcel/plugin": "npm:2.14.4" - postcss: "npm:^8.4.5" + postcss: "npm:^8.5.3" sugarss: "npm:^4.0.1" languageName: unknown linkType: soft @@ -5142,8 +4982,8 @@ __metadata: "@parcel/diagnostic": "npm:2.14.4" "@parcel/plugin": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" - "@svgr/core": "npm:^8.0.0" - "@svgr/plugin-jsx": "npm:^8.0.0" + "@svgr/core": "npm:^8.1.0" + "@svgr/plugin-jsx": "npm:^8.1.0" languageName: unknown linkType: soft @@ -5161,7 +5001,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-toml@workspace:packages/transformers/toml" dependencies: - "@iarna/toml": "npm:^2.2.3" + "@iarna/toml": "npm:^2.2.5" "@parcel/plugin": "npm:2.14.4" languageName: unknown linkType: soft @@ -5199,15 +5039,15 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-vue@workspace:packages/transformers/vue" dependencies: - "@ladjs/consolidate": "npm:^1.0.3" + "@ladjs/consolidate": "npm:^1.0.4" "@parcel/diagnostic": "npm:2.14.4" "@parcel/plugin": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" "@parcel/utils": "npm:2.14.4" "@vue/compiler-sfc": "npm:^3.2.27" nullthrows: "npm:^1.1.1" - semver: "npm:^7.5.2" - vue: "npm:^3.2.27" + semver: "npm:^7.7.1" + vue: "npm:^3.5.13" languageName: unknown linkType: soft @@ -5215,7 +5055,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-webextension@workspace:packages/transformers/webextension" dependencies: - "@mischnic/json-sourcemap": "npm:^0.1.0" + "@mischnic/json-sourcemap": "npm:^0.1.1" "@parcel/diagnostic": "npm:2.14.4" "@parcel/plugin": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" @@ -5227,7 +5067,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-webmanifest@workspace:packages/transformers/webmanifest" dependencies: - "@mischnic/json-sourcemap": "npm:^0.1.0" + "@mischnic/json-sourcemap": "npm:^0.1.1" "@parcel/diagnostic": "npm:2.14.4" "@parcel/plugin": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" @@ -5247,7 +5087,7 @@ __metadata: resolution: "@parcel/transformer-xml@workspace:packages/transformers/xml" dependencies: "@parcel/plugin": "npm:2.14.4" - "@xmldom/xmldom": "npm:^0.9.3" + "@xmldom/xmldom": "npm:^0.9.8" languageName: unknown linkType: soft @@ -5267,7 +5107,7 @@ __metadata: "@babel/core": "npm:^7.22.11" "@parcel/babel-register": "npm:2.14.4" "@parcel/core": "npm:2.14.4" - lodash: "npm:^4.17.11" + lodash: "npm:^4.17.21" languageName: unknown linkType: soft @@ -5300,7 +5140,7 @@ __metadata: "@parcel/diagnostic": "npm:2.14.4" "@parcel/feature-flags": "npm:2.14.4" "@parcel/source-map": "npm:^2.1.1" - utility-types: "npm:^3.10.0" + utility-types: "npm:^3.11.0" languageName: unknown linkType: soft @@ -5317,7 +5157,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/utils@workspace:packages/core/utils" dependencies: - "@iarna/toml": "npm:^2.2.0" + "@iarna/toml": "npm:^2.2.5" "@parcel/codeframe": "npm:2.14.4" "@parcel/diagnostic": "npm:2.14.4" "@parcel/logger": "npm:2.14.4" @@ -5326,19 +5166,19 @@ __metadata: "@parcel/source-map": "npm:^2.1.1" ansi-html-community: "npm:0.0.8" chalk: "npm:^4.1.2" - clone: "npm:^2.1.1" - fast-glob: "npm:^3.2.12" + clone: "npm:^2.1.2" + fast-glob: "npm:^3.3.3" fastest-levenshtein: "npm:^1.0.16" - is-glob: "npm:^4.0.0" - is-url: "npm:^1.2.2" - json5: "npm:^2.2.0" - lru-cache: "npm:^10.0.0" - micromatch: "npm:^4.0.4" - node-forge: "npm:^1.2.1" + is-glob: "npm:^4.0.3" + is-url: "npm:^1.2.4" + json5: "npm:^2.2.3" + lru-cache: "npm:^10.4.3" + micromatch: "npm:^4.0.8" + node-forge: "npm:^1.3.1" nullthrows: "npm:^1.1.1" - open: "npm:^7.0.3" + open: "npm:^7.4.2" snarkdown: "npm:^2.0.0" - strip-ansi: "npm:^6.0.0" + strip-ansi: "npm:^6.0.1" terminal-link: "npm:^2.1.1" languageName: unknown linkType: soft @@ -5351,7 +5191,7 @@ __metadata: "@parcel/plugin": "npm:2.14.4" "@parcel/utils": "npm:2.14.4" chalk: "npm:^4.1.2" - eslint: "npm:^6.0.0 || ^7.0.0 || ^8.0.0" + eslint: "npm:^8.57.1" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 languageName: unknown @@ -5704,7 +5544,7 @@ __metadata: languageName: node linkType: hard -"@svgr/core@npm:^8.0.0": +"@svgr/core@npm:^8.1.0": version: 8.1.0 resolution: "@svgr/core@npm:8.1.0" dependencies: @@ -5727,7 +5567,7 @@ __metadata: languageName: node linkType: hard -"@svgr/plugin-jsx@npm:^8.0.0": +"@svgr/plugin-jsx@npm:^8.1.0": version: 8.1.0 resolution: "@svgr/plugin-jsx@npm:8.1.0" dependencies: @@ -5741,94 +5581,94 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-darwin-arm64@npm:1.11.5" +"@swc/core-darwin-arm64@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-darwin-arm64@npm:1.11.24" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-darwin-x64@npm:1.11.5" +"@swc/core-darwin-x64@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-darwin-x64@npm:1.11.24" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.11.5" +"@swc/core-linux-arm-gnueabihf@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.11.24" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-linux-arm64-gnu@npm:1.11.5" +"@swc/core-linux-arm64-gnu@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-arm64-gnu@npm:1.11.24" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-linux-arm64-musl@npm:1.11.5" +"@swc/core-linux-arm64-musl@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-arm64-musl@npm:1.11.24" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-linux-x64-gnu@npm:1.11.5" +"@swc/core-linux-x64-gnu@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-x64-gnu@npm:1.11.24" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-linux-x64-musl@npm:1.11.5" +"@swc/core-linux-x64-musl@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-x64-musl@npm:1.11.24" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-win32-arm64-msvc@npm:1.11.5" +"@swc/core-win32-arm64-msvc@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-win32-arm64-msvc@npm:1.11.24" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-win32-ia32-msvc@npm:1.11.5" +"@swc/core-win32-ia32-msvc@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-win32-ia32-msvc@npm:1.11.24" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.11.5": - version: 1.11.5 - resolution: "@swc/core-win32-x64-msvc@npm:1.11.5" +"@swc/core-win32-x64-msvc@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-win32-x64-msvc@npm:1.11.24" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:^1.11.5": - version: 1.11.5 - resolution: "@swc/core@npm:1.11.5" +"@swc/core@npm:^1.11.24": + version: 1.11.24 + resolution: "@swc/core@npm:1.11.24" dependencies: - "@swc/core-darwin-arm64": "npm:1.11.5" - "@swc/core-darwin-x64": "npm:1.11.5" - "@swc/core-linux-arm-gnueabihf": "npm:1.11.5" - "@swc/core-linux-arm64-gnu": "npm:1.11.5" - "@swc/core-linux-arm64-musl": "npm:1.11.5" - "@swc/core-linux-x64-gnu": "npm:1.11.5" - "@swc/core-linux-x64-musl": "npm:1.11.5" - "@swc/core-win32-arm64-msvc": "npm:1.11.5" - "@swc/core-win32-ia32-msvc": "npm:1.11.5" - "@swc/core-win32-x64-msvc": "npm:1.11.5" + "@swc/core-darwin-arm64": "npm:1.11.24" + "@swc/core-darwin-x64": "npm:1.11.24" + "@swc/core-linux-arm-gnueabihf": "npm:1.11.24" + "@swc/core-linux-arm64-gnu": "npm:1.11.24" + "@swc/core-linux-arm64-musl": "npm:1.11.24" + "@swc/core-linux-x64-gnu": "npm:1.11.24" + "@swc/core-linux-x64-musl": "npm:1.11.24" + "@swc/core-win32-arm64-msvc": "npm:1.11.24" + "@swc/core-win32-ia32-msvc": "npm:1.11.24" + "@swc/core-win32-x64-msvc": "npm:1.11.24" "@swc/counter": "npm:^0.1.3" - "@swc/types": "npm:^0.1.19" + "@swc/types": "npm:^0.1.21" peerDependencies: - "@swc/helpers": "*" + "@swc/helpers": ">=0.5.17" dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -5853,7 +5693,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10c0/bc809c7f76a315e435a29b2cabbebfcb65a77f9d98e32d68d4d85422f17514b7b9af85e8369270580e749121567adf857820118ce1a5f14c9eea299bb6f7b020 + checksum: 10c0/26c524a505927ebd4229ec20fecf5f38b6a3265f22f3ede3a334834b37d01eedd133676e231d19ecaae2923bdfb0fa66acb925ffaee6e472e36ed81a7ace90f7 languageName: node linkType: hard @@ -5865,20 +5705,20 @@ __metadata: linkType: hard "@swc/helpers@npm:^0.5.0": - version: 0.5.15 - resolution: "@swc/helpers@npm:0.5.15" + version: 0.5.17 + resolution: "@swc/helpers@npm:0.5.17" dependencies: tslib: "npm:^2.8.0" - checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 + checksum: 10c0/fe1f33ebb968558c5a0c595e54f2e479e4609bff844f9ca9a2d1ffd8dd8504c26f862a11b031f48f75c95b0381c2966c3dd156e25942f90089badd24341e7dbb languageName: node linkType: hard -"@swc/types@npm:^0.1.19": - version: 0.1.19 - resolution: "@swc/types@npm:0.1.19" +"@swc/types@npm:^0.1.21": + version: 0.1.21 + resolution: "@swc/types@npm:0.1.21" dependencies: "@swc/counter": "npm:^0.1.3" - checksum: 10c0/21b727d97d38f1bdbe9ef8fdf693bca19ebd5334ab32d7d2624a925d9adc8934935ad0f168cdbfd938b2f4b754a1fb7581f253bf47ab416177b6ac2c5c72578b + checksum: 10c0/2baa89c824426e0de0c84e212278010e2df8dc2d6ffaa6f1e306e1b2930c6404b3d3f8989307e8c42ceb95ac143ab7a80be138af6a014d5c782dce5be94dcd5e languageName: node linkType: hard @@ -5964,19 +5804,19 @@ __metadata: languageName: node linkType: hard -"@types/mocha@npm:^8.0.4": +"@types/mocha@npm:^8.2.3": version: 8.2.3 resolution: "@types/mocha@npm:8.2.3" checksum: 10c0/a0faabd12456a51d2dae4b978b8c053517331ac23aa8874c3a35d95253fa9adfccd78b9f1cdae5cac2501aa1e7c6414ed65dc34c717867d86c09d88fda42a19c languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>= 18": - version: 22.9.3 - resolution: "@types/node@npm:22.9.3" +"@types/node@npm:*, @types/node@npm:^22.15.17": + version: 22.15.17 + resolution: "@types/node@npm:22.15.17" dependencies: - undici-types: "npm:~6.19.8" - checksum: 10c0/954ec72bf29436ea62425a9563914a9c1e93f97b18194acd51d74d13998a701977547ed2985ed3a0e97211b785436d28377116e5f613bfcf3182d9bd81d784dc + undici-types: "npm:~6.21.0" + checksum: 10c0/fb92aa10b628683c5b965749f955bc2322485ecb0ea6c2f4cae5f2c7537a16834607e67083a9e9281faaae8d7dee9ada8d6a5c0de9a52c17d82912ef00c0fdd4 languageName: node linkType: hard @@ -5994,21 +5834,21 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^19": - version: 19.0.3 - resolution: "@types/react-dom@npm:19.0.3" +"@types/react-dom@npm:^19.1.3": + version: 19.1.3 + resolution: "@types/react-dom@npm:19.1.3" peerDependencies: "@types/react": ^19.0.0 - checksum: 10c0/3867427b333cbe8cbba496d7cc20ec9676d32c25ae44f4d1263a4129d42e57cf4adf0039ad263432f1215b88075c27d326e7eb4ed646128235d01a76e661d48f + checksum: 10c0/bb1e3f7a446958f5aa7e46f74cf8470dab7444ab958a57efacca1abcc9847e4ca71e2df68515176ed8fe3fc89315bd949d60f1f346cbadbdbf302bff59d3961b languageName: node linkType: hard -"@types/react@npm:^19": - version: 19.0.7 - resolution: "@types/react@npm:19.0.7" +"@types/react@npm:^19.1.3": + version: 19.1.3 + resolution: "@types/react@npm:19.1.3" dependencies: csstype: "npm:^3.0.2" - checksum: 10c0/818e546fa03a2a65ac2652fc472891ac96684211e8967bc25e1da6a8a09e2301ad972b1b038d128f8b4cbbd7691f6f57fee274db568169e9b6b01556abbb5bee + checksum: 10c0/f158f88871b8df1eeed637942d3e6142abcf505b617e4921ef3763b6d4f22241b9a883d864878dd2b6a2bdc8f4e7f871f24ef88f633d144a63257f4764b9478d languageName: node linkType: hard @@ -6284,10 +6124,10 @@ __metadata: languageName: node linkType: hard -"@xmldom/xmldom@npm:^0.9.3": - version: 0.9.5 - resolution: "@xmldom/xmldom@npm:0.9.5" - checksum: 10c0/5ff2016050277bcee95f3fb958c442c9aa149214d0e7a72c3c0d3797e9e77a2636398f16b6a50b2bc6540e59150d1bc9c968d01a2bb4a18316ed09f8d22f8d29 +"@xmldom/xmldom@npm:^0.9.8": + version: 0.9.8 + resolution: "@xmldom/xmldom@npm:0.9.8" + checksum: 10c0/2ea984270832de2843ab0bbb6df71bde9aa02126b69e5fd56b5512b98ace48e94aff7186e77d0b22fe4b6780483862be752bcf8577436638a9210109029a0503 languageName: node linkType: hard @@ -6412,16 +6252,7 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 - languageName: node - linkType: hard - -"agent-base@npm:^7.1.2": +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": version: 7.1.3 resolution: "agent-base@npm:7.1.3" checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 @@ -6724,13 +6555,13 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "array-buffer-byte-length@npm:1.0.1" +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.5" - is-array-buffer: "npm:^3.0.4" - checksum: 10c0/f5cdf54527cd18a3d2852ddf73df79efec03829e7373a8322ef5df2b4ef546fb365c19c71d6b42d641cb6bfe0f1a2f19bc0ece5b533295f86d7c3d522f228917 + call-bound: "npm:^1.0.3" + is-array-buffer: "npm:^3.0.5" + checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d languageName: node linkType: hard @@ -6890,15 +6721,15 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" +"array.prototype.flatmap@npm:^1.3.2, array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4 + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54 languageName: node linkType: hard @@ -6915,19 +6746,18 @@ __metadata: languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.3": - version: 1.0.3 - resolution: "arraybuffer.prototype.slice@npm:1.0.3" +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" dependencies: array-buffer-byte-length: "npm:^1.0.1" - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.8" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.3" + es-abstract: "npm:^1.23.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" is-array-buffer: "npm:^3.0.4" - is-shared-array-buffer: "npm:^1.0.2" - checksum: 10c0/d32754045bcb2294ade881d45140a5e52bda2321b9e98fa514797b7f0d252c4c5ab0d1edb34112652c62fa6a9398def568da63a4d7544672229afea283358c36 + checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06 languageName: node linkType: hard @@ -6970,7 +6800,7 @@ __metadata: languageName: node linkType: hard -"assert@npm:^2.0.0": +"assert@npm:^2.0.0, assert@npm:^2.1.0": version: 2.1.0 resolution: "assert@npm:2.1.0" dependencies: @@ -7062,21 +6892,21 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^10.4.0": - version: 10.4.20 - resolution: "autoprefixer@npm:10.4.20" +"autoprefixer@npm:^10.4.21": + version: 10.4.21 + resolution: "autoprefixer@npm:10.4.21" dependencies: - browserslist: "npm:^4.23.3" - caniuse-lite: "npm:^1.0.30001646" + browserslist: "npm:^4.24.4" + caniuse-lite: "npm:^1.0.30001702" fraction.js: "npm:^4.3.7" normalize-range: "npm:^0.1.2" - picocolors: "npm:^1.0.1" + picocolors: "npm:^1.1.1" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.1.0 bin: autoprefixer: bin/autoprefixer - checksum: 10c0/e1f00978a26e7c5b54ab12036d8c13833fad7222828fc90914771b1263f51b28c7ddb5803049de4e77696cbd02bb25cfc3634e80533025bb26c26aacdf938940 + checksum: 10c0/de5b71d26d0baff4bbfb3d59f7cf7114a6030c9eeb66167acf49a32c5b61c68e308f1e0f869d92334436a221035d08b51cd1b2f2c4689b8d955149423c16d4d4 languageName: node linkType: hard @@ -7158,7 +6988,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-minify-dead-code-elimination@npm:^0.5.0": +"babel-plugin-minify-dead-code-elimination@npm:^0.5.2": version: 0.5.2 resolution: "babel-plugin-minify-dead-code-elimination@npm:0.5.2" dependencies: @@ -7206,7 +7036,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-transform-inline-environment-variables@npm:^0.4.3": +"babel-plugin-transform-inline-environment-variables@npm:^0.4.4": version: 0.4.4 resolution: "babel-plugin-transform-inline-environment-variables@npm:0.4.4" checksum: 10c0/f1bb9d57e83184a8413939032c570a286447186e6b78fdc0d3cade4dcab51955d3b549d2a0af4f866b172221d287d67a9f4e6d742de7df4c411fe085e20aadeb @@ -7277,12 +7107,12 @@ __metadata: languageName: node linkType: hard -"base-x@npm:^3.0.8": - version: 3.0.10 - resolution: "base-x@npm:3.0.10" +"base-x@npm:^3.0.11": + version: 3.0.11 + resolution: "base-x@npm:3.0.11" dependencies: safe-buffer: "npm:^5.0.1" - checksum: 10c0/a13a34b71439ee5381667efa630b3bf640cf17f632c5ba01990483367592e72f247d7fb4f8c6d0e3ff8c0fb7224b3ac682ff5be09b87063a45b3968f0457e563 + checksum: 10c0/4c5b8cd9cef285973b0460934be4fc890eedfd22a8aca527fac3527f041c5d1c912f7b9a6816f19e43e69dc7c29a5deabfa326bd3d6a57ee46af0ad46e3991d5 languageName: node linkType: hard @@ -7561,17 +7391,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.2, browserslist@npm:^4.6.6": - version: 4.24.2 - resolution: "browserslist@npm:4.24.2" +"browserslist@npm:^4.0.0, browserslist@npm:^4.24.0, browserslist@npm:^4.24.2, browserslist@npm:^4.24.4, browserslist@npm:^4.24.5": + version: 4.24.5 + resolution: "browserslist@npm:4.24.5" dependencies: - caniuse-lite: "npm:^1.0.30001669" - electron-to-chromium: "npm:^1.5.41" - node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.1" + caniuse-lite: "npm:^1.0.30001716" + electron-to-chromium: "npm:^1.5.149" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.3" bin: browserslist: cli.js - checksum: 10c0/d747c9fb65ed7b4f1abcae4959405707ed9a7b835639f8a9ba0da2911995a6ab9b0648fd05baf2a4d4e3cf7f9fdbad56d3753f91881e365992c1d49c8d88ff7a + checksum: 10c0/f4c1ce1a7d8fdfab5e5b88bb6e93d09e8a883c393f86801537a252da0362dbdcde4dbd97b318246c5d84c6607b2f6b47af732c1b000d6a8a881ee024bad29204 languageName: node linkType: hard @@ -7619,7 +7449,7 @@ __metadata: languageName: node linkType: hard -"buffer@mischnic/buffer#b8a4fa94, buffer@npm:^5.5.0||^6.0.0": +"buffer@mischnic/buffer#b8a4fa94": version: 6.0.3 resolution: "buffer@https://github.com/mischnic/buffer.git#commit=b8a4fa94c96973a5321a95c75e0b16967f0745f3" dependencies: @@ -7629,7 +7459,7 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.5.0": +"buffer@npm:^5.5.0, buffer@npm:^5.5.0||^6.0.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" dependencies: @@ -7773,16 +7603,35 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" dependencies: - es-define-property: "npm:^1.0.0" es-errors: "npm:^1.3.0" function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.1" - checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d + set-function-length: "npm:^1.2.2" + checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 languageName: node linkType: hard @@ -7844,10 +7693,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001669": - version: 1.0.30001684 - resolution: "caniuse-lite@npm:1.0.30001684" - checksum: 10c0/446485ca3d9caf408a339a44636a86a2b119ec247492393ae661cd93dccd6668401dd2dfec1e149be4e44563cd1e23351b44453a52fa2c2f19e2bf3287c865f6 +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001716": + version: 1.0.30001717 + resolution: "caniuse-lite@npm:1.0.30001717" + checksum: 10c0/6c0bb1e5182fd578ebe97ee2203250849754a4e17d985839fab527ad27e125a4c4ffce3ece5505217fedf30ea0bbc17ac9f93e9ac525c0389ccba61c6e8345dc languageName: node linkType: hard @@ -8186,7 +8035,7 @@ __metadata: languageName: node linkType: hard -"clone@npm:^2.1.1": +"clone@npm:^2.1.1, clone@npm:^2.1.2": version: 2.1.2 resolution: "clone@npm:2.1.2" checksum: 10c0/ed0601cd0b1606bc7d82ee7175b97e68d1dd9b91fd1250a3617b38d34a095f8ee0431d40a1a611122dcccb4f93295b4fdb94942aa763392b5fe44effa50c2d5e @@ -8227,7 +8076,7 @@ __metadata: languageName: node linkType: hard -"coffeescript@npm:^2.0.3": +"coffeescript@npm:^2.7.0": version: 2.7.0 resolution: "coffeescript@npm:2.7.0" bin: @@ -8352,14 +8201,14 @@ __metadata: languageName: node linkType: hard -"comlink@npm:^4.3.1": +"comlink@npm:^4.4.2": version: 4.4.2 resolution: "comlink@npm:4.4.2" checksum: 10c0/38aa1f455cf08e94aaa8fc494fd203cc0ef02ece6c21404b7931ce17567e8a72deacddab98aa5650cfd78332ff24c34610586f6fb27fd19dc77e753ed1980deb languageName: node linkType: hard -"command-exists@npm:^1.2.6, command-exists@npm:^1.2.8": +"command-exists@npm:^1.2.9": version: 1.2.9 resolution: "command-exists@npm:1.2.9" checksum: 10c0/75040240062de46cd6cd43e6b3032a8b0494525c89d3962e280dde665103f8cc304a8b313a5aa541b91da2f5a9af75c5959dc3a77893a2726407a5e9a0234c16 @@ -8741,10 +8590,10 @@ __metadata: languageName: node linkType: hard -"core-js@npm:^3.2.1": - version: 3.39.0 - resolution: "core-js@npm:3.39.0" - checksum: 10c0/f7602069b6afb2e3298eec612a5c1e0c3e6a458930fbfc7a4c5f9ac03426507f49ce395eecdd2d9bae9024f820e44582b67ffe16f2272395af26964f174eeb6b +"core-js@npm:^3.42.0": + version: 3.42.0 + resolution: "core-js@npm:3.42.0" + checksum: 10c0/2913d3d5452d54ad92f058d66046782d608c05e037bcc523aab79c04454fe640998f94e6011292969d66dfa472f398b085ce843dcb362056532a5799c627184e languageName: node linkType: hard @@ -8877,7 +8726,7 @@ __metadata: languageName: node linkType: hard -"cross-env@npm:^7.0.0": +"cross-env@npm:^7.0.3": version: 7.0.3 resolution: "cross-env@npm:7.0.3" dependencies: @@ -8902,7 +8751,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -8920,7 +8769,7 @@ __metadata: languageName: node linkType: hard -"crypto-browserify@npm:^3.12.0": +"crypto-browserify@npm:^3.12.1": version: 3.12.1 resolution: "crypto-browserify@npm:3.12.1" dependencies: @@ -9031,64 +8880,64 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-default@npm:^7.0.6": - version: 7.0.6 - resolution: "cssnano-preset-default@npm:7.0.6" +"cssnano-preset-default@npm:^7.0.7": + version: 7.0.7 + resolution: "cssnano-preset-default@npm:7.0.7" dependencies: - browserslist: "npm:^4.23.3" + browserslist: "npm:^4.24.5" css-declaration-sorter: "npm:^7.2.0" - cssnano-utils: "npm:^5.0.0" - postcss-calc: "npm:^10.0.2" - postcss-colormin: "npm:^7.0.2" - postcss-convert-values: "npm:^7.0.4" - postcss-discard-comments: "npm:^7.0.3" - postcss-discard-duplicates: "npm:^7.0.1" - postcss-discard-empty: "npm:^7.0.0" - postcss-discard-overridden: "npm:^7.0.0" - postcss-merge-longhand: "npm:^7.0.4" - postcss-merge-rules: "npm:^7.0.4" - postcss-minify-font-values: "npm:^7.0.0" - postcss-minify-gradients: "npm:^7.0.0" - postcss-minify-params: "npm:^7.0.2" - postcss-minify-selectors: "npm:^7.0.4" - postcss-normalize-charset: "npm:^7.0.0" - postcss-normalize-display-values: "npm:^7.0.0" - postcss-normalize-positions: "npm:^7.0.0" - postcss-normalize-repeat-style: "npm:^7.0.0" - postcss-normalize-string: "npm:^7.0.0" - postcss-normalize-timing-functions: "npm:^7.0.0" - postcss-normalize-unicode: "npm:^7.0.2" - postcss-normalize-url: "npm:^7.0.0" - postcss-normalize-whitespace: "npm:^7.0.0" - postcss-ordered-values: "npm:^7.0.1" - postcss-reduce-initial: "npm:^7.0.2" - postcss-reduce-transforms: "npm:^7.0.0" - postcss-svgo: "npm:^7.0.1" - postcss-unique-selectors: "npm:^7.0.3" + cssnano-utils: "npm:^5.0.1" + postcss-calc: "npm:^10.1.1" + postcss-colormin: "npm:^7.0.3" + postcss-convert-values: "npm:^7.0.5" + postcss-discard-comments: "npm:^7.0.4" + postcss-discard-duplicates: "npm:^7.0.2" + postcss-discard-empty: "npm:^7.0.1" + postcss-discard-overridden: "npm:^7.0.1" + postcss-merge-longhand: "npm:^7.0.5" + postcss-merge-rules: "npm:^7.0.5" + postcss-minify-font-values: "npm:^7.0.1" + postcss-minify-gradients: "npm:^7.0.1" + postcss-minify-params: "npm:^7.0.3" + postcss-minify-selectors: "npm:^7.0.5" + postcss-normalize-charset: "npm:^7.0.1" + postcss-normalize-display-values: "npm:^7.0.1" + postcss-normalize-positions: "npm:^7.0.1" + postcss-normalize-repeat-style: "npm:^7.0.1" + postcss-normalize-string: "npm:^7.0.1" + postcss-normalize-timing-functions: "npm:^7.0.1" + postcss-normalize-unicode: "npm:^7.0.3" + postcss-normalize-url: "npm:^7.0.1" + postcss-normalize-whitespace: "npm:^7.0.1" + postcss-ordered-values: "npm:^7.0.2" + postcss-reduce-initial: "npm:^7.0.3" + postcss-reduce-transforms: "npm:^7.0.1" + postcss-svgo: "npm:^7.0.2" + postcss-unique-selectors: "npm:^7.0.4" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/5c827a9f6b35475267af0512d55f569994b8334eb06565498daa2070ef52f0cdd2013f5efc1cbc0b4664370f491b0080f93c8ee56a7730d38fdf451fb65b030c + postcss: ^8.4.32 + checksum: 10c0/4c200f1a3a876242be6f6c9d93da1384d61f16ef0f5b36d474600a3dfa323aab7aa04877a96973947b80cfc0781bd6d949216cee6b790a1d71c5cc8fc2ad98a7 languageName: node linkType: hard -"cssnano-utils@npm:^5.0.0": - version: 5.0.0 - resolution: "cssnano-utils@npm:5.0.0" +"cssnano-utils@npm:^5.0.1": + version: 5.0.1 + resolution: "cssnano-utils@npm:5.0.1" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/492593fb45151e8622357bb958d0d80475372de38523ef0587d77e9c5f386beb55c30b41f2f3c735a374a230bc61404eb7ae9c2beeab0666afb499442c62ecba + postcss: ^8.4.32 + checksum: 10c0/e416e58587ccec4d904093a2834c66c44651578a58960019884add376d4f151c5b809674108088140dd57b0787cb7132a083d40ae33a72bf986d03c4b7b7c5f4 languageName: node linkType: hard -"cssnano@npm:^7.0.6": - version: 7.0.6 - resolution: "cssnano@npm:7.0.6" +"cssnano@npm:^7.0.7": + version: 7.0.7 + resolution: "cssnano@npm:7.0.7" dependencies: - cssnano-preset-default: "npm:^7.0.6" - lilconfig: "npm:^3.1.2" + cssnano-preset-default: "npm:^7.0.7" + lilconfig: "npm:^3.1.3" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/19ff09931a1531e7c0c0d8928da554d99213aa0bb1f3b93cc6b4987727d60a8cd5537b113a5cf4f95cc1db65bba3f2b35476bd63bb57e7469d4eab73e07d736d + postcss: ^8.4.32 + checksum: 10c0/4455a0a7a889eb129b8291788815b136dc0dc756b2dc9c1788bb3f5bfbc956e16f131220ea53e5ce824e5642f1843d937ae4ec6d3693259463c8e24a87f0b104 languageName: node linkType: hard @@ -9158,36 +9007,36 @@ __metadata: languageName: node linkType: hard -"data-view-buffer@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-buffer@npm:1.0.1" +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.6" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583 + is-data-view: "npm:^1.0.2" + checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c languageName: node linkType: hard -"data-view-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-byte-length@npm:1.0.1" +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.7" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/b7d9e48a0cf5aefed9ab7d123559917b2d7e0d65531f43b2fd95b9d3a6b46042dd3fca597c42bba384e66b70d7ad66ff23932f8367b241f53d93af42cfe04ec2 + is-data-view: "npm:^1.0.2" + checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 languageName: node linkType: hard -"data-view-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "data-view-byte-offset@npm:1.0.0" +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" dependencies: - call-bind: "npm:^1.0.6" + call-bound: "npm:^1.0.2" es-errors: "npm:^1.3.0" is-data-view: "npm:^1.0.1" - checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f + checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 languageName: node linkType: hard @@ -9665,7 +9514,7 @@ __metadata: languageName: node linkType: hard -"dotenv-expand@npm:^11.0.6": +"dotenv-expand@npm:^11.0.7": version: 11.0.7 resolution: "dotenv-expand@npm:11.0.7" dependencies: @@ -9674,10 +9523,10 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.4.5": - version: 16.4.5 - resolution: "dotenv@npm:16.4.5" - checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f +"dotenv@npm:^16.4.5, dotenv@npm:^16.5.0": + version: 16.5.0 + resolution: "dotenv@npm:16.5.0" + checksum: 10c0/5bc94c919fbd955bf0ba44d33922a1e93d1078e64a1db5c30faeded1d996e7a83c55332cb8ea4fae5a9ca4d0be44cbceb95c5811e70f9f095298df09d1997dd9 languageName: node linkType: hard @@ -9688,6 +9537,17 @@ __metadata: languageName: node linkType: hard +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + "duplexer2@npm:~0.1.4": version: 0.1.4 resolution: "duplexer2@npm:0.1.4" @@ -9747,7 +9607,7 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.6, ejs@npm:^3.1.7": +"ejs@npm:^3.1.10, ejs@npm:^3.1.7": version: 3.1.10 resolution: "ejs@npm:3.1.10" dependencies: @@ -9758,10 +9618,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.41": - version: 1.5.64 - resolution: "electron-to-chromium@npm:1.5.64" - checksum: 10c0/331c2160cc37ef85317b44f2078af8ff16f068fc95d4af2210fe943b567f20b1445a7faa40c05d290bc229102ef1b662371464ba2725d10ff6c8543af6d40adf +"electron-to-chromium@npm:^1.5.149": + version: 1.5.151 + resolution: "electron-to-chromium@npm:1.5.151" + checksum: 10c0/9b3d73836a784af4fd113676b87b0d233ae51984cd4d4396f7252c7369e2f897afeca9fb53910c314e74a4b5d22b6faa4450e95304ceeb1c4fd04e8356030d4b languageName: node linkType: hard @@ -9780,14 +9640,14 @@ __metadata: languageName: node linkType: hard -"elm-hot@npm:^1.1.5": +"elm-hot@npm:^1.1.6": version: 1.1.6 resolution: "elm-hot@npm:1.1.6" checksum: 10c0/196a1fc2eabfa1f1c74540624a8f656b98852629af1b5f2bd1198dd2d5146e2184c1bf67d939e2348c90c854d9298daf591d3b41e470234ec1bbe11489992a60 languageName: node linkType: hard -"elm@npm:^0.19.1-5": +"elm@npm:^0.19.1-6": version: 0.19.1-6 resolution: "elm@npm:0.19.1-6" dependencies: @@ -9976,116 +9836,121 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5": - version: 1.23.5 - resolution: "es-abstract@npm:1.23.5" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9": + version: 1.23.9 + resolution: "es-abstract@npm:1.23.9" dependencies: - array-buffer-byte-length: "npm:^1.0.1" - arraybuffer.prototype.slice: "npm:^1.0.3" + array-buffer-byte-length: "npm:^1.0.2" + arraybuffer.prototype.slice: "npm:^1.0.4" available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - data-view-buffer: "npm:^1.0.1" - data-view-byte-length: "npm:^1.0.1" - data-view-byte-offset: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + data-view-buffer: "npm:^1.0.2" + data-view-byte-length: "npm:^1.0.2" + data-view-byte-offset: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.0.0" - es-set-tostringtag: "npm:^2.0.3" - es-to-primitive: "npm:^1.2.1" - function.prototype.name: "npm:^1.1.6" - get-intrinsic: "npm:^1.2.4" - get-symbol-description: "npm:^1.0.2" + es-set-tostringtag: "npm:^2.1.0" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.8" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.0" + get-symbol-description: "npm:^1.1.0" globalthis: "npm:^1.0.4" - gopd: "npm:^1.0.1" + gopd: "npm:^1.2.0" has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" hasown: "npm:^2.0.2" - internal-slot: "npm:^1.0.7" - is-array-buffer: "npm:^3.0.4" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.5" is-callable: "npm:^1.2.7" - is-data-view: "npm:^1.0.1" - is-negative-zero: "npm:^2.0.3" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.3" - is-string: "npm:^1.0.7" - is-typed-array: "npm:^1.1.13" - is-weakref: "npm:^1.0.2" + is-data-view: "npm:^1.0.2" + is-regex: "npm:^1.2.1" + is-shared-array-buffer: "npm:^1.0.4" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.15" + is-weakref: "npm:^1.1.0" + math-intrinsics: "npm:^1.1.0" object-inspect: "npm:^1.13.3" object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.5" + object.assign: "npm:^4.1.7" + own-keys: "npm:^1.0.1" regexp.prototype.flags: "npm:^1.5.3" - safe-array-concat: "npm:^1.1.2" - safe-regex-test: "npm:^1.0.3" - string.prototype.trim: "npm:^1.2.9" - string.prototype.trimend: "npm:^1.0.8" + safe-array-concat: "npm:^1.1.3" + safe-push-apply: "npm:^1.0.0" + safe-regex-test: "npm:^1.1.0" + set-proto: "npm:^1.0.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" string.prototype.trimstart: "npm:^1.0.8" - typed-array-buffer: "npm:^1.0.2" - typed-array-byte-length: "npm:^1.0.1" - typed-array-byte-offset: "npm:^1.0.2" - typed-array-length: "npm:^1.0.6" - unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.15" - checksum: 10c0/1f6f91da9cf7ee2c81652d57d3046621d598654d1d1b05c1578bafe5c4c2d3d69513901679bdca2de589f620666ec21de337e4935cec108a4ed0871d5ef04a5d + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-length: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.1.0" + which-typed-array: "npm:^1.1.18" + checksum: 10c0/1de229c9e08fe13c17fe5abaec8221545dfcd57e51f64909599a6ae896df84b8fd2f7d16c60cb00d7bf495b9298ca3581aded19939d4b7276854a4b066f8422b languageName: node linkType: hard -"es-define-property@npm:^1.0.0": - version: 1.0.0 - resolution: "es-define-property@npm:1.0.0" - dependencies: - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c languageName: node linkType: hard -"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": +"es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 languageName: node linkType: hard -"es-iterator-helpers@npm:^1.1.0": - version: 1.2.0 - resolution: "es-iterator-helpers@npm:1.2.0" +"es-iterator-helpers@npm:^1.2.1": + version: 1.2.1 + resolution: "es-iterator-helpers@npm:1.2.1" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" + es-abstract: "npm:^1.23.6" es-errors: "npm:^1.3.0" es-set-tostringtag: "npm:^2.0.3" function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" + get-intrinsic: "npm:^1.2.6" globalthis: "npm:^1.0.4" - gopd: "npm:^1.0.1" + gopd: "npm:^1.2.0" has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - iterator.prototype: "npm:^1.1.3" - safe-array-concat: "npm:^1.1.2" - checksum: 10c0/2bd60580dfeae353f5b80445d2808da745e97eeacdb663a8c4d99a12046873830a06d377e9d5e88fe54eece7c94319a5ce5a01220e24d71394ceca8d3ef621d7 + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + iterator.prototype: "npm:^1.1.4" + safe-array-concat: "npm:^1.1.3" + checksum: 10c0/97e3125ca472d82d8aceea11b790397648b52c26d8768ea1c1ee6309ef45a8755bb63225a43f3150c7591cffc17caf5752459f1e70d583b4184370a8f04ebd2f languageName: node linkType: hard -"es-object-atoms@npm:^1.0.0": - version: 1.0.0 - resolution: "es-object-atoms@npm:1.0.0" +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" dependencies: es-errors: "npm:^1.3.0" - checksum: 10c0/1fed3d102eb27ab8d983337bb7c8b159dd2a1e63ff833ec54eea1311c96d5b08223b433060ba240541ca8adba9eee6b0a60cdbf2f80634b784febc9cc8b687b4 + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.3": - version: 2.0.3 - resolution: "es-set-tostringtag@npm:2.0.3" +"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" dependencies: - get-intrinsic: "npm:^1.2.4" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.1" - checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af languageName: node linkType: hard @@ -10098,15 +9963,15 @@ __metadata: languageName: node linkType: hard -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" dependencies: - is-callable: "npm:^1.1.4" - is-date-object: "npm:^1.0.1" - is-symbol: "npm:^1.0.2" - checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 - languageName: node + is-callable: "npm:^1.2.7" + is-date-object: "npm:^1.0.5" + is-symbol: "npm:^1.0.4" + checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b + languageName: node linkType: hard "es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.62, es5-ext@npm:^0.10.64, es5-ext@npm:~0.10.14": @@ -10154,7 +10019,7 @@ __metadata: languageName: node linkType: hard -"esbuild-register@npm:^3.5.0": +"esbuild-register@npm:^3.6.0": version: 3.6.0 resolution: "esbuild-register@npm:3.6.0" dependencies: @@ -10165,35 +10030,35 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.25.0": - version: 0.25.0 - resolution: "esbuild@npm:0.25.0" - dependencies: - "@esbuild/aix-ppc64": "npm:0.25.0" - "@esbuild/android-arm": "npm:0.25.0" - "@esbuild/android-arm64": "npm:0.25.0" - "@esbuild/android-x64": "npm:0.25.0" - "@esbuild/darwin-arm64": "npm:0.25.0" - "@esbuild/darwin-x64": "npm:0.25.0" - "@esbuild/freebsd-arm64": "npm:0.25.0" - "@esbuild/freebsd-x64": "npm:0.25.0" - "@esbuild/linux-arm": "npm:0.25.0" - "@esbuild/linux-arm64": "npm:0.25.0" - "@esbuild/linux-ia32": "npm:0.25.0" - "@esbuild/linux-loong64": "npm:0.25.0" - "@esbuild/linux-mips64el": "npm:0.25.0" - "@esbuild/linux-ppc64": "npm:0.25.0" - "@esbuild/linux-riscv64": "npm:0.25.0" - "@esbuild/linux-s390x": "npm:0.25.0" - "@esbuild/linux-x64": "npm:0.25.0" - "@esbuild/netbsd-arm64": "npm:0.25.0" - "@esbuild/netbsd-x64": "npm:0.25.0" - "@esbuild/openbsd-arm64": "npm:0.25.0" - "@esbuild/openbsd-x64": "npm:0.25.0" - "@esbuild/sunos-x64": "npm:0.25.0" - "@esbuild/win32-arm64": "npm:0.25.0" - "@esbuild/win32-ia32": "npm:0.25.0" - "@esbuild/win32-x64": "npm:0.25.0" +"esbuild@npm:^0.25.4": + version: 0.25.4 + resolution: "esbuild@npm:0.25.4" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.4" + "@esbuild/android-arm": "npm:0.25.4" + "@esbuild/android-arm64": "npm:0.25.4" + "@esbuild/android-x64": "npm:0.25.4" + "@esbuild/darwin-arm64": "npm:0.25.4" + "@esbuild/darwin-x64": "npm:0.25.4" + "@esbuild/freebsd-arm64": "npm:0.25.4" + "@esbuild/freebsd-x64": "npm:0.25.4" + "@esbuild/linux-arm": "npm:0.25.4" + "@esbuild/linux-arm64": "npm:0.25.4" + "@esbuild/linux-ia32": "npm:0.25.4" + "@esbuild/linux-loong64": "npm:0.25.4" + "@esbuild/linux-mips64el": "npm:0.25.4" + "@esbuild/linux-ppc64": "npm:0.25.4" + "@esbuild/linux-riscv64": "npm:0.25.4" + "@esbuild/linux-s390x": "npm:0.25.4" + "@esbuild/linux-x64": "npm:0.25.4" + "@esbuild/netbsd-arm64": "npm:0.25.4" + "@esbuild/netbsd-x64": "npm:0.25.4" + "@esbuild/openbsd-arm64": "npm:0.25.4" + "@esbuild/openbsd-x64": "npm:0.25.4" + "@esbuild/sunos-x64": "npm:0.25.4" + "@esbuild/win32-arm64": "npm:0.25.4" + "@esbuild/win32-ia32": "npm:0.25.4" + "@esbuild/win32-x64": "npm:0.25.4" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -10247,7 +10112,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/5767b72da46da3cfec51661647ec850ddbf8a8d0662771139f10ef0692a8831396a0004b2be7966cecdb08264fb16bdc16290dcecd92396fac5f12d722fa013d + checksum: 10c0/db9f51248f0560bc46ab219461d338047617f6caf373c95f643b204760bdfa10c95b48cfde948949f7e509599ae4ab61c3f112092a3534936c6abfb800c565b0 languageName: node linkType: hard @@ -10279,7 +10144,7 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^8.8.0": +"eslint-config-prettier@npm:^8.10.0": version: 8.10.0 resolution: "eslint-config-prettier@npm:8.10.0" peerDependencies: @@ -10351,7 +10216,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:^2.22.1, eslint-plugin-import@npm:^2.25.3": +"eslint-plugin-import@npm:^2.25.3, eslint-plugin-import@npm:^2.31.0": version: 2.31.0 resolution: "eslint-plugin-import@npm:2.31.0" dependencies: @@ -10422,7 +10287,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-mocha@npm:^8.0.0": +"eslint-plugin-mocha@npm:^8.2.0": version: 8.2.0 resolution: "eslint-plugin-mocha@npm:8.2.0" dependencies: @@ -10458,31 +10323,31 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.27.1, eslint-plugin-react@npm:^7.32.2": - version: 7.37.2 - resolution: "eslint-plugin-react@npm:7.37.2" +"eslint-plugin-react@npm:^7.27.1, eslint-plugin-react@npm:^7.37.5": + version: 7.37.5 + resolution: "eslint-plugin-react@npm:7.37.5" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.2" + array.prototype.flatmap: "npm:^1.3.3" array.prototype.tosorted: "npm:^1.1.4" doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.1.0" + es-iterator-helpers: "npm:^1.2.1" estraverse: "npm:^5.3.0" hasown: "npm:^2.0.2" jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.8" + object.entries: "npm:^1.1.9" object.fromentries: "npm:^2.0.8" - object.values: "npm:^1.2.0" + object.values: "npm:^1.2.1" prop-types: "npm:^15.8.1" resolve: "npm:^2.0.0-next.5" semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.11" + string.prototype.matchall: "npm:^4.0.12" string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/01c498f263c201698bf653973760f86a07fa0cdec56c044f3eaa5ddaae71c64326015dfa5fde76ca8c5386ffe789fc79932624b614e13b6a1ad789fee3f7c491 + checksum: 10c0/c850bfd556291d4d9234f5ca38db1436924a1013627c8ab1853f77cac73ec19b020e861e6c7b783436a48b6ffcdfba4547598235a37ad4611b6739f65fd8ad57 languageName: node linkType: hard @@ -10547,7 +10412,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^6.0.0 || ^7.0.0 || ^8.0.0, eslint@npm:^8.41.0": +"eslint@npm:^8.57.1": version: 8.57.1 resolution: "eslint@npm:8.57.1" dependencies: @@ -10705,7 +10570,7 @@ __metadata: languageName: node linkType: hard -"events@npm:^3.1.0, events@npm:^3.2.0": +"events@npm:^3.2.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 @@ -10774,10 +10639,10 @@ __metadata: languageName: node linkType: hard -"exif-reader@npm:^2.0.1": - version: 2.0.1 - resolution: "exif-reader@npm:2.0.1" - checksum: 10c0/5ea0d182ca41ac8867f7ece79bea0d88ce19c133e1b5fa6835925f8aae0aeeaa847afaad7914d832cab6cddc0a59d3890ee68ce1c87ea5b7d9aae4cf6ad312a7 +"exif-reader@npm:^2.0.2": + version: 2.0.2 + resolution: "exif-reader@npm:2.0.2" + checksum: 10c0/f1080ea4ecca5aafa8151385b12a5e4205413e15ede4022e0edd3132d02aeb158eb8e2272d288a89f8078cc3dd036e75151c9d218a095404eb53b359f814913b languageName: node linkType: hard @@ -10812,9 +10677,9 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.18.2": - version: 4.21.1 - resolution: "express@npm:4.21.1" +"express@npm:^4.21.2": + version: 4.21.2 + resolution: "express@npm:4.21.2" dependencies: accepts: "npm:~1.3.8" array-flatten: "npm:1.1.1" @@ -10835,7 +10700,7 @@ __metadata: methods: "npm:~1.1.2" on-finished: "npm:2.4.1" parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.10" + path-to-regexp: "npm:0.1.12" proxy-addr: "npm:~2.0.7" qs: "npm:6.13.0" range-parser: "npm:~1.2.1" @@ -10847,7 +10712,7 @@ __metadata: type-is: "npm:~1.6.18" utils-merge: "npm:1.0.1" vary: "npm:~1.1.2" - checksum: 10c0/0c287867e5f6129d3def1edd9b63103a53c40d4dc8628839d4b6827e35eb8f0de5a4656f9d85f4457eba584f9871ebb2ad26c750b36bd75d9bbb8bcebdc4892c + checksum: 10c0/38168fd0a32756600b56e6214afecf4fc79ec28eca7f7a91c2ab8d50df4f47562ca3f9dee412da7f5cea6b1a1544b33b40f9f8586dbacfbdada0fe90dbb10a1f languageName: node linkType: hard @@ -10945,16 +10810,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": "npm:^2.0.2" "@nodelib/fs.walk": "npm:^1.2.3" glob-parent: "npm:^5.1.2" merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe languageName: node linkType: hard @@ -11348,12 +11213,12 @@ __metadata: languageName: node linkType: hard -"for-each@npm:^0.3.3": - version: 0.3.3 - resolution: "for-each@npm:0.3.3" +"for-each@npm:^0.3.3, for-each@npm:^0.3.5": + version: 0.3.5 + resolution: "for-each@npm:0.3.5" dependencies: - is-callable: "npm:^1.1.3" - checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa + is-callable: "npm:^1.2.7" + checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee languageName: node linkType: hard @@ -11555,15 +11420,17 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" functions-have-names: "npm:^1.2.3" - checksum: 10c0/9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b + hasown: "npm:^2.0.2" + is-callable: "npm:^1.2.7" + checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253 languageName: node linkType: hard @@ -11584,7 +11451,7 @@ __metadata: "@babel/types": "npm:^7.22.11" "@parcel/core": "npm:2.14.4" "@parcel/fs": "npm:2.14.4" - nanoid: "npm:^3.1.12" + nanoid: "npm:^3.3.11" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -11651,16 +11518,21 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a languageName: node linkType: hard @@ -11695,7 +11567,7 @@ __metadata: languageName: node linkType: hard -"get-port@npm:5.1.1, get-port@npm:^5.0.0": +"get-port@npm:5.1.1, get-port@npm:^5.1.1": version: 5.1.1 resolution: "get-port@npm:5.1.1" checksum: 10c0/2873877a469b24e6d5e0be490724a17edb39fafc795d1d662e7bea951ca649713b4a50117a473f9d162312cb0e946597bd0e049ed2f866e79e576e8e213d3d1c @@ -11709,6 +11581,16 @@ __metadata: languageName: node linkType: hard +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + "get-stream@npm:6.0.0": version: 6.0.0 resolution: "get-stream@npm:6.0.0" @@ -11732,14 +11614,14 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.5" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b languageName: node linkType: hard @@ -11920,7 +11802,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.6, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"glob@npm:^7.0.6, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.3": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -11990,7 +11872,7 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0, globals@npm:^13.2.0": +"globals@npm:^13.19.0, globals@npm:^13.24.0": version: 13.24.0 resolution: "globals@npm:13.24.0" dependencies: @@ -12180,12 +12062,10 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.1.3" - checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead languageName: node linkType: hard @@ -12196,7 +12076,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.0.0, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.0.0, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -12219,10 +12099,10 @@ __metadata: languageName: node linkType: hard -"graphql@npm:^15.0.0": - version: 15.9.0 - resolution: "graphql@npm:15.9.0" - checksum: 10c0/0e93f7138daae07dcb0713ce5e2ae7f8039e911b6180f0170c4929664ec32ab8e690a9ea12be2dc4ab18544f9898989765122f30d2d07d38b0ce2a4c839d29bc +"graphql@npm:^15.0.0, graphql@npm:^15.10.1": + version: 15.10.1 + resolution: "graphql@npm:15.10.1" + checksum: 10c0/8bbf6c1acda84dcff532f2ec492ffb2859d2ffd0c8e0143447c727388c5c3d7cab338143ecbdf61acc1f04227f2e0a8180f26ce9ea280b63a65079c58f6cfa25 languageName: node linkType: hard @@ -12332,7 +12212,7 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": +"has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b @@ -12362,17 +12242,19 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": - version: 1.0.3 - resolution: "has-proto@npm:1.0.3" - checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: "npm:^1.0.0" + checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95 languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e languageName: node linkType: hard @@ -12462,7 +12344,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": +"hasown@npm:^2.0.0, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -12559,17 +12441,16 @@ __metadata: languageName: node linkType: hard -"htmlnano@npm:^2.0.0": - version: 2.1.1 - resolution: "htmlnano@npm:2.1.1" +"htmlnano@npm:^2.1.2": + version: 2.1.2 + resolution: "htmlnano@npm:2.1.2" dependencies: cosmiconfig: "npm:^9.0.0" posthtml: "npm:^0.16.5" - timsort: "npm:^0.3.0" peerDependencies: cssnano: ^7.0.0 postcss: ^8.3.11 - purgecss: ^6.0.0 + purgecss: ^7.0.2 relateurl: ^0.2.7 srcset: 5.0.1 svgo: ^3.0.2 @@ -12592,7 +12473,7 @@ __metadata: optional: true uncss: optional: true - checksum: 10c0/3610259a3ccfb84be45525b1a02bce8bc392a2d0dcea0b069ff673e7330dad1f2bc4c3eb48abc69b344fe327345fb9be0650d9da13c25a1a654a879288f76f38 + checksum: 10c0/dfd9a4f5a0b8911d8958b970fe5d752a235f763b5b4be581454cdaab1b5e3e6c61d338f69c6b31c04923e06e8fbed07685a7b5314dd49a86109940b51abc0a5a languageName: node linkType: hard @@ -12672,9 +12553,9 @@ __metadata: languageName: node linkType: hard -"http-proxy-middleware@npm:^2.0.1": - version: 2.0.7 - resolution: "http-proxy-middleware@npm:2.0.7" +"http-proxy-middleware@npm:^2.0.9": + version: 2.0.9 + resolution: "http-proxy-middleware@npm:2.0.9" dependencies: "@types/http-proxy": "npm:^1.17.8" http-proxy: "npm:^1.18.1" @@ -12686,7 +12567,7 @@ __metadata: peerDependenciesMeta: "@types/express": optional: true - checksum: 10c0/8d00a61eb215b83826460b07489d8bb095368ec16e02a9d63e228dcf7524e7c20d61561e5476de1391aecd4ec32ea093279cdc972115b311f8e0a95a24c9e47e + checksum: 10c0/8e9032af625f7c9f2f0d318f6cdb14eb725cc16ffe7b4ccccea25cf591fa819bb7c3bb579e0b543e0ae9c73059b505a6d728290c757bff27bae526a6ed11c05e languageName: node linkType: hard @@ -12718,7 +12599,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -12728,16 +12609,6 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.5": - version: 7.0.5 - resolution: "https-proxy-agent@npm:7.0.5" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:4" - checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c - languageName: node - linkType: hard - "human-signals@npm:^1.1.1": version: 1.1.1 resolution: "human-signals@npm:1.1.1" @@ -13010,14 +12881,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.7": - version: 1.0.7 - resolution: "internal-slot@npm:1.0.7" +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" dependencies: es-errors: "npm:^1.3.0" - hasown: "npm:^2.0.0" - side-channel: "npm:^1.0.4" - checksum: 10c0/f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c + hasown: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7 languageName: node linkType: hard @@ -13087,13 +12958,14 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.4": - version: 3.0.4 - resolution: "is-array-buffer@npm:3.0.4" +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860 + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d languageName: node linkType: hard @@ -13120,12 +12992,12 @@ __metadata: languageName: node linkType: hard -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" dependencies: - has-bigints: "npm:^1.0.1" - checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 + has-bigints: "npm:^1.0.2" + checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4 languageName: node linkType: hard @@ -13147,13 +13019,13 @@ __metadata: languageName: node linkType: hard -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" +"is-boolean-object@npm:^1.2.1": + version: 1.2.2 + resolution: "is-boolean-object@npm:1.2.2" dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e languageName: node linkType: hard @@ -13164,7 +13036,7 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f @@ -13182,12 +13054,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1": - version: 2.15.1 - resolution: "is-core-module@npm:2.15.1" +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.16.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: hasown: "npm:^2.0.2" - checksum: 10c0/53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612 + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd languageName: node linkType: hard @@ -13200,21 +13072,24 @@ __metadata: languageName: node linkType: hard -"is-data-view@npm:^1.0.1": - version: 1.0.1 - resolution: "is-data-view@npm:1.0.1" +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" dependencies: + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" is-typed-array: "npm:^1.1.13" - checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d + checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153 languageName: node linkType: hard -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f languageName: node linkType: hard @@ -13384,19 +13259,13 @@ __metadata: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.3": - version: 2.0.3 - resolution: "is-negative-zero@npm:2.0.3" - checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e - languageName: node - linkType: hard - -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53 languageName: node linkType: hard @@ -13502,13 +13371,15 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.0.3, is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" +"is-regex@npm:^1.0.3, is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 + call-bound: "npm:^1.0.2" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 languageName: node linkType: hard @@ -13535,12 +13406,12 @@ __metadata: languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "is-shared-array-buffer@npm:1.0.3" +"is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" dependencies: - call-bind: "npm:^1.0.7" - checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7 + call-bound: "npm:^1.0.3" + checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db languageName: node linkType: hard @@ -13567,21 +13438,24 @@ __metadata: languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" +"is-string@npm:^1.0.7, is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d languageName: node linkType: hard -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" dependencies: - has-symbols: "npm:^1.0.2" - checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 + call-bound: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e languageName: node linkType: hard @@ -13594,12 +13468,12 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3": - version: 1.1.13 - resolution: "is-typed-array@npm:1.1.13" +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15, is-typed-array@npm:^1.1.3": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" dependencies: - which-typed-array: "npm:^1.1.14" - checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca + which-typed-array: "npm:^1.1.16" + checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 languageName: node linkType: hard @@ -13619,7 +13493,7 @@ __metadata: languageName: node linkType: hard -"is-url@npm:^1.2.2": +"is-url@npm:^1.2.4": version: 1.2.4 resolution: "is-url@npm:1.2.4" checksum: 10c0/0157a79874f8f95fdd63540e3f38c8583c2ef572661cd0693cda80ae3e42dfe8e9a4a972ec1b827f861d9a9acf75b37f7d58a37f94a8a053259642912c252bc3 @@ -13647,12 +13521,12 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": + version: 1.1.1 + resolution: "is-weakref@npm:1.1.1" dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1 + call-bound: "npm:^1.0.3" + checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b languageName: node linkType: hard @@ -13710,7 +13584,7 @@ __metadata: languageName: node linkType: hard -"isbinaryfile@npm:^5.0.2": +"isbinaryfile@npm:^5.0.4": version: 5.0.4 resolution: "isbinaryfile@npm:5.0.4" checksum: 10c0/fea255bfae67ff4827e8dd2238d6700d4803d02b4d892b72eeac4541487284e901251a3427966af5018d4eb29fa155b036dcb75dd217634146a072991afbc2c2 @@ -13757,16 +13631,17 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.3": - version: 1.1.3 - resolution: "iterator.prototype@npm:1.1.3" +"iterator.prototype@npm:^1.1.4": + version: 1.1.5 + resolution: "iterator.prototype@npm:1.1.5" dependencies: - define-properties: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - reflect.getprototypeof: "npm:^1.0.4" - set-function-name: "npm:^2.0.1" - checksum: 10c0/68b0320c14291fbb3d8ed5a17e255d3127e7971bec19108076667e79c9ff4c7d69f99de4b0b3075c789c3f318366d7a0a35bb086eae0f2cf832dd58465b2f9e6 + define-data-property: "npm:^1.1.4" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.6" + get-proto: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0 languageName: node linkType: hard @@ -14013,7 +13888,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.0, json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -14078,7 +13953,7 @@ __metadata: languageName: node linkType: hard -"jszip@npm:^3.7.1": +"jszip@npm:^3.10.1": version: 3.10.1 resolution: "jszip@npm:3.10.1" dependencies: @@ -14194,13 +14069,13 @@ __metadata: languageName: node linkType: hard -"launch-editor@npm:^2.3.0": - version: 2.9.1 - resolution: "launch-editor@npm:2.9.1" +"launch-editor@npm:^2.10.0": + version: 2.10.0 + resolution: "launch-editor@npm:2.10.0" dependencies: picocolors: "npm:^1.0.0" shell-quote: "npm:^1.8.1" - checksum: 10c0/891f1d136ed8e4ea12e16c196a0d2e07f23c7b983e3ab532b2be1775fb244909581507cce97c50f9d5ca92680b53e4a75c72ddcf20184aa6c4da6ebbe87703f5 + checksum: 10c0/8b5a26be6b0da1da039ed2254b837dea0651a6406ea4dc4c9a5b28ea72862f1b12880135c495baf9d8a08997473b44034172506781744cf82e155451a40b7d51 languageName: node linkType: hard @@ -14317,9 +14192,9 @@ __metadata: languageName: node linkType: hard -"less@npm:^4.1.1": - version: 4.2.0 - resolution: "less@npm:4.2.0" +"less@npm:^4.3.0": + version: 4.3.0 + resolution: "less@npm:4.3.0" dependencies: copy-anything: "npm:^2.0.1" errno: "npm:^0.1.1" @@ -14348,7 +14223,7 @@ __metadata: optional: true bin: lessc: bin/lessc - checksum: 10c0/8593d547a3e7651555a2c51bac8b148b37ec14e75e6e28ee4ddf27eb49cbcb4b558e50cdefa97d6942a8120fc744ace0d61c43d4c246e098c8828269b14cf5fb + checksum: 10c0/69a9260d4613387fd1f2da3b0904005423272c59f304b27475c145a62f6890be5d38729fd78ef2a65cba3d1d9b02760f309074cad0be4764252934ad04efb2ae languageName: node linkType: hard @@ -14415,100 +14290,100 @@ __metadata: languageName: node linkType: hard -"lightningcss-darwin-arm64@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-darwin-arm64@npm:1.28.1" +"lightningcss-darwin-arm64@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-darwin-arm64@npm:1.30.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"lightningcss-darwin-x64@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-darwin-x64@npm:1.28.1" +"lightningcss-darwin-x64@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-darwin-x64@npm:1.30.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"lightningcss-freebsd-x64@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-freebsd-x64@npm:1.28.1" +"lightningcss-freebsd-x64@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-freebsd-x64@npm:1.30.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"lightningcss-linux-arm-gnueabihf@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-linux-arm-gnueabihf@npm:1.28.1" +"lightningcss-linux-arm-gnueabihf@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.30.0" conditions: os=linux & cpu=arm languageName: node linkType: hard -"lightningcss-linux-arm64-gnu@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-linux-arm64-gnu@npm:1.28.1" +"lightningcss-linux-arm64-gnu@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-linux-arm64-gnu@npm:1.30.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"lightningcss-linux-arm64-musl@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-linux-arm64-musl@npm:1.28.1" +"lightningcss-linux-arm64-musl@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-linux-arm64-musl@npm:1.30.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"lightningcss-linux-x64-gnu@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-linux-x64-gnu@npm:1.28.1" +"lightningcss-linux-x64-gnu@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-linux-x64-gnu@npm:1.30.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"lightningcss-linux-x64-musl@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-linux-x64-musl@npm:1.28.1" +"lightningcss-linux-x64-musl@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-linux-x64-musl@npm:1.30.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"lightningcss-wasm@npm:^1.22.1": - version: 1.28.1 - resolution: "lightningcss-wasm@npm:1.28.1" +"lightningcss-wasm@npm:^1.30.0": + version: 1.30.0 + resolution: "lightningcss-wasm@npm:1.30.0" dependencies: napi-wasm: "npm:^1.0.1" - checksum: 10c0/ab025ed449cd0de2c5d5be1a4407b46031fc8d4a0860e6802ee5e5594a16f7ace05e71457585e0fad6428efcd04d7c13fb4c9f3f2304e306bc3e1229a0c55509 + checksum: 10c0/35ccfee1bc601da78a7bbb276ddcbdc920c2c9ae121a13aec206fbf345369a9451ecf6ca029cfaf4bd221d99790e79e6f1035a148129206a9ede308d5c7065a3 languageName: node linkType: hard -"lightningcss-win32-arm64-msvc@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-win32-arm64-msvc@npm:1.28.1" +"lightningcss-win32-arm64-msvc@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-win32-arm64-msvc@npm:1.30.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"lightningcss-win32-x64-msvc@npm:1.28.1": - version: 1.28.1 - resolution: "lightningcss-win32-x64-msvc@npm:1.28.1" +"lightningcss-win32-x64-msvc@npm:1.30.0": + version: 1.30.0 + resolution: "lightningcss-win32-x64-msvc@npm:1.30.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"lightningcss@npm:^1.22.1": - version: 1.28.1 - resolution: "lightningcss@npm:1.28.1" +"lightningcss@npm:^1.30.0": + version: 1.30.0 + resolution: "lightningcss@npm:1.30.0" dependencies: - detect-libc: "npm:^1.0.3" - lightningcss-darwin-arm64: "npm:1.28.1" - lightningcss-darwin-x64: "npm:1.28.1" - lightningcss-freebsd-x64: "npm:1.28.1" - lightningcss-linux-arm-gnueabihf: "npm:1.28.1" - lightningcss-linux-arm64-gnu: "npm:1.28.1" - lightningcss-linux-arm64-musl: "npm:1.28.1" - lightningcss-linux-x64-gnu: "npm:1.28.1" - lightningcss-linux-x64-musl: "npm:1.28.1" - lightningcss-win32-arm64-msvc: "npm:1.28.1" - lightningcss-win32-x64-msvc: "npm:1.28.1" + detect-libc: "npm:^2.0.3" + lightningcss-darwin-arm64: "npm:1.30.0" + lightningcss-darwin-x64: "npm:1.30.0" + lightningcss-freebsd-x64: "npm:1.30.0" + lightningcss-linux-arm-gnueabihf: "npm:1.30.0" + lightningcss-linux-arm64-gnu: "npm:1.30.0" + lightningcss-linux-arm64-musl: "npm:1.30.0" + lightningcss-linux-x64-gnu: "npm:1.30.0" + lightningcss-linux-x64-musl: "npm:1.30.0" + lightningcss-win32-arm64-msvc: "npm:1.30.0" + lightningcss-win32-x64-msvc: "npm:1.30.0" dependenciesMeta: lightningcss-darwin-arm64: optional: true @@ -14530,21 +14405,14 @@ __metadata: optional: true lightningcss-win32-x64-msvc: optional: true - checksum: 10c0/8bd23ca3dc3d701e89490b88a59470d27887ff7703e9e27c8a7f04d9cd35ca9c7e88390fbcb82fe179c20c912538c0d028f12a4f26a556f00567274804699691 + checksum: 10c0/9bb29568b54ce81b66e10c410af15e90e9908915ef1a79319c822d7f471f7d2b7b6cdd55823a1e95738aee930133c93f4b1cd3915cfe0e3ef0bf7567c9a551d1 languageName: node linkType: hard -"lilconfig@npm:^2.1.0": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 - languageName: node - linkType: hard - -"lilconfig@npm:^3.0.0, lilconfig@npm:^3.1.2": - version: 3.1.2 - resolution: "lilconfig@npm:3.1.2" - checksum: 10c0/f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe +"lilconfig@npm:^3.0.0, lilconfig@npm:^3.1.3": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc languageName: node linkType: hard @@ -14571,7 +14439,7 @@ __metadata: languageName: node linkType: hard -"lint-staged@npm:^10.2.11": +"lint-staged@npm:^10.5.4": version: 10.5.4 resolution: "lint-staged@npm:10.5.4" dependencies: @@ -14874,7 +14742,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.0, lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.4.3": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb @@ -15075,6 +14943,13 @@ __metadata: languageName: node linkType: hard +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + "md5.js@npm:^1.3.4": version: 1.3.5 resolution: "md5.js@npm:1.3.5" @@ -15580,7 +15455,7 @@ __metadata: languageName: node linkType: hard -"mocha-junit-reporter@npm:^2.0.0": +"mocha-junit-reporter@npm:^2.2.1": version: 2.2.1 resolution: "mocha-junit-reporter@npm:2.2.1" dependencies: @@ -15607,7 +15482,7 @@ __metadata: languageName: node linkType: hard -"mocha@npm:^8.2.1, mocha@npm:^8.3.0": +"mocha@npm:^8.4.0": version: 8.4.0 resolution: "mocha@npm:8.4.0" dependencies: @@ -15702,7 +15577,7 @@ __metadata: languageName: node linkType: hard -"msgpackr@npm:^1.9.5, msgpackr@npm:^1.9.9": +"msgpackr@npm:^1.11.2, msgpackr@npm:^1.9.5": version: 1.11.2 resolution: "msgpackr@npm:1.11.2" dependencies: @@ -15796,7 +15671,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.1.12, nanoid@npm:^3.3.7": +"nanoid@npm:^3.3.11, nanoid@npm:^3.3.8": version: 3.3.11 resolution: "nanoid@npm:3.3.11" bin: @@ -15824,7 +15699,7 @@ __metadata: languageName: node linkType: hard -"napi-wasm@npm:^1.0.1, napi-wasm@npm:^1.1.2": +"napi-wasm@npm:^1.0.1, napi-wasm@npm:^1.1.3": version: 1.1.3 resolution: "napi-wasm@npm:1.1.3" checksum: 10c0/7c365ab9dc59e6f20d7b7886279ecc03ffc7c3d502ed66d32652e3681c3a56c372f00f29b110aefd9b074a6bab6a997e9b602968c18622e2586818f417e41a5d @@ -15901,7 +15776,7 @@ __metadata: languageName: node linkType: hard -"nib@npm:^1.1.2": +"nib@npm:^1.2.0": version: 1.2.0 resolution: "nib@npm:1.2.0" peerDependencies: @@ -15958,7 +15833,7 @@ __metadata: languageName: node linkType: hard -"node-elm-compiler@npm:^5.0.5": +"node-elm-compiler@npm:^5.0.6": version: 5.0.6 resolution: "node-elm-compiler@npm:5.0.6" dependencies: @@ -15998,7 +15873,7 @@ __metadata: languageName: node linkType: hard -"node-forge@npm:^1.2.1": +"node-forge@npm:^1.3.1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 @@ -16079,7 +15954,7 @@ __metadata: languageName: node linkType: hard -"node-ipc@npm:^9.1.4": +"node-ipc@npm:^9.2.1": version: 9.2.1 resolution: "node-ipc@npm:9.2.1" dependencies: @@ -16090,10 +15965,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.18": - version: 2.0.18 - resolution: "node-releases@npm:2.0.18" - checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27 +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa languageName: node linkType: hard @@ -16542,7 +16417,7 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1, object-inspect@npm:^1.13.3": +"object-inspect@npm:^1.13.3": version: 1.13.3 resolution: "object-inspect@npm:1.13.3" checksum: 10c0/cc3f15213406be89ffdc54b525e115156086796a515410a8d390215915db9f23c8eab485a06f1297402f440a33715fe8f71a528c1dcbad6e1a3bcaf5a46921d4 @@ -16575,15 +16450,17 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.0.4, object.assign@npm:^4.1.0, object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": - version: 4.1.5 - resolution: "object.assign@npm:4.1.5" +"object.assign@npm:^4.0.4, object.assign@npm:^4.1.0, object.assign@npm:^4.1.4, object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" dependencies: - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" object-keys: "npm:^1.1.1" - checksum: 10c0/60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469 + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc languageName: node linkType: hard @@ -16599,14 +16476,15 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.8": - version: 1.1.8 - resolution: "object.entries@npm:1.1.8" +"object.entries@npm:^1.1.9": + version: 1.1.9 + resolution: "object.entries@npm:1.1.9" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/db9ea979d2956a3bc26c262da4a4d212d36f374652cc4c13efdd069c1a519c16571c137e2893d1c46e1cb0e15c88fd6419eaf410c945f329f09835487d7e65d3 + es-object-atoms: "npm:^1.1.1" + checksum: 10c0/d4b8c1e586650407da03370845f029aa14076caca4e4d4afadbc69cfb5b78035fd3ee7be417141abdb0258fa142e59b11923b4c44d8b1255b28f5ffcc50da7db languageName: node linkType: hard @@ -16662,14 +16540,15 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.2.0": - version: 1.2.0 - resolution: "object.values@npm:1.2.0" +"object.values@npm:^1.1.6, object.values@npm:^1.2.0, object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3 + checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 languageName: node linkType: hard @@ -16718,7 +16597,7 @@ __metadata: languageName: node linkType: hard -"open@npm:^7.0.3, open@npm:^7.4.2": +"open@npm:^7.4.2": version: 7.4.2 resolution: "open@npm:7.4.2" dependencies: @@ -16753,7 +16632,7 @@ __metadata: languageName: node linkType: hard -"ora@npm:^5.2.0, ora@npm:^5.4.1": +"ora@npm:^5.4.1": version: 5.4.1 resolution: "ora@npm:5.4.1" dependencies: @@ -16833,6 +16712,17 @@ __metadata: languageName: node linkType: hard +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.2.6" + object-keys: "npm:^1.1.1" + safe-push-apply: "npm:^1.0.0" + checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a + languageName: node + linkType: hard + "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -17059,18 +16949,18 @@ __metadata: "@parcel/lsp": "npm:2.14.4" "@parcel/lsp-protocol": "npm:2.14.4" "@parcel/watcher": "npm:^2.0.7" - "@types/mocha": "npm:^8.0.4" - "@types/node": "npm:>= 18" + "@types/mocha": "npm:^8.2.3" + "@types/node": "npm:^22.15.17" "@types/vscode": "npm:^1.67.0" "@typescript-eslint/eslint-plugin": "npm:^5.59.7" "@typescript-eslint/parser": "npm:^5.59.7" - eslint: "npm:^8.41.0" - glob: "npm:^7.1.6" - mocha: "npm:^8.2.1" + eslint: "npm:^8.57.1" + glob: "npm:^7.2.3" + mocha: "npm:^8.4.0" typescript: "npm:>=3.0.0" vsce-yarn-patch: "npm:^1.66.2" - vscode-languageclient: "npm:^8.0.2" - vscode-test: "npm:^1.5.0" + vscode-languageclient: "npm:^8.1.0" + vscode-test: "npm:^1.6.1" languageName: unknown linkType: soft @@ -17079,9 +16969,9 @@ __metadata: resolution: "parcel-react-server-components-example@workspace:packages/examples/react-server-components" dependencies: "@parcel/rsc": "npm:2.14.4" - express: "npm:^4.18.2" - react: "npm:^19" - react-dom: "npm:^19" + express: "npm:^4.21.2" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" languageName: unknown linkType: soft @@ -17091,9 +16981,9 @@ __metadata: dependencies: "@parcel/rsc": "npm:2.14.4" cors: "npm:^2.8.5" - express: "npm:^4.18.2" - react: "npm:^19" - react-dom: "npm:^19" + express: "npm:^4.21.2" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" languageName: unknown linkType: soft @@ -17102,8 +16992,8 @@ __metadata: resolution: "parcel-rsc-static-example@workspace:packages/examples/react-static" dependencies: "@parcel/rsc": "npm:2.14.4" - react: "npm:^19" - react-dom: "npm:^19" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" languageName: unknown linkType: soft @@ -17324,7 +17214,7 @@ __metadata: languageName: node linkType: hard -"path-browserify@npm:^1.0.0": +"path-browserify@npm:^1.0.1": version: 1.0.1 resolution: "path-browserify@npm:1.0.1" checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 @@ -17422,10 +17312,10 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.10": - version: 0.1.10 - resolution: "path-to-regexp@npm:0.1.10" - checksum: 10c0/34196775b9113ca6df88e94c8d83ba82c0e1a2063dd33bfe2803a980da8d49b91db8104f49d5191b44ea780d46b8670ce2b7f4a5e349b0c48c6779b653f1afe4 +"path-to-regexp@npm:0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b languageName: node linkType: hard @@ -17492,7 +17382,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 @@ -17557,10 +17447,10 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.0, pirates@npm:^4.0.1, pirates@npm:^4.0.6": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 +"pirates@npm:^4.0.1, pirates@npm:^4.0.6, pirates@npm:^4.0.7": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a languageName: node linkType: hard @@ -17617,45 +17507,45 @@ __metadata: languageName: node linkType: hard -"postcss-calc@npm:^10.0.2": - version: 10.0.2 - resolution: "postcss-calc@npm:10.0.2" +"postcss-calc@npm:^10.1.1": + version: 10.1.1 + resolution: "postcss-calc@npm:10.1.1" dependencies: - postcss-selector-parser: "npm:^6.1.2" + postcss-selector-parser: "npm:^7.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4.38 - checksum: 10c0/f57c9db7a7a2f3a0cdf45990089c051248d995bb2b9d1bd1fcd1634507851e92ea85bbc71a3594e359e9e9287ba0a820c90d6d292126a4b735cda364a86ce9cf + checksum: 10c0/616d3b7b15a524fa86ff1b2be7d9f2369c7794fd44c946f117380e519b064e9ac8d1414ea29de0238b130f2b2a5eb2fb59758cc5478af40b04a012992fb1075b languageName: node linkType: hard -"postcss-colormin@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-colormin@npm:7.0.2" +"postcss-colormin@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-colormin@npm:7.0.3" dependencies: - browserslist: "npm:^4.23.3" + browserslist: "npm:^4.24.5" caniuse-api: "npm:^3.0.0" colord: "npm:^2.9.3" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/76d09fb7e0218698e622a7c2cfc9087985f48f3a7e44f2655d5eefac4ae9c04198ae9d408dc7ace15d3aa5bde80e7031e462b0cb9b5bd50cfa76bbb1503c755b + postcss: ^8.4.32 + checksum: 10c0/49d0a7d523f74b455b4e2680cb2e31974871354d9037d6e8dfac00e9ebdced6585533208f43d006946a705ca4e683ba007bcd23fb37df6005c5db37ead0c66a9 languageName: node linkType: hard -"postcss-convert-values@npm:^7.0.4": - version: 7.0.4 - resolution: "postcss-convert-values@npm:7.0.4" +"postcss-convert-values@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-convert-values@npm:7.0.5" dependencies: - browserslist: "npm:^4.23.3" + browserslist: "npm:^4.24.5" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/9839b29f7c638672115c9fef5ed7df016aa43ea9dd42a4a2ace16e6a49c75246d2c19f3e03a6409ed3bc7c2fa4de6203bf5789cef8268c76618326b68e3bc591 + postcss: ^8.4.32 + checksum: 10c0/c9ba3ce8a1d3cae775187c57c9234c03135b4abb6d2eb7f094ca59d9ae7dbcb52ed3f8771d35040b60d522bff40caa72d329914bead63577b66e8d4be589a6a7 languageName: node linkType: hard -"postcss-custom-properties@npm:^12.1.2": +"postcss-custom-properties@npm:^12.1.11": version: 12.1.11 resolution: "postcss-custom-properties@npm:12.1.11" dependencies: @@ -17666,41 +17556,41 @@ __metadata: languageName: node linkType: hard -"postcss-discard-comments@npm:^7.0.3": - version: 7.0.3 - resolution: "postcss-discard-comments@npm:7.0.3" +"postcss-discard-comments@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-discard-comments@npm:7.0.4" dependencies: - postcss-selector-parser: "npm:^6.1.2" + postcss-selector-parser: "npm:^7.1.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/7700c8fb9a83c6ea5cc784267b9afd6e2968fda0358d583af5913baa28dfc91b0f2a4bd0b2bd62a86ebcb8dadb2547e287beae25b5a097e21c1f723367ccf112 + postcss: ^8.4.32 + checksum: 10c0/30081465fec33baa8507782d25cd96559cb3487c023d331a517cf94027d065c26227962a40b1806885400d76d3d27d27f9e7b14807866c7d9bb63c3030b5312a languageName: node linkType: hard -"postcss-discard-duplicates@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-discard-duplicates@npm:7.0.1" +"postcss-discard-duplicates@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-discard-duplicates@npm:7.0.2" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/5cc2cac249f68004864865ea2ec38b7d5e28184f33e904e531ff57b533aacb73ec49e4a7d83219184001b8d167e5bcabc1673248134468d7ebaa0bfb9ff78f0a + postcss: ^8.4.32 + checksum: 10c0/83035b1158ee0f0c8c6441c9f0fcd3c83027b19c4b1d19802d140ba02535623520edb4d52db40d06881ad2b31a9d859445cf56aeaf0de5183c3edd22eaf7e023 languageName: node linkType: hard -"postcss-discard-empty@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-discard-empty@npm:7.0.0" +"postcss-discard-empty@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-discard-empty@npm:7.0.1" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/b54fc9ad59a6015f6b82b8c826717a4a2f82b272608f6ae37a0b568f4f6c503f5ac7d13d415853a946a0422cb37b9fe1d5ddcee91fe0c2086001138710600d8b + postcss: ^8.4.32 + checksum: 10c0/c11c5571f573a147db911d2d82b4102eff2930fa1d5cc63c25c2cbd9f496a91a7364075f322b61e0eb9c217fc86f06680deb0fb858a32e29148abd7cb2617f8f languageName: node linkType: hard -"postcss-discard-overridden@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-discard-overridden@npm:7.0.0" +"postcss-discard-overridden@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-discard-overridden@npm:7.0.1" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/ca00ed1d4e8793fc780039f235fa2caef123d3aa28cae47cc1472ca03b21386c39fae1f11fbf319dcb94c6bda923824067254c7e20e8b00354b47015dc754658 + postcss: ^8.4.32 + checksum: 10c0/413c68411f1f3b9ee2a862eca4599f54e6b35a5556af12518032b4f6b3f47c57a6db1cc4565692fb8633b7a1fd26e096f5cd86e50aaf702375d621efbd819d05 languageName: node linkType: hard @@ -17759,78 +17649,78 @@ __metadata: languageName: node linkType: hard -"postcss-merge-longhand@npm:^7.0.4": - version: 7.0.4 - resolution: "postcss-merge-longhand@npm:7.0.4" +"postcss-merge-longhand@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-merge-longhand@npm:7.0.5" dependencies: postcss-value-parser: "npm:^4.2.0" - stylehacks: "npm:^7.0.4" + stylehacks: "npm:^7.0.5" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/6f50f7775dd361f83daf1acb3e0001d700ed2b7b9bea02df172143adc7fa196ce9209c9e482010ce36fd704512433b62692c5ab2eef5226db71ea3e694654dc7 + postcss: ^8.4.32 + checksum: 10c0/148fe5fc33f967f6e579a184a4bb82c8e6ffb1d5f720a2c7aa85849a56ee8d23ce3f026d6f6b45a38f63f761fcfafe3b82ac54da7bf080fd58eb743be4c4ce46 languageName: node linkType: hard -"postcss-merge-rules@npm:^7.0.4": - version: 7.0.4 - resolution: "postcss-merge-rules@npm:7.0.4" +"postcss-merge-rules@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-merge-rules@npm:7.0.5" dependencies: - browserslist: "npm:^4.23.3" + browserslist: "npm:^4.24.5" caniuse-api: "npm:^3.0.0" - cssnano-utils: "npm:^5.0.0" - postcss-selector-parser: "npm:^6.1.2" + cssnano-utils: "npm:^5.0.1" + postcss-selector-parser: "npm:^7.1.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/fffdcef4ada68e92ab8e6dc34a3b9aa2b87188cd4d08f5ba0ff2aff7e3e3c7f086830748ff64db091b5ccb9ac59ac37cfaab1268ed3efb50ab9c4f3714eb5f6d + postcss: ^8.4.32 + checksum: 10c0/e7225a4606b7dcdabd895c4cafa5fdb97a6588c7a59d8b189725443ad2d3c45603eac8a66929c5470b0b99a56b4daca3e79f7e19d15f9cccfde2a69ba2b66137 languageName: node linkType: hard -"postcss-minify-font-values@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-minify-font-values@npm:7.0.0" +"postcss-minify-font-values@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-minify-font-values@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/f8be40099a6986d96b9cd2eb9c32a9c681efc6ecd6504c9ab7e01feb9e688c8b9656dfd7f35aa6de2585a86d607f62152ee81d0175e712e4658d184d25f63d58 + postcss: ^8.4.32 + checksum: 10c0/2327863b0f4c025855ba9bb88951ce92985ce1c64bab24002b5d75f024268c396735af311db7342e8ca5ebc80c18c282d7cb63292c36a457348eda041c5fe197 languageName: node linkType: hard -"postcss-minify-gradients@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-minify-gradients@npm:7.0.0" +"postcss-minify-gradients@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-minify-gradients@npm:7.0.1" dependencies: colord: "npm:^2.9.3" - cssnano-utils: "npm:^5.0.0" + cssnano-utils: "npm:^5.0.1" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/15d162192b598242e14def81a62e30cf273ab14f1db702c391e6bdd442c570a1aa76fc326874253a2d67f75b4d4fe73ba4f664e85dbff883f24b7090c340bfad + postcss: ^8.4.32 + checksum: 10c0/19df86ff3d8767f86300ebeac06dba951e26e069590bfb52bc24b0e73fca27c411395870053ffda4272d738b344b478a43a0c92bd23b466e274dd95379c8dc97 languageName: node linkType: hard -"postcss-minify-params@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-minify-params@npm:7.0.2" +"postcss-minify-params@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-minify-params@npm:7.0.3" dependencies: - browserslist: "npm:^4.23.3" - cssnano-utils: "npm:^5.0.0" + browserslist: "npm:^4.24.5" + cssnano-utils: "npm:^5.0.1" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/0e041f70554bae9d4a66c8ab2f2f3ed8bf73862c9d5ff9972ac7f1a596badd1544f093fa2362dd33e96c038af9e10287cdbfec9f480c49bffdcbaca9fdcb1e4e + postcss: ^8.4.32 + checksum: 10c0/e7e7b5faeb85e0fc0d0ebbc388ef3ad402e9d85b5d77da6b38e4b16d32c496e79072a6fc13318e4bcafe761616babec1075d9afbf0e9966451a71945ae058de9 languageName: node linkType: hard -"postcss-minify-selectors@npm:^7.0.4": - version: 7.0.4 - resolution: "postcss-minify-selectors@npm:7.0.4" +"postcss-minify-selectors@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-minify-selectors@npm:7.0.5" dependencies: cssesc: "npm:^3.0.0" - postcss-selector-parser: "npm:^6.1.2" + postcss-selector-parser: "npm:^7.1.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/212b8f3d62eb2a27ed57d4e76b75b0886806ddb9e2497c0bb79308fa75dabaaaa4ed2b97734896e87603272d05231fd74aee2c256a48d77aa468b5b64cc7866a + postcss: ^8.4.32 + checksum: 10c0/ebc1b5bee2e7d5d57926d7b47c54845531929badd8f445505ab4add4614ce24453977a1cc9ca5667ddcfacfd3f735bf90a3fe6558de7aa4b85bc2e690915abd8 languageName: node linkType: hard @@ -17878,7 +17768,7 @@ __metadata: languageName: node linkType: hard -"postcss-modules@npm:^6.0.0": +"postcss-modules@npm:^6.0.1": version: 6.0.1 resolution: "postcss-modules@npm:6.0.1" dependencies: @@ -17907,136 +17797,136 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-charset@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-normalize-charset@npm:7.0.0" +"postcss-normalize-charset@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-charset@npm:7.0.1" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/06d9c4487a4b0e195133a1fb7a115db7014e49d2567cce73e24c59f473f0e65a1999850a726afb3bdb2d36017a3e5c92ac4fd2a7ecc427da4ff79522765fabdd + postcss: ^8.4.32 + checksum: 10c0/e879ecbd8a2f40b427ac8800c34ad6670fa820838ad27950c34b628e9248ce763433045bb4254f65c02d74825f41377a9cf278f8cdcf7284acbd6a3b33af83fe languageName: node linkType: hard -"postcss-normalize-display-values@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-normalize-display-values@npm:7.0.0" +"postcss-normalize-display-values@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-display-values@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/439524e1d3ed36d6265c05da10540e17aa8605e1b396f71ca4364ab3b8b98ca97763c58c211fb9492662429d43613a7fe7009a8638c84a8db327e572c382272a + postcss: ^8.4.32 + checksum: 10c0/00d77846972e5261aebb38594f8999cfb84fe745ec9d3c2a4d8a91a1b6e703f02b0ccc9342e8fd4fa1f3e5e1f85d4aac2446dae898690ef41bc06de95008b975 languageName: node linkType: hard -"postcss-normalize-positions@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-normalize-positions@npm:7.0.0" +"postcss-normalize-positions@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-positions@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/428763c937cd178c8ee544cd93a9d1fef667dc9a8700ffe2e61b0beeea7f64f712492b9aeb8a1ef927ab752ec34be7ddeb23d2b50e4bc6eba02b0e58312b27a7 + postcss: ^8.4.32 + checksum: 10c0/00f43f9635905ae11ba04cec9272cfa783b7793058ea8e576cb3cf8ea59df6f7bbdc34fdcba82724aaf789ee1f0697266e7ce98818aeca640889d67906f87f9e languageName: node linkType: hard -"postcss-normalize-repeat-style@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-normalize-repeat-style@npm:7.0.0" +"postcss-normalize-repeat-style@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-repeat-style@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/cf7cd9f355fd26f1c9b0c11a923029ac5ea3020520db5a9778dd19c5ee1f48a1f1f368b4ae75fc6b63cb5761eef72333e486ab0de1537b9cb62d213a8c5576d0 + postcss: ^8.4.32 + checksum: 10c0/de4f1350ae979e34e29f7f9e1ade23dcdfdccb4c290889ab45d15935c3af8218858e9fe06fc4af3fe5dc0478d719c7ce7d0d995dd9f786c93d5d3eaa7187d6ed languageName: node linkType: hard -"postcss-normalize-string@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-normalize-string@npm:7.0.0" +"postcss-normalize-string@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-string@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/8857563f85841ce432bb9a5a9ba129847890b61693adff96d565b69dc2d5456f54dec33f4f6ce5b0abf0a484dbfb0145846d99f988959c5ac875a86a2a180576 + postcss: ^8.4.32 + checksum: 10c0/da3bc2458529544abad32860cd835d27b010a7fb16b121f0b64f44775a332795de0cd1a0280a380f868e4958997bd13a0275aca8e404c835ce120cf8ab69f4db languageName: node linkType: hard -"postcss-normalize-timing-functions@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-normalize-timing-functions@npm:7.0.0" +"postcss-normalize-timing-functions@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-timing-functions@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/bc5f6999b4c9e28e5be785ef90fe68fd48d44059ecc73ee194c2603260597d685b13a1e1751df9a2cee100fea7abb7e1b1cbcf1a7a428a576961705c9d426788 + postcss: ^8.4.32 + checksum: 10c0/9389555176925bb31428220285b89b8cec2c2669f3ebb8f033463e7356cf1f54d0baaf71ddc097beb7adc418b9d2ea3cc628886fbf8e782c74ddaab4c2290749 languageName: node linkType: hard -"postcss-normalize-unicode@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-normalize-unicode@npm:7.0.2" +"postcss-normalize-unicode@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-normalize-unicode@npm:7.0.3" dependencies: - browserslist: "npm:^4.23.3" + browserslist: "npm:^4.24.5" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/0df1aac932cc2340715178fd024e0f6d872ea5a4bee1bc8357317a75a7b2c904d885f754cc162af001aa2a9ded7c54fac7cbcd701e21e995c1ace92dc08f2b9d + postcss: ^8.4.32 + checksum: 10c0/6057b098b777ebe83060bde4278b258b50893d20761621931cbc93a50e3674ab634633e2539ef87c7a70348fc936bb2eeec87c470a296db15218b6bd16b33397 languageName: node linkType: hard -"postcss-normalize-url@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-normalize-url@npm:7.0.0" +"postcss-normalize-url@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-url@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/3050e228be48fe0121d1316c267e629b232e8401a547128d142c3dea55eeae1e232c9beeea5c76439009188993b14925c5cf40e3a44856d076a7b8fcf4721f86 + postcss: ^8.4.32 + checksum: 10c0/d04ff170efcc77aef221f20f2a1a783c95564898321521a5940c17cf6cbdfd4f44b005efab77feebfae17873b17a30248c14c6f6166b4dfe382e524d6a3a935b languageName: node linkType: hard -"postcss-normalize-whitespace@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-normalize-whitespace@npm:7.0.0" +"postcss-normalize-whitespace@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-normalize-whitespace@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/8d61234962a4850fc61292592171e1d13de2e90d96a2eaed8c85672a05caceda02a3bd1cb495cb72414741f99d50083362df14923efaca1b3e09657d24cea34b + postcss: ^8.4.32 + checksum: 10c0/efbdbe1d0bc1dfed08168f417968f112996c6985efe0ba48137a4811052a65b46ac702b74afbb3110a51515aff67ffe1e139ce9a723e8d8543977e4cc6269911 languageName: node linkType: hard -"postcss-ordered-values@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-ordered-values@npm:7.0.1" +"postcss-ordered-values@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-ordered-values@npm:7.0.2" dependencies: - cssnano-utils: "npm:^5.0.0" + cssnano-utils: "npm:^5.0.1" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/9fc62e9039c7d4fa417d165678b065fc577a7232aa41a94a4e9208ad7db2268e1ce003aaad7c6a569afdf890a43416b0bf21047461505b4e3a16eec311a6eb63 + postcss: ^8.4.32 + checksum: 10c0/77e4daa70e120864aac5a0f5c71cc8b66408829eabe45203d4d86c93229425c26e030cf75d6f328432935c28a50c5294108aa2439fa8da256aa1852cc71c84f3 languageName: node linkType: hard -"postcss-reduce-initial@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-reduce-initial@npm:7.0.2" +"postcss-reduce-initial@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-reduce-initial@npm:7.0.3" dependencies: - browserslist: "npm:^4.23.3" + browserslist: "npm:^4.24.5" caniuse-api: "npm:^3.0.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/1e6fafaf5fac52b351c8de156ed62e4e1f48da7eb07f9ce90da54b45dca61da9af1e954b8a343271cb3e4ec99e0c5f18d7f9f96da0ca144511fca04498fac78c + postcss: ^8.4.32 + checksum: 10c0/a8321fe8187ae00e1ee15385a927772149ed7a4d3130b2ee1c55a31055e2e9de550164b5fb615fda9c9c03d3e01e4630c1457f1732ef21704cb3b25a9ade6291 languageName: node linkType: hard -"postcss-reduce-transforms@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-reduce-transforms@npm:7.0.0" +"postcss-reduce-transforms@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-reduce-transforms@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/b2d4b65e71d38b604b41937850d1d64794964d6eced90f05891cfae8a78c7a9fed49911f51da9dcc5d715ac18e8bc7eacf691f2c5321dfe4d781f3e4442dfea9 + postcss: ^8.4.32 + checksum: 10c0/b379ea1d87ea27f331b472c8a21b4c6bb3c114ea573b66743f6fb4a52cab758c1930cd194df873d347901e347c47035e1353be6cf4250e469ec512f599385957 languageName: node linkType: hard @@ -18050,36 +17940,36 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-selector-parser@npm:7.0.0" +"postcss-selector-parser@npm:^7.0.0, postcss-selector-parser@npm:^7.1.0": + version: 7.1.0 + resolution: "postcss-selector-parser@npm:7.1.0" dependencies: cssesc: "npm:^3.0.0" util-deprecate: "npm:^1.0.2" - checksum: 10c0/e96e096afcce70bf5c97789f5ea09d7415ae5eb701d82b05b5e8532885d31363b484fcb1ca9488c9a331f30508d9e5bb6c3109eb2eb5067ef3d3919f9928cd9d + checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa languageName: node linkType: hard -"postcss-svgo@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-svgo@npm:7.0.1" +"postcss-svgo@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-svgo@npm:7.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" svgo: "npm:^3.3.2" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/7c7b177e6f4e2a3e9ada76d53afa02e08d900c8ac15600ba9daa80480269d538405e544bd8091bc5eb7529173a476896fad885a72a247258265424b29a9195ed + postcss: ^8.4.32 + checksum: 10c0/03b97c6d572180fbacbae5d75f6ecab00a4185ea450bc2cb7ed4cbe1e6ffe87d49bf2502c5ddd3052deff3de80729b57df8a46e4ed8b78aa6a557d4b7f305a4a languageName: node linkType: hard -"postcss-unique-selectors@npm:^7.0.3": - version: 7.0.3 - resolution: "postcss-unique-selectors@npm:7.0.3" +"postcss-unique-selectors@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-unique-selectors@npm:7.0.4" dependencies: - postcss-selector-parser: "npm:^6.1.2" + postcss-selector-parser: "npm:^7.1.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/2eb90eb0745d1e29d411ea5108f1cd9737de5b8f739cabc717074872bc4015950c9963f870b23b33b9ef45e7887eecfe5560cffee56616d4e0b8d0fac4f7cb10 + postcss: ^8.4.32 + checksum: 10c0/ae47c2abc2dab647e026674a1239c2531236177e39078ef7fb091df9cdeb60f8e453c65909e5dd91efe2f3bb76c67f31035f137a9c71cbc8732d631329c79261 languageName: node linkType: hard @@ -18090,14 +17980,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.1.10, postcss@npm:^8.4.47, postcss@npm:^8.4.5": - version: 8.4.49 - resolution: "postcss@npm:8.4.49" +"postcss@npm:^8.1.10, postcss@npm:^8.4.47, postcss@npm:^8.5.3": + version: 8.5.3 + resolution: "postcss@npm:8.5.3" dependencies: - nanoid: "npm:^3.3.7" + nanoid: "npm:^3.3.8" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 + checksum: 10c0/b75510d7b28c3ab728c8733dd01538314a18c52af426f199a3c9177e63eb08602a3938bfb66b62dc01350b9aed62087eabbf229af97a1659eb8d3513cec823b3 languageName: node linkType: hard @@ -18187,17 +18077,10 @@ __metadata: languageName: node linkType: hard -"preact@npm:^10.26.4": - version: 10.26.4 - resolution: "preact@npm:10.26.4" - checksum: 10c0/8abf64ec6f9773f0c4fb3746b7caa3d83e2de4d464928e7f64fc779c96ef9e135d23c1ade8d0923c9191f6d203d9f22bb92d8a50dc0f4f310073dfaa51a56922 - languageName: node - linkType: hard - -"preact@npm:^10.5.9": - version: 10.25.0 - resolution: "preact@npm:10.25.0" - checksum: 10c0/703e021e7a268aea929e9c896484608e18dd9f5aa62c71d3205fedf69269d9592e4cfe17adda78ca4cec1f5f0057a062300daeeb477333ba2005a4d9e3fbc970 +"preact@npm:^10.26.6": + version: 10.26.6 + resolution: "preact@npm:10.26.6" + checksum: 10c0/af07817a24b76c48f0eb49895d2ab49d6e43097355b6f75271a4cab5c2886999968e9eab9331a48f0b7e3477bc16153b08cd1d6a24ebf1acea4016b7054daf29 languageName: node linkType: hard @@ -18511,7 +18394,7 @@ __metadata: languageName: node linkType: hard -"pug@npm:^3.0.2": +"pug@npm:^3.0.3": version: 3.0.3 resolution: "pug@npm:3.0.3" dependencies: @@ -18670,7 +18553,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.2.0": +"react-dom@npm:^18.3.1": version: 18.3.1 resolution: "react-dom@npm:18.3.1" dependencies: @@ -18682,7 +18565,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^19, react-dom@npm:^19.1.0": +"react-dom@npm:^19.1.0": version: 19.1.0 resolution: "react-dom@npm:19.1.0" dependencies: @@ -18707,7 +18590,7 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:>=0.9 <=0.16": +"react-refresh@npm:^0.16.0": version: 0.16.0 resolution: "react-refresh@npm:0.16.0" checksum: 10c0/122525dbd7a44140757f46b8b93df6a349126e64b270809a8f082809662be5837a97310e56df2cfc7dac98b8adfaaafa570ec579c8b269c374e6928394307c68 @@ -18744,9 +18627,9 @@ __metadata: languageName: node linkType: hard -"react-use@npm:^17.4.0": - version: 17.5.1 - resolution: "react-use@npm:17.5.1" +"react-use@npm:^17.6.0": + version: 17.6.0 + resolution: "react-use@npm:17.6.0" dependencies: "@types/js-cookie": "npm:^2.2.6" "@xobotyi/scrollbar-width": "npm:^1.9.5" @@ -18765,11 +18648,11 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/3d6a8f46539b32698d31600239e72b5c23376a5343d0d687c6520e14532ed7f5c72c9b99d222be4eeacb0401ce3ae763d5648d0476440c8b4a6afbd56dc98bfa + checksum: 10c0/d122199f3edd056bfd866837b0f19a44366e77c7535c6c2c5eb5f400409eae4c9b1fe73c9d35073c8434080eee388ca8fe49a68d09d6f794ccaa35a4ae2112a9 languageName: node linkType: hard -"react@npm:^18.2.0": +"react@npm:^18.3.1": version: 18.3.1 resolution: "react@npm:18.3.1" dependencies: @@ -18778,7 +18661,7 @@ __metadata: languageName: node linkType: hard -"react@npm:^19, react@npm:^19.1.0": +"react@npm:^19.1.0": version: 19.1.0 resolution: "react@npm:19.1.0" checksum: 10c0/530fb9a62237d54137a13d2cfb67a7db6a2156faed43eecc423f4713d9b20c6f2728b026b45e28fcd72e8eadb9e9ed4b089e99f5e295d2f0ad3134251bdd3698 @@ -19051,18 +18934,19 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4, reflect.getprototypeof@npm:^1.0.6": - version: 1.0.7 - resolution: "reflect.getprototypeof@npm:1.0.7" +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.5" + es-abstract: "npm:^1.23.9" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - which-builtin-type: "npm:^1.1.4" - checksum: 10c0/841814f7631b55ee42e198cb14a5c25c0752431ab8f0ad9794c32d46ab9fb0d5ba4939edac1f99a174a21443a1400a72bccbbb9ccd9277e4b4bf6d14aabb31c8 + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.1" + which-builtin-type: "npm:^1.2.1" + checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac languageName: node linkType: hard @@ -19108,7 +18992,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.2, regexp.prototype.flags@npm:^1.5.3": +"regexp.prototype.flags@npm:^1.5.3": version: 1.5.3 resolution: "regexp.prototype.flags@npm:1.5.3" dependencies: @@ -19303,16 +19187,16 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.0.0, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.14.2, resolve@npm:^1.15.1, resolve@npm:^1.19.0, resolve@npm:^1.22.4, resolve@npm:^1.22.8, resolve@npm:^1.4.0": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" +"resolve@npm:^1.0.0, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.15.1, resolve@npm:^1.19.0, resolve@npm:^1.22.10, resolve@npm:^1.22.4, resolve@npm:^1.22.8, resolve@npm:^1.4.0": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 languageName: node linkType: hard @@ -19336,16 +19220,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.15.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" +"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.15.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 languageName: node linkType: hard @@ -19433,7 +19317,7 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^5.0.5": +"rimraf@npm:^5.0.10": version: 5.0.10 resolution: "rimraf@npm:5.0.10" dependencies: @@ -19472,10 +19356,10 @@ __metadata: languageName: node linkType: hard -"rsc-html-stream@npm:^0.0.5": - version: 0.0.5 - resolution: "rsc-html-stream@npm:0.0.5" - checksum: 10c0/a8c01757436228bb723ddcb3b9fe348157567699418b018e56a1b94912a62e978c498d4bc8ad2af6ece3a5558e3008af4028ab5630f57e11af10f5e4a9f98c8b +"rsc-html-stream@npm:^0.0.6": + version: 0.0.6 + resolution: "rsc-html-stream@npm:0.0.6" + checksum: 10c0/b405a90b2d0e017b0fdbe6209f925efc1690dd1074a4ac1171d7ee20297a31bcde375e275bd4a992f104b2de70744d7605b4f6c76addb4a50e2cad6521524742 languageName: node linkType: hard @@ -19513,15 +19397,16 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.1.2": - version: 1.1.2 - resolution: "safe-array-concat@npm:1.1.2" +"safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - has-symbols: "npm:^1.0.3" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + has-symbols: "npm:^1.1.0" isarray: "npm:^2.0.5" - checksum: 10c0/12f9fdb01c8585e199a347eacc3bae7b5164ae805cdc8c6707199dbad5b9e30001a50a43c4ee24dc9ea32dbb7279397850e9208a7e217f4d8b1cf5d90129dec9 + checksum: 10c0/43c86ffdddc461fb17ff8a17c5324f392f4868f3c7dd2c6a5d9f5971713bc5fd755667212c80eab9567595f9a7509cc2f83e590ddaebd1bd19b780f9c79f9a8d languageName: node linkType: hard @@ -19539,14 +19424,24 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + isarray: "npm:^2.0.5" + checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.0.3, safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.6" + call-bound: "npm:^1.0.2" es-errors: "npm:^1.3.0" - is-regex: "npm:^1.1.4" - checksum: 10c0/900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603 + is-regex: "npm:^1.2.1" + checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 languageName: node linkType: hard @@ -19566,9 +19461,9 @@ __metadata: languageName: node linkType: hard -"sass@npm:^1.38.0": - version: 1.81.0 - resolution: "sass@npm:1.81.0" +"sass@npm:^1.88.0": + version: 1.88.0 + resolution: "sass@npm:1.88.0" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -19579,7 +19474,7 @@ __metadata: optional: true bin: sass: sass.js - checksum: 10c0/9c59b3c9b4231c18fcb4583cc232dbc4de501ddc11101b7a025e44833e3f3ce6031546dc1cd109ee9f04ebcfb1fe30ff870810af33b8feb9aa9e36dfba9ec1ef + checksum: 10c0/dcb16dc29116bfa5a90485d24fd8020d2b0d95155bd2e31285901588729343b59fefe44365c5f146b2ba5a9ebadef90b23a7220b902507bdbd91ca2ba0a0b688 languageName: node linkType: hard @@ -19685,12 +19580,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.6.3": - version: 7.6.3 - resolution: "semver@npm:7.6.3" +"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.6.3, semver@npm:^7.7.1": + version: 7.7.1 + resolution: "semver@npm:7.7.1" bin: semver: bin/semver.js - checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 languageName: node linkType: hard @@ -19724,7 +19619,7 @@ __metadata: languageName: node linkType: hard -"serve-handler@npm:^6.0.0": +"serve-handler@npm:^6.1.6": version: 6.1.6 resolution: "serve-handler@npm:6.1.6" dependencies: @@ -19758,7 +19653,7 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.2.1": +"set-function-length@npm:^1.2.2": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" dependencies: @@ -19772,7 +19667,7 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": +"set-function-name@npm:^2.0.2": version: 2.0.2 resolution: "set-function-name@npm:2.0.2" dependencies: @@ -19791,6 +19686,17 @@ __metadata: languageName: node linkType: hard +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a + languageName: node + linkType: hard + "set-value@npm:^2.0.0, set-value@npm:^2.0.1": version: 2.0.1 resolution: "set-value@npm:2.0.1" @@ -19953,15 +19859,51 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": - version: 1.0.6 - resolution: "side-channel@npm:1.0.6" +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" dependencies: - call-bind: "npm:^1.0.7" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - object-inspect: "npm:^1.13.1" - checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 languageName: node linkType: hard @@ -19994,7 +19936,7 @@ __metadata: languageName: node linkType: hard -"simple-git@npm:^3.21.0": +"simple-git@npm:^3.27.0": version: 3.27.0 resolution: "simple-git@npm:3.27.0" dependencies: @@ -20014,7 +19956,7 @@ __metadata: languageName: node linkType: hard -"sinon@npm:^7.3.1": +"sinon@npm:^7.5.0": version: 7.5.0 resolution: "sinon@npm:7.5.0" dependencies: @@ -20154,17 +20096,7 @@ __metadata: languageName: node linkType: hard -"socks@npm:^2.6.2": - version: 2.8.3 - resolution: "socks@npm:2.8.3" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 - languageName: node - linkType: hard - -"socks@npm:^2.8.3": +"socks@npm:^2.6.2, socks@npm:^2.8.3": version: 2.8.4 resolution: "socks@npm:2.8.4" dependencies: @@ -20456,7 +20388,7 @@ __metadata: languageName: node linkType: hard -"stream-http@npm:^3.1.0": +"stream-http@npm:^3.2.0": version: 3.2.0 resolution: "stream-http@npm:3.2.0" dependencies: @@ -20550,23 +20482,24 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.11": - version: 4.0.11 - resolution: "string.prototype.matchall@npm:4.0.11" +"string.prototype.matchall@npm:^4.0.12": + version: 4.0.12 + resolution: "string.prototype.matchall@npm:4.0.12" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" + es-abstract: "npm:^1.23.6" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - regexp.prototype.flags: "npm:^1.5.2" + get-intrinsic: "npm:^1.2.6" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + regexp.prototype.flags: "npm:^1.5.3" set-function-name: "npm:^2.0.2" - side-channel: "npm:^1.0.6" - checksum: 10c0/915a2562ac9ab5e01b7be6fd8baa0b2b233a0a9aa975fcb2ec13cc26f08fb9a3e85d5abdaa533c99c6fc4c5b65b914eba3d80c4aff9792a4c9fed403f28f7d9d + side-channel: "npm:^1.1.0" + checksum: 10c0/1a53328ada73f4a77f1fdf1c79414700cf718d0a8ef6672af5603e709d26a24f2181208144aed7e858b1bcc1a0d08567a570abfb45567db4ae47637ed2c2f85c languageName: node linkType: hard @@ -20580,26 +20513,30 @@ __metadata: languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.9": - version: 1.2.9 - resolution: "string.prototype.trim@npm:1.2.9" +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-data-property: "npm:^1.1.4" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.0" + es-abstract: "npm:^1.23.5" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/dcef1a0fb61d255778155006b372dff8cc6c4394bc39869117e4241f41a2c52899c0d263ffc7738a1f9e61488c490b05c0427faa15151efad721e1a9fb2663c2 + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8 languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimend@npm:1.0.8" +"string.prototype.trimend@npm:^1.0.8, string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" define-properties: "npm:^1.2.1" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c + checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6 languageName: node linkType: hard @@ -20752,15 +20689,15 @@ __metadata: languageName: node linkType: hard -"stylehacks@npm:^7.0.4": - version: 7.0.4 - resolution: "stylehacks@npm:7.0.4" +"stylehacks@npm:^7.0.5": + version: 7.0.5 + resolution: "stylehacks@npm:7.0.5" dependencies: - browserslist: "npm:^4.23.3" - postcss-selector-parser: "npm:^6.1.2" + browserslist: "npm:^4.24.5" + postcss-selector-parser: "npm:^7.1.0" peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/b4d0b280ba274503ecc04111cc11c713e0d65db079fbcd8b42d6350be1cca20e28611eddee93b419aa208176a0d3a5fff83d83ef958d1876713809b6a2787c0c + postcss: ^8.4.32 + checksum: 10c0/66a15cbbac00b15ee68d01bdaf8b044c8e4e9e13fc27a6971d4ec39f09553769bf1e11245abe21393b8fead66255cf2e03d84265e3ee265bd6183eb499f8774a languageName: node linkType: hard @@ -20907,22 +20844,22 @@ __metadata: languageName: node linkType: hard -"table@npm:^6.8.1": - version: 6.8.2 - resolution: "table@npm:6.8.2" +"table@npm:^6.9.0": + version: 6.9.0 + resolution: "table@npm:6.9.0" dependencies: ajv: "npm:^8.0.1" lodash.truncate: "npm:^4.4.2" slice-ansi: "npm:^4.0.0" string-width: "npm:^4.2.3" strip-ansi: "npm:^6.0.1" - checksum: 10c0/f8b348af38ee34e419d8ce7306ba00671ce6f20e861ccff22555f491ba264e8416086063ce278a8d81abfa8d23b736ec2cca7ac4029b5472f63daa4b4688b803 + checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4 languageName: node linkType: hard -"tailwindcss@npm:^3.0.2": - version: 3.4.15 - resolution: "tailwindcss@npm:3.4.15" +"tailwindcss@npm:^3.4.17": + version: 3.4.17 + resolution: "tailwindcss@npm:3.4.17" dependencies: "@alloc/quick-lru": "npm:^5.2.0" arg: "npm:^5.0.2" @@ -20933,7 +20870,7 @@ __metadata: glob-parent: "npm:^6.0.2" is-glob: "npm:^4.0.3" jiti: "npm:^1.21.6" - lilconfig: "npm:^2.1.0" + lilconfig: "npm:^3.1.3" micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" object-hash: "npm:^3.0.0" @@ -20949,7 +20886,7 @@ __metadata: bin: tailwind: lib/cli.js tailwindcss: lib/cli.js - checksum: 10c0/709058837c5adf0b7e1386ba353983dcf2af3d390e8822fac8d53ecaaad0f6f040fd3050b1db636e2abd46ae775317a89b350ce925477ea96cca8f6c56d901df + checksum: 10c0/cc42c6e7fdf88a5507a0d7fea37f1b4122bec158977f8c017b2ae6828741f9e6f8cb90282c6bf2bd5951fd1220a53e0a50ca58f5c1c00eb7f5d9f8b80dc4523c languageName: node linkType: hard @@ -21090,9 +21027,9 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.14.2, terser@npm:^5.2.0": - version: 5.36.0 - resolution: "terser@npm:5.36.0" +"terser@npm:^5.39.0": + version: 5.39.0 + resolution: "terser@npm:5.39.0" dependencies: "@jridgewell/source-map": "npm:^0.3.3" acorn: "npm:^8.8.2" @@ -21100,7 +21037,7 @@ __metadata: source-map-support: "npm:~0.5.20" bin: terser: bin/terser - checksum: 10c0/f4ed2bead19f64789ddcfb85b7cef78f3942f967b8890c54f57d1e35bc7d547d551c6a4c32210bce6ba45b1c738314bbfac6acbc6c762a45cd171777d0c120d9 + checksum: 10c0/83326545ea1aecd6261030568b6191ccfa4cb6aa61d9ea41746a52479f50017a78b77e4725fbbc207c5df841ffa66a773c5ac33636e95c7ab94fe7e0379ae5c7 languageName: node linkType: hard @@ -21195,7 +21132,7 @@ __metadata: languageName: node linkType: hard -"timers-browserify@npm:^2.0.11": +"timers-browserify@npm:^2.0.12": version: 2.0.12 resolution: "timers-browserify@npm:2.0.12" dependencies: @@ -21204,13 +21141,6 @@ __metadata: languageName: node linkType: hard -"timsort@npm:^0.3.0": - version: 0.3.0 - resolution: "timsort@npm:0.3.0" - checksum: 10c0/571b2054a0db3cf80eb255f8609a1f798cae9176f9ec6e3fbd03d64186c015cc9e1e75b88ba38e1d71aebcc03a931352522c7387dcb90caeb148375c7bc106f4 - languageName: node - linkType: hard - "tinyglobby@npm:^0.2.12": version: 0.2.13 resolution: "tinyglobby@npm:0.2.13" @@ -21573,46 +21503,46 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-buffer@npm:1.0.2" +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" dependencies: - call-bind: "npm:^1.0.7" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "typed-array-byte-length@npm:1.0.1" +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3 + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.2": - version: 1.0.3 - resolution: "typed-array-byte-offset@npm:1.0.3" +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" dependencies: available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - reflect.getprototypeof: "npm:^1.0.6" - checksum: 10c0/5da29585f96671c0521475226d3227000b3e01d1e99208b66bb05b75c7c8f4d0e9cc2e79920f3bfbc792a00102df1daa2608a2753e3f291b671d5a80245bde5b + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.15" + reflect.getprototypeof: "npm:^1.0.9" + checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53 languageName: node linkType: hard -"typed-array-length@npm:^1.0.6": +"typed-array-length@npm:^1.0.7": version: 1.0.7 resolution: "typed-array-length@npm:1.0.7" dependencies: @@ -21699,15 +21629,15 @@ __metadata: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.2" + call-bound: "npm:^1.0.3" has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.0.3" - which-boxed-primitive: "npm:^1.0.2" - checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 + has-symbols: "npm:^1.1.0" + which-boxed-primitive: "npm:^1.1.1" + checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982 languageName: node linkType: hard @@ -21750,10 +21680,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.19.8": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 languageName: node linkType: hard @@ -21952,17 +21882,17 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.1": - version: 1.1.1 - resolution: "update-browserslist-db@npm:1.1.1" +"update-browserslist-db@npm:^1.1.3": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" dependencies: escalade: "npm:^3.2.0" - picocolors: "npm:^1.1.0" + picocolors: "npm:^1.1.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80 + checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 languageName: node linkType: hard @@ -21989,7 +21919,7 @@ __metadata: languageName: node linkType: hard -"url@npm:^0.11.0": +"url@npm:^0.11.4": version: 0.11.4 resolution: "url@npm:0.11.4" dependencies: @@ -22013,7 +21943,7 @@ __metadata: languageName: node linkType: hard -"util@npm:^0.12.3, util@npm:^0.12.5": +"util@npm:^0.12.5": version: 0.12.5 resolution: "util@npm:0.12.5" dependencies: @@ -22026,7 +21956,7 @@ __metadata: languageName: node linkType: hard -"utility-types@npm:^3.10.0": +"utility-types@npm:^3.11.0": version: 3.11.0 resolution: "utility-types@npm:3.11.0" checksum: 10c0/2f1580137b0c3e6cf5405f37aaa8f5249961a76d26f1ca8efc0ff49a2fc0e0b2db56de8e521a174d075758e0c7eb3e590edec0832eb44478b958f09914920f19 @@ -22056,7 +21986,7 @@ __metadata: languageName: node linkType: hard -"v8-compile-cache@npm:^2.0.0": +"v8-compile-cache@npm:^2.4.0": version: 2.4.0 resolution: "v8-compile-cache@npm:2.4.0" checksum: 10c0/387851192545e7f4d691ba674de90890bba76c0f08ee4909ab862377f556221e75b3a361466490e201203401d64d7795f889882bdabc98b6f3c0bf1038a535be @@ -22235,14 +22165,14 @@ __metadata: languageName: node linkType: hard -"vscode-jsonrpc@npm:^8.0.2": +"vscode-jsonrpc@npm:^8.2.1": version: 8.2.1 resolution: "vscode-jsonrpc@npm:8.2.1" checksum: 10c0/595e07f779112d979d9cd37a00e4b973c39da09dd7c35b149f9fb7857c87db00d0ece7772c5a6f65cc19e38afc4fc64f8130d2f0e6b5f7fc160a0fc6b94e8c07 languageName: node linkType: hard -"vscode-languageclient@npm:^8.0.2": +"vscode-languageclient@npm:^8.1.0": version: 8.1.0 resolution: "vscode-languageclient@npm:8.1.0" dependencies: @@ -22263,7 +22193,7 @@ __metadata: languageName: node linkType: hard -"vscode-languageserver-textdocument@npm:^1.0.0": +"vscode-languageserver-textdocument@npm:^1.0.12": version: 1.0.12 resolution: "vscode-languageserver-textdocument@npm:1.0.12" checksum: 10c0/534349894b059602c4d97615a1147b6c4c031141c2093e59657f54e38570f5989c21b376836f13b9375419869242e9efb4066643208b21ab1e1dee111a0f00fb @@ -22277,7 +22207,7 @@ __metadata: languageName: node linkType: hard -"vscode-languageserver@npm:^8.0.2": +"vscode-languageserver@npm:^8.1.0": version: 8.1.0 resolution: "vscode-languageserver@npm:8.1.0" dependencies: @@ -22288,7 +22218,7 @@ __metadata: languageName: node linkType: hard -"vscode-test@npm:^1.5.0": +"vscode-test@npm:^1.6.1": version: 1.6.1 resolution: "vscode-test@npm:1.6.1" dependencies: @@ -22416,37 +22346,37 @@ __metadata: languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" dependencies: - is-bigint: "npm:^1.0.1" - is-boolean-object: "npm:^1.1.0" - is-number-object: "npm:^1.0.4" - is-string: "npm:^1.0.5" - is-symbol: "npm:^1.0.3" - checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e + is-bigint: "npm:^1.1.0" + is-boolean-object: "npm:^1.2.1" + is-number-object: "npm:^1.1.1" + is-string: "npm:^1.1.1" + is-symbol: "npm:^1.1.1" + checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe languageName: node linkType: hard -"which-builtin-type@npm:^1.1.4": - version: 1.2.0 - resolution: "which-builtin-type@npm:1.2.0" +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" dependencies: - call-bind: "npm:^1.0.7" + call-bound: "npm:^1.0.2" function.prototype.name: "npm:^1.1.6" has-tostringtag: "npm:^1.0.2" is-async-function: "npm:^2.0.0" - is-date-object: "npm:^1.0.5" + is-date-object: "npm:^1.1.0" is-finalizationregistry: "npm:^1.1.0" is-generator-function: "npm:^1.0.10" - is-regex: "npm:^1.1.4" + is-regex: "npm:^1.2.1" is-weakref: "npm:^1.0.2" isarray: "npm:^2.0.5" - which-boxed-primitive: "npm:^1.0.2" + which-boxed-primitive: "npm:^1.1.0" which-collection: "npm:^1.0.2" - which-typed-array: "npm:^1.1.15" - checksum: 10c0/7cd4a8ccfa6a3cb7c2296c716e7266b9f31a66f3e131fe7b185232c16d3ad21442046ec1798c4ec1e19dce7eb99c7751377192e5e734dc07042d14ec0f09b332 + which-typed-array: "npm:^1.1.16" + checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471 languageName: node linkType: hard @@ -22469,16 +22399,18 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.2": - version: 1.1.15 - resolution: "which-typed-array@npm:1.1.15" +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.2": + version: 1.1.19 + resolution: "which-typed-array@npm:1.1.19" dependencies: available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + for-each: "npm:^0.3.5" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" has-tostringtag: "npm:^1.0.2" - checksum: 10c0/4465d5348c044032032251be54d8988270e69c6b7154f8fcb2a47ff706fe36f7624b3a24246b8d9089435a8f4ec48c1c1025c5d6b499456b9e5eff4f48212983 + checksum: 10c0/702b5dc878addafe6c6300c3d0af5983b175c75fcb4f2a72dfc3dd38d93cf9e89581e4b29c854b16ea37e50a7d7fca5ae42ece5c273d8060dcd603b2404bbb3f languageName: node linkType: hard @@ -22683,9 +22615,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.18.0": - version: 8.18.0 - resolution: "ws@npm:8.18.0" +"ws@npm:^8.18.0, ws@npm:^8.18.2": + version: 8.18.2 + resolution: "ws@npm:8.18.2" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -22694,7 +22626,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + checksum: 10c0/4b50f67931b8c6943c893f59c524f0e4905bbd183016cfb0f2b8653aa7f28dad4e456b9d99d285bbb67cca4fedd9ce90dfdfaa82b898a11414ebd66ee99141e4 languageName: node linkType: hard From 43c13ea8b07f5a073edd8a4702d2851c05568a11 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 18:48:52 -0700 Subject: [PATCH 1032/1076] v2.15.0 --- CHANGELOG.md | 24 + packages/bundlers/default/package.json | 14 +- packages/bundlers/library/package.json | 6 +- packages/compressors/brotli/package.json | 6 +- packages/compressors/gzip/package.json | 6 +- packages/compressors/raw/package.json | 6 +- packages/configs/default/package.json | 116 +- packages/configs/repl/package.json | 50 +- packages/configs/webextension/package.json | 14 +- packages/core/cache/package.json | 10 +- packages/core/codeframe/package.json | 2 +- packages/core/core/package.json | 32 +- packages/core/diagnostic/package.json | 2 +- packages/core/feature-flags/package.json | 2 +- packages/core/fs/package.json | 16 +- packages/core/graph/package.json | 4 +- packages/core/integration-tests/package.json | 4 +- packages/core/logger/package.json | 6 +- packages/core/markdown-ansi/package.json | 2 +- packages/core/package-manager/package.json | 18 +- packages/core/parcel/package.json | 28 +- packages/core/plugin/package.json | 4 +- packages/core/profiler/package.json | 8 +- packages/core/register/package.json | 10 +- packages/core/rust-darwin-arm64/package.json | 2 +- packages/core/rust-darwin-x64/package.json | 2 +- .../rust-linux-arm-gnueabihf/package.json | 2 +- .../core/rust-linux-arm64-gnu/package.json | 2 +- .../core/rust-linux-arm64-musl/package.json | 2 +- packages/core/rust-linux-x64-gnu/package.json | 2 +- .../core/rust-linux-x64-musl/package.json | 2 +- .../core/rust-win32-x64-msvc/package.json | 2 +- packages/core/rust/package.json | 18 +- packages/core/test-utils/package.json | 12 +- packages/core/types-internal/package.json | 6 +- packages/core/types/package.json | 6 +- packages/core/utils/package.json | 12 +- packages/core/workers/package.json | 14 +- packages/dev/babel-preset/package.json | 2 +- packages/dev/babel-register/package.json | 4 +- packages/dev/bundle-stats-cli/package.json | 16 +- .../dev/eslint-config-browser/package.json | 4 +- packages/dev/eslint-config/package.json | 4 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 6 +- packages/dev/parcel-link/package.json | 8 +- packages/dev/query/package.json | 10 +- packages/dev/repl/package.json | 10 +- packages/examples/eslint-example/package.json | 10 +- packages/examples/html/package.json | 6 +- .../examples/internalize-example/package.json | 2 +- packages/examples/kitchen-sink/package.json | 14 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 6 +- .../react-server-components/package.json | 4 +- packages/examples/react-static/package.json | 4 +- packages/examples/rsc-client/package.json | 4 +- packages/examples/simple/package.json | 6 +- packages/examples/three/package.json | 10 +- packages/examples/ts-example/package.json | 6 +- .../ts-typecheck-example/package.json | 8 +- packages/namers/default/package.json | 8 +- packages/optimizers/blob-url/package.json | 8 +- packages/optimizers/css/package.json | 10 +- packages/optimizers/cssnano/package.json | 6 +- packages/optimizers/data-url/package.json | 8 +- packages/optimizers/esbuild/package.json | 10 +- packages/optimizers/html/package.json | 10 +- packages/optimizers/htmlnano/package.json | 10 +- packages/optimizers/image/package.json | 16 +- .../optimizers/inline-requires/package.json | 8 +- packages/optimizers/svg/package.json | 10 +- packages/optimizers/svgo/package.json | 10 +- packages/optimizers/swc/package.json | 10 +- packages/optimizers/terser/package.json | 10 +- packages/packagers/css/package.json | 10 +- packages/packagers/html/package.json | 12 +- packages/packagers/js/package.json | 14 +- packages/packagers/raw-url/package.json | 8 +- packages/packagers/raw/package.json | 6 +- packages/packagers/react-static/package.json | 14 +- packages/packagers/svg/package.json | 12 +- packages/packagers/ts/package.json | 6 +- packages/packagers/wasm/package.json | 6 +- packages/packagers/webextension/package.json | 8 +- packages/packagers/xml/package.json | 10 +- packages/reporters/build-metrics/package.json | 8 +- .../reporters/bundle-analyzer/package.json | 10 +- packages/reporters/bundle-buddy/package.json | 6 +- packages/reporters/bundle-stats/package.json | 12 +- packages/reporters/cli/package.json | 12 +- packages/reporters/dev-server-sw/package.json | 8 +- packages/reporters/dev-server/package.json | 16 +- packages/reporters/json/package.json | 10 +- packages/reporters/lsp-reporter/package.json | 10 +- .../sourcemap-visualiser/package.json | 10 +- packages/reporters/tracer/package.json | 8 +- packages/resolvers/default/package.json | 8 +- packages/resolvers/glob/package.json | 12 +- packages/resolvers/repl-runtimes/package.json | 4 +- packages/runtimes/hmr/package.json | 8 +- packages/runtimes/js/package.json | 10 +- packages/runtimes/rsc/package.json | 10 +- packages/runtimes/service-worker/package.json | 8 +- packages/runtimes/webextension/package.json | 8 +- packages/transformers/babel/package.json | 12 +- .../transformers/coffeescript/package.json | 8 +- packages/transformers/css/package.json | 10 +- packages/transformers/elm/package.json | 8 +- packages/transformers/glsl/package.json | 6 +- packages/transformers/graphql/package.json | 6 +- packages/transformers/html/package.json | 10 +- packages/transformers/image/package.json | 12 +- .../transformers/inline-string/package.json | 6 +- packages/transformers/inline/package.json | 6 +- packages/transformers/js/package.json | 16 +- packages/transformers/json/package.json | 6 +- packages/transformers/jsonld/package.json | 8 +- packages/transformers/less/package.json | 6 +- packages/transformers/node/package.json | 6 +- packages/transformers/postcss/package.json | 12 +- packages/transformers/posthtml/package.json | 8 +- packages/transformers/pug/package.json | 6 +- packages/transformers/raw/package.json | 6 +- .../react-refresh-wrap/package.json | 10 +- .../transformers/react-static/package.json | 6 +- packages/transformers/sass/package.json | 6 +- packages/transformers/stylus/package.json | 8 +- packages/transformers/sugarss/package.json | 6 +- packages/transformers/svg-jsx/package.json | 12 +- packages/transformers/svg-react/package.json | 10 +- packages/transformers/svg/package.json | 10 +- packages/transformers/toml/package.json | 6 +- .../transformers/typescript-tsc/package.json | 8 +- .../typescript-types/package.json | 12 +- packages/transformers/vue/package.json | 10 +- .../transformers/webextension/package.json | 10 +- .../transformers/webmanifest/package.json | 10 +- packages/transformers/worklet/package.json | 6 +- packages/transformers/xml/package.json | 6 +- packages/transformers/yaml/package.json | 6 +- .../package.json | 4 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/create-parcel/package.json | 2 +- packages/utils/create-react-app/package.json | 4 +- packages/utils/error-overlay/package.json | 2 +- packages/utils/events/package.json | 2 +- packages/utils/macros/package.json | 4 +- .../utils/node-resolver-core/package.json | 10 +- .../utils/parcel-lsp-protocol/package.json | 2 +- packages/utils/parcel-lsp/package.json | 6 +- .../parcel-watcher-watchman-js/package.json | 6 +- packages/utils/parcelforvscode/package.json | 6 +- packages/utils/rsc/package.json | 2 +- packages/utils/service-worker/package.json | 4 +- packages/utils/ts-utils/package.json | 2 +- packages/validators/eslint/package.json | 10 +- packages/validators/typescript/package.json | 14 +- yarn.lock | 1038 ++++++++--------- 159 files changed, 1243 insertions(+), 1219 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e255d48db19..081d03882a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,30 @@ All notable changes to Parcel will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and Parcel adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.15.0] - 2025-05-11 + +### Added + +- Core + - Distribute Rust binaries for each architecture as separate npm packages – [Details](https://github.com/parcel-bundler/parcel/commit/396c3941f74dc509ee7fe4c60bff8b2c7ecf78a4) + +- HTML and SVG + - Add Rust-based transformer/packager/optimizer for HTML and SVG – [Details](https://github.com/parcel-bundler/parcel/pull/10090) + +- Resolver + - Support `cloudflare:` scheme and no longer rewrite node: scheme – [Details](https://github.com/parcel-bundler/parcel/commit/ccd4d462f27856f9ef4adbd9ac31d0b2e8092aee) + +### Fixed + +- Core + - Avoid segmentation fault on thread exit on Linux – [Details](https://github.com/parcel-bundler/parcel/pull/10144) + - Support older GLIBC versions on Linux – [Details](https://github.com/parcel-bundler/parcel/pull/10145) + +- JavaScript + - Include all symbols in non-browser entries – [Details](https://github.com/parcel-bundler/parcel/commit/40ebdcd87a4bb51df3b060a05aad005595de8558) + - Update swc and mdx-rs – [Details](https://github.com/parcel-bundler/parcel/commit/3d72dd007ba377c037bd66ca5fa20db6e5a09fcb) + - Fix exporting objects with non-configurable prototypes from React Server Components – [Details](https://github.com/parcel-bundler/parcel/commit/f7d5ffd735f723f639f7cb863c899d09e95d46c9) + ## [2.14.4] - 2025-03-29 ### Fixed diff --git a/packages/bundlers/default/package.json b/packages/bundlers/default/package.json index e4dadb9fee5..0542433da82 100644 --- a/packages/bundlers/default/package.json +++ b/packages/bundlers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-default", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/DefaultBundler.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/graph": "3.4.4", - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/graph": "3.5.0", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/bundlers/library/package.json b/packages/bundlers/library/package.json index d01083d1c11..88fe108991b 100644 --- a/packages/bundlers/library/package.json +++ b/packages/bundlers/library/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundler-library", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/LibraryBundler.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/compressors/brotli/package.json b/packages/compressors/brotli/package.json index 129d6de9c1f..fd84408cc13 100644 --- a/packages/compressors/brotli/package.json +++ b/packages/compressors/brotli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-brotli", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BrotliCompressor.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/compressors/gzip/package.json b/packages/compressors/gzip/package.json index 214a788d420..f48ef1cbd98 100644 --- a/packages/compressors/gzip/package.json +++ b/packages/compressors/gzip/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-gzip", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/GzipCompressor.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/compressors/raw/package.json b/packages/compressors/raw/package.json index 0ef3dfe7c66..146f225899c 100644 --- a/packages/compressors/raw/package.json +++ b/packages/compressors/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/compressor-raw", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawCompressor.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/configs/default/package.json b/packages/configs/default/package.json index 0b82ff15647..7591ca97a10 100644 --- a/packages/configs/default/package.json +++ b/packages/configs/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-default", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,69 +18,69 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "2.14.4", - "@parcel/compressor-raw": "2.14.4", - "@parcel/namer-default": "2.14.4", - "@parcel/optimizer-css": "2.14.4", - "@parcel/optimizer-html": "2.14.4", - "@parcel/optimizer-image": "2.14.4", - "@parcel/optimizer-svg": "2.14.4", - "@parcel/optimizer-swc": "2.14.4", - "@parcel/packager-css": "2.14.4", - "@parcel/packager-html": "2.14.4", - "@parcel/packager-js": "2.14.4", - "@parcel/packager-raw": "2.14.4", - "@parcel/packager-svg": "2.14.4", - "@parcel/packager-wasm": "2.14.4", - "@parcel/reporter-dev-server": "2.14.4", - "@parcel/resolver-default": "2.14.4", - "@parcel/runtime-browser-hmr": "2.14.4", - "@parcel/runtime-js": "2.14.4", - "@parcel/runtime-rsc": "2.14.4", - "@parcel/runtime-service-worker": "2.14.4", - "@parcel/transformer-babel": "2.14.4", - "@parcel/transformer-css": "2.14.4", - "@parcel/transformer-html": "2.14.4", - "@parcel/transformer-image": "2.14.4", - "@parcel/transformer-js": "2.14.4", - "@parcel/transformer-json": "2.14.4", - "@parcel/transformer-node": "2.14.4", - "@parcel/transformer-postcss": "2.14.4", - "@parcel/transformer-posthtml": "2.14.4", - "@parcel/transformer-raw": "2.14.4", - "@parcel/transformer-react-refresh-wrap": "2.14.4", - "@parcel/transformer-svg": "2.14.4" + "@parcel/bundler-default": "2.15.0", + "@parcel/compressor-raw": "2.15.0", + "@parcel/namer-default": "2.15.0", + "@parcel/optimizer-css": "2.15.0", + "@parcel/optimizer-html": "2.15.0", + "@parcel/optimizer-image": "2.15.0", + "@parcel/optimizer-svg": "2.15.0", + "@parcel/optimizer-swc": "2.15.0", + "@parcel/packager-css": "2.15.0", + "@parcel/packager-html": "2.15.0", + "@parcel/packager-js": "2.15.0", + "@parcel/packager-raw": "2.15.0", + "@parcel/packager-svg": "2.15.0", + "@parcel/packager-wasm": "2.15.0", + "@parcel/reporter-dev-server": "2.15.0", + "@parcel/resolver-default": "2.15.0", + "@parcel/runtime-browser-hmr": "2.15.0", + "@parcel/runtime-js": "2.15.0", + "@parcel/runtime-rsc": "2.15.0", + "@parcel/runtime-service-worker": "2.15.0", + "@parcel/transformer-babel": "2.15.0", + "@parcel/transformer-css": "2.15.0", + "@parcel/transformer-html": "2.15.0", + "@parcel/transformer-image": "2.15.0", + "@parcel/transformer-js": "2.15.0", + "@parcel/transformer-json": "2.15.0", + "@parcel/transformer-node": "2.15.0", + "@parcel/transformer-postcss": "2.15.0", + "@parcel/transformer-posthtml": "2.15.0", + "@parcel/transformer-raw": "2.15.0", + "@parcel/transformer-react-refresh-wrap": "2.15.0", + "@parcel/transformer-svg": "2.15.0" }, "parcelDependencies": { - "@parcel/optimizer-data-url": "2.14.4", - "@parcel/packager-raw-url": "2.14.4", - "@parcel/packager-react-static": "2.14.4", - "@parcel/packager-ts": "2.14.4", - "@parcel/packager-xml": "2.14.4", - "@parcel/transformer-coffeescript": "2.14.4", - "@parcel/transformer-elm": "2.14.4", - "@parcel/transformer-glsl": "2.14.4", - "@parcel/transformer-graphql": "2.14.4", - "@parcel/transformer-inline-string": "2.14.4", - "@parcel/transformer-jsonld": "2.14.4", - "@parcel/transformer-less": "2.14.4", - "@parcel/transformer-pug": "2.14.4", - "@parcel/transformer-react-static": "2.14.4", - "@parcel/transformer-sass": "2.14.4", - "@parcel/transformer-stylus": "2.14.4", - "@parcel/transformer-sugarss": "2.14.4", - "@parcel/transformer-toml": "2.14.4", - "@parcel/transformer-typescript-types": "2.14.4", - "@parcel/transformer-vue": "2.14.4", - "@parcel/transformer-webmanifest": "2.14.4", - "@parcel/transformer-worklet": "2.14.4", - "@parcel/transformer-xml": "2.14.4", - "@parcel/transformer-yaml": "2.14.4" + "@parcel/optimizer-data-url": "2.15.0", + "@parcel/packager-raw-url": "2.15.0", + "@parcel/packager-react-static": "2.15.0", + "@parcel/packager-ts": "2.15.0", + "@parcel/packager-xml": "2.15.0", + "@parcel/transformer-coffeescript": "2.15.0", + "@parcel/transformer-elm": "2.15.0", + "@parcel/transformer-glsl": "2.15.0", + "@parcel/transformer-graphql": "2.15.0", + "@parcel/transformer-inline-string": "2.15.0", + "@parcel/transformer-jsonld": "2.15.0", + "@parcel/transformer-less": "2.15.0", + "@parcel/transformer-pug": "2.15.0", + "@parcel/transformer-react-static": "2.15.0", + "@parcel/transformer-sass": "2.15.0", + "@parcel/transformer-stylus": "2.15.0", + "@parcel/transformer-sugarss": "2.15.0", + "@parcel/transformer-toml": "2.15.0", + "@parcel/transformer-typescript-types": "2.15.0", + "@parcel/transformer-vue": "2.15.0", + "@parcel/transformer-webmanifest": "2.15.0", + "@parcel/transformer-worklet": "2.15.0", + "@parcel/transformer-xml": "2.15.0", + "@parcel/transformer-yaml": "2.15.0" }, "optionalParcelDependencies": [ "@parcel/transformer-mdx" ], "peerDependencies": { - "@parcel/core": "^2.14.4" + "@parcel/core": "^2.15.0" } } diff --git a/packages/configs/repl/package.json b/packages/configs/repl/package.json index 9079fb0a24d..06717d99ffc 100644 --- a/packages/configs/repl/package.json +++ b/packages/configs/repl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-repl", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "repository": { @@ -12,29 +12,29 @@ "test-ci": "mocha" }, "dependencies": { - "@parcel/bundler-default": "2.14.4", - "@parcel/compressor-raw": "2.14.4", - "@parcel/namer-default": "2.14.4", - "@parcel/optimizer-terser": "2.14.4", - "@parcel/packager-css": "2.14.4", - "@parcel/packager-html": "2.14.4", - "@parcel/packager-js": "2.14.4", - "@parcel/packager-raw": "2.14.4", - "@parcel/reporter-dev-server-sw": "2.14.4", - "@parcel/reporter-json": "2.14.4", - "@parcel/resolver-default": "2.14.4", - "@parcel/resolver-repl-runtimes": "2.14.4", - "@parcel/runtime-browser-hmr": "2.14.4", - "@parcel/runtime-js": "2.14.4", - "@parcel/transformer-babel": "2.14.4", - "@parcel/transformer-css": "2.14.4", - "@parcel/transformer-html": "2.14.4", - "@parcel/transformer-inline-string": "2.14.4", - "@parcel/transformer-js": "2.14.4", - "@parcel/transformer-json": "2.14.4", - "@parcel/transformer-postcss": "2.14.4", - "@parcel/transformer-posthtml": "2.14.4", - "@parcel/transformer-raw": "2.14.4", - "@parcel/transformer-react-refresh-wrap": "2.14.4" + "@parcel/bundler-default": "2.15.0", + "@parcel/compressor-raw": "2.15.0", + "@parcel/namer-default": "2.15.0", + "@parcel/optimizer-terser": "2.15.0", + "@parcel/packager-css": "2.15.0", + "@parcel/packager-html": "2.15.0", + "@parcel/packager-js": "2.15.0", + "@parcel/packager-raw": "2.15.0", + "@parcel/reporter-dev-server-sw": "2.15.0", + "@parcel/reporter-json": "2.15.0", + "@parcel/resolver-default": "2.15.0", + "@parcel/resolver-repl-runtimes": "2.15.0", + "@parcel/runtime-browser-hmr": "2.15.0", + "@parcel/runtime-js": "2.15.0", + "@parcel/transformer-babel": "2.15.0", + "@parcel/transformer-css": "2.15.0", + "@parcel/transformer-html": "2.15.0", + "@parcel/transformer-inline-string": "2.15.0", + "@parcel/transformer-js": "2.15.0", + "@parcel/transformer-json": "2.15.0", + "@parcel/transformer-postcss": "2.15.0", + "@parcel/transformer-posthtml": "2.15.0", + "@parcel/transformer-raw": "2.15.0", + "@parcel/transformer-react-refresh-wrap": "2.15.0" } } diff --git a/packages/configs/webextension/package.json b/packages/configs/webextension/package.json index 8daca9931ee..0b10fb60d7c 100644 --- a/packages/configs/webextension/package.json +++ b/packages/configs/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/config-webextension", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,13 +15,13 @@ }, "main": "index.json", "dependencies": { - "@parcel/config-default": "2.14.4", - "@parcel/packager-webextension": "2.14.4", - "@parcel/runtime-webextension": "2.14.4", - "@parcel/transformer-raw": "2.14.4", - "@parcel/transformer-webextension": "2.14.4" + "@parcel/config-default": "2.15.0", + "@parcel/packager-webextension": "2.15.0", + "@parcel/runtime-webextension": "2.15.0", + "@parcel/transformer-raw": "2.15.0", + "@parcel/transformer-webextension": "2.15.0" }, "peerDependencies": { - "@parcel/core": "^2.14.4" + "@parcel/core": "^2.15.0" } } diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 53a2c4ba063..1ac65a28bf3 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/cache", "description": "Interface for defining caches and file-system, IDB and LMDB implementations.", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -25,13 +25,13 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/fs": "2.14.4", - "@parcel/logger": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/fs": "2.15.0", + "@parcel/logger": "2.15.0", + "@parcel/utils": "2.15.0", "lmdb": "2.8.5" }, "peerDependencies": { - "@parcel/core": "^2.14.4" + "@parcel/core": "^2.15.0" }, "devDependencies": { "idb": "^5.0.8" diff --git a/packages/core/codeframe/package.json b/packages/core/codeframe/package.json index ba843fd71b0..cddf4e9ec4c 100644 --- a/packages/core/codeframe/package.json +++ b/packages/core/codeframe/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/codeframe", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { diff --git a/packages/core/core/package.json b/packages/core/core/package.json index d7e7c27552d..0f902b065e8 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/core", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -25,21 +25,21 @@ }, "dependencies": { "@mischnic/json-sourcemap": "^0.1.1", - "@parcel/cache": "2.14.4", - "@parcel/diagnostic": "2.14.4", - "@parcel/events": "2.14.4", - "@parcel/feature-flags": "2.14.4", - "@parcel/fs": "2.14.4", - "@parcel/graph": "3.4.4", - "@parcel/logger": "2.14.4", - "@parcel/package-manager": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/profiler": "2.14.4", - "@parcel/rust": "2.14.4", + "@parcel/cache": "2.15.0", + "@parcel/diagnostic": "2.15.0", + "@parcel/events": "2.15.0", + "@parcel/feature-flags": "2.15.0", + "@parcel/fs": "2.15.0", + "@parcel/graph": "3.5.0", + "@parcel/logger": "2.15.0", + "@parcel/package-manager": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/profiler": "2.15.0", + "@parcel/rust": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4", - "@parcel/workers": "2.14.4", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0", + "@parcel/workers": "2.15.0", "base-x": "^3.0.11", "browserslist": "^4.24.5", "clone": "^2.1.2", @@ -51,7 +51,7 @@ "semver": "^7.7.1" }, "devDependencies": { - "@parcel/babel-register": "2.14.4", + "@parcel/babel-register": "2.15.0", "@types/node": "^22.15.17", "graphviz": "^0.0.9", "tempy": "^0.2.1" diff --git a/packages/core/diagnostic/package.json b/packages/core/diagnostic/package.json index 3f8bbba3b0d..c6dd8f91cf5 100644 --- a/packages/core/diagnostic/package.json +++ b/packages/core/diagnostic/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/diagnostic", - "version": "2.14.4", + "version": "2.15.0", "description": "Types and utilities for printing source-code located errors, warning and information messages.", "license": "MIT", "publishConfig": { diff --git a/packages/core/feature-flags/package.json b/packages/core/feature-flags/package.json index bba8e5d4260..f417af048ef 100644 --- a/packages/core/feature-flags/package.json +++ b/packages/core/feature-flags/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/feature-flags", - "version": "2.14.4", + "version": "2.15.0", "description": "Provides internal feature-flags for the parcel codebase.", "license": "MIT", "publishConfig": { diff --git a/packages/core/fs/package.json b/packages/core/fs/package.json index 0b53eb4329e..a9dd8512374 100644 --- a/packages/core/fs/package.json +++ b/packages/core/fs/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/fs", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -52,22 +52,22 @@ "check-ts": "tsc --noEmit index.d.ts" }, "dependencies": { - "@parcel/feature-flags": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/types-internal": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/feature-flags": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/types-internal": "2.15.0", + "@parcel/utils": "2.15.0", "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.14.4" + "@parcel/workers": "2.15.0" }, "devDependencies": { - "@parcel/watcher-watchman-js": "2.14.4", + "@parcel/watcher-watchman-js": "2.15.0", "graceful-fs": "^4.2.11", "ncp": "^2.0.0", "nullthrows": "^1.1.1", "utility-types": "^3.11.0" }, "peerDependencies": { - "@parcel/core": "^2.14.4" + "@parcel/core": "^2.15.0" }, "browser": { "./src/NodeFS.js": "./src/NodeFS.browser.js", diff --git a/packages/core/graph/package.json b/packages/core/graph/package.json index 7584f182347..ad2dc41eff9 100644 --- a/packages/core/graph/package.json +++ b/packages/core/graph/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/graph", - "version": "3.4.4", + "version": "3.5.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 16.0.0" }, "dependencies": { - "@parcel/feature-flags": "2.14.4", + "@parcel/feature-flags": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/core/integration-tests/package.json b/packages/core/integration-tests/package.json index b7d8676d6ae..81046dc8862 100644 --- a/packages/core/integration-tests/package.json +++ b/packages/core/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/integration-tests", - "version": "2.14.4", + "version": "2.15.0", "private": true, "license": "MIT", "repository": { @@ -40,7 +40,7 @@ "ncp": "^2.0.0", "nib": "^1.2.0", "node-elm-compiler": "^5.0.6", - "parcel": "2.14.4", + "parcel": "2.15.0", "postcss": "^8.5.3", "postcss-custom-properties": "^12.1.11", "postcss-import": "^16.1.0", diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 3480754f6f6..3b953be6d56 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/logger", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -20,7 +20,7 @@ "node": ">= 16.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/events": "2.14.4" + "@parcel/diagnostic": "2.15.0", + "@parcel/events": "2.15.0" } } diff --git a/packages/core/markdown-ansi/package.json b/packages/core/markdown-ansi/package.json index 37783594f4a..cbaec6c88db 100644 --- a/packages/core/markdown-ansi/package.json +++ b/packages/core/markdown-ansi/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/markdown-ansi", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "publishConfig": { "access": "public" diff --git a/packages/core/package-manager/package.json b/packages/core/package-manager/package.json index a0cf5a52bf7..456fce4e20c 100644 --- a/packages/core/package-manager/package.json +++ b/packages/core/package-manager/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/package-manager", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -43,13 +43,13 @@ } }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/fs": "2.14.4", - "@parcel/logger": "2.14.4", - "@parcel/node-resolver-core": "3.5.4", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4", - "@parcel/workers": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/fs": "2.15.0", + "@parcel/logger": "2.15.0", + "@parcel/node-resolver-core": "3.6.0", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0", + "@parcel/workers": "2.15.0", "@swc/core": "^1.11.24", "semver": "^7.7.1" }, @@ -60,7 +60,7 @@ "split2": "^4.2.0" }, "peerDependencies": { - "@parcel/core": "^2.14.4" + "@parcel/core": "^2.15.0" }, "browser": { "./src/NodePackageManager.js": false, diff --git a/packages/core/parcel/package.json b/packages/core/parcel/package.json index 76c322b1bb8..9a2786783ca 100644 --- a/packages/core/parcel/package.json +++ b/packages/core/parcel/package.json @@ -1,6 +1,6 @@ { "name": "parcel", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,24 +21,24 @@ "node": ">= 16.0.0" }, "dependencies": { - "@parcel/config-default": "2.14.4", - "@parcel/core": "2.14.4", - "@parcel/diagnostic": "2.14.4", - "@parcel/events": "2.14.4", - "@parcel/feature-flags": "2.14.4", - "@parcel/fs": "2.14.4", - "@parcel/logger": "2.14.4", - "@parcel/package-manager": "2.14.4", - "@parcel/reporter-cli": "2.14.4", - "@parcel/reporter-dev-server": "2.14.4", - "@parcel/reporter-tracer": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/config-default": "2.15.0", + "@parcel/core": "2.15.0", + "@parcel/diagnostic": "2.15.0", + "@parcel/events": "2.15.0", + "@parcel/feature-flags": "2.15.0", + "@parcel/fs": "2.15.0", + "@parcel/logger": "2.15.0", + "@parcel/package-manager": "2.15.0", + "@parcel/reporter-cli": "2.15.0", + "@parcel/reporter-dev-server": "2.15.0", + "@parcel/reporter-tracer": "2.15.0", + "@parcel/utils": "2.15.0", "chalk": "^4.1.2", "commander": "^12.1.0", "get-port": "^4.2.0" }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4" + "@parcel/babel-register": "2.15.0" } } diff --git a/packages/core/plugin/package.json b/packages/core/plugin/package.json index c76d7e56edd..e0076000e5d 100644 --- a/packages/core/plugin/package.json +++ b/packages/core/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/plugin", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ "check-ts": "tsc --noEmit src/PluginAPI.d.ts" }, "dependencies": { - "@parcel/types": "2.14.4" + "@parcel/types": "2.15.0" } } diff --git a/packages/core/profiler/package.json b/packages/core/profiler/package.json index d4b1d9e990b..2df9ba07100 100644 --- a/packages/core/profiler/package.json +++ b/packages/core/profiler/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/profiler", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -24,9 +24,9 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/events": "2.14.4", - "@parcel/types-internal": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/events": "2.15.0", + "@parcel/types-internal": "2.15.0", "chrome-trace-event": "^1.0.2" } } diff --git a/packages/core/register/package.json b/packages/core/register/package.json index 1cee8dc2a77..781a5c6eb6d 100644 --- a/packages/core/register/package.json +++ b/packages/core/register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/register", - "version": "2.14.4", + "version": "2.15.0", "private": true, "license": "MIT", "publishConfig": { @@ -24,10 +24,10 @@ "clean": "rimraf .parcel-cache" }, "dependencies": { - "@parcel/config-default": "2.14.4", - "@parcel/core": "2.14.4", - "@parcel/fs": "2.14.4", - "@parcel/package-manager": "2.14.4", + "@parcel/config-default": "2.15.0", + "@parcel/core": "2.15.0", + "@parcel/fs": "2.15.0", + "@parcel/package-manager": "2.15.0", "pirates": "^4.0.7" } } diff --git a/packages/core/rust-darwin-arm64/package.json b/packages/core/rust-darwin-arm64/package.json index 85d3eacaab9..6e8745592f5 100644 --- a/packages/core/rust-darwin-arm64/package.json +++ b/packages/core/rust-darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rust-darwin-arm64", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/rust-darwin-x64/package.json b/packages/core/rust-darwin-x64/package.json index cdbb7fe6a0f..c014276020c 100644 --- a/packages/core/rust-darwin-x64/package.json +++ b/packages/core/rust-darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rust-darwin-x64", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/rust-linux-arm-gnueabihf/package.json b/packages/core/rust-linux-arm-gnueabihf/package.json index 7318783506a..de812352655 100644 --- a/packages/core/rust-linux-arm-gnueabihf/package.json +++ b/packages/core/rust-linux-arm-gnueabihf/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rust-linux-arm-gnueabihf", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/rust-linux-arm64-gnu/package.json b/packages/core/rust-linux-arm64-gnu/package.json index eed69dff222..1b10584f4d6 100644 --- a/packages/core/rust-linux-arm64-gnu/package.json +++ b/packages/core/rust-linux-arm64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rust-linux-arm64-gnu", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/rust-linux-arm64-musl/package.json b/packages/core/rust-linux-arm64-musl/package.json index 4029cdbafd8..d67ac819382 100644 --- a/packages/core/rust-linux-arm64-musl/package.json +++ b/packages/core/rust-linux-arm64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rust-linux-arm64-musl", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/rust-linux-x64-gnu/package.json b/packages/core/rust-linux-x64-gnu/package.json index b4493f38b05..d96e129c279 100644 --- a/packages/core/rust-linux-x64-gnu/package.json +++ b/packages/core/rust-linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rust-linux-x64-gnu", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/rust-linux-x64-musl/package.json b/packages/core/rust-linux-x64-musl/package.json index 31d9ffd737e..4b37aad0740 100644 --- a/packages/core/rust-linux-x64-musl/package.json +++ b/packages/core/rust-linux-x64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rust-linux-x64-musl", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/rust-win32-x64-msvc/package.json b/packages/core/rust-win32-x64-msvc/package.json index 77431d65c80..92e5cb7e5ca 100644 --- a/packages/core/rust-win32-x64-msvc/package.json +++ b/packages/core/rust-win32-x64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rust-win32-x64-msvc", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/core/rust/package.json b/packages/core/rust/package.json index 692c6331e5d..6f238d55818 100644 --- a/packages/core/rust/package.json +++ b/packages/core/rust/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rust", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -44,14 +44,14 @@ } }, "optionalDependencies": { - "@parcel/rust-darwin-arm64": "2.14.4", - "@parcel/rust-darwin-x64": "2.14.4", - "@parcel/rust-linux-arm-gnueabihf": "2.14.4", - "@parcel/rust-linux-arm64-gnu": "2.14.4", - "@parcel/rust-linux-arm64-musl": "2.14.4", - "@parcel/rust-linux-x64-gnu": "2.14.4", - "@parcel/rust-linux-x64-musl": "2.14.4", - "@parcel/rust-win32-x64-msvc": "2.14.4" + "@parcel/rust-darwin-arm64": "2.15.0", + "@parcel/rust-darwin-x64": "2.15.0", + "@parcel/rust-linux-arm-gnueabihf": "2.15.0", + "@parcel/rust-linux-arm64-gnu": "2.15.0", + "@parcel/rust-linux-arm64-musl": "2.15.0", + "@parcel/rust-linux-x64-gnu": "2.15.0", + "@parcel/rust-linux-x64-musl": "2.15.0", + "@parcel/rust-win32-x64-msvc": "2.15.0" }, "scripts": { "build": "napi build --platform --cargo-cwd ../../../crates/node-bindings", diff --git a/packages/core/test-utils/package.json b/packages/core/test-utils/package.json index be8c1b0a544..0ae77000f89 100644 --- a/packages/core/test-utils/package.json +++ b/packages/core/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/test-utils", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -13,11 +13,11 @@ "node": ">= 16.0.0" }, "dependencies": { - "@parcel/config-default": "2.14.4", - "@parcel/core": "2.14.4", - "@parcel/fs": "2.14.4", - "@parcel/package-manager": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/config-default": "2.15.0", + "@parcel/core": "2.15.0", + "@parcel/fs": "2.15.0", + "@parcel/package-manager": "2.15.0", + "@parcel/utils": "2.15.0", "chalk": "^4.1.2", "ncp": "^2.0.0", "nullthrows": "^1.1.1", diff --git a/packages/core/types-internal/package.json b/packages/core/types-internal/package.json index 660959dcb8c..dcbac32c04b 100644 --- a/packages/core/types-internal/package.json +++ b/packages/core/types-internal/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/types-internal", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "main": "src/index.js", "types": "lib/index.d.ts", @@ -16,8 +16,8 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/feature-flags": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/feature-flags": "2.15.0", "@parcel/source-map": "^2.1.1", "utility-types": "^3.11.0" } diff --git a/packages/core/types/package.json b/packages/core/types/package.json index f632aa06c47..2ed8fab0284 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/types", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "main": "src/index.js", "types": "lib/index.d.ts", @@ -16,7 +16,7 @@ "check-ts": "tsc --noEmit lib/index.d.ts" }, "dependencies": { - "@parcel/types-internal": "2.14.4", - "@parcel/workers": "2.14.4" + "@parcel/types-internal": "2.15.0", + "@parcel/workers": "2.15.0" } } diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 9abb578480e..eed9b5f966c 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/utils", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -33,11 +33,11 @@ } }, "dependencies": { - "@parcel/codeframe": "2.14.4", - "@parcel/diagnostic": "2.14.4", - "@parcel/logger": "2.14.4", - "@parcel/markdown-ansi": "2.14.4", - "@parcel/rust": "2.14.4", + "@parcel/codeframe": "2.15.0", + "@parcel/diagnostic": "2.15.0", + "@parcel/logger": "2.15.0", + "@parcel/markdown-ansi": "2.15.0", + "@parcel/rust": "2.15.0", "@parcel/source-map": "^2.1.1", "chalk": "^4.1.2", "nullthrows": "^1.1.1" diff --git a/packages/core/workers/package.json b/packages/core/workers/package.json index 498c5b137e3..c8d9da7c9db 100644 --- a/packages/core/workers/package.json +++ b/packages/core/workers/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/workers", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -21,15 +21,15 @@ "node": ">= 16.0.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/logger": "2.14.4", - "@parcel/profiler": "2.14.4", - "@parcel/types-internal": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/logger": "2.15.0", + "@parcel/profiler": "2.15.0", + "@parcel/types-internal": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" }, "peerDependencies": { - "@parcel/core": "^2.14.4" + "@parcel/core": "^2.15.0" }, "browser": { "./src/core-worker.js": "./src/core-worker.browser.js", diff --git a/packages/dev/babel-preset/package.json b/packages/dev/babel-preset/package.json index a07b0ec4bd8..54ef074ae22 100644 --- a/packages/dev/babel-preset/package.json +++ b/packages/dev/babel-preset/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset", - "version": "2.14.4", + "version": "2.15.0", "private": true, "license": "MIT", "repository": { diff --git a/packages/dev/babel-register/package.json b/packages/dev/babel-register/package.json index dac6767a8a7..b583e84f8b5 100644 --- a/packages/dev/babel-register/package.json +++ b/packages/dev/babel-register/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-register", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -10,7 +10,7 @@ }, "dependencies": { "@babel/register": "^7.22.5", - "@parcel/babel-preset": "2.14.4", + "@parcel/babel-preset": "2.15.0", "resolve": "^1.22.10" }, "peerDependencies": { diff --git a/packages/dev/bundle-stats-cli/package.json b/packages/dev/bundle-stats-cli/package.json index d9f32e34d05..72eeaaf41b7 100644 --- a/packages/dev/bundle-stats-cli/package.json +++ b/packages/dev/bundle-stats-cli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/bundle-stats", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -20,17 +20,17 @@ }, "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/core": "2.14.4", - "@parcel/query": "2.14.4", - "@parcel/reporter-bundle-stats": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/core": "2.15.0", + "@parcel/query": "2.15.0", + "@parcel/reporter-bundle-stats": "2.15.0", + "@parcel/utils": "2.15.0", "commander": "^12.1.0" }, "devDependencies": { - "@parcel/babel-register": "2.14.4", - "@parcel/types": "2.14.4" + "@parcel/babel-register": "2.15.0", + "@parcel/types": "2.15.0" } } diff --git a/packages/dev/eslint-config-browser/package.json b/packages/dev/eslint-config-browser/package.json index b893ec00185..c7172e3ba25 100644 --- a/packages/dev/eslint-config-browser/package.json +++ b/packages/dev/eslint-config-browser/package.json @@ -1,9 +1,9 @@ { "name": "@parcel/eslint-config-browser", "private": true, - "version": "2.14.4", + "version": "2.15.0", "dependencies": { - "@parcel/eslint-config": "2.14.4" + "@parcel/eslint-config": "2.15.0" }, "peerDependencies": { "@babel/core": "^7.22.11", diff --git a/packages/dev/eslint-config/package.json b/packages/dev/eslint-config/package.json index 8f467ccb84b..dc4002d1202 100644 --- a/packages/dev/eslint-config/package.json +++ b/packages/dev/eslint-config/package.json @@ -1,12 +1,12 @@ { "name": "@parcel/eslint-config", "private": true, - "version": "2.14.4", + "version": "2.15.0", "dependencies": { "@babel/eslint-parser": "^7.22.11", "@babel/plugin-syntax-flow": "^7.14.5", "@babel/plugin-transform-react-jsx": "^7.14.9", - "@parcel/eslint-plugin": "2.14.4", + "@parcel/eslint-plugin": "2.15.0", "eslint-config-prettier": "^8.10.0", "eslint-plugin-flowtype": "^8.0.3", "eslint-plugin-import": "^2.31.0", diff --git a/packages/dev/eslint-plugin/package.json b/packages/dev/eslint-plugin/package.json index d983ba36a21..d06a2b0b339 100644 --- a/packages/dev/eslint-plugin/package.json +++ b/packages/dev/eslint-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/eslint-plugin", "private": true, - "version": "2.14.4", + "version": "2.15.0", "main": "index.js", "dependencies": { "read-pkg-up": "^5.0.0" diff --git a/packages/dev/esm-fuzzer/package.json b/packages/dev/esm-fuzzer/package.json index 4c0c5aa3619..972ed4e9927 100644 --- a/packages/dev/esm-fuzzer/package.json +++ b/packages/dev/esm-fuzzer/package.json @@ -1,6 +1,6 @@ { "name": "fuzzer", - "version": "2.14.4", + "version": "2.15.0", "private": true, "scripts": { "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules -r @parcel/babel-register index.js" @@ -10,8 +10,8 @@ "@babel/generator": "^7.22.10", "@babel/template": "^7.22.5", "@babel/types": "^7.22.11", - "@parcel/core": "2.14.4", - "@parcel/fs": "2.14.4", + "@parcel/core": "2.15.0", + "@parcel/fs": "2.15.0", "nanoid": "^3.3.11", "nullthrows": "^1.1.1" } diff --git a/packages/dev/parcel-link/package.json b/packages/dev/parcel-link/package.json index 9f3e12332c7..b84702e765d 100644 --- a/packages/dev/parcel-link/package.json +++ b/packages/dev/parcel-link/package.json @@ -1,7 +1,7 @@ { "name": "@parcel/link", "description": "A CLI for linking a dev version of Parcel into a project", - "version": "2.14.4", + "version": "2.15.0", "private": true, "bin": { "parcel-link": "bin.js" @@ -12,9 +12,9 @@ "main": "src/index.js", "dependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4", - "@parcel/fs": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/babel-register": "2.15.0", + "@parcel/fs": "2.15.0", + "@parcel/utils": "2.15.0", "commander": "^12.1.0", "nullthrows": "^1.1.1" } diff --git a/packages/dev/query/package.json b/packages/dev/query/package.json index 28ae3633e03..03b9e24d025 100644 --- a/packages/dev/query/package.json +++ b/packages/dev/query/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/query", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,15 +18,15 @@ }, "main": "src/index.js", "dependencies": { - "@parcel/cache": "2.14.4", - "@parcel/core": "2.14.4", - "@parcel/graph": "3.4.4", + "@parcel/cache": "2.15.0", + "@parcel/core": "2.15.0", + "@parcel/graph": "3.5.0", "nullthrows": "^1.1.1", "table": "^6.9.0", "v8-compile-cache": "^2.4.0" }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4" + "@parcel/babel-register": "2.15.0" } } diff --git a/packages/dev/repl/package.json b/packages/dev/repl/package.json index 4c384753359..150ae692c62 100644 --- a/packages/dev/repl/package.json +++ b/packages/dev/repl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/repl", - "version": "0.3.4", + "version": "0.4.0", "license": "MIT", "private": true, "scripts": { @@ -26,10 +26,10 @@ "@mischnic/dot-svg": "^0.0.0", "@mischnic/pako": "^1.0.10", "@mischnic/yarn-browser": "^0.0.4", - "@parcel/config-repl": "2.14.4", - "@parcel/core": "2.14.4", - "@parcel/fs": "2.14.4", - "@parcel/package-manager": "2.14.4", + "@parcel/config-repl": "2.15.0", + "@parcel/core": "2.15.0", + "@parcel/fs": "2.15.0", + "@parcel/package-manager": "2.15.0", "comlink": "^4.4.2", "filesize": "^10.1.6", "idb": "^5.0.8", diff --git a/packages/examples/eslint-example/package.json b/packages/examples/eslint-example/package.json index 25734efc0ca..4f92b3cacae 100644 --- a/packages/examples/eslint-example/package.json +++ b/packages/examples/eslint-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/eslint-example", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "scripts": { @@ -18,9 +18,9 @@ }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4", - "@parcel/core": "2.14.4", - "@parcel/validator-eslint": "2.14.4", - "parcel": "2.14.4" + "@parcel/babel-register": "2.15.0", + "@parcel/core": "2.15.0", + "@parcel/validator-eslint": "2.15.0", + "parcel": "2.15.0" } } diff --git a/packages/examples/html/package.json b/packages/examples/html/package.json index efc8a7b80d8..82f74153c3b 100644 --- a/packages/examples/html/package.json +++ b/packages/examples/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/html-example", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "scripts": { @@ -13,8 +13,8 @@ ], "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4", - "parcel": "2.14.4" + "@parcel/babel-register": "2.15.0", + "parcel": "2.15.0" }, "dependencies": { "lodash": "^4.17.21", diff --git a/packages/examples/internalize-example/package.json b/packages/examples/internalize-example/package.json index f1f37d11cbf..442a3a9d292 100644 --- a/packages/examples/internalize-example/package.json +++ b/packages/examples/internalize-example/package.json @@ -1,6 +1,6 @@ { "name": "internalize-example", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true } diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index b8c56a84443..b9f66aa551a 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/kitchen-sink-example", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "scripts": { @@ -9,12 +9,12 @@ }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4", - "@parcel/config-default": "2.14.4", - "@parcel/core": "2.14.4", - "@parcel/optimizer-esbuild": "2.14.4", - "@parcel/reporter-sourcemap-visualiser": "2.14.4", - "parcel": "2.14.4" + "@parcel/babel-register": "2.15.0", + "@parcel/config-default": "2.15.0", + "@parcel/core": "2.15.0", + "@parcel/optimizer-esbuild": "2.15.0", + "@parcel/reporter-sourcemap-visualiser": "2.15.0", + "parcel": "2.15.0" }, "targets": { "browserModern": { diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 674c3bd133b..b5c4140165e 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -1,13 +1,13 @@ { "name": "@parcel/react-hmr-example", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "scripts": { "demo": "parcel serve src/index.html --no-cache --https" }, "devDependencies": { - "parcel": "2.14.4" + "parcel": "2.15.0" }, "targets": { "browserModern": { diff --git a/packages/examples/react-refresh/package.json b/packages/examples/react-refresh/package.json index f7a90edaab9..1477e849998 100644 --- a/packages/examples/react-refresh/package.json +++ b/packages/examples/react-refresh/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/react-refresh-example", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "scripts": { @@ -8,8 +8,8 @@ }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4", - "@parcel/core": "2.14.4" + "@parcel/babel-register": "2.15.0", + "@parcel/core": "2.15.0" }, "dependencies": { "react": "^19.1.0", diff --git a/packages/examples/react-server-components/package.json b/packages/examples/react-server-components/package.json index 832d4103ee1..9194213c509 100644 --- a/packages/examples/react-server-components/package.json +++ b/packages/examples/react-server-components/package.json @@ -1,6 +1,6 @@ { "name": "parcel-react-server-components-example", - "version": "1.1.4", + "version": "1.2.0", "private": true, "server": "dist/server.js", "targets": { @@ -20,7 +20,7 @@ "start": "node dist/server.js" }, "dependencies": { - "@parcel/rsc": "2.14.4", + "@parcel/rsc": "2.15.0", "express": "^4.21.2", "react": "^19.1.0", "react-dom": "^19.1.0" diff --git a/packages/examples/react-static/package.json b/packages/examples/react-static/package.json index de0e5114992..d78d9451a79 100644 --- a/packages/examples/react-static/package.json +++ b/packages/examples/react-static/package.json @@ -1,6 +1,6 @@ { "name": "parcel-rsc-static-example", - "version": "0.1.4", + "version": "0.2.0", "private": true, "source": "pages/*.tsx", "targets": { @@ -13,7 +13,7 @@ "build": "parcel build" }, "dependencies": { - "@parcel/rsc": "2.14.4", + "@parcel/rsc": "2.15.0", "react": "^19.1.0", "react-dom": "^19.1.0" } diff --git a/packages/examples/rsc-client/package.json b/packages/examples/rsc-client/package.json index d4088202389..406cd19aa22 100644 --- a/packages/examples/rsc-client/package.json +++ b/packages/examples/rsc-client/package.json @@ -1,6 +1,6 @@ { "name": "parcel-rsc-client", - "version": "0.1.4", + "version": "0.2.0", "private": true, "client": "dist/index.html", "server": "dist/server.js", @@ -19,7 +19,7 @@ "build": "parcel build" }, "dependencies": { - "@parcel/rsc": "2.14.4", + "@parcel/rsc": "2.15.0", "cors": "^2.8.5", "express": "^4.21.2", "react": "^19.1.0", diff --git a/packages/examples/simple/package.json b/packages/examples/simple/package.json index 4160e5ee6db..153adbeb2af 100644 --- a/packages/examples/simple/package.json +++ b/packages/examples/simple/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/simple-example", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "scripts": { @@ -9,8 +9,8 @@ }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4", - "@parcel/core": "2.14.4" + "@parcel/babel-register": "2.15.0", + "@parcel/core": "2.15.0" }, "browser": "dist/legacy/index.js", "browserModern": "dist/modern/index.js", diff --git a/packages/examples/three/package.json b/packages/examples/three/package.json index 0c84bd3fa60..e097a0c18c5 100644 --- a/packages/examples/three/package.json +++ b/packages/examples/three/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/three-js-stresstest", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "scripts": { @@ -27,9 +27,9 @@ } }, "devDependencies": { - "@parcel/config-default": "2.14.4", - "@parcel/core": "2.14.4", - "@parcel/optimizer-esbuild": "2.14.4", - "parcel": "2.14.4" + "@parcel/config-default": "2.15.0", + "@parcel/core": "2.15.0", + "@parcel/optimizer-esbuild": "2.15.0", + "parcel": "2.15.0" } } diff --git a/packages/examples/ts-example/package.json b/packages/examples/ts-example/package.json index d66846263af..0241be0f5d7 100644 --- a/packages/examples/ts-example/package.json +++ b/packages/examples/ts-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-example", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "scripts": { @@ -8,8 +8,8 @@ }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4", - "@parcel/core": "2.14.4" + "@parcel/babel-register": "2.15.0", + "@parcel/core": "2.15.0" }, "main": "dist/main.js", "module": "dist/module.js", diff --git a/packages/examples/ts-typecheck-example/package.json b/packages/examples/ts-typecheck-example/package.json index 04558320fe6..a5475657566 100644 --- a/packages/examples/ts-typecheck-example/package.json +++ b/packages/examples/ts-typecheck-example/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-typecheck-example", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "scripts": { @@ -18,8 +18,8 @@ }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4", - "@parcel/core": "2.14.4", - "@parcel/validator-typescript": "2.14.4" + "@parcel/babel-register": "2.15.0", + "@parcel/core": "2.15.0", + "@parcel/validator-typescript": "2.15.0" } } diff --git a/packages/namers/default/package.json b/packages/namers/default/package.json index 10517bb3957..a852745f485 100644 --- a/packages/namers/default/package.json +++ b/packages/namers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/namer-default", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultNamer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/optimizers/blob-url/package.json b/packages/optimizers/blob-url/package.json index cedd8d16877..505f62db5b9 100644 --- a/packages/optimizers/blob-url/package.json +++ b/packages/optimizers/blob-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-blob-url", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BlobURLOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/optimizers/css/package.json b/packages/optimizers/css/package.json index 253b15d005d..507a9b301df 100644 --- a/packages/optimizers/css/package.json +++ b/packages/optimizers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-css", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", + "@parcel/utils": "2.15.0", "browserslist": "^4.24.5", "lightningcss": "^1.30.0", "nullthrows": "^1.1.1" diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index 349abccfbc6..69c35f3f1c7 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-cssnano", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/CSSNanoOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", "cssnano": "^7.0.7", "postcss": "^8.5.3" diff --git a/packages/optimizers/data-url/package.json b/packages/optimizers/data-url/package.json index bbc9b46690d..07a68d36122 100644 --- a/packages/optimizers/data-url/package.json +++ b/packages/optimizers/data-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-data-url", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DataURLOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "isbinaryfile": "^5.0.4", "mime": "^3.0.0" } diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index 448b3923253..9e9f2098555 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-esbuild", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/ESBuildOptimizer.js", "engines": { "node": ">= 10.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", + "@parcel/utils": "2.15.0", "esbuild": "^0.25.4", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/html/package.json b/packages/optimizers/html/package.json index c7a08d41019..c3d330b5624 100644 --- a/packages/optimizers/html/package.json +++ b/packages/optimizers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-html", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/HTMLOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/optimizers/htmlnano/package.json b/packages/optimizers/htmlnano/package.json index 53facead88e..c0da6820e7b 100644 --- a/packages/optimizers/htmlnano/package.json +++ b/packages/optimizers/htmlnano/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-htmlnano", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLNanoOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "htmlnano": "^2.1.2", "nullthrows": "^1.1.1", "posthtml": "^0.16.6" diff --git a/packages/optimizers/image/package.json b/packages/optimizers/image/package.json index 16363e3aa7f..462579b6033 100644 --- a/packages/optimizers/image/package.json +++ b/packages/optimizers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-image", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "main": "lib/ImageOptimizer.js", "source": "src/ImageOptimizer.js", @@ -17,19 +17,19 @@ }, "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "files": [ "lib" ], "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/utils": "2.14.4", - "@parcel/workers": "2.14.4" + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/utils": "2.15.0", + "@parcel/workers": "2.15.0" }, "peerDependencies": { - "@parcel/core": "^2.14.4" + "@parcel/core": "^2.15.0" } } diff --git a/packages/optimizers/inline-requires/package.json b/packages/optimizers/inline-requires/package.json index 77bd5816838..eec3601a6ab 100644 --- a/packages/optimizers/inline-requires/package.json +++ b/packages/optimizers/inline-requires/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-inline-requires", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/InlineRequires.js", "engines": { "node": ">= 14.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.14.4", + "@parcel/types": "2.15.0", "@swc/core": "^1.11.24", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/svg/package.json b/packages/optimizers/svg/package.json index 2ea899180c9..853ebd50a7a 100644 --- a/packages/optimizers/svg/package.json +++ b/packages/optimizers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-svg", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/SVGOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/optimizers/svgo/package.json b/packages/optimizers/svgo/package.json index fa3829199e0..73913f24d9d 100644 --- a/packages/optimizers/svgo/package.json +++ b/packages/optimizers/svgo/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-svgo", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGOOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0" }, "devDependencies": { "svgo": "^3.3.2" diff --git a/packages/optimizers/swc/package.json b/packages/optimizers/swc/package.json index b1346a1e9d8..0955c0744e3 100644 --- a/packages/optimizers/swc/package.json +++ b/packages/optimizers/swc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-swc", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/SwcOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", + "@parcel/utils": "2.15.0", "@swc/core": "^1.11.24", "nullthrows": "^1.1.1" } diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index 74040219d9c..74b57b8dd85 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/optimizer-terser", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/TerserOptimizer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1", "terser": "^5.39.0" } diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index 72b033b6656..6574754887e 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-css", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSPackager.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", + "@parcel/utils": "2.15.0", "lightningcss": "^1.30.0", "nullthrows": "^1.1.1" }, diff --git a/packages/packagers/html/package.json b/packages/packagers/html/package.json index e6e26463fc0..7c686bbdb14 100644 --- a/packages/packagers/html/package.json +++ b/packages/packagers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-html", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/HTMLPackager.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index 394e3fdf80d..40e10bc8b17 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-js", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,15 +17,15 @@ "source": "src/index.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0", "globals": "^13.24.0", "nullthrows": "^1.1.1" } diff --git a/packages/packagers/raw-url/package.json b/packages/packagers/raw-url/package.json index 6b9d4ff6513..cf53a598d55 100644 --- a/packages/packagers/raw-url/package.json +++ b/packages/packagers/raw-url/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw-url", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/RawUrlPackager.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/packagers/raw/package.json b/packages/packagers/raw/package.json index b0fe76091aa..f572450b1ab 100644 --- a/packages/packagers/raw/package.json +++ b/packages/packagers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-raw", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawPackager.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/packagers/react-static/package.json b/packages/packagers/react-static/package.json index 1419e9ec1a7..9698446ef3b 100644 --- a/packages/packagers/react-static/package.json +++ b/packages/packagers/react-static/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-react-static", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/ReactStaticPackager.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/node-resolver-core": "3.5.4", - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/node-resolver-core": "3.6.0", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1", "rsc-html-stream": "^0.0.6" } diff --git a/packages/packagers/svg/package.json b/packages/packagers/svg/package.json index ed62af6cfba..a2296c0aab4 100644 --- a/packages/packagers/svg/package.json +++ b/packages/packagers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-svg", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SVGPackager.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/packagers/ts/package.json b/packages/packagers/ts/package.json index 7cb1b73648a..916c51bbb78 100644 --- a/packages/packagers/ts/package.json +++ b/packages/packagers/ts/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-ts", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/TSPackager.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/packagers/wasm/package.json b/packages/packagers/wasm/package.json index 968d81cf3b4..a34a0167499 100644 --- a/packages/packagers/wasm/package.json +++ b/packages/packagers/wasm/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-wasm", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/WasmPackager.js", "engines": { "node": ">=16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/packagers/webextension/package.json b/packages/packagers/webextension/package.json index c3b7d74567a..e8ae8117ec0 100644 --- a/packages/packagers/webextension/package.json +++ b/packages/packagers/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-webextension", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/WebExtensionPackager.js", "engines": { "node": ">=16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/packagers/xml/package.json b/packages/packagers/xml/package.json index 4575b10c1ec..9eaedfa8965 100644 --- a/packages/packagers/xml/package.json +++ b/packages/packagers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/packager-xml", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/XMLPackager.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0", "@xmldom/xmldom": "^0.9.8" } } diff --git a/packages/reporters/build-metrics/package.json b/packages/reporters/build-metrics/package.json index 3a673155d01..9fe7aadc72a 100644 --- a/packages/reporters/build-metrics/package.json +++ b/packages/reporters/build-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-build-metrics", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/BuildMetricsReporter.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/reporters/bundle-analyzer/package.json b/packages/reporters/bundle-analyzer/package.json index 79d23a3e808..e287ac4f7ef 100644 --- a/packages/reporters/bundle-analyzer/package.json +++ b/packages/reporters/bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-analyzer", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/BundleAnalyzerReporter.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "2.14.4" + "@parcel/types": "2.15.0" } } diff --git a/packages/reporters/bundle-buddy/package.json b/packages/reporters/bundle-buddy/package.json index 4b6a6bc96ec..9fd80da6426 100644 --- a/packages/reporters/bundle-buddy/package.json +++ b/packages/reporters/bundle-buddy/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-buddy", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/BundleBuddyReporter.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/reporters/bundle-stats/package.json b/packages/reporters/bundle-stats/package.json index a17740e0b53..f706af36b15 100644 --- a/packages/reporters/bundle-stats/package.json +++ b/packages/reporters/bundle-stats/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-bundle-stats", - "version": "2.14.4", + "version": "2.15.0", "publishConfig": { "access": "public" }, @@ -11,14 +11,14 @@ }, "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/core": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/core": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0" }, "devDependencies": { - "@parcel/types": "2.14.4" + "@parcel/types": "2.15.0" } } diff --git a/packages/reporters/cli/package.json b/packages/reporters/cli/package.json index e24aad54a86..c1a2cc76947 100644 --- a/packages/reporters/cli/package.json +++ b/packages/reporters/cli/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-cli", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "source": "src/CLIReporter.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "targets": { "main": { @@ -31,14 +31,14 @@ } }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0", "chalk": "^4.1.2", "term-size": "^2.2.1" }, "devDependencies": { - "@parcel/feature-flags": "2.14.4", + "@parcel/feature-flags": "2.15.0", "filesize": "^10.1.6", "nullthrows": "^1.1.1", "ora": "^5.4.1", diff --git a/packages/reporters/dev-server-sw/package.json b/packages/reporters/dev-server-sw/package.json index 06fb0e9d9df..159ce8a44e2 100644 --- a/packages/reporters/dev-server-sw/package.json +++ b/packages/reporters/dev-server-sw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-dev-server-sw", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "private": true, @@ -19,10 +19,10 @@ "parcel": "^2.11.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0" }, "devDependencies": { - "@parcel/types": "2.14.4" + "@parcel/types": "2.15.0" } } diff --git a/packages/reporters/dev-server/package.json b/packages/reporters/dev-server/package.json index 54db15800a5..d5159c1b57d 100644 --- a/packages/reporters/dev-server/package.json +++ b/packages/reporters/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-dev-server", - "version": "2.14.4", + "version": "2.15.0", "description": "Blazing fast, zero configuration web application bundler", "license": "MIT", "publishConfig": { @@ -18,7 +18,7 @@ "source": "src/ServerReporter.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "targets": { "main": { @@ -31,15 +31,15 @@ } }, "dependencies": { - "@parcel/codeframe": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/codeframe": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4" + "@parcel/utils": "2.15.0" }, "devDependencies": { - "@parcel/babel-preset": "2.14.4", - "@parcel/diagnostic": "2.14.4", - "@parcel/types": "2.14.4", + "@parcel/babel-preset": "2.15.0", + "@parcel/diagnostic": "2.15.0", + "@parcel/types": "2.15.0", "connect": "^3.7.0", "ejs": "^3.1.10", "fresh": "^0.5.2", diff --git a/packages/reporters/json/package.json b/packages/reporters/json/package.json index f6fac896e4f..f527f6f6775 100644 --- a/packages/reporters/json/package.json +++ b/packages/reporters/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-json", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/JSONReporter.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/reporters/lsp-reporter/package.json b/packages/reporters/lsp-reporter/package.json index 8f87811d68f..2bdf5bfe645 100644 --- a/packages/reporters/lsp-reporter/package.json +++ b/packages/reporters/lsp-reporter/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-lsp", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/LspReporter.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/lsp-protocol": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/lsp-protocol": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "node-ipc": "^9.2.1", "nullthrows": "^1.1.1", "ps-node": "^0.1.6", diff --git a/packages/reporters/sourcemap-visualiser/package.json b/packages/reporters/sourcemap-visualiser/package.json index e932ccdef51..4176e2ace05 100644 --- a/packages/reporters/sourcemap-visualiser/package.json +++ b/packages/reporters/sourcemap-visualiser/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-sourcemap-visualiser", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/SourceMapVisualiser.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" }, "devDependencies": { - "@parcel/types": "2.14.4" + "@parcel/types": "2.15.0" } } diff --git a/packages/reporters/tracer/package.json b/packages/reporters/tracer/package.json index 4b875959f4d..bd6366ac12b 100644 --- a/packages/reporters/tracer/package.json +++ b/packages/reporters/tracer/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-tracer", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/TracerReporter.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "chrome-trace-event": "^1.0.3", "nullthrows": "^1.1.1" } diff --git a/packages/resolvers/default/package.json b/packages/resolvers/default/package.json index 1079d4c7719..e356ef6fe36 100644 --- a/packages/resolvers/default/package.json +++ b/packages/resolvers/default/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-default", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/DefaultResolver.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/node-resolver-core": "3.5.4", - "@parcel/plugin": "2.14.4" + "@parcel/node-resolver-core": "3.6.0", + "@parcel/plugin": "2.15.0" }, "devDependencies": { "@babel/core": "^7.22.11" diff --git a/packages/resolvers/glob/package.json b/packages/resolvers/glob/package.json index 1e2689c04c4..5931f8103f2 100644 --- a/packages/resolvers/glob/package.json +++ b/packages/resolvers/glob/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-glob", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/GlobResolver.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/node-resolver-core": "3.5.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/node-resolver-core": "3.6.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/resolvers/repl-runtimes/package.json b/packages/resolvers/repl-runtimes/package.json index 942a7d49224..03a347ee505 100644 --- a/packages/resolvers/repl-runtimes/package.json +++ b/packages/resolvers/repl-runtimes/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/resolver-repl-runtimes", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "private": true, "funding": { @@ -16,7 +16,7 @@ "parcel": "^2.11.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/runtimes/hmr/package.json b/packages/runtimes/hmr/package.json index dacd033e284..a8ed8aa6b00 100644 --- a/packages/runtimes/hmr/package.json +++ b/packages/runtimes/hmr/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-browser-hmr", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/HMRRuntime.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/runtimes/js/package.json b/packages/runtimes/js/package.json index df517307610..75b70855cdc 100644 --- a/packages/runtimes/js/package.json +++ b/packages/runtimes/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-js", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/JSRuntime.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/rsc/package.json b/packages/runtimes/rsc/package.json index 4e23b3d55aa..61660b4b6f6 100644 --- a/packages/runtimes/rsc/package.json +++ b/packages/runtimes/rsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-rsc", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -25,12 +25,12 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/service-worker/package.json b/packages/runtimes/service-worker/package.json index d23c8d57325..0e4893b596f 100644 --- a/packages/runtimes/service-worker/package.json +++ b/packages/runtimes/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-service-worker", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "./src/ServiceWorkerRuntime.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/runtimes/webextension/package.json b/packages/runtimes/webextension/package.json index 6a30e683ba0..404d58468fb 100644 --- a/packages/runtimes/webextension/package.json +++ b/packages/runtimes/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/runtime-webextension", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/WebExtensionRuntime.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" } } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index c8eea6f1233..9e344fea150 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-babel", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/BabelTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", + "@parcel/utils": "2.15.0", "browserslist": "^4.24.5", "json5": "^2.2.3", "nullthrows": "^1.1.1", @@ -33,6 +33,6 @@ "@babel/core": "^7.22.11", "@babel/preset-env": "^7.22.14", "@babel/types": "^7.22.11", - "@parcel/types": "2.14.4" + "@parcel/types": "2.15.0" } } diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 1f6ca485f4c..203e0e50ede 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-coffeescript", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/CoffeeScriptTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", + "@parcel/utils": "2.15.0", "coffeescript": "^2.7.0", "nullthrows": "^1.1.1", "semver": "^7.7.1" diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index 6f19db094b0..9e96d875d6b 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-css", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/CSSTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", + "@parcel/utils": "2.15.0", "browserslist": "^4.24.5", "lightningcss": "^1.30.0", "nullthrows": "^1.1.1" diff --git a/packages/transformers/elm/package.json b/packages/transformers/elm/package.json index 629def25d7a..836801d6bf1 100644 --- a/packages/transformers/elm/package.json +++ b/packages/transformers/elm/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-elm", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/ElmTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "command-exists": "^1.2.9", "cross-spawn": "^7.0.6", "elm-hot": "^1.1.6", diff --git a/packages/transformers/glsl/package.json b/packages/transformers/glsl/package.json index e139058309e..14b13164a38 100644 --- a/packages/transformers/glsl/package.json +++ b/packages/transformers/glsl/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-glsl", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GLSLTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "glslify-bundle": "^5.1.1", "glslify-deps": "^1.3.2" } diff --git a/packages/transformers/graphql/package.json b/packages/transformers/graphql/package.json index 74cfa0e2e40..c5fdb1811ab 100644 --- a/packages/transformers/graphql/package.json +++ b/packages/transformers/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-graphql", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/GraphQLTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "graphql": "^15.10.1", "graphql-import-macro": "^1.0.0" } diff --git a/packages/transformers/html/package.json b/packages/transformers/html/package.json index c4e42fe972f..c65b759956b 100644 --- a/packages/transformers/html/package.json +++ b/packages/transformers/html/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-html", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/HTMLTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4" + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0" } } diff --git a/packages/transformers/image/package.json b/packages/transformers/image/package.json index b14dff8665d..4defe51756a 100644 --- a/packages/transformers/image/package.json +++ b/packages/transformers/image/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-image", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -13,18 +13,18 @@ "source": "src/ImageTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", - "@parcel/workers": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", + "@parcel/workers": "2.15.0", "nullthrows": "^1.1.1" }, "devDependencies": { "sharp": "^0.33.5" }, "peerDependencies": { - "@parcel/core": "^2.14.4" + "@parcel/core": "^2.15.0" } } diff --git a/packages/transformers/inline-string/package.json b/packages/transformers/inline-string/package.json index ae81568a730..3f3147ac622 100644 --- a/packages/transformers/inline-string/package.json +++ b/packages/transformers/inline-string/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline-string", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineStringTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/transformers/inline/package.json b/packages/transformers/inline/package.json index efd8d0cd431..3b8ac817a1a 100644 --- a/packages/transformers/inline/package.json +++ b/packages/transformers/inline/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-inline", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/InlineTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 0ba07a2952f..fc44c5eae83 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-js", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -19,7 +19,7 @@ "test": "mocha" }, "engines": { - "parcel": "^2.14.4", + "parcel": "^2.15.0", "node": ">= 16.0.0" }, "files": [ @@ -27,12 +27,12 @@ "src" ], "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", - "@parcel/workers": "2.14.4", + "@parcel/utils": "2.15.0", + "@parcel/workers": "2.15.0", "@swc/helpers": "^0.5.0", "browserslist": "^4.24.5", "nullthrows": "^1.1.1", @@ -40,6 +40,6 @@ "semver": "^7.7.1" }, "peerDependencies": { - "@parcel/core": "^2.14.4" + "@parcel/core": "^2.15.0" } } diff --git a/packages/transformers/json/package.json b/packages/transformers/json/package.json index ff119ce8138..8b224de1a7c 100644 --- a/packages/transformers/json/package.json +++ b/packages/transformers/json/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-json", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/JSONTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "json5": "^2.2.3" } } diff --git a/packages/transformers/jsonld/package.json b/packages/transformers/jsonld/package.json index b8f1c266a69..5861a6d61fb 100644 --- a/packages/transformers/jsonld/package.json +++ b/packages/transformers/jsonld/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-jsonld", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/JSONLDTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "scripts": { "test": "yarn workspace @parcel/integration-tests test -g jsonld" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/types": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/types": "2.15.0", "json5": "^2.2.3" } } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index a8a9604c2f6..11783b4b5d0 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-less", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/LessTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", "less": "^4.3.0" } diff --git a/packages/transformers/node/package.json b/packages/transformers/node/package.json index 1270b99338b..e23e142fb80 100644 --- a/packages/transformers/node/package.json +++ b/packages/transformers/node/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-node", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/NodeTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/transformers/postcss/package.json b/packages/transformers/postcss/package.json index cd3b5f97886..5d472fdcc9b 100644 --- a/packages/transformers/postcss/package.json +++ b/packages/transformers/postcss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-postcss", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,13 +17,13 @@ "source": "src/PostCSSTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/utils": "2.15.0", "clone": "^2.1.2", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", diff --git a/packages/transformers/posthtml/package.json b/packages/transformers/posthtml/package.json index aacbb4a8f18..013bf9e7a3f 100644 --- a/packages/transformers/posthtml/package.json +++ b/packages/transformers/posthtml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-posthtml", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/PostHTMLTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/transformers/pug/package.json b/packages/transformers/pug/package.json index 8d25bf31d28..fa57af6ac56 100644 --- a/packages/transformers/pug/package.json +++ b/packages/transformers/pug/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-pug", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/PugTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "pug": "^3.0.3" } } diff --git a/packages/transformers/raw/package.json b/packages/transformers/raw/package.json index e50a6914df3..7e99636c68b 100644 --- a/packages/transformers/raw/package.json +++ b/packages/transformers/raw/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-raw", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/RawTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/transformers/react-refresh-wrap/package.json b/packages/transformers/react-refresh-wrap/package.json index 94eb9d4e624..eebfa9f26ab 100644 --- a/packages/transformers/react-refresh-wrap/package.json +++ b/packages/transformers/react-refresh-wrap/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-react-refresh-wrap", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/ReactRefreshWrapTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/error-overlay": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/error-overlay": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "react-refresh": "^0.16.0" } } diff --git a/packages/transformers/react-static/package.json b/packages/transformers/react-static/package.json index b85b9b37c88..ed1cc5758ae 100644 --- a/packages/transformers/react-static/package.json +++ b/packages/transformers/react-static/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-react-static", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/ReactStaticTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index baa03e98cca..4bb78b7e461 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sass", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SassTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", "sass": "^1.88.0" } diff --git a/packages/transformers/stylus/package.json b/packages/transformers/stylus/package.json index 46fac63f321..081cdc58f89 100644 --- a/packages/transformers/stylus/package.json +++ b/packages/transformers/stylus/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-stylus", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/StylusTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "stylus": "^0.63.0" } } diff --git a/packages/transformers/sugarss/package.json b/packages/transformers/sugarss/package.json index ed630eb32f6..cedac5fed06 100644 --- a/packages/transformers/sugarss/package.json +++ b/packages/transformers/sugarss/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-sugarss", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/SugarssTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "postcss": "^8.5.3", "sugarss": "^4.0.1" } diff --git a/packages/transformers/svg-jsx/package.json b/packages/transformers/svg-jsx/package.json index f156b9c1aad..9928c5e73e2 100644 --- a/packages/transformers/svg-jsx/package.json +++ b/packages/transformers/svg-jsx/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg-jsx", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SvgJsxTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index 68b50d2ec75..199257c4ea5 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg-react", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/SvgReactTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0" } diff --git a/packages/transformers/svg/package.json b/packages/transformers/svg/package.json index b64f4911372..8b3e34fb78e 100644 --- a/packages/transformers/svg/package.json +++ b/packages/transformers/svg/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-svg", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,11 +17,11 @@ "source": "src/SVGTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/rust": "2.14.4" + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/rust": "2.15.0" } } diff --git a/packages/transformers/toml/package.json b/packages/transformers/toml/package.json index 33d5dd5c728..43b77cb00c6 100644 --- a/packages/transformers/toml/package.json +++ b/packages/transformers/toml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-toml", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/TOMLTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { "@iarna/toml": "^2.2.5", - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/transformers/typescript-tsc/package.json b/packages/transformers/typescript-tsc/package.json index c09c91cfc97..8f2adca68fa 100644 --- a/packages/transformers/typescript-tsc/package.json +++ b/packages/transformers/typescript-tsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-tsc", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/TSCTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/ts-utils": "2.14.4" + "@parcel/ts-utils": "2.15.0" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index 028bbd8fd17..e3b9c32dedc 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-typescript-types", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/TSTypesTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/ts-utils": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/ts-utils": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1" }, "devDependencies": { diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index 97012000a82..c33e5d12384 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-vue", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/VueTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { "@ladjs/consolidate": "^1.0.4", - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.14.4", + "@parcel/utils": "2.15.0", "@vue/compiler-sfc": "^3.2.27", "nullthrows": "^1.1.1", "semver": "^7.7.1" diff --git a/packages/transformers/webextension/package.json b/packages/transformers/webextension/package.json index 3a4c48a4587..2df9f4e57ed 100644 --- a/packages/transformers/webextension/package.json +++ b/packages/transformers/webextension/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webextension", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,13 +16,13 @@ "main": "lib/WebExtensionTransformer.js", "source": "src/WebExtensionTransformer.js", "engines": { - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { "@mischnic/json-sourcemap": "^0.1.1", - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "content-security-policy-parser": "^0.6.0" } } diff --git a/packages/transformers/webmanifest/package.json b/packages/transformers/webmanifest/package.json index b1227ea4454..82727af4403 100644 --- a/packages/transformers/webmanifest/package.json +++ b/packages/transformers/webmanifest/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-webmanifest", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,12 +16,12 @@ "main": "lib/WebManifestTransformer.js", "source": "src/WebManifestTransformer.js", "engines": { - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { "@mischnic/json-sourcemap": "^0.1.1", - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0" } } diff --git a/packages/transformers/worklet/package.json b/packages/transformers/worklet/package.json index 13318217db8..bd094fbc397 100644 --- a/packages/transformers/worklet/package.json +++ b/packages/transformers/worklet/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-worklet", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,9 +17,9 @@ "source": "src/WorkletTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4" + "@parcel/plugin": "2.15.0" } } diff --git a/packages/transformers/xml/package.json b/packages/transformers/xml/package.json index 25e8f7b9252..32bf0ae9c16 100644 --- a/packages/transformers/xml/package.json +++ b/packages/transformers/xml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-xml", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/XMLTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "@xmldom/xmldom": "^0.9.8" } } diff --git a/packages/transformers/yaml/package.json b/packages/transformers/yaml/package.json index 450074a28a8..0b38cb2ae61 100644 --- a/packages/transformers/yaml/package.json +++ b/packages/transformers/yaml/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/transformer-yaml", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,10 +17,10 @@ "source": "src/YAMLTransformer.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/plugin": "2.14.4", + "@parcel/plugin": "2.15.0", "js-yaml": "^4.1.0" } } diff --git a/packages/utils/babel-plugin-transform-runtime/package.json b/packages/utils/babel-plugin-transform-runtime/package.json index 7c82e327596..6998d8bb42f 100644 --- a/packages/utils/babel-plugin-transform-runtime/package.json +++ b/packages/utils/babel-plugin-transform-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-plugin-transform-runtime", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -23,6 +23,6 @@ }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-preset-env": "2.14.4" + "@parcel/babel-preset-env": "2.15.0" } } diff --git a/packages/utils/babel-preset-env/package.json b/packages/utils/babel-preset-env/package.json index 54cef340620..ec34f78273a 100644 --- a/packages/utils/babel-preset-env/package.json +++ b/packages/utils/babel-preset-env/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/babel-preset-env", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/create-parcel/package.json b/packages/utils/create-parcel/package.json index 9c8ed2ec876..8be19225030 100644 --- a/packages/utils/create-parcel/package.json +++ b/packages/utils/create-parcel/package.json @@ -1,6 +1,6 @@ { "name": "create-parcel", - "version": "2.14.6", + "version": "2.15.0", "bin": "lib/create-parcel.js", "main": "src/create-parcel.js", "repository": { diff --git a/packages/utils/create-react-app/package.json b/packages/utils/create-react-app/package.json index 55eb4d55ddf..a74eb6866b9 100644 --- a/packages/utils/create-react-app/package.json +++ b/packages/utils/create-react-app/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/create-react-app", - "version": "2.14.4", + "version": "2.15.0", "bin": { "parcel-create-react-app": "src/bin.js" }, @@ -32,6 +32,6 @@ }, "devDependencies": { "@babel/core": "^7.22.11", - "@parcel/babel-register": "2.14.4" + "@parcel/babel-register": "2.15.0" } } diff --git a/packages/utils/error-overlay/package.json b/packages/utils/error-overlay/package.json index b20f3002f55..ccdb1f984eb 100644 --- a/packages/utils/error-overlay/package.json +++ b/packages/utils/error-overlay/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/error-overlay", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/events/package.json b/packages/utils/events/package.json index b1991c1f1ba..7473dcd36d6 100644 --- a/packages/utils/events/package.json +++ b/packages/utils/events/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/events", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/macros/package.json b/packages/utils/macros/package.json index 7459edf716c..948110c783b 100644 --- a/packages/utils/macros/package.json +++ b/packages/utils/macros/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/macros", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,6 +17,6 @@ "sideEffects": false, "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" } } diff --git a/packages/utils/node-resolver-core/package.json b/packages/utils/node-resolver-core/package.json index b60a28683c6..adf703b69b4 100644 --- a/packages/utils/node-resolver-core/package.json +++ b/packages/utils/node-resolver-core/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/node-resolver-core", - "version": "3.5.4", + "version": "3.6.0", "license": "MIT", "publishConfig": { "access": "public" @@ -26,10 +26,10 @@ ], "dependencies": { "@mischnic/json-sourcemap": "^0.1.1", - "@parcel/diagnostic": "2.14.4", - "@parcel/fs": "2.14.4", - "@parcel/rust": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/fs": "2.15.0", + "@parcel/rust": "2.15.0", + "@parcel/utils": "2.15.0", "nullthrows": "^1.1.1", "semver": "^7.7.1" }, diff --git a/packages/utils/parcel-lsp-protocol/package.json b/packages/utils/parcel-lsp-protocol/package.json index 3fa8b0dfb25..84d7c6ba103 100644 --- a/packages/utils/parcel-lsp-protocol/package.json +++ b/packages/utils/parcel-lsp-protocol/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/lsp-protocol", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/parcel-lsp/package.json b/packages/utils/parcel-lsp/package.json index 2428ed61e50..aa70bd3a888 100644 --- a/packages/utils/parcel-lsp/package.json +++ b/packages/utils/parcel-lsp/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/lsp", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -22,10 +22,10 @@ }, "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/lsp-protocol": "2.14.4", + "@parcel/lsp-protocol": "2.15.0", "@parcel/watcher": "^2.0.7", "common-path-prefix": "^3.0.0", "nullthrows": "^1.1.1", diff --git a/packages/utils/parcel-watcher-watchman-js/package.json b/packages/utils/parcel-watcher-watchman-js/package.json index 48f81c0bccb..24c418918f2 100644 --- a/packages/utils/parcel-watcher-watchman-js/package.json +++ b/packages/utils/parcel-watcher-watchman-js/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/watcher-watchman-js", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "main": "lib/index.js", "source": "src/index.js", @@ -8,8 +8,8 @@ "access": "public" }, "dependencies": { - "@parcel/logger": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/logger": "2.15.0", + "@parcel/utils": "2.15.0", "fb-watchman": "^2.0.2" }, "devDependencies": { diff --git a/packages/utils/parcelforvscode/package.json b/packages/utils/parcelforvscode/package.json index ccf60d1cfc2..fe90ed801ee 100644 --- a/packages/utils/parcelforvscode/package.json +++ b/packages/utils/parcelforvscode/package.json @@ -1,6 +1,6 @@ { "name": "parcel-for-vscode", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publisher": "parcel", "icon": "logo.png", @@ -107,8 +107,8 @@ "lint": "eslint src --ext ts" }, "devDependencies": { - "@parcel/lsp": "2.14.4", - "@parcel/lsp-protocol": "2.14.4", + "@parcel/lsp": "2.15.0", + "@parcel/lsp-protocol": "2.15.0", "@types/mocha": "^8.2.3", "@types/node": "^22.15.17", "@types/vscode": "^1.67.0", diff --git a/packages/utils/rsc/package.json b/packages/utils/rsc/package.json index 5441d19bb99..7cc27fcf2f6 100644 --- a/packages/utils/rsc/package.json +++ b/packages/utils/rsc/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/rsc", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/utils/service-worker/package.json b/packages/utils/service-worker/package.json index 17570220b89..dfbc2dbec6b 100644 --- a/packages/utils/service-worker/package.json +++ b/packages/utils/service-worker/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/service-worker", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -18,6 +18,6 @@ "sideEffects": false, "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" } } diff --git a/packages/utils/ts-utils/package.json b/packages/utils/ts-utils/package.json index f961e49044f..cf18ccfc1ea 100644 --- a/packages/utils/ts-utils/package.json +++ b/packages/utils/ts-utils/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/ts-utils", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/validators/eslint/package.json b/packages/validators/eslint/package.json index 76e006f5186..cd983a3b242 100644 --- a/packages/validators/eslint/package.json +++ b/packages/validators/eslint/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-eslint", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,12 +17,12 @@ "source": "src/EslintValidator.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/utils": "2.14.4", + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/utils": "2.15.0", "chalk": "^4.1.2" }, "devDependencies": { diff --git a/packages/validators/typescript/package.json b/packages/validators/typescript/package.json index 616b89d4db3..78209dc1d5b 100644 --- a/packages/validators/typescript/package.json +++ b/packages/validators/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/validator-typescript", - "version": "2.14.4", + "version": "2.15.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,14 +17,14 @@ "source": "src/TypeScriptValidator.js", "engines": { "node": ">= 16.0.0", - "parcel": "^2.14.4" + "parcel": "^2.15.0" }, "dependencies": { - "@parcel/diagnostic": "2.14.4", - "@parcel/plugin": "2.14.4", - "@parcel/ts-utils": "2.14.4", - "@parcel/types": "2.14.4", - "@parcel/utils": "2.14.4" + "@parcel/diagnostic": "2.15.0", + "@parcel/plugin": "2.15.0", + "@parcel/ts-utils": "2.15.0", + "@parcel/types": "2.15.0", + "@parcel/utils": "2.15.0" }, "devDependencies": { "typescript": ">=3.0.0" diff --git a/yarn.lock b/yarn.lock index 36eed5bd5b9..1ec329e7a55 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3293,12 +3293,12 @@ __metadata: dependencies: "@babel/core": "npm:^7.22.11" "@babel/plugin-transform-runtime": "npm:^7.22.10" - "@parcel/babel-preset-env": "npm:2.14.4" + "@parcel/babel-preset-env": "npm:2.15.0" semver: "npm:^7.7.1" languageName: unknown linkType: soft -"@parcel/babel-preset-env@npm:2.14.4, @parcel/babel-preset-env@workspace:packages/utils/babel-preset-env": +"@parcel/babel-preset-env@npm:2.15.0, @parcel/babel-preset-env@workspace:packages/utils/babel-preset-env": version: 0.0.0-use.local resolution: "@parcel/babel-preset-env@workspace:packages/utils/babel-preset-env" dependencies: @@ -3310,7 +3310,7 @@ __metadata: languageName: unknown linkType: soft -"@parcel/babel-preset@npm:2.14.4, @parcel/babel-preset@workspace:packages/dev/babel-preset": +"@parcel/babel-preset@npm:2.15.0, @parcel/babel-preset@workspace:packages/dev/babel-preset": version: 0.0.0-use.local resolution: "@parcel/babel-preset@workspace:packages/dev/babel-preset" dependencies: @@ -3325,12 +3325,12 @@ __metadata: languageName: unknown linkType: soft -"@parcel/babel-register@npm:*, @parcel/babel-register@npm:2.14.4, @parcel/babel-register@workspace:packages/dev/babel-register": +"@parcel/babel-register@npm:*, @parcel/babel-register@npm:2.15.0, @parcel/babel-register@workspace:packages/dev/babel-register": version: 0.0.0-use.local resolution: "@parcel/babel-register@workspace:packages/dev/babel-register" dependencies: "@babel/register": "npm:^7.22.5" - "@parcel/babel-preset": "npm:2.14.4" + "@parcel/babel-preset": "npm:2.15.0" resolve: "npm:^1.22.10" peerDependencies: "@babel/core": ^7.22.11 @@ -3341,27 +3341,27 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/bundle-stats@workspace:packages/dev/bundle-stats-cli" dependencies: - "@parcel/babel-register": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/query": "npm:2.14.4" - "@parcel/reporter-bundle-stats": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/query": "npm:2.15.0" + "@parcel/reporter-bundle-stats": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" commander: "npm:^12.1.0" bin: parcel-bundle-stats: src/bin.js languageName: unknown linkType: soft -"@parcel/bundler-default@npm:2.14.4, @parcel/bundler-default@workspace:packages/bundlers/default": +"@parcel/bundler-default@npm:2.15.0, @parcel/bundler-default@workspace:packages/bundlers/default": version: 0.0.0-use.local resolution: "@parcel/bundler-default@workspace:packages/bundlers/default" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/graph": "npm:3.4.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/graph": "npm:3.5.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -3370,26 +3370,26 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/bundler-library@workspace:packages/bundlers/library" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/cache@npm:2.14.4, @parcel/cache@workspace:packages/core/cache": +"@parcel/cache@npm:2.15.0, @parcel/cache@workspace:packages/core/cache": version: 0.0.0-use.local resolution: "@parcel/cache@workspace:packages/core/cache" dependencies: - "@parcel/fs": "npm:2.14.4" - "@parcel/logger": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/fs": "npm:2.15.0" + "@parcel/logger": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" idb: "npm:^5.0.8" lmdb: "npm:2.8.5" peerDependencies: - "@parcel/core": ^2.14.4 + "@parcel/core": ^2.15.0 languageName: unknown linkType: soft -"@parcel/codeframe@npm:2.14.4, @parcel/codeframe@workspace:packages/core/codeframe": +"@parcel/codeframe@npm:2.15.0, @parcel/codeframe@workspace:packages/core/codeframe": version: 0.0.0-use.local resolution: "@parcel/codeframe@workspace:packages/core/codeframe" dependencies: @@ -3404,7 +3404,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/compressor-brotli@workspace:packages/compressors/brotli" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft @@ -3412,87 +3412,87 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/compressor-gzip@workspace:packages/compressors/gzip" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/compressor-raw@npm:2.14.4, @parcel/compressor-raw@workspace:packages/compressors/raw": +"@parcel/compressor-raw@npm:2.15.0, @parcel/compressor-raw@workspace:packages/compressors/raw": version: 0.0.0-use.local resolution: "@parcel/compressor-raw@workspace:packages/compressors/raw" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/config-default@npm:2.14.4, @parcel/config-default@workspace:packages/configs/default": +"@parcel/config-default@npm:2.15.0, @parcel/config-default@workspace:packages/configs/default": version: 0.0.0-use.local resolution: "@parcel/config-default@workspace:packages/configs/default" dependencies: - "@parcel/bundler-default": "npm:2.14.4" - "@parcel/compressor-raw": "npm:2.14.4" - "@parcel/namer-default": "npm:2.14.4" - "@parcel/optimizer-css": "npm:2.14.4" - "@parcel/optimizer-html": "npm:2.14.4" - "@parcel/optimizer-image": "npm:2.14.4" - "@parcel/optimizer-svg": "npm:2.14.4" - "@parcel/optimizer-swc": "npm:2.14.4" - "@parcel/packager-css": "npm:2.14.4" - "@parcel/packager-html": "npm:2.14.4" - "@parcel/packager-js": "npm:2.14.4" - "@parcel/packager-raw": "npm:2.14.4" - "@parcel/packager-svg": "npm:2.14.4" - "@parcel/packager-wasm": "npm:2.14.4" - "@parcel/reporter-dev-server": "npm:2.14.4" - "@parcel/resolver-default": "npm:2.14.4" - "@parcel/runtime-browser-hmr": "npm:2.14.4" - "@parcel/runtime-js": "npm:2.14.4" - "@parcel/runtime-rsc": "npm:2.14.4" - "@parcel/runtime-service-worker": "npm:2.14.4" - "@parcel/transformer-babel": "npm:2.14.4" - "@parcel/transformer-css": "npm:2.14.4" - "@parcel/transformer-html": "npm:2.14.4" - "@parcel/transformer-image": "npm:2.14.4" - "@parcel/transformer-js": "npm:2.14.4" - "@parcel/transformer-json": "npm:2.14.4" - "@parcel/transformer-node": "npm:2.14.4" - "@parcel/transformer-postcss": "npm:2.14.4" - "@parcel/transformer-posthtml": "npm:2.14.4" - "@parcel/transformer-raw": "npm:2.14.4" - "@parcel/transformer-react-refresh-wrap": "npm:2.14.4" - "@parcel/transformer-svg": "npm:2.14.4" + "@parcel/bundler-default": "npm:2.15.0" + "@parcel/compressor-raw": "npm:2.15.0" + "@parcel/namer-default": "npm:2.15.0" + "@parcel/optimizer-css": "npm:2.15.0" + "@parcel/optimizer-html": "npm:2.15.0" + "@parcel/optimizer-image": "npm:2.15.0" + "@parcel/optimizer-svg": "npm:2.15.0" + "@parcel/optimizer-swc": "npm:2.15.0" + "@parcel/packager-css": "npm:2.15.0" + "@parcel/packager-html": "npm:2.15.0" + "@parcel/packager-js": "npm:2.15.0" + "@parcel/packager-raw": "npm:2.15.0" + "@parcel/packager-svg": "npm:2.15.0" + "@parcel/packager-wasm": "npm:2.15.0" + "@parcel/reporter-dev-server": "npm:2.15.0" + "@parcel/resolver-default": "npm:2.15.0" + "@parcel/runtime-browser-hmr": "npm:2.15.0" + "@parcel/runtime-js": "npm:2.15.0" + "@parcel/runtime-rsc": "npm:2.15.0" + "@parcel/runtime-service-worker": "npm:2.15.0" + "@parcel/transformer-babel": "npm:2.15.0" + "@parcel/transformer-css": "npm:2.15.0" + "@parcel/transformer-html": "npm:2.15.0" + "@parcel/transformer-image": "npm:2.15.0" + "@parcel/transformer-js": "npm:2.15.0" + "@parcel/transformer-json": "npm:2.15.0" + "@parcel/transformer-node": "npm:2.15.0" + "@parcel/transformer-postcss": "npm:2.15.0" + "@parcel/transformer-posthtml": "npm:2.15.0" + "@parcel/transformer-raw": "npm:2.15.0" + "@parcel/transformer-react-refresh-wrap": "npm:2.15.0" + "@parcel/transformer-svg": "npm:2.15.0" peerDependencies: - "@parcel/core": ^2.14.4 + "@parcel/core": ^2.15.0 languageName: unknown linkType: soft -"@parcel/config-repl@npm:2.14.4, @parcel/config-repl@workspace:packages/configs/repl": +"@parcel/config-repl@npm:2.15.0, @parcel/config-repl@workspace:packages/configs/repl": version: 0.0.0-use.local resolution: "@parcel/config-repl@workspace:packages/configs/repl" dependencies: - "@parcel/bundler-default": "npm:2.14.4" - "@parcel/compressor-raw": "npm:2.14.4" - "@parcel/namer-default": "npm:2.14.4" - "@parcel/optimizer-terser": "npm:2.14.4" - "@parcel/packager-css": "npm:2.14.4" - "@parcel/packager-html": "npm:2.14.4" - "@parcel/packager-js": "npm:2.14.4" - "@parcel/packager-raw": "npm:2.14.4" - "@parcel/reporter-dev-server-sw": "npm:2.14.4" - "@parcel/reporter-json": "npm:2.14.4" - "@parcel/resolver-default": "npm:2.14.4" - "@parcel/resolver-repl-runtimes": "npm:2.14.4" - "@parcel/runtime-browser-hmr": "npm:2.14.4" - "@parcel/runtime-js": "npm:2.14.4" - "@parcel/transformer-babel": "npm:2.14.4" - "@parcel/transformer-css": "npm:2.14.4" - "@parcel/transformer-html": "npm:2.14.4" - "@parcel/transformer-inline-string": "npm:2.14.4" - "@parcel/transformer-js": "npm:2.14.4" - "@parcel/transformer-json": "npm:2.14.4" - "@parcel/transformer-postcss": "npm:2.14.4" - "@parcel/transformer-posthtml": "npm:2.14.4" - "@parcel/transformer-raw": "npm:2.14.4" - "@parcel/transformer-react-refresh-wrap": "npm:2.14.4" + "@parcel/bundler-default": "npm:2.15.0" + "@parcel/compressor-raw": "npm:2.15.0" + "@parcel/namer-default": "npm:2.15.0" + "@parcel/optimizer-terser": "npm:2.15.0" + "@parcel/packager-css": "npm:2.15.0" + "@parcel/packager-html": "npm:2.15.0" + "@parcel/packager-js": "npm:2.15.0" + "@parcel/packager-raw": "npm:2.15.0" + "@parcel/reporter-dev-server-sw": "npm:2.15.0" + "@parcel/reporter-json": "npm:2.15.0" + "@parcel/resolver-default": "npm:2.15.0" + "@parcel/resolver-repl-runtimes": "npm:2.15.0" + "@parcel/runtime-browser-hmr": "npm:2.15.0" + "@parcel/runtime-js": "npm:2.15.0" + "@parcel/transformer-babel": "npm:2.15.0" + "@parcel/transformer-css": "npm:2.15.0" + "@parcel/transformer-html": "npm:2.15.0" + "@parcel/transformer-inline-string": "npm:2.15.0" + "@parcel/transformer-js": "npm:2.15.0" + "@parcel/transformer-json": "npm:2.15.0" + "@parcel/transformer-postcss": "npm:2.15.0" + "@parcel/transformer-posthtml": "npm:2.15.0" + "@parcel/transformer-raw": "npm:2.15.0" + "@parcel/transformer-react-refresh-wrap": "npm:2.15.0" languageName: unknown linkType: soft @@ -3500,37 +3500,37 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/config-webextension@workspace:packages/configs/webextension" dependencies: - "@parcel/config-default": "npm:2.14.4" - "@parcel/packager-webextension": "npm:2.14.4" - "@parcel/runtime-webextension": "npm:2.14.4" - "@parcel/transformer-raw": "npm:2.14.4" - "@parcel/transformer-webextension": "npm:2.14.4" + "@parcel/config-default": "npm:2.15.0" + "@parcel/packager-webextension": "npm:2.15.0" + "@parcel/runtime-webextension": "npm:2.15.0" + "@parcel/transformer-raw": "npm:2.15.0" + "@parcel/transformer-webextension": "npm:2.15.0" peerDependencies: - "@parcel/core": ^2.14.4 + "@parcel/core": ^2.15.0 languageName: unknown linkType: soft -"@parcel/core@npm:2.14.4, @parcel/core@workspace:packages/core/core": +"@parcel/core@npm:2.15.0, @parcel/core@workspace:packages/core/core": version: 0.0.0-use.local resolution: "@parcel/core@workspace:packages/core/core" dependencies: "@mischnic/json-sourcemap": "npm:^0.1.1" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/cache": "npm:2.14.4" - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/events": "npm:2.14.4" - "@parcel/feature-flags": "npm:2.14.4" - "@parcel/fs": "npm:2.14.4" - "@parcel/graph": "npm:3.4.4" - "@parcel/logger": "npm:2.14.4" - "@parcel/package-manager": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/profiler": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/cache": "npm:2.15.0" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/events": "npm:2.15.0" + "@parcel/feature-flags": "npm:2.15.0" + "@parcel/fs": "npm:2.15.0" + "@parcel/graph": "npm:3.5.0" + "@parcel/logger": "npm:2.15.0" + "@parcel/package-manager": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/profiler": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" - "@parcel/workers": "npm:2.14.4" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" + "@parcel/workers": "npm:2.15.0" "@types/node": "npm:^22.15.17" base-x: "npm:^3.0.11" browserslist: "npm:^4.24.5" @@ -3551,7 +3551,7 @@ __metadata: resolution: "@parcel/create-react-app@workspace:packages/utils/create-react-app" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" chalk: "npm:^4.1.2" command-exists: "npm:^1.2.9" commander: "npm:^12.1.0" @@ -3566,7 +3566,7 @@ __metadata: languageName: unknown linkType: soft -"@parcel/diagnostic@npm:2.14.4, @parcel/diagnostic@workspace:packages/core/diagnostic": +"@parcel/diagnostic@npm:2.15.0, @parcel/diagnostic@workspace:packages/core/diagnostic": version: 0.0.0-use.local resolution: "@parcel/diagnostic@workspace:packages/core/diagnostic" dependencies: @@ -3575,7 +3575,7 @@ __metadata: languageName: unknown linkType: soft -"@parcel/error-overlay@npm:2.14.4, @parcel/error-overlay@workspace:packages/utils/error-overlay": +"@parcel/error-overlay@npm:2.15.0, @parcel/error-overlay@workspace:packages/utils/error-overlay": version: 0.0.0-use.local resolution: "@parcel/error-overlay@workspace:packages/utils/error-overlay" dependencies: @@ -3588,21 +3588,21 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/eslint-config-browser@workspace:packages/dev/eslint-config-browser" dependencies: - "@parcel/eslint-config": "npm:2.14.4" + "@parcel/eslint-config": "npm:2.15.0" peerDependencies: "@babel/core": ^7.22.11 eslint: ">= 7.0.0" languageName: unknown linkType: soft -"@parcel/eslint-config@npm:2.14.4, @parcel/eslint-config@workspace:packages/dev/eslint-config": +"@parcel/eslint-config@npm:2.15.0, @parcel/eslint-config@workspace:packages/dev/eslint-config": version: 0.0.0-use.local resolution: "@parcel/eslint-config@workspace:packages/dev/eslint-config" dependencies: "@babel/eslint-parser": "npm:^7.22.11" "@babel/plugin-syntax-flow": "npm:^7.14.5" "@babel/plugin-transform-react-jsx": "npm:^7.14.9" - "@parcel/eslint-plugin": "npm:2.14.4" + "@parcel/eslint-plugin": "npm:2.15.0" eslint-config-prettier: "npm:^8.10.0" eslint-plugin-flowtype: "npm:^8.0.3" eslint-plugin-import: "npm:^2.31.0" @@ -3620,14 +3620,14 @@ __metadata: resolution: "@parcel/eslint-example@workspace:packages/examples/eslint-example" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/validator-eslint": "npm:2.14.4" - parcel: "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/validator-eslint": "npm:2.15.0" + parcel: "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/eslint-plugin@npm:2.14.4, @parcel/eslint-plugin@workspace:packages/dev/eslint-plugin": +"@parcel/eslint-plugin@npm:2.15.0, @parcel/eslint-plugin@workspace:packages/dev/eslint-plugin": version: 0.0.0-use.local resolution: "@parcel/eslint-plugin@workspace:packages/dev/eslint-plugin" dependencies: @@ -3638,43 +3638,43 @@ __metadata: languageName: unknown linkType: soft -"@parcel/events@npm:2.14.4, @parcel/events@workspace:packages/utils/events": +"@parcel/events@npm:2.15.0, @parcel/events@workspace:packages/utils/events": version: 0.0.0-use.local resolution: "@parcel/events@workspace:packages/utils/events" languageName: unknown linkType: soft -"@parcel/feature-flags@npm:2.14.4, @parcel/feature-flags@workspace:packages/core/feature-flags": +"@parcel/feature-flags@npm:2.15.0, @parcel/feature-flags@workspace:packages/core/feature-flags": version: 0.0.0-use.local resolution: "@parcel/feature-flags@workspace:packages/core/feature-flags" languageName: unknown linkType: soft -"@parcel/fs@npm:2.14.4, @parcel/fs@workspace:packages/core/fs": +"@parcel/fs@npm:2.15.0, @parcel/fs@workspace:packages/core/fs": version: 0.0.0-use.local resolution: "@parcel/fs@workspace:packages/core/fs" dependencies: - "@parcel/feature-flags": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/types-internal": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/feature-flags": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/types-internal": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" "@parcel/watcher": "npm:^2.0.7" - "@parcel/watcher-watchman-js": "npm:2.14.4" - "@parcel/workers": "npm:2.14.4" + "@parcel/watcher-watchman-js": "npm:2.15.0" + "@parcel/workers": "npm:2.15.0" graceful-fs: "npm:^4.2.11" ncp: "npm:^2.0.0" nullthrows: "npm:^1.1.1" utility-types: "npm:^3.11.0" peerDependencies: - "@parcel/core": ^2.14.4 + "@parcel/core": ^2.15.0 languageName: unknown linkType: soft -"@parcel/graph@npm:3.4.4, @parcel/graph@workspace:packages/core/graph": +"@parcel/graph@npm:3.5.0, @parcel/graph@workspace:packages/core/graph": version: 0.0.0-use.local resolution: "@parcel/graph@workspace:packages/core/graph" dependencies: - "@parcel/feature-flags": "npm:2.14.4" + "@parcel/feature-flags": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -3684,9 +3684,9 @@ __metadata: resolution: "@parcel/html-example@workspace:packages/examples/html" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" lodash: "npm:^4.17.21" - parcel: "npm:2.14.4" + parcel: "npm:2.15.0" react: "npm:^19.1.0" react-dom: "npm:^19.1.0" languageName: unknown @@ -3724,7 +3724,7 @@ __metadata: ncp: "npm:^2.0.0" nib: "npm:^1.2.0" node-elm-compiler: "npm:^5.0.6" - parcel: "npm:2.14.4" + parcel: "npm:2.15.0" postcss: "npm:^8.5.3" postcss-custom-properties: "npm:^12.1.11" postcss-import: "npm:^16.1.0" @@ -3746,13 +3746,13 @@ __metadata: resolution: "@parcel/kitchen-sink-example@workspace:packages/examples/kitchen-sink" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/config-default": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/optimizer-esbuild": "npm:2.14.4" - "@parcel/reporter-sourcemap-visualiser": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/config-default": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/optimizer-esbuild": "npm:2.15.0" + "@parcel/reporter-sourcemap-visualiser": "npm:2.15.0" lodash: "npm:^4.17.21" - parcel: "npm:2.14.4" + parcel: "npm:2.15.0" react: "npm:^19.1.0" react-dom: "npm:^19.1.0" languageName: unknown @@ -3763,9 +3763,9 @@ __metadata: resolution: "@parcel/link@workspace:packages/dev/parcel-link" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/fs": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/fs": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" commander: "npm:^12.1.0" nullthrows: "npm:^1.1.1" bin: @@ -3773,16 +3773,16 @@ __metadata: languageName: unknown linkType: soft -"@parcel/logger@npm:2.14.4, @parcel/logger@workspace:packages/core/logger": +"@parcel/logger@npm:2.15.0, @parcel/logger@workspace:packages/core/logger": version: 0.0.0-use.local resolution: "@parcel/logger@workspace:packages/core/logger" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/events": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/events": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/lsp-protocol@npm:2.14.4, @parcel/lsp-protocol@workspace:packages/utils/parcel-lsp-protocol": +"@parcel/lsp-protocol@npm:2.15.0, @parcel/lsp-protocol@workspace:packages/utils/parcel-lsp-protocol": version: 0.0.0-use.local resolution: "@parcel/lsp-protocol@workspace:packages/utils/parcel-lsp-protocol" dependencies: @@ -3791,11 +3791,11 @@ __metadata: languageName: unknown linkType: soft -"@parcel/lsp@npm:2.14.4, @parcel/lsp@workspace:packages/utils/parcel-lsp": +"@parcel/lsp@npm:2.15.0, @parcel/lsp@workspace:packages/utils/parcel-lsp": version: 0.0.0-use.local resolution: "@parcel/lsp@workspace:packages/utils/parcel-lsp" dependencies: - "@parcel/lsp-protocol": "npm:2.14.4" + "@parcel/lsp-protocol": "npm:2.15.0" "@parcel/watcher": "npm:^2.0.7" "@types/node": "npm:^22.15.17" "@typescript-eslint/eslint-plugin": "npm:^5.59.7" @@ -3817,7 +3817,7 @@ __metadata: languageName: unknown linkType: soft -"@parcel/markdown-ansi@npm:2.14.4, @parcel/markdown-ansi@workspace:packages/core/markdown-ansi": +"@parcel/markdown-ansi@npm:2.15.0, @parcel/markdown-ansi@workspace:packages/core/markdown-ansi": version: 0.0.0-use.local resolution: "@parcel/markdown-ansi@workspace:packages/core/markdown-ansi" dependencies: @@ -3857,25 +3857,25 @@ __metadata: languageName: unknown linkType: soft -"@parcel/namer-default@npm:2.14.4, @parcel/namer-default@workspace:packages/namers/default": +"@parcel/namer-default@npm:2.15.0, @parcel/namer-default@workspace:packages/namers/default": version: 0.0.0-use.local resolution: "@parcel/namer-default@workspace:packages/namers/default" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/node-resolver-core@npm:3.5.4, @parcel/node-resolver-core@workspace:packages/utils/node-resolver-core": +"@parcel/node-resolver-core@npm:3.6.0, @parcel/node-resolver-core@workspace:packages/utils/node-resolver-core": version: 0.0.0-use.local resolution: "@parcel/node-resolver-core@workspace:packages/utils/node-resolver-core" dependencies: "@mischnic/json-sourcemap": "npm:^0.1.1" - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/fs": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/fs": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" assert: "npm:^2.1.0" browserify-zlib: "npm:^0.2.0" buffer: "npm:^5.5.0||^6.0.0" @@ -3907,19 +3907,19 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/optimizer-blob-url@workspace:packages/optimizers/blob-url" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/optimizer-css@npm:2.14.4, @parcel/optimizer-css@workspace:packages/optimizers/css": +"@parcel/optimizer-css@npm:2.15.0, @parcel/optimizer-css@workspace:packages/optimizers/css": version: 0.0.0-use.local resolution: "@parcel/optimizer-css@workspace:packages/optimizers/css" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/utils": "npm:2.14.4" + "@parcel/utils": "npm:2.15.0" browserslist: "npm:^4.24.5" lightningcss: "npm:^1.30.0" lightningcss-wasm: "npm:^1.30.0" @@ -3931,7 +3931,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/optimizer-cssnano@workspace:packages/optimizers/cssnano" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" cssnano: "npm:^7.0.7" postcss: "npm:^8.5.3" @@ -3942,33 +3942,33 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/optimizer-data-url@workspace:packages/optimizers/data-url" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" isbinaryfile: "npm:^5.0.4" mime: "npm:^3.0.0" languageName: unknown linkType: soft -"@parcel/optimizer-esbuild@npm:2.14.4, @parcel/optimizer-esbuild@workspace:packages/optimizers/esbuild": +"@parcel/optimizer-esbuild@npm:2.15.0, @parcel/optimizer-esbuild@workspace:packages/optimizers/esbuild": version: 0.0.0-use.local resolution: "@parcel/optimizer-esbuild@workspace:packages/optimizers/esbuild" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/utils": "npm:2.14.4" + "@parcel/utils": "npm:2.15.0" esbuild: "npm:^0.25.4" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/optimizer-html@npm:2.14.4, @parcel/optimizer-html@workspace:packages/optimizers/html": +"@parcel/optimizer-html@npm:2.15.0, @parcel/optimizer-html@workspace:packages/optimizers/html": version: 0.0.0-use.local resolution: "@parcel/optimizer-html@workspace:packages/optimizers/html" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft @@ -3976,9 +3976,9 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/optimizer-htmlnano@workspace:packages/optimizers/htmlnano" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" htmlnano: "npm:^2.1.2" nullthrows: "npm:^1.1.1" posthtml: "npm:^0.16.6" @@ -3986,17 +3986,17 @@ __metadata: languageName: unknown linkType: soft -"@parcel/optimizer-image@npm:2.14.4, @parcel/optimizer-image@workspace:packages/optimizers/image": +"@parcel/optimizer-image@npm:2.15.0, @parcel/optimizer-image@workspace:packages/optimizers/image": version: 0.0.0-use.local resolution: "@parcel/optimizer-image@workspace:packages/optimizers/image" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" - "@parcel/workers": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" + "@parcel/workers": "npm:2.15.0" peerDependencies: - "@parcel/core": ^2.14.4 + "@parcel/core": ^2.15.0 languageName: unknown linkType: soft @@ -4004,21 +4004,21 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/optimizer-inline-requires@workspace:packages/optimizers/inline-requires" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/types": "npm:2.14.4" + "@parcel/types": "npm:2.15.0" "@swc/core": "npm:^1.11.24" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/optimizer-svg@npm:2.14.4, @parcel/optimizer-svg@workspace:packages/optimizers/svg": +"@parcel/optimizer-svg@npm:2.15.0, @parcel/optimizer-svg@workspace:packages/optimizers/svg": version: 0.0.0-use.local resolution: "@parcel/optimizer-svg@workspace:packages/optimizers/svg" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft @@ -4026,50 +4026,50 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/optimizer-svgo@workspace:packages/optimizers/svgo" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" svgo: "npm:^3.3.2" languageName: unknown linkType: soft -"@parcel/optimizer-swc@npm:2.14.4, @parcel/optimizer-swc@workspace:packages/optimizers/swc": +"@parcel/optimizer-swc@npm:2.15.0, @parcel/optimizer-swc@workspace:packages/optimizers/swc": version: 0.0.0-use.local resolution: "@parcel/optimizer-swc@workspace:packages/optimizers/swc" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/utils": "npm:2.14.4" + "@parcel/utils": "npm:2.15.0" "@swc/core": "npm:^1.11.24" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/optimizer-terser@npm:2.14.4, @parcel/optimizer-terser@workspace:packages/optimizers/terser": +"@parcel/optimizer-terser@npm:2.15.0, @parcel/optimizer-terser@workspace:packages/optimizers/terser": version: 0.0.0-use.local resolution: "@parcel/optimizer-terser@workspace:packages/optimizers/terser" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/utils": "npm:2.14.4" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" terser: "npm:^5.39.0" languageName: unknown linkType: soft -"@parcel/package-manager@npm:2.14.4, @parcel/package-manager@workspace:packages/core/package-manager": +"@parcel/package-manager@npm:2.15.0, @parcel/package-manager@workspace:packages/core/package-manager": version: 0.0.0-use.local resolution: "@parcel/package-manager@workspace:packages/core/package-manager" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/fs": "npm:2.14.4" - "@parcel/logger": "npm:2.14.4" - "@parcel/node-resolver-core": "npm:3.5.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" - "@parcel/workers": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/fs": "npm:2.15.0" + "@parcel/logger": "npm:2.15.0" + "@parcel/node-resolver-core": "npm:3.6.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" + "@parcel/workers": "npm:2.15.0" "@swc/core": "npm:^1.11.24" command-exists: "npm:^1.2.9" cross-spawn: "npm:^7.0.6" @@ -4077,18 +4077,18 @@ __metadata: semver: "npm:^7.7.1" split2: "npm:^4.2.0" peerDependencies: - "@parcel/core": ^2.14.4 + "@parcel/core": ^2.15.0 languageName: unknown linkType: soft -"@parcel/packager-css@npm:2.14.4, @parcel/packager-css@workspace:packages/packagers/css": +"@parcel/packager-css@npm:2.15.0, @parcel/packager-css@workspace:packages/packagers/css": version: 0.0.0-use.local resolution: "@parcel/packager-css@workspace:packages/packagers/css" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/utils": "npm:2.14.4" + "@parcel/utils": "npm:2.15.0" lightningcss: "npm:^1.30.0" lightningcss-wasm: "npm:^1.30.0" nullthrows: "npm:^1.1.1" @@ -4096,27 +4096,27 @@ __metadata: languageName: unknown linkType: soft -"@parcel/packager-html@npm:2.14.4, @parcel/packager-html@workspace:packages/packagers/html": +"@parcel/packager-html@npm:2.15.0, @parcel/packager-html@workspace:packages/packagers/html": version: 0.0.0-use.local resolution: "@parcel/packager-html@workspace:packages/packagers/html" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/packager-js@npm:2.14.4, @parcel/packager-js@workspace:packages/packagers/js": +"@parcel/packager-js@npm:2.15.0, @parcel/packager-js@workspace:packages/packagers/js": version: 0.0.0-use.local resolution: "@parcel/packager-js@workspace:packages/packagers/js" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" globals: "npm:^13.24.0" nullthrows: "npm:^1.1.1" languageName: unknown @@ -4126,16 +4126,16 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/packager-raw-url@workspace:packages/packagers/raw-url" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/packager-raw@npm:2.14.4, @parcel/packager-raw@workspace:packages/packagers/raw": +"@parcel/packager-raw@npm:2.15.0, @parcel/packager-raw@workspace:packages/packagers/raw": version: 0.0.0-use.local resolution: "@parcel/packager-raw@workspace:packages/packagers/raw" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft @@ -4143,24 +4143,24 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/packager-react-static@workspace:packages/packagers/react-static" dependencies: - "@parcel/node-resolver-core": "npm:3.5.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/node-resolver-core": "npm:3.6.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" rsc-html-stream: "npm:^0.0.6" languageName: unknown linkType: soft -"@parcel/packager-svg@npm:2.14.4, @parcel/packager-svg@workspace:packages/packagers/svg": +"@parcel/packager-svg@npm:2.15.0, @parcel/packager-svg@workspace:packages/packagers/svg": version: 0.0.0-use.local resolution: "@parcel/packager-svg@workspace:packages/packagers/svg" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft @@ -4168,24 +4168,24 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/packager-ts@workspace:packages/packagers/ts" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/packager-wasm@npm:2.14.4, @parcel/packager-wasm@workspace:packages/packagers/wasm": +"@parcel/packager-wasm@npm:2.15.0, @parcel/packager-wasm@workspace:packages/packagers/wasm": version: 0.0.0-use.local resolution: "@parcel/packager-wasm@workspace:packages/packagers/wasm" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/packager-webextension@npm:2.14.4, @parcel/packager-webextension@workspace:packages/packagers/webextension": +"@parcel/packager-webextension@npm:2.15.0, @parcel/packager-webextension@workspace:packages/packagers/webextension": version: 0.0.0-use.local resolution: "@parcel/packager-webextension@workspace:packages/packagers/webextension" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -4194,41 +4194,41 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/packager-xml@workspace:packages/packagers/xml" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" "@xmldom/xmldom": "npm:^0.9.8" languageName: unknown linkType: soft -"@parcel/plugin@npm:2.14.4, @parcel/plugin@workspace:packages/core/plugin": +"@parcel/plugin@npm:2.15.0, @parcel/plugin@workspace:packages/core/plugin": version: 0.0.0-use.local resolution: "@parcel/plugin@workspace:packages/core/plugin" dependencies: - "@parcel/types": "npm:2.14.4" + "@parcel/types": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/profiler@npm:2.14.4, @parcel/profiler@workspace:packages/core/profiler": +"@parcel/profiler@npm:2.15.0, @parcel/profiler@workspace:packages/core/profiler": version: 0.0.0-use.local resolution: "@parcel/profiler@workspace:packages/core/profiler" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/events": "npm:2.14.4" - "@parcel/types-internal": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/events": "npm:2.15.0" + "@parcel/types-internal": "npm:2.15.0" chrome-trace-event: "npm:^1.0.2" languageName: unknown linkType: soft -"@parcel/query@npm:2.14.4, @parcel/query@workspace:packages/dev/query": +"@parcel/query@npm:2.15.0, @parcel/query@workspace:packages/dev/query": version: 0.0.0-use.local resolution: "@parcel/query@workspace:packages/dev/query" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/cache": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/graph": "npm:3.4.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/cache": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/graph": "npm:3.5.0" nullthrows: "npm:^1.1.1" table: "npm:^6.9.0" v8-compile-cache: "npm:^2.4.0" @@ -4241,7 +4241,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/react-hmr-example@workspace:packages/examples/react-hmr" dependencies: - parcel: "npm:2.14.4" + parcel: "npm:2.15.0" react: "npm:^19.1.0" react-dom: "npm:^19.1.0" languageName: unknown @@ -4252,8 +4252,8 @@ __metadata: resolution: "@parcel/react-refresh-example@workspace:packages/examples/react-refresh" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" react: "npm:^19.1.0" react-dom: "npm:^19.1.0" languageName: unknown @@ -4263,10 +4263,10 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/register@workspace:packages/core/register" dependencies: - "@parcel/config-default": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/fs": "npm:2.14.4" - "@parcel/package-manager": "npm:2.14.4" + "@parcel/config-default": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/fs": "npm:2.15.0" + "@parcel/package-manager": "npm:2.15.0" pirates: "npm:^4.0.7" languageName: unknown linkType: soft @@ -4291,10 +4291,10 @@ __metadata: "@mischnic/dot-svg": "npm:^0.0.0" "@mischnic/pako": "npm:^1.0.10" "@mischnic/yarn-browser": "npm:^0.0.4" - "@parcel/config-repl": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/fs": "npm:2.14.4" - "@parcel/package-manager": "npm:2.14.4" + "@parcel/config-repl": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/fs": "npm:2.15.0" + "@parcel/package-manager": "npm:2.15.0" comlink: "npm:^4.4.2" eslint-config-react-app: "npm:^7.0.1" filesize: "npm:^10.1.6" @@ -4315,8 +4315,8 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/reporter-build-metrics@workspace:packages/reporters/build-metrics" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft @@ -4324,9 +4324,9 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/reporter-bundle-analyzer@workspace:packages/reporters/bundle-analyzer" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -4335,31 +4335,31 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/reporter-bundle-buddy@workspace:packages/reporters/bundle-buddy" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/reporter-bundle-stats@npm:2.14.4, @parcel/reporter-bundle-stats@workspace:packages/reporters/bundle-stats": +"@parcel/reporter-bundle-stats@npm:2.15.0, @parcel/reporter-bundle-stats@workspace:packages/reporters/bundle-stats": version: 0.0.0-use.local resolution: "@parcel/reporter-bundle-stats@workspace:packages/reporters/bundle-stats" dependencies: - "@parcel/core": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/core": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" bin: parcel-bundle-stats: bin.js languageName: unknown linkType: soft -"@parcel/reporter-cli@npm:2.14.4, @parcel/reporter-cli@workspace:packages/reporters/cli": +"@parcel/reporter-cli@npm:2.15.0, @parcel/reporter-cli@workspace:packages/reporters/cli": version: 0.0.0-use.local resolution: "@parcel/reporter-cli@workspace:packages/reporters/cli" dependencies: - "@parcel/feature-flags": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/feature-flags": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" chalk: "npm:^4.1.2" filesize: "npm:^10.1.6" nullthrows: "npm:^1.1.1" @@ -4370,27 +4370,27 @@ __metadata: languageName: unknown linkType: soft -"@parcel/reporter-dev-server-sw@npm:2.14.4, @parcel/reporter-dev-server-sw@workspace:packages/reporters/dev-server-sw": +"@parcel/reporter-dev-server-sw@npm:2.15.0, @parcel/reporter-dev-server-sw@workspace:packages/reporters/dev-server-sw": version: 0.0.0-use.local resolution: "@parcel/reporter-dev-server-sw@workspace:packages/reporters/dev-server-sw" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/reporter-dev-server@npm:2.14.4, @parcel/reporter-dev-server@workspace:packages/reporters/dev-server": +"@parcel/reporter-dev-server@npm:2.15.0, @parcel/reporter-dev-server@workspace:packages/reporters/dev-server": version: 0.0.0-use.local resolution: "@parcel/reporter-dev-server@workspace:packages/reporters/dev-server" dependencies: - "@parcel/babel-preset": "npm:2.14.4" - "@parcel/codeframe": "npm:2.14.4" - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/babel-preset": "npm:2.15.0" + "@parcel/codeframe": "npm:2.15.0" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" connect: "npm:^3.7.0" ejs: "npm:^3.1.10" fresh: "npm:^0.5.2" @@ -4403,13 +4403,13 @@ __metadata: languageName: unknown linkType: soft -"@parcel/reporter-json@npm:2.14.4, @parcel/reporter-json@workspace:packages/reporters/json": +"@parcel/reporter-json@npm:2.15.0, @parcel/reporter-json@workspace:packages/reporters/json": version: 0.0.0-use.local resolution: "@parcel/reporter-json@workspace:packages/reporters/json" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft @@ -4418,9 +4418,9 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/reporter-lsp@workspace:packages/reporters/lsp-reporter" dependencies: - "@parcel/lsp-protocol": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/lsp-protocol": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" node-ipc: "npm:^9.2.1" nullthrows: "npm:^1.1.1" ps-node: "npm:^0.1.6" @@ -4428,35 +4428,35 @@ __metadata: languageName: unknown linkType: soft -"@parcel/reporter-sourcemap-visualiser@npm:2.14.4, @parcel/reporter-sourcemap-visualiser@workspace:packages/reporters/sourcemap-visualiser": +"@parcel/reporter-sourcemap-visualiser@npm:2.15.0, @parcel/reporter-sourcemap-visualiser@workspace:packages/reporters/sourcemap-visualiser": version: 0.0.0-use.local resolution: "@parcel/reporter-sourcemap-visualiser@workspace:packages/reporters/sourcemap-visualiser" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/reporter-tracer@npm:2.14.4, @parcel/reporter-tracer@workspace:packages/reporters/tracer": +"@parcel/reporter-tracer@npm:2.15.0, @parcel/reporter-tracer@workspace:packages/reporters/tracer": version: 0.0.0-use.local resolution: "@parcel/reporter-tracer@workspace:packages/reporters/tracer" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" chrome-trace-event: "npm:^1.0.3" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/resolver-default@npm:2.14.4, @parcel/resolver-default@workspace:packages/resolvers/default": +"@parcel/resolver-default@npm:2.15.0, @parcel/resolver-default@workspace:packages/resolvers/default": version: 0.0.0-use.local resolution: "@parcel/resolver-default@workspace:packages/resolvers/default" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/node-resolver-core": "npm:3.5.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/node-resolver-core": "npm:3.6.0" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft @@ -4464,25 +4464,25 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/resolver-glob@workspace:packages/resolvers/glob" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/node-resolver-core": "npm:3.5.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/node-resolver-core": "npm:3.6.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/resolver-repl-runtimes@npm:2.14.4, @parcel/resolver-repl-runtimes@workspace:packages/resolvers/repl-runtimes": +"@parcel/resolver-repl-runtimes@npm:2.15.0, @parcel/resolver-repl-runtimes@workspace:packages/resolvers/repl-runtimes": version: 0.0.0-use.local resolution: "@parcel/resolver-repl-runtimes@workspace:packages/resolvers/repl-runtimes" dependencies: "@babel/core": "npm:^7.12.2" - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/rsc@npm:2.14.4, @parcel/rsc@workspace:packages/utils/rsc": +"@parcel/rsc@npm:2.15.0, @parcel/rsc@workspace:packages/utils/rsc": version: 0.0.0-use.local resolution: "@parcel/rsc@workspace:packages/utils/rsc" dependencies: @@ -4497,118 +4497,118 @@ __metadata: languageName: unknown linkType: soft -"@parcel/runtime-browser-hmr@npm:2.14.4, @parcel/runtime-browser-hmr@workspace:packages/runtimes/hmr": +"@parcel/runtime-browser-hmr@npm:2.15.0, @parcel/runtime-browser-hmr@workspace:packages/runtimes/hmr": version: 0.0.0-use.local resolution: "@parcel/runtime-browser-hmr@workspace:packages/runtimes/hmr" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/runtime-js@npm:2.14.4, @parcel/runtime-js@workspace:packages/runtimes/js": +"@parcel/runtime-js@npm:2.15.0, @parcel/runtime-js@workspace:packages/runtimes/js": version: 0.0.0-use.local resolution: "@parcel/runtime-js@workspace:packages/runtimes/js" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/runtime-rsc@npm:2.14.4, @parcel/runtime-rsc@workspace:packages/runtimes/rsc": +"@parcel/runtime-rsc@npm:2.15.0, @parcel/runtime-rsc@workspace:packages/runtimes/rsc": version: 0.0.0-use.local resolution: "@parcel/runtime-rsc@workspace:packages/runtimes/rsc" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/runtime-service-worker@npm:2.14.4, @parcel/runtime-service-worker@workspace:packages/runtimes/service-worker": +"@parcel/runtime-service-worker@npm:2.15.0, @parcel/runtime-service-worker@workspace:packages/runtimes/service-worker": version: 0.0.0-use.local resolution: "@parcel/runtime-service-worker@workspace:packages/runtimes/service-worker" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/runtime-webextension@npm:2.14.4, @parcel/runtime-webextension@workspace:packages/runtimes/webextension": +"@parcel/runtime-webextension@npm:2.15.0, @parcel/runtime-webextension@workspace:packages/runtimes/webextension": version: 0.0.0-use.local resolution: "@parcel/runtime-webextension@workspace:packages/runtimes/webextension" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" languageName: unknown linkType: soft -"@parcel/rust-darwin-arm64@npm:2.14.4, @parcel/rust-darwin-arm64@workspace:packages/core/rust-darwin-arm64": +"@parcel/rust-darwin-arm64@npm:2.15.0, @parcel/rust-darwin-arm64@workspace:packages/core/rust-darwin-arm64": version: 0.0.0-use.local resolution: "@parcel/rust-darwin-arm64@workspace:packages/core/rust-darwin-arm64" languageName: unknown linkType: soft -"@parcel/rust-darwin-x64@npm:2.14.4, @parcel/rust-darwin-x64@workspace:packages/core/rust-darwin-x64": +"@parcel/rust-darwin-x64@npm:2.15.0, @parcel/rust-darwin-x64@workspace:packages/core/rust-darwin-x64": version: 0.0.0-use.local resolution: "@parcel/rust-darwin-x64@workspace:packages/core/rust-darwin-x64" languageName: unknown linkType: soft -"@parcel/rust-linux-arm-gnueabihf@npm:2.14.4, @parcel/rust-linux-arm-gnueabihf@workspace:packages/core/rust-linux-arm-gnueabihf": +"@parcel/rust-linux-arm-gnueabihf@npm:2.15.0, @parcel/rust-linux-arm-gnueabihf@workspace:packages/core/rust-linux-arm-gnueabihf": version: 0.0.0-use.local resolution: "@parcel/rust-linux-arm-gnueabihf@workspace:packages/core/rust-linux-arm-gnueabihf" languageName: unknown linkType: soft -"@parcel/rust-linux-arm64-gnu@npm:2.14.4, @parcel/rust-linux-arm64-gnu@workspace:packages/core/rust-linux-arm64-gnu": +"@parcel/rust-linux-arm64-gnu@npm:2.15.0, @parcel/rust-linux-arm64-gnu@workspace:packages/core/rust-linux-arm64-gnu": version: 0.0.0-use.local resolution: "@parcel/rust-linux-arm64-gnu@workspace:packages/core/rust-linux-arm64-gnu" languageName: unknown linkType: soft -"@parcel/rust-linux-arm64-musl@npm:2.14.4, @parcel/rust-linux-arm64-musl@workspace:packages/core/rust-linux-arm64-musl": +"@parcel/rust-linux-arm64-musl@npm:2.15.0, @parcel/rust-linux-arm64-musl@workspace:packages/core/rust-linux-arm64-musl": version: 0.0.0-use.local resolution: "@parcel/rust-linux-arm64-musl@workspace:packages/core/rust-linux-arm64-musl" languageName: unknown linkType: soft -"@parcel/rust-linux-x64-gnu@npm:2.14.4, @parcel/rust-linux-x64-gnu@workspace:packages/core/rust-linux-x64-gnu": +"@parcel/rust-linux-x64-gnu@npm:2.15.0, @parcel/rust-linux-x64-gnu@workspace:packages/core/rust-linux-x64-gnu": version: 0.0.0-use.local resolution: "@parcel/rust-linux-x64-gnu@workspace:packages/core/rust-linux-x64-gnu" languageName: unknown linkType: soft -"@parcel/rust-linux-x64-musl@npm:2.14.4, @parcel/rust-linux-x64-musl@workspace:packages/core/rust-linux-x64-musl": +"@parcel/rust-linux-x64-musl@npm:2.15.0, @parcel/rust-linux-x64-musl@workspace:packages/core/rust-linux-x64-musl": version: 0.0.0-use.local resolution: "@parcel/rust-linux-x64-musl@workspace:packages/core/rust-linux-x64-musl" languageName: unknown linkType: soft -"@parcel/rust-win32-x64-msvc@npm:2.14.4, @parcel/rust-win32-x64-msvc@workspace:packages/core/rust-win32-x64-msvc": +"@parcel/rust-win32-x64-msvc@npm:2.15.0, @parcel/rust-win32-x64-msvc@workspace:packages/core/rust-win32-x64-msvc": version: 0.0.0-use.local resolution: "@parcel/rust-win32-x64-msvc@workspace:packages/core/rust-win32-x64-msvc" languageName: unknown linkType: soft -"@parcel/rust@npm:2.14.4, @parcel/rust@workspace:packages/core/rust": +"@parcel/rust@npm:2.15.0, @parcel/rust@workspace:packages/core/rust": version: 0.0.0-use.local resolution: "@parcel/rust@workspace:packages/core/rust" dependencies: "@napi-rs/cli": "npm:^2.15.2" - "@parcel/rust-darwin-arm64": "npm:2.14.4" - "@parcel/rust-darwin-x64": "npm:2.14.4" - "@parcel/rust-linux-arm-gnueabihf": "npm:2.14.4" - "@parcel/rust-linux-arm64-gnu": "npm:2.14.4" - "@parcel/rust-linux-arm64-musl": "npm:2.14.4" - "@parcel/rust-linux-x64-gnu": "npm:2.14.4" - "@parcel/rust-linux-x64-musl": "npm:2.14.4" - "@parcel/rust-win32-x64-msvc": "npm:2.14.4" + "@parcel/rust-darwin-arm64": "npm:2.15.0" + "@parcel/rust-darwin-x64": "npm:2.15.0" + "@parcel/rust-linux-arm-gnueabihf": "npm:2.15.0" + "@parcel/rust-linux-arm64-gnu": "npm:2.15.0" + "@parcel/rust-linux-arm64-musl": "npm:2.15.0" + "@parcel/rust-linux-x64-gnu": "npm:2.15.0" + "@parcel/rust-linux-x64-musl": "npm:2.15.0" + "@parcel/rust-win32-x64-msvc": "npm:2.15.0" napi-wasm: "npm:^1.1.3" peerDependencies: napi-wasm: ^1.1.2 @@ -4646,8 +4646,8 @@ __metadata: resolution: "@parcel/simple-example@workspace:packages/examples/simple" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" lodash: "npm:^4.17.21" languageName: unknown linkType: soft @@ -4665,11 +4665,11 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/test-utils@workspace:packages/core/test-utils" dependencies: - "@parcel/config-default": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/fs": "npm:2.14.4" - "@parcel/package-manager": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/config-default": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/fs": "npm:2.15.0" + "@parcel/package-manager": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" chalk: "npm:^4.1.2" ncp: "npm:^2.0.0" nullthrows: "npm:^1.1.1" @@ -4684,25 +4684,25 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/three-js-stresstest@workspace:packages/examples/three" dependencies: - "@parcel/config-default": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/optimizer-esbuild": "npm:2.14.4" - parcel: "npm:2.14.4" + "@parcel/config-default": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/optimizer-esbuild": "npm:2.15.0" + parcel: "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/transformer-babel@npm:2.14.4, @parcel/transformer-babel@workspace:packages/transformers/babel": +"@parcel/transformer-babel@npm:2.15.0, @parcel/transformer-babel@workspace:packages/transformers/babel": version: 0.0.0-use.local resolution: "@parcel/transformer-babel@workspace:packages/transformers/babel" dependencies: "@babel/core": "npm:^7.22.11" "@babel/preset-env": "npm:^7.22.14" "@babel/types": "npm:^7.22.11" - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" browserslist: "npm:^4.24.5" json5: "npm:^2.2.3" nullthrows: "npm:^1.1.1" @@ -4714,23 +4714,23 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-coffeescript@workspace:packages/transformers/coffeescript" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/utils": "npm:2.14.4" + "@parcel/utils": "npm:2.15.0" coffeescript: "npm:^2.7.0" nullthrows: "npm:^1.1.1" semver: "npm:^7.7.1" languageName: unknown linkType: soft -"@parcel/transformer-css@npm:2.14.4, @parcel/transformer-css@workspace:packages/transformers/css": +"@parcel/transformer-css@npm:2.15.0, @parcel/transformer-css@workspace:packages/transformers/css": version: 0.0.0-use.local resolution: "@parcel/transformer-css@workspace:packages/transformers/css" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/utils": "npm:2.14.4" + "@parcel/utils": "npm:2.15.0" browserslist: "npm:^4.24.5" lightningcss: "npm:^1.30.0" lightningcss-wasm: "npm:^1.30.0" @@ -4742,8 +4742,8 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-elm@workspace:packages/transformers/elm" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" command-exists: "npm:^1.2.9" cross-spawn: "npm:^7.0.6" elm-hot: "npm:^1.1.6" @@ -4759,7 +4759,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-glsl@workspace:packages/transformers/glsl" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" glslify-bundle: "npm:^5.1.1" glslify-deps: "npm:^1.3.2" languageName: unknown @@ -4769,41 +4769,41 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-graphql@workspace:packages/transformers/graphql" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" graphql: "npm:^15.10.1" graphql-import-macro: "npm:^1.0.0" languageName: unknown linkType: soft -"@parcel/transformer-html@npm:2.14.4, @parcel/transformer-html@workspace:packages/transformers/html": +"@parcel/transformer-html@npm:2.15.0, @parcel/transformer-html@workspace:packages/transformers/html": version: 0.0.0-use.local resolution: "@parcel/transformer-html@workspace:packages/transformers/html" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/transformer-image@npm:2.14.4, @parcel/transformer-image@workspace:packages/transformers/image": +"@parcel/transformer-image@npm:2.15.0, @parcel/transformer-image@workspace:packages/transformers/image": version: 0.0.0-use.local resolution: "@parcel/transformer-image@workspace:packages/transformers/image" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" - "@parcel/workers": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" + "@parcel/workers": "npm:2.15.0" nullthrows: "npm:^1.1.1" sharp: "npm:^0.33.5" peerDependencies: - "@parcel/core": ^2.14.4 + "@parcel/core": ^2.15.0 languageName: unknown linkType: soft -"@parcel/transformer-inline-string@npm:2.14.4, @parcel/transformer-inline-string@workspace:packages/transformers/inline-string": +"@parcel/transformer-inline-string@npm:2.15.0, @parcel/transformer-inline-string@workspace:packages/transformers/inline-string": version: 0.0.0-use.local resolution: "@parcel/transformer-inline-string@workspace:packages/transformers/inline-string" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft @@ -4811,35 +4811,35 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-inline@workspace:packages/transformers/inline" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/transformer-js@npm:2.14.4, @parcel/transformer-js@workspace:packages/transformers/js": +"@parcel/transformer-js@npm:2.15.0, @parcel/transformer-js@workspace:packages/transformers/js": version: 0.0.0-use.local resolution: "@parcel/transformer-js@workspace:packages/transformers/js" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/utils": "npm:2.14.4" - "@parcel/workers": "npm:2.14.4" + "@parcel/utils": "npm:2.15.0" + "@parcel/workers": "npm:2.15.0" "@swc/helpers": "npm:^0.5.0" browserslist: "npm:^4.24.5" nullthrows: "npm:^1.1.1" regenerator-runtime: "npm:^0.14.1" semver: "npm:^7.7.1" peerDependencies: - "@parcel/core": ^2.14.4 + "@parcel/core": ^2.15.0 languageName: unknown linkType: soft -"@parcel/transformer-json@npm:2.14.4, @parcel/transformer-json@workspace:packages/transformers/json": +"@parcel/transformer-json@npm:2.15.0, @parcel/transformer-json@workspace:packages/transformers/json": version: 0.0.0-use.local resolution: "@parcel/transformer-json@workspace:packages/transformers/json" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" json5: "npm:^2.2.3" languageName: unknown linkType: soft @@ -4848,8 +4848,8 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-jsonld@workspace:packages/transformers/jsonld" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" json5: "npm:^2.2.3" languageName: unknown linkType: soft @@ -4858,28 +4858,28 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-less@workspace:packages/transformers/less" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" less: "npm:^4.3.0" languageName: unknown linkType: soft -"@parcel/transformer-node@npm:2.14.4, @parcel/transformer-node@workspace:packages/transformers/node": +"@parcel/transformer-node@npm:2.15.0, @parcel/transformer-node@workspace:packages/transformers/node": version: 0.0.0-use.local resolution: "@parcel/transformer-node@workspace:packages/transformers/node" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/transformer-postcss@npm:2.14.4, @parcel/transformer-postcss@workspace:packages/transformers/postcss": +"@parcel/transformer-postcss@npm:2.15.0, @parcel/transformer-postcss@workspace:packages/transformers/postcss": version: 0.0.0-use.local resolution: "@parcel/transformer-postcss@workspace:packages/transformers/postcss" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" clone: "npm:^2.1.2" nullthrows: "npm:^1.1.1" postcss: "npm:^8.5.3" @@ -4889,12 +4889,12 @@ __metadata: languageName: unknown linkType: soft -"@parcel/transformer-posthtml@npm:2.14.4, @parcel/transformer-posthtml@workspace:packages/transformers/posthtml": +"@parcel/transformer-posthtml@npm:2.15.0, @parcel/transformer-posthtml@workspace:packages/transformers/posthtml": version: 0.0.0-use.local resolution: "@parcel/transformer-posthtml@workspace:packages/transformers/posthtml" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft @@ -4902,26 +4902,26 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-pug@workspace:packages/transformers/pug" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" pug: "npm:^3.0.3" languageName: unknown linkType: soft -"@parcel/transformer-raw@npm:2.14.4, @parcel/transformer-raw@workspace:packages/transformers/raw": +"@parcel/transformer-raw@npm:2.15.0, @parcel/transformer-raw@workspace:packages/transformers/raw": version: 0.0.0-use.local resolution: "@parcel/transformer-raw@workspace:packages/transformers/raw" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/transformer-react-refresh-wrap@npm:2.14.4, @parcel/transformer-react-refresh-wrap@workspace:packages/transformers/react-refresh-wrap": +"@parcel/transformer-react-refresh-wrap@npm:2.15.0, @parcel/transformer-react-refresh-wrap@workspace:packages/transformers/react-refresh-wrap": version: 0.0.0-use.local resolution: "@parcel/transformer-react-refresh-wrap@workspace:packages/transformers/react-refresh-wrap" dependencies: - "@parcel/error-overlay": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/error-overlay": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" react-refresh: "npm:^0.16.0" languageName: unknown linkType: soft @@ -4930,7 +4930,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-react-static@workspace:packages/transformers/react-static" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft @@ -4938,7 +4938,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-sass@workspace:packages/transformers/sass" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" sass: "npm:^1.88.0" languageName: unknown @@ -4948,8 +4948,8 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-stylus@workspace:packages/transformers/stylus" dependencies: - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" stylus: "npm:^0.63.0" languageName: unknown linkType: soft @@ -4958,7 +4958,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-sugarss@workspace:packages/transformers/sugarss" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" postcss: "npm:^8.5.3" sugarss: "npm:^4.0.1" languageName: unknown @@ -4968,10 +4968,10 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-svg-jsx@workspace:packages/transformers/svg-jsx" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft @@ -4979,21 +4979,21 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-svg-react@workspace:packages/transformers/svg-react" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" "@svgr/core": "npm:^8.1.0" "@svgr/plugin-jsx": "npm:^8.1.0" languageName: unknown linkType: soft -"@parcel/transformer-svg@npm:2.14.4, @parcel/transformer-svg@workspace:packages/transformers/svg": +"@parcel/transformer-svg@npm:2.15.0, @parcel/transformer-svg@workspace:packages/transformers/svg": version: 0.0.0-use.local resolution: "@parcel/transformer-svg@workspace:packages/transformers/svg" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" languageName: unknown linkType: soft @@ -5002,7 +5002,7 @@ __metadata: resolution: "@parcel/transformer-toml@workspace:packages/transformers/toml" dependencies: "@iarna/toml": "npm:^2.2.5" - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft @@ -5010,9 +5010,9 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-typescript-tsc@workspace:packages/transformers/typescript-tsc" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/ts-utils": "npm:2.14.4" + "@parcel/ts-utils": "npm:2.15.0" typescript: "npm:>=3.0.0" peerDependencies: typescript: ">=3.0.0" @@ -5023,11 +5023,11 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-typescript-types@workspace:packages/transformers/typescript-types" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/ts-utils": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/ts-utils": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" typescript: "npm:>=3.0.0" peerDependencies: @@ -5040,10 +5040,10 @@ __metadata: resolution: "@parcel/transformer-vue@workspace:packages/transformers/vue" dependencies: "@ladjs/consolidate": "npm:^1.0.4" - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" - "@parcel/utils": "npm:2.14.4" + "@parcel/utils": "npm:2.15.0" "@vue/compiler-sfc": "npm:^3.2.27" nullthrows: "npm:^1.1.1" semver: "npm:^7.7.1" @@ -5051,14 +5051,14 @@ __metadata: languageName: unknown linkType: soft -"@parcel/transformer-webextension@npm:2.14.4, @parcel/transformer-webextension@workspace:packages/transformers/webextension": +"@parcel/transformer-webextension@npm:2.15.0, @parcel/transformer-webextension@workspace:packages/transformers/webextension": version: 0.0.0-use.local resolution: "@parcel/transformer-webextension@workspace:packages/transformers/webextension" dependencies: "@mischnic/json-sourcemap": "npm:^0.1.1" - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" content-security-policy-parser: "npm:^0.6.0" languageName: unknown linkType: soft @@ -5068,9 +5068,9 @@ __metadata: resolution: "@parcel/transformer-webmanifest@workspace:packages/transformers/webmanifest" dependencies: "@mischnic/json-sourcemap": "npm:^0.1.1" - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" languageName: unknown linkType: soft @@ -5078,7 +5078,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-worklet@workspace:packages/transformers/worklet" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" languageName: unknown linkType: soft @@ -5086,7 +5086,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-xml@workspace:packages/transformers/xml" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" "@xmldom/xmldom": "npm:^0.9.8" languageName: unknown linkType: soft @@ -5095,7 +5095,7 @@ __metadata: version: 0.0.0-use.local resolution: "@parcel/transformer-yaml@workspace:packages/transformers/yaml" dependencies: - "@parcel/plugin": "npm:2.14.4" + "@parcel/plugin": "npm:2.15.0" js-yaml: "npm:^4.1.0" languageName: unknown linkType: soft @@ -5105,8 +5105,8 @@ __metadata: resolution: "@parcel/ts-example@workspace:packages/examples/ts-example" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" lodash: "npm:^4.17.21" languageName: unknown linkType: soft @@ -5116,13 +5116,13 @@ __metadata: resolution: "@parcel/ts-typecheck-example@workspace:packages/examples/ts-typecheck-example" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/validator-typescript": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/validator-typescript": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/ts-utils@npm:2.14.4, @parcel/ts-utils@workspace:packages/utils/ts-utils": +"@parcel/ts-utils@npm:2.15.0, @parcel/ts-utils@workspace:packages/utils/ts-utils": version: 0.0.0-use.local resolution: "@parcel/ts-utils@workspace:packages/utils/ts-utils" dependencies: @@ -5133,36 +5133,36 @@ __metadata: languageName: unknown linkType: soft -"@parcel/types-internal@npm:2.14.4, @parcel/types-internal@workspace:packages/core/types-internal": +"@parcel/types-internal@npm:2.15.0, @parcel/types-internal@workspace:packages/core/types-internal": version: 0.0.0-use.local resolution: "@parcel/types-internal@workspace:packages/core/types-internal" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/feature-flags": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/feature-flags": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" utility-types: "npm:^3.11.0" languageName: unknown linkType: soft -"@parcel/types@npm:2.14.4, @parcel/types@workspace:packages/core/types": +"@parcel/types@npm:2.15.0, @parcel/types@workspace:packages/core/types": version: 0.0.0-use.local resolution: "@parcel/types@workspace:packages/core/types" dependencies: - "@parcel/types-internal": "npm:2.14.4" - "@parcel/workers": "npm:2.14.4" + "@parcel/types-internal": "npm:2.15.0" + "@parcel/workers": "npm:2.15.0" languageName: unknown linkType: soft -"@parcel/utils@npm:2.14.4, @parcel/utils@workspace:packages/core/utils": +"@parcel/utils@npm:2.15.0, @parcel/utils@workspace:packages/core/utils": version: 0.0.0-use.local resolution: "@parcel/utils@workspace:packages/core/utils" dependencies: "@iarna/toml": "npm:^2.2.5" - "@parcel/codeframe": "npm:2.14.4" - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/logger": "npm:2.14.4" - "@parcel/markdown-ansi": "npm:2.14.4" - "@parcel/rust": "npm:2.14.4" + "@parcel/codeframe": "npm:2.15.0" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/logger": "npm:2.15.0" + "@parcel/markdown-ansi": "npm:2.15.0" + "@parcel/rust": "npm:2.15.0" "@parcel/source-map": "npm:^2.1.1" ansi-html-community: "npm:0.0.8" chalk: "npm:^4.1.2" @@ -5183,13 +5183,13 @@ __metadata: languageName: unknown linkType: soft -"@parcel/validator-eslint@npm:2.14.4, @parcel/validator-eslint@workspace:packages/validators/eslint": +"@parcel/validator-eslint@npm:2.15.0, @parcel/validator-eslint@workspace:packages/validators/eslint": version: 0.0.0-use.local resolution: "@parcel/validator-eslint@workspace:packages/validators/eslint" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" chalk: "npm:^4.1.2" eslint: "npm:^8.57.1" peerDependencies: @@ -5197,15 +5197,15 @@ __metadata: languageName: unknown linkType: soft -"@parcel/validator-typescript@npm:2.14.4, @parcel/validator-typescript@workspace:packages/validators/typescript": +"@parcel/validator-typescript@npm:2.15.0, @parcel/validator-typescript@workspace:packages/validators/typescript": version: 0.0.0-use.local resolution: "@parcel/validator-typescript@workspace:packages/validators/typescript" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/plugin": "npm:2.14.4" - "@parcel/ts-utils": "npm:2.14.4" - "@parcel/types": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/plugin": "npm:2.15.0" + "@parcel/ts-utils": "npm:2.15.0" + "@parcel/types": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" typescript: "npm:>=3.0.0" peerDependencies: typescript: ">=3.0.0" @@ -5268,12 +5268,12 @@ __metadata: languageName: node linkType: hard -"@parcel/watcher-watchman-js@npm:2.14.4, @parcel/watcher-watchman-js@workspace:packages/utils/parcel-watcher-watchman-js": +"@parcel/watcher-watchman-js@npm:2.15.0, @parcel/watcher-watchman-js@workspace:packages/utils/parcel-watcher-watchman-js": version: 0.0.0-use.local resolution: "@parcel/watcher-watchman-js@workspace:packages/utils/parcel-watcher-watchman-js" dependencies: - "@parcel/logger": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/logger": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" "@parcel/watcher": "npm:^2.4.1" fb-watchman: "npm:^2.0.2" languageName: unknown @@ -5337,18 +5337,18 @@ __metadata: languageName: node linkType: hard -"@parcel/workers@npm:2.14.4, @parcel/workers@workspace:packages/core/workers": +"@parcel/workers@npm:2.15.0, @parcel/workers@workspace:packages/core/workers": version: 0.0.0-use.local resolution: "@parcel/workers@workspace:packages/core/workers" dependencies: - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/logger": "npm:2.14.4" - "@parcel/profiler": "npm:2.14.4" - "@parcel/types-internal": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/logger": "npm:2.15.0" + "@parcel/profiler": "npm:2.15.0" + "@parcel/types-internal": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" nullthrows: "npm:^1.1.1" peerDependencies: - "@parcel/core": ^2.14.4 + "@parcel/core": ^2.15.0 languageName: unknown linkType: soft @@ -11449,8 +11449,8 @@ __metadata: "@babel/generator": "npm:^7.22.10" "@babel/template": "npm:^7.22.5" "@babel/types": "npm:^7.22.11" - "@parcel/core": "npm:2.14.4" - "@parcel/fs": "npm:2.14.4" + "@parcel/core": "npm:2.15.0" + "@parcel/fs": "npm:2.15.0" nanoid: "npm:^3.3.11" nullthrows: "npm:^1.1.1" languageName: unknown @@ -16946,8 +16946,8 @@ __metadata: version: 0.0.0-use.local resolution: "parcel-for-vscode@workspace:packages/utils/parcelforvscode" dependencies: - "@parcel/lsp": "npm:2.14.4" - "@parcel/lsp-protocol": "npm:2.14.4" + "@parcel/lsp": "npm:2.15.0" + "@parcel/lsp-protocol": "npm:2.15.0" "@parcel/watcher": "npm:^2.0.7" "@types/mocha": "npm:^8.2.3" "@types/node": "npm:^22.15.17" @@ -16968,7 +16968,7 @@ __metadata: version: 0.0.0-use.local resolution: "parcel-react-server-components-example@workspace:packages/examples/react-server-components" dependencies: - "@parcel/rsc": "npm:2.14.4" + "@parcel/rsc": "npm:2.15.0" express: "npm:^4.21.2" react: "npm:^19.1.0" react-dom: "npm:^19.1.0" @@ -16979,7 +16979,7 @@ __metadata: version: 0.0.0-use.local resolution: "parcel-rsc-client@workspace:packages/examples/rsc-client" dependencies: - "@parcel/rsc": "npm:2.14.4" + "@parcel/rsc": "npm:2.15.0" cors: "npm:^2.8.5" express: "npm:^4.21.2" react: "npm:^19.1.0" @@ -16991,30 +16991,30 @@ __metadata: version: 0.0.0-use.local resolution: "parcel-rsc-static-example@workspace:packages/examples/react-static" dependencies: - "@parcel/rsc": "npm:2.14.4" + "@parcel/rsc": "npm:2.15.0" react: "npm:^19.1.0" react-dom: "npm:^19.1.0" languageName: unknown linkType: soft -"parcel@npm:2.14.4, parcel@workspace:packages/core/parcel": +"parcel@npm:2.15.0, parcel@workspace:packages/core/parcel": version: 0.0.0-use.local resolution: "parcel@workspace:packages/core/parcel" dependencies: "@babel/core": "npm:^7.22.11" - "@parcel/babel-register": "npm:2.14.4" - "@parcel/config-default": "npm:2.14.4" - "@parcel/core": "npm:2.14.4" - "@parcel/diagnostic": "npm:2.14.4" - "@parcel/events": "npm:2.14.4" - "@parcel/feature-flags": "npm:2.14.4" - "@parcel/fs": "npm:2.14.4" - "@parcel/logger": "npm:2.14.4" - "@parcel/package-manager": "npm:2.14.4" - "@parcel/reporter-cli": "npm:2.14.4" - "@parcel/reporter-dev-server": "npm:2.14.4" - "@parcel/reporter-tracer": "npm:2.14.4" - "@parcel/utils": "npm:2.14.4" + "@parcel/babel-register": "npm:2.15.0" + "@parcel/config-default": "npm:2.15.0" + "@parcel/core": "npm:2.15.0" + "@parcel/diagnostic": "npm:2.15.0" + "@parcel/events": "npm:2.15.0" + "@parcel/feature-flags": "npm:2.15.0" + "@parcel/fs": "npm:2.15.0" + "@parcel/logger": "npm:2.15.0" + "@parcel/package-manager": "npm:2.15.0" + "@parcel/reporter-cli": "npm:2.15.0" + "@parcel/reporter-dev-server": "npm:2.15.0" + "@parcel/reporter-tracer": "npm:2.15.0" + "@parcel/utils": "npm:2.15.0" chalk: "npm:^4.1.2" commander: "npm:^12.1.0" get-port: "npm:^4.2.0" From 99ada2e5258f6d4a2c6cdc366c12e4161b0161e6 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Sun, 11 May 2025 19:17:15 -0700 Subject: [PATCH 1033/1076] Commit rust index.js --- packages/core/rust/.gitignore | 1 - packages/core/rust/index.d.ts | 100 ++++++++++ packages/core/rust/index.js | 362 ++++++++++++++++++++++++++++++++++ 3 files changed, 462 insertions(+), 1 deletion(-) create mode 100644 packages/core/rust/index.d.ts create mode 100644 packages/core/rust/index.js diff --git a/packages/core/rust/.gitignore b/packages/core/rust/.gitignore index a48d9bcd7c9..2480e8d0d4f 100644 --- a/packages/core/rust/.gitignore +++ b/packages/core/rust/.gitignore @@ -1,4 +1,3 @@ -/index.* *.node *.wasm !*.flow diff --git a/packages/core/rust/index.d.ts b/packages/core/rust/index.d.ts new file mode 100644 index 00000000000..9f5247d2f14 --- /dev/null +++ b/packages/core/rust/index.d.ts @@ -0,0 +1,100 @@ +/* tslint:disable */ +/* eslint-disable */ + +/* auto-generated by NAPI-RS */ + +export interface JsMacroError { + kind: number; + message: string; +} +export declare function findAncestorFile( + filenames: Array, + from: string, + root: string, +): string | null; +export declare function findFirstFile(names: Array): string | null; +export declare function findNodeModule( + module: string, + from: string, +): string | null; +export declare function hashString(s: string): string; +export declare function hashBuffer(buf: Buffer): string; +export declare function optimizeImage(kind: string, buf: Buffer): Buffer; +export declare function transformHtml(opts: object): unknown; +export declare function packageHtml(opts: object): unknown; +export declare function optimizeHtml(opts: object): unknown; +export declare function transformSvg(opts: object): unknown; +export declare function packageSvg(opts: object): unknown; +export declare function optimizeSvg(opts: object): unknown; +export declare function svgReact(opts: object): unknown; +export interface JsFileSystemOptions { + read: (...args: any[]) => any; + readLink: (...args: any[]) => any; + kind: (...args: any[]) => any; + includeNodeModules?: NapiSideEffectsVariants; +} +export interface FileSystem { + fs?: JsFileSystemOptions; + includeNodeModules?: NapiSideEffectsVariants; + conditions?: number; + moduleDirResolver?: (...args: any[]) => any; + mode: number; + entries?: number; + extensions?: Array; + packageExports: boolean; + typescript?: boolean; +} +export interface ResolveOptions { + filename: string; + specifierType: string; + parent: string; + packageConditions?: Array; +} +export interface FilePathCreateInvalidation { + filePath: string; +} +export interface FileNameCreateInvalidation { + fileName: string; + aboveFilePath: string; +} +export interface GlobCreateInvalidation { + glob: string; +} +export interface ResolveResult { + resolution: unknown; + invalidateOnFileChange: Array; + invalidateOnFileCreate: Array< + | FilePathCreateInvalidation + | FileNameCreateInvalidation + | GlobCreateInvalidation + >; + query?: string; + sideEffects: boolean; + error: unknown; + moduleType: number; +} +export interface JsInvalidations { + invalidateOnFileChange: Array; + invalidateOnFileCreate: Array< + | FilePathCreateInvalidation + | FileNameCreateInvalidation + | GlobCreateInvalidation + >; + invalidateOnStartup: boolean; +} +export declare function transform(opts: object): unknown; +export declare function transformAsync(opts: object): object; +export declare class Hash { + constructor(); + writeString(s: string): void; + writeBuffer(buf: Buffer): void; + finish(): string; +} +export declare class Resolver { + constructor(projectRoot: string, options: FileSystem); + resolve(options: ResolveOptions): ResolveResult; + resolveAsync(): object; + resolveAsync(options: ResolveOptions): object; + getInvalidations(path: string): JsInvalidations; + getInvalidations(path: string): JsInvalidations; +} diff --git a/packages/core/rust/index.js b/packages/core/rust/index.js new file mode 100644 index 00000000000..e65d47fcaf4 --- /dev/null +++ b/packages/core/rust/index.js @@ -0,0 +1,362 @@ +/* tslint:disable */ +/* eslint-disable */ +/* prettier-ignore */ + +/* auto-generated by NAPI-RS */ + +const { existsSync, readFileSync } = require('fs') +const {join} = require('path'); + +const {platform, arch} = process; + +let nativeBinding = null; +let localFileExisted = false; +let loadError = null; + +function isMusl() { + // For Node 10 + if (!process.report || typeof process.report.getReport !== 'function') { + try { + const lddPath = require('child_process') + .execSync('which ldd') + .toString() + .trim(); + return readFileSync(lddPath, 'utf8').includes('musl'); + } catch (e) { + return true; + } + } else { + const {glibcVersionRuntime} = process.report.getReport().header; + return !glibcVersionRuntime; + } +} + +switch (platform) { + case 'android': + switch (arch) { + case 'arm64': + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.android-arm64.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.android-arm64.node'); + } else { + nativeBinding = require('@parcel/rust-android-arm64'); + } + } catch (e) { + loadError = e; + } + break; + case 'arm': + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.android-arm-eabi.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.android-arm-eabi.node'); + } else { + nativeBinding = require('@parcel/rust-android-arm-eabi'); + } + } catch (e) { + loadError = e; + } + break; + default: + throw new Error(`Unsupported architecture on Android ${arch}`); + } + break; + case 'win32': + switch (arch) { + case 'x64': + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.win32-x64-msvc.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.win32-x64-msvc.node'); + } else { + nativeBinding = require('@parcel/rust-win32-x64-msvc'); + } + } catch (e) { + loadError = e; + } + break; + case 'ia32': + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.win32-ia32-msvc.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.win32-ia32-msvc.node'); + } else { + nativeBinding = require('@parcel/rust-win32-ia32-msvc'); + } + } catch (e) { + loadError = e; + } + break; + case 'arm64': + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.win32-arm64-msvc.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.win32-arm64-msvc.node'); + } else { + nativeBinding = require('@parcel/rust-win32-arm64-msvc'); + } + } catch (e) { + loadError = e; + } + break; + default: + throw new Error(`Unsupported architecture on Windows: ${arch}`); + } + break; + case 'darwin': + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.darwin-universal.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.darwin-universal.node'); + } else { + nativeBinding = require('@parcel/rust-darwin-universal'); + } + break; + } catch {} + switch (arch) { + case 'x64': + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.darwin-x64.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.darwin-x64.node'); + } else { + nativeBinding = require('@parcel/rust-darwin-x64'); + } + } catch (e) { + loadError = e; + } + break; + case 'arm64': + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.darwin-arm64.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.darwin-arm64.node'); + } else { + nativeBinding = require('@parcel/rust-darwin-arm64'); + } + } catch (e) { + loadError = e; + } + break; + default: + throw new Error(`Unsupported architecture on macOS: ${arch}`); + } + break; + case 'freebsd': + if (arch !== 'x64') { + throw new Error(`Unsupported architecture on FreeBSD: ${arch}`); + } + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.freebsd-x64.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.freebsd-x64.node'); + } else { + nativeBinding = require('@parcel/rust-freebsd-x64'); + } + } catch (e) { + loadError = e; + } + break; + case 'linux': + switch (arch) { + case 'x64': + if (isMusl()) { + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.linux-x64-musl.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.linux-x64-musl.node'); + } else { + nativeBinding = require('@parcel/rust-linux-x64-musl'); + } + } catch (e) { + loadError = e; + } + } else { + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.linux-x64-gnu.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.linux-x64-gnu.node'); + } else { + nativeBinding = require('@parcel/rust-linux-x64-gnu'); + } + } catch (e) { + loadError = e; + } + } + break; + case 'arm64': + if (isMusl()) { + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.linux-arm64-musl.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.linux-arm64-musl.node'); + } else { + nativeBinding = require('@parcel/rust-linux-arm64-musl'); + } + } catch (e) { + loadError = e; + } + } else { + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.linux-arm64-gnu.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.linux-arm64-gnu.node'); + } else { + nativeBinding = require('@parcel/rust-linux-arm64-gnu'); + } + } catch (e) { + loadError = e; + } + } + break; + case 'arm': + if (isMusl()) { + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.linux-arm-musleabihf.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.linux-arm-musleabihf.node'); + } else { + nativeBinding = require('@parcel/rust-linux-arm-musleabihf'); + } + } catch (e) { + loadError = e; + } + } else { + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.linux-arm-gnueabihf.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.linux-arm-gnueabihf.node'); + } else { + nativeBinding = require('@parcel/rust-linux-arm-gnueabihf'); + } + } catch (e) { + loadError = e; + } + } + break; + case 'riscv64': + if (isMusl()) { + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.linux-riscv64-musl.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.linux-riscv64-musl.node'); + } else { + nativeBinding = require('@parcel/rust-linux-riscv64-musl'); + } + } catch (e) { + loadError = e; + } + } else { + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.linux-riscv64-gnu.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.linux-riscv64-gnu.node'); + } else { + nativeBinding = require('@parcel/rust-linux-riscv64-gnu'); + } + } catch (e) { + loadError = e; + } + } + break; + case 's390x': + localFileExisted = existsSync( + join(__dirname, 'parcel-node-bindings.linux-s390x-gnu.node'), + ); + try { + if (localFileExisted) { + nativeBinding = require('./parcel-node-bindings.linux-s390x-gnu.node'); + } else { + nativeBinding = require('@parcel/rust-linux-s390x-gnu'); + } + } catch (e) { + loadError = e; + } + break; + default: + throw new Error(`Unsupported architecture on Linux: ${arch}`); + } + break; + default: + throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`); +} + +if (!nativeBinding) { + if (loadError) { + throw loadError; + } + throw new Error(`Failed to load native binding`); +} + +const { + findAncestorFile, + findFirstFile, + findNodeModule, + hashString, + hashBuffer, + Hash, + optimizeImage, + transformHtml, + packageHtml, + optimizeHtml, + transformSvg, + packageSvg, + optimizeSvg, + svgReact, + Resolver, + transform, + transformAsync, +} = nativeBinding; + +module.exports.findAncestorFile = findAncestorFile; +module.exports.findFirstFile = findFirstFile; +module.exports.findNodeModule = findNodeModule; +module.exports.hashString = hashString; +module.exports.hashBuffer = hashBuffer; +module.exports.Hash = Hash; +module.exports.optimizeImage = optimizeImage; +module.exports.transformHtml = transformHtml; +module.exports.packageHtml = packageHtml; +module.exports.optimizeHtml = optimizeHtml; +module.exports.transformSvg = transformSvg; +module.exports.packageSvg = packageSvg; +module.exports.optimizeSvg = optimizeSvg; +module.exports.svgReact = svgReact; +module.exports.Resolver = Resolver; +module.exports.transform = transform; +module.exports.transformAsync = transformAsync; From e6fe231b037457cc16f9b7603836d39dfb6f91be Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 14 May 2025 19:58:48 -0700 Subject: [PATCH 1034/1076] Fix serializing template contents Fixes #10155 --- crates/core/src/environment.rs | 13 ++++++++----- crates/html/src/arena.rs | 13 ++++++++++++- crates/html/src/lib.rs | 21 +++++++++++++++++++++ 3 files changed, 41 insertions(+), 6 deletions(-) diff --git a/crates/core/src/environment.rs b/crates/core/src/environment.rs index 3ed1a6db611..2559a64e06a 100644 --- a/crates/core/src/environment.rs +++ b/crates/core/src/environment.rs @@ -5,7 +5,7 @@ use bitflags::bitflags; use browserslist::Distrib; use serde::{Deserialize, Serialize}; -#[derive(Clone, Debug, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Environment { pub context: EnvironmentContext, @@ -421,7 +421,7 @@ impl Engines { } bitflags! { - #[derive(Clone, Copy, Hash, Debug, PartialEq, Eq)] + #[derive(Clone, Copy, Hash, Debug, PartialEq, Eq, Default)] pub struct EnvironmentFlags: u8 { const IS_LIBRARY = 1 << 0; const SHOULD_OPTIMIZE = 1 << 1; @@ -431,9 +431,10 @@ bitflags! { impl_bitflags_serde!(EnvironmentFlags); -#[derive(PartialEq, Eq, Clone, Copy, Debug, Hash, Serialize, Deserialize)] +#[derive(PartialEq, Eq, Clone, Copy, Debug, Hash, Default, Serialize, Deserialize)] #[serde(rename_all = "kebab-case")] pub enum EnvironmentContext { + #[default] Browser, WebWorker, ServiceWorker, @@ -470,16 +471,18 @@ impl EnvironmentContext { } } -#[derive(PartialEq, Eq, Clone, Copy, Debug, Hash, Serialize, Deserialize)] +#[derive(PartialEq, Eq, Clone, Copy, Debug, Hash, Default, Serialize, Deserialize)] #[serde(rename_all = "lowercase")] pub enum SourceType { + #[default] Module, Script, } -#[derive(PartialEq, Eq, Clone, Copy, Debug, Hash, Serialize, Deserialize)] +#[derive(PartialEq, Eq, Clone, Copy, Debug, Hash, Default, Serialize, Deserialize)] #[serde(rename_all = "lowercase")] pub enum OutputFormat { + #[default] Global, Commonjs, Esmodule, diff --git a/crates/html/src/arena.rs b/crates/html/src/arena.rs index 7a598c5e4b5..9ba7db99000 100644 --- a/crates/html/src/arena.rs +++ b/crates/html/src/arena.rs @@ -626,6 +626,7 @@ impl<'a, 'arena> Serialize for SerializableHandle<'a, 'arena> { NodeData::Element { ref name, ref attrs, + ref template_contents, .. } => { serializer.start_elem( @@ -640,6 +641,10 @@ impl<'a, 'arena> Serialize for SerializableHandle<'a, 'arena> { ops.push_front(SerializeOp::Open(c)); child = c.previous_sibling.get(); } + + if let Some(template) = template_contents { + ops.push_front(SerializeOp::Open(template)); + } } NodeData::Doctype { ref name, .. } => serializer.write_doctype(name)?, @@ -653,7 +658,13 @@ impl<'a, 'arena> Serialize for SerializableHandle<'a, 'arena> { ref contents, } => serializer.write_processing_instruction(target, &*contents.borrow())?, - NodeData::Document => panic!("Can't serialize Document node itself"), + NodeData::Document => { + let mut child = handle.last_child.get(); + while let Some(c) = child { + ops.push_front(SerializeOp::Open(c)); + child = c.previous_sibling.get(); + } + } }, SerializeOp::Close(name) => { diff --git a/crates/html/src/lib.rs b/crates/html/src/lib.rs index 299d8aa6acc..e3df47ccc62 100644 --- a/crates/html/src/lib.rs +++ b/crates/html/src/lib.rs @@ -308,3 +308,24 @@ pub fn svg_react(mut options: SvgReactOptions) -> Result { }) }) } + +#[cfg(test)] +mod tests { + use crate::transform_html; + + #[test] + fn test_transform() { + let res = transform_html(crate::TransformOptions { + code: "".into(), + file_path: "foo.html".into(), + xml: false, + env: Default::default(), + hmr: false, + }); + + assert_eq!( + std::str::from_utf8(&res.code).unwrap(), + "" + ); + } +} From a12ed0ce5a000bad9fb158c1b8740435784201a8 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 15 May 2025 20:42:07 -0700 Subject: [PATCH 1035/1076] Skip optional dependencies in ESM externals Fixes #10159 --- .../core/integration-tests/test/javascript.js | 33 +++++++++++++++++++ packages/packagers/js/src/DevPackager.js | 5 ++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/packages/core/integration-tests/test/javascript.js b/packages/core/integration-tests/test/javascript.js index 9e2a884dc3c..85e0e4cb324 100644 --- a/packages/core/integration-tests/test/javascript.js +++ b/packages/core/integration-tests/test/javascript.js @@ -6251,4 +6251,37 @@ describe('javascript', function () { assert.equal(res.hashed, 'ae2b1fca515949e5d54fb22b8ed95575'); assert.equal(res.default, 'Test'); }); + + it('should not add ESM externals for optional requires', async () => { + await fsFixture(overlayFS, __dirname)` + esm-externals + index.js: + let test; + try { + require('optional'); + test = 'fail'; + } catch { + test = 'pass'; + } + export default test; + + package.json: + { + "targets": { + "default": { + "context": "node", + "outputFormat": "esmodule" + } + } + } + + yarn.lock:`; + + let b = await bundle(path.join(__dirname, 'esm-externals/index.js'), { + inputFS: overlayFS, + }); + + let res = await run(b); + assert.equal(res.default, 'pass'); + }); }); diff --git a/packages/packagers/js/src/DevPackager.js b/packages/packagers/js/src/DevPackager.js index a24e6fa1eba..942b661240b 100644 --- a/packages/packagers/js/src/DevPackager.js +++ b/packages/packagers/js/src/DevPackager.js @@ -122,7 +122,10 @@ export class DevPackager { } else { // An external module - map placeholder to original specifier. deps[specifier] = dep.specifier; - if (this.bundle.env.outputFormat === 'esmodule') { + if ( + this.bundle.env.outputFormat === 'esmodule' && + !dep.isOptional + ) { externals.add(dep.specifier); } } From 6a9fd4c67355d7b00eba32b73346f88ee766220b Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Thu, 15 May 2025 20:46:48 -0700 Subject: [PATCH 1036/1076] v2.15.1 --- CHANGELOG.md | 10 + packages/bundlers/default/package.json | 14 +- packages/bundlers/library/package.json | 6 +- packages/compressors/brotli/package.json | 6 +- packages/compressors/gzip/package.json | 6 +- packages/compressors/raw/package.json | 6 +- packages/configs/default/package.json | 116 +- packages/configs/repl/package.json | 50 +- packages/configs/webextension/package.json | 14 +- packages/core/cache/package.json | 10 +- packages/core/codeframe/package.json | 2 +- packages/core/core/package.json | 32 +- packages/core/diagnostic/package.json | 2 +- packages/core/feature-flags/package.json | 2 +- packages/core/fs/package.json | 16 +- packages/core/graph/package.json | 4 +- packages/core/integration-tests/package.json | 4 +- packages/core/logger/package.json | 6 +- packages/core/markdown-ansi/package.json | 2 +- packages/core/package-manager/package.json | 18 +- packages/core/parcel/package.json | 28 +- packages/core/plugin/package.json | 4 +- packages/core/profiler/package.json | 8 +- packages/core/register/package.json | 10 +- packages/core/rust-darwin-arm64/package.json | 2 +- packages/core/rust-darwin-x64/package.json | 2 +- .../rust-linux-arm-gnueabihf/package.json | 2 +- .../core/rust-linux-arm64-gnu/package.json | 2 +- .../core/rust-linux-arm64-musl/package.json | 2 +- packages/core/rust-linux-x64-gnu/package.json | 2 +- .../core/rust-linux-x64-musl/package.json | 2 +- .../core/rust-win32-x64-msvc/package.json | 2 +- packages/core/rust/package.json | 18 +- packages/core/test-utils/package.json | 12 +- packages/core/types-internal/package.json | 6 +- packages/core/types/package.json | 6 +- packages/core/utils/package.json | 12 +- packages/core/workers/package.json | 14 +- packages/dev/babel-preset/package.json | 2 +- packages/dev/babel-register/package.json | 4 +- packages/dev/bundle-stats-cli/package.json | 16 +- .../dev/eslint-config-browser/package.json | 4 +- packages/dev/eslint-config/package.json | 4 +- packages/dev/eslint-plugin/package.json | 2 +- packages/dev/esm-fuzzer/package.json | 6 +- packages/dev/parcel-link/package.json | 8 +- packages/dev/query/package.json | 10 +- packages/dev/repl/package.json | 10 +- packages/examples/eslint-example/package.json | 10 +- packages/examples/html/package.json | 6 +- .../examples/internalize-example/package.json | 2 +- packages/examples/kitchen-sink/package.json | 14 +- packages/examples/react-hmr/package.json | 4 +- packages/examples/react-refresh/package.json | 6 +- .../react-server-components/package.json | 4 +- packages/examples/react-static/package.json | 4 +- packages/examples/rsc-client/package.json | 4 +- packages/examples/simple/package.json | 6 +- packages/examples/three/package.json | 10 +- packages/examples/ts-example/package.json | 6 +- .../ts-typecheck-example/package.json | 8 +- packages/namers/default/package.json | 8 +- packages/optimizers/blob-url/package.json | 8 +- packages/optimizers/css/package.json | 14 +- packages/optimizers/cssnano/package.json | 6 +- packages/optimizers/data-url/package.json | 8 +- packages/optimizers/esbuild/package.json | 10 +- packages/optimizers/html/package.json | 10 +- packages/optimizers/htmlnano/package.json | 10 +- packages/optimizers/image/package.json | 16 +- .../optimizers/inline-requires/package.json | 8 +- packages/optimizers/svg/package.json | 10 +- packages/optimizers/svgo/package.json | 10 +- packages/optimizers/swc/package.json | 10 +- packages/optimizers/terser/package.json | 10 +- packages/packagers/css/package.json | 14 +- packages/packagers/html/package.json | 12 +- packages/packagers/js/package.json | 14 +- packages/packagers/raw-url/package.json | 8 +- packages/packagers/raw/package.json | 6 +- packages/packagers/react-static/package.json | 14 +- packages/packagers/svg/package.json | 12 +- packages/packagers/ts/package.json | 6 +- packages/packagers/wasm/package.json | 6 +- packages/packagers/webextension/package.json | 8 +- packages/packagers/xml/package.json | 10 +- packages/reporters/build-metrics/package.json | 8 +- .../reporters/bundle-analyzer/package.json | 10 +- packages/reporters/bundle-buddy/package.json | 6 +- packages/reporters/bundle-stats/package.json | 12 +- packages/reporters/cli/package.json | 12 +- packages/reporters/dev-server-sw/package.json | 8 +- packages/reporters/dev-server/package.json | 16 +- packages/reporters/json/package.json | 10 +- packages/reporters/lsp-reporter/package.json | 10 +- .../sourcemap-visualiser/package.json | 10 +- packages/reporters/tracer/package.json | 8 +- packages/resolvers/default/package.json | 8 +- packages/resolvers/glob/package.json | 12 +- packages/resolvers/repl-runtimes/package.json | 4 +- packages/runtimes/hmr/package.json | 8 +- packages/runtimes/js/package.json | 10 +- packages/runtimes/rsc/package.json | 10 +- packages/runtimes/service-worker/package.json | 8 +- packages/runtimes/webextension/package.json | 8 +- packages/transformers/babel/package.json | 12 +- .../transformers/coffeescript/package.json | 8 +- packages/transformers/css/package.json | 14 +- packages/transformers/elm/package.json | 8 +- packages/transformers/glsl/package.json | 6 +- packages/transformers/graphql/package.json | 6 +- packages/transformers/html/package.json | 10 +- packages/transformers/image/package.json | 12 +- .../transformers/inline-string/package.json | 6 +- packages/transformers/inline/package.json | 6 +- packages/transformers/js/package.json | 16 +- packages/transformers/json/package.json | 6 +- packages/transformers/jsonld/package.json | 8 +- packages/transformers/less/package.json | 6 +- packages/transformers/node/package.json | 6 +- packages/transformers/postcss/package.json | 12 +- packages/transformers/posthtml/package.json | 8 +- packages/transformers/pug/package.json | 6 +- packages/transformers/raw/package.json | 6 +- .../react-refresh-wrap/package.json | 10 +- .../transformers/react-static/package.json | 6 +- packages/transformers/sass/package.json | 6 +- packages/transformers/stylus/package.json | 8 +- packages/transformers/sugarss/package.json | 6 +- packages/transformers/svg-jsx/package.json | 12 +- packages/transformers/svg-react/package.json | 10 +- packages/transformers/svg/package.json | 10 +- packages/transformers/toml/package.json | 6 +- .../transformers/typescript-tsc/package.json | 8 +- .../typescript-types/package.json | 12 +- packages/transformers/vue/package.json | 10 +- .../transformers/webextension/package.json | 10 +- .../transformers/webmanifest/package.json | 10 +- packages/transformers/worklet/package.json | 6 +- packages/transformers/xml/package.json | 6 +- packages/transformers/yaml/package.json | 6 +- .../package.json | 4 +- packages/utils/babel-preset-env/package.json | 2 +- packages/utils/create-parcel/package.json | 2 +- packages/utils/create-react-app/package.json | 4 +- packages/utils/error-overlay/package.json | 2 +- packages/utils/events/package.json | 2 +- packages/utils/macros/package.json | 4 +- .../utils/node-resolver-core/package.json | 10 +- .../utils/parcel-lsp-protocol/package.json | 2 +- packages/utils/parcel-lsp/package.json | 6 +- .../parcel-watcher-watchman-js/package.json | 6 +- packages/utils/parcelforvscode/package.json | 6 +- packages/utils/rsc/package.json | 2 +- packages/utils/service-worker/package.json | 4 +- packages/utils/ts-utils/package.json | 2 +- packages/validators/eslint/package.json | 10 +- packages/validators/typescript/package.json | 14 +- yarn.lock | 1146 ++++++++--------- 159 files changed, 1289 insertions(+), 1279 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 081d03882a1..48f4515960f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,16 @@ All notable changes to Parcel will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and Parcel adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [2.15.1] - 2025-05-15 + +### Fixed + +- HTML + - Fix serializing `