From 346c6f33b050ae89309d327f7936b9447f07bfc0 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Fri, 12 Dec 2025 16:00:39 -0800 Subject: [PATCH 01/16] initial commit --- .gitignore | 3 + package.json | 3 + tools/verdaccio/config.yaml | 53 + tools/verdaccio/run-with-verdaccio.ts | 166 +++ yarn.lock | 1416 +++++++++++++++++++++++-- 5 files changed, 1575 insertions(+), 66 deletions(-) create mode 100644 tools/verdaccio/config.yaml create mode 100644 tools/verdaccio/run-with-verdaccio.ts diff --git a/.gitignore b/.gitignore index 0a7d77dea1..ee25e66ef5 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ packages/**/typedoc.json .nx/workspace-data .cursor/rules/nx-rules.mdc .github/instructions/nx.instructions.md + +tools/verdaccio/storage +tools/verdaccio/htpasswd diff --git a/package.json b/package.json index 724e06b289..83a8ed88db 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,8 @@ "test": "xvfb-maybe vitest run --project fast --project slow", "test:fast": "xvfb-maybe vitest run --project fast", "test:slow": "xvfb-maybe vitest run --project slow", + "test:slow:verdaccio": "tsx tools/verdaccio/run-with-verdaccio.ts xvfb-maybe vitest run --project slow", + "test:verdaccio": "tsx tools/verdaccio/run-with-verdaccio.ts xvfb-maybe vitest run --project fast --project slow", "test:clear": "tsx tools/test-clear", "update:lockfile-fixtures": "tsx tools/regenerate-lockfile-fixtures.ts", "postinstall": "husky install && node -e \"try { fs.rmSync('node_modules/.bin/*.ps1', { recursive: true, force: true }) } catch (e) {}\" && tsx ./tools/gen-tsconfigs.ts && tsx ./tools/gen-ts-glue.ts" @@ -122,6 +124,7 @@ "ref-napi": "^3.0.3", "typedoc": "0.25.13", "typescript": "~5.4.5", + "verdaccio": "^6.2.4", "vitest": "^4.0.14", "xvfb-maybe": "^0.2.1", "yaml-hook": "^1.0.0" diff --git a/tools/verdaccio/config.yaml b/tools/verdaccio/config.yaml new file mode 100644 index 0000000000..dc5e876e8d --- /dev/null +++ b/tools/verdaccio/config.yaml @@ -0,0 +1,53 @@ +# Verdaccio configuration for testing with local packages +# This allows tests to install @electron-forge/* packages from the monorepo +# while proxying everything else to the real npm registry. + +storage: ./storage + +web: + enable: false + +auth: + htpasswd: + file: ./htpasswd + # Allow unlimited users for testing + max_users: -1 + +# Upstream npm registry +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: true + +packages: + # @electron-forge packages are served locally (no proxy) + '@electron-forge/*': + access: $all + publish: $all + # Don't proxy to npm - only serve local packages + # This ensures we use local versions during tests + + # All other scoped packages proxy to npm + '@*/*': + access: $all + publish: $all + proxy: npmjs + + # Non-scoped packages proxy to npm + '**': + access: $all + publish: $all + proxy: npmjs + +# Server settings +server: + keepAliveTimeout: 60 + +# Logging +log: + type: stdout + format: pretty + level: warn + +# Listen on localhost only +listen: 127.0.0.1:4873 diff --git a/tools/verdaccio/run-with-verdaccio.ts b/tools/verdaccio/run-with-verdaccio.ts new file mode 100644 index 0000000000..16d6634ec9 --- /dev/null +++ b/tools/verdaccio/run-with-verdaccio.ts @@ -0,0 +1,166 @@ +/** + * This script runs tests with a local Verdaccio npm registry. + * It publishes all \@electron-forge/* packages to Verdaccio so that + * api.init tests can install packages that haven't been published to npm yet. + * + * Usage: + * tsx tools/verdaccio/run-with-verdaccio.ts [args...] + * + * Example: + * tsx tools/verdaccio/run-with-verdaccio.ts yarn test:slow + */ + +import { ChildProcess, execSync, spawn } from 'node:child_process'; +import fs from 'node:fs'; +import path from 'node:path'; + +const VERDACCIO_PORT = 4873; +const VERDACCIO_URL = `http://127.0.0.1:${VERDACCIO_PORT}`; +const CONFIG_PATH = path.resolve(__dirname, 'config.yaml'); +const STORAGE_PATH = path.resolve(__dirname, 'storage'); +const ROOT_DIR = path.resolve(__dirname, '../..'); + +let verdaccioProcess: ChildProcess | null = null; + +async function startVerdaccio(): Promise { + console.log('🚀 Starting Verdaccio...'); + + // Clean up old storage + await fs.promises.rm(STORAGE_PATH, { recursive: true, force: true }); + await fs.promises.mkdir(STORAGE_PATH); + + return new Promise((resolve, reject) => { + verdaccioProcess = spawn('yarn', ['verdaccio', '--config', CONFIG_PATH], { + cwd: ROOT_DIR, + stdio: ['ignore', 'pipe', 'pipe'], + }); + + let started = false; + + verdaccioProcess.stdout?.on('data', (data: Buffer) => { + const output = data.toString(); + if (process.env.DEBUG) { + console.log('[verdaccio]', output); + } + if (output.includes('http address') && !started) { + started = true; + // Give it a moment to be fully ready + setTimeout(resolve, 500); + } + }); + + verdaccioProcess.stderr?.on('data', (data: Buffer) => { + const output = data.toString(); + // Ignore some noisy warnings + if (!output.includes('ExperimentalWarning')) { + console.error('[verdaccio]', output); + } + }); + + verdaccioProcess.on('error', reject); + verdaccioProcess.on('close', (code) => { + if (!started) { + reject(new Error(`Verdaccio exited with code ${code}`)); + } + }); + + // Timeout if Verdaccio doesn't start + setTimeout(() => { + if (!started) { + reject(new Error('Verdaccio failed to start within 30 seconds')); + } + }, 30000); + }); +} + +function stopVerdaccio(): void { + if (verdaccioProcess) { + console.log('🛑 Stopping Verdaccio...'); + verdaccioProcess.kill('SIGTERM'); + verdaccioProcess = null; + } +} + +async function publishPackages(): Promise { + console.log('📦 Publishing packages to Verdaccio...'); + + try { + execSync( + `yarn lerna publish from-package --registry ${VERDACCIO_URL} --yes --no-git-tag-version --no-push`, + { + cwd: ROOT_DIR, + stdio: 'inherit', + env: { + ...process.env, + npm_config_registry: VERDACCIO_URL, + }, + }, + ); + console.log('✅ All packages published to Verdaccio'); + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + console.error('❌ Failed to publish packages:', errorMessage); + throw error; + } +} + +async function runCommand(args: string[]): Promise { + console.log(`🏃 Running: ${args.join(' ')}`); + console.log(` Using registry: ${VERDACCIO_URL}`); + + return new Promise((resolve) => { + const child = spawn(args[0], args.slice(1), { + cwd: ROOT_DIR, + stdio: 'inherit', + env: { + ...process.env, + npm_config_registry: VERDACCIO_URL, + YARN_NPM_REGISTRY_SERVER: VERDACCIO_URL, + // For pnpm + NPM_CONFIG_REGISTRY: VERDACCIO_URL, + }, + }); + + child.on('close', (code) => { + resolve(code ?? 1); + }); + }); +} + +async function main(): Promise { + const args = process.argv.slice(2); + + if (args.length === 0) { + console.error( + 'Usage: tsx tools/verdaccio/run-with-verdaccio.ts [args...]', + ); + console.error( + 'Example: tsx tools/verdaccio/run-with-verdaccio.ts yarn test:slow', + ); + process.exit(1); + } + + // Handle signals + process.on('SIGINT', () => { + stopVerdaccio(); + process.exit(1); + }); + process.on('SIGTERM', () => { + stopVerdaccio(); + process.exit(1); + }); + + try { + await startVerdaccio(); + await publishPackages(); + const exitCode = await runCommand(args); + stopVerdaccio(); + process.exit(exitCode); + } catch (error) { + console.error('❌ Error:', error); + stopVerdaccio(); + process.exit(1); + } +} + +main(); diff --git a/yarn.lock b/yarn.lock index 089ad841d0..7b8e8a8262 100644 --- a/yarn.lock +++ b/yarn.lock @@ -766,6 +766,32 @@ __metadata: languageName: node linkType: hard +"@cypress/request@npm:3.0.9": + version: 3.0.9 + resolution: "@cypress/request@npm:3.0.9" + dependencies: + aws-sign2: "npm:~0.7.0" + aws4: "npm:^1.8.0" + caseless: "npm:~0.12.0" + combined-stream: "npm:~1.0.6" + extend: "npm:~3.0.2" + forever-agent: "npm:~0.6.1" + form-data: "npm:~4.0.4" + http-signature: "npm:~1.4.0" + is-typedarray: "npm:~1.0.0" + isstream: "npm:~0.1.2" + json-stringify-safe: "npm:~5.0.1" + mime-types: "npm:~2.1.19" + performance-now: "npm:^2.1.0" + qs: "npm:6.14.0" + safe-buffer: "npm:^5.1.2" + tough-cookie: "npm:^5.0.0" + tunnel-agent: "npm:^0.6.0" + uuid: "npm:^8.3.2" + checksum: 10c0/9ebcd3f3d49706e730671bcb0bb86488fe23a2079f12d44b6c762777118fc0286b5ce5c73fb6cacf0ae291fa89a7562ca8a2b43a2486e26906fd84a386ed6967 + languageName: node + linkType: hard + "@dsanders11/vscode-markdown-languageservice@npm:^0.3.0": version: 0.3.0 resolution: "@dsanders11/vscode-markdown-languageservice@npm:0.3.0" @@ -3785,6 +3811,13 @@ __metadata: languageName: node linkType: hard +"@pinojs/redact@npm:^0.4.0": + version: 0.4.0 + resolution: "@pinojs/redact@npm:0.4.0" + checksum: 10c0/4b311ba17ee0cf154ff9c39eb063ec04cd0d0017cb3750efcdf06c2d485df3e1095e13e872175993568c5568c23e4508dd877c981bbc9c5ae5e384d569efcdff + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -4076,7 +4109,7 @@ __metadata: languageName: node linkType: hard -"@sindresorhus/is@npm:^4.0.0": +"@sindresorhus/is@npm:4.6.0, @sindresorhus/is@npm:^4.0.0": version: 4.6.0 resolution: "@sindresorhus/is@npm:4.6.0" checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e @@ -4693,7 +4726,7 @@ __metadata: languageName: node linkType: hard -"@szmarczak/http-timer@npm:^4.0.5": +"@szmarczak/http-timer@npm:4.0.6, @szmarczak/http-timer@npm:^4.0.5": version: 4.0.6 resolution: "@szmarczak/http-timer@npm:4.0.6" dependencies: @@ -5209,7 +5242,7 @@ __metadata: languageName: node linkType: hard -"@types/responselike@npm:*, @types/responselike@npm:^1.0.0": +"@types/responselike@npm:*, @types/responselike@npm:1.0.0, @types/responselike@npm:^1.0.0": version: 1.0.0 resolution: "@types/responselike@npm:1.0.0" dependencies: @@ -5462,6 +5495,239 @@ __metadata: languageName: node linkType: hard +"@verdaccio/auth@npm:8.0.0-next-8.28": + version: 8.0.0-next-8.28 + resolution: "@verdaccio/auth@npm:8.0.0-next-8.28" + dependencies: + "@verdaccio/config": "npm:8.0.0-next-8.28" + "@verdaccio/core": "npm:8.0.0-next-8.28" + "@verdaccio/loaders": "npm:8.0.0-next-8.18" + "@verdaccio/signature": "npm:8.0.0-next-8.20" + debug: "npm:4.4.3" + lodash: "npm:4.17.21" + verdaccio-htpasswd: "npm:13.0.0-next-8.28" + checksum: 10c0/88cb92fbf02069b6ee3de7c03d9b0f86ef76d5b7b09d249b7085c0034a556f8fafeacc175f00e2c8f34b4f565ad050375e0b1024b601c166e041ef4bca2808f2 + languageName: node + linkType: hard + +"@verdaccio/config@npm:8.0.0-next-8.28": + version: 8.0.0-next-8.28 + resolution: "@verdaccio/config@npm:8.0.0-next-8.28" + dependencies: + "@verdaccio/core": "npm:8.0.0-next-8.28" + debug: "npm:4.4.3" + js-yaml: "npm:4.1.1" + lodash: "npm:4.17.21" + checksum: 10c0/c8e1e483b0fc403899f73e67c37a0b9ac7b978e5a142e3aabc3d979a93f46f0632411257521a65a32382d09afa1c89f22fb2b150c9b1f7008155b7192e671ac1 + languageName: node + linkType: hard + +"@verdaccio/core@npm:8.0.0-next-8.21": + version: 8.0.0-next-8.21 + resolution: "@verdaccio/core@npm:8.0.0-next-8.21" + dependencies: + ajv: "npm:8.17.1" + http-errors: "npm:2.0.0" + http-status-codes: "npm:2.3.0" + minimatch: "npm:7.4.6" + process-warning: "npm:1.0.0" + semver: "npm:7.7.2" + checksum: 10c0/fc05d91633ff56d82e8b781e92af8500f263fa4eab1691a97cf24362be3c275ecf6ef330551b42b426886bfb4958994be49e380d85eba911101622d41524f2d6 + languageName: node + linkType: hard + +"@verdaccio/core@npm:8.0.0-next-8.28": + version: 8.0.0-next-8.28 + resolution: "@verdaccio/core@npm:8.0.0-next-8.28" + dependencies: + ajv: "npm:8.17.1" + http-errors: "npm:2.0.0" + http-status-codes: "npm:2.3.0" + minimatch: "npm:7.4.6" + process-warning: "npm:1.0.0" + semver: "npm:7.7.3" + checksum: 10c0/ab778e1b3c1e84a42e3be8d36ea3afac140122a4e71088171f4c81a6682e1ab2db8f473de406d5ffe7becb2ec051b82ddc078cc6af8c920ce954ff577a939427 + languageName: node + linkType: hard + +"@verdaccio/file-locking@npm:10.3.1": + version: 10.3.1 + resolution: "@verdaccio/file-locking@npm:10.3.1" + dependencies: + lockfile: "npm:1.0.4" + checksum: 10c0/c70a8f889dc9998b32691cb5dc232df2757eb4380da7a38bc0c386e0f0c2079a8aa13b6998d0c497f137953dd4dd58d2ecd08f00d4e98c9d5b266e928fa71200 + languageName: node + linkType: hard + +"@verdaccio/file-locking@npm:13.0.0-next-8.6": + version: 13.0.0-next-8.6 + resolution: "@verdaccio/file-locking@npm:13.0.0-next-8.6" + dependencies: + lockfile: "npm:1.0.4" + checksum: 10c0/291b14232b9041d3392a5ced9b1e4bea4914ef624b8d3f3061391af158560b1a3a78e0c23f18776a8d71890946783442d2caf729de68c5a10f0a5adb2f86be17 + languageName: node + linkType: hard + +"@verdaccio/hooks@npm:8.0.0-next-8.28": + version: 8.0.0-next-8.28 + resolution: "@verdaccio/hooks@npm:8.0.0-next-8.28" + dependencies: + "@verdaccio/core": "npm:8.0.0-next-8.28" + "@verdaccio/logger": "npm:8.0.0-next-8.28" + debug: "npm:4.4.3" + got-cjs: "npm:12.5.4" + handlebars: "npm:4.7.8" + checksum: 10c0/5ba76a67da11e47a2d6e1b9befd3aabfa37889c3671c8333b7718c0ead4e53856e353153057dc1142078007f62c9b56f8d96bca6bc8bb834e35593aec803d9ba + languageName: node + linkType: hard + +"@verdaccio/loaders@npm:8.0.0-next-8.18": + version: 8.0.0-next-8.18 + resolution: "@verdaccio/loaders@npm:8.0.0-next-8.18" + dependencies: + "@verdaccio/core": "npm:8.0.0-next-8.28" + debug: "npm:4.4.3" + lodash: "npm:4.17.21" + checksum: 10c0/09a9c815731b19d035393b56b391b97bf4490eb4662cbadc148eeb589f8e31d0fc3390a3e7f9e4153501210afe3f65c7af1f949eb8382232a379bfb57c4726e5 + languageName: node + linkType: hard + +"@verdaccio/local-storage-legacy@npm:11.1.1": + version: 11.1.1 + resolution: "@verdaccio/local-storage-legacy@npm:11.1.1" + dependencies: + "@verdaccio/core": "npm:8.0.0-next-8.21" + "@verdaccio/file-locking": "npm:10.3.1" + "@verdaccio/streams": "npm:10.2.1" + async: "npm:3.2.6" + debug: "npm:4.4.1" + lodash: "npm:4.17.21" + lowdb: "npm:1.0.0" + mkdirp: "npm:1.0.4" + checksum: 10c0/8b0f2e2f7e7a95e411bf8e3b18a5d8abb09aac88450c70e871d546111e41bfc4ffddf3458f446b2bbddf56ed8aeb3d8fef2952b9f1f492bb09ecc748542e89b9 + languageName: node + linkType: hard + +"@verdaccio/logger-commons@npm:8.0.0-next-8.28": + version: 8.0.0-next-8.28 + resolution: "@verdaccio/logger-commons@npm:8.0.0-next-8.28" + dependencies: + "@verdaccio/core": "npm:8.0.0-next-8.28" + "@verdaccio/logger-prettify": "npm:8.0.0-next-8.4" + colorette: "npm:2.0.20" + debug: "npm:4.4.3" + checksum: 10c0/70a090bfa186dc01fe927777d9c6b1bc6e593d69e94b3df6dcfc8fe2efc1b264dab5a7735f97f8ccc55884453248ec22a1e36610ff7e7ef856c4a45894563a43 + languageName: node + linkType: hard + +"@verdaccio/logger-prettify@npm:8.0.0-next-8.4": + version: 8.0.0-next-8.4 + resolution: "@verdaccio/logger-prettify@npm:8.0.0-next-8.4" + dependencies: + colorette: "npm:2.0.20" + dayjs: "npm:1.11.13" + lodash: "npm:4.17.21" + on-exit-leak-free: "npm:2.1.2" + pino-abstract-transport: "npm:1.2.0" + sonic-boom: "npm:3.8.1" + checksum: 10c0/5a6fb12236b18a7586832f8054173e12f98045626398a542b7c5bc8f456955abad96cfdbb10c98c829c715fcafa47934d546bc7c54d5ed1e15d2728b8bb0fbd5 + languageName: node + linkType: hard + +"@verdaccio/logger@npm:8.0.0-next-8.28": + version: 8.0.0-next-8.28 + resolution: "@verdaccio/logger@npm:8.0.0-next-8.28" + dependencies: + "@verdaccio/logger-commons": "npm:8.0.0-next-8.28" + pino: "npm:9.14.0" + checksum: 10c0/304334b349eda71d7a3e25628766e21e7c2bc4e9c4fc4d33195f0124f7eabe9ae8adbbdc592f8ac50195af74d84563c27ab6f0f72442d44be8d69cc0838bfab8 + languageName: node + linkType: hard + +"@verdaccio/middleware@npm:8.0.0-next-8.28": + version: 8.0.0-next-8.28 + resolution: "@verdaccio/middleware@npm:8.0.0-next-8.28" + dependencies: + "@verdaccio/config": "npm:8.0.0-next-8.28" + "@verdaccio/core": "npm:8.0.0-next-8.28" + "@verdaccio/url": "npm:13.0.0-next-8.28" + debug: "npm:4.4.3" + express: "npm:4.21.2" + express-rate-limit: "npm:5.5.1" + lodash: "npm:4.17.21" + lru-cache: "npm:7.18.3" + checksum: 10c0/18c5978c9787aeab363ec6f867b0f1f3fb11cae0a9ec0d5ce4c7fecc67d067681a1bed9c76fbd6bca35840c7c1a89a1e43de43a107d6555cf8e2890caf2f2a0e + languageName: node + linkType: hard + +"@verdaccio/search-indexer@npm:8.0.0-next-8.5": + version: 8.0.0-next-8.5 + resolution: "@verdaccio/search-indexer@npm:8.0.0-next-8.5" + checksum: 10c0/6cf328c80a8afac43c128c72e86cdac7426949d4d477516bb1db9b2733311169f902ab32c5dff11de9367e7c2b3338d211222f51a3f521eadce6828ce365cc29 + languageName: node + linkType: hard + +"@verdaccio/signature@npm:8.0.0-next-8.20": + version: 8.0.0-next-8.20 + resolution: "@verdaccio/signature@npm:8.0.0-next-8.20" + dependencies: + "@verdaccio/config": "npm:8.0.0-next-8.28" + "@verdaccio/core": "npm:8.0.0-next-8.28" + debug: "npm:4.4.3" + jsonwebtoken: "npm:9.0.2" + checksum: 10c0/ffb84af64423afd298e68c90ccf2ecfd2a09524cb639fb48d7a657070e53467ca208bfcce82c7872c1bbef6d71a3f3354b5384514e5fa256af21d0a3a6387610 + languageName: node + linkType: hard + +"@verdaccio/streams@npm:10.2.1": + version: 10.2.1 + resolution: "@verdaccio/streams@npm:10.2.1" + checksum: 10c0/0f1ab96b5c92fa1839dbb602ae1e90cb5ee2d8b6b01945ce0ccdccd6828111c8457b2b70926c880bc425b778b9892036ee263b9496c68cbd3a3b23fe8d083c42 + languageName: node + linkType: hard + +"@verdaccio/tarball@npm:13.0.0-next-8.28": + version: 13.0.0-next-8.28 + resolution: "@verdaccio/tarball@npm:13.0.0-next-8.28" + dependencies: + "@verdaccio/core": "npm:8.0.0-next-8.28" + "@verdaccio/url": "npm:13.0.0-next-8.28" + debug: "npm:4.4.3" + gunzip-maybe: "npm:1.4.2" + tar-stream: "npm:3.1.7" + checksum: 10c0/8402ae25e3c00ea7977511d0de7d80ecd48b7ba9e6ce10594a14feaf836d6f0c94ac3f08d7836a67e5a5f5621623e16e5873b3b9d6b5b47f3ebf903eaec05dfc + languageName: node + linkType: hard + +"@verdaccio/ui-theme@npm:8.0.0-next-8.28": + version: 8.0.0-next-8.28 + resolution: "@verdaccio/ui-theme@npm:8.0.0-next-8.28" + checksum: 10c0/da0775309661ac4cf4bbe9efaad6e3b8c38ea8d82865bdb5fe914e16981890bea480a330f6d75c476ac5a7a5706ffa907973eeda0e2a70fe73227669b3017665 + languageName: node + linkType: hard + +"@verdaccio/url@npm:13.0.0-next-8.28": + version: 13.0.0-next-8.28 + resolution: "@verdaccio/url@npm:13.0.0-next-8.28" + dependencies: + "@verdaccio/core": "npm:8.0.0-next-8.28" + debug: "npm:4.4.3" + validator: "npm:13.15.23" + checksum: 10c0/0ccf111094b21b379f3c0a0ebcd79f0e9e8316d870b0b12ba78fb1f15765ffbf8844148b50108eac1a01cdf7a1b7002b405fb518d5c29985590c975c1736616c + languageName: node + linkType: hard + +"@verdaccio/utils@npm:8.1.0-next-8.28": + version: 8.1.0-next-8.28 + resolution: "@verdaccio/utils@npm:8.1.0-next-8.28" + dependencies: + "@verdaccio/core": "npm:8.0.0-next-8.28" + lodash: "npm:4.17.21" + minimatch: "npm:7.4.6" + checksum: 10c0/3f32cc3b92352b86432142c0272980225ea9291c94f65eaba44386b8a17170e629e523e0801dcfb485571221a606f8c061bca6817882b784f6f4e39bb1c5fc44 + languageName: node + linkType: hard + "@vitest/expect@npm:4.0.14": version: 4.0.14 resolution: "@vitest/expect@npm:4.0.14" @@ -5765,7 +6031,7 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:^1.3.5": +"JSONStream@npm:1.3.5, JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" dependencies: @@ -5933,6 +6199,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:8.17.1, ajv@npm:^8.16.0": + 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 + "ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" @@ -5957,18 +6235,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.16.0": - 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 - "ajv@npm:~8.12.0": version: 8.12.0 resolution: "ajv@npm:8.12.0" @@ -6106,6 +6372,13 @@ __metadata: languageName: node linkType: hard +"apache-md5@npm:1.1.8": + version: 1.1.8 + resolution: "apache-md5@npm:1.1.8" + checksum: 10c0/423aa1baddcedc42e2fdf52efcf7fae2e7de9535e6ca7dd4a049f49fb5ec9b6a4469f327e02268088ed3dacdbec6f1ea4132941e2d75899c4e412421e6ffcbfc + languageName: node + linkType: hard + "appdmg@npm:^0.6.4": version: 0.6.4 resolution: "appdmg@npm:0.6.4" @@ -6354,6 +6627,22 @@ __metadata: languageName: node linkType: hard +"asn1@npm:~0.2.3": + version: 0.2.6 + resolution: "asn1@npm:0.2.6" + dependencies: + safer-buffer: "npm:~2.1.0" + checksum: 10c0/00c8a06c37e548762306bcb1488388d2f76c74c36f70c803f0c081a01d3bdf26090fc088cd812afc5e56a6d49e33765d451a5f8a68ab9c2b087eba65d2e980e0 + languageName: node + linkType: hard + +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 10c0/b194b9d50c3a8f872ee85ab110784911e696a4d49f7ee6fc5fb63216dedbefd2c55999c70cb2eaeb4cf4a0e0338b44e9ace3627117b5bf0d42460e9132f21b91 + languageName: node + linkType: hard + "assertion-error@npm:^2.0.1": version: 2.0.1 resolution: "assertion-error@npm:2.0.1" @@ -6377,6 +6666,13 @@ __metadata: languageName: node linkType: hard +"async@npm:3.2.6": + version: 3.2.6 + resolution: "async@npm:3.2.6" + checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 + languageName: node + linkType: hard + "async@npm:^1.4.2": version: 1.5.2 resolution: "async@npm:1.5.2" @@ -6405,6 +6701,13 @@ __metadata: languageName: node linkType: hard +"atomic-sleep@npm:^1.0.0": + version: 1.0.0 + resolution: "atomic-sleep@npm:1.0.0" + checksum: 10c0/e329a6665512736a9bbb073e1761b4ec102f7926cce35037753146a9db9c8104f5044c1662e4a863576ce544fb8be27cd2be6bc8c1a40147d03f31eb1cfb6e8a + languageName: node + linkType: hard + "author-regex@npm:^1.0.0": version: 1.0.0 resolution: "author-regex@npm:1.0.0" @@ -6428,6 +6731,20 @@ __metadata: languageName: node linkType: hard +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: 10c0/021d2cc5547d4d9ef1633e0332e746a6f447997758b8b68d6fb33f290986872d2bff5f0c37d5832f41a7229361f093cd81c40898d96ed153493c0fb5cd8575d2 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.13.2 + resolution: "aws4@npm:1.13.2" + checksum: 10c0/c993d0d186d699f685d73113733695d648ec7d4b301aba2e2a559d0cd9c1c902308cc52f4095e1396b23fddbc35113644e7f0a6a32753636306e41e3ed6f1e79 + languageName: node + linkType: hard + "axios@npm:^1.8.3": version: 1.12.2 resolution: "axios@npm:1.12.2" @@ -6439,6 +6756,18 @@ __metadata: languageName: node linkType: hard +"b4a@npm:^1.6.4": + version: 1.7.3 + resolution: "b4a@npm:1.7.3" + peerDependencies: + react-native-b4a: "*" + peerDependenciesMeta: + react-native-b4a: + optional: true + checksum: 10c0/ac16d186e00fa0d16de1f1a4af413953bc762d50d5a0e382aaa744a13886600313b7293403ad77fc83f6b1489c3fc2610494d1026754a51d1b7cdac2115a7598 + languageName: node + linkType: hard + "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -6453,6 +6782,18 @@ __metadata: languageName: node linkType: hard +"bare-events@npm:^2.7.0": + version: 2.8.2 + resolution: "bare-events@npm:2.8.2" + peerDependencies: + bare-abort-controller: "*" + peerDependenciesMeta: + bare-abort-controller: + optional: true + checksum: 10c0/53fef240cf2cdcca62f78b6eead90ddb5a59b0929f414b13a63764c2b4f9de98ea8a578d033b04d64bb7b86dfbc402e937984e69950855cc3754c7b63da7db21 + languageName: node + linkType: hard + "base32-encode@npm:^0.1.0 || ^1.0.0": version: 1.2.0 resolution: "base32-encode@npm:1.2.0" @@ -6476,6 +6817,22 @@ __metadata: languageName: node linkType: hard +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: "npm:^0.14.3" + checksum: 10c0/ddfe85230b32df25aeebfdccfbc61d3bc493ace49c884c9c68575de1f5dcf733a5d7de9def3b0f318b786616b8d85bad50a28b1da1750c43e0012c93badcc148 + languageName: node + linkType: hard + +"bcryptjs@npm:2.4.3": + version: 2.4.3 + resolution: "bcryptjs@npm:2.4.3" + checksum: 10c0/b969467087ed7a01ff905a1c6a0c45014ec586248a448ea08370c8ed8bb314bda16a870ca23e0961d7d23bdce1a04c76fa70a9d680be814fa9ac7d8fc61870a3 + languageName: node + linkType: hard + "before-after-hook@npm:^2.2.0": version: 2.2.2 resolution: "before-after-hook@npm:2.2.2" @@ -6625,6 +6982,15 @@ __metadata: languageName: node linkType: hard +"browserify-zlib@npm:^0.1.4": + version: 0.1.4 + resolution: "browserify-zlib@npm:0.1.4" + dependencies: + pako: "npm:~0.2.0" + checksum: 10c0/0cde7ca5d33d43125649330fd75c056397e53731956a2593c4a2529f4e609a8e6abdb2b8e1921683abf5645375b92cfb2a21baa42fe3c9fc3e2556d32043af93 + languageName: node + linkType: hard + "browserslist@npm:^4.21.10": version: 4.23.3 resolution: "browserslist@npm:4.23.3" @@ -6646,7 +7012,7 @@ __metadata: languageName: node linkType: hard -"buffer-equal-constant-time@npm:1.0.1": +"buffer-equal-constant-time@npm:1.0.1, buffer-equal-constant-time@npm:^1.0.1": version: 1.0.1 resolution: "buffer-equal-constant-time@npm:1.0.1" checksum: 10c0/fb2294e64d23c573d0dd1f1e7a466c3e978fe94a4e0f8183937912ca374619773bef8e2aceb854129d2efecbbc515bbd0cc78d2734a3e3031edb0888531bbc8e @@ -6680,6 +7046,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + "builtins@npm:^5.0.1": version: 5.0.1 resolution: "builtins@npm:5.0.1" @@ -6775,6 +7151,13 @@ __metadata: languageName: node linkType: hard +"cacheable-lookup@npm:6.1.0": + version: 6.1.0 + resolution: "cacheable-lookup@npm:6.1.0" + checksum: 10c0/fe922b24e9868ac65cbd3b4ccd7449063d572431471aab71cbca49a2b33839c7c888b237b0922ae6b8f4ddf25d61debe204e473195d2e77a835099b8953aeb0a + languageName: node + linkType: hard + "cacheable-lookup@npm:^5.0.3": version: 5.0.4 resolution: "cacheable-lookup@npm:5.0.4" @@ -6782,7 +7165,7 @@ __metadata: languageName: node linkType: hard -"cacheable-request@npm:^7.0.2": +"cacheable-request@npm:7.0.2, cacheable-request@npm:^7.0.2": version: 7.0.2 resolution: "cacheable-request@npm:7.0.2" dependencies: @@ -6894,6 +7277,13 @@ __metadata: languageName: node linkType: hard +"caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: 10c0/ccf64bcb6c0232cdc5b7bd91ddd06e23a4b541f138336d4725233ac538041fb2f29c2e86c3c4a7a61ef990b665348db23a047060b9414c3a6603e9fa61ad4626 + languageName: node + linkType: hard + "chai@npm:^6.2.1": version: 6.2.1 resolution: "chai@npm:6.2.1" @@ -7129,6 +7519,17 @@ __metadata: languageName: node linkType: hard +"clipanion@npm:4.0.0-rc.4": + version: 4.0.0-rc.4 + resolution: "clipanion@npm:4.0.0-rc.4" + dependencies: + typanion: "npm:^3.8.0" + peerDependencies: + typanion: "*" + checksum: 10c0/047b415b59a5e9777d00690fba563ccc850eca6bf27790a88d1deea3ecc8a89840ae9aed554ff284cc698a9f3f20256e43c25ff4a7c4c90a71e5e7d9dca61dd1 + languageName: node + linkType: hard + "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -7240,6 +7641,13 @@ __metadata: languageName: node linkType: hard +"colorette@npm:2.0.20, colorette@npm:^2.0.20": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 + languageName: node + linkType: hard + "colorette@npm:^2.0.10": version: 2.0.19 resolution: "colorette@npm:2.0.19" @@ -7254,13 +7662,6 @@ __metadata: languageName: node linkType: hard -"colorette@npm:^2.0.20": - 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" @@ -7271,7 +7672,7 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.8": +"combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" dependencies: @@ -7353,7 +7754,7 @@ __metadata: languageName: node linkType: hard -"compressible@npm:^2.0.12, compressible@npm:~2.0.16": +"compressible@npm:^2.0.12, compressible@npm:~2.0.16, compressible@npm:~2.0.18": version: 2.0.18 resolution: "compressible@npm:2.0.18" dependencies: @@ -7362,6 +7763,21 @@ __metadata: languageName: node linkType: hard +"compression@npm:1.8.1": + version: 1.8.1 + resolution: "compression@npm:1.8.1" + dependencies: + bytes: "npm:3.1.2" + compressible: "npm:~2.0.18" + debug: "npm:2.6.9" + negotiator: "npm:~0.6.4" + on-headers: "npm:~1.1.0" + safe-buffer: "npm:5.2.1" + vary: "npm:~1.1.2" + checksum: 10c0/85114b0b91c16594dc8c671cd9b05ef5e465066a60e5a4ed8b4551661303559a896ed17bb72c4234c04064e078f6ca86a34b8690349499a43f6fc4b844475da4 + languageName: node + linkType: hard + "compression@npm:^1.7.4": version: 1.7.4 resolution: "compression@npm:1.7.4" @@ -7540,6 +7956,13 @@ __metadata: languageName: node linkType: hard +"core-util-is@npm:1.0.2": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 10c0/980a37a93956d0de8a828ce508f9b9e3317039d68922ca79995421944146700e4aaf490a6dbfebcb1c5292a7184600c7710b957d724be1e37b8254c6bc0fe246 + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -7547,6 +7970,16 @@ __metadata: 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:9.0.0": version: 9.0.0 resolution: "cosmiconfig@npm:9.0.0" @@ -7672,6 +8105,15 @@ __metadata: languageName: node linkType: hard +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: "npm:^1.0.0" + checksum: 10c0/64589a15c5bd01fa41ff7007e0f2c6552c5ef2028075daa16b188a3721f4ba001841bf306dfc2eee6e2e6e7f76b38f5f17fb21fa847504192290ffa9e150118a + languageName: node + linkType: hard + "data-view-buffer@npm:^1.0.1": version: 1.0.1 resolution: "data-view-buffer@npm:1.0.1" @@ -7712,6 +8154,13 @@ __metadata: languageName: node linkType: hard +"dayjs@npm:1.11.13": + version: 1.11.13 + resolution: "dayjs@npm:1.11.13" + checksum: 10c0/a3caf6ac8363c7dade9d1ee797848ddcf25c1ace68d9fe8678ecf8ba0675825430de5d793672ec87b24a69bf04a1544b176547b2539982275d5542a7955f35b7 + languageName: node + linkType: hard + "debug@npm:2.6.9, debug@npm:^2.2.0": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -7733,16 +8182,19 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" +"debug@npm:4.4.1": + version: 4.4.1 + resolution: "debug@npm:4.4.1" dependencies: - ms: "npm:^2.1.1" - checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 languageName: node linkType: hard -"debug@npm:^4.4.1": +"debug@npm:4.4.3, debug@npm:^4.4.1": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -7754,6 +8206,15 @@ __metadata: 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" @@ -8106,6 +8567,18 @@ __metadata: languageName: node linkType: hard +"duplexify@npm:^3.5.0, 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 + "duplexify@npm:^4.0.0": version: 4.1.2 resolution: "duplexify@npm:4.1.2" @@ -8125,6 +8598,16 @@ __metadata: languageName: node linkType: hard +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: "npm:~0.1.0" + safer-buffer: "npm:^2.1.0" + checksum: 10c0/6cf168bae1e2dad2e46561d9af9cbabfbf5ff592176ad4e9f0f41eaaf5fe5e10bb58147fe0a804de62b1ee9dad42c28810c88d652b21b6013c47ba8efa274ca1 + languageName: node + linkType: hard + "ecdsa-sig-formatter@npm:1.0.11, ecdsa-sig-formatter@npm:^1.0.11": version: 1.0.11 resolution: "ecdsa-sig-formatter@npm:1.0.11" @@ -8256,6 +8739,7 @@ __metadata: typedoc: "npm:0.25.13" typescript: "npm:~5.4.5" username: "npm:^5.1.0" + verdaccio: "npm:^6.2.4" vite: "npm:^7.2.4" vitest: "npm:^4.0.14" webpack: "npm:^5.69.1" @@ -8527,8 +9011,17 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.4 +"end-of-stream@npm:^1.0.0": + version: 1.4.5 + resolution: "end-of-stream@npm:1.4.5" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/b0701c92a10b89afb1cb45bf54a5292c6f008d744eb4382fa559d54775ff31617d1d7bc3ef617575f552e24fad2c7c1a1835948c66b3f3a4be0a6c1f35c883d8 + languageName: node + linkType: hard + +"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" @@ -8599,6 +9092,15 @@ __metadata: languageName: node linkType: hard +"envinfo@npm:7.15.0": + version: 7.15.0 + resolution: "envinfo@npm:7.15.0" + bin: + envinfo: dist/cli.js + checksum: 10c0/f03b8dba6713837fdc615bdcb767c269b740df5af2fc7c70124038ad4c123332d5939ec1d3d81fda2794fc3a2f6458a25761c0847a22ddff94fe827e6c30bf35 + languageName: node + linkType: hard + "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -9700,7 +10202,16 @@ __metadata: languageName: node linkType: hard -"events@npm:3.3.0, events@npm:^3.2.0": +"events-universal@npm:^1.0.0": + version: 1.0.1 + resolution: "events-universal@npm:1.0.1" + dependencies: + bare-events: "npm:^2.7.0" + checksum: 10c0/a1d9a5e9f95843650f8ec240dd1221454c110189a9813f32cdf7185759b43f1f964367ac7dca4ebc69150b59043f2d77c7e122b0d03abf7c25477ea5494785a5 + languageName: node + linkType: hard + +"events@npm:3.3.0, events@npm:^3.2.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 @@ -9770,6 +10281,13 @@ __metadata: languageName: node linkType: hard +"express-rate-limit@npm:5.5.1": + version: 5.5.1 + resolution: "express-rate-limit@npm:5.5.1" + checksum: 10c0/0391cdb518acaabdae0517ab1fba32dce5b0813199be5b89e0ebb62399753b2ec7882571a8da1fd6a061354992aa8e00c947c2e03f850820bb47668195e2c8d6 + languageName: node + linkType: hard + "express-ws@npm:^5.0.2": version: 5.0.2 resolution: "express-ws@npm:5.0.2" @@ -9781,7 +10299,7 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.17.1, express@npm:^4.17.3": +"express@npm:4.21.2, express@npm:^4.17.1, express@npm:^4.17.3": version: 4.21.2 resolution: "express@npm:4.21.2" dependencies: @@ -9820,7 +10338,7 @@ __metadata: languageName: node linkType: hard -"extend@npm:^3.0.2": +"extend@npm:^3.0.2, extend@npm:~3.0.2": version: 3.0.2 resolution: "extend@npm:3.0.2" checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 @@ -9855,6 +10373,20 @@ __metadata: languageName: node linkType: hard +"extsprintf@npm:1.3.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: 10c0/f75114a8388f0cbce68e277b6495dc3930db4dde1611072e4a140c24e204affd77320d004b947a132e9a3b97b8253017b2b62dce661975fb0adced707abf1ab5 + languageName: node + linkType: hard + +"extsprintf@npm:^1.2.0": + version: 1.4.1 + resolution: "extsprintf@npm:1.4.1" + checksum: 10c0/e10e2769985d0e9b6c7199b053a9957589d02e84de42832c295798cb422a025e6d4a92e0259c1fb4d07090f5bfde6b55fd9f880ac5855bd61d775f8ab75a7ab0 + 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" @@ -9862,6 +10394,13 @@ __metadata: languageName: node linkType: hard +"fast-fifo@npm:^1.2.0, fast-fifo@npm:^1.3.2": + version: 1.3.2 + resolution: "fast-fifo@npm:1.3.2" + checksum: 10c0/d53f6f786875e8b0529f784b59b4b05d4b5c31c651710496440006a398389a579c8dbcd2081311478b5bf77f4b0b21de69109c5a4eabea9d8e8783d1eb864e4c + languageName: node + linkType: hard + "fast-glob@npm:^3.2.7": version: 3.2.11 resolution: "fast-glob@npm:3.2.11" @@ -10183,6 +10722,13 @@ __metadata: languageName: node linkType: hard +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 10c0/364f7f5f7d93ab661455351ce116a67877b66f59aca199559a999bd39e3cfadbfbfacc10415a915255e2210b30c23febe9aec3ca16bf2d1ff11c935a1000e24c + languageName: node + linkType: hard + "fork-ts-checker-webpack-plugin@npm:^7.2.13": version: 7.2.13 resolution: "fork-ts-checker-webpack-plugin@npm:7.2.13" @@ -10210,6 +10756,13 @@ __metadata: languageName: node linkType: hard +"form-data-encoder@npm:1.7.2": + version: 1.7.2 + resolution: "form-data-encoder@npm:1.7.2" + checksum: 10c0/56553768037b6d55d9de524f97fe70555f0e415e781cb56fc457a68263de3d40fadea2304d4beef2d40b1a851269bd7854e42c362107071892cb5238debe9464 + languageName: node + linkType: hard + "form-data@npm:^2.5.0": version: 2.5.5 resolution: "form-data@npm:2.5.5" @@ -10250,6 +10803,19 @@ __metadata: languageName: node linkType: hard +"form-data@npm:~4.0.4": + version: 4.0.5 + resolution: "form-data@npm:4.0.5" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" + mime-types: "npm:^2.1.12" + checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b + languageName: node + linkType: hard + "forwarded@npm:0.2.0": version: 0.2.0 resolution: "forwarded@npm:0.2.0" @@ -10699,7 +11265,7 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0": +"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": version: 6.0.1 resolution: "get-stream@npm:6.0.1" checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 @@ -10752,6 +11318,15 @@ __metadata: languageName: node linkType: hard +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: "npm:^1.0.0" + checksum: 10c0/c13f8530ecf16fc509f3fa5cd8dd2129ffa5d0c7ccdf5728b6022d52954c2d24be3706b4cdf15333eec52f1fbb43feb70a01dabc639d1d10071e371da8aaa52f + languageName: node + linkType: hard + "git-raw-commits@npm:^3.0.0": version: 3.0.0 resolution: "git-raw-commits@npm:3.0.0" @@ -11055,6 +11630,26 @@ __metadata: languageName: node linkType: hard +"got-cjs@npm:12.5.4": + version: 12.5.4 + resolution: "got-cjs@npm:12.5.4" + dependencies: + "@sindresorhus/is": "npm:4.6.0" + "@szmarczak/http-timer": "npm:4.0.6" + "@types/responselike": "npm:1.0.0" + cacheable-lookup: "npm:6.1.0" + cacheable-request: "npm:7.0.2" + decompress-response: "npm:^6.0.0" + form-data-encoder: "npm:1.7.2" + get-stream: "npm:^6.0.1" + http2-wrapper: "npm:^2.1.10" + lowercase-keys: "npm:2.0.0" + p-cancelable: "npm:2.1.1" + responselike: "npm:2.0.1" + checksum: 10c0/cfbee2722fdf5d23463a0bf4f259c67ffe1423cb91b3a77e683296dfaa4bdce295dd7496aee5f2a09d5da2c6fabad0bd0efd48a34783150e242e8e8517ac1bf0 + languageName: node + linkType: hard + "got@npm:^11.7.0, got@npm:^11.8.5": version: 11.8.5 resolution: "got@npm:11.8.5" @@ -11074,7 +11669,7 @@ __metadata: languageName: node linkType: hard -"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.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, 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 @@ -11105,6 +11700,22 @@ __metadata: languageName: node linkType: hard +"gunzip-maybe@npm:1.4.2": + version: 1.4.2 + resolution: "gunzip-maybe@npm:1.4.2" + dependencies: + browserify-zlib: "npm:^0.1.4" + is-deflate: "npm:^1.0.0" + is-gzip: "npm:^1.0.0" + peek-stream: "npm:^1.1.0" + pumpify: "npm:^1.3.3" + through2: "npm:^2.0.3" + bin: + gunzip-maybe: bin.js + checksum: 10c0/42798a8061759885c2084e1804e51313d14f2dc9cf6c137e222953ec802f914e592d6f9dbf6ad67f4e78eb036e86db017d9c7c93bb23e90cd5ae09326296ed77 + languageName: node + linkType: hard + "handle-thing@npm:^2.0.0": version: 2.0.1 resolution: "handle-thing@npm:2.0.1" @@ -11112,6 +11723,24 @@ __metadata: languageName: node linkType: hard +"handlebars@npm:4.7.8": + 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 + "handlebars@npm:^4.7.7": version: 4.7.7 resolution: "handlebars@npm:4.7.7" @@ -11510,6 +12139,24 @@ __metadata: languageName: node linkType: hard +"http-signature@npm:~1.4.0": + version: 1.4.0 + resolution: "http-signature@npm:1.4.0" + dependencies: + assert-plus: "npm:^1.0.0" + jsprim: "npm:^2.0.2" + sshpk: "npm:^1.18.0" + checksum: 10c0/b9806f5a9ed82a146589837d175c43b596b1cc8c9431665e83d47c152aa8a4629dd1b1e050f8f56e7f17f62cf97b58e888775093310441ddee5f105f28646b2b + languageName: node + linkType: hard + +"http-status-codes@npm:2.3.0": + version: 2.3.0 + resolution: "http-status-codes@npm:2.3.0" + checksum: 10c0/c2412188929e8eed6623eef468c62d0c3c082919c03e9b74fd79cfd060d11783dba44603e38a3cee52d26563fe32005913eaf6120aa8ba907da1238f3eaad5fe + languageName: node + linkType: hard + "http2-wrapper@npm:^1.0.0-beta.5.2": version: 1.0.3 resolution: "http2-wrapper@npm:1.0.3" @@ -11520,7 +12167,17 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^5.0.0": +"http2-wrapper@npm:^2.1.10": + version: 2.2.1 + resolution: "http2-wrapper@npm:2.2.1" + dependencies: + quick-lru: "npm:^5.1.1" + resolve-alpn: "npm:^1.2.0" + checksum: 10c0/7207201d3c6e53e72e510c9b8912e4f3e468d3ecc0cf3bf52682f2aac9cd99358b896d1da4467380adc151cf97c412bedc59dc13dae90c523f42053a7449eedb + languageName: node + linkType: hard + +"https-proxy-agent@npm:5.0.1, https-proxy-agent@npm:^5.0.0": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" dependencies: @@ -11592,7 +12249,7 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13, ieee754@npm:^1.1.4": +"ieee754@npm:^1.1.13, ieee754@npm:^1.1.4, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb @@ -12057,6 +12714,13 @@ __metadata: languageName: node linkType: hard +"is-deflate@npm:^1.0.0": + version: 1.0.0 + resolution: "is-deflate@npm:1.0.0" + checksum: 10c0/35f7ffcbef3549dd8a4d8df5dc09b4f4656a0fc88326e8b5201cda54114a9c2d8efb689d87c16f3f35c95bd71dcf13dc790d62b7504745b42c53ab4b40238f5a + 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" @@ -12121,6 +12785,13 @@ __metadata: languageName: node linkType: hard +"is-gzip@npm:^1.0.0": + version: 1.0.0 + resolution: "is-gzip@npm:1.0.0" + checksum: 10c0/cbc1db080c636a6fb0f7346e3076f8276a29a9d8b52ae67c1971a8131c43f308e98ed227d1a6f49970e6c6ebabee0568e60aed7a3579dd4e1817cddf2faaf9b7 + languageName: node + linkType: hard + "is-hexadecimal@npm:^2.0.0": version: 2.0.1 resolution: "is-hexadecimal@npm:2.0.1" @@ -12253,6 +12924,13 @@ __metadata: languageName: node linkType: hard +"is-promise@npm:^2.1.0": + version: 2.2.2 + resolution: "is-promise@npm:2.2.2" + checksum: 10c0/2dba959812380e45b3df0fb12e7cb4d4528c989c7abb03ececb1d1fd6ab1cbfee956ca9daa587b9db1d8ac3c1e5738cf217bdb3dfd99df8c691be4c00ae09069 + languageName: node + linkType: hard + "is-property@npm:^1.0.0, is-property@npm:^1.0.2": version: 1.0.2 resolution: "is-property@npm:1.0.2" @@ -12407,6 +13085,13 @@ __metadata: languageName: node linkType: hard +"is-typedarray@npm:~1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec + languageName: node + linkType: hard + "is-unicode-supported@npm:^0.1.0": version: 0.1.0 resolution: "is-unicode-supported@npm:0.1.0" @@ -12500,6 +13185,13 @@ __metadata: languageName: node linkType: hard +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 10c0/a6686a878735ca0a48e0d674dd6d8ad31aedfaf70f07920da16ceadc7577b46d67179a60b313f2e6860cb097a2c2eb3cbd0b89e921ae89199a59a17c3273d66f + languageName: node + linkType: hard + "jackspeak@npm:^2.3.5": version: 2.3.6 resolution: "jackspeak@npm:2.3.6" @@ -12629,6 +13321,13 @@ __metadata: languageName: node linkType: hard +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: 10c0/e046e05c59ff880ee4ef68902dbdcb6d2f3c5d60c357d4d68647dc23add556c31c0e5f41bdb7e69e793dd63468bd9e085da3636341048ef577b18f5b713877c0 + languageName: node + linkType: hard + "json-bigint@npm:^1.0.0": version: 1.0.0 resolution: "json-bigint@npm:1.0.0" @@ -12680,6 +13379,13 @@ __metadata: languageName: node linkType: hard +"json-schema@npm:0.4.0": + version: 0.4.0 + resolution: "json-schema@npm:0.4.0" + checksum: 10c0/d4a637ec1d83544857c1c163232f3da46912e971d5bf054ba44fdb88f07d8d359a462b4aec46f2745efbc57053365608d88bc1d7b1729f7b4fc3369765639ed3 + 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" @@ -12694,7 +13400,7 @@ __metadata: languageName: node linkType: hard -"json-stringify-safe@npm:^5.0.1": +"json-stringify-safe@npm:^5.0.1, json-stringify-safe@npm:~5.0.1": version: 5.0.1 resolution: "json-stringify-safe@npm:5.0.1" checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 @@ -12781,6 +13487,36 @@ __metadata: languageName: node linkType: hard +"jsonwebtoken@npm:9.0.2": + version: 9.0.2 + resolution: "jsonwebtoken@npm:9.0.2" + dependencies: + jws: "npm:^3.2.2" + lodash.includes: "npm:^4.3.0" + lodash.isboolean: "npm:^3.0.3" + lodash.isinteger: "npm:^4.0.4" + lodash.isnumber: "npm:^3.0.3" + lodash.isplainobject: "npm:^4.0.6" + lodash.isstring: "npm:^4.0.1" + lodash.once: "npm:^4.0.0" + ms: "npm:^2.1.1" + semver: "npm:^7.5.4" + checksum: 10c0/d287a29814895e866db2e5a0209ce730cbc158441a0e5a70d5e940eb0d28ab7498c6bf45029cc8b479639bca94056e9a7f254e2cdb92a2f5750c7f358657a131 + languageName: node + linkType: hard + +"jsprim@npm:^2.0.2": + version: 2.0.2 + resolution: "jsprim@npm:2.0.2" + dependencies: + assert-plus: "npm:1.0.0" + extsprintf: "npm:1.3.0" + json-schema: "npm:0.4.0" + verror: "npm:1.10.0" + checksum: 10c0/677be2d41df536c92c6d0114a492ef197084018cfbb1a3e10b1fa1aad889564b2e3a7baa6af7949cc2d73678f42368b0be165a26bd4e4de6883a30dd6a24e98d + languageName: node + linkType: hard + "jsx-ast-utils@npm:^2.4.1 || ^3.0.0": version: 3.3.3 resolution: "jsx-ast-utils@npm:3.3.3" @@ -12812,6 +13548,17 @@ __metadata: languageName: node linkType: hard +"jwa@npm:^1.4.2": + version: 1.4.2 + resolution: "jwa@npm:1.4.2" + dependencies: + buffer-equal-constant-time: "npm:^1.0.1" + ecdsa-sig-formatter: "npm:1.0.11" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/210a544a42ca22203e8fc538835205155ba3af6a027753109f9258bdead33086bac3c25295af48ac1981f87f9c5f941bc8f70303670f54ea7dcaafb53993d92c + languageName: node + linkType: hard + "jwa@npm:^2.0.0": version: 2.0.0 resolution: "jwa@npm:2.0.0" @@ -12823,6 +13570,16 @@ __metadata: languageName: node linkType: hard +"jws@npm:^3.2.2": + version: 3.2.3 + resolution: "jws@npm:3.2.3" + dependencies: + jwa: "npm:^1.4.2" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/9fdf9d6783b1892ef413ef373cd351eacc847ba01deec6fbfea96830e93241863ccbee66f3b749fc2310c59b6db2209d3f4b52931c0c259b52b17de20715917f + languageName: node + linkType: hard + "jws@npm:^4.0.0": version: 4.0.0 resolution: "jws@npm:4.0.0" @@ -13183,6 +13940,15 @@ __metadata: languageName: node linkType: hard +"lockfile@npm:1.0.4": + version: 1.0.4 + resolution: "lockfile@npm:1.0.4" + dependencies: + signal-exit: "npm:^3.0.2" + checksum: 10c0/80b7777ceb43105d9e588733c3efc2514653a5e3a0dae3e61347a1f5381da34dcaa2caaa60c39ed5d4ad31c1735a4831e5639a0ba1c508bfea8dbc9c89777b37 + languageName: node + linkType: hard + "lodash.defaults@npm:^4.2.0": version: 4.2.0 resolution: "lodash.defaults@npm:4.2.0" @@ -13197,6 +13963,27 @@ __metadata: languageName: node linkType: hard +"lodash.includes@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.includes@npm:4.3.0" + checksum: 10c0/7ca498b9b75bf602d04e48c0adb842dfc7d90f77bcb2a91a2b2be34a723ad24bc1c8b3683ec6b2552a90f216c723cdea530ddb11a3320e08fa38265703978f4b + languageName: node + linkType: hard + +"lodash.isboolean@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isboolean@npm:3.0.3" + checksum: 10c0/0aac604c1ef7e72f9a6b798e5b676606042401dd58e49f051df3cc1e3adb497b3d7695635a5cbec4ae5f66456b951fdabe7d6b387055f13267cde521f10ec7f7 + languageName: node + linkType: hard + +"lodash.isinteger@npm:^4.0.4": + version: 4.0.4 + resolution: "lodash.isinteger@npm:4.0.4" + checksum: 10c0/4c3e023a2373bf65bf366d3b8605b97ec830bca702a926939bcaa53f8e02789b6a176e7f166b082f9365bfec4121bfeb52e86e9040cb8d450e64c858583f61b7 + languageName: node + linkType: hard + "lodash.ismatch@npm:^4.4.0": version: 4.4.0 resolution: "lodash.ismatch@npm:4.4.0" @@ -13204,6 +13991,27 @@ __metadata: languageName: node linkType: hard +"lodash.isnumber@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isnumber@npm:3.0.3" + checksum: 10c0/2d01530513a1ee4f72dd79528444db4e6360588adcb0e2ff663db2b3f642d4bb3d687051ae1115751ca9082db4fdef675160071226ca6bbf5f0c123dbf0aa12d + languageName: node + linkType: hard + +"lodash.isplainobject@npm:^4.0.6": + version: 4.0.6 + resolution: "lodash.isplainobject@npm:4.0.6" + checksum: 10c0/afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb + languageName: node + linkType: hard + +"lodash.isstring@npm:^4.0.1": + version: 4.0.1 + resolution: "lodash.isstring@npm:4.0.1" + checksum: 10c0/09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 + languageName: node + linkType: hard + "lodash.merge@npm:^4.6.1, lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -13211,7 +14019,14 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.12, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4": +"lodash.once@npm:^4.0.0": + version: 4.1.1 + resolution: "lodash.once@npm:4.1.1" + checksum: 10c0/46a9a0a66c45dd812fcc016e46605d85ad599fe87d71a02f6736220554b52ffbe82e79a483ad40f52a8a95755b0d1077fba259da8bfb6694a7abbf4a48f1fc04 + languageName: node + linkType: hard + +"lodash@npm:4, lodash@npm:4.17.21, lodash@npm:^4.17.12, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c @@ -13264,6 +14079,19 @@ __metadata: languageName: node linkType: hard +"lowdb@npm:1.0.0": + version: 1.0.0 + resolution: "lowdb@npm:1.0.0" + dependencies: + graceful-fs: "npm:^4.1.3" + is-promise: "npm:^2.1.0" + lodash: "npm:4" + pify: "npm:^3.0.0" + steno: "npm:^0.4.1" + checksum: 10c0/a6b9184bec92a8f02718a6bf5941d87ba17e54cd4906cb8fcd00cf7ee52def678d36be5f5f11a26599e450911107fdc9b3e672b3e2838541aa58a649a88a40af + languageName: node + linkType: hard + "lower-case@npm:^2.0.2": version: 2.0.2 resolution: "lower-case@npm:2.0.2" @@ -13273,13 +14101,20 @@ __metadata: languageName: node linkType: hard -"lowercase-keys@npm:^2.0.0": +"lowercase-keys@npm:2.0.0, lowercase-keys@npm:^2.0.0": version: 2.0.0 resolution: "lowercase-keys@npm:2.0.0" checksum: 10c0/f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082 languageName: node linkType: hard +"lru-cache@npm:7.18.3": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: 10c0/b3a452b491433db885beed95041eb104c157ef7794b9c9b4d647be503be91769d11206bb573849a16b4cc0d03cbd15ffd22df7960997788b74c1d399ac7a4fed + languageName: node + linkType: hard + "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.2.2": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -13971,7 +14806,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.0.8, mime-types@npm:^2.1.12, mime-types@npm:^2.1.25, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:^2.1.35, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.0.8, mime-types@npm:^2.1.12, mime-types@npm:^2.1.25, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:^2.1.35, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -13989,7 +14824,7 @@ __metadata: languageName: node linkType: hard -"mime@npm:^3.0.0": +"mime@npm:3.0.0, mime@npm:^3.0.0": version: 3.0.0 resolution: "mime@npm:3.0.0" bin: @@ -14049,6 +14884,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:7.4.6": + version: 7.4.6 + resolution: "minimatch@npm:7.4.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/e587bf3d90542555a3d58aca94c549b72d58b0a66545dd00eef808d0d66e5d9a163d3084da7f874e83ca8cc47e91c670e6c6f6593a3e7bb27fcc0e6512e87c67 + languageName: node + linkType: hard + "minimatch@npm:9.0.3, minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3": version: 9.0.3 resolution: "minimatch@npm:9.0.3" @@ -14275,6 +15119,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:1.0.4, 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:^0.5.1": version: 0.5.5 resolution: "mkdirp@npm:0.5.5" @@ -14286,15 +15139,6 @@ __metadata: 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 - "modify-values@npm:^1.0.1": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -14461,6 +15305,13 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:~0.6.4": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea + languageName: node + linkType: hard + "neo-async@npm:^2.6.0, neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -14519,7 +15370,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.7, node-fetch@npm:cjs": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" dependencies: @@ -14895,7 +15746,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.1.1": +"object-assign@npm:^4, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 @@ -15055,6 +15906,13 @@ __metadata: languageName: node linkType: hard +"on-exit-leak-free@npm:2.1.2, on-exit-leak-free@npm:^2.1.0": + version: 2.1.2 + resolution: "on-exit-leak-free@npm:2.1.2" + checksum: 10c0/faea2e1c9d696ecee919026c32be8d6a633a7ac1240b3b87e944a380e8a11dc9c95c4a1f8fb0568de7ab8db3823e790f12bda45296b1d111e341aad3922a0570 + languageName: node + linkType: hard + "on-finished@npm:2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" @@ -15071,6 +15929,13 @@ __metadata: languageName: node linkType: hard +"on-headers@npm:~1.1.0": + version: 1.1.0 + resolution: "on-headers@npm:1.1.0" + checksum: 10c0/2c3b6b0d68ec9adbd561dc2d61c9b14da8ac03d8a2f0fd9e97bdf0600c887d5d97f664ff3be6876cf40cda6e3c587d73a4745e10b426ac50c7664fc5a0dfc0a1 + languageName: node + linkType: hard + "once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -15184,7 +16049,7 @@ __metadata: languageName: node linkType: hard -"p-cancelable@npm:^2.0.0": +"p-cancelable@npm:2.1.1, p-cancelable@npm:^2.0.0": version: 2.1.1 resolution: "p-cancelable@npm:2.1.1" checksum: 10c0/8c6dc1f8dd4154fd8b96a10e55a3a832684c4365fb9108056d89e79fbf21a2465027c04a59d0d797b5ffe10b54a61a32043af287d5c4860f1e996cbdbc847f01 @@ -15425,6 +16290,13 @@ __metadata: languageName: node linkType: hard +"pako@npm:~0.2.0": + version: 0.2.9 + resolution: "pako@npm:0.2.9" + checksum: 10c0/79c1806ebcf325b60ae599e4d7227c2e346d7b829dc20f5cf24cef07c934079dc3a61c5b3c8278a2f7a190c4a613e343ea11e5302dbe252efd11712df4b6b041 + languageName: node + linkType: hard + "param-case@npm:^3.0.4": version: 3.0.4 resolution: "param-case@npm:3.0.4" @@ -15705,6 +16577,17 @@ __metadata: languageName: node linkType: hard +"peek-stream@npm:^1.1.0": + version: 1.1.3 + resolution: "peek-stream@npm:1.1.3" + dependencies: + buffer-from: "npm:^1.0.0" + duplexify: "npm:^3.5.0" + through2: "npm:^2.0.3" + checksum: 10c0/3c35d1951b8640036f93b1b5628a90f849e49ca4f2e6aba393ff4978413931d9c491c83f71a92f878d5ea4c670af0bba04dfcfb79b310ead22601db7c1420e36 + languageName: node + linkType: hard + "pend@npm:~1.2.0": version: 1.2.0 resolution: "pend@npm:1.2.0" @@ -15712,6 +16595,13 @@ __metadata: languageName: node linkType: hard +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: 10c0/22c54de06f269e29f640e0e075207af57de5052a3d15e360c09b9a8663f393f6f45902006c1e71aa8a5a1cdfb1a47fe268826f8496d6425c362f00f5bc3e85d9 + languageName: node + linkType: hard + "picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": version: 1.1.0 resolution: "picocolors@npm:1.1.0" @@ -15784,6 +16674,53 @@ __metadata: languageName: node linkType: hard +"pino-abstract-transport@npm:1.2.0": + version: 1.2.0 + resolution: "pino-abstract-transport@npm:1.2.0" + dependencies: + readable-stream: "npm:^4.0.0" + split2: "npm:^4.0.0" + checksum: 10c0/b4ab59529b7a91f488440147fc58ee0827a6c1c5ca3627292339354b1381072c1a6bfa9b46d03ad27872589e8477ecf74da12cf286e1e6b665ac64a3b806bf07 + languageName: node + linkType: hard + +"pino-abstract-transport@npm:^2.0.0": + version: 2.0.0 + resolution: "pino-abstract-transport@npm:2.0.0" + dependencies: + split2: "npm:^4.0.0" + checksum: 10c0/02c05b8f2ffce0d7c774c8e588f61e8b77de8ccb5f8125afd4a7325c9ea0e6af7fb78168999657712ae843e4462bb70ac550dfd6284f930ee57f17f486f25a9f + languageName: node + linkType: hard + +"pino-std-serializers@npm:^7.0.0": + version: 7.0.0 + resolution: "pino-std-serializers@npm:7.0.0" + checksum: 10c0/73e694d542e8de94445a03a98396cf383306de41fd75ecc07085d57ed7a57896198508a0dec6eefad8d701044af21eb27253ccc352586a03cf0d4a0bd25b4133 + languageName: node + linkType: hard + +"pino@npm:9.14.0": + version: 9.14.0 + resolution: "pino@npm:9.14.0" + dependencies: + "@pinojs/redact": "npm:^0.4.0" + atomic-sleep: "npm:^1.0.0" + on-exit-leak-free: "npm:^2.1.0" + pino-abstract-transport: "npm:^2.0.0" + pino-std-serializers: "npm:^7.0.0" + process-warning: "npm:^5.0.0" + quick-format-unescaped: "npm:^4.0.3" + real-require: "npm:^0.2.0" + safe-stable-stringify: "npm:^2.3.1" + sonic-boom: "npm:^4.0.1" + thread-stream: "npm:^3.0.0" + bin: + pino: bin.js + checksum: 10c0/9a10d9bf820a585eae9bc270fb4e55c895e48280d54adbbb4063ec061694b22d8809c80203cf5fe9f920a54c832b0b8dfb67cb28a04baa13abebaf261a9c9f3e + languageName: node + linkType: hard + "pirates@npm:^4.0.1": version: 4.0.5 resolution: "pirates@npm:4.0.5" @@ -15928,6 +16865,27 @@ __metadata: languageName: node linkType: hard +"process-warning@npm:1.0.0": + version: 1.0.0 + resolution: "process-warning@npm:1.0.0" + checksum: 10c0/43ec4229d64eb5c58340c8aacade49eb5f6fd513eae54140abf365929ca20987f0a35c5868125e2b583cad4de8cd257beb5667d9cc539d9190a7a4c3014adf22 + languageName: node + linkType: hard + +"process-warning@npm:^5.0.0": + version: 5.0.0 + resolution: "process-warning@npm:5.0.0" + checksum: 10c0/941f48863d368ec161e0b5890ba0c6af94170078f3d6b5e915c19b36fb59edb0dc2f8e834d25e0d375a8bf368a49d490f080508842168832b93489d17843ec29 + 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 + "proggy@npm:^3.0.0": version: 3.0.0 resolution: "proggy@npm:3.0.0" @@ -16033,6 +16991,16 @@ __metadata: 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.0 resolution: "pump@npm:3.0.0" @@ -16043,6 +17011,17 @@ __metadata: languageName: node linkType: hard +"pumpify@npm:^1.3.3": + 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.js@npm:^2.3.1": version: 2.3.1 resolution: "punycode.js@npm:2.3.1" @@ -16073,6 +17052,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:6.14.0": + version: 6.14.0 + resolution: "qs@npm:6.14.0" + dependencies: + side-channel: "npm:^1.1.0" + checksum: 10c0/8ea5d91bf34f440598ee389d4a7d95820e3b837d3fd9f433871f7924801becaa0cd3b3b4628d49a7784d06a8aea9bc4554d2b6d8d584e2d221dc06238a42909c + languageName: node + linkType: hard + "querystringify@npm:^2.1.1": version: 2.2.0 resolution: "querystringify@npm:2.2.0" @@ -16087,6 +17075,13 @@ __metadata: languageName: node linkType: hard +"quick-format-unescaped@npm:^4.0.3": + version: 4.0.4 + resolution: "quick-format-unescaped@npm:4.0.4" + checksum: 10c0/fe5acc6f775b172ca5b4373df26f7e4fd347975578199e7d74b2ae4077f0af05baa27d231de1e80e8f72d88275ccc6028568a7a8c9ee5e7368ace0e18eff93a4 + languageName: node + linkType: hard + "quick-lru@npm:^4.0.1": version: 4.0.1 resolution: "quick-lru@npm:4.0.1" @@ -16278,6 +17273,21 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^2.0.0": + 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 + "readable-stream@npm:^2.0.1, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" @@ -16304,6 +17314,19 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^4.0.0": + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" + dependencies: + abort-controller: "npm:^3.0.0" + buffer: "npm:^6.0.3" + events: "npm:^3.3.0" + process: "npm:^0.11.10" + string_decoder: "npm:^1.3.0" + checksum: 10c0/fd86d068da21cfdb10f7a4479f2e47d9c0a9b0c862fc0c840a7e5360201580a55ac399c764b12a4f6fa291f8cee74d9c4b7562e0d53b3c4b2769f2c98155d957 + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -16313,6 +17336,13 @@ __metadata: languageName: node linkType: hard +"real-require@npm:^0.2.0": + version: 0.2.0 + resolution: "real-require@npm:0.2.0" + checksum: 10c0/23eea5623642f0477412ef8b91acd3969015a1501ed34992ada0e3af521d3c865bb2fe4cdbfec5fe4b505f6d1ef6a03e5c3652520837a8c3b53decff7e74b6a0 + languageName: node + linkType: hard + "rechoir@npm:^0.8.0": version: 0.8.0 resolution: "rechoir@npm:0.8.0" @@ -16448,7 +17478,7 @@ __metadata: languageName: node linkType: hard -"resolve-alpn@npm:^1.0.0": +"resolve-alpn@npm:^1.0.0, resolve-alpn@npm:^1.2.0": version: 1.2.1 resolution: "resolve-alpn@npm:1.2.1" checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 @@ -16596,7 +17626,7 @@ __metadata: languageName: node linkType: hard -"responselike@npm:^2.0.0": +"responselike@npm:2.0.1, responselike@npm:^2.0.0": version: 2.0.1 resolution: "responselike@npm:2.0.1" dependencies: @@ -16873,7 +17903,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.2, 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 @@ -16902,7 +17932,14 @@ __metadata: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safe-stable-stringify@npm:^2.3.1": + version: 2.5.0 + resolution: "safe-stable-stringify@npm:2.5.0" + checksum: 10c0/baea14971858cadd65df23894a40588ed791769db21bafb7fd7608397dbdce9c5aac60748abae9995e0fc37e15f2061980501e012cd48859740796bea2987f49 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 @@ -16973,6 +18010,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:7.7.3": + version: 7.7.3 + resolution: "semver@npm:7.7.3" + bin: + semver: bin/semver.js + checksum: 10c0/4afe5c986567db82f44c8c6faef8fe9df2a9b1d98098fc1721f57c696c4c21cebd572f297fc21002f81889492345b8470473bc6f4aff5fb032a6ea59ea2bc45e + languageName: node + linkType: hard + "semver@npm:^6.2.0, semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -17390,6 +18436,24 @@ __metadata: languageName: node linkType: hard +"sonic-boom@npm:3.8.1": + version: 3.8.1 + resolution: "sonic-boom@npm:3.8.1" + dependencies: + atomic-sleep: "npm:^1.0.0" + checksum: 10c0/9bf338f86147db50e116484f74f2e29a321a12733e0cefab3087c80dd32bf4df3d7407dbcafc13bc39ac269d9dd61dd6ef952354b9503392d4e1e7414f8e360e + languageName: node + linkType: hard + +"sonic-boom@npm:^4.0.1": + version: 4.2.0 + resolution: "sonic-boom@npm:4.2.0" + dependencies: + atomic-sleep: "npm:^1.0.0" + checksum: 10c0/ae897e6c2cd6d3cb7cdcf608bc182393b19c61c9413a85ce33ffd25891485589f39bece0db1de24381d0a38fc03d08c9862ded0c60f184f1b852f51f97af9684 + languageName: node + linkType: hard + "sort-keys@npm:^2.0.0": version: 2.0.0 resolution: "sort-keys@npm:2.0.0" @@ -17500,6 +18564,13 @@ __metadata: languageName: node linkType: hard +"split2@npm:^4.0.0": + version: 4.2.0 + resolution: "split2@npm:4.2.0" + checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 + languageName: node + linkType: hard + "split@npm:^1.0.1": version: 1.0.1 resolution: "split@npm:1.0.1" @@ -17523,6 +18594,27 @@ __metadata: languageName: node linkType: hard +"sshpk@npm:^1.18.0": + version: 1.18.0 + resolution: "sshpk@npm:1.18.0" + dependencies: + asn1: "npm:~0.2.3" + assert-plus: "npm:^1.0.0" + bcrypt-pbkdf: "npm:^1.0.0" + dashdash: "npm:^1.12.0" + ecc-jsbn: "npm:~0.1.1" + getpass: "npm:^0.1.1" + jsbn: "npm:~0.1.0" + safer-buffer: "npm:^2.0.2" + tweetnacl: "npm:~0.14.0" + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: 10c0/e516e34fa981cfceef45fd2e947772cc70dbd57523e5c608e2cd73752ba7f8a99a04df7c3ed751588e8d91956b6f16531590b35d3489980d1c54c38bebcd41b1 + languageName: node + linkType: hard + "ssri@npm:12.0.0, ssri@npm:^12.0.0": version: 12.0.0 resolution: "ssri@npm:12.0.0" @@ -17600,6 +18692,15 @@ __metadata: languageName: node linkType: hard +"steno@npm:^0.4.1": + version: 0.4.4 + resolution: "steno@npm:0.4.4" + dependencies: + graceful-fs: "npm:^4.1.3" + checksum: 10c0/026d42455aad66f0ab1ac8468dc75484a1df4ad7d8d62763a132afe009d087bb0730e57f628127c2f09dbfdc15e542d7fe9c7ca93e98202739621f8d251a8853 + languageName: node + linkType: hard + "stream-browserify@npm:3.0.0": version: 3.0.0 resolution: "stream-browserify@npm:3.0.0" @@ -17633,6 +18734,17 @@ __metadata: languageName: node linkType: hard +"streamx@npm:^2.15.0": + version: 2.23.0 + resolution: "streamx@npm:2.23.0" + dependencies: + events-universal: "npm:^1.0.0" + fast-fifo: "npm:^1.3.2" + text-decoder: "npm:^1.1.0" + checksum: 10c0/15708ce37818d588632fe1104e8febde573e33e8c0868bf583fce0703f3faf8d2a063c278e30df2270206811b69997f64eb78792099933a1fe757e786fbcbd44 + languageName: node + linkType: hard + "strict-event-emitter@npm:^0.5.1": version: 0.5.1 resolution: "strict-event-emitter@npm:0.5.1" @@ -17799,7 +18911,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -17984,6 +19096,17 @@ __metadata: languageName: node linkType: hard +"tar-stream@npm:3.1.7": + version: 3.1.7 + resolution: "tar-stream@npm:3.1.7" + dependencies: + b4a: "npm:^1.6.4" + fast-fifo: "npm:^1.2.0" + streamx: "npm:^2.15.0" + checksum: 10c0/a09199d21f8714bd729993ac49b6c8efcb808b544b89f23378ad6ffff6d1cb540878614ba9d4cfec11a64ef39e1a6f009a5398371491eb1fda606ffc7f70f718 + languageName: node + linkType: hard + "tar-stream@npm:~2.2.0": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" @@ -18104,6 +19227,15 @@ __metadata: languageName: node linkType: hard +"text-decoder@npm:^1.1.0": + version: 1.2.3 + resolution: "text-decoder@npm:1.2.3" + dependencies: + b4a: "npm:^1.6.4" + checksum: 10c0/569d776b9250158681c83656ef2c3e0a5d5c660c27ca69f87eedef921749a4fbf02095e5f9a0f862a25cf35258379b06e31dee9c125c9f72e273b7ca1a6d1977 + languageName: node + linkType: hard + "text-extensions@npm:^1.0.0": version: 1.9.0 resolution: "text-extensions@npm:1.9.0" @@ -18118,7 +19250,16 @@ __metadata: languageName: node linkType: hard -"through2@npm:^2.0.0": +"thread-stream@npm:^3.0.0": + version: 3.1.0 + resolution: "thread-stream@npm:3.1.0" + dependencies: + real-require: "npm:^0.2.0" + checksum: 10c0/c36118379940b77a6ef3e6f4d5dd31e97b8210c3f7b9a54eb8fe6358ab173f6d0acfaf69b9c3db024b948c0c5fd2a7df93e2e49151af02076b35ada3205ec9a6 + 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: @@ -18190,6 +19331,24 @@ __metadata: languageName: node linkType: hard +"tldts-core@npm:^6.1.86": + version: 6.1.86 + resolution: "tldts-core@npm:6.1.86" + checksum: 10c0/8133c29375f3f99f88fce5f4d62f6ecb9532b106f31e5423b27c1eb1b6e711bd41875184a456819ceaed5c8b94f43911b1ad57e25c6eb86e1fc201228ff7e2af + languageName: node + linkType: hard + +"tldts@npm:^6.1.32": + version: 6.1.86 + resolution: "tldts@npm:6.1.86" + dependencies: + tldts-core: "npm:^6.1.86" + bin: + tldts: bin/cli.js + checksum: 10c0/27ae7526d9d78cb97b2de3f4d102e0b4321d1ccff0648a7bb0e039ed54acbce86bacdcd9cd3c14310e519b457854e7bafbef1f529f58a1e217a737ced63f0940 + languageName: node + linkType: hard + "tmp-promise@npm:^3.0.2": version: 3.0.3 resolution: "tmp-promise@npm:3.0.3" @@ -18261,6 +19420,15 @@ __metadata: languageName: node linkType: hard +"tough-cookie@npm:^5.0.0": + version: 5.1.2 + resolution: "tough-cookie@npm:5.1.2" + dependencies: + tldts: "npm:^6.1.32" + checksum: 10c0/5f95023a47de0f30a902bba951664b359725597d8adeabc66a0b93a931c3af801e1e697dae4b8c21a012056c0ea88bd2bf4dfe66b2adcf8e2f42cd9796fe0626 + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -18410,6 +19578,29 @@ __metadata: languageName: node linkType: hard +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/4c7a1b813e7beae66fdbf567a65ec6d46313643753d0beefb3c7973d66fcec3a1e7f39759f0a0b4465883499c6dc8b0750ab8b287399af2e583823e40410a17a + languageName: node + linkType: hard + +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: 10c0/4612772653512c7bc19e61923fbf42903f5e0389ec76a4a1f17195859d114671ea4aa3b734c2029ce7e1fa7e5cc8b80580f67b071ecf0b46b5636d030a0102a2 + languageName: node + linkType: hard + +"typanion@npm:^3.8.0": + version: 3.14.0 + resolution: "typanion@npm:3.14.0" + checksum: 10c0/8b03b19844e6955bfd906c31dc781bae6d7f1fb3ce4fe24b7501557013d4889ae5cefe671dafe98d87ead0adceb8afcb8bc16df7dc0bd2b7331bac96f3a7cae2 + 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" @@ -18785,6 +19976,13 @@ __metadata: languageName: node linkType: hard +"unix-crypt-td-js@npm:1.1.4": + version: 1.1.4 + resolution: "unix-crypt-td-js@npm:1.1.4" + checksum: 10c0/c4e3abd0d7ebcf39df7faff8be2cd137f477add743a2793c551682e04ec4e4f466e806a67e391d5a097229e4465b7cae4cb459990b9eb61dfe0b37d2388c6266 + languageName: node + linkType: hard + "unorm@npm:^1.4.1": version: 1.6.0 resolution: "unorm@npm:1.6.0" @@ -18914,13 +20112,99 @@ __metadata: languageName: node linkType: hard -"vary@npm:~1.1.2": +"validator@npm:13.15.23": + version: 13.15.23 + resolution: "validator@npm:13.15.23" + checksum: 10c0/22a05ec6a98d48d2b6fb34d43ce854af61d15842362d142e64cfca0325d4d0c2d1051d9f9d3a0f741e58ea888f73a35baf7a2a810f5aed0f89183bd5040f0177 + 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 +"verdaccio-audit@npm:13.0.0-next-8.28": + version: 13.0.0-next-8.28 + resolution: "verdaccio-audit@npm:13.0.0-next-8.28" + dependencies: + "@verdaccio/config": "npm:8.0.0-next-8.28" + "@verdaccio/core": "npm:8.0.0-next-8.28" + express: "npm:4.21.2" + https-proxy-agent: "npm:5.0.1" + node-fetch: "npm:cjs" + checksum: 10c0/09e091eee29d588fa46bd3f90cf3ca4f58abe6d568a44f8ec5f5311b8f8fc0cd0dd952a4825a3815ba3b9fcf55f4c69b2dc02341cb17159a4dc6c877510ccfe1 + languageName: node + linkType: hard + +"verdaccio-htpasswd@npm:13.0.0-next-8.28": + version: 13.0.0-next-8.28 + resolution: "verdaccio-htpasswd@npm:13.0.0-next-8.28" + dependencies: + "@verdaccio/core": "npm:8.0.0-next-8.28" + "@verdaccio/file-locking": "npm:13.0.0-next-8.6" + apache-md5: "npm:1.1.8" + bcryptjs: "npm:2.4.3" + debug: "npm:4.4.3" + http-errors: "npm:2.0.0" + unix-crypt-td-js: "npm:1.1.4" + checksum: 10c0/b30d006feb36156a6559129122018baf9e0ce19e9b63de6755cf8ea06086556b3ea4f9a44641d913dd903ad8b9949f6701d55a5945580325a36436b2fc8e7d05 + languageName: node + linkType: hard + +"verdaccio@npm:^6.2.4": + version: 6.2.4 + resolution: "verdaccio@npm:6.2.4" + dependencies: + "@cypress/request": "npm:3.0.9" + "@verdaccio/auth": "npm:8.0.0-next-8.28" + "@verdaccio/config": "npm:8.0.0-next-8.28" + "@verdaccio/core": "npm:8.0.0-next-8.28" + "@verdaccio/hooks": "npm:8.0.0-next-8.28" + "@verdaccio/loaders": "npm:8.0.0-next-8.18" + "@verdaccio/local-storage-legacy": "npm:11.1.1" + "@verdaccio/logger": "npm:8.0.0-next-8.28" + "@verdaccio/middleware": "npm:8.0.0-next-8.28" + "@verdaccio/search-indexer": "npm:8.0.0-next-8.5" + "@verdaccio/signature": "npm:8.0.0-next-8.20" + "@verdaccio/streams": "npm:10.2.1" + "@verdaccio/tarball": "npm:13.0.0-next-8.28" + "@verdaccio/ui-theme": "npm:8.0.0-next-8.28" + "@verdaccio/url": "npm:13.0.0-next-8.28" + "@verdaccio/utils": "npm:8.1.0-next-8.28" + JSONStream: "npm:1.3.5" + async: "npm:3.2.6" + clipanion: "npm:4.0.0-rc.4" + compression: "npm:1.8.1" + cors: "npm:2.8.5" + debug: "npm:4.4.3" + envinfo: "npm:7.15.0" + express: "npm:4.21.2" + lodash: "npm:4.17.21" + lru-cache: "npm:7.18.3" + mime: "npm:3.0.0" + semver: "npm:7.7.3" + verdaccio-audit: "npm:13.0.0-next-8.28" + verdaccio-htpasswd: "npm:13.0.0-next-8.28" + bin: + verdaccio: bin/verdaccio + checksum: 10c0/a46822576b7ecbd10baaf7cf62e0aca1473038942fd3ad4bf12bded9558bc46f0004b02bb4c93e8e8a671b899cd8cc99d375b4d49d576c30e80df66d69d9ed40 + languageName: node + linkType: hard + +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: "npm:^1.0.0" + core-util-is: "npm:1.0.2" + extsprintf: "npm:^1.2.0" + checksum: 10c0/37ccdf8542b5863c525128908ac80f2b476eed36a32cb944de930ca1e2e78584cc435c4b9b4c68d0fc13a47b45ff364b4be43aa74f8804f9050140f660fb660d + languageName: node + linkType: hard + "version-guard@npm:^1.1.1": version: 1.1.1 resolution: "version-guard@npm:1.1.1" From 5b24ac946fad8bd45a13a8de3cee579330ed9282 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Fri, 12 Dec 2025 17:14:51 -0800 Subject: [PATCH 02/16] gg --- packages/api/core/src/api/init.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/api/core/src/api/init.ts b/packages/api/core/src/api/init.ts index cafcab0bc8..2b662ab39b 100644 --- a/packages/api/core/src/api/init.ts +++ b/packages/api/core/src/api/init.ts @@ -22,6 +22,8 @@ import { initNPM } from './init-scripts/init-npm'; const d = debug('electron-forge:init'); +console.log('erick test 123'); + export interface InitOptions { /** * The path to the app to be initialized From 85c33613684665219eb38181bb8f72809026cdcf Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Mon, 15 Dec 2025 18:07:53 -0800 Subject: [PATCH 03/16] cleanup --- packages/api/core/src/api/init.ts | 2 - ...n-with-verdaccio.ts => spawn-verdaccio.ts} | 115 +++++++++--------- 2 files changed, 60 insertions(+), 57 deletions(-) rename tools/verdaccio/{run-with-verdaccio.ts => spawn-verdaccio.ts} (54%) diff --git a/packages/api/core/src/api/init.ts b/packages/api/core/src/api/init.ts index 2b662ab39b..cafcab0bc8 100644 --- a/packages/api/core/src/api/init.ts +++ b/packages/api/core/src/api/init.ts @@ -22,8 +22,6 @@ import { initNPM } from './init-scripts/init-npm'; const d = debug('electron-forge:init'); -console.log('erick test 123'); - export interface InitOptions { /** * The path to the app to be initialized diff --git a/tools/verdaccio/run-with-verdaccio.ts b/tools/verdaccio/spawn-verdaccio.ts similarity index 54% rename from tools/verdaccio/run-with-verdaccio.ts rename to tools/verdaccio/spawn-verdaccio.ts index 16d6634ec9..d02f83ec7c 100644 --- a/tools/verdaccio/run-with-verdaccio.ts +++ b/tools/verdaccio/spawn-verdaccio.ts @@ -1,24 +1,38 @@ /** - * This script runs tests with a local Verdaccio npm registry. - * It publishes all \@electron-forge/* packages to Verdaccio so that - * api.init tests can install packages that haven't been published to npm yet. + * This script runs any command with a local Verdaccio instance that + * publishes local builds of all `@electron-forge/` packages to the + * proxy registry. + * + * This is useful to test the local build of Electron Forge prior + * to publishing the monorepo, and to wire up `init` tests against + * the latest and greatest. * * Usage: - * tsx tools/verdaccio/run-with-verdaccio.ts [args...] + * tsx tools/verdaccio/spawn-verdaccio.ts [args...] * * Example: - * tsx tools/verdaccio/run-with-verdaccio.ts yarn test:slow + * tsx tools/verdaccio-spawn-verdaccio.ts yarn test:slow */ -import { ChildProcess, execSync, spawn } from 'node:child_process'; +import { ChildProcess, spawn } from 'node:child_process'; import fs from 'node:fs'; import path from 'node:path'; +import { spawn as spawnPromise } from '@malept/cross-spawn-promise'; +import debug from 'debug'; + +const FORGE_ROOT_DIR = path.resolve(__dirname, '../..'); +/** + * Path to the Verdaccio configuration file. + * The below constants are derived from settings in the YAML. + */ +const CONFIG_PATH = path.resolve(__dirname, 'config.yaml'); + const VERDACCIO_PORT = 4873; const VERDACCIO_URL = `http://127.0.0.1:${VERDACCIO_PORT}`; -const CONFIG_PATH = path.resolve(__dirname, 'config.yaml'); const STORAGE_PATH = path.resolve(__dirname, 'storage'); -const ROOT_DIR = path.resolve(__dirname, '../..'); + +const d = debug('electron-forge:verdaccio'); let verdaccioProcess: ChildProcess | null = null; @@ -31,17 +45,14 @@ async function startVerdaccio(): Promise { return new Promise((resolve, reject) => { verdaccioProcess = spawn('yarn', ['verdaccio', '--config', CONFIG_PATH], { - cwd: ROOT_DIR, - stdio: ['ignore', 'pipe', 'pipe'], + cwd: FORGE_ROOT_DIR, }); let started = false; verdaccioProcess.stdout?.on('data', (data: Buffer) => { const output = data.toString(); - if (process.env.DEBUG) { - console.log('[verdaccio]', output); - } + d(output); if (output.includes('http address') && !started) { started = true; // Give it a moment to be fully ready @@ -51,25 +62,15 @@ async function startVerdaccio(): Promise { verdaccioProcess.stderr?.on('data', (data: Buffer) => { const output = data.toString(); - // Ignore some noisy warnings - if (!output.includes('ExperimentalWarning')) { - console.error('[verdaccio]', output); - } + console.error('[verdaccio]', output); }); verdaccioProcess.on('error', reject); verdaccioProcess.on('close', (code) => { - if (!started) { + if (!started || code !== 0) { reject(new Error(`Verdaccio exited with code ${code}`)); } }); - - // Timeout if Verdaccio doesn't start - setTimeout(() => { - if (!started) { - reject(new Error('Verdaccio failed to start within 30 seconds')); - } - }, 30000); }); } @@ -81,22 +82,31 @@ function stopVerdaccio(): void { } } +/** + * Publishes all `@electron-forge/` packages to the localhost Verdaccio registry. + */ async function publishPackages(): Promise { - console.log('📦 Publishing packages to Verdaccio...'); + console.log('📦 Publishing monorepo packages to Verdaccio registry...'); try { - execSync( - `yarn lerna publish from-package --registry ${VERDACCIO_URL} --yes --no-git-tag-version --no-push`, + await spawnPromise( + `yarn`, + [ + 'lerna', + 'publish', + 'from-package', + '--registry', + VERDACCIO_URL, + '--yes', + '--no-git-tag-version', + '--no-push', + ], { - cwd: ROOT_DIR, + cwd: FORGE_ROOT_DIR, stdio: 'inherit', - env: { - ...process.env, - npm_config_registry: VERDACCIO_URL, - }, }, ); - console.log('✅ All packages published to Verdaccio'); + console.log('✅ All packages published to Verdaccio registry'); } catch (error) { const errorMessage = error instanceof Error ? error.message : String(error); console.error('❌ Failed to publish packages:', errorMessage); @@ -104,26 +114,21 @@ async function publishPackages(): Promise { } } -async function runCommand(args: string[]): Promise { +async function runCommand(args: string[]) { console.log(`🏃 Running: ${args.join(' ')}`); console.log(` Using registry: ${VERDACCIO_URL}`); - return new Promise((resolve) => { - const child = spawn(args[0], args.slice(1), { - cwd: ROOT_DIR, - stdio: 'inherit', - env: { - ...process.env, - npm_config_registry: VERDACCIO_URL, - YARN_NPM_REGISTRY_SERVER: VERDACCIO_URL, - // For pnpm - NPM_CONFIG_REGISTRY: VERDACCIO_URL, - }, - }); - - child.on('close', (code) => { - resolve(code ?? 1); - }); + await spawnPromise(args[0], args.slice(1), { + cwd: FORGE_ROOT_DIR, + stdio: 'inherit', + env: { + ...process.env, + // https://docs.npmjs.com/cli/v9/using-npm/config#registry + // https://pnpm.io/settings#registry + NPM_CONFIG_REGISTRY: VERDACCIO_URL, + // https://yarnpkg.com/configuration/yarnrc#npmRegistryServer + YARN_NPM_REGISTRY_SERVER: VERDACCIO_URL, + }, }); } @@ -132,10 +137,10 @@ async function main(): Promise { if (args.length === 0) { console.error( - 'Usage: tsx tools/verdaccio/run-with-verdaccio.ts [args...]', + 'Usage: tsx tools/verdaccio/spawn-verdaccio.ts [args...]', ); console.error( - 'Example: tsx tools/verdaccio/run-with-verdaccio.ts yarn test:slow', + 'Example: tsx tools/verdaccio/spawn-verdaccio.ts yarn test:slow', ); process.exit(1); } @@ -153,9 +158,9 @@ async function main(): Promise { try { await startVerdaccio(); await publishPackages(); - const exitCode = await runCommand(args); + await runCommand(args); stopVerdaccio(); - process.exit(exitCode); + process.exit(0); } catch (error) { console.error('❌ Error:', error); stopVerdaccio(); From 1656b915f530458e9dd89eaf333d65a70d3f9d3a Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 14:40:08 -0800 Subject: [PATCH 04/16] set yarn env var --- tools/verdaccio/spawn-verdaccio.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/verdaccio/spawn-verdaccio.ts b/tools/verdaccio/spawn-verdaccio.ts index d02f83ec7c..179c601f27 100644 --- a/tools/verdaccio/spawn-verdaccio.ts +++ b/tools/verdaccio/spawn-verdaccio.ts @@ -28,8 +28,9 @@ const FORGE_ROOT_DIR = path.resolve(__dirname, '../..'); */ const CONFIG_PATH = path.resolve(__dirname, 'config.yaml'); +const LOCALHOST = '127.0.0.1'; const VERDACCIO_PORT = 4873; -const VERDACCIO_URL = `http://127.0.0.1:${VERDACCIO_PORT}`; +const VERDACCIO_URL = `http://${LOCALHOST}:${VERDACCIO_PORT}`; const STORAGE_PATH = path.resolve(__dirname, 'storage'); const d = debug('electron-forge:verdaccio'); @@ -128,6 +129,8 @@ async function runCommand(args: string[]) { NPM_CONFIG_REGISTRY: VERDACCIO_URL, // https://yarnpkg.com/configuration/yarnrc#npmRegistryServer YARN_NPM_REGISTRY_SERVER: VERDACCIO_URL, + // https://yarnpkg.com/configuration/yarnrc#unsafeHttpWhitelist + YARN_UNSAFE_HTTP_WHITELIST: LOCALHOST, }, }); } From fa10de9db8f8fbde89067b30ec72173b31e83c08 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 14:53:57 -0800 Subject: [PATCH 05/16] ok --- tools/verdaccio/spawn-verdaccio.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/tools/verdaccio/spawn-verdaccio.ts b/tools/verdaccio/spawn-verdaccio.ts index 179c601f27..70f31c08e0 100644 --- a/tools/verdaccio/spawn-verdaccio.ts +++ b/tools/verdaccio/spawn-verdaccio.ts @@ -37,6 +37,9 @@ const d = debug('electron-forge:verdaccio'); let verdaccioProcess: ChildProcess | null = null; +/** + * Starts the Verdaccio server. + */ async function startVerdaccio(): Promise { console.log('🚀 Starting Verdaccio...'); @@ -47,6 +50,7 @@ async function startVerdaccio(): Promise { return new Promise((resolve, reject) => { verdaccioProcess = spawn('yarn', ['verdaccio', '--config', CONFIG_PATH], { cwd: FORGE_ROOT_DIR, + detached: true, }); let started = false; @@ -75,10 +79,19 @@ async function startVerdaccio(): Promise { }); } +/** + * Kills the local Verdaccio instance. + */ function stopVerdaccio(): void { - if (verdaccioProcess) { + if (verdaccioProcess && verdaccioProcess.pid) { console.log('🛑 Stopping Verdaccio...'); - verdaccioProcess.kill('SIGTERM'); + // Kill the entire process group (negative PID) to ensure all child processes are terminated + try { + process.kill(-verdaccioProcess.pid, 'SIGTERM'); + } catch { + // Process may have already exited + verdaccioProcess.kill('SIGTERM'); + } verdaccioProcess = null; } } From adfac116a11c065fb788f3100bcffb01f3bce982 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 14:58:11 -0800 Subject: [PATCH 06/16] vitest setup --- package.json | 3 +-- .../{init.slow.spec.ts => init.slow.verdaccio.spec.ts} | 0 vitest.config.mts | 9 +++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) rename packages/api/core/spec/slow/{init.slow.spec.ts => init.slow.verdaccio.spec.ts} (100%) diff --git a/package.json b/package.json index 83a8ed88db..1ffb94d691 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,7 @@ "test": "xvfb-maybe vitest run --project fast --project slow", "test:fast": "xvfb-maybe vitest run --project fast", "test:slow": "xvfb-maybe vitest run --project slow", - "test:slow:verdaccio": "tsx tools/verdaccio/run-with-verdaccio.ts xvfb-maybe vitest run --project slow", - "test:verdaccio": "tsx tools/verdaccio/run-with-verdaccio.ts xvfb-maybe vitest run --project fast --project slow", + "test:verdaccio": "tsx tools/verdaccio/spawn-verdaccio.ts xvfb-maybe vitest run --project slow-verdaccio", "test:clear": "tsx tools/test-clear", "update:lockfile-fixtures": "tsx tools/regenerate-lockfile-fixtures.ts", "postinstall": "husky install && node -e \"try { fs.rmSync('node_modules/.bin/*.ps1', { recursive: true, force: true }) } catch (e) {}\" && tsx ./tools/gen-tsconfigs.ts && tsx ./tools/gen-ts-glue.ts" diff --git a/packages/api/core/spec/slow/init.slow.spec.ts b/packages/api/core/spec/slow/init.slow.verdaccio.spec.ts similarity index 100% rename from packages/api/core/spec/slow/init.slow.spec.ts rename to packages/api/core/spec/slow/init.slow.verdaccio.spec.ts diff --git a/vitest.config.mts b/vitest.config.mts index b18abb5811..4aecb834c5 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -24,6 +24,15 @@ export default defineConfig({ testTimeout: 240000, }, }, + { + extends: './vitest.config.mts', + test: { + include: ['**/spec/**/*.slow.verdaccio.spec.ts'], + name: 'slow-verdaccio', + hookTimeout: 240000, + testTimeout: 240000, + }, + }, ], }, }); From 2ba071fe1e1e9ee4da7a2c04a68f0eccf6ca16ba Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 15:01:02 -0800 Subject: [PATCH 07/16] ci --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 83823f5973..c015ca2c91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -228,6 +228,7 @@ jobs: run: | mkdir -p ./reports/out yarn test:slow --reporter=default --reporter=junit --outputFile="./reports/out/test_output.xml" + yarn test:verdaccio --reporter=default --reporter=junit --outputFile="./reports/out/test_output_verdaccio.xml" required-ci: needs: From 5a6a9f46463a59383ab23579adadda875f675a14 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 15:19:39 -0800 Subject: [PATCH 08/16] exclude verdaccio from fast tests --- vitest.config.mts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vitest.config.mts b/vitest.config.mts index 4aecb834c5..d1824f91e1 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -11,7 +11,10 @@ export default defineConfig({ extends: './vitest.config.mts', test: { include: ['**/spec/**/*.spec.ts'], - exclude: ['**/spec/**/*.slow.spec.ts'], + exclude: [ + '**/spec/**/*.slow.spec.ts', + '**/spec/**/*.slow.verdaccio.spec.ts', + ], name: 'fast', }, }, From 5059e9b7dcf5e6320362367bba9608a0530f7c28 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 15:22:15 -0800 Subject: [PATCH 09/16] run verdaccio tests first --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c015ca2c91..0d789acc00 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -227,8 +227,8 @@ jobs: - name: Run slow tests run: | mkdir -p ./reports/out - yarn test:slow --reporter=default --reporter=junit --outputFile="./reports/out/test_output.xml" yarn test:verdaccio --reporter=default --reporter=junit --outputFile="./reports/out/test_output_verdaccio.xml" + yarn test:slow --reporter=default --reporter=junit --outputFile="./reports/out/test_output.xml" required-ci: needs: From 714e20f2e8b442383c614528cfffd965967efeaa Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 15:49:19 -0800 Subject: [PATCH 10/16] zzz --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d789acc00..c015ca2c91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -227,8 +227,8 @@ jobs: - name: Run slow tests run: | mkdir -p ./reports/out - yarn test:verdaccio --reporter=default --reporter=junit --outputFile="./reports/out/test_output_verdaccio.xml" yarn test:slow --reporter=default --reporter=junit --outputFile="./reports/out/test_output.xml" + yarn test:verdaccio --reporter=default --reporter=junit --outputFile="./reports/out/test_output_verdaccio.xml" required-ci: needs: From ffa861270914c090e430dd8cb1eb9bcbadab78ce Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 16:08:33 -0800 Subject: [PATCH 11/16] remove eol newline --- packages/api/core/spec/fixture/api-tester/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/api/core/spec/fixture/api-tester/package.json b/packages/api/core/spec/fixture/api-tester/package.json index e5a871d55f..d6223bf49d 100644 --- a/packages/api/core/spec/fixture/api-tester/package.json +++ b/packages/api/core/spec/fixture/api-tester/package.json @@ -39,4 +39,4 @@ "config": { "forge": "./forge.config.js" } -} +} \ No newline at end of file From 6c7b2a479a6778ca264a3742c3fee2a17e277192 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 16:12:57 -0800 Subject: [PATCH 12/16] add fixture package.json --- .prettierignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.prettierignore b/.prettierignore index 1694c4a684..f8c76d3a6b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -9,6 +9,7 @@ packages/*/*/index.ts packages/*/*/README.md packages/*/*/tsconfig.json packages/*/*/typedoc.json +packages/api/core/spec/fixture/api-tester/package.json packages/api/core/spec/fixture/bad_external_forge_config/bad.js packages/plugin/webpack/spec/**/.webpack .links From 2e5c510d8bd0916dc596a47ba5ebf8a97cdf336b Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 16 Dec 2025 16:34:20 -0800 Subject: [PATCH 13/16] win2 --- tools/verdaccio/spawn-verdaccio.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/verdaccio/spawn-verdaccio.ts b/tools/verdaccio/spawn-verdaccio.ts index 70f31c08e0..010daf0aa5 100644 --- a/tools/verdaccio/spawn-verdaccio.ts +++ b/tools/verdaccio/spawn-verdaccio.ts @@ -51,6 +51,7 @@ async function startVerdaccio(): Promise { verdaccioProcess = spawn('yarn', ['verdaccio', '--config', CONFIG_PATH], { cwd: FORGE_ROOT_DIR, detached: true, + shell: process.platform === 'win32', }); let started = false; From cb0d38ed85a0d4f82788681c4568ecc11dd838af Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 17 Dec 2025 09:46:44 -0800 Subject: [PATCH 14/16] win2 again? --- tools/verdaccio/spawn-verdaccio.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/verdaccio/spawn-verdaccio.ts b/tools/verdaccio/spawn-verdaccio.ts index 010daf0aa5..9612b0b276 100644 --- a/tools/verdaccio/spawn-verdaccio.ts +++ b/tools/verdaccio/spawn-verdaccio.ts @@ -50,7 +50,9 @@ async function startVerdaccio(): Promise { return new Promise((resolve, reject) => { verdaccioProcess = spawn('yarn', ['verdaccio', '--config', CONFIG_PATH], { cwd: FORGE_ROOT_DIR, - detached: true, + // On Windows, detaching the child process will cause the Promise to hang + // On UNIX-based platforms, detatching it is necessary to successfully kill the Verdaccio server + detached: process.platform !== 'win32', shell: process.platform === 'win32', }); From 792081b7f7bcdc1485d14c16e9f23789c751c224 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 17 Dec 2025 10:37:24 -0800 Subject: [PATCH 15/16] don't modify yarnrc.yml on ci --- .github/workflows/ci.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c015ca2c91..b4ce90e5c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,16 +91,12 @@ jobs: with: python-version: 3.11 - - name: Set Yarn global folder for Windows - if: runner.os == 'Windows' - shell: bash - run: yarn config set globalFolder "D:\\yarn-data" - - - name: Set TEMP for Windows + - name: Use D:\\ drive for Windows if: runner.os == 'Windows' shell: bash run: | mkdir -p /d/fast-temp + echo "YARN_GLOBAL_FOLDER=D:\\yarn-data" >> $GITHUB_ENV echo "TEMP=D:\\fast-temp" >> $GITHUB_ENV - name: Install dependencies From 1ea5f95efb00a33917b41bdab790b92e9a9f9ccf Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 17 Dec 2025 10:53:23 -0800 Subject: [PATCH 16/16] i goofed --- .github/workflows/ci.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4ce90e5c8..3e0dc69fd1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -174,16 +174,12 @@ jobs: with: python-version: 3.11 - - name: Set Yarn global folder for Windows - if: runner.os == 'Windows' - shell: bash - run: yarn config set globalFolder "D:\\yarn-data" - - - name: Set TEMP for Windows + - name: Use D:\\ drive for Windows if: runner.os == 'Windows' shell: bash run: | mkdir -p /d/fast-temp + echo "YARN_GLOBAL_FOLDER=D:\\yarn-data" >> $GITHUB_ENV echo "TEMP=D:\\fast-temp" >> $GITHUB_ENV - name: Install dependencies