diff --git a/packages/action/README.md b/packages/action/README.md new file mode 100644 index 00000000..ee21d231 --- /dev/null +++ b/packages/action/README.md @@ -0,0 +1,161 @@ +# Compressed Size Action Demo + +This is a simplified GitHub Action for checking file compression size differences before and after code changes. + +## Features + +- Intelligently detects GitHub event types and automatically executes corresponding operations +- **On MR submission**: Only downloads artifacts from the target branch (if they exist) +- **On MR merge**: Only uploads artifacts from the current branch +- Supports custom file paths +- Finds the latest commit of the target branch through GitHub API +- Artifacts are named by commit hash to avoid conflicts + +## Smart Behavior + +### 🔄 On MR Merge (push to main branch) + +- Only uploads artifacts from the current branch +- Artifact naming: `path-filename-commithash.extension` +- Used to save the latest baseline data + +### đŸ“Ĩ On MR Submission (pull_request event) + +- Only downloads artifacts from the target branch (if they exist) +- If target branch artifacts are found, downloads and compares them +- If not found, prints "No baseline data found" +- Used to compare current changes with baseline data + +## Configuration + +```yaml +- uses: ./ + with: + # GitHub token for API access + github_token: ${{ secrets.GITHUB_TOKEN }} + + # File path to upload (relative to project root) + file_path: 'artifacts/1.json' + + # Target branch (defaults to main) + target_branch: 'main' +``` + +## Artifact Naming Rules + +Artifacts will be named using the following format: + +- Format: `path-filename-commithash.extension` +- Example: `artifacts-1-f18c5686ba.json` + +## Usage Scenarios + +### Scenario 1: On MR Submission + +```yaml +on: + pull_request: + types: [opened, synchronize] +``` + +The Action will: + +1. Find the latest commit of the target branch +2. Attempt to download the corresponding artifacts +3. If real baseline data is found, use real data for comparison +4. If not found, use built-in demo data as baseline for comparison display +5. Generate a Bundle Size Report card + +### Scenario 2: On MR Merge + +```yaml +on: + push: + branches: [main] +``` + +The Action will: + +1. Upload artifacts from the current branch +2. Generate a simple Bundle Size Report card +3. Artifacts will serve as baseline data for subsequent MRs + +## Report Card Example + +The Action will generate a report card in the following format in GitHub CI: + +### đŸ“Ļ Bundle Size Report + +| Metric | Current | Baseline | +| -------------- | -------- | -------- | +| 📊 Total Size | 100.0 MB | 99.0 MB | +| 📁 Files Count | 3 | 3 | + +### 📄 File Details + +| File | Size | +| --------------- | ------- | +| dist/main.js | 50.0 MB | +| dist/vendor.js | 40.0 MB | +| dist/styles.css | 10.0 MB | + +## JSON File Format + +The JSON file pointed to by your `file_path` should contain data in the following format: + +```json +{ + "totalSize": 104857600, + "files": [ + { + "path": "dist/main.js", + "size": 52428800, + "gzipSize": 10485760, + "brotliSize": 8388608 + }, + { + "path": "dist/vendor.js", + "size": 41943040 + } + ] +} +``` + +- `totalSize`: Total size (in bytes) +- `files`: List of files, each containing path and size information + +## Demo Baseline Data + +When real artifacts from the target branch cannot be found, the Action will automatically use built-in demo data as baseline for comparison: + +```json +{ + "totalSize": 103809024, // ~99MB + "files": [ + { + "path": "dist/main.js", + "size": 51380224 // ~49MB + }, + { + "path": "dist/vendor.js", + "size": 41943040 // ~40MB + }, + { + "path": "dist/styles.css", + "size": 10485760 // ~10MB + } + ] +} +``` + +This way, even on first run or when there's no historical data, meaningful comparison reports can be generated to help developers understand the current build size situation. + +## Development + +```bash +# Install dependencies +npm install + +# Build +npm run build +``` diff --git a/packages/action/action.yml b/packages/action/action.yml new file mode 100644 index 00000000..5c0d9608 --- /dev/null +++ b/packages/action/action.yml @@ -0,0 +1,21 @@ +name: 'compressed-size-action-demo' +description: 'A simple demo for checking compressed size differences' +branding: + icon: 'archive' + color: 'purple' +inputs: + github_token: + description: 'The GITHUB_TOKEN secret' + required: false + default: ${{ github.token }} + file_path: + description: 'Path to the file to upload (relative to project root)' + required: true + target_branch: + description: 'The target branch to compare against (defaults to main)' + required: false + default: 'main' + +runs: + using: 'node20' + main: 'index.js' \ No newline at end of file diff --git a/packages/action/artifacts/demo.json b/packages/action/artifacts/demo.json new file mode 100644 index 00000000..21c22914 --- /dev/null +++ b/packages/action/artifacts/demo.json @@ -0,0 +1,23 @@ +{ + "totalSize": 103809024, + "files": [ + { + "path": "dist/main.js", + "size": 51380224, + "gzipSize": 10276045, + "brotliSize": 8220836 + }, + { + "path": "dist/vendor.js", + "size": 41943040, + "gzipSize": 8388608, + "brotliSize": 6291456 + }, + { + "path": "dist/styles.css", + "size": 10485760, + "gzipSize": 2097152, + "brotliSize": 1572864 + } + ] +} diff --git a/packages/action/artifacts/example.json b/packages/action/artifacts/example.json new file mode 100644 index 00000000..7ec4b698 --- /dev/null +++ b/packages/action/artifacts/example.json @@ -0,0 +1,23 @@ +{ + "totalSize": 104857600, + "files": [ + { + "path": "dist/main.js", + "size": 52428800, + "gzipSize": 10485760, + "brotliSize": 8388608 + }, + { + "path": "dist/vendor.js", + "size": 41943040, + "gzipSize": 8388608, + "brotliSize": 6291456 + }, + { + "path": "dist/styles.css", + "size": 10485760, + "gzipSize": 2097152, + "brotliSize": 1572864 + } + ] +} diff --git a/packages/action/package.json b/packages/action/package.json new file mode 100644 index 00000000..c646ffcf --- /dev/null +++ b/packages/action/package.json @@ -0,0 +1,40 @@ +{ + "name": "@rsdoctor/action", + "version": "0.0.1", + "license": "MIT", + "description": "A GitHub Action for bundle size analysis and reporting", + "main": "./index.js", + "scripts": { + "build": "rslib build" + }, + "repository": { + "type": "git", + "url": "https://github.com/web-infra-dev/rsdoctor", + "directory": "packages/actions" + }, + "publishConfig": { + "access": "public" + }, + "files": [ + "index.js", + "action.yml", + "README.md" + ], + "keywords": [ + "github-action", + "bundle-size", + "performance", + "analysis" + ], + "devDependencies": { + "@rslib/core": "^0.14.0", + "@types/node": "^22.8.1" + }, + "dependencies": { + "@actions/artifact": "^2.3.2", + "@actions/core": "^1.2.6", + "@actions/github": "^4.0.0", + "size-plugin-core": "0.0.9", + "yauzl": "^3.2.0" + } +} diff --git a/packages/action/rslib.config.ts b/packages/action/rslib.config.ts new file mode 100644 index 00000000..d33c93c1 --- /dev/null +++ b/packages/action/rslib.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from '@rslib/core'; + +export default defineConfig({ + lib: [ + { + bundle: true, + dts: false, + format: 'cjs', + }, + ], +}); diff --git a/packages/action/src/download.ts b/packages/action/src/download.ts new file mode 100644 index 00000000..e68b564e --- /dev/null +++ b/packages/action/src/download.ts @@ -0,0 +1,167 @@ +import { setFailed, summary } from '@actions/core'; +import path from 'path'; +import * as fs from 'fs'; +import { GitHubService } from './github'; +import * as yauzl from 'yauzl'; + +export async function downloadArtifact(artifactId: number, fileName: string) { + console.log(`đŸ“Ĩ Downloading artifact ID: ${artifactId}`); + + const githubService = new GitHubService(); + + try { + const downloadResponse = await githubService.downloadArtifact(artifactId); + + const tempDir = path.join(process.cwd(), 'temp-artifact'); + await fs.promises.mkdir(tempDir, { recursive: true }); + + const zipPath = path.join(tempDir, 'artifact.zip'); + const buffer = Buffer.from(downloadResponse); + await fs.promises.writeFile(zipPath, buffer); + + console.log(`✅ Downloaded artifact zip to: ${zipPath}`); + await new Promise((resolve, reject) => { + yauzl.open(zipPath, { lazyEntries: true }, (err, zipfile) => { + if (err) return reject(err); + + zipfile.readEntry(); + zipfile.on('entry', (entry) => { + if (/\/$/.test(entry.fileName)) { + zipfile.readEntry(); + } else { + zipfile.openReadStream(entry, (err, readStream) => { + if (err) return reject(err); + + const outputPath = path.join(tempDir, entry.fileName); + const outputDir = path.dirname(outputPath); + + fs.promises.mkdir(outputDir, { recursive: true }).then(() => { + const writeStream = fs.createWriteStream(outputPath); + readStream.pipe(writeStream); + writeStream.on('close', () => zipfile.readEntry()); + }); + }); + } + }); + + zipfile.on('end', () => resolve()); + zipfile.on('error', reject); + }); + }); + + console.log(`✅ Extracted artifact to: ${tempDir}`); + + const extractedFiles = await fs.promises.readdir(tempDir, { + recursive: true, + }); + console.log(`📁 Extracted files: ${extractedFiles.join(', ')}`); + + let targetFilePath: string | null = null; + for (const file of extractedFiles) { + if (file === fileName || file.endsWith(fileName)) { + targetFilePath = path.join(tempDir, file); + break; + } + } + + if (!targetFilePath) { + throw new Error( + `Target file ${fileName} not found in extracted artifact`, + ); + } + + console.log(`📄 Found target file: ${targetFilePath}`); + + const fileContent = await fs.promises.readFile(targetFilePath, 'utf-8'); + const jsonData = JSON.parse(fileContent); + + console.log('--- Downloaded Artifact JSON Data ---'); + console.log(jsonData); + console.log('------------------------------------'); + + await fs.promises.unlink(zipPath); + + return { + downloadPath: tempDir, + jsonData: jsonData, + }; + } catch (error) { + console.error( + `❌ Failed to download and extract artifact: ${error.message}`, + ); + throw error; + } +} + +export async function downloadArtifactByCommitHash( + commitHash: string, + fileName: string, +) { + console.log(`🔍 Looking for artifact with commit hash: ${commitHash}`); + + const githubService = new GitHubService(); + + try { + await githubService.verifyTokenPermissions(); + } catch (permissionError) { + console.warn( + `âš ī¸ Token permission check failed: ${permissionError.message}`, + ); + console.log(`🔄 Continuing with artifact search...`); + } + + console.log(`📋 Searching for artifacts matching commit hash: ${commitHash}`); + const artifact = await githubService.findArtifactByNamePattern(commitHash); + + if (!artifact) { + console.log(`❌ No artifact found for commit hash: ${commitHash}`); + console.log(`💡 This might mean:`); + console.log(` - The target branch hasn't been built yet`); + console.log(` - The artifact name pattern doesn't match`); + console.log( + ` - The artifact has expired (GitHub artifacts expire after 90 days)`, + ); + throw new Error(`No artifact found for commit hash: ${commitHash}`); + } + + console.log(`✅ Found artifact: ${artifact.name} (ID: ${artifact.id})`); + + try { + const artifacts = await githubService.listArtifacts(); + const artifactDetails = artifacts.artifacts.find( + (a) => a.id === artifact.id, + ); + if (artifactDetails) { + console.log(`📊 Artifact details:`); + console.log(` - Created: ${artifactDetails.created_at}`); + console.log( + ` - Expired: ${artifactDetails.expired_at || 'Not expired'}`, + ); + console.log(` - Size: ${artifactDetails.size_in_bytes} bytes`); + + if (artifactDetails.expired_at) { + console.log( + `âš ī¸ Warning: This artifact has expired and may not be downloadable`, + ); + } + } + } catch (detailError) { + console.warn(`âš ī¸ Could not get artifact details: ${detailError.message}`); + } + + console.log(`đŸ“Ĩ Downloading artifact...`); + + try { + return await downloadArtifact(artifact.id, fileName); + } catch (downloadError) { + console.error(`❌ Download failed with error: ${downloadError.message}`); + console.error(`💡 This usually means:`); + console.error( + ` - Token lacks 'actions:read' permission for downloading artifacts`, + ); + console.error(` - Artifact is from a different workflow run`); + console.error(` - Artifact download URL is expired or invalid`); + console.error(` - Network or GitHub API issues`); + throw downloadError; + } +} diff --git a/packages/action/src/github.ts b/packages/action/src/github.ts new file mode 100644 index 00000000..ad22a77d --- /dev/null +++ b/packages/action/src/github.ts @@ -0,0 +1,314 @@ +import { getInput } from '@actions/core'; +import { getOctokit } from '@actions/github'; +import { execSync } from 'child_process'; + +export interface Repository { + owner: string; + repo: string; +} + +export interface WorkflowRunParams { + branch: string; + status?: 'completed' | 'in_progress' | 'queued' | 'requested'; + limit?: number; + skipCommits?: number; +} + +export class GitHubService { + private octokit: any; + private repository: Repository; + + constructor() { + this.octokit = getOctokit(getInput('github_token', { required: true })); + + const { context } = require('@actions/github'); + this.repository = { + owner: context.repo.owner, + repo: context.repo.repo, + }; + + console.log( + `🔧 GitHub Service initialized for: ${this.repository.owner}/${this.repository.repo}`, + ); + } + + async verifyTokenPermissions(): Promise { + try { + console.log('🔍 Verifying GitHub token permissions...'); + + const repoResponse = await this.octokit.rest.repos.get({ + owner: this.repository.owner, + repo: this.repository.repo, + }); + + console.log(`✅ Repository access verified: ${repoResponse.data.name}`); + console.log(`📊 Repository is private: ${repoResponse.data.private}`); + const actionsResponse = + await this.octokit.rest.actions.listArtifactsForRepo({ + owner: this.repository.owner, + repo: this.repository.repo, + per_page: 1, + }); + + console.log( + `✅ Actions access verified: ${actionsResponse.data.total_count} artifacts found`, + ); + + try { + const branchResponse = await this.octokit.rest.repos.getBranch({ + owner: this.repository.owner, + repo: this.repository.repo, + branch: 'main', + }); + console.log(`✅ Branch access verified: ${branchResponse.data.name}`); + } catch (branchError) { + console.warn(`âš ī¸ Branch access failed: ${branchError.message}`); + } + } catch (error) { + console.error( + `❌ Token permission verification failed: ${error.message}`, + ); + console.error(`💡 This usually means:`); + console.error( + ` - Token lacks 'repo' permission for private repositories`, + ); + console.error(` - Token lacks 'actions:read' permission for artifacts`); + console.error(` - Token is expired or invalid`); + console.error(` - Repository access is restricted`); + throw error; + } + } + + getCurrentCommitHash(): string { + return execSync('git rev-parse --short=10 HEAD', { + encoding: 'utf8', + }).trim(); + } + + getTargetBranch(): string { + const targetBranch = getInput('target_branch') || 'main'; + return targetBranch; + } + + async listWorkflowRuns(params: WorkflowRunParams) { + const { owner, repo } = this.repository; + + const runsResponse = await this.octokit.rest.actions.listWorkflowRuns({ + owner, + repo, + branch: params.branch, + status: params.status || 'completed', + per_page: (params.limit || 10) + (params.skipCommits || 0), + }); + + return runsResponse.data; + } + + async getTargetBranchLatestCommit(): Promise { + const targetBranch = this.getTargetBranch(); + console.log( + `🔍 Attempting to get latest commit for target branch: ${targetBranch}`, + ); + console.log( + `📋 Repository: ${this.repository.owner}/${this.repository.repo}`, + ); + + try { + console.log(`📡 Trying to get latest commit from GitHub API...`); + const { owner, repo } = this.repository; + + try { + const branchResponse = await this.octokit.rest.repos.getBranch({ + owner, + repo, + branch: targetBranch, + }); + + if (branchResponse.data && branchResponse.data.commit) { + const commitHash = branchResponse.data.commit.sha.substring(0, 10); + console.log(`✅ Found commit hash from GitHub API: ${commitHash}`); + return commitHash; + } + } catch (apiError) { + console.warn(`âš ī¸ GitHub API failed: ${apiError.message}`); + + const alternativeBranches = ['master', 'main', 'develop']; + for (const altBranch of alternativeBranches) { + if (altBranch !== targetBranch) { + try { + console.log(`🔄 Trying alternative branch: ${altBranch}`); + const altResponse = await this.octokit.rest.repos.getBranch({ + owner, + repo, + branch: altBranch, + }); + + if (altResponse.data && altResponse.data.commit) { + const commitHash = altResponse.data.commit.sha.substring(0, 10); + console.log( + `✅ Found commit hash from alternative branch ${altBranch}: ${commitHash}`, + ); + return commitHash; + } + } catch (altError) { + console.log( + `❌ Alternative branch ${altBranch} also failed: ${altError.message}`, + ); + } + } + } + } + + console.log(`📋 Trying to get from workflow runs...`); + try { + const runs = await this.listWorkflowRuns({ + branch: targetBranch, + status: 'completed', + limit: 10, + }); + + if (runs.workflow_runs && runs.workflow_runs.length > 0) { + console.log( + `Found ${runs.workflow_runs.length} workflow runs for ${targetBranch}`, + ); + + const successfulRun = runs.workflow_runs.find( + (run) => run.conclusion === 'success', + ); + if (successfulRun) { + console.log( + `✅ Found successful workflow run for ${targetBranch}: ${successfulRun.head_sha}`, + ); + return successfulRun.head_sha.substring(0, 10); + } + + const latestRun = runs.workflow_runs[0]; + console.log( + `âš ī¸ No successful runs found, using latest workflow run for ${targetBranch}: ${latestRun.head_sha}`, + ); + return latestRun.head_sha.substring(0, 10); + } + } catch (workflowError) { + console.warn( + `âš ī¸ Failed to get workflow runs: ${workflowError.message}`, + ); + } + + console.log( + `🔧 No workflow runs found for ${targetBranch}, trying to fetch from remote...`, + ); + try { + console.log(`đŸ“Ĩ Running: git fetch origin`); + execSync('git fetch origin', { encoding: 'utf8' }); + + console.log( + `đŸ“Ĩ Running: git rev-parse --short=10 origin/${targetBranch}`, + ); + const commitHash = execSync( + `git rev-parse --short=10 origin/${targetBranch}`, + { encoding: 'utf8' }, + ).trim(); + console.log(`✅ Found commit hash from git: ${commitHash}`); + return commitHash; + } catch (gitError) { + console.warn(`❌ Git fetch failed: ${gitError}`); + + try { + console.log( + `đŸ“Ĩ Trying alternative: git ls-remote origin ${targetBranch}`, + ); + const remoteRef = execSync(`git ls-remote origin ${targetBranch}`, { + encoding: 'utf8', + }).trim(); + if (remoteRef) { + const commitHash = remoteRef.split('\t')[0].substring(0, 10); + console.log( + `✅ Found commit hash from git ls-remote: ${commitHash}`, + ); + return commitHash; + } + } catch (altError) { + console.warn(`❌ Alternative git command failed: ${altError}`); + } + } + + console.log( + `🔄 All methods failed, using current commit hash as fallback...`, + ); + const currentCommitHash = this.getCurrentCommitHash(); + console.log( + `âš ī¸ Using current commit hash as baseline: ${currentCommitHash}`, + ); + console.log(`💡 This means no baseline comparison will be available`); + return currentCommitHash; + } catch (error) { + console.error(`❌ Failed to get target branch commit: ${error}`); + console.error( + `Repository: ${this.repository.owner}/${this.repository.repo}`, + ); + console.error(`Target branch: ${targetBranch}`); + + console.log(`🆘 Using current commit as ultimate fallback...`); + try { + const currentCommitHash = this.getCurrentCommitHash(); + console.log( + `âš ī¸ Using current commit hash as baseline: ${currentCommitHash}`, + ); + return currentCommitHash; + } catch (fallbackError) { + console.error(`❌ Even fallback failed: ${fallbackError}`); + throw new Error(`Unable to get any commit hash: ${error.message}`); + } + } + } + + async listArtifacts() { + const { owner, repo } = this.repository; + + const artifactsResponse = + await this.octokit.rest.actions.listArtifactsForRepo({ + owner, + repo, + per_page: 100, + }); + + return artifactsResponse.data; + } + + async findArtifactByNamePattern(pattern: string) { + const artifacts = await this.listArtifacts(); + + console.log(`Looking for artifacts matching pattern: ${pattern}`); + console.log( + `Available artifacts: ${JSON.stringify(artifacts.artifacts.map((a) => ({ name: a.name, id: a.id })))}`, + ); + + const matchingArtifacts = artifacts.artifacts.filter((artifact) => + artifact.name.includes(pattern), + ); + + if (matchingArtifacts.length > 0) { + console.log( + `Found ${matchingArtifacts.length} matching artifacts:`, + matchingArtifacts.map((a) => a.name), + ); + return matchingArtifacts.sort((a, b) => b.id - a.id)[0]; + } + + console.log(`No artifacts found matching pattern: ${pattern}`); + return null; + } + + async downloadArtifact(artifactId: number) { + const { owner, repo } = this.repository; + + const downloadResponse = await this.octokit.rest.actions.downloadArtifact({ + owner, + repo, + artifact_id: artifactId, + archive_format: 'zip', + }); + + return downloadResponse.data; + } +} diff --git a/packages/action/src/index.ts b/packages/action/src/index.ts new file mode 100644 index 00000000..cfe647cc --- /dev/null +++ b/packages/action/src/index.ts @@ -0,0 +1,223 @@ +import { setFailed, getInput } from '@actions/core'; +import { uploadArtifact } from './upload'; +import { downloadArtifactByCommitHash } from './download'; +import { GitHubService } from './github'; +import { + loadSizeData, + generateSizeReport, + parseRsdoctorData, + generateBundleAnalysisReport, + BundleAnalysis, +} from './report'; +import path from 'path'; + +function isMergeEvent(): boolean { + const { context } = require('@actions/github'); + return ( + context.eventName === 'push' && + context.payload.ref === + `refs/heads/${context.payload.repository.default_branch}` + ); +} + +function isPullRequestEvent(): boolean { + const { context } = require('@actions/github'); + return context.eventName === 'pull_request'; +} + +(async () => { + try { + const githubService = new GitHubService(); + + try { + await githubService.verifyTokenPermissions(); + } catch (permissionError) { + console.warn( + `âš ī¸ Token permission check failed: ${permissionError.message}`, + ); + console.log(`🔄 Continuing with limited functionality...`); + } + + const filePath = getInput('file_path'); + if (!filePath) { + throw new Error('file_path is required'); + } + const fullPath = path.resolve(process.cwd(), filePath); + console.log(`Full path: ${fullPath}`); + + const fileName = path.basename(filePath); + const relativePath = path.relative(process.cwd(), fullPath); + const pathParts = relativePath.split(path.sep); + const fileNameWithoutExt = path.parse(fileName).name; + const fileExt = path.parse(fileName).ext; + + const currentCommitHash = githubService.getCurrentCommitHash(); + console.log(`Current commit hash: ${currentCommitHash}`); + + const artifactNamePattern = `${pathParts.join('-')}-${fileNameWithoutExt}-`; + console.log(`Artifact name pattern: ${artifactNamePattern}`); + + if (isMergeEvent()) { + console.log( + '🔄 Detected merge event - uploading current branch artifact only', + ); + + const uploadResponse = await uploadArtifact(currentCommitHash, fullPath); + + if (typeof uploadResponse.id !== 'number') { + throw new Error('Artifact upload failed: No artifact ID returned.'); + } + + console.log( + `✅ Successfully uploaded artifact with ID: ${uploadResponse.id}`, + ); + + const currentBundleAnalysis = parseRsdoctorData(fullPath); + if (currentBundleAnalysis) { + await generateBundleAnalysisReport(currentBundleAnalysis); + } else { + const currentSizeData = loadSizeData(fullPath); + if (currentSizeData) { + await generateSizeReport(currentSizeData); + } + } + } else if (isPullRequestEvent()) { + console.log( + 'đŸ“Ĩ Detected pull request event - downloading target branch artifact if exists', + ); + + const currentBundleAnalysis = parseRsdoctorData(fullPath); + if (!currentBundleAnalysis) { + throw new Error( + `Failed to load current bundle analysis from: ${fullPath}`, + ); + } + + let baselineBundleAnalysis: BundleAnalysis | null = null; + + try { + console.log('🔍 Getting target branch commit hash...'); + const targetCommitHash = + await githubService.getTargetBranchLatestCommit(); + console.log(`✅ Target branch commit hash: ${targetCommitHash}`); + + const targetArtifactName = `${pathParts.join('-')}-${fileNameWithoutExt}-${targetCommitHash}${fileExt}`; + console.log(`🔍 Looking for target artifact: ${targetArtifactName}`); + + try { + console.log('đŸ“Ĩ Attempting to download target branch artifact...'); + const downloadResult = await downloadArtifactByCommitHash( + targetCommitHash, + fileName, + ); + const downloadedBaselinePath = path.join( + downloadResult.downloadPath, + fileName, + ); + + console.log( + `📁 Downloaded baseline file path: ${downloadedBaselinePath}`, + ); + console.log(`📊 Parsing baseline rsdoctor data...`); + + baselineBundleAnalysis = parseRsdoctorData(downloadedBaselinePath); + if (!baselineBundleAnalysis) { + throw new Error('Failed to parse baseline rsdoctor data'); + } + console.log( + '✅ Successfully downloaded and parsed target branch artifact', + ); + } catch (downloadError) { + console.log( + `❌ Failed to download target branch artifact: ${downloadError}`, + ); + console.log( + 'â„šī¸ No baseline data found - target branch artifact does not exist', + ); + console.log('📝 No baseline data available for comparison'); + baselineBundleAnalysis = null; + } + } catch (error) { + console.error(`❌ Failed to get target branch commit: ${error}`); + console.log('📝 No baseline data available for comparison'); + baselineBundleAnalysis = null; + } + + await generateBundleAnalysisReport( + currentBundleAnalysis, + baselineBundleAnalysis || undefined, + ); + } else { + console.log('🔄 Default behavior - uploading and downloading artifacts'); + + const uploadResponse = await uploadArtifact(currentCommitHash, fullPath); + + if (typeof uploadResponse.id !== 'number') { + throw new Error('Artifact upload failed: No artifact ID returned.'); + } + + console.log( + `✅ Successfully uploaded artifact with ID: ${uploadResponse.id}`, + ); + + try { + const targetCommitHash = + await githubService.getTargetBranchLatestCommit(); + console.log(`Target branch commit hash: ${targetCommitHash}`); + + const targetArtifactName = `${pathParts.join('-')}-${fileNameWithoutExt}-${targetCommitHash}${fileExt}`; + console.log(`Looking for target artifact: ${targetArtifactName}`); + + const downloadResult = await downloadArtifactByCommitHash( + targetCommitHash, + fileName, + ); + const downloadedBaselinePath = path.join( + downloadResult.downloadPath, + fileName, + ); + const baselineBundleAnalysis = parseRsdoctorData( + downloadedBaselinePath, + ); + + const currentBundleAnalysis = parseRsdoctorData(fullPath); + if (currentBundleAnalysis) { + await generateBundleAnalysisReport( + currentBundleAnalysis, + baselineBundleAnalysis || undefined, + ); + } else { + const currentSizeData = loadSizeData(fullPath); + const baselineSizeData = loadSizeData(downloadedBaselinePath); + if (currentSizeData) { + await generateSizeReport( + currentSizeData, + baselineSizeData || undefined, + ); + } + } + + console.log('✅ Successfully downloaded target branch artifact'); + } catch (error) { + console.warn(`âš ī¸ Failed to download target branch artifact: ${error}`); + console.log('📝 Using demo baseline data for comparison'); + + const currentBundleAnalysis = parseRsdoctorData(fullPath); + if (currentBundleAnalysis) { + await generateBundleAnalysisReport(currentBundleAnalysis); + } else { + const currentSizeData = loadSizeData(fullPath); + if (currentSizeData) { + await generateSizeReport(currentSizeData); + } + } + } + } + } catch (error) { + if (error instanceof Error) { + setFailed(error.message); + } else { + setFailed(String(error)); + } + } +})(); diff --git a/packages/action/src/report.ts b/packages/action/src/report.ts new file mode 100644 index 00000000..d0fd39ef --- /dev/null +++ b/packages/action/src/report.ts @@ -0,0 +1,372 @@ +import { summary } from '@actions/core'; +import * as fs from 'fs'; + +export interface SizeData { + totalSize: number; + files: Array<{ + path: string; + size: number; + gzipSize?: number; + brotliSize?: number; + }>; +} + +export interface RsdoctorData { + data: { + chunkGraph: { + assets: Array<{ + id: number; + path: string; + size: number; + chunks: string[]; + }>; + chunks: Array<{ + id: string; + name: string; + initial: boolean; + size: number; + assets: string[]; + }>; + }; + }; +} + +export interface BundleAnalysis { + totalSize: number; + jsSize: number; + cssSize: number; + htmlSize: number; + otherSize: number; + assets: Array<{ + path: string; + size: number; + type: 'js' | 'css' | 'html' | 'other'; + }>; + chunks: Array<{ + name: string; + size: number; + isInitial: boolean; + }>; +} + +function formatBytes(bytes: number): string { + if (bytes === 0) return '0 B'; + + const k = 1024; + const sizes = ['B', 'KB', 'MB', 'GB']; + + const isNegative = bytes < 0; + const absBytes = Math.abs(bytes); + + if (absBytes === 0) return '0 B'; + + const i = Math.floor(Math.log(absBytes) / Math.log(k)); + const value = (absBytes / Math.pow(k, i)).toFixed(1); + + return `${isNegative ? '-' : ''}${value} ${sizes[i]}`; +} + +export function parseRsdoctorData(filePath: string): BundleAnalysis | null { + try { + if (!fs.existsSync(filePath)) { + console.log(`❌ Rsdoctor data file not found: ${filePath}`); + console.log(`📁 Current working directory: ${process.cwd()}`); + console.log(`📂 Available files in current directory:`); + try { + const files = fs.readdirSync(process.cwd()); + files.forEach((file) => console.log(` - ${file}`)); + } catch (e) { + console.log(` Error reading directory: ${e}`); + } + return null; + } + + const data: RsdoctorData = JSON.parse(fs.readFileSync(filePath, 'utf8')); + const { assets, chunks } = data.data.chunkGraph; + + let totalSize = 0; + let jsSize = 0; + let cssSize = 0; + let htmlSize = 0; + let otherSize = 0; + + const assetAnalysis = assets.map((asset) => { + totalSize += asset.size; + + let type: 'js' | 'css' | 'html' | 'other' = 'other'; + if (asset.path.endsWith('.js')) { + type = 'js'; + jsSize += asset.size; + } else if (asset.path.endsWith('.css')) { + type = 'css'; + cssSize += asset.size; + } else if (asset.path.endsWith('.html')) { + type = 'html'; + htmlSize += asset.size; + } else { + otherSize += asset.size; + } + + return { + path: asset.path, + size: asset.size, + type, + }; + }); + + const chunkAnalysis = chunks.map((chunk) => ({ + name: chunk.name, + size: chunk.size, + isInitial: chunk.initial, + })); + + return { + totalSize, + jsSize, + cssSize, + htmlSize, + otherSize, + assets: assetAnalysis, + chunks: chunkAnalysis, + }; + } catch (error) { + console.error(`Failed to parse rsdoctor data from ${filePath}:`, error); + return null; + } +} + +export function loadSizeData(filePath: string): SizeData | null { + try { + if (!fs.existsSync(filePath)) { + console.log(`Size data file not found: ${filePath}`); + return null; + } + + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + + if (!data.totalSize && data.files) { + data.totalSize = data.files.reduce( + (sum: number, file: any) => sum + (file.size || 0), + 0, + ); + } + + return data; + } catch (error) { + console.error(`Failed to load size data from ${filePath}:`, error); + return null; + } +} + +function calculateDiff( + current: number, + baseline: number, +): { value: string; emoji: string } { + if (!baseline || baseline === 0 || isNaN(baseline)) { + return { value: 'N/A', emoji: '❓' }; + } + + if (isNaN(current)) { + return { value: 'N/A', emoji: '❓' }; + } + + const diff = current - baseline; + const percent = (diff / baseline) * 100; + + if (Math.abs(percent) < 1) { + return { + value: `${formatBytes(diff)} (${percent.toFixed(1)}%)`, + emoji: 'âžĄī¸', + }; + } else if (diff > 0) { + return { + value: `+${formatBytes(diff)} (+${percent.toFixed(1)}%)`, + emoji: '📈', + }; + } else { + return { + value: `${formatBytes(diff)} (${percent.toFixed(1)}%)`, + emoji: '📉', + }; + } +} + +export async function generateBundleAnalysisReport( + current: BundleAnalysis, + baseline?: BundleAnalysis, +): Promise { + await summary.addHeading('đŸ“Ļ Bundle Analysis Report', 2); + + if (!baseline) { + await summary + .addRaw( + '> âš ī¸ **No baseline data found** - Unable to perform comparison analysis', + ) + .addSeparator(); + } else { + await summary.addSeparator(); + } + + const mainTable = [ + [ + { data: 'Metric', header: true }, + { data: 'Current', header: true }, + { data: 'Baseline', header: true }, + { data: 'Change', header: true }, + ], + [ + { data: '📊 Total Size', header: false }, + { data: formatBytes(current.totalSize), header: false }, + { + data: baseline + ? formatBytes(baseline.totalSize) + : formatBytes(current.totalSize), + header: false, + }, + { + data: baseline + ? calculateDiff(current.totalSize, baseline.totalSize).value + : 'N/A', + header: false, + }, + ], + [ + { data: '📄 JavaScript', header: false }, + { data: formatBytes(current.jsSize), header: false }, + { + data: baseline + ? formatBytes(baseline.jsSize) + : formatBytes(current.jsSize), + header: false, + }, + { + data: baseline + ? calculateDiff(current.jsSize, baseline.jsSize).value + : 'N/A', + header: false, + }, + ], + [ + { data: '🎨 CSS', header: false }, + { data: formatBytes(current.cssSize), header: false }, + { + data: baseline + ? formatBytes(baseline.cssSize) + : formatBytes(current.cssSize), + header: false, + }, + { + data: baseline + ? calculateDiff(current.cssSize, baseline.cssSize).value + : 'N/A', + header: false, + }, + ], + [ + { data: '🌐 HTML', header: false }, + { data: formatBytes(current.htmlSize), header: false }, + { + data: baseline + ? formatBytes(baseline.htmlSize) + : formatBytes(current.htmlSize), + header: false, + }, + { + data: baseline + ? calculateDiff(current.htmlSize, baseline.htmlSize).value + : 'N/A', + header: false, + }, + ], + [ + { data: '📁 Other Assets', header: false }, + { data: formatBytes(current.otherSize), header: false }, + { + data: baseline + ? formatBytes(baseline.otherSize) + : formatBytes(current.otherSize), + header: false, + }, + { + data: baseline + ? calculateDiff(current.otherSize, baseline.otherSize).value + : 'N/A', + header: false, + }, + ], + ]; + + await summary.addTable(mainTable).addSeparator(); + + await summary + .addSeparator() + .addRaw('Generated by Bundle Size Action'); + + await summary.write(); + + console.log('✅ Bundle analysis report generated successfully'); +} + +export async function generateSizeReport( + current: SizeData, + baseline?: SizeData, +): Promise { + await summary.addHeading('đŸ“Ļ Bundle Size Report', 2).addSeparator(); + + const reportTable = [ + [ + { data: 'Metric', header: true }, + { data: 'Current', header: true }, + { data: 'Baseline', header: true }, + ], + [ + { data: '📊 Total Size', header: false }, + { data: formatBytes(current.totalSize), header: false }, + { + data: baseline ? formatBytes(baseline.totalSize) : 'N/A', + header: false, + }, + ], + [ + { data: '📁 Files Count', header: false }, + { + data: current.files ? current.files.length.toString() : '0', + header: false, + }, + { + data: baseline?.files ? baseline.files.length.toString() : 'N/A', + header: false, + }, + ], + ]; + + await summary.addTable(reportTable).addSeparator(); + + if (current.files && current.files.length > 0) { + await summary.addHeading('📄 File Details', 3); + + const fileTable = [ + [ + { data: 'File', header: true }, + { data: 'Size', header: true }, + ], + ]; + + for (const file of current.files) { + fileTable.push([ + { data: file.path, header: false }, + { data: formatBytes(file.size), header: false }, + ]); + } + + await summary.addTable(fileTable); + } + + await summary + .addSeparator() + .addRaw('Generated by Bundle Size Action'); + + await summary.write(); + + console.log('✅ Bundle size report card generated successfully'); +} diff --git a/packages/action/src/upload.ts b/packages/action/src/upload.ts new file mode 100644 index 00000000..ebc24045 --- /dev/null +++ b/packages/action/src/upload.ts @@ -0,0 +1,41 @@ +import { setFailed, summary } from '@actions/core'; +import { DefaultArtifactClient } from '@actions/artifact'; +import path from 'path'; +import * as fs from 'fs'; +import { execSync } from 'child_process'; + +export async function uploadArtifact(commitHash?: string, filePath?: string) { + const artifactClient = new DefaultArtifactClient(); + + const hash = + commitHash || + execSync('git rev-parse --short=10 HEAD', { encoding: 'utf8' }).trim(); + + const targetFilePath = + filePath || path.join(process.cwd(), 'artifacts', '1.json'); + const fileName = path.basename(targetFilePath); + + const relativePath = path.relative(process.cwd(), targetFilePath); + const pathParts = relativePath.split(path.sep); + const fileNameWithoutExt = path.parse(fileName).name; + const fileExt = path.parse(fileName).ext; + + const artifactName = `${pathParts.join('-')}-${fileNameWithoutExt}-${hash}${fileExt}`; + + const uploadResponse = await artifactClient.uploadArtifact( + artifactName, + [targetFilePath], + path.dirname(targetFilePath), + { + retentionDays: 90, + }, + ); + + if (!uploadResponse.id) { + throw new Error('Artifact upload failed: No ID returned.'); + } + + console.log(`Successfully uploaded artifact with ID: ${uploadResponse.id}`); + + return uploadResponse; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6959c4f7..446aa86c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: version: 2.1.1 '@changesets/cli': specifier: ^2.29.7 - version: 2.29.7(@types/node@22.18.1) + version: 2.29.7(@types/node@24.7.1) '@rsdoctor/tsconfig': specifier: workspace:* version: link:scripts/tsconfig @@ -70,7 +70,7 @@ importers: version: 0.114.1(@types/react@18.3.26) '@lynx-js/rspeedy': specifier: ^0.11.5 - version: 0.11.5(@rspack/core@1.5.8(@swc/helpers@0.5.17))(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(webpack@5.97.1) + version: 0.11.5(@rspack/core@1.5.8(@swc/helpers@0.5.17))(typescript@5.9.2)(webpack@5.97.1) '@playwright/test': specifier: 1.54.2 version: 1.54.2 @@ -471,6 +471,31 @@ importers: specifier: 5.1.4 version: 5.1.4(webpack@5.97.1) + packages/action: + dependencies: + '@actions/artifact': + specifier: ^2.3.2 + version: 2.3.2 + '@actions/core': + specifier: ^1.2.6 + version: 1.11.1 + '@actions/github': + specifier: ^4.0.0 + version: 4.0.0 + size-plugin-core: + specifier: 0.0.9 + version: 0.0.9 + yauzl: + specifier: ^3.2.0 + version: 3.2.0 + devDependencies: + '@rslib/core': + specifier: ^0.14.0 + version: 0.14.0(typescript@5.4.5) + '@types/node': + specifier: ^22.8.1 + version: 22.18.1 + packages/ai: dependencies: socket.io-client: @@ -805,6 +830,10 @@ importers: specifier: ^5.97.1 version: 5.97.1(webpack-cli@5.1.4) + packages/core/compiled/@rsbuild/plugin-check-syntax: {} + + packages/core/compiled/axios: {} + packages/document: dependencies: '@rspress/core': @@ -1029,6 +1058,20 @@ importers: specifier: ^5.9.2 version: 5.9.2 + packages/sdk/compiled/body-parser: {} + + packages/sdk/compiled/cors: {} + + packages/sdk/compiled/dayjs: {} + + packages/sdk/compiled/fs-extra: {} + + packages/sdk/compiled/json-cycle: {} + + packages/sdk/compiled/sirv: {} + + packages/sdk/compiled/socket.io: {} + packages/types: dependencies: '@types/connect': @@ -1145,6 +1188,10 @@ importers: specifier: ^5.9.2 version: 5.9.2 + packages/utils/compiled/connect: {} + + packages/utils/compiled/filesize: {} + packages/webpack-plugin: dependencies: '@rsdoctor/core': @@ -1219,12 +1266,24 @@ importers: packages: + '@actions/artifact@2.3.2': + resolution: {integrity: sha512-uX2Mr5KEPcwnzqa0Og9wOTEKIae6C/yx9P/m8bIglzCS5nZDkcQC/zRWjjoEsyVecL6oQpBx5BuqQj/yuVm0gw==} + '@actions/core@1.11.1': resolution: {integrity: sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==} '@actions/exec@1.1.1': resolution: {integrity: sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==} + '@actions/github@4.0.0': + resolution: {integrity: sha512-Ej/Y2E+VV6sR9X7pWL5F3VgEWrABaT292DRqRU6R4hnQjPtC/zD3nagxVdXWiRQvYDh8kHXo7IDmG42eJ/dOMA==} + + '@actions/github@5.1.1': + resolution: {integrity: sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==} + + '@actions/http-client@1.0.11': + resolution: {integrity: sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==} + '@actions/http-client@2.2.3': resolution: {integrity: sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==} @@ -1445,6 +1504,58 @@ packages: resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} engines: {node: '>= 10'} + '@azure/abort-controller@2.1.2': + resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} + engines: {node: '>=18.0.0'} + + '@azure/core-auth@1.10.1': + resolution: {integrity: sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==} + engines: {node: '>=20.0.0'} + + '@azure/core-client@1.10.1': + resolution: {integrity: sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w==} + engines: {node: '>=20.0.0'} + + '@azure/core-http-compat@2.3.1': + resolution: {integrity: sha512-az9BkXND3/d5VgdRRQVkiJb2gOmDU8Qcq4GvjtBmDICNiQ9udFmDk4ZpSB5Qq1OmtDJGlQAfBaS4palFsazQ5g==} + engines: {node: '>=20.0.0'} + + '@azure/core-lro@2.7.2': + resolution: {integrity: sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==} + engines: {node: '>=18.0.0'} + + '@azure/core-paging@1.6.2': + resolution: {integrity: sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==} + engines: {node: '>=18.0.0'} + + '@azure/core-rest-pipeline@1.22.1': + resolution: {integrity: sha512-UVZlVLfLyz6g3Hy7GNDpooMQonUygH7ghdiSASOOHy97fKj/mPLqgDX7aidOijn+sCMU+WU8NjlPlNTgnvbcGA==} + engines: {node: '>=20.0.0'} + + '@azure/core-tracing@1.3.1': + resolution: {integrity: sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==} + engines: {node: '>=20.0.0'} + + '@azure/core-util@1.13.1': + resolution: {integrity: sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==} + engines: {node: '>=20.0.0'} + + '@azure/core-xml@1.5.0': + resolution: {integrity: sha512-D/sdlJBMJfx7gqoj66PKVmhDDaU6TKA49ptcolxdas29X7AfvLTmfAGLjAcIMBK7UZ2o4lygHIqVckOlQU3xWw==} + engines: {node: '>=20.0.0'} + + '@azure/logger@1.3.0': + resolution: {integrity: sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==} + engines: {node: '>=20.0.0'} + + '@azure/storage-blob@12.28.0': + resolution: {integrity: sha512-VhQHITXXO03SURhDiGuHhvc/k/sD2WvJUS7hqhiVNbErVCuQoLtWql7r97fleBlIRKHJaa9R7DpBjfE0pfLYcA==} + engines: {node: '>=20.0.0'} + + '@azure/storage-common@12.0.0': + resolution: {integrity: sha512-QyEWXgi4kdRo0wc1rHum9/KnaWZKCdQGZK1BjU4fFL6Jtedp7KLbQihgTTVxldFy1z1ZPtuDPx8mQ5l3huPPbA==} + engines: {node: '>=20.0.0'} + '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -2107,6 +2218,12 @@ packages: '@bufbuild/protobuf@2.6.0': resolution: {integrity: sha512-6cuonJVNOIL7lTj5zgo/Rc2bKAo4/GvN+rKCrUj7GdEHRzCk8zKOfFwUsL9nAVk5rSIsRmlgcpLzTRysopEeeg==} + '@bufbuild/protobuf@2.9.0': + resolution: {integrity: sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==} + + '@bufbuild/protoplugin@2.9.0': + resolution: {integrity: sha512-uoiwNVYoTq+AyqaV1L6pBazGx5fXOO89L0NSR9/7hEfo0Y8n9T1jsKGu4mkitLmP3z+8gJREaule1mMuKBPyYw==} + '@bundle-stats/cli-utils@4.17.0': resolution: {integrity: sha512-JIQBOda71sEyDOfJ0/YIIatwVnEB8UsbyFmHbTZXMqVhPU7ddnRzmYmPgmnqPkhqss3tjArTHGS+HIL9Kvs7Cw==} engines: {node: '>= 14.0'} @@ -2588,6 +2705,10 @@ packages: resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3041,6 +3162,63 @@ packages: cpu: [x64] os: [win32] + '@octokit/auth-token@2.5.0': + resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} + + '@octokit/core@3.6.0': + resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} + + '@octokit/endpoint@6.0.12': + resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} + + '@octokit/graphql@4.8.0': + resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} + + '@octokit/openapi-types@12.11.0': + resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} + + '@octokit/openapi-types@24.2.0': + resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==} + + '@octokit/plugin-paginate-rest@2.21.3': + resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==} + peerDependencies: + '@octokit/core': '>=2' + + '@octokit/plugin-request-log@1.0.4': + resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} + peerDependencies: + '@octokit/core': '>=3' + + '@octokit/plugin-rest-endpoint-methods@4.15.1': + resolution: {integrity: sha512-4gQg4ySoW7ktKB0Mf38fHzcSffVZd6mT5deJQtpqkuPuAqzlED5AJTeW8Uk7dPRn7KaOlWcXB0MedTFJU1j4qA==} + peerDependencies: + '@octokit/core': '>=3' + + '@octokit/plugin-rest-endpoint-methods@5.16.2': + resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} + peerDependencies: + '@octokit/core': '>=3' + + '@octokit/plugin-retry@3.0.9': + resolution: {integrity: sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==} + + '@octokit/request-error@2.1.0': + resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} + + '@octokit/request-error@5.1.1': + resolution: {integrity: sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==} + engines: {node: '>= 18'} + + '@octokit/request@5.6.3': + resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} + + '@octokit/types@13.10.0': + resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} + + '@octokit/types@6.41.0': + resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -3127,6 +3305,10 @@ packages: resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + '@playwright/test@1.54.2': resolution: {integrity: sha512-A+znathYxPf+72riFd1r1ovOLqsIIB0jKIoPjyK2kqEIe30/6jF6BC7QNluHuwUmsD2tv1XZVugN8GqfTMOxsA==} engines: {node: '>=18'} @@ -3161,6 +3343,20 @@ packages: '@polka/url@1.0.0-next.28': resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + '@protobuf-ts/plugin@2.11.1': + resolution: {integrity: sha512-HyuprDcw0bEEJqkOWe1rnXUP0gwYLij8YhPuZyZk6cJbIgc/Q0IFgoHQxOXNIXAcXM4Sbehh6kjVnCzasElw1A==} + hasBin: true + + '@protobuf-ts/protoc@2.11.1': + resolution: {integrity: sha512-mUZJaV0daGO6HUX90o/atzQ6A7bbN2RSuHtdwo8SSF2Qoe3zHwa4IHyCN1evftTeHfLmdz+45qo47sL+5P8nyg==} + hasBin: true + + '@protobuf-ts/runtime-rpc@2.11.1': + resolution: {integrity: sha512-4CqqUmNA+/uMz00+d3CYKgElXO9VrEbucjnBFEjqI4GuDrEQ32MaI3q+9qPBvIGOlL4PmHXrzM32vBPWRhQKWQ==} + + '@protobuf-ts/runtime@2.11.1': + resolution: {integrity: sha512-KuDaT1IfHkugM2pyz+FwiY80ejWrkH1pAtOBOZFuR6SXEFTsnb/jiQWQ1rCIrcKx2BtyxnxW6BWwsVSA/Ie+WQ==} + '@publint/pack@0.1.2': resolution: {integrity: sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==} engines: {node: '>=18'} @@ -4409,6 +4605,9 @@ packages: '@types/node@22.18.1': resolution: {integrity: sha512-rzSDyhn4cYznVG+PCzGe1lwuMYJrcBS1fc3JqSa2PvtABwWo+dZ1ij5OVok3tqfpEBCBoaR4d7upFJk73HRJDw==} + '@types/node@24.7.1': + resolution: {integrity: sha512-CmyhGZanP88uuC5GpWU9q+fI61j2SkhO3UGMUdfYRE6Bcy0ccyzn1Rqj9YAB/ZY4kOXmNf0ocah5GtphmLMP6Q==} + '@types/node@8.10.66': resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} @@ -4501,6 +4700,15 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@typescript/vfs@1.6.1': + resolution: {integrity: sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA==} + peerDependencies: + typescript: '*' + + '@typespec/ts-http-runtime@0.3.1': + resolution: {integrity: sha512-SnbaqayTVFEA6/tYumdF0UmybY0KHyKwGPBXnyckFlrrKdhWFrL3a2HIPXHjht5ZOElKGcXfD2D63P36btb+ww==} + engines: {node: '>=20.0.0'} + '@ungap/structured-clone@1.2.1': resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} @@ -4683,6 +4891,10 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -4749,6 +4961,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -4761,6 +4977,10 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + ansi-to-react@6.1.6: resolution: {integrity: sha512-+HWn72GKydtupxX9TORBedqOMsJRiKTqaLUKW8txSBZw9iBpzPKLI8KOu4WzwD4R7hSv1zEspobY6LwlWvwZ6Q==} peerDependencies: @@ -4789,6 +5009,14 @@ packages: aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + + archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} @@ -4800,6 +5028,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} @@ -4810,6 +5042,14 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + array.prototype.reduce@1.0.8: + resolution: {integrity: sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -4830,12 +5070,19 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} async-validator@4.2.5: resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -4850,6 +5097,10 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + axios@0.19.2: + resolution: {integrity: sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==} + deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 + axios@1.12.2: resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==} @@ -4859,6 +5110,14 @@ packages: b-validate@1.5.3: resolution: {integrity: sha512-iCvCkGFskbaYtfQ0a3GmcQCHl/Sv1GufXFGuUQ+FE+WJa7A/espLOuFIn09B944V8/ImPj71T4+rTASxO2PAuA==} + b4a@1.7.3: + resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + babel-loader@10.0.0: resolution: {integrity: sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==} engines: {node: ^18.20.0 || ^20.10.0 || >=22.0.0} @@ -4929,6 +5188,9 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + bare-events@2.7.0: + resolution: {integrity: sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==} + base16@1.0.0: resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} @@ -4946,6 +5208,9 @@ packages: batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + before-after-hook@2.2.3: + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -4957,6 +5222,9 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + binary@0.3.0: + resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} + bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} @@ -4986,6 +5254,9 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + bottleneck@2.19.5: + resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} + boxen@5.1.2: resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} engines: {node: '>=10'} @@ -5003,6 +5274,10 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + brotli-size@4.0.0: + resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==} + engines: {node: '>= 10.16.0'} + browserify-aes@1.2.0: resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} @@ -5050,6 +5325,13 @@ packages: buffer-builder@0.2.0: resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==} + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -5062,6 +5344,10 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffers@0.1.1: + resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} + engines: {node: '>=0.2.0'} + bufferutil@4.0.9: resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} engines: {node: '>=6.14.2'} @@ -5128,6 +5414,9 @@ packages: ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chainsaw@0.1.0: + resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -5183,6 +5472,9 @@ packages: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} + ci-env@1.17.0: + resolution: {integrity: sha512-NtTjhgSEqv4Aj90TUYHQLxHdnCPXnjdtuGG1X8lTfp/JqeXTdw0FTWl/vUAPuvbWZTF8QVpv6ASe/XacE+7R2A==} + ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} @@ -5313,6 +5605,10 @@ packages: commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -5436,6 +5732,15 @@ packages: typescript: optional: true + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + create-ecdh@4.0.4: resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} @@ -5579,6 +5884,18 @@ packages: resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} engines: {node: '>= 6'} + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + dayjs@1.11.13: resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} @@ -5596,6 +5913,14 @@ packages: supports-color: optional: true + debug@3.1.0: + resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -5686,6 +6011,9 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + deprecation@2.3.1: + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -5799,9 +6127,15 @@ packages: duplexer3@0.1.5: resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + duplexer@0.1.1: + resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==} + duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + echarts-for-react@3.0.3: resolution: {integrity: sha512-KdvZGkCwmx5DTHl7vjo0CBodSaPY31hPWRC4NZ5B+utQfoW+M54OTBvkoCmktR0kJ+1Bj6rP7pIJJnxPdySyug==} deprecated: this version has serious bug. @@ -5827,6 +6161,9 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} @@ -5902,6 +6239,13 @@ packages: error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + es-abstract@1.24.0: + resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} + engines: {node: '>= 0.4'} + + es-array-method-boxes-properly@1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -5921,6 +6265,10 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -6046,6 +6394,9 @@ packages: eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -6092,6 +6443,9 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -6102,6 +6456,10 @@ packages: fast-uri@3.0.5: resolution: {integrity: sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==} + fast-xml-parser@5.3.0: + resolution: {integrity: sha512-gkWGshjYcQCF+6qtlrqBqELqNqnt4CxruY6UVAWWnqb3DQ6qaNFEIKqzYep1XzHLM/QtrHVCxyPOtTk4LTQ7Aw==} + hasBin: true + fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} @@ -6229,9 +6587,21 @@ packages: debug: optional: true + follow-redirects@1.5.10: + resolution: {integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==} + engines: {node: '>=4.0'} + for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + form-data@4.0.4: resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} @@ -6307,6 +6677,13 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} @@ -6344,6 +6721,10 @@ packages: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + get-tsconfig@4.10.0: resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} @@ -6367,6 +6748,10 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -6388,6 +6773,10 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -6411,6 +6800,10 @@ packages: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} + gzip-size@5.1.1: + resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==} + engines: {node: '>=6'} + gzip-size@6.0.0: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} @@ -6418,6 +6811,10 @@ packages: handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -6429,6 +6826,10 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} @@ -6633,6 +7034,10 @@ packages: http-parser-js@0.5.9: resolution: {integrity: sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==} + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + http-proxy-middleware@2.0.9: resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} engines: {node: '>=12.0.0'} @@ -6653,6 +7058,10 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + human-id@4.1.1: resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} hasBin: true @@ -6748,6 +7157,10 @@ packages: inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + interpret@3.1.1: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} @@ -6783,16 +7196,32 @@ packages: resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} engines: {node: '>= 0.4'} + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} @@ -6809,6 +7238,14 @@ packages: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + is-decimal@1.0.4: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} @@ -6836,6 +7273,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -6867,10 +7308,18 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + is-network-error@1.1.0: resolution: {integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==} engines: {node: '>=16'} @@ -6879,6 +7328,10 @@ packages: resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} engines: {node: '>=10'} + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -6903,6 +7356,10 @@ packages: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + is-promise@2.2.2: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} @@ -6916,10 +7373,30 @@ packages: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} @@ -6934,6 +7411,18 @@ packages: is-valid-domain@0.1.6: resolution: {integrity: sha512-ZKtq737eFkZr71At8NxOFcP9O1K89gW3DkdrGMpp1upr/ueWjj+Weh4l9AI4rN0Gt8W2M1w7jrG2b/Yv83Ljpg==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} @@ -6973,6 +7462,9 @@ packages: resolution: {integrity: sha512-HM0q6XqQ93psDlqvuViNs/Ea3hAyGDkIdVAHlrEocjjAwGrs1fZ+EdQjS9eUPacnYB7Y8SoDdSY3H8p3ce205A==} engines: {node: '>=14.17.6'} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jest-diff@29.7.0: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7071,6 +7563,9 @@ packages: jstransformer@1.0.0: resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} + jwt-decode@3.1.2: + resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} + keyv@3.1.0: resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} @@ -7093,6 +7588,10 @@ packages: launch-editor@2.10.0: resolution: {integrity: sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==} + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + leac@0.6.0: resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} @@ -7885,6 +8384,10 @@ packages: resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} engines: {node: '>= 0.4'} + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + object-is@1.1.6: resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} engines: {node: '>= 0.4'} @@ -7897,6 +8400,10 @@ packages: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} + object.getownpropertydescriptors@2.1.8: + resolution: {integrity: sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==} + engines: {node: '>= 0.8'} + obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} @@ -7955,6 +8462,10 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + p-cancelable@1.1.0: resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} engines: {node: '>=6'} @@ -8007,6 +8518,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-json@6.5.0: resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} engines: {node: '>=8'} @@ -8118,6 +8632,9 @@ packages: peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} @@ -8438,6 +8955,10 @@ packages: engines: {node: '>=14'} hasBin: true + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} @@ -9152,6 +9673,9 @@ packages: resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -9187,6 +9711,10 @@ packages: redux@4.2.1: resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + refractor@3.6.0: resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==} @@ -9209,6 +9737,10 @@ packages: regex@6.0.1: resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + regexpu-core@6.2.0: resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} engines: {node: '>=4'} @@ -9449,12 +9981,20 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + safe-regex-test@1.1.0: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} @@ -9777,6 +10317,14 @@ packages: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -9843,6 +10391,12 @@ packages: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} + size-plugin-core@0.0.9: + resolution: {integrity: sha512-5Tn5TmCNg9G8LbmB7ocWTGorJ4azeC0eCjNFOESE3tUUP40+TEi7H/gTVUAussVOSpQ2SgE7Tq7Fa7cDZefgug==} + + size-plugin-store@0.0.5: + resolution: {integrity: sha512-SIFBv0wMMMfdqg1Po8vem90OaXe2Cftfo0AiXYU9m9JxDhOd726K+0BfNcYyOmDyrH2uUM7zMlnU2OhbbsDv5Q==} + size-sensor@1.0.2: resolution: {integrity: sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==} @@ -9940,6 +10494,10 @@ packages: std-env@3.9.0: resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} @@ -9955,6 +10513,9 @@ packages: stream-json@1.9.1: resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==} + streamx@2.23.0: + resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} + string-convert@0.2.1: resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} @@ -9965,6 +10526,22 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -9978,6 +10555,10 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + strip-bom-string@1.0.0: resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} engines: {node: '>=0.10.0'} @@ -9990,6 +10571,9 @@ packages: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + strnum@2.1.1: + resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} + style-loader@3.3.2: resolution: {integrity: sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw==} engines: {node: '>= 12.13.0'} @@ -10079,6 +10663,9 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -10124,6 +10711,9 @@ packages: engines: {node: '>=10'} hasBin: true + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + thingies@2.5.0: resolution: {integrity: sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==} engines: {node: '>=10.18'} @@ -10200,6 +10790,9 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + traverse@0.3.9: + resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} + tree-dump@1.1.0: resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==} engines: {node: '>=10.0'} @@ -10298,12 +10891,34 @@ packages: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typescript@3.9.10: + resolution: {integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==} + engines: {node: '>=4.2.0'} + hasBin: true + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.9.2: resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} @@ -10316,9 +10931,16 @@ packages: ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.14.0: + resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==} + undici@5.29.0: resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} engines: {node: '>=14.0'} @@ -10400,6 +11022,9 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universal-user-agent@6.0.1: + resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} + universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -10412,6 +11037,9 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + unzip-stream@0.3.4: + resolution: {integrity: sha512-PyofABPVv+d7fL7GOpusx7eRT9YETY2X04PhwbSipdj6bMxVCFJrr+nm0Mxqbf9hUiTin/UsnuFWBXlDZFy0Cw==} + upath@2.0.1: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} @@ -10505,6 +11133,10 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util.promisify@1.1.3: + resolution: {integrity: sha512-GIEaZ6o86fj09Wtf0VfZ5XP7tmd4t3jM5aZCgmBi231D0DB1AEBa3Aa6MP48DMsAIi96WkpWLimIWVwOjbDMOw==} + engines: {node: '>= 0.8'} + util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} @@ -10662,10 +11294,26 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + which-typed-array@1.1.18: resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} engines: {node: '>= 0.4'} + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -10693,6 +11341,10 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -10778,6 +11430,10 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yauzl@3.2.0: + resolution: {integrity: sha512-Ow9nuGZE+qp1u4JIPvg+uCiUr7xGQWdff7JQSk5VGYTAZMDe2q8lxJ10ygv10qmSj031Ty/6FNJpLO4o1Sgc+w==} + engines: {node: '>=12'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -10786,6 +11442,10 @@ packages: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} + zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + zod-to-json-schema@3.24.5: resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} peerDependencies: @@ -10805,6 +11465,25 @@ packages: snapshots: + '@actions/artifact@2.3.2': + dependencies: + '@actions/core': 1.11.1 + '@actions/github': 5.1.1 + '@actions/http-client': 2.2.3 + '@azure/storage-blob': 12.28.0 + '@octokit/core': 3.6.0 + '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0) + '@octokit/plugin-retry': 3.0.9 + '@octokit/request-error': 5.1.1 + '@protobuf-ts/plugin': 2.11.1 + archiver: 7.0.1 + jwt-decode: 3.1.2 + unzip-stream: 0.3.4 + transitivePeerDependencies: + - encoding + - react-native-b4a + - supports-color + '@actions/core@1.11.1': dependencies: '@actions/exec': 1.1.1 @@ -10814,6 +11493,28 @@ snapshots: dependencies: '@actions/io': 1.1.3 + '@actions/github@4.0.0': + dependencies: + '@actions/http-client': 1.0.11 + '@octokit/core': 3.6.0 + '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0) + '@octokit/plugin-rest-endpoint-methods': 4.15.1(@octokit/core@3.6.0) + transitivePeerDependencies: + - encoding + + '@actions/github@5.1.1': + dependencies: + '@actions/http-client': 2.2.3 + '@octokit/core': 3.6.0 + '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0) + '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0) + transitivePeerDependencies: + - encoding + + '@actions/http-client@1.0.11': + dependencies: + tunnel: 0.0.6 + '@actions/http-client@2.2.3': dependencies: tunnel: 0.0.6 @@ -11116,6 +11817,120 @@ snapshots: '@ast-grep/napi-win32-ia32-msvc': 0.37.0 '@ast-grep/napi-win32-x64-msvc': 0.37.0 + '@azure/abort-controller@2.1.2': + dependencies: + tslib: 2.8.1 + + '@azure/core-auth@1.10.1': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.13.1 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/core-client@1.10.1': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.10.1 + '@azure/core-rest-pipeline': 1.22.1 + '@azure/core-tracing': 1.3.1 + '@azure/core-util': 1.13.1 + '@azure/logger': 1.3.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/core-http-compat@2.3.1': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-client': 1.10.1 + '@azure/core-rest-pipeline': 1.22.1 + transitivePeerDependencies: + - supports-color + + '@azure/core-lro@2.7.2': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.13.1 + '@azure/logger': 1.3.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/core-paging@1.6.2': + dependencies: + tslib: 2.8.1 + + '@azure/core-rest-pipeline@1.22.1': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.10.1 + '@azure/core-tracing': 1.3.1 + '@azure/core-util': 1.13.1 + '@azure/logger': 1.3.0 + '@typespec/ts-http-runtime': 0.3.1 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/core-tracing@1.3.1': + dependencies: + tslib: 2.8.1 + + '@azure/core-util@1.13.1': + dependencies: + '@azure/abort-controller': 2.1.2 + '@typespec/ts-http-runtime': 0.3.1 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/core-xml@1.5.0': + dependencies: + fast-xml-parser: 5.3.0 + tslib: 2.8.1 + + '@azure/logger@1.3.0': + dependencies: + '@typespec/ts-http-runtime': 0.3.1 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/storage-blob@12.28.0': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.10.1 + '@azure/core-client': 1.10.1 + '@azure/core-http-compat': 2.3.1 + '@azure/core-lro': 2.7.2 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.22.1 + '@azure/core-tracing': 1.3.1 + '@azure/core-util': 1.13.1 + '@azure/core-xml': 1.5.0 + '@azure/logger': 1.3.0 + '@azure/storage-common': 12.0.0 + events: 3.3.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/storage-common@12.0.0': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.10.1 + '@azure/core-http-compat': 2.3.1 + '@azure/core-rest-pipeline': 1.22.1 + '@azure/core-tracing': 1.3.1 + '@azure/core-util': 1.13.1 + '@azure/logger': 1.3.0 + events: 3.3.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -11942,6 +12757,16 @@ snapshots: '@bufbuild/protobuf@2.6.0': {} + '@bufbuild/protobuf@2.9.0': {} + + '@bufbuild/protoplugin@2.9.0': + dependencies: + '@bufbuild/protobuf': 2.9.0 + '@typescript/vfs': 1.6.1(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@bundle-stats/cli-utils@4.17.0(core-js@3.45.1)': dependencies: '@bundle-stats/html-templates': 4.17.0 @@ -12002,7 +12827,7 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.7(@types/node@22.18.1)': + '@changesets/cli@2.29.7(@types/node@24.7.1)': dependencies: '@changesets/apply-release-plan': 7.0.13 '@changesets/assemble-release-plan': 6.0.9 @@ -12018,7 +12843,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.1(@types/node@22.18.1) + '@inquirer/external-editor': 1.0.1(@types/node@24.7.1) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -12349,12 +13174,12 @@ snapshots: '@hongzhiyuan/preact@10.24.0-00213bad': {} - '@inquirer/external-editor@1.0.1(@types/node@22.18.1)': + '@inquirer/external-editor@1.0.1(@types/node@24.7.1)': dependencies: chardet: 2.1.0 iconv-lite: 0.6.3 optionalDependencies: - '@types/node': 22.18.1 + '@types/node': 24.7.1 '@isaacs/balanced-match@4.0.1': optional: true @@ -12364,6 +13189,15 @@ snapshots: '@isaacs/balanced-match': 4.0.1 optional: true + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 @@ -12469,7 +13303,7 @@ snapshots: '@types/react': 18.3.26 preact: '@hongzhiyuan/preact@10.24.0-00213bad' - '@lynx-js/rspeedy@0.11.5(@rspack/core@1.5.8(@swc/helpers@0.5.17))(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(webpack@5.97.1)': + '@lynx-js/rspeedy@0.11.5(@rspack/core@1.5.8(@swc/helpers@0.5.17))(typescript@5.9.2)(webpack@5.97.1)': dependencies: '@lynx-js/cache-events-webpack-plugin': 0.0.2 '@lynx-js/chunk-loading-webpack-plugin': 0.3.3 @@ -12477,7 +13311,7 @@ snapshots: '@lynx-js/websocket': 0.0.4 '@rsbuild/core': 1.5.13 '@rsbuild/plugin-css-minimizer': 1.0.3(@rsbuild/core@1.5.13)(webpack@5.97.1) - '@rsdoctor/rspack-plugin': 1.2.3(@rsbuild/core@1.5.13)(@rspack/core@1.5.8(@swc/helpers@0.5.17))(bufferutil@4.0.9)(utf-8-validate@5.0.10)(webpack@5.97.1) + '@rsdoctor/rspack-plugin': 1.2.3(@rsbuild/core@1.5.13)(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) optionalDependencies: typescript: 5.9.2 transitivePeerDependencies: @@ -13185,6 +14019,97 @@ snapshots: '@nx/nx-win32-x64-msvc@20.8.2': optional: true + '@octokit/auth-token@2.5.0': + dependencies: + '@octokit/types': 6.41.0 + + '@octokit/core@3.6.0': + dependencies: + '@octokit/auth-token': 2.5.0 + '@octokit/graphql': 4.8.0 + '@octokit/request': 5.6.3 + '@octokit/request-error': 2.1.0 + '@octokit/types': 6.41.0 + before-after-hook: 2.2.3 + universal-user-agent: 6.0.1 + transitivePeerDependencies: + - encoding + + '@octokit/endpoint@6.0.12': + dependencies: + '@octokit/types': 6.41.0 + is-plain-object: 5.0.0 + universal-user-agent: 6.0.1 + + '@octokit/graphql@4.8.0': + dependencies: + '@octokit/request': 5.6.3 + '@octokit/types': 6.41.0 + universal-user-agent: 6.0.1 + transitivePeerDependencies: + - encoding + + '@octokit/openapi-types@12.11.0': {} + + '@octokit/openapi-types@24.2.0': {} + + '@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0)': + dependencies: + '@octokit/core': 3.6.0 + '@octokit/types': 6.41.0 + + '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0)': + dependencies: + '@octokit/core': 3.6.0 + + '@octokit/plugin-rest-endpoint-methods@4.15.1(@octokit/core@3.6.0)': + dependencies: + '@octokit/core': 3.6.0 + '@octokit/types': 6.41.0 + deprecation: 2.3.1 + + '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0)': + dependencies: + '@octokit/core': 3.6.0 + '@octokit/types': 6.41.0 + deprecation: 2.3.1 + + '@octokit/plugin-retry@3.0.9': + dependencies: + '@octokit/types': 6.41.0 + bottleneck: 2.19.5 + + '@octokit/request-error@2.1.0': + dependencies: + '@octokit/types': 6.41.0 + deprecation: 2.3.1 + once: 1.4.0 + + '@octokit/request-error@5.1.1': + dependencies: + '@octokit/types': 13.10.0 + deprecation: 2.3.1 + once: 1.4.0 + + '@octokit/request@5.6.3': + dependencies: + '@octokit/endpoint': 6.0.12 + '@octokit/request-error': 2.1.0 + '@octokit/types': 6.41.0 + is-plain-object: 5.0.0 + node-fetch: 2.7.0 + universal-user-agent: 6.0.1 + transitivePeerDependencies: + - encoding + + '@octokit/types@13.10.0': + dependencies: + '@octokit/openapi-types': 24.2.0 + + '@octokit/types@6.41.0': + dependencies: + '@octokit/openapi-types': 12.11.0 + '@opentelemetry/api@1.9.0': {} '@parcel/watcher-android-arm64@2.5.1': @@ -13248,6 +14173,9 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.1 optional: true + '@pkgjs/parseargs@0.11.0': + optional: true + '@playwright/test@1.54.2': dependencies: playwright: 1.54.2 @@ -13269,6 +14197,25 @@ snapshots: '@polka/url@1.0.0-next.28': {} + '@protobuf-ts/plugin@2.11.1': + dependencies: + '@bufbuild/protobuf': 2.6.0 + '@bufbuild/protoplugin': 2.9.0 + '@protobuf-ts/protoc': 2.11.1 + '@protobuf-ts/runtime': 2.11.1 + '@protobuf-ts/runtime-rpc': 2.11.1 + typescript: 3.9.10 + transitivePeerDependencies: + - supports-color + + '@protobuf-ts/protoc@2.11.1': {} + + '@protobuf-ts/runtime-rpc@2.11.1': + dependencies: + '@protobuf-ts/runtime': 2.11.1 + + '@protobuf-ts/runtime@2.11.1': {} + '@publint/pack@0.1.2': {} '@rc-component/async-validator@5.0.4': @@ -13771,11 +14718,11 @@ snapshots: '@rsdoctor/client@1.2.3': {} - '@rsdoctor/core@1.2.3(@rsbuild/core@1.5.13)(@rspack/core@1.5.8(@swc/helpers@0.5.17))(bufferutil@4.0.9)(utf-8-validate@5.0.10)(webpack@5.97.1)': + '@rsdoctor/core@1.2.3(@rsbuild/core@1.5.13)(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1)': dependencies: '@rsbuild/plugin-check-syntax': 1.3.0(@rsbuild/core@1.5.13) '@rsdoctor/graph': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) - '@rsdoctor/sdk': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(bufferutil@4.0.9)(utf-8-validate@5.0.10)(webpack@5.97.1) + '@rsdoctor/sdk': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) '@rsdoctor/types': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) '@rsdoctor/utils': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) axios: 1.12.2 @@ -13807,11 +14754,11 @@ snapshots: - supports-color - webpack - '@rsdoctor/rspack-plugin@1.2.3(@rsbuild/core@1.5.13)(@rspack/core@1.5.8(@swc/helpers@0.5.17))(bufferutil@4.0.9)(utf-8-validate@5.0.10)(webpack@5.97.1)': + '@rsdoctor/rspack-plugin@1.2.3(@rsbuild/core@1.5.13)(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1)': dependencies: - '@rsdoctor/core': 1.2.3(@rsbuild/core@1.5.13)(@rspack/core@1.5.8(@swc/helpers@0.5.17))(bufferutil@4.0.9)(utf-8-validate@5.0.10)(webpack@5.97.1) + '@rsdoctor/core': 1.2.3(@rsbuild/core@1.5.13)(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) '@rsdoctor/graph': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) - '@rsdoctor/sdk': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(bufferutil@4.0.9)(utf-8-validate@5.0.10)(webpack@5.97.1) + '@rsdoctor/sdk': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) '@rsdoctor/types': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) '@rsdoctor/utils': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) lodash: 4.17.21 @@ -13825,7 +14772,7 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/sdk@1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(bufferutil@4.0.9)(utf-8-validate@5.0.10)(webpack@5.97.1)': + '@rsdoctor/sdk@1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1)': dependencies: '@rsdoctor/client': 1.2.3 '@rsdoctor/graph': 1.2.3(@rspack/core@1.5.8(@swc/helpers@0.5.17))(webpack@5.97.1) @@ -13883,6 +14830,15 @@ snapshots: - supports-color - webpack + '@rslib/core@0.14.0(typescript@5.4.5)': + dependencies: + '@rsbuild/core': 1.5.14 + rsbuild-plugin-dts: 0.14.0(@rsbuild/core@1.5.14)(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - '@typescript/native-preview' + '@rslib/core@0.14.0(typescript@5.9.2)': dependencies: '@rsbuild/core': 1.5.14 @@ -14869,6 +15825,11 @@ snapshots: dependencies: undici-types: 6.21.0 + '@types/node@24.7.1': + dependencies: + undici-types: 7.14.0 + optional: true + '@types/node@8.10.66': optional: true @@ -14976,6 +15937,21 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@typescript/vfs@1.6.1(typescript@5.4.5)': + dependencies: + debug: 4.4.0(supports-color@5.5.0) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typespec/ts-http-runtime@0.3.1': + dependencies: + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + '@ungap/structured-clone@1.2.1': {} '@unhead/react@2.0.17(react@19.1.1)': @@ -15208,6 +16184,8 @@ snapshots: transitivePeerDependencies: - supports-color + agent-base@7.1.4: {} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 @@ -15283,6 +16261,8 @@ snapshots: ansi-regex@5.0.1: {} + ansi-regex@6.2.2: {} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -15293,6 +16273,8 @@ snapshots: ansi-styles@5.2.0: {} + ansi-styles@6.2.3: {} + ansi-to-react@6.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: anser: 1.4.10 @@ -15424,6 +16406,28 @@ snapshots: aproba@2.0.0: {} + archiver-utils@5.0.2: + dependencies: + glob: 10.4.5 + graceful-fs: 4.2.11 + is-stream: 2.0.1 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 4.7.0 + + archiver@7.0.1: + dependencies: + archiver-utils: 5.0.2 + async: 3.2.6 + buffer-crc32: 1.0.0 + readable-stream: 4.7.0 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 + zip-stream: 6.0.1 + transitivePeerDependencies: + - react-native-b4a + are-we-there-yet@2.0.0: dependencies: delegates: 1.0.0 @@ -15435,12 +16439,38 @@ snapshots: argparse@2.0.1: {} + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + array-flatten@1.1.1: {} array-tree-filter@2.1.0: {} array-union@2.1.0: {} + array.prototype.reduce@1.0.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-array-method-boxes-properly: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + is-string: 1.1.1 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + asap@2.0.6: {} asn1.js@4.10.1: @@ -15463,10 +16493,14 @@ snapshots: astring@1.9.0: {} + async-function@1.0.0: {} + async-sema@3.1.1: {} async-validator@4.2.5: {} + async@3.2.6: {} + asynckit@0.4.0: {} autoprefixer@10.4.20(postcss@8.5.6): @@ -15483,6 +16517,12 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 + axios@0.19.2: + dependencies: + follow-redirects: 1.5.10 + transitivePeerDependencies: + - supports-color + axios@1.12.2: dependencies: follow-redirects: 1.15.9 @@ -15495,6 +16535,8 @@ snapshots: b-validate@1.5.3: {} + b4a@1.7.3: {} + babel-loader@10.0.0(@babel/core@7.26.0)(webpack@5.97.1): dependencies: '@babel/core': 7.26.0 @@ -15583,6 +16625,8 @@ snapshots: balanced-match@1.0.2: {} + bare-events@2.7.0: {} + base16@1.0.0: {} base64-js@1.5.1: {} @@ -15593,6 +16637,8 @@ snapshots: batch@0.6.1: {} + before-after-hook@2.2.3: {} + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 @@ -15601,6 +16647,11 @@ snapshots: binary-extensions@2.3.0: {} + binary@0.3.0: + dependencies: + buffers: 0.1.1 + chainsaw: 0.1.0 + bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 @@ -15655,6 +16706,8 @@ snapshots: boolbase@1.0.0: {} + bottleneck@2.19.5: {} + boxen@5.1.2: dependencies: ansi-align: 3.0.1 @@ -15681,6 +16734,10 @@ snapshots: brorand@1.1.0: {} + brotli-size@4.0.0: + dependencies: + duplexer: 0.1.1 + browserify-aes@1.2.0: dependencies: buffer-xor: 1.0.3 @@ -15760,6 +16817,10 @@ snapshots: buffer-builder@0.2.0: {} + buffer-crc32@0.2.13: {} + + buffer-crc32@1.0.0: {} + buffer-from@1.1.2: {} buffer-xor@1.0.3: {} @@ -15774,6 +16835,8 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + buffers@0.1.1: {} + bufferutil@4.0.9: dependencies: node-gyp-build: 4.8.4 @@ -15856,6 +16919,10 @@ snapshots: ccount@2.0.1: {} + chainsaw@0.1.0: + dependencies: + traverse: 0.3.9 + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -15910,6 +16977,8 @@ snapshots: chrome-trace-event@1.0.4: {} + ci-env@1.17.0: {} + ci-info@2.0.0: {} ci-info@3.9.0: {} @@ -16017,6 +17086,14 @@ snapshots: commondir@1.0.1: {} + compress-commons@6.0.2: + dependencies: + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 + normalize-path: 3.0.0 + readable-stream: 4.7.0 + compressible@2.0.18: dependencies: mime-db: 1.54.0 @@ -16142,6 +17219,13 @@ snapshots: optionalDependencies: typescript: 5.9.2 + crc-32@1.2.2: {} + + crc32-stream@6.0.0: + dependencies: + crc-32: 1.2.2 + readable-stream: 4.7.0 + create-ecdh@4.0.4: dependencies: bn.js: 4.12.1 @@ -16362,6 +17446,24 @@ snapshots: data-uri-to-buffer@3.0.1: {} + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dayjs@1.11.13: {} dayjs@1.11.18: {} @@ -16372,6 +17474,10 @@ snapshots: dependencies: ms: 2.0.0 + debug@3.1.0: + dependencies: + ms: 2.0.0 + debug@3.2.7: dependencies: ms: 2.1.3 @@ -16440,6 +17546,8 @@ snapshots: depd@2.0.0: {} + deprecation@2.3.1: {} + dequal@2.0.3: {} des.js@1.1.0: @@ -16581,8 +17689,12 @@ snapshots: duplexer3@0.1.5: {} + duplexer@0.1.1: {} + duplexer@0.1.2: {} + eastasianwidth@0.2.0: {} + echarts-for-react@3.0.3(echarts@5.6.0)(react@18.3.1): dependencies: echarts: 5.6.0 @@ -16613,6 +17725,8 @@ snapshots: emoji-regex@8.0.0: {} + emoji-regex@9.2.2: {} + emojis-list@3.0.0: {} encodeurl@1.0.2: {} @@ -16699,6 +17813,65 @@ snapshots: dependencies: stackframe: 1.3.4 + es-abstract@1.24.0: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.19 + + es-array-method-boxes-properly@1.0.0: {} + es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -16716,6 +17889,12 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -16887,6 +18066,10 @@ snapshots: eventemitter3@5.0.1: {} + events-universal@1.0.1: + dependencies: + bare-events: 2.7.0 + events@3.3.0: {} eventsource-parser@3.0.6: {} @@ -16984,6 +18167,8 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-fifo@1.3.2: {} + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -16996,6 +18181,10 @@ snapshots: fast-uri@3.0.5: {} + fast-xml-parser@5.3.0: + dependencies: + strnum: 2.1.1 + fastest-levenshtein@1.0.16: {} fastq@1.18.0: @@ -17145,10 +18334,25 @@ snapshots: follow-redirects@1.15.9: {} + follow-redirects@1.5.10: + dependencies: + debug: 3.1.0 + transitivePeerDependencies: + - supports-color + for-each@0.3.3: dependencies: is-callable: 1.2.7 + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + form-data@4.0.4: dependencies: asynckit: 0.4.0 @@ -17215,6 +18419,17 @@ snapshots: function-bind@1.1.2: {} + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functions-have-names@1.2.3: {} + gauge@3.0.2: dependencies: aproba: 2.0.0 @@ -17262,6 +18477,12 @@ snapshots: dependencies: pump: 3.0.2 + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + get-tsconfig@4.10.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -17282,6 +18503,15 @@ snapshots: glob-to-regexp@0.4.1: {} + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -17312,6 +18542,11 @@ snapshots: globals@11.12.0: {} + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + globby@11.1.0: dependencies: array-union: 2.1.0 @@ -17356,12 +18591,19 @@ snapshots: section-matter: 1.0.0 strip-bom-string: 1.0.0 + gzip-size@5.1.1: + dependencies: + duplexer: 0.1.2 + pify: 4.0.1 + gzip-size@6.0.0: dependencies: duplexer: 0.1.2 handle-thing@2.0.1: {} + has-bigints@1.1.0: {} + has-flag@3.0.0: {} has-flag@4.0.0: {} @@ -17370,6 +18612,10 @@ snapshots: dependencies: es-define-property: 1.0.1 + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + has-symbols@1.1.0: {} has-tostringtag@1.0.2: @@ -17731,6 +18977,13 @@ snapshots: http-parser-js@0.5.9: {} + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.4 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + http-proxy-middleware@2.0.9(@types/express@4.17.21): dependencies: '@types/http-proxy': 1.17.15 @@ -17760,6 +19013,13 @@ snapshots: transitivePeerDependencies: - supports-color + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + human-id@4.1.1: {} husky@9.1.7: {} @@ -17828,6 +19088,12 @@ snapshots: inline-style-parser@0.2.4: {} + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + interpret@3.1.1: {} invariant@2.2.4: @@ -17859,14 +19125,37 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-arrayish@0.2.1: {} is-arrayish@0.3.2: {} + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + is-buffer@2.0.5: {} is-callable@1.2.7: {} @@ -17879,6 +19168,17 @@ snapshots: dependencies: hasown: 2.0.2 + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + is-decimal@1.0.4: {} is-decimal@2.0.1: {} @@ -17896,6 +19196,10 @@ snapshots: is-extglob@2.1.1: {} + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + is-fullwidth-code-point@3.0.0: {} is-generator-function@1.1.0: @@ -17924,15 +19228,24 @@ snapshots: is-interactive@1.0.0: {} + is-map@2.0.3: {} + is-nan@1.3.2: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 + is-negative-zero@2.0.3: {} + is-network-error@1.1.0: {} is-npm@5.0.0: {} + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + is-number@7.0.0: {} is-obj@2.0.0: {} @@ -17947,6 +19260,8 @@ snapshots: dependencies: isobject: 3.0.1 + is-plain-object@5.0.0: {} + is-promise@2.2.2: {} is-promise@4.0.0: {} @@ -17962,10 +19277,29 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + + is-stream@2.0.1: {} + + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.18 @@ -17979,6 +19313,17 @@ snapshots: punycode: 2.3.1 optional: true + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-what@3.14.1: {} is-windows@1.0.2: {} @@ -18005,6 +19350,12 @@ snapshots: isomorphic-rslog@0.0.6: {} + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + jest-diff@29.7.0: dependencies: chalk: 4.1.2 @@ -18096,6 +19447,8 @@ snapshots: is-promise: 2.2.2 promise: 7.3.1 + jwt-decode@3.1.2: {} + keyv@3.1.0: dependencies: json-buffer: 3.0.0 @@ -18115,6 +19468,10 @@ snapshots: picocolors: 1.1.1 shell-quote: 1.8.2 + lazystream@1.0.1: + dependencies: + readable-stream: 2.3.8 + leac@0.6.0: {} less-loader@11.1.0(less@4.2.1)(webpack@5.97.1): @@ -19237,7 +20594,6 @@ snapshots: mkdirp@0.5.6: dependencies: minimist: 1.2.8 - optional: true mkdirp@1.0.4: {} @@ -19418,6 +20774,8 @@ snapshots: object-inspect@1.13.3: {} + object-inspect@1.13.4: {} + object-is@1.1.6: dependencies: call-bind: 1.0.8 @@ -19434,6 +20792,16 @@ snapshots: has-symbols: 1.1.0 object-keys: 1.1.1 + object.getownpropertydescriptors@2.1.8: + dependencies: + array.prototype.reduce: 1.0.8 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + gopd: 1.2.0 + safe-array-concat: 1.1.3 + obuf@1.1.2: {} on-finished@2.3.0: @@ -19507,6 +20875,12 @@ snapshots: outdent@0.5.0: {} + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + p-cancelable@1.1.0: {} p-filter@2.1.0: @@ -19555,6 +20929,8 @@ snapshots: p-try@2.2.0: {} + package-json-from-dist@1.0.1: {} + package-json@6.5.0: dependencies: got: 9.6.0 @@ -19680,6 +21056,8 @@ snapshots: peberminta@0.9.0: {} + pend@1.2.0: {} + periscopic@3.1.0: dependencies: '@types/estree': 1.0.5 @@ -19970,6 +21348,8 @@ snapshots: prettier@3.6.2: {} + pretty-bytes@5.6.0: {} + pretty-error@4.0.0: dependencies: lodash: 4.17.21 @@ -20960,6 +22340,10 @@ snapshots: process: 0.11.10 string_decoder: 1.3.0 + readdir-glob@1.1.3: + dependencies: + minimatch: 5.1.6 + readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -21011,6 +22395,17 @@ snapshots: dependencies: '@babel/runtime': 7.28.4 + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + refractor@3.6.0: dependencies: hastscript: 6.0.0 @@ -21037,6 +22432,15 @@ snapshots: dependencies: regex-utilities: 2.3.0 + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + regexpu-core@6.2.0: dependencies: regenerate: 1.4.2 @@ -21287,6 +22691,13 @@ snapshots: transitivePeerDependencies: - supports-color + rsbuild-plugin-dts@0.14.0(@rsbuild/core@1.5.14)(typescript@5.4.5): + dependencies: + '@ast-grep/napi': 0.37.0 + '@rsbuild/core': 1.5.14 + optionalDependencies: + typescript: 5.4.5 + rsbuild-plugin-dts@0.14.0(@rsbuild/core@1.5.14)(typescript@5.9.2): dependencies: '@ast-grep/napi': 0.37.0 @@ -21354,10 +22765,23 @@ snapshots: dependencies: mri: 1.2.0 + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + safe-regex-test@1.1.0: dependencies: call-bound: 1.0.4 @@ -21685,6 +23109,19 @@ snapshots: gopd: 1.2.0 has-property-descriptors: 1.0.2 + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + setimmediate@1.0.5: {} setprototypeof@1.1.0: {} @@ -21764,6 +23201,27 @@ snapshots: mrmime: 2.0.0 totalist: 3.0.1 + size-plugin-core@0.0.9: + dependencies: + brotli-size: 4.0.0 + chalk: 2.4.2 + fs-extra: 8.1.0 + glob: 7.2.3 + gzip-size: 5.1.1 + minimatch: 3.1.2 + pretty-bytes: 5.6.0 + size-plugin-store: 0.0.5 + util.promisify: 1.1.3 + transitivePeerDependencies: + - supports-color + + size-plugin-store@0.0.5: + dependencies: + axios: 0.19.2 + ci-env: 1.17.0 + transitivePeerDependencies: + - supports-color + size-sensor@1.0.2: {} slash@3.0.0: {} @@ -21893,6 +23351,11 @@ snapshots: std-env@3.9.0: {} + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + stream-browserify@3.0.0: dependencies: inherits: 2.0.4 @@ -21913,6 +23376,14 @@ snapshots: dependencies: stream-chain: 2.2.5 + streamx@2.23.0: + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.3 + transitivePeerDependencies: + - react-native-b4a + string-convert@0.2.1: {} string-loader@0.0.1: {} @@ -21923,6 +23394,35 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -21940,12 +23440,18 @@ snapshots: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + strip-bom-string@1.0.0: {} strip-bom@3.0.0: {} strip-json-comments@2.0.1: {} + strnum@2.1.1: {} + style-loader@3.3.2(webpack@5.97.1): dependencies: webpack: 5.97.1(webpack-cli@5.1.4) @@ -22043,6 +23549,14 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + tar-stream@3.1.7: + dependencies: + b4a: 1.7.3 + fast-fifo: 1.3.2 + streamx: 2.23.0 + transitivePeerDependencies: + - react-native-b4a + tar@6.2.1: dependencies: chownr: 2.0.0 @@ -22092,6 +23606,12 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 + text-decoder@1.2.3: + dependencies: + b4a: 1.7.3 + transitivePeerDependencies: + - react-native-b4a + thingies@2.5.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -22151,6 +23671,8 @@ snapshots: tr46@0.0.3: {} + traverse@0.3.9: {} + tree-dump@1.1.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -22254,20 +23776,61 @@ snapshots: es-errors: 1.3.0 is-typed-array: 1.1.15 + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.0.0 + reflect.getprototypeof: 1.0.10 + typed-assert@1.0.9: {} typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 + typescript@3.9.10: {} + + typescript@5.4.5: {} + typescript@5.9.2: {} ua-parser-js@1.0.40: {} ufo@1.5.4: {} + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + undici-types@6.21.0: {} + undici-types@7.14.0: + optional: true + undici@5.29.0: dependencies: '@fastify/busboy': 2.1.1 @@ -22380,12 +23943,19 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 + universal-user-agent@6.0.1: {} + universalify@0.1.2: {} universalify@2.0.1: {} unpipe@1.0.0: {} + unzip-stream@0.3.4: + dependencies: + binary: 0.3.0 + mkdirp: 0.5.6 + upath@2.0.1: {} update-browserslist-db@1.1.2(browserslist@4.24.3): @@ -22501,6 +24071,21 @@ snapshots: util-deprecate@1.0.2: {} + util.promisify@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + for-each: 0.3.3 + get-intrinsic: 1.3.0 + has-proto: 1.2.0 + has-symbols: 1.1.0 + object.getownpropertydescriptors: 2.1.8 + safe-array-concat: 1.1.3 + util@0.12.5: dependencies: inherits: 2.0.4 @@ -22809,6 +24394,37 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.0 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.19 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + which-typed-array@1.1.18: dependencies: available-typed-arrays: 1.0.7 @@ -22818,6 +24434,16 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 + which-typed-array@1.1.19: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + which@2.0.2: dependencies: isexe: 2.0.0 @@ -22851,6 +24477,12 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + wrappy@1.0.2: {} write-file-atomic@3.0.3: @@ -22909,10 +24541,21 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yauzl@3.2.0: + dependencies: + buffer-crc32: 0.2.13 + pend: 1.2.0 + yocto-queue@0.1.0: {} yocto-queue@1.1.1: {} + zip-stream@6.0.1: + dependencies: + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.7.0 + zod-to-json-schema@3.24.5(zod@3.25.76): dependencies: zod: 3.25.76