Live video on the AT Protocol

Merge pull request #790 from streamplace/natb/i18next-cli

feat: replace i18next-parser with i18next-cli

authored by natalie and committed by GitHub dd043fc2 65b5a55c

+1253 -507
+21
js/components/i18next.config.js
···
··· 1 + import { defineConfig } from "i18next-cli"; 2 + // i18next-cli configuration 3 + // We use i18next-fluent, so variant handling (platform, count, etc.) 4 + // is done using Fluent's select expressions within messages. 5 + // Example: shortcut-key-search = { $platform -> [mac] Cmd+K [windows] Ctrl+K *[other] Ctrl+K } 6 + 7 + export default defineConfig({ 8 + locales: ["en-US", "es-ES", "fr-FR", "pt-BR", "zh-Hant"], 9 + extract: { 10 + input: [ 11 + "src/**/*.{js,jsx,ts,tsx}", 12 + "../app/src/**/*.{js,jsx,ts,tsx}", 13 + "../app/components/**/*.{js,jsx,ts,tsx}", 14 + ], 15 + contextSeparator: "|", 16 + pluralSeparator: "/", 17 + output: "public/locales/{{language}}/{{namespace}}.json", 18 + primaryLanguage: "en-US", 19 + defaultNS: "common", 20 + }, 21 + });
+3 -2
js/components/package.json
··· 19 "devDependencies": { 20 "@fluent/syntax": "^0.19.0", 21 "@types/sdp-transform": "^2.15.0", 22 "nodemon": "^3.1.10", 23 "tsup": "^8.5.0" 24 }, ··· 74 "start": "tsc --watch --preserveWatchOutput", 75 "prepare": "node scripts/compile-translations.js && tsc", 76 "i18n:compile": "node scripts/compile-translations.js", 77 - "i18n:watch": "nodemon scripts/compile-translations.js --watch locales/**/*.ftl", 78 - "i18n:extract": "node scripts/extract-i18n.js" 79 } 80 }
··· 19 "devDependencies": { 20 "@fluent/syntax": "^0.19.0", 21 "@types/sdp-transform": "^2.15.0", 22 + "i18next-cli": "^1.32.0", 23 "nodemon": "^3.1.10", 24 "tsup": "^8.5.0" 25 }, ··· 75 "start": "tsc --watch --preserveWatchOutput", 76 "prepare": "node scripts/compile-translations.js && tsc", 77 "i18n:compile": "node scripts/compile-translations.js", 78 + "i18n:watch": "nodemon --watch 'locales/**/*.ftl' --exec 'node scripts/compile-translations.js'", 79 + "i18n:extract": "i18next-cli extract && node scripts/migrate-i18n.js" 80 } 81 }
-336
js/components/scripts/extract-i18n.js
··· 1 - #!/usr/bin/env node 2 - 3 - /** 4 - * i18n key extraction script 5 - * 1. Scans the codebase for i18n keys (t('key'), Trans components, etc) 6 - * 2. Extracts keys into namespace JSON files (common.json, settings.json, etc) 7 - * 3. Migrates new keys to corresponding .ftl files for translation 8 - * 9 - * Usage: 10 - * node extract-i18n.js # Extract keys and report new ones 11 - * node extract-i18n.js --add-to=common # Add new keys to common.ftl 12 - * node extract-i18n.js --add-to=settings # Add new keys to settings.ftl 13 - */ 14 - 15 - const { execSync } = require("child_process"); 16 - const fs = require("fs"); 17 - const path = require("path"); 18 - 19 - // Parse command line arguments 20 - const args = process.argv.slice(2); 21 - const addToNamespace = args 22 - .find((arg) => arg.startsWith("--add-to=")) 23 - ?.split("=")[1]; 24 - 25 - // Paths 26 - const COMPONENTS_ROOT = path.join(__dirname, ".."); 27 - const APP_ROOT = path.join(__dirname, "..", "..", "app"); 28 - const MANIFEST_PATH = path.join(COMPONENTS_ROOT, "locales/manifest.json"); 29 - const LOCALES_FTL_DIR = path.join(COMPONENTS_ROOT, "locales"); 30 - const LOCALES_JSON_DIR = path.join(COMPONENTS_ROOT, "public/locales"); 31 - 32 - // Load manifest 33 - const manifest = JSON.parse(fs.readFileSync(MANIFEST_PATH, "utf8")); 34 - 35 - // Configuration for i18next-parser 36 - const parserConfig = { 37 - contextSeparator: "_", 38 - createOldCatalogs: false, 39 - defaultNamespace: "messages", 40 - defaultValue: "", 41 - indentation: 2, 42 - keepRemoved: true, 43 - keySeparator: false, 44 - namespaceSeparator: false, 45 - 46 - lexers: { 47 - js: ["JavascriptLexer"], 48 - ts: ["JavascriptLexer"], 49 - jsx: ["JsxLexer"], 50 - tsx: ["JsxLexer"], 51 - html: false, 52 - htm: false, 53 - handlebars: false, 54 - hbs: false, 55 - }, 56 - 57 - locales: manifest.supportedLocales, 58 - output: path.join(LOCALES_JSON_DIR, "$LOCALE/$NAMESPACE.json"), 59 - input: [ 60 - path.join(COMPONENTS_ROOT, "src/**/*.{js,jsx,ts,tsx}"), 61 - path.join(APP_ROOT, "src/**/*.{js,jsx,ts,tsx}"), 62 - path.join(APP_ROOT, "components/**/*.{js,jsx,ts,tsx}"), 63 - "!**/node_modules/**", 64 - "!**/dist/**", 65 - "!**/*.test.{js,jsx,ts,tsx}", 66 - "!**/*.spec.{js,jsx,ts,tsx}", 67 - ], 68 - 69 - verbose: true, 70 - sort: true, 71 - failOnWarnings: false, 72 - failOnUpdate: false, 73 - }; 74 - 75 - /** 76 - * Extract keys from codebase using i18next-parser 77 - */ 78 - function extractKeys() { 79 - const configPath = path.join(__dirname, ".i18next-parser.config.js"); 80 - const configContent = `module.exports = ${JSON.stringify(parserConfig, null, 2)};`; 81 - 82 - try { 83 - fs.writeFileSync(configPath, configContent); 84 - console.log("🔍 Extracting i18n keys from codebase..."); 85 - 86 - execSync(`npx i18next-parser --config ${configPath}`, { 87 - stdio: "inherit", 88 - cwd: __dirname, 89 - }); 90 - 91 - console.log("✅ Keys extracted successfully!"); 92 - return true; 93 - } catch (error) { 94 - console.error("❌ Error extracting i18n keys:", error.message); 95 - return false; 96 - } finally { 97 - if (fs.existsSync(configPath)) { 98 - fs.unlinkSync(configPath); 99 - } 100 - } 101 - } 102 - 103 - /** 104 - * Read existing keys from .ftl files in a locale directory 105 - * Returns a map of namespace -> Set of keys 106 - */ 107 - function getExistingFtlKeys(localeDir) { 108 - const keysByNamespace = {}; 109 - 110 - if (!fs.existsSync(localeDir)) { 111 - return keysByNamespace; 112 - } 113 - 114 - const ftlFiles = fs 115 - .readdirSync(localeDir) 116 - .filter((file) => file.endsWith(".ftl")); 117 - 118 - for (const file of ftlFiles) { 119 - const namespace = path.basename(file, ".ftl"); 120 - const keys = new Set(); 121 - 122 - const content = fs.readFileSync(path.join(localeDir, file), "utf8"); 123 - const lines = content.split("\n"); 124 - 125 - for (const line of lines) { 126 - const trimmed = line.trim(); 127 - const keyMatch = trimmed.match(/^([a-zA-Z][a-zA-Z0-9_-]*)\s*=/); 128 - if (keyMatch) { 129 - keys.add(keyMatch[1]); 130 - } 131 - } 132 - 133 - keysByNamespace[namespace] = keys; 134 - } 135 - 136 - return keysByNamespace; 137 - } 138 - 139 - /** 140 - * Get all namespaces (json files) in the locale directory 141 - */ 142 - function getNamespaces(localeJsonDir) { 143 - if (!fs.existsSync(localeJsonDir)) { 144 - return []; 145 - } 146 - 147 - return fs 148 - .readdirSync(localeJsonDir) 149 - .filter((file) => file.endsWith(".json")) 150 - .map((file) => path.basename(file, ".json")); 151 - } 152 - 153 - /** 154 - * Add new keys to a .ftl file 155 - */ 156 - function addKeysToFtlFile(localeDir, namespace, newKeys, locale) { 157 - const targetFile = path.join(localeDir, `${namespace}.ftl`); 158 - 159 - // Create file with header if it doesn't exist 160 - if (!fs.existsSync(localeDir)) { 161 - fs.mkdirSync(localeDir, { recursive: true }); 162 - } 163 - 164 - if (!fs.existsSync(targetFile)) { 165 - const languageName = manifest.languages[locale]?.name || locale; 166 - const namespaceName = 167 - namespace.charAt(0).toUpperCase() + namespace.slice(1); 168 - const header = `# ${namespaceName} translations - ${languageName}\n\n`; 169 - fs.writeFileSync(targetFile, header); 170 - } 171 - 172 - // Append new keys 173 - let content = fs.readFileSync(targetFile, "utf8"); 174 - 175 - if (!content.endsWith("\n")) { 176 - content += "\n"; 177 - } 178 - 179 - content += "\n# Newly extracted keys\n"; 180 - content += newKeys.map((key) => `${key} = ${key}`).join("\n") + "\n"; 181 - 182 - fs.writeFileSync(targetFile, content); 183 - 184 - return targetFile; 185 - } 186 - 187 - /** 188 - * Migrate extracted JSON keys to .ftl files 189 - */ 190 - function migrateKeysToFtl() { 191 - console.log("\n🔄 Analyzing extracted keys..."); 192 - 193 - const newKeysByLocaleAndNamespace = {}; // locale -> namespace -> [keys] 194 - 195 - // Process each locale 196 - for (const locale of manifest.supportedLocales) { 197 - const localeJsonDir = path.join(LOCALES_JSON_DIR, locale); 198 - const localeFtlDir = path.join(LOCALES_FTL_DIR, locale); 199 - 200 - if (!fs.existsSync(localeJsonDir)) { 201 - console.log(`⚠️ No JSON files found for ${locale}`); 202 - continue; 203 - } 204 - 205 - // Get all namespaces (json files) 206 - const namespaces = getNamespaces(localeJsonDir); 207 - 208 - if (namespaces.length === 0) { 209 - console.log(`⚠️ No namespace files found for ${locale}`); 210 - continue; 211 - } 212 - 213 - // Get existing keys from .ftl files 214 - const existingKeysByNamespace = getExistingFtlKeys(localeFtlDir); 215 - 216 - // Process each namespace 217 - for (const namespace of namespaces) { 218 - const jsonPath = path.join(localeJsonDir, `${namespace}.json`); 219 - const jsonContent = JSON.parse(fs.readFileSync(jsonPath, "utf8")); 220 - const extractedKeys = Object.keys(jsonContent); 221 - 222 - // Get existing keys for this namespace 223 - const existingKeys = existingKeysByNamespace[namespace] || new Set(); 224 - 225 - // Find new keys 226 - const newKeys = extractedKeys.filter((key) => !existingKeys.has(key)); 227 - 228 - if (newKeys.length > 0) { 229 - if (!newKeysByLocaleAndNamespace[locale]) { 230 - newKeysByLocaleAndNamespace[locale] = {}; 231 - } 232 - newKeysByLocaleAndNamespace[locale][namespace] = newKeys; 233 - } 234 - } 235 - } 236 - 237 - // Check if there are any new keys 238 - const hasNewKeys = Object.keys(newKeysByLocaleAndNamespace).length > 0; 239 - 240 - if (!hasNewKeys) { 241 - console.log( 242 - "\n🎉 No new keys found. All extracted keys already exist in .ftl files.", 243 - ); 244 - return; 245 - } 246 - 247 - // Display found keys 248 - console.log("\n📊 New keys found:"); 249 - for (const locale of Object.keys(newKeysByLocaleAndNamespace)) { 250 - console.log(`\n${locale}:`); 251 - for (const namespace of Object.keys(newKeysByLocaleAndNamespace[locale])) { 252 - const keys = newKeysByLocaleAndNamespace[locale][namespace]; 253 - console.log(` 📝 ${namespace} (${keys.length} new keys):`); 254 - keys.forEach((key) => console.log(` - ${key}`)); 255 - } 256 - } 257 - 258 - // If --add-to flag is provided, add keys to that namespace 259 - if (addToNamespace) { 260 - console.log(`\n✍️ Adding new keys to ${addToNamespace}.ftl files...`); 261 - 262 - let totalAdded = 0; 263 - const processedFiles = []; 264 - 265 - for (const locale of Object.keys(newKeysByLocaleAndNamespace)) { 266 - const localeFtlDir = path.join(LOCALES_FTL_DIR, locale); 267 - const namespacesForLocale = newKeysByLocaleAndNamespace[locale]; 268 - 269 - // Collect all new keys across all namespaces for this locale 270 - const allNewKeys = []; 271 - for (const namespace of Object.keys(namespacesForLocale)) { 272 - allNewKeys.push(...namespacesForLocale[namespace]); 273 - } 274 - 275 - if (allNewKeys.length === 0) continue; 276 - 277 - // Add all keys to the specified namespace 278 - const targetFile = addKeysToFtlFile( 279 - localeFtlDir, 280 - addToNamespace, 281 - allNewKeys, 282 - locale, 283 - ); 284 - processedFiles.push(path.relative(process.cwd(), targetFile)); 285 - totalAdded += allNewKeys.length; 286 - 287 - console.log( 288 - `✅ ${locale}: Added ${allNewKeys.length} keys to ${addToNamespace}.ftl`, 289 - ); 290 - } 291 - 292 - console.log( 293 - `\n🎉 Migration complete! Added ${totalAdded} new keys to ${addToNamespace}.ftl files.`, 294 - ); 295 - console.log("\nModified files:"); 296 - processedFiles.forEach((file) => console.log(` 📄 ${file}`)); 297 - 298 - console.log("\n💡 Next steps:"); 299 - console.log(" 1. Review the new keys in your .ftl files"); 300 - console.log(" 2. Replace placeholder values with actual translations"); 301 - console.log(" 3. Run `pnpm i18n:compile` to update compiled JSON files"); 302 - } else { 303 - // Just report 304 - let totalNewKeys = 0; 305 - const namespaceSet = new Set(); 306 - 307 - for (const locale of Object.keys(newKeysByLocaleAndNamespace)) { 308 - for (const namespace of Object.keys( 309 - newKeysByLocaleAndNamespace[locale], 310 - )) { 311 - namespaceSet.add(namespace); 312 - totalNewKeys += newKeysByLocaleAndNamespace[locale][namespace].length; 313 - } 314 - } 315 - 316 - console.log( 317 - `\n💡 Found ${totalNewKeys} new keys across ${namespaceSet.size} namespace(s).`, 318 - ); 319 - console.log("\nTo add these keys to a specific namespace file, run:"); 320 - Array.from(namespaceSet).forEach((ns) => { 321 - console.log(` node extract-i18n.js --add-to=${ns}`); 322 - }); 323 - } 324 - } 325 - 326 - function main() { 327 - const success = extractKeys(); 328 - 329 - if (success) { 330 - migrateKeysToFtl(); 331 - } else { 332 - process.exit(1); 333 - } 334 - } 335 - 336 - main();
···
+413
js/components/scripts/migrate-i18n.js
···
··· 1 + #!/usr/bin/env node 2 + 3 + /** 4 + * i18n migration script 5 + * Migrates extracted JSON keys to .ftl files for translation 6 + * 7 + * This script expects that i18next-cli has already extracted keys to JSON files. 8 + * It reads those JSON files, compares them to existing .ftl files, and adds any 9 + * new keys to the .ftl files. 10 + * 11 + * For keys with i18next context/plural suffixes (e.g., key_male, key_female, key_one, key_other), 12 + * it will convert them into Fluent select expressions. 13 + * 14 + * Usage: 15 + * node migrate-i18n.js # Report new keys 16 + * node migrate-i18n.js --add-to=common # Add new keys to common.ftl 17 + * node migrate-i18n.js --add-to=settings # Add new keys to settings.ftl 18 + */ 19 + 20 + const fs = require("fs"); 21 + const path = require("path"); 22 + 23 + // Parse command line arguments 24 + const args = process.argv.slice(2); 25 + const addToNamespace = args 26 + .find((arg) => arg.startsWith("--add-to=")) 27 + ?.split("=")[1]; 28 + 29 + // Paths 30 + const COMPONENTS_ROOT = path.join(__dirname, ".."); 31 + const MANIFEST_PATH = path.join(COMPONENTS_ROOT, "locales/manifest.json"); 32 + const LOCALES_FTL_DIR = path.join(COMPONENTS_ROOT, "locales"); 33 + const LOCALES_JSON_DIR = path.join(COMPONENTS_ROOT, "public/locales"); 34 + 35 + // Load manifest 36 + const manifest = JSON.parse(fs.readFileSync(MANIFEST_PATH, "utf8")); 37 + 38 + // Plural forms that i18next uses 39 + const PLURAL_FORMS = ["zero", "one", "two", "few", "many", "other"]; 40 + 41 + // Separators used by i18next-cli (configured in i18next.config.js) 42 + const CONTEXT_SEPARATOR = "|"; 43 + const PLURAL_SEPARATOR = "/"; 44 + 45 + /** 46 + * Group keys by base name, detecting context and plural variants 47 + * Returns { baseKey: { base: true, variants: { context: Set, plurals: Set } } } 48 + */ 49 + function groupKeysByBase(keys) { 50 + const groups = {}; 51 + 52 + for (const key of keys) { 53 + if (!key.includes(CONTEXT_SEPARATOR) && !key.includes(PLURAL_SEPARATOR)) { 54 + // Simple key with no variants 55 + if (!groups[key]) { 56 + groups[key] = { 57 + base: true, 58 + variants: { contexts: new Set(), plurals: new Set() }, 59 + }; 60 + } 61 + groups[key].base = true; 62 + } else { 63 + // Key with variants 64 + // Format: base|context/plural or base/plural or base|context 65 + let baseKey = key; 66 + const detectedContexts = new Set(); 67 + const detectedPlurals = new Set(); 68 + 69 + // Split by context separator first 70 + if (key.includes(CONTEXT_SEPARATOR)) { 71 + const contextParts = key.split(CONTEXT_SEPARATOR); 72 + baseKey = contextParts[0]; 73 + 74 + // The remaining part might have plurals 75 + const contextAndPlural = contextParts[1]; 76 + 77 + if (contextAndPlural.includes(PLURAL_SEPARATOR)) { 78 + const pluralParts = contextAndPlural.split(PLURAL_SEPARATOR); 79 + detectedContexts.add(pluralParts[0]); 80 + pluralParts.slice(1).forEach((p) => { 81 + if (PLURAL_FORMS.includes(p)) { 82 + detectedPlurals.add(p); 83 + } 84 + }); 85 + } else { 86 + detectedContexts.add(contextAndPlural); 87 + } 88 + } else if (key.includes(PLURAL_SEPARATOR)) { 89 + // No context, just plural 90 + const pluralParts = key.split(PLURAL_SEPARATOR); 91 + baseKey = pluralParts[0]; 92 + pluralParts.slice(1).forEach((p) => { 93 + if (PLURAL_FORMS.includes(p)) { 94 + detectedPlurals.add(p); 95 + } 96 + }); 97 + } 98 + 99 + if (!groups[baseKey]) { 100 + groups[baseKey] = { 101 + base: false, 102 + variants: { contexts: new Set(), plurals: new Set() }, 103 + }; 104 + } 105 + 106 + detectedContexts.forEach((c) => groups[baseKey].variants.contexts.add(c)); 107 + detectedPlurals.forEach((p) => groups[baseKey].variants.plurals.add(p)); 108 + } 109 + } 110 + 111 + return groups; 112 + } 113 + 114 + /** 115 + * Convert a group of keys into Fluent format 116 + */ 117 + function convertToFluentFormat(baseKey, group) { 118 + const hasContexts = group.variants.contexts.size > 0; 119 + const hasPlurals = group.variants.plurals.size > 0; 120 + 121 + if (!hasContexts && !hasPlurals) { 122 + // Simple key 123 + return `${baseKey} = ${baseKey}`; 124 + } 125 + 126 + // Build Fluent select expression 127 + let selector = ""; 128 + let variants = []; 129 + 130 + if (hasContexts && hasPlurals) { 131 + // Both context and plural - outer selector is context, inner is plural 132 + selector = "$context"; 133 + const contextsList = Array.from(group.variants.contexts).sort(); 134 + const pluralsList = Array.from(group.variants.plurals).sort(); 135 + 136 + contextsList.forEach((context, idx) => { 137 + const isDefault = idx === contextsList.length - 1; 138 + const prefix = isDefault ? "*" : " "; 139 + 140 + // Build inner plural select 141 + const pluralVariants = pluralsList 142 + .map((p) => { 143 + const pluralPrefix = p === "other" ? "*" : ""; 144 + return `${pluralPrefix}[${p}] ${baseKey}`; 145 + }) 146 + .join(" "); 147 + 148 + variants.push( 149 + `\n ${prefix}[${context}] { $count -> ${pluralVariants} }`, 150 + ); 151 + }); 152 + } else if (hasContexts) { 153 + // Only context 154 + selector = "$context"; 155 + const contextsList = Array.from(group.variants.contexts).sort(); 156 + contextsList.forEach((context, idx) => { 157 + const isDefault = idx === contextsList.length - 1; 158 + const prefix = isDefault ? "*" : " "; 159 + variants.push(`\n ${prefix}[${context}] ${baseKey}`); 160 + }); 161 + } else if (hasPlurals) { 162 + // Only plural 163 + selector = "$count"; 164 + const pluralsList = Array.from(group.variants.plurals).sort(); 165 + pluralsList.forEach((plural) => { 166 + const isDefault = plural === "other"; 167 + const prefix = isDefault ? "*" : " "; 168 + variants.push(`\n ${prefix}[${plural}] ${baseKey}`); 169 + }); 170 + } 171 + 172 + return `# TODO: Convert to proper Fluent select expression\n${baseKey} = { ${selector} ->${variants.join("")}\n}`; 173 + } 174 + 175 + /** 176 + * Read existing keys from .ftl files in a locale directory 177 + * Returns a map of namespace -> Set of keys 178 + */ 179 + function getExistingFtlKeys(localeDir) { 180 + const keysByNamespace = {}; 181 + 182 + if (!fs.existsSync(localeDir)) { 183 + return keysByNamespace; 184 + } 185 + 186 + const ftlFiles = fs 187 + .readdirSync(localeDir) 188 + .filter((file) => file.endsWith(".ftl")); 189 + 190 + for (const file of ftlFiles) { 191 + const namespace = path.basename(file, ".ftl"); 192 + const keys = new Set(); 193 + 194 + const content = fs.readFileSync(path.join(localeDir, file), "utf8"); 195 + const lines = content.split("\n"); 196 + 197 + for (const line of lines) { 198 + const trimmed = line.trim(); 199 + const keyMatch = trimmed.match(/^([a-zA-Z][a-zA-Z0-9_-]*)\s*=/); 200 + if (keyMatch) { 201 + keys.add(keyMatch[1]); 202 + } 203 + } 204 + 205 + keysByNamespace[namespace] = keys; 206 + } 207 + 208 + return keysByNamespace; 209 + } 210 + 211 + /** 212 + * Get all namespaces (json files) in the locale directory 213 + */ 214 + function getNamespaces(localeJsonDir) { 215 + if (!fs.existsSync(localeJsonDir)) { 216 + return []; 217 + } 218 + 219 + return fs 220 + .readdirSync(localeJsonDir) 221 + .filter((file) => file.endsWith(".json")) 222 + .map((file) => path.basename(file, ".json")); 223 + } 224 + 225 + /** 226 + * Add new keys to a .ftl file, converting context/plural keys to Fluent format 227 + */ 228 + function addKeysToFtlFile(localeDir, namespace, newKeys, locale) { 229 + const targetFile = path.join(localeDir, `${namespace}.ftl`); 230 + 231 + // Create file with header if it doesn't exist 232 + if (!fs.existsSync(localeDir)) { 233 + fs.mkdirSync(localeDir, { recursive: true }); 234 + } 235 + 236 + if (!fs.existsSync(targetFile)) { 237 + const languageName = manifest.languages[locale]?.name || locale; 238 + const namespaceName = 239 + namespace.charAt(0).toUpperCase() + namespace.slice(1); 240 + const header = `# ${namespaceName} translations - ${languageName}\n\n`; 241 + fs.writeFileSync(targetFile, header); 242 + } 243 + 244 + // Group keys by base to detect context/plural variants 245 + const keyGroups = groupKeysByBase(newKeys); 246 + 247 + // Build content 248 + const fluentEntries = []; 249 + for (const [baseKey, group] of Object.entries(keyGroups)) { 250 + fluentEntries.push(convertToFluentFormat(baseKey, group)); 251 + } 252 + 253 + // Append new keys 254 + let content = fs.readFileSync(targetFile, "utf8"); 255 + 256 + if (!content.endsWith("\n")) { 257 + content += "\n"; 258 + } 259 + 260 + content += "\n# Newly extracted keys\n"; 261 + content += fluentEntries.join("\n\n") + "\n"; 262 + 263 + fs.writeFileSync(targetFile, content); 264 + 265 + return targetFile; 266 + } 267 + 268 + /** 269 + * Migrate extracted JSON keys to .ftl files 270 + */ 271 + function migrateKeysToFtl() { 272 + console.log("🔄 Analyzing extracted keys..."); 273 + 274 + const newKeysByLocaleAndNamespace = {}; // locale -> namespace -> [keys] 275 + 276 + // Process each locale 277 + for (const locale of manifest.supportedLocales) { 278 + const localeJsonDir = path.join(LOCALES_JSON_DIR, locale); 279 + const localeFtlDir = path.join(LOCALES_FTL_DIR, locale); 280 + 281 + if (!fs.existsSync(localeJsonDir)) { 282 + console.log(`⚠️ No JSON files found for ${locale}`); 283 + continue; 284 + } 285 + 286 + // Get all namespaces (json files) 287 + const namespaces = getNamespaces(localeJsonDir); 288 + 289 + if (namespaces.length === 0) { 290 + console.log(`⚠️ No namespace files found for ${locale}`); 291 + continue; 292 + } 293 + 294 + // Get existing keys from .ftl files 295 + const existingKeysByNamespace = getExistingFtlKeys(localeFtlDir); 296 + 297 + // Process each namespace 298 + for (const namespace of namespaces) { 299 + const jsonPath = path.join(localeJsonDir, `${namespace}.json`); 300 + const jsonContent = JSON.parse(fs.readFileSync(jsonPath, "utf8")); 301 + const extractedKeys = Object.keys(jsonContent); 302 + 303 + // Get existing keys for this namespace 304 + const existingKeys = existingKeysByNamespace[namespace] || new Set(); 305 + 306 + // Find new keys 307 + const newKeys = extractedKeys.filter((key) => !existingKeys.has(key)); 308 + 309 + if (newKeys.length > 0) { 310 + if (!newKeysByLocaleAndNamespace[locale]) { 311 + newKeysByLocaleAndNamespace[locale] = {}; 312 + } 313 + newKeysByLocaleAndNamespace[locale][namespace] = newKeys; 314 + } 315 + } 316 + } 317 + 318 + // Check if there are any new keys 319 + const hasNewKeys = Object.keys(newKeysByLocaleAndNamespace).length > 0; 320 + 321 + if (!hasNewKeys) { 322 + console.log( 323 + "\n🎉 No new keys found. All extracted keys already exist in .ftl files.", 324 + ); 325 + return; 326 + } 327 + 328 + // Display found keys 329 + console.log("\n📊 New keys found:"); 330 + for (const locale of Object.keys(newKeysByLocaleAndNamespace)) { 331 + console.log(`\n${locale}:`); 332 + for (const namespace of Object.keys(newKeysByLocaleAndNamespace[locale])) { 333 + const keys = newKeysByLocaleAndNamespace[locale][namespace]; 334 + console.log(` 📝 ${namespace} (${keys.length} new keys):`); 335 + keys.forEach((key) => console.log(` - ${key}`)); 336 + } 337 + } 338 + 339 + // If --add-to flag is provided, add keys to that namespace 340 + if (addToNamespace) { 341 + console.log(`\n✍️ Adding new keys to ${addToNamespace}.ftl files...`); 342 + 343 + let totalAdded = 0; 344 + const processedFiles = []; 345 + 346 + for (const locale of Object.keys(newKeysByLocaleAndNamespace)) { 347 + const localeFtlDir = path.join(LOCALES_FTL_DIR, locale); 348 + const namespacesForLocale = newKeysByLocaleAndNamespace[locale]; 349 + 350 + // Collect all new keys across all namespaces for this locale 351 + const allNewKeys = []; 352 + for (const namespace of Object.keys(namespacesForLocale)) { 353 + allNewKeys.push(...namespacesForLocale[namespace]); 354 + } 355 + 356 + if (allNewKeys.length === 0) continue; 357 + 358 + // Add all keys to the specified namespace 359 + const targetFile = addKeysToFtlFile( 360 + localeFtlDir, 361 + addToNamespace, 362 + allNewKeys, 363 + locale, 364 + ); 365 + processedFiles.push(path.relative(process.cwd(), targetFile)); 366 + totalAdded += allNewKeys.length; 367 + 368 + console.log( 369 + `✅ ${locale}: Added ${allNewKeys.length} keys to ${addToNamespace}.ftl`, 370 + ); 371 + } 372 + 373 + console.log( 374 + `\n🎉 Migration complete! Added ${totalAdded} new keys to ${addToNamespace}.ftl files.`, 375 + ); 376 + console.log("\nModified files:"); 377 + processedFiles.forEach((file) => console.log(` 📄 ${file}`)); 378 + 379 + console.log("\n💡 Next steps:"); 380 + console.log(" 1. Review the new keys in your .ftl files"); 381 + console.log( 382 + " 2. Convert TODO placeholders to proper Fluent translations", 383 + ); 384 + console.log(" 3. Run `pnpm i18n:compile` to update compiled JSON files"); 385 + } else { 386 + // Just report 387 + let totalNewKeys = 0; 388 + const namespaceSet = new Set(); 389 + 390 + for (const locale of Object.keys(newKeysByLocaleAndNamespace)) { 391 + for (const namespace of Object.keys( 392 + newKeysByLocaleAndNamespace[locale], 393 + )) { 394 + namespaceSet.add(namespace); 395 + totalNewKeys += newKeysByLocaleAndNamespace[locale][namespace].length; 396 + } 397 + } 398 + 399 + console.log( 400 + `\n💡 Found ${totalNewKeys} new keys across ${namespaceSet.size} namespace(s).`, 401 + ); 402 + console.log("\nTo add these keys to a specific namespace file, run:"); 403 + Array.from(namespaceSet).forEach((ns) => { 404 + console.log(` node migrate-i18n.js --add-to=${ns}`); 405 + }); 406 + } 407 + } 408 + 409 + function main() { 410 + migrateKeysToFtl(); 411 + } 412 + 413 + main();
+816 -169
pnpm-lock.yaml
··· 19 version: 4.1.0(prettier@3.4.2)(typescript@5.8.3) 20 quicktype: 21 specifier: ^23.2.6 22 - version: 23.2.6(@swc/core@1.8.0(@swc/helpers@0.5.17))(encoding@0.1.13) 23 devDependencies: 24 '@atproto/lex-cli': 25 specifier: ^0.9.4 ··· 35 version: 5.59.1(@types/node@22.15.17)(typescript@5.8.3) 36 lerna: 37 specifier: ^8.2.2 38 - version: 8.2.2(@swc/core@1.8.0(@swc/helpers@0.5.17))(encoding@0.1.13) 39 lint-staged: 40 specifier: ^15.2.10 41 version: 15.2.10 ··· 540 '@types/sdp-transform': 541 specifier: ^2.15.0 542 version: 2.15.0 543 nodemon: 544 specifier: ^3.1.10 545 version: 3.1.10 546 tsup: 547 specifier: ^8.5.0 548 - version: 8.5.0(@swc/core@1.8.0(@swc/helpers@0.5.17))(jiti@2.4.2)(postcss@8.5.3)(typescript@5.8.3)(yaml@2.5.1) 549 550 js/config-react-native-webrtc: 551 dependencies: ··· 610 version: 7.5.0(@electron/fuses@1.8.0) 611 '@electron-forge/plugin-webpack': 612 specifier: ^7.5.0 613 - version: 7.5.0(@swc/core@1.8.0(@swc/helpers@0.5.17))(bufferutil@4.0.8)(utf-8-validate@5.0.10) 614 '@electron-forge/publisher-s3': 615 specifier: ^7.5.0 616 version: 7.5.0 ··· 625 version: 0.5.10 626 '@typescript-eslint/eslint-plugin': 627 specifier: ^8.13.0 628 - version: 8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3) 629 '@typescript-eslint/parser': 630 specifier: ^8.13.0 631 - version: 8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3) 632 '@vercel/webpack-asset-relocator-loader': 633 specifier: 1.7.3 634 version: 1.7.3 635 css-loader: 636 specifier: ^7.1.2 637 - version: 7.1.2(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))) 638 electron: 639 specifier: 33.0.2 640 version: 33.0.2 641 eslint: 642 specifier: ^9.14.0 643 - version: 9.14.0(jiti@2.4.2) 644 eslint-plugin-import: 645 specifier: ^2.31.0 646 - version: 2.31.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.2)) 647 fork-ts-checker-webpack-plugin: 648 specifier: ^9.0.2 649 - version: 9.0.2(typescript@5.6.3)(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))) 650 node-loader: 651 specifier: ^2.0.0 652 - version: 2.0.0(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))) 653 style-loader: 654 specifier: ^4.0.0 655 - version: 4.0.0(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))) 656 ts-loader: 657 specifier: ^9.5.1 658 - version: 9.5.1(typescript@5.6.3)(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))) 659 ts-node: 660 specifier: ^10.9.2 661 - version: 10.9.2(@swc/core@1.8.0(@swc/helpers@0.5.17))(@types/node@22.15.17)(typescript@5.6.3) 662 typescript: 663 specifier: ~5.6.3 664 version: 5.6.3 ··· 697 dependencies: 698 '@astrojs/starlight': 699 specifier: ^0.34.1 700 - version: 0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)) 701 '@fontsource/atkinson-hyperlegible-next': 702 specifier: ^5.2.2 703 version: 5.2.2 ··· 706 version: link:../app 707 astro: 708 specifier: ^5.6.1 709 - version: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1) 710 sharp: 711 specifier: ^0.32.5 712 version: 0.32.6 713 starlight-openapi: 714 specifier: ^0.17.0 715 - version: 0.17.0(@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)))(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1))(openapi-types@12.1.3) 716 starlight-openapi-rapidoc: 717 specifier: ^0.8.1-beta 718 - version: 0.8.1-beta(@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)))(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1))(openapi-types@12.1.3) 719 streamplace: 720 specifier: workspace:* 721 version: link:../streamplace ··· 1803 '@craftzdog/react-native-buffer@6.0.5': 1804 resolution: {integrity: sha512-Av+YqfwA9e7jhgI9GFE/gTpwl/H+dRRLmZyJPOpKTy107j9Oj7oXlm3/YiMNz+C/CEGqcKAOqnXDLs4OL6AAFw==} 1805 1806 '@cspotcode/source-map-support@0.8.1': 1807 resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 1808 engines: {node: '>=12'} ··· 2776 cpu: [x64] 2777 os: [win32] 2778 2779 '@ioredis/commands@1.3.1': 2780 resolution: {integrity: sha512-bYtU8avhGIcje3IhvF9aSjsa5URMZBHnwKtOvXsT4sfYy9gppW11gLPT/9oNqlJZD47yPKveQFTAFWpHjKvUoQ==} 2781 2782 '@ipld/dag-cbor@7.0.3': 2783 resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 2784 2785 '@isaacs/cliui@8.0.2': 2786 resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 2787 engines: {node: '>=12'} ··· 3922 '@scure/bip39@1.4.0': 3923 resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} 3924 3925 '@sentry-internal/browser-utils@8.54.0': 3926 resolution: {integrity: sha512-DKWCqb4YQosKn6aD45fhKyzhkdG7N6goGFDeyTaJFREJDFVDXiNDsYZu30nJ6BxMM7uQIaARhPAC5BXfoED3pQ==} 3927 engines: {node: '>=14.18'} ··· 4078 '@sindresorhus/is@4.6.0': 4079 resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} 4080 engines: {node: '>=10'} 4081 4082 '@sinonjs/commons@3.0.1': 4083 resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} ··· 4454 '@spacingbat3/lss@1.2.0': 4455 resolution: {integrity: sha512-aywhxHNb6l7COooF3m439eT/6QN8E/RSl5IVboSKthMHcp0GlZYMSoS7546rqDLmFRxTD8f1tu/NIS9vtDwYAg==} 4456 4457 - '@swc/core-darwin-arm64@1.8.0': 4458 - resolution: {integrity: sha512-TIus1/SE/Ud4g84hCnchcagu+LfyndSDy5r5qf64nflojejDidPU9Fp1InzQhQpEgIpntnZID/KFCP5rQnvsIw==} 4459 engines: {node: '>=10'} 4460 cpu: [arm64] 4461 os: [darwin] 4462 4463 - '@swc/core-darwin-x64@1.8.0': 4464 - resolution: {integrity: sha512-yCb1FHCX/HUmNRGB1X3CFJ1WPKXMosZVUe3K2TrosCGvytwgaLoW5FS0bZg5Qv6cEUERQBg75cJnOUPwLLRCVg==} 4465 engines: {node: '>=10'} 4466 cpu: [x64] 4467 os: [darwin] 4468 4469 - '@swc/core-linux-arm-gnueabihf@1.8.0': 4470 - resolution: {integrity: sha512-6TdjVdiLaSW+eGiHKEojMDlx673nowrPHa6nM6toWgRzy8tIZgjPOguVKJDoMnoHuvO7SkOLCUiMRw0rTskypA==} 4471 engines: {node: '>=10'} 4472 cpu: [arm] 4473 os: [linux] 4474 4475 - '@swc/core-linux-arm64-gnu@1.8.0': 4476 - resolution: {integrity: sha512-TU2YcTornnyZiJUabRuk7Xtvzaep11FwK77IkFomjN9/Os5s25B8ea652c2fAQMe9RsM84FPVmX303ohxavjKQ==} 4477 engines: {node: '>=10'} 4478 cpu: [arm64] 4479 os: [linux] 4480 4481 - '@swc/core-linux-arm64-musl@1.8.0': 4482 - resolution: {integrity: sha512-2CdPTEKxx2hJIj/B0fn8L8k2coo/FDS95smzXyi2bov5FcrP6Ohboq8roFBYgj38fkHusXjY8qt+cCH7yXWAdg==} 4483 engines: {node: '>=10'} 4484 cpu: [arm64] 4485 os: [linux] 4486 4487 - '@swc/core-linux-x64-gnu@1.8.0': 4488 - resolution: {integrity: sha512-14StQBifCs/AMsySdU95OmwNJr9LOVqo6rcTFt2b7XaWpe/AyeuMJFxcndLgUewksJHpfepzCTwNdbcYmuNo6A==} 4489 engines: {node: '>=10'} 4490 cpu: [x64] 4491 os: [linux] 4492 4493 - '@swc/core-linux-x64-musl@1.8.0': 4494 - resolution: {integrity: sha512-qemJnAQlYqKCfWNqVv5SG8uGvw8JotwU86cuFUkq35oTB+dsSFM3b83+B1giGTKKFOh2nfWT7bvPXTKk+aUjew==} 4495 engines: {node: '>=10'} 4496 cpu: [x64] 4497 os: [linux] 4498 4499 - '@swc/core-win32-arm64-msvc@1.8.0': 4500 - resolution: {integrity: sha512-fXt5vZbnrVdXZzGj2qRnZtY3uh+NtLCaFjS2uD9w8ssdbjhbDZYlJCj2JINOjv35ttEfAD2goiYmVa5P/Ypl+g==} 4501 engines: {node: '>=10'} 4502 cpu: [arm64] 4503 os: [win32] 4504 4505 - '@swc/core-win32-ia32-msvc@1.8.0': 4506 - resolution: {integrity: sha512-W4FA2vSJ+bGYiTj6gspxghSdKQNLfLMo65AH07u797x7I+YJj8amnFY/fQRlroDv5Dez/FHTv14oPlTlNFUpIw==} 4507 engines: {node: '>=10'} 4508 cpu: [ia32] 4509 os: [win32] 4510 4511 - '@swc/core-win32-x64-msvc@1.8.0': 4512 - resolution: {integrity: sha512-Il4y8XwKDV0Bnk0IpA00kGcSQC6I9XOIinW5egTutnwIDfDE+qsD0j+0isW5H76GetY3/Ze0lVxeOXLAUgpegA==} 4513 engines: {node: '>=10'} 4514 cpu: [x64] 4515 os: [win32] 4516 4517 - '@swc/core@1.8.0': 4518 - resolution: {integrity: sha512-EF8C5lp1RKMp3426tAKwQyVbg4Zcn/2FDax3cz8EcOXYQJM/ctB687IvBm9Ciej1wMcQ/dMRg+OB4Xl8BGLBoA==} 4519 engines: {node: '>=10'} 4520 peerDependencies: 4521 - '@swc/helpers': '*' 4522 peerDependenciesMeta: 4523 '@swc/helpers': 4524 optional: true ··· 4529 '@swc/helpers@0.5.17': 4530 resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} 4531 4532 - '@swc/types@0.1.14': 4533 - resolution: {integrity: sha512-PbSmTiYCN+GMrvfjrMo9bdY+f2COnwbdnoMw7rqU/PI5jXpKjxOGZ0qqZCImxnT81NkNsKnmEpvu+hRXLBeCJg==} 4534 4535 '@szmarczak/http-timer@4.0.6': 4536 resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} ··· 5723 resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} 5724 engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 5725 5726 character-entities-html4@2.1.0: 5727 resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} 5728 ··· 5737 5738 chardet@0.7.0: 5739 resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 5740 5741 cheerio-select@2.1.0: 5742 resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} ··· 5752 chokidar@4.0.3: 5753 resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 5754 engines: {node: '>= 14.16.0'} 5755 5756 chownr@1.1.4: 5757 resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} ··· 5832 cli-spinners@2.9.2: 5833 resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 5834 engines: {node: '>=6'} 5835 5836 cli-truncate@3.1.0: 5837 resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} ··· 5845 resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} 5846 engines: {node: '>= 10'} 5847 5848 cliui@6.0.0: 5849 resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} 5850 ··· 5961 commander@12.1.0: 5962 resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} 5963 engines: {node: '>=18'} 5964 5965 commander@2.20.3: 5966 resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} ··· 6141 6142 cross-spawn@7.0.3: 6143 resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 6144 engines: {node: '>= 8'} 6145 6146 cross-zip@4.0.1: ··· 6886 resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 6887 engines: {node: '>=16.17'} 6888 6889 expand-template@2.0.3: 6890 resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 6891 engines: {node: '>=6'} ··· 7178 resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 7179 engines: {node: '>=8'} 7180 7181 file-entry-cache@8.0.0: 7182 resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 7183 engines: {node: '>=16.0.0'} ··· 7440 resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} 7441 engines: {node: '>=18'} 7442 7443 get-folder-size@2.0.1: 7444 resolution: {integrity: sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==} 7445 hasBin: true ··· 7508 resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 7509 engines: {node: '>=16'} 7510 7511 get-symbol-description@1.0.2: 7512 resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} 7513 engines: {node: '>= 0.4'} ··· 7570 glob@10.4.5: 7571 resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 7572 hasBin: true 7573 7574 glob@7.2.3: 7575 resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} ··· 7920 resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 7921 engines: {node: '>=16.17.0'} 7922 7923 humanize-ms@1.2.1: 7924 resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} 7925 ··· 7934 i18next-browser-languagedetector@8.2.0: 7935 resolution: {integrity: sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==} 7936 7937 i18next-fluent@2.0.0: 7938 resolution: {integrity: sha512-k69kvftj02YNMtls1oy5TkbsjEDUlkfXcApBIv3gCnQTTDPTNVekweIGC6V5m/yC2ce6SNqkzlPpdB24OgEEgg==} 7939 ··· 7945 engines: {node: ^18.0.0 || ^20.0.0 || ^22.0.0, npm: '>=6', yarn: '>=1'} 7946 hasBin: true 7947 7948 i18next-resources-to-backend@1.2.1: 7949 resolution: {integrity: sha512-okHbVA+HZ7n1/76MsfhPqDou0fptl2dAlhRDu2ideXloRRduzHsqDOznJBef+R3DFZnbvWoBW+KxJ7fnFjd6Yw==} 7950 ··· 7965 7966 iconv-lite@0.6.3: 7967 resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 7968 engines: {node: '>=0.10.0'} 7969 7970 icss-utils@5.1.0: ··· 8064 inline-style-prefixer@7.0.1: 8065 resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} 8066 8067 inquirer@8.2.6: 8068 resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} 8069 engines: {node: '>=12.0.0'} ··· 8205 resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 8206 engines: {node: '>=8'} 8207 8208 is-lambda@1.0.1: 8209 resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} 8210 ··· 8283 is-stream@3.0.0: 8284 resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 8285 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 8286 8287 is-string@1.0.7: 8288 resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} ··· 8304 resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 8305 engines: {node: '>=10'} 8306 8307 is-url@1.2.4: 8308 resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} 8309 ··· 8426 resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 8427 hasBin: true 8428 8429 jose@4.15.9: 8430 resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==} 8431 ··· 8507 8508 jsonc-parser@3.2.0: 8509 resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 8510 8511 jsonfile@4.0.0: 8512 resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} ··· 8889 log-symbols@4.1.0: 8890 resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 8891 engines: {node: '>=10'} 8892 8893 log-update@5.0.1: 8894 resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} ··· 8918 lru-cache@10.4.3: 8919 resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 8920 8921 lru-cache@5.1.1: 8922 resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 8923 ··· 9334 minimalistic-crypto-utils@1.0.1: 9335 resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} 9336 9337 minimatch@3.0.5: 9338 resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} 9339 ··· 9482 mute-stream@1.0.0: 9483 resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} 9484 engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 9485 9486 mz@2.7.0: 9487 resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} ··· 9691 resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 9692 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 9693 9694 npmlog@6.0.2: 9695 resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} 9696 engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} ··· 9833 ora@5.4.1: 9834 resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 9835 engines: {node: '>=10'} 9836 9837 os-tmpdir@1.0.2: 9838 resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} ··· 10002 parse-latin@7.0.0: 10003 resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} 10004 10005 parse-passwd@1.0.0: 10006 resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} 10007 engines: {node: '>=0.10.0'} ··· 10074 path-scurry@1.11.1: 10075 resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 10076 engines: {node: '>=16 || 14 >=14.18'} 10077 10078 path-to-regexp@0.1.10: 10079 resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} ··· 10342 resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 10343 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 10344 10345 prismjs@1.30.0: 10346 resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} 10347 engines: {node: '>=6'} ··· 10772 resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 10773 engines: {node: '>= 14.18.0'} 10774 10775 real-require@0.2.0: 10776 resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 10777 engines: {node: '>= 12.13.0'} ··· 11080 resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} 11081 engines: {node: '>=0.12.0'} 11082 11083 run-parallel@1.2.0: 11084 resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 11085 11086 rxjs@7.8.1: 11087 resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 11088 11089 safe-array-concat@1.1.2: 11090 resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} ··· 11440 resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 11441 engines: {node: '>= 0.8'} 11442 11443 stream-browserify@3.0.0: 11444 resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} 11445 ··· 11494 resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} 11495 engines: {node: '>=18'} 11496 11497 string.prototype.padend@3.1.6: 11498 resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} 11499 engines: {node: '>= 0.4'} ··· 11530 resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 11531 engines: {node: '>=12'} 11532 11533 strip-bom@3.0.0: 11534 resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 11535 engines: {node: '>=4'} ··· 11549 strip-final-newline@3.0.0: 11550 resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 11551 engines: {node: '>=12'} 11552 11553 strip-indent@3.0.0: 11554 resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} ··· 11643 resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 11644 engines: {node: '>= 0.4'} 11645 11646 symlink-or-copy@1.3.1: 11647 resolution: {integrity: sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==} 11648 ··· 12106 12107 unicode-trie@2.0.0: 12108 resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} 12109 12110 unified@11.0.5: 12111 resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} ··· 12630 resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} 12631 engines: {node: '>=18'} 12632 12633 wrappy@1.0.2: 12634 resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 12635 ··· 12752 engines: {node: '>= 14'} 12753 hasBin: true 12754 12755 yargs-parser@18.1.3: 12756 resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} 12757 engines: {node: '>=6'} ··· 12893 transitivePeerDependencies: 12894 - supports-color 12895 12896 - '@astrojs/mdx@4.2.6(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1))': 12897 dependencies: 12898 '@astrojs/markdown-remark': 6.3.1 12899 '@mdx-js/mdx': 3.1.0(acorn@8.14.1) 12900 acorn: 8.14.1 12901 - astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1) 12902 es-module-lexer: 1.7.0 12903 estree-util-visit: 2.0.0 12904 hast-util-to-html: 9.0.5 ··· 12922 stream-replace-string: 2.0.0 12923 zod: 3.24.4 12924 12925 - '@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1))': 12926 dependencies: 12927 '@astrojs/markdown-remark': 6.3.1 12928 - '@astrojs/mdx': 4.2.6(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)) 12929 '@astrojs/sitemap': 3.3.1 12930 '@pagefind/default-ui': 1.3.0 12931 '@types/hast': 3.0.4 12932 '@types/js-yaml': 4.0.9 12933 '@types/mdast': 4.0.4 12934 - astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1) 12935 - astro-expressive-code: 0.41.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)) 12936 bcp-47: 2.1.0 12937 hast-util-from-html: 2.0.3 12938 hast-util-select: 6.0.4 ··· 14936 - react 14937 - react-native 14938 14939 '@cspotcode/source-map-support@0.8.1': 14940 dependencies: 14941 '@jridgewell/trace-mapping': 0.3.9 ··· 15138 - bluebird 15139 - supports-color 15140 15141 - '@electron-forge/plugin-webpack@7.5.0(@swc/core@1.8.0(@swc/helpers@0.5.17))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': 15142 dependencies: 15143 '@electron-forge/core-utils': 7.5.0 15144 '@electron-forge/plugin-base': 7.5.0 ··· 15148 debug: 4.4.0(supports-color@5.5.0) 15149 fast-glob: 3.3.2 15150 fs-extra: 10.1.0 15151 - html-webpack-plugin: 5.6.0(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))) 15152 listr2: 7.0.2 15153 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 15154 - webpack-dev-server: 4.15.2(bufferutil@4.0.8)(debug@4.4.0)(utf-8-validate@5.0.10)(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))) 15155 webpack-merge: 5.10.0 15156 transitivePeerDependencies: 15157 - '@rspack/core' ··· 15484 '@esbuild/win32-x64@0.25.3': 15485 optional: true 15486 15487 - '@eslint-community/eslint-utils@4.4.1(eslint@9.14.0(jiti@2.4.2))': 15488 dependencies: 15489 - eslint: 9.14.0(jiti@2.4.2) 15490 eslint-visitor-keys: 3.4.3 15491 15492 '@eslint-community/regexpp@4.12.1': {} ··· 16496 '@img/sharp-win32-x64@0.33.5': 16497 optional: true 16498 16499 '@ioredis/commands@1.3.1': {} 16500 16501 '@ipld/dag-cbor@7.0.3': ··· 16503 cborg: 1.10.2 16504 multiformats: 9.9.0 16505 16506 '@isaacs/cliui@8.0.2': 16507 dependencies: 16508 string-width: 5.1.2 ··· 16617 16618 '@leichtgewicht/ip-codec@2.0.5': {} 16619 16620 - '@lerna/create@8.2.2(@swc/core@1.8.0(@swc/helpers@0.5.17))(encoding@0.1.13)(typescript@5.8.3)': 16621 dependencies: 16622 '@npmcli/arborist': 7.5.4 16623 '@npmcli/package-json': 5.2.0 16624 '@npmcli/run-script': 8.1.0 16625 - '@nx/devkit': 20.0.8(nx@20.0.8(@swc/core@1.8.0(@swc/helpers@0.5.17))) 16626 '@octokit/plugin-enterprise-rest': 6.0.1 16627 '@octokit/rest': 20.1.2 16628 aproba: 2.0.0 ··· 16661 npm-package-arg: 11.0.2 16662 npm-packlist: 8.0.2 16663 npm-registry-fetch: 17.1.0 16664 - nx: 20.0.8(@swc/core@1.8.0(@swc/helpers@0.5.17)) 16665 p-map: 4.0.0 16666 p-map-series: 2.1.0 16667 p-queue: 6.6.2 ··· 16708 dependencies: 16709 cross-spawn: 7.0.3 16710 16711 - '@mark.probst/typescript-json-schema@0.55.0(@swc/core@1.8.0(@swc/helpers@0.5.17))': 16712 dependencies: 16713 '@types/json-schema': 7.0.15 16714 '@types/node': 16.18.126 16715 glob: 7.2.3 16716 path-equal: 1.2.5 16717 safe-stable-stringify: 2.5.0 16718 - ts-node: 10.9.2(@swc/core@1.8.0(@swc/helpers@0.5.17))(@types/node@16.18.126)(typescript@4.9.4) 16719 typescript: 4.9.4 16720 yargs: 17.7.2 16721 transitivePeerDependencies: ··· 16931 - bluebird 16932 - supports-color 16933 16934 - '@nx/devkit@20.0.8(nx@20.0.8(@swc/core@1.8.0(@swc/helpers@0.5.17)))': 16935 dependencies: 16936 ejs: 3.1.10 16937 enquirer: 2.3.6 16938 ignore: 5.3.1 16939 minimatch: 9.0.3 16940 - nx: 20.0.8(@swc/core@1.8.0(@swc/helpers@0.5.17)) 16941 semver: 7.7.1 16942 tmp: 0.2.3 16943 tslib: 2.8.1 ··· 17825 '@noble/hashes': 1.5.0 17826 '@scure/base': 1.1.9 17827 17828 '@sentry-internal/browser-utils@8.54.0': 17829 dependencies: 17830 '@sentry/core': 8.54.0 ··· 17999 '@sinclair/typebox@0.27.8': {} 18000 18001 '@sindresorhus/is@4.6.0': {} 18002 18003 '@sinonjs/commons@3.0.1': 18004 dependencies: ··· 18613 18614 '@spacingbat3/lss@1.2.0': {} 18615 18616 - '@swc/core-darwin-arm64@1.8.0': 18617 optional: true 18618 18619 - '@swc/core-darwin-x64@1.8.0': 18620 optional: true 18621 18622 - '@swc/core-linux-arm-gnueabihf@1.8.0': 18623 optional: true 18624 18625 - '@swc/core-linux-arm64-gnu@1.8.0': 18626 optional: true 18627 18628 - '@swc/core-linux-arm64-musl@1.8.0': 18629 optional: true 18630 18631 - '@swc/core-linux-x64-gnu@1.8.0': 18632 optional: true 18633 18634 - '@swc/core-linux-x64-musl@1.8.0': 18635 optional: true 18636 18637 - '@swc/core-win32-arm64-msvc@1.8.0': 18638 optional: true 18639 18640 - '@swc/core-win32-ia32-msvc@1.8.0': 18641 optional: true 18642 18643 - '@swc/core-win32-x64-msvc@1.8.0': 18644 optional: true 18645 18646 - '@swc/core@1.8.0(@swc/helpers@0.5.17)': 18647 dependencies: 18648 '@swc/counter': 0.1.3 18649 - '@swc/types': 0.1.14 18650 optionalDependencies: 18651 - '@swc/core-darwin-arm64': 1.8.0 18652 - '@swc/core-darwin-x64': 1.8.0 18653 - '@swc/core-linux-arm-gnueabihf': 1.8.0 18654 - '@swc/core-linux-arm64-gnu': 1.8.0 18655 - '@swc/core-linux-arm64-musl': 1.8.0 18656 - '@swc/core-linux-x64-gnu': 1.8.0 18657 - '@swc/core-linux-x64-musl': 1.8.0 18658 - '@swc/core-win32-arm64-msvc': 1.8.0 18659 - '@swc/core-win32-ia32-msvc': 1.8.0 18660 - '@swc/core-win32-x64-msvc': 1.8.0 18661 '@swc/helpers': 0.5.17 18662 - optional: true 18663 18664 - '@swc/counter@0.1.3': 18665 - optional: true 18666 18667 '@swc/helpers@0.5.17': 18668 dependencies: 18669 tslib: 2.8.1 18670 18671 - '@swc/types@0.1.14': 18672 dependencies: 18673 '@swc/counter': 0.1.3 18674 - optional: true 18675 18676 '@szmarczak/http-timer@4.0.6': 18677 dependencies: ··· 18984 '@types/node': 22.15.17 18985 optional: true 18986 18987 - '@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3)': 18988 dependencies: 18989 '@eslint-community/regexpp': 4.12.1 18990 - '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3) 18991 '@typescript-eslint/scope-manager': 8.13.0 18992 - '@typescript-eslint/type-utils': 8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3) 18993 - '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3) 18994 '@typescript-eslint/visitor-keys': 8.13.0 18995 - eslint: 9.14.0(jiti@2.4.2) 18996 graphemer: 1.4.0 18997 ignore: 5.3.1 18998 natural-compare: 1.4.0 ··· 19002 transitivePeerDependencies: 19003 - supports-color 19004 19005 - '@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3)': 19006 dependencies: 19007 '@typescript-eslint/scope-manager': 8.13.0 19008 '@typescript-eslint/types': 8.13.0 19009 '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) 19010 '@typescript-eslint/visitor-keys': 8.13.0 19011 debug: 4.4.0(supports-color@5.5.0) 19012 - eslint: 9.14.0(jiti@2.4.2) 19013 optionalDependencies: 19014 typescript: 5.6.3 19015 transitivePeerDependencies: ··· 19020 '@typescript-eslint/types': 8.13.0 19021 '@typescript-eslint/visitor-keys': 8.13.0 19022 19023 - '@typescript-eslint/type-utils@8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3)': 19024 dependencies: 19025 '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) 19026 - '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3) 19027 debug: 4.4.0(supports-color@5.5.0) 19028 ts-api-utils: 1.4.0(typescript@5.6.3) 19029 optionalDependencies: ··· 19049 transitivePeerDependencies: 19050 - supports-color 19051 19052 - '@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3)': 19053 dependencies: 19054 - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.2)) 19055 '@typescript-eslint/scope-manager': 8.13.0 19056 '@typescript-eslint/types': 8.13.0 19057 '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) 19058 - eslint: 9.14.0(jiti@2.4.2) 19059 transitivePeerDependencies: 19060 - supports-color 19061 - typescript ··· 19487 19488 astring@1.9.0: {} 19489 19490 - astro-expressive-code@0.41.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)): 19491 dependencies: 19492 - astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1) 19493 rehype-expressive-code: 0.41.2 19494 19495 - astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1): 19496 dependencies: 19497 '@astrojs/compiler': 2.12.0 19498 '@astrojs/internal-helpers': 0.6.1 ··· 19545 unist-util-visit: 5.0.0 19546 unstorage: 1.16.0(idb-keyval@6.2.1)(ioredis@5.7.0) 19547 vfile: 6.0.3 19548 - vite: 6.3.4(@types/node@22.15.17)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.5.1) 19549 - vitefu: 1.0.6(vite@6.3.4(@types/node@22.15.17)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.5.1)) 19550 xxhash-wasm: 1.1.0 19551 yargs-parser: 21.1.1 19552 yocto-spinner: 0.2.2 ··· 20191 20192 chalk@5.4.1: {} 20193 20194 character-entities-html4@2.1.0: {} 20195 20196 character-entities-legacy@3.0.0: {} ··· 20200 character-reference-invalid@2.0.1: {} 20201 20202 chardet@0.7.0: {} 20203 20204 cheerio-select@2.1.0: 20205 dependencies: ··· 20240 dependencies: 20241 readdirp: 4.1.2 20242 20243 chownr@1.1.4: {} 20244 20245 chownr@2.0.0: {} ··· 20313 20314 cli-spinners@2.9.2: {} 20315 20316 cli-truncate@3.1.0: 20317 dependencies: 20318 slice-ansi: 5.0.0 ··· 20324 string-width: 7.2.0 20325 20326 cli-width@3.0.0: {} 20327 20328 cliui@6.0.0: 20329 dependencies: ··· 20434 typical: 7.3.0 20435 20436 commander@12.1.0: {} 20437 20438 commander@2.20.3: {} 20439 ··· 20640 shebang-command: 2.0.0 20641 which: 2.0.2 20642 20643 cross-zip@4.0.1: {} 20644 20645 crossws@0.3.4: ··· 20654 dependencies: 20655 hyphenate-style-name: 1.1.0 20656 20657 - css-loader@7.1.2(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))): 20658 dependencies: 20659 icss-utils: 5.1.0(postcss@8.5.3) 20660 postcss: 8.5.3 ··· 20665 postcss-value-parser: 4.2.0 20666 semver: 7.7.1 20667 optionalDependencies: 20668 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 20669 20670 css-select@4.3.0: 20671 dependencies: ··· 21296 transitivePeerDependencies: 21297 - supports-color 21298 21299 - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.14.0(jiti@2.4.2)): 21300 dependencies: 21301 debug: 3.2.7 21302 optionalDependencies: 21303 - '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3) 21304 - eslint: 9.14.0(jiti@2.4.2) 21305 eslint-import-resolver-node: 0.3.9 21306 transitivePeerDependencies: 21307 - supports-color 21308 21309 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.2)): 21310 dependencies: 21311 '@rtsao/scc': 1.1.0 21312 array-includes: 3.1.8 ··· 21315 array.prototype.flatmap: 1.3.2 21316 debug: 3.2.7 21317 doctrine: 2.1.0 21318 - eslint: 9.14.0(jiti@2.4.2) 21319 eslint-import-resolver-node: 0.3.9 21320 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.14.0(jiti@2.4.2)) 21321 hasown: 2.0.2 21322 is-core-module: 2.15.1 21323 is-glob: 4.0.3 ··· 21329 string.prototype.trimend: 1.0.8 21330 tsconfig-paths: 3.15.0 21331 optionalDependencies: 21332 - '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3) 21333 transitivePeerDependencies: 21334 - eslint-import-resolver-typescript 21335 - eslint-import-resolver-webpack ··· 21349 21350 eslint-visitor-keys@4.2.0: {} 21351 21352 - eslint@9.14.0(jiti@2.4.2): 21353 dependencies: 21354 - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.2)) 21355 '@eslint-community/regexpp': 4.12.1 21356 '@eslint/config-array': 0.18.0 21357 '@eslint/core': 0.7.0 ··· 21387 optionator: 0.9.4 21388 text-table: 0.2.0 21389 optionalDependencies: 21390 - jiti: 2.4.2 21391 transitivePeerDependencies: 21392 - supports-color 21393 ··· 21507 onetime: 6.0.0 21508 signal-exit: 4.1.0 21509 strip-final-newline: 3.0.0 21510 21511 expand-template@2.0.3: {} 21512 ··· 21997 dependencies: 21998 escape-string-regexp: 1.0.5 21999 22000 file-entry-cache@8.0.0: 22001 dependencies: 22002 flat-cache: 4.0.1 ··· 22182 cross-spawn: 7.0.3 22183 signal-exit: 4.1.0 22184 22185 - fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))): 22186 dependencies: 22187 '@babel/code-frame': 7.26.2 22188 chalk: 4.1.2 ··· 22197 semver: 7.7.1 22198 tapable: 2.2.1 22199 typescript: 5.6.3 22200 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 22201 22202 form-data@2.5.1: 22203 dependencies: ··· 22383 22384 get-east-asian-width@1.2.0: {} 22385 22386 get-folder-size@2.0.1: 22387 dependencies: 22388 gar: 1.0.4 ··· 22458 get-stream@6.0.1: {} 22459 22460 get-stream@8.0.1: {} 22461 22462 get-symbol-description@1.0.2: 22463 dependencies: ··· 22535 minipass: 7.1.2 22536 package-json-from-dist: 1.0.0 22537 path-scurry: 1.11.1 22538 22539 glob@7.2.3: 22540 dependencies: ··· 23007 23008 html-void-elements@3.0.0: {} 23009 23010 - html-webpack-plugin@5.6.0(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))): 23011 dependencies: 23012 '@types/html-minifier-terser': 6.1.0 23013 html-minifier-terser: 6.1.0 ··· 23015 pretty-error: 4.0.0 23016 tapable: 2.2.1 23017 optionalDependencies: 23018 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 23019 23020 html-whitespace-sensitive-tag-names@3.0.1: {} 23021 ··· 23119 23120 human-signals@5.0.0: {} 23121 23122 humanize-ms@1.2.1: 23123 dependencies: 23124 ms: 2.1.3 ··· 23131 dependencies: 23132 '@babel/runtime': 7.26.0 23133 23134 i18next-fluent@2.0.0: 23135 dependencies: 23136 '@fluent/bundle': 0.13.0 ··· 23164 transitivePeerDependencies: 23165 - supports-color 23166 23167 i18next-resources-to-backend@1.2.1: 23168 dependencies: 23169 '@babel/runtime': 7.26.0 ··· 23189 safer-buffer: 2.1.2 23190 23191 iconv-lite@0.6.3: 23192 dependencies: 23193 safer-buffer: 2.1.2 23194 ··· 23278 dependencies: 23279 css-in-js-utils: 3.1.0 23280 23281 inquirer@8.2.6: 23282 dependencies: 23283 ansi-escapes: 4.3.2 ··· 23421 23422 is-interactive@1.0.0: {} 23423 23424 is-lambda@1.0.1: {} 23425 23426 is-my-ip-valid@1.0.1: ··· 23485 is-stream@2.0.1: {} 23486 23487 is-stream@3.0.0: {} 23488 23489 is-string@1.0.7: 23490 dependencies: ··· 23504 23505 is-unicode-supported@0.1.0: {} 23506 23507 is-url@1.2.4: {} 23508 23509 is-valid-glob@1.0.0: {} ··· 23655 jimp-compact@0.16.1: {} 23656 23657 jiti@2.4.2: {} 23658 23659 jose@4.15.9: {} 23660 ··· 23717 23718 jsonc-parser@3.2.0: {} 23719 23720 jsonfile@4.0.0: 23721 optionalDependencies: 23722 graceful-fs: 4.2.11 ··· 23835 23836 lead@4.0.0: {} 23837 23838 - lerna@8.2.2(@swc/core@1.8.0(@swc/helpers@0.5.17))(encoding@0.1.13): 23839 dependencies: 23840 - '@lerna/create': 8.2.2(@swc/core@1.8.0(@swc/helpers@0.5.17))(encoding@0.1.13)(typescript@5.8.3) 23841 '@npmcli/arborist': 7.5.4 23842 '@npmcli/package-json': 5.2.0 23843 '@npmcli/run-script': 8.1.0 23844 - '@nx/devkit': 20.0.8(nx@20.0.8(@swc/core@1.8.0(@swc/helpers@0.5.17))) 23845 '@octokit/plugin-enterprise-rest': 6.0.1 23846 '@octokit/rest': 20.1.2 23847 aproba: 2.0.0 ··· 23886 npm-package-arg: 11.0.2 23887 npm-packlist: 8.0.2 23888 npm-registry-fetch: 17.1.0 23889 - nx: 20.0.8(@swc/core@1.8.0(@swc/helpers@0.5.17)) 23890 p-map: 4.0.0 23891 p-map-series: 2.1.0 23892 p-pipe: 3.1.0 ··· 24192 chalk: 4.1.2 24193 is-unicode-supported: 0.1.0 24194 24195 log-update@5.0.1: 24196 dependencies: 24197 ansi-escapes: 5.0.0 ··· 24223 lowercase-keys@2.0.0: {} 24224 24225 lru-cache@10.4.3: {} 24226 24227 lru-cache@5.1.1: 24228 dependencies: ··· 25066 25067 minimalistic-crypto-utils@1.0.1: {} 25068 25069 minimatch@3.0.5: 25070 dependencies: 25071 brace-expansion: 1.1.11 ··· 25212 25213 mute-stream@1.0.0: {} 25214 25215 mz@2.7.0: 25216 dependencies: 25217 any-promise: 1.3.0 ··· 25316 25317 node-int64@0.4.0: {} 25318 25319 - node-loader@2.0.0(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))): 25320 dependencies: 25321 loader-utils: 2.0.4 25322 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 25323 25324 node-machine-id@1.1.12: {} 25325 ··· 25449 dependencies: 25450 path-key: 4.0.0 25451 25452 npmlog@6.0.2: 25453 dependencies: 25454 are-we-there-yet: 3.0.1 ··· 25462 25463 nullthrows@1.1.1: {} 25464 25465 - nx@20.0.8(@swc/core@1.8.0(@swc/helpers@0.5.17)): 25466 dependencies: 25467 '@napi-rs/wasm-runtime': 0.2.4 25468 '@yarnpkg/lockfile': 1.1.0 ··· 25507 '@nx/nx-linux-x64-musl': 20.0.8 25508 '@nx/nx-win32-arm64-msvc': 20.0.8 25509 '@nx/nx-win32-x64-msvc': 20.0.8 25510 - '@swc/core': 1.8.0(@swc/helpers@0.5.17) 25511 transitivePeerDependencies: 25512 - debug 25513 ··· 25660 log-symbols: 4.1.0 25661 strip-ansi: 6.0.1 25662 wcwidth: 1.0.1 25663 25664 os-tmpdir@1.0.2: {} 25665 ··· 25898 unist-util-visit-children: 3.0.0 25899 vfile: 6.0.3 25900 25901 parse-passwd@1.0.0: {} 25902 25903 parse-path@7.0.0: ··· 25960 path-scurry@1.11.1: 25961 dependencies: 25962 lru-cache: 10.4.3 25963 minipass: 7.1.2 25964 25965 path-to-regexp@0.1.10: {} ··· 26091 26092 possible-typed-array-names@1.0.0: {} 26093 26094 - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.5.1): 26095 dependencies: 26096 lilconfig: 3.1.3 26097 optionalDependencies: 26098 - jiti: 2.4.2 26099 postcss: 8.5.3 26100 - yaml: 2.5.1 26101 26102 postcss-modules-extract-imports@3.1.0(postcss@8.5.3): 26103 dependencies: ··· 26194 '@jest/schemas': 29.6.3 26195 ansi-styles: 5.2.0 26196 react-is: 18.3.1 26197 26198 prismjs@1.30.0: {} 26199 ··· 26351 transitivePeerDependencies: 26352 - encoding 26353 26354 - quicktype-typescript-input@23.2.6(@swc/core@1.8.0(@swc/helpers@0.5.17))(encoding@0.1.13): 26355 dependencies: 26356 - '@mark.probst/typescript-json-schema': 0.55.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 26357 quicktype-core: 23.2.6(encoding@0.1.13) 26358 typescript: 4.9.5 26359 transitivePeerDependencies: ··· 26361 - '@swc/wasm' 26362 - encoding 26363 26364 - quicktype@23.2.6(@swc/core@1.8.0(@swc/helpers@0.5.17))(encoding@0.1.13): 26365 dependencies: 26366 '@glideapps/ts-necessities': 2.4.0 26367 chalk: 4.1.2 ··· 26374 moment: 2.30.1 26375 quicktype-core: 23.2.6(encoding@0.1.13) 26376 quicktype-graphql-input: 23.2.6(encoding@0.1.13) 26377 - quicktype-typescript-input: 23.2.6(@swc/core@1.8.0(@swc/helpers@0.5.17))(encoding@0.1.13) 26378 readable-stream: 4.7.0 26379 stream-json: 1.8.0 26380 string-to-stream: 3.0.1 ··· 26901 26902 readdirp@4.1.2: {} 26903 26904 real-require@0.2.0: {} 26905 26906 ? reanimated-color-picker@4.0.0(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(react-native-webview@13.15.0(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0))(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native-gesture-handler@2.26.0(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0))(react-native-reanimated@3.18.0(@babel/core@7.26.0)(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0))(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) ··· 27305 27306 run-async@2.4.1: {} 27307 27308 run-parallel@1.2.0: 27309 dependencies: 27310 queue-microtask: 1.2.3 ··· 27313 dependencies: 27314 tslib: 2.8.1 27315 27316 safe-array-concat@1.1.2: 27317 dependencies: 27318 call-bind: 1.0.7 ··· 27735 27736 standard-as-callback@2.1.0: {} 27737 27738 - starlight-openapi-rapidoc@0.8.1-beta(@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)))(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1))(openapi-types@12.1.3): 27739 dependencies: 27740 - '@astrojs/starlight': 0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)) 27741 '@astropub/md': 0.4.0 27742 '@readme/openapi-parser': 2.5.0(openapi-types@12.1.3) 27743 - astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1) 27744 github-slugger: 2.0.0 27745 transitivePeerDependencies: 27746 - '@astrojs/markdown-remark' 27747 - openapi-types 27748 27749 - starlight-openapi@0.17.0(@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)))(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1))(openapi-types@12.1.3): 27750 dependencies: 27751 - '@astrojs/starlight': 0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1)) 27752 '@readme/openapi-parser': 2.7.0(openapi-types@12.1.3) 27753 - astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.5.1) 27754 github-slugger: 2.0.0 27755 url-template: 3.1.1 27756 transitivePeerDependencies: ··· 27759 statuses@1.5.0: {} 27760 27761 statuses@2.0.1: {} 27762 27763 stream-browserify@3.0.0: 27764 dependencies: ··· 27827 get-east-asian-width: 1.2.0 27828 strip-ansi: 7.1.0 27829 27830 string.prototype.padend@3.1.6: 27831 dependencies: 27832 call-bind: 1.0.7 ··· 27875 ansi-regex: 5.0.1 27876 27877 strip-ansi@7.1.0: 27878 dependencies: 27879 ansi-regex: 6.0.1 27880 ··· 27888 27889 strip-final-newline@3.0.0: {} 27890 27891 strip-indent@3.0.0: 27892 dependencies: 27893 min-indent: 1.0.1 ··· 27922 stubs@3.0.0: 27923 optional: true 27924 27925 - style-loader@4.0.0(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))): 27926 dependencies: 27927 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 27928 27929 style-to-js@1.1.16: 27930 dependencies: ··· 27975 27976 supports-preserve-symlinks-flag@1.0.0: {} 27977 27978 symlink-or-copy@1.3.1: {} 27979 27980 table-layout@4.1.1: ··· 28064 ansi-escapes: 4.3.2 28065 supports-hyperlinks: 2.3.0 28066 28067 - terser-webpack-plugin@5.3.10(@swc/core@1.8.0(@swc/helpers@0.5.17))(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))): 28068 dependencies: 28069 '@jridgewell/trace-mapping': 0.3.25 28070 jest-worker: 27.5.1 28071 schema-utils: 3.3.0 28072 serialize-javascript: 6.0.2 28073 terser: 5.32.0 28074 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 28075 optionalDependencies: 28076 - '@swc/core': 1.8.0(@swc/helpers@0.5.17) 28077 28078 terser@5.32.0: 28079 dependencies: ··· 28199 28200 ts-interface-checker@0.1.13: {} 28201 28202 - ts-loader@9.5.1(typescript@5.6.3)(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))): 28203 dependencies: 28204 chalk: 4.1.2 28205 enhanced-resolve: 5.17.1 ··· 28207 semver: 7.7.1 28208 source-map: 0.7.4 28209 typescript: 5.6.3 28210 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 28211 28212 ts-morph@24.0.0: 28213 dependencies: 28214 '@ts-morph/common': 0.25.0 28215 code-block-writer: 13.0.3 28216 28217 - ts-node@10.9.2(@swc/core@1.8.0(@swc/helpers@0.5.17))(@types/node@16.18.126)(typescript@4.9.4): 28218 dependencies: 28219 '@cspotcode/source-map-support': 0.8.1 28220 '@tsconfig/node10': 1.0.11 ··· 28232 v8-compile-cache-lib: 3.0.1 28233 yn: 3.1.1 28234 optionalDependencies: 28235 - '@swc/core': 1.8.0(@swc/helpers@0.5.17) 28236 28237 - ts-node@10.9.2(@swc/core@1.8.0(@swc/helpers@0.5.17))(@types/node@22.15.17)(typescript@5.6.3): 28238 dependencies: 28239 '@cspotcode/source-map-support': 0.8.1 28240 '@tsconfig/node10': 1.0.11 ··· 28252 v8-compile-cache-lib: 3.0.1 28253 yn: 3.1.1 28254 optionalDependencies: 28255 - '@swc/core': 1.8.0(@swc/helpers@0.5.17) 28256 28257 tsconfck@3.1.5(typescript@5.8.3): 28258 optionalDependencies: ··· 28273 28274 tslib@2.8.1: {} 28275 28276 - tsup@8.5.0(@swc/core@1.8.0(@swc/helpers@0.5.17))(jiti@2.4.2)(postcss@8.5.3)(typescript@5.8.3)(yaml@2.5.1): 28277 dependencies: 28278 bundle-require: 5.1.0(esbuild@0.25.3) 28279 cac: 6.7.14 ··· 28284 fix-dts-default-cjs-exports: 1.0.1 28285 joycon: 3.1.1 28286 picocolors: 1.1.1 28287 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.5.1) 28288 resolve-from: 5.0.0 28289 rollup: 4.40.1 28290 source-map: 0.8.0-beta.0 ··· 28293 tinyglobby: 0.2.13 28294 tree-kill: 1.2.2 28295 optionalDependencies: 28296 - '@swc/core': 1.8.0(@swc/helpers@0.5.17) 28297 postcss: 8.5.3 28298 typescript: 5.8.3 28299 transitivePeerDependencies: ··· 28464 dependencies: 28465 pako: 0.2.9 28466 tiny-inflate: 1.0.3 28467 28468 unified@11.0.5: 28469 dependencies: ··· 28775 replace-ext: 2.0.0 28776 teex: 1.0.1 28777 28778 - vite@6.3.4(@types/node@22.15.17)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.5.1): 28779 dependencies: 28780 esbuild: 0.25.3 28781 fdir: 6.4.4(picomatch@4.0.2) ··· 28786 optionalDependencies: 28787 '@types/node': 22.15.17 28788 fsevents: 2.3.3 28789 - jiti: 2.4.2 28790 lightningcss: 1.29.1 28791 terser: 5.32.0 28792 - yaml: 2.5.1 28793 28794 - vitefu@1.0.6(vite@6.3.4(@types/node@22.15.17)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.5.1)): 28795 optionalDependencies: 28796 - vite: 6.3.4(@types/node@22.15.17)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.5.1) 28797 28798 vlq@1.0.1: {} 28799 ··· 28844 28845 webidl-conversions@5.0.0: {} 28846 28847 - webpack-dev-middleware@5.3.4(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))): 28848 dependencies: 28849 colorette: 2.0.20 28850 memfs: 3.5.3 28851 mime-types: 2.1.35 28852 range-parser: 1.2.1 28853 schema-utils: 4.2.0 28854 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 28855 28856 - webpack-dev-server@4.15.2(bufferutil@4.0.8)(debug@4.4.0)(utf-8-validate@5.0.10)(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))): 28857 dependencies: 28858 '@types/bonjour': 3.5.13 28859 '@types/connect-history-api-fallback': 1.5.4 ··· 28883 serve-index: 1.9.1 28884 sockjs: 0.3.24 28885 spdy: 4.0.2 28886 - webpack-dev-middleware: 5.3.4(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))) 28887 ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) 28888 optionalDependencies: 28889 - webpack: 5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)) 28890 transitivePeerDependencies: 28891 - bufferutil 28892 - debug ··· 28901 28902 webpack-sources@3.2.3: {} 28903 28904 - webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17)): 28905 dependencies: 28906 '@types/estree': 1.0.7 28907 '@webassemblyjs/ast': 1.12.1 ··· 28923 neo-async: 2.6.2 28924 schema-utils: 3.3.0 28925 tapable: 2.2.1 28926 - terser-webpack-plugin: 5.3.10(@swc/core@1.8.0(@swc/helpers@0.5.17))(webpack@5.94.0(@swc/core@1.8.0(@swc/helpers@0.5.17))) 28927 watchpack: 2.4.2 28928 webpack-sources: 3.2.3 28929 transitivePeerDependencies: ··· 29038 string-width: 7.2.0 29039 strip-ansi: 7.1.0 29040 29041 wrappy@1.0.2: {} 29042 29043 write-file-atomic@2.4.3: ··· 29129 yallist@5.0.0: {} 29130 29131 yaml@2.5.1: {} 29132 29133 yargs-parser@18.1.3: 29134 dependencies:
··· 19 version: 4.1.0(prettier@3.4.2)(typescript@5.8.3) 20 quicktype: 21 specifier: ^23.2.6 22 + version: 23.2.6(@swc/core@1.15.4(@swc/helpers@0.5.17))(encoding@0.1.13) 23 devDependencies: 24 '@atproto/lex-cli': 25 specifier: ^0.9.4 ··· 35 version: 5.59.1(@types/node@22.15.17)(typescript@5.8.3) 36 lerna: 37 specifier: ^8.2.2 38 + version: 8.2.2(@swc/core@1.15.4(@swc/helpers@0.5.17))(encoding@0.1.13) 39 lint-staged: 40 specifier: ^15.2.10 41 version: 15.2.10 ··· 540 '@types/sdp-transform': 541 specifier: ^2.15.0 542 version: 2.15.0 543 + i18next-cli: 544 + specifier: ^1.32.0 545 + version: 1.32.0(@swc/helpers@0.5.17)(@types/node@22.15.17) 546 nodemon: 547 specifier: ^3.1.10 548 version: 3.1.10 549 tsup: 550 specifier: ^8.5.0 551 + version: 8.5.0(@swc/core@1.15.4(@swc/helpers@0.5.17))(jiti@2.6.1)(postcss@8.5.3)(typescript@5.8.3)(yaml@2.8.2) 552 553 js/config-react-native-webrtc: 554 dependencies: ··· 613 version: 7.5.0(@electron/fuses@1.8.0) 614 '@electron-forge/plugin-webpack': 615 specifier: ^7.5.0 616 + version: 7.5.0(@swc/core@1.15.4(@swc/helpers@0.5.17))(bufferutil@4.0.8)(utf-8-validate@5.0.10) 617 '@electron-forge/publisher-s3': 618 specifier: ^7.5.0 619 version: 7.5.0 ··· 628 version: 0.5.10 629 '@typescript-eslint/eslint-plugin': 630 specifier: ^8.13.0 631 + version: 8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3))(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3) 632 '@typescript-eslint/parser': 633 specifier: ^8.13.0 634 + version: 8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3) 635 '@vercel/webpack-asset-relocator-loader': 636 specifier: 1.7.3 637 version: 1.7.3 638 css-loader: 639 specifier: ^7.1.2 640 + version: 7.1.2(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))) 641 electron: 642 specifier: 33.0.2 643 version: 33.0.2 644 eslint: 645 specifier: ^9.14.0 646 + version: 9.14.0(jiti@2.6.1) 647 eslint-plugin-import: 648 specifier: ^2.31.0 649 + version: 2.31.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3))(eslint@9.14.0(jiti@2.6.1)) 650 fork-ts-checker-webpack-plugin: 651 specifier: ^9.0.2 652 + version: 9.0.2(typescript@5.6.3)(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))) 653 node-loader: 654 specifier: ^2.0.0 655 + version: 2.0.0(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))) 656 style-loader: 657 specifier: ^4.0.0 658 + version: 4.0.0(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))) 659 ts-loader: 660 specifier: ^9.5.1 661 + version: 9.5.1(typescript@5.6.3)(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))) 662 ts-node: 663 specifier: ^10.9.2 664 + version: 10.9.2(@swc/core@1.15.4(@swc/helpers@0.5.17))(@types/node@22.15.17)(typescript@5.6.3) 665 typescript: 666 specifier: ~5.6.3 667 version: 5.6.3 ··· 700 dependencies: 701 '@astrojs/starlight': 702 specifier: ^0.34.1 703 + version: 0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)) 704 '@fontsource/atkinson-hyperlegible-next': 705 specifier: ^5.2.2 706 version: 5.2.2 ··· 709 version: link:../app 710 astro: 711 specifier: ^5.6.1 712 + version: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2) 713 sharp: 714 specifier: ^0.32.5 715 version: 0.32.6 716 starlight-openapi: 717 specifier: ^0.17.0 718 + version: 0.17.0(@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)))(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2))(openapi-types@12.1.3) 719 starlight-openapi-rapidoc: 720 specifier: ^0.8.1-beta 721 + version: 0.8.1-beta(@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)))(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2))(openapi-types@12.1.3) 722 streamplace: 723 specifier: workspace:* 724 version: link:../streamplace ··· 1806 '@craftzdog/react-native-buffer@6.0.5': 1807 resolution: {integrity: sha512-Av+YqfwA9e7jhgI9GFE/gTpwl/H+dRRLmZyJPOpKTy107j9Oj7oXlm3/YiMNz+C/CEGqcKAOqnXDLs4OL6AAFw==} 1808 1809 + '@croct/json5-parser@0.2.2': 1810 + resolution: {integrity: sha512-0NJMLrbeLbQ0eCVj3UoH/kG2QckUgOASfwmfDTjyW1xAYPyTNJXcWVT/dssJdTJd0pRchW+qF0VFWQHcxs1OVw==} 1811 + 1812 + '@croct/json@2.1.0': 1813 + resolution: {integrity: sha512-UrWfjNQVlBxN+OVcFwHmkjARMW55MBN04E9KfGac8ac8z1QnFVuiOOFtMWXCk3UwsyRqhsNaFoYLZC+xxqsVjQ==} 1814 + 1815 '@cspotcode/source-map-support@0.8.1': 1816 resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 1817 engines: {node: '>=12'} ··· 2785 cpu: [x64] 2786 os: [win32] 2787 2788 + '@inquirer/ansi@2.0.2': 2789 + resolution: {integrity: sha512-SYLX05PwJVnW+WVegZt1T4Ip1qba1ik+pNJPDiqvk6zS5Y/i8PhRzLpGEtVd7sW0G8cMtkD8t4AZYhQwm8vnww==} 2790 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2791 + 2792 + '@inquirer/checkbox@5.0.3': 2793 + resolution: {integrity: sha512-xtQP2eXMFlOcAhZ4ReKP2KZvDIBb1AnCfZ81wWXG3DXLVH0f0g4obE0XDPH+ukAEMRcZT0kdX2AS1jrWGXbpxw==} 2794 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2795 + peerDependencies: 2796 + '@types/node': '>=18' 2797 + peerDependenciesMeta: 2798 + '@types/node': 2799 + optional: true 2800 + 2801 + '@inquirer/confirm@6.0.3': 2802 + resolution: {integrity: sha512-lyEvibDFL+NA5R4xl8FUmNhmu81B+LDL9L/MpKkZlQDJZXzG8InxiqYxiAlQYa9cqLLhYqKLQwZqXmSTqCLjyw==} 2803 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2804 + peerDependencies: 2805 + '@types/node': '>=18' 2806 + peerDependenciesMeta: 2807 + '@types/node': 2808 + optional: true 2809 + 2810 + '@inquirer/core@11.1.0': 2811 + resolution: {integrity: sha512-+jD/34T1pK8M5QmZD/ENhOfXdl9Zr+BrQAUc5h2anWgi7gggRq15ZbiBeLoObj0TLbdgW7TAIQRU2boMc9uOKQ==} 2812 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2813 + peerDependencies: 2814 + '@types/node': '>=18' 2815 + peerDependenciesMeta: 2816 + '@types/node': 2817 + optional: true 2818 + 2819 + '@inquirer/editor@5.0.3': 2820 + resolution: {integrity: sha512-wYyQo96TsAqIciP/r5D3cFeV8h4WqKQ/YOvTg5yOfP2sqEbVVpbxPpfV3LM5D0EP4zUI3EZVHyIUIllnoIa8OQ==} 2821 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2822 + peerDependencies: 2823 + '@types/node': '>=18' 2824 + peerDependenciesMeta: 2825 + '@types/node': 2826 + optional: true 2827 + 2828 + '@inquirer/expand@5.0.3': 2829 + resolution: {integrity: sha512-2oINvuL27ujjxd95f6K2K909uZOU2x1WiAl7Wb1X/xOtL8CgQ1kSxzykIr7u4xTkXkXOAkCuF45T588/YKee7w==} 2830 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2831 + peerDependencies: 2832 + '@types/node': '>=18' 2833 + peerDependenciesMeta: 2834 + '@types/node': 2835 + optional: true 2836 + 2837 + '@inquirer/external-editor@2.0.2': 2838 + resolution: {integrity: sha512-X/fMXK7vXomRWEex1j8mnj7s1mpnTeP4CO/h2gysJhHLT2WjBnLv4ZQEGpm/kcYI8QfLZ2fgW+9kTKD+jeopLg==} 2839 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2840 + peerDependencies: 2841 + '@types/node': '>=18' 2842 + peerDependenciesMeta: 2843 + '@types/node': 2844 + optional: true 2845 + 2846 + '@inquirer/figures@2.0.2': 2847 + resolution: {integrity: sha512-qXm6EVvQx/FmnSrCWCIGtMHwqeLgxABP8XgcaAoywsL0NFga9gD5kfG0gXiv80GjK9Hsoz4pgGwF/+CjygyV9A==} 2848 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2849 + 2850 + '@inquirer/input@5.0.3': 2851 + resolution: {integrity: sha512-4R0TdWl53dtp79Vs6Df2OHAtA2FVNqya1hND1f5wjHWxZJxwDMSNB1X5ADZJSsQKYAJ5JHCTO+GpJZ42mK0Otw==} 2852 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2853 + peerDependencies: 2854 + '@types/node': '>=18' 2855 + peerDependenciesMeta: 2856 + '@types/node': 2857 + optional: true 2858 + 2859 + '@inquirer/number@4.0.3': 2860 + resolution: {integrity: sha512-TjQLe93GGo5snRlu83JxE38ZPqj5ZVggL+QqqAF2oBA5JOJoxx25GG3EGH/XN/Os5WOmKfO8iLVdCXQxXRZIMQ==} 2861 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2862 + peerDependencies: 2863 + '@types/node': '>=18' 2864 + peerDependenciesMeta: 2865 + '@types/node': 2866 + optional: true 2867 + 2868 + '@inquirer/password@5.0.3': 2869 + resolution: {integrity: sha512-rCozGbUMAHedTeYWEN8sgZH4lRCdgG/WinFkit6ZPsp8JaNg2T0g3QslPBS5XbpORyKP/I+xyBO81kFEvhBmjA==} 2870 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2871 + peerDependencies: 2872 + '@types/node': '>=18' 2873 + peerDependenciesMeta: 2874 + '@types/node': 2875 + optional: true 2876 + 2877 + '@inquirer/prompts@8.1.0': 2878 + resolution: {integrity: sha512-LsZMdKcmRNF5LyTRuZE5nWeOjganzmN3zwbtNfcs6GPh3I2TsTtF1UYZlbxVfhxd+EuUqLGs/Lm3Xt4v6Az1wA==} 2879 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2880 + peerDependencies: 2881 + '@types/node': '>=18' 2882 + peerDependenciesMeta: 2883 + '@types/node': 2884 + optional: true 2885 + 2886 + '@inquirer/rawlist@5.1.0': 2887 + resolution: {integrity: sha512-yUCuVh0jW026Gr2tZlG3kHignxcrLKDR3KBp+eUgNz+BAdSeZk0e18yt2gyBr+giYhj/WSIHCmPDOgp1mT2niQ==} 2888 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2889 + peerDependencies: 2890 + '@types/node': '>=18' 2891 + peerDependenciesMeta: 2892 + '@types/node': 2893 + optional: true 2894 + 2895 + '@inquirer/search@4.0.3': 2896 + resolution: {integrity: sha512-lzqVw0YwuKYetk5VwJ81Ba+dyVlhseHPx9YnRKQgwXdFS0kEavCz2gngnNhnMIxg8+j1N/rUl1t5s1npwa7bqg==} 2897 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2898 + peerDependencies: 2899 + '@types/node': '>=18' 2900 + peerDependenciesMeta: 2901 + '@types/node': 2902 + optional: true 2903 + 2904 + '@inquirer/select@5.0.3': 2905 + resolution: {integrity: sha512-M+ynbwS0ecQFDYMFrQrybA0qL8DV0snpc4kKevCCNaTpfghsRowRY7SlQBeIYNzHqXtiiz4RG9vTOeb/udew7w==} 2906 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2907 + peerDependencies: 2908 + '@types/node': '>=18' 2909 + peerDependenciesMeta: 2910 + '@types/node': 2911 + optional: true 2912 + 2913 + '@inquirer/type@4.0.2': 2914 + resolution: {integrity: sha512-cae7mzluplsjSdgFA6ACLygb5jC8alO0UUnFPyu0E7tNRPrL+q/f8VcSXp+cjZQ7l5CMpDpi2G1+IQvkOiL1Lw==} 2915 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 2916 + peerDependencies: 2917 + '@types/node': '>=18' 2918 + peerDependenciesMeta: 2919 + '@types/node': 2920 + optional: true 2921 + 2922 '@ioredis/commands@1.3.1': 2923 resolution: {integrity: sha512-bYtU8avhGIcje3IhvF9aSjsa5URMZBHnwKtOvXsT4sfYy9gppW11gLPT/9oNqlJZD47yPKveQFTAFWpHjKvUoQ==} 2924 2925 '@ipld/dag-cbor@7.0.3': 2926 resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 2927 2928 + '@isaacs/balanced-match@4.0.1': 2929 + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} 2930 + engines: {node: 20 || >=22} 2931 + 2932 + '@isaacs/brace-expansion@5.0.0': 2933 + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} 2934 + engines: {node: 20 || >=22} 2935 + 2936 '@isaacs/cliui@8.0.2': 2937 resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 2938 engines: {node: '>=12'} ··· 4073 '@scure/bip39@1.4.0': 4074 resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} 4075 4076 + '@sec-ant/readable-stream@0.4.1': 4077 + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} 4078 + 4079 '@sentry-internal/browser-utils@8.54.0': 4080 resolution: {integrity: sha512-DKWCqb4YQosKn6aD45fhKyzhkdG7N6goGFDeyTaJFREJDFVDXiNDsYZu30nJ6BxMM7uQIaARhPAC5BXfoED3pQ==} 4081 engines: {node: '>=14.18'} ··· 4232 '@sindresorhus/is@4.6.0': 4233 resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} 4234 engines: {node: '>=10'} 4235 + 4236 + '@sindresorhus/merge-streams@4.0.0': 4237 + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} 4238 + engines: {node: '>=18'} 4239 4240 '@sinonjs/commons@3.0.1': 4241 resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} ··· 4612 '@spacingbat3/lss@1.2.0': 4613 resolution: {integrity: sha512-aywhxHNb6l7COooF3m439eT/6QN8E/RSl5IVboSKthMHcp0GlZYMSoS7546rqDLmFRxTD8f1tu/NIS9vtDwYAg==} 4614 4615 + '@swc/core-darwin-arm64@1.15.4': 4616 + resolution: {integrity: sha512-NU/Of+ShFGG/i0lXKsF6GaGeTBNsr9iD8uUzdXxFfGbEjTeuKNXc5CWn3/Uo4Gr4LMAGD3hsRwG2Jq5iBDMalw==} 4617 engines: {node: '>=10'} 4618 cpu: [arm64] 4619 os: [darwin] 4620 4621 + '@swc/core-darwin-x64@1.15.4': 4622 + resolution: {integrity: sha512-9oWYMZHiEfHLqjjRGrXL17I8HdAOpWK/Rps34RKQ74O+eliygi1Iyq1TDUzYqUXcNvqN2K5fHgoMLRIni41ClQ==} 4623 engines: {node: '>=10'} 4624 cpu: [x64] 4625 os: [darwin] 4626 4627 + '@swc/core-linux-arm-gnueabihf@1.15.4': 4628 + resolution: {integrity: sha512-I1dPxXli3N1Vr71JXogUTLcspM5ICgCYaA16RE+JKchj3XKKmxLlYjwAHAA4lh/Cy486ikzACaG6pIBcegoGkg==} 4629 engines: {node: '>=10'} 4630 cpu: [arm] 4631 os: [linux] 4632 4633 + '@swc/core-linux-arm64-gnu@1.15.4': 4634 + resolution: {integrity: sha512-iGpuS/2PDZ68ioAlhkxiN5M4+pB9uDJolTKk4mZ0JM29uFf9YIkiyk7Bbr2y1QtmD82rF0tDHhoG9jtnV8mZMg==} 4635 engines: {node: '>=10'} 4636 cpu: [arm64] 4637 os: [linux] 4638 4639 + '@swc/core-linux-arm64-musl@1.15.4': 4640 + resolution: {integrity: sha512-Ly95wc+VXDhl08pjAoPUhVu5vNbuPMbURknRZa5QOZuiizJ6DkaSI0/zsEc26PpC6HTc4prNLY3ARVwZ7j/IJQ==} 4641 engines: {node: '>=10'} 4642 cpu: [arm64] 4643 os: [linux] 4644 4645 + '@swc/core-linux-x64-gnu@1.15.4': 4646 + resolution: {integrity: sha512-7pIG0BnaMn4zTpHeColPwyrWoTY9Drr+ISZQIgYHUKh3oaPtNCrXb289ScGbPPPjLsSfcGTeOy2pXmNczMC+yg==} 4647 engines: {node: '>=10'} 4648 cpu: [x64] 4649 os: [linux] 4650 4651 + '@swc/core-linux-x64-musl@1.15.4': 4652 + resolution: {integrity: sha512-oaqTV25V9H+PpSkvTcK25q6Q56FvXc6d2xBu486dv9LAPCHWgeAworE8WpBLV26g8rubcN5nGhO5HwSunXA7Ww==} 4653 engines: {node: '>=10'} 4654 cpu: [x64] 4655 os: [linux] 4656 4657 + '@swc/core-win32-arm64-msvc@1.15.4': 4658 + resolution: {integrity: sha512-VcPuUJw27YbGo1HcOaAriI50dpM3ZZeDW3x2cMnJW6vtkeyzUFk1TADmTwFax0Fn+yicCxhaWjnFE3eAzGAxIQ==} 4659 engines: {node: '>=10'} 4660 cpu: [arm64] 4661 os: [win32] 4662 4663 + '@swc/core-win32-ia32-msvc@1.15.4': 4664 + resolution: {integrity: sha512-dREjghAZEuKAK9nQzJETAiCSihSpAVS6Vk9+y2ElaoeTj68tNB1txV/m1RTPPD/+Kgbz6ITPNyXRWxPdkP5aXw==} 4665 engines: {node: '>=10'} 4666 cpu: [ia32] 4667 os: [win32] 4668 4669 + '@swc/core-win32-x64-msvc@1.15.4': 4670 + resolution: {integrity: sha512-o/odIBuQkoxKbRweJWOMI9LeRSOenFKN2zgPeaaNQ/cyuVk2r6DCAobKMOodvDdZWlMn6N1xJrldeCRSTZIgiQ==} 4671 engines: {node: '>=10'} 4672 cpu: [x64] 4673 os: [win32] 4674 4675 + '@swc/core@1.15.4': 4676 + resolution: {integrity: sha512-fH81BPo6EiJ7BUb6Qa5SY/NLWIRVambqU3740g0XPFPEz5KFPnzRYpR6zodQNOcEb9XUtZzRO1Y0WyIJP7iBxQ==} 4677 engines: {node: '>=10'} 4678 peerDependencies: 4679 + '@swc/helpers': '>=0.5.17' 4680 peerDependenciesMeta: 4681 '@swc/helpers': 4682 optional: true ··· 4687 '@swc/helpers@0.5.17': 4688 resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} 4689 4690 + '@swc/types@0.1.25': 4691 + resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} 4692 4693 '@szmarczak/http-timer@4.0.6': 4694 resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} ··· 5881 resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} 5882 engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 5883 5884 + chalk@5.6.2: 5885 + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} 5886 + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 5887 + 5888 character-entities-html4@2.1.0: 5889 resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} 5890 ··· 5899 5900 chardet@0.7.0: 5901 resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 5902 + 5903 + chardet@2.1.1: 5904 + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} 5905 5906 cheerio-select@2.1.0: 5907 resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} ··· 5917 chokidar@4.0.3: 5918 resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 5919 engines: {node: '>= 14.16.0'} 5920 + 5921 + chokidar@5.0.0: 5922 + resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} 5923 + engines: {node: '>= 20.19.0'} 5924 5925 chownr@1.1.4: 5926 resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} ··· 6001 cli-spinners@2.9.2: 6002 resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 6003 engines: {node: '>=6'} 6004 + 6005 + cli-spinners@3.3.0: 6006 + resolution: {integrity: sha512-/+40ljC3ONVnYIttjMWrlL51nItDAbBrq2upN8BPyvGU/2n5Oxw3tbNwORCaNuNqLJnxGqOfjUuhsv7l5Q4IsQ==} 6007 + engines: {node: '>=18.20'} 6008 6009 cli-truncate@3.1.0: 6010 resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} ··· 6018 resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} 6019 engines: {node: '>= 10'} 6020 6021 + cli-width@4.1.0: 6022 + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} 6023 + engines: {node: '>= 12'} 6024 + 6025 cliui@6.0.0: 6026 resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} 6027 ··· 6138 commander@12.1.0: 6139 resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} 6140 engines: {node: '>=18'} 6141 + 6142 + commander@14.0.2: 6143 + resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} 6144 + engines: {node: '>=20'} 6145 6146 commander@2.20.3: 6147 resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} ··· 6322 6323 cross-spawn@7.0.3: 6324 resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 6325 + engines: {node: '>= 8'} 6326 + 6327 + cross-spawn@7.0.6: 6328 + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 6329 engines: {node: '>= 8'} 6330 6331 cross-zip@4.0.1: ··· 7071 resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 7072 engines: {node: '>=16.17'} 7073 7074 + execa@9.6.1: 7075 + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} 7076 + engines: {node: ^18.19.0 || >=20.5.0} 7077 + 7078 expand-template@2.0.3: 7079 resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 7080 engines: {node: '>=6'} ··· 7367 resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 7368 engines: {node: '>=8'} 7369 7370 + figures@6.1.0: 7371 + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} 7372 + engines: {node: '>=18'} 7373 + 7374 file-entry-cache@8.0.0: 7375 resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 7376 engines: {node: '>=16.0.0'} ··· 7633 resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} 7634 engines: {node: '>=18'} 7635 7636 + get-east-asian-width@1.4.0: 7637 + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} 7638 + engines: {node: '>=18'} 7639 + 7640 get-folder-size@2.0.1: 7641 resolution: {integrity: sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==} 7642 hasBin: true ··· 7705 resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 7706 engines: {node: '>=16'} 7707 7708 + get-stream@9.0.1: 7709 + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} 7710 + engines: {node: '>=18'} 7711 + 7712 get-symbol-description@1.0.2: 7713 resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} 7714 engines: {node: '>= 0.4'} ··· 7771 glob@10.4.5: 7772 resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 7773 hasBin: true 7774 + 7775 + glob@13.0.0: 7776 + resolution: {integrity: sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==} 7777 + engines: {node: 20 || >=22} 7778 7779 glob@7.2.3: 7780 resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} ··· 8125 resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 8126 engines: {node: '>=16.17.0'} 8127 8128 + human-signals@8.0.1: 8129 + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} 8130 + engines: {node: '>=18.18.0'} 8131 + 8132 humanize-ms@1.2.1: 8133 resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} 8134 ··· 8143 i18next-browser-languagedetector@8.2.0: 8144 resolution: {integrity: sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==} 8145 8146 + i18next-cli@1.32.0: 8147 + resolution: {integrity: sha512-Shn31g/rhWUbg2SzPXuaqgUfL5K8IZ+USUIcoNkg6nOCBog3l0aeklWq205a04TxTAEb9YaGCQbD9EC+Jg70OA==} 8148 + engines: {node: '>=22'} 8149 + hasBin: true 8150 + 8151 i18next-fluent@2.0.0: 8152 resolution: {integrity: sha512-k69kvftj02YNMtls1oy5TkbsjEDUlkfXcApBIv3gCnQTTDPTNVekweIGC6V5m/yC2ce6SNqkzlPpdB24OgEEgg==} 8153 ··· 8159 engines: {node: ^18.0.0 || ^20.0.0 || ^22.0.0, npm: '>=6', yarn: '>=1'} 8160 hasBin: true 8161 8162 + i18next-resources-for-ts@2.0.0: 8163 + resolution: {integrity: sha512-RvATolbJlxrwpZh2+R7ZcNtg0ewmXFFx6rdu9i2bUEBvn6ThgA82rxDe3rJQa3hFS0SopX0qPaABqVDN3TUVpw==} 8164 + hasBin: true 8165 + 8166 i18next-resources-to-backend@1.2.1: 8167 resolution: {integrity: sha512-okHbVA+HZ7n1/76MsfhPqDou0fptl2dAlhRDu2ideXloRRduzHsqDOznJBef+R3DFZnbvWoBW+KxJ7fnFjd6Yw==} 8168 ··· 8183 8184 iconv-lite@0.6.3: 8185 resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 8186 + engines: {node: '>=0.10.0'} 8187 + 8188 + iconv-lite@0.7.1: 8189 + resolution: {integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==} 8190 engines: {node: '>=0.10.0'} 8191 8192 icss-utils@5.1.0: ··· 8286 inline-style-prefixer@7.0.1: 8287 resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} 8288 8289 + inquirer@13.1.0: 8290 + resolution: {integrity: sha512-4vv4GS/9HLnn0radvmHlXUXiNkd2gYCBQ4U1rxZWBJDisu2Z06bzUM9CFU8pcu1vwuAQjo6O+CFiqCYNsEi6qQ==} 8291 + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} 8292 + peerDependencies: 8293 + '@types/node': '>=18' 8294 + peerDependenciesMeta: 8295 + '@types/node': 8296 + optional: true 8297 + 8298 inquirer@8.2.6: 8299 resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} 8300 engines: {node: '>=12.0.0'} ··· 8436 resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 8437 engines: {node: '>=8'} 8438 8439 + is-interactive@2.0.0: 8440 + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 8441 + engines: {node: '>=12'} 8442 + 8443 is-lambda@1.0.1: 8444 resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} 8445 ··· 8518 is-stream@3.0.0: 8519 resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 8520 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 8521 + 8522 + is-stream@4.0.1: 8523 + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} 8524 + engines: {node: '>=18'} 8525 8526 is-string@1.0.7: 8527 resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} ··· 8543 resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 8544 engines: {node: '>=10'} 8545 8546 + is-unicode-supported@2.1.0: 8547 + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} 8548 + engines: {node: '>=18'} 8549 + 8550 is-url@1.2.4: 8551 resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} 8552 ··· 8669 resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 8670 hasBin: true 8671 8672 + jiti@2.6.1: 8673 + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} 8674 + hasBin: true 8675 + 8676 jose@4.15.9: 8677 resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==} 8678 ··· 8754 8755 jsonc-parser@3.2.0: 8756 resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 8757 + 8758 + jsonc-parser@3.3.1: 8759 + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} 8760 8761 jsonfile@4.0.0: 8762 resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} ··· 9139 log-symbols@4.1.0: 9140 resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 9141 engines: {node: '>=10'} 9142 + 9143 + log-symbols@7.0.1: 9144 + resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} 9145 + engines: {node: '>=18'} 9146 9147 log-update@5.0.1: 9148 resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} ··· 9172 lru-cache@10.4.3: 9173 resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 9174 9175 + lru-cache@11.2.4: 9176 + resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} 9177 + engines: {node: 20 || >=22} 9178 + 9179 lru-cache@5.1.1: 9180 resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 9181 ··· 9592 minimalistic-crypto-utils@1.0.1: 9593 resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} 9594 9595 + minimatch@10.1.1: 9596 + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} 9597 + engines: {node: 20 || >=22} 9598 + 9599 minimatch@3.0.5: 9600 resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} 9601 ··· 9744 mute-stream@1.0.0: 9745 resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} 9746 engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 9747 + 9748 + mute-stream@3.0.0: 9749 + resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==} 9750 + engines: {node: ^20.17.0 || >=22.9.0} 9751 9752 mz@2.7.0: 9753 resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} ··· 9957 resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 9958 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 9959 9960 + npm-run-path@6.0.0: 9961 + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} 9962 + engines: {node: '>=18'} 9963 + 9964 npmlog@6.0.2: 9965 resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} 9966 engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} ··· 10103 ora@5.4.1: 10104 resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 10105 engines: {node: '>=10'} 10106 + 10107 + ora@9.0.0: 10108 + resolution: {integrity: sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==} 10109 + engines: {node: '>=20'} 10110 10111 os-tmpdir@1.0.2: 10112 resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} ··· 10276 parse-latin@7.0.0: 10277 resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} 10278 10279 + parse-ms@4.0.0: 10280 + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} 10281 + engines: {node: '>=18'} 10282 + 10283 parse-passwd@1.0.0: 10284 resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} 10285 engines: {node: '>=0.10.0'} ··· 10352 path-scurry@1.11.1: 10353 resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 10354 engines: {node: '>=16 || 14 >=14.18'} 10355 + 10356 + path-scurry@2.0.1: 10357 + resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} 10358 + engines: {node: 20 || >=22} 10359 10360 path-to-regexp@0.1.10: 10361 resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} ··· 10624 resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 10625 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 10626 10627 + pretty-ms@9.3.0: 10628 + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} 10629 + engines: {node: '>=18'} 10630 + 10631 prismjs@1.30.0: 10632 resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} 10633 engines: {node: '>=6'} ··· 11058 resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 11059 engines: {node: '>= 14.18.0'} 11060 11061 + readdirp@5.0.0: 11062 + resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} 11063 + engines: {node: '>= 20.19.0'} 11064 + 11065 real-require@0.2.0: 11066 resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 11067 engines: {node: '>= 12.13.0'} ··· 11370 resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} 11371 engines: {node: '>=0.12.0'} 11372 11373 + run-async@4.0.6: 11374 + resolution: {integrity: sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==} 11375 + engines: {node: '>=0.12.0'} 11376 + 11377 run-parallel@1.2.0: 11378 resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 11379 11380 rxjs@7.8.1: 11381 resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 11382 + 11383 + rxjs@7.8.2: 11384 + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} 11385 11386 safe-array-concat@1.1.2: 11387 resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} ··· 11737 resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 11738 engines: {node: '>= 0.8'} 11739 11740 + stdin-discarder@0.2.2: 11741 + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} 11742 + engines: {node: '>=18'} 11743 + 11744 stream-browserify@3.0.0: 11745 resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} 11746 ··· 11795 resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} 11796 engines: {node: '>=18'} 11797 11798 + string-width@8.1.0: 11799 + resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==} 11800 + engines: {node: '>=20'} 11801 + 11802 string.prototype.padend@3.1.6: 11803 resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} 11804 engines: {node: '>= 0.4'} ··· 11835 resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 11836 engines: {node: '>=12'} 11837 11838 + strip-ansi@7.1.2: 11839 + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} 11840 + engines: {node: '>=12'} 11841 + 11842 strip-bom@3.0.0: 11843 resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 11844 engines: {node: '>=4'} ··· 11858 strip-final-newline@3.0.0: 11859 resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 11860 engines: {node: '>=12'} 11861 + 11862 + strip-final-newline@4.0.0: 11863 + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} 11864 + engines: {node: '>=18'} 11865 11866 strip-indent@3.0.0: 11867 resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} ··· 11956 resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 11957 engines: {node: '>= 0.4'} 11958 11959 + swc-walk@1.0.1: 11960 + resolution: {integrity: sha512-bHR0Zs+MdFxKKq5QXmPZuvbXybAJh4wV56zZT7n7hQC55eHpGvL1TeeHxNwL5XlXYSAXKK57GsKY0aEttGDuWQ==} 11961 + engines: {node: '>=20.2.0'} 11962 + 11963 symlink-or-copy@1.3.1: 11964 resolution: {integrity: sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==} 11965 ··· 12423 12424 unicode-trie@2.0.0: 12425 resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} 12426 + 12427 + unicorn-magic@0.3.0: 12428 + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} 12429 + engines: {node: '>=18'} 12430 12431 unified@11.0.5: 12432 resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} ··· 12951 resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} 12952 engines: {node: '>=18'} 12953 12954 + wrap-ansi@9.0.2: 12955 + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} 12956 + engines: {node: '>=18'} 12957 + 12958 wrappy@1.0.2: 12959 resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 12960 ··· 13077 engines: {node: '>= 14'} 13078 hasBin: true 13079 13080 + yaml@2.8.2: 13081 + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} 13082 + engines: {node: '>= 14.6'} 13083 + hasBin: true 13084 + 13085 yargs-parser@18.1.3: 13086 resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} 13087 engines: {node: '>=6'} ··· 13223 transitivePeerDependencies: 13224 - supports-color 13225 13226 + '@astrojs/mdx@4.2.6(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2))': 13227 dependencies: 13228 '@astrojs/markdown-remark': 6.3.1 13229 '@mdx-js/mdx': 3.1.0(acorn@8.14.1) 13230 acorn: 8.14.1 13231 + astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2) 13232 es-module-lexer: 1.7.0 13233 estree-util-visit: 2.0.0 13234 hast-util-to-html: 9.0.5 ··· 13252 stream-replace-string: 2.0.0 13253 zod: 3.24.4 13254 13255 + '@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2))': 13256 dependencies: 13257 '@astrojs/markdown-remark': 6.3.1 13258 + '@astrojs/mdx': 4.2.6(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)) 13259 '@astrojs/sitemap': 3.3.1 13260 '@pagefind/default-ui': 1.3.0 13261 '@types/hast': 3.0.4 13262 '@types/js-yaml': 4.0.9 13263 '@types/mdast': 4.0.4 13264 + astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2) 13265 + astro-expressive-code: 0.41.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)) 13266 bcp-47: 2.1.0 13267 hast-util-from-html: 2.0.3 13268 hast-util-select: 6.0.4 ··· 15266 - react 15267 - react-native 15268 15269 + '@croct/json5-parser@0.2.2': 15270 + dependencies: 15271 + '@croct/json': 2.1.0 15272 + 15273 + '@croct/json@2.1.0': {} 15274 + 15275 '@cspotcode/source-map-support@0.8.1': 15276 dependencies: 15277 '@jridgewell/trace-mapping': 0.3.9 ··· 15474 - bluebird 15475 - supports-color 15476 15477 + '@electron-forge/plugin-webpack@7.5.0(@swc/core@1.15.4(@swc/helpers@0.5.17))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': 15478 dependencies: 15479 '@electron-forge/core-utils': 7.5.0 15480 '@electron-forge/plugin-base': 7.5.0 ··· 15484 debug: 4.4.0(supports-color@5.5.0) 15485 fast-glob: 3.3.2 15486 fs-extra: 10.1.0 15487 + html-webpack-plugin: 5.6.0(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))) 15488 listr2: 7.0.2 15489 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 15490 + webpack-dev-server: 4.15.2(bufferutil@4.0.8)(debug@4.4.0)(utf-8-validate@5.0.10)(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))) 15491 webpack-merge: 5.10.0 15492 transitivePeerDependencies: 15493 - '@rspack/core' ··· 15820 '@esbuild/win32-x64@0.25.3': 15821 optional: true 15822 15823 + '@eslint-community/eslint-utils@4.4.1(eslint@9.14.0(jiti@2.6.1))': 15824 dependencies: 15825 + eslint: 9.14.0(jiti@2.6.1) 15826 eslint-visitor-keys: 3.4.3 15827 15828 '@eslint-community/regexpp@4.12.1': {} ··· 16832 '@img/sharp-win32-x64@0.33.5': 16833 optional: true 16834 16835 + '@inquirer/ansi@2.0.2': {} 16836 + 16837 + '@inquirer/checkbox@5.0.3(@types/node@22.15.17)': 16838 + dependencies: 16839 + '@inquirer/ansi': 2.0.2 16840 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16841 + '@inquirer/figures': 2.0.2 16842 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16843 + optionalDependencies: 16844 + '@types/node': 22.15.17 16845 + 16846 + '@inquirer/confirm@6.0.3(@types/node@22.15.17)': 16847 + dependencies: 16848 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16849 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16850 + optionalDependencies: 16851 + '@types/node': 22.15.17 16852 + 16853 + '@inquirer/core@11.1.0(@types/node@22.15.17)': 16854 + dependencies: 16855 + '@inquirer/ansi': 2.0.2 16856 + '@inquirer/figures': 2.0.2 16857 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16858 + cli-width: 4.1.0 16859 + mute-stream: 3.0.0 16860 + signal-exit: 4.1.0 16861 + wrap-ansi: 9.0.2 16862 + optionalDependencies: 16863 + '@types/node': 22.15.17 16864 + 16865 + '@inquirer/editor@5.0.3(@types/node@22.15.17)': 16866 + dependencies: 16867 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16868 + '@inquirer/external-editor': 2.0.2(@types/node@22.15.17) 16869 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16870 + optionalDependencies: 16871 + '@types/node': 22.15.17 16872 + 16873 + '@inquirer/expand@5.0.3(@types/node@22.15.17)': 16874 + dependencies: 16875 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16876 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16877 + optionalDependencies: 16878 + '@types/node': 22.15.17 16879 + 16880 + '@inquirer/external-editor@2.0.2(@types/node@22.15.17)': 16881 + dependencies: 16882 + chardet: 2.1.1 16883 + iconv-lite: 0.7.1 16884 + optionalDependencies: 16885 + '@types/node': 22.15.17 16886 + 16887 + '@inquirer/figures@2.0.2': {} 16888 + 16889 + '@inquirer/input@5.0.3(@types/node@22.15.17)': 16890 + dependencies: 16891 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16892 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16893 + optionalDependencies: 16894 + '@types/node': 22.15.17 16895 + 16896 + '@inquirer/number@4.0.3(@types/node@22.15.17)': 16897 + dependencies: 16898 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16899 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16900 + optionalDependencies: 16901 + '@types/node': 22.15.17 16902 + 16903 + '@inquirer/password@5.0.3(@types/node@22.15.17)': 16904 + dependencies: 16905 + '@inquirer/ansi': 2.0.2 16906 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16907 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16908 + optionalDependencies: 16909 + '@types/node': 22.15.17 16910 + 16911 + '@inquirer/prompts@8.1.0(@types/node@22.15.17)': 16912 + dependencies: 16913 + '@inquirer/checkbox': 5.0.3(@types/node@22.15.17) 16914 + '@inquirer/confirm': 6.0.3(@types/node@22.15.17) 16915 + '@inquirer/editor': 5.0.3(@types/node@22.15.17) 16916 + '@inquirer/expand': 5.0.3(@types/node@22.15.17) 16917 + '@inquirer/input': 5.0.3(@types/node@22.15.17) 16918 + '@inquirer/number': 4.0.3(@types/node@22.15.17) 16919 + '@inquirer/password': 5.0.3(@types/node@22.15.17) 16920 + '@inquirer/rawlist': 5.1.0(@types/node@22.15.17) 16921 + '@inquirer/search': 4.0.3(@types/node@22.15.17) 16922 + '@inquirer/select': 5.0.3(@types/node@22.15.17) 16923 + optionalDependencies: 16924 + '@types/node': 22.15.17 16925 + 16926 + '@inquirer/rawlist@5.1.0(@types/node@22.15.17)': 16927 + dependencies: 16928 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16929 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16930 + optionalDependencies: 16931 + '@types/node': 22.15.17 16932 + 16933 + '@inquirer/search@4.0.3(@types/node@22.15.17)': 16934 + dependencies: 16935 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16936 + '@inquirer/figures': 2.0.2 16937 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16938 + optionalDependencies: 16939 + '@types/node': 22.15.17 16940 + 16941 + '@inquirer/select@5.0.3(@types/node@22.15.17)': 16942 + dependencies: 16943 + '@inquirer/ansi': 2.0.2 16944 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 16945 + '@inquirer/figures': 2.0.2 16946 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 16947 + optionalDependencies: 16948 + '@types/node': 22.15.17 16949 + 16950 + '@inquirer/type@4.0.2(@types/node@22.15.17)': 16951 + optionalDependencies: 16952 + '@types/node': 22.15.17 16953 + 16954 '@ioredis/commands@1.3.1': {} 16955 16956 '@ipld/dag-cbor@7.0.3': ··· 16958 cborg: 1.10.2 16959 multiformats: 9.9.0 16960 16961 + '@isaacs/balanced-match@4.0.1': {} 16962 + 16963 + '@isaacs/brace-expansion@5.0.0': 16964 + dependencies: 16965 + '@isaacs/balanced-match': 4.0.1 16966 + 16967 '@isaacs/cliui@8.0.2': 16968 dependencies: 16969 string-width: 5.1.2 ··· 17078 17079 '@leichtgewicht/ip-codec@2.0.5': {} 17080 17081 + '@lerna/create@8.2.2(@swc/core@1.15.4(@swc/helpers@0.5.17))(encoding@0.1.13)(typescript@5.8.3)': 17082 dependencies: 17083 '@npmcli/arborist': 7.5.4 17084 '@npmcli/package-json': 5.2.0 17085 '@npmcli/run-script': 8.1.0 17086 + '@nx/devkit': 20.0.8(nx@20.0.8(@swc/core@1.15.4(@swc/helpers@0.5.17))) 17087 '@octokit/plugin-enterprise-rest': 6.0.1 17088 '@octokit/rest': 20.1.2 17089 aproba: 2.0.0 ··· 17122 npm-package-arg: 11.0.2 17123 npm-packlist: 8.0.2 17124 npm-registry-fetch: 17.1.0 17125 + nx: 20.0.8(@swc/core@1.15.4(@swc/helpers@0.5.17)) 17126 p-map: 4.0.0 17127 p-map-series: 2.1.0 17128 p-queue: 6.6.2 ··· 17169 dependencies: 17170 cross-spawn: 7.0.3 17171 17172 + '@mark.probst/typescript-json-schema@0.55.0(@swc/core@1.15.4(@swc/helpers@0.5.17))': 17173 dependencies: 17174 '@types/json-schema': 7.0.15 17175 '@types/node': 16.18.126 17176 glob: 7.2.3 17177 path-equal: 1.2.5 17178 safe-stable-stringify: 2.5.0 17179 + ts-node: 10.9.2(@swc/core@1.15.4(@swc/helpers@0.5.17))(@types/node@16.18.126)(typescript@4.9.4) 17180 typescript: 4.9.4 17181 yargs: 17.7.2 17182 transitivePeerDependencies: ··· 17392 - bluebird 17393 - supports-color 17394 17395 + '@nx/devkit@20.0.8(nx@20.0.8(@swc/core@1.15.4(@swc/helpers@0.5.17)))': 17396 dependencies: 17397 ejs: 3.1.10 17398 enquirer: 2.3.6 17399 ignore: 5.3.1 17400 minimatch: 9.0.3 17401 + nx: 20.0.8(@swc/core@1.15.4(@swc/helpers@0.5.17)) 17402 semver: 7.7.1 17403 tmp: 0.2.3 17404 tslib: 2.8.1 ··· 18286 '@noble/hashes': 1.5.0 18287 '@scure/base': 1.1.9 18288 18289 + '@sec-ant/readable-stream@0.4.1': {} 18290 + 18291 '@sentry-internal/browser-utils@8.54.0': 18292 dependencies: 18293 '@sentry/core': 8.54.0 ··· 18462 '@sinclair/typebox@0.27.8': {} 18463 18464 '@sindresorhus/is@4.6.0': {} 18465 + 18466 + '@sindresorhus/merge-streams@4.0.0': {} 18467 18468 '@sinonjs/commons@3.0.1': 18469 dependencies: ··· 19078 19079 '@spacingbat3/lss@1.2.0': {} 19080 19081 + '@swc/core-darwin-arm64@1.15.4': 19082 optional: true 19083 19084 + '@swc/core-darwin-x64@1.15.4': 19085 optional: true 19086 19087 + '@swc/core-linux-arm-gnueabihf@1.15.4': 19088 optional: true 19089 19090 + '@swc/core-linux-arm64-gnu@1.15.4': 19091 optional: true 19092 19093 + '@swc/core-linux-arm64-musl@1.15.4': 19094 optional: true 19095 19096 + '@swc/core-linux-x64-gnu@1.15.4': 19097 optional: true 19098 19099 + '@swc/core-linux-x64-musl@1.15.4': 19100 optional: true 19101 19102 + '@swc/core-win32-arm64-msvc@1.15.4': 19103 optional: true 19104 19105 + '@swc/core-win32-ia32-msvc@1.15.4': 19106 optional: true 19107 19108 + '@swc/core-win32-x64-msvc@1.15.4': 19109 optional: true 19110 19111 + '@swc/core@1.15.4(@swc/helpers@0.5.17)': 19112 dependencies: 19113 '@swc/counter': 0.1.3 19114 + '@swc/types': 0.1.25 19115 optionalDependencies: 19116 + '@swc/core-darwin-arm64': 1.15.4 19117 + '@swc/core-darwin-x64': 1.15.4 19118 + '@swc/core-linux-arm-gnueabihf': 1.15.4 19119 + '@swc/core-linux-arm64-gnu': 1.15.4 19120 + '@swc/core-linux-arm64-musl': 1.15.4 19121 + '@swc/core-linux-x64-gnu': 1.15.4 19122 + '@swc/core-linux-x64-musl': 1.15.4 19123 + '@swc/core-win32-arm64-msvc': 1.15.4 19124 + '@swc/core-win32-ia32-msvc': 1.15.4 19125 + '@swc/core-win32-x64-msvc': 1.15.4 19126 '@swc/helpers': 0.5.17 19127 19128 + '@swc/counter@0.1.3': {} 19129 19130 '@swc/helpers@0.5.17': 19131 dependencies: 19132 tslib: 2.8.1 19133 19134 + '@swc/types@0.1.25': 19135 dependencies: 19136 '@swc/counter': 0.1.3 19137 19138 '@szmarczak/http-timer@4.0.6': 19139 dependencies: ··· 19446 '@types/node': 22.15.17 19447 optional: true 19448 19449 + '@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3))(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3)': 19450 dependencies: 19451 '@eslint-community/regexpp': 4.12.1 19452 + '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3) 19453 '@typescript-eslint/scope-manager': 8.13.0 19454 + '@typescript-eslint/type-utils': 8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3) 19455 + '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3) 19456 '@typescript-eslint/visitor-keys': 8.13.0 19457 + eslint: 9.14.0(jiti@2.6.1) 19458 graphemer: 1.4.0 19459 ignore: 5.3.1 19460 natural-compare: 1.4.0 ··· 19464 transitivePeerDependencies: 19465 - supports-color 19466 19467 + '@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3)': 19468 dependencies: 19469 '@typescript-eslint/scope-manager': 8.13.0 19470 '@typescript-eslint/types': 8.13.0 19471 '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) 19472 '@typescript-eslint/visitor-keys': 8.13.0 19473 debug: 4.4.0(supports-color@5.5.0) 19474 + eslint: 9.14.0(jiti@2.6.1) 19475 optionalDependencies: 19476 typescript: 5.6.3 19477 transitivePeerDependencies: ··· 19482 '@typescript-eslint/types': 8.13.0 19483 '@typescript-eslint/visitor-keys': 8.13.0 19484 19485 + '@typescript-eslint/type-utils@8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3)': 19486 dependencies: 19487 '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) 19488 + '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3) 19489 debug: 4.4.0(supports-color@5.5.0) 19490 ts-api-utils: 1.4.0(typescript@5.6.3) 19491 optionalDependencies: ··· 19511 transitivePeerDependencies: 19512 - supports-color 19513 19514 + '@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3)': 19515 dependencies: 19516 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.6.1)) 19517 '@typescript-eslint/scope-manager': 8.13.0 19518 '@typescript-eslint/types': 8.13.0 19519 '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) 19520 + eslint: 9.14.0(jiti@2.6.1) 19521 transitivePeerDependencies: 19522 - supports-color 19523 - typescript ··· 19949 19950 astring@1.9.0: {} 19951 19952 + astro-expressive-code@0.41.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)): 19953 dependencies: 19954 + astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2) 19955 rehype-expressive-code: 0.41.2 19956 19957 + astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2): 19958 dependencies: 19959 '@astrojs/compiler': 2.12.0 19960 '@astrojs/internal-helpers': 0.6.1 ··· 20007 unist-util-visit: 5.0.0 20008 unstorage: 1.16.0(idb-keyval@6.2.1)(ioredis@5.7.0) 20009 vfile: 6.0.3 20010 + vite: 6.3.4(@types/node@22.15.17)(jiti@2.6.1)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.8.2) 20011 + vitefu: 1.0.6(vite@6.3.4(@types/node@22.15.17)(jiti@2.6.1)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.8.2)) 20012 xxhash-wasm: 1.1.0 20013 yargs-parser: 21.1.1 20014 yocto-spinner: 0.2.2 ··· 20653 20654 chalk@5.4.1: {} 20655 20656 + chalk@5.6.2: {} 20657 + 20658 character-entities-html4@2.1.0: {} 20659 20660 character-entities-legacy@3.0.0: {} ··· 20664 character-reference-invalid@2.0.1: {} 20665 20666 chardet@0.7.0: {} 20667 + 20668 + chardet@2.1.1: {} 20669 20670 cheerio-select@2.1.0: 20671 dependencies: ··· 20706 dependencies: 20707 readdirp: 4.1.2 20708 20709 + chokidar@5.0.0: 20710 + dependencies: 20711 + readdirp: 5.0.0 20712 + 20713 chownr@1.1.4: {} 20714 20715 chownr@2.0.0: {} ··· 20783 20784 cli-spinners@2.9.2: {} 20785 20786 + cli-spinners@3.3.0: {} 20787 + 20788 cli-truncate@3.1.0: 20789 dependencies: 20790 slice-ansi: 5.0.0 ··· 20796 string-width: 7.2.0 20797 20798 cli-width@3.0.0: {} 20799 + 20800 + cli-width@4.1.0: {} 20801 20802 cliui@6.0.0: 20803 dependencies: ··· 20908 typical: 7.3.0 20909 20910 commander@12.1.0: {} 20911 + 20912 + commander@14.0.2: {} 20913 20914 commander@2.20.3: {} 20915 ··· 21116 shebang-command: 2.0.0 21117 which: 2.0.2 21118 21119 + cross-spawn@7.0.6: 21120 + dependencies: 21121 + path-key: 3.1.1 21122 + shebang-command: 2.0.0 21123 + which: 2.0.2 21124 + 21125 cross-zip@4.0.1: {} 21126 21127 crossws@0.3.4: ··· 21136 dependencies: 21137 hyphenate-style-name: 1.1.0 21138 21139 + css-loader@7.1.2(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))): 21140 dependencies: 21141 icss-utils: 5.1.0(postcss@8.5.3) 21142 postcss: 8.5.3 ··· 21147 postcss-value-parser: 4.2.0 21148 semver: 7.7.1 21149 optionalDependencies: 21150 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 21151 21152 css-select@4.3.0: 21153 dependencies: ··· 21778 transitivePeerDependencies: 21779 - supports-color 21780 21781 + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.14.0(jiti@2.6.1)): 21782 dependencies: 21783 debug: 3.2.7 21784 optionalDependencies: 21785 + '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3) 21786 + eslint: 9.14.0(jiti@2.6.1) 21787 eslint-import-resolver-node: 0.3.9 21788 transitivePeerDependencies: 21789 - supports-color 21790 21791 + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3))(eslint@9.14.0(jiti@2.6.1)): 21792 dependencies: 21793 '@rtsao/scc': 1.1.0 21794 array-includes: 3.1.8 ··· 21797 array.prototype.flatmap: 1.3.2 21798 debug: 3.2.7 21799 doctrine: 2.1.0 21800 + eslint: 9.14.0(jiti@2.6.1) 21801 eslint-import-resolver-node: 0.3.9 21802 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.14.0(jiti@2.6.1)) 21803 hasown: 2.0.2 21804 is-core-module: 2.15.1 21805 is-glob: 4.0.3 ··· 21811 string.prototype.trimend: 1.0.8 21812 tsconfig-paths: 3.15.0 21813 optionalDependencies: 21814 + '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@2.6.1))(typescript@5.6.3) 21815 transitivePeerDependencies: 21816 - eslint-import-resolver-typescript 21817 - eslint-import-resolver-webpack ··· 21831 21832 eslint-visitor-keys@4.2.0: {} 21833 21834 + eslint@9.14.0(jiti@2.6.1): 21835 dependencies: 21836 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.6.1)) 21837 '@eslint-community/regexpp': 4.12.1 21838 '@eslint/config-array': 0.18.0 21839 '@eslint/core': 0.7.0 ··· 21869 optionator: 0.9.4 21870 text-table: 0.2.0 21871 optionalDependencies: 21872 + jiti: 2.6.1 21873 transitivePeerDependencies: 21874 - supports-color 21875 ··· 21989 onetime: 6.0.0 21990 signal-exit: 4.1.0 21991 strip-final-newline: 3.0.0 21992 + 21993 + execa@9.6.1: 21994 + dependencies: 21995 + '@sindresorhus/merge-streams': 4.0.0 21996 + cross-spawn: 7.0.6 21997 + figures: 6.1.0 21998 + get-stream: 9.0.1 21999 + human-signals: 8.0.1 22000 + is-plain-obj: 4.1.0 22001 + is-stream: 4.0.1 22002 + npm-run-path: 6.0.0 22003 + pretty-ms: 9.3.0 22004 + signal-exit: 4.1.0 22005 + strip-final-newline: 4.0.0 22006 + yoctocolors: 2.1.1 22007 22008 expand-template@2.0.3: {} 22009 ··· 22494 dependencies: 22495 escape-string-regexp: 1.0.5 22496 22497 + figures@6.1.0: 22498 + dependencies: 22499 + is-unicode-supported: 2.1.0 22500 + 22501 file-entry-cache@8.0.0: 22502 dependencies: 22503 flat-cache: 4.0.1 ··· 22683 cross-spawn: 7.0.3 22684 signal-exit: 4.1.0 22685 22686 + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))): 22687 dependencies: 22688 '@babel/code-frame': 7.26.2 22689 chalk: 4.1.2 ··· 22698 semver: 7.7.1 22699 tapable: 2.2.1 22700 typescript: 5.6.3 22701 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 22702 22703 form-data@2.5.1: 22704 dependencies: ··· 22884 22885 get-east-asian-width@1.2.0: {} 22886 22887 + get-east-asian-width@1.4.0: {} 22888 + 22889 get-folder-size@2.0.1: 22890 dependencies: 22891 gar: 1.0.4 ··· 22961 get-stream@6.0.1: {} 22962 22963 get-stream@8.0.1: {} 22964 + 22965 + get-stream@9.0.1: 22966 + dependencies: 22967 + '@sec-ant/readable-stream': 0.4.1 22968 + is-stream: 4.0.1 22969 22970 get-symbol-description@1.0.2: 22971 dependencies: ··· 23043 minipass: 7.1.2 23044 package-json-from-dist: 1.0.0 23045 path-scurry: 1.11.1 23046 + 23047 + glob@13.0.0: 23048 + dependencies: 23049 + minimatch: 10.1.1 23050 + minipass: 7.1.2 23051 + path-scurry: 2.0.1 23052 23053 glob@7.2.3: 23054 dependencies: ··· 23521 23522 html-void-elements@3.0.0: {} 23523 23524 + html-webpack-plugin@5.6.0(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))): 23525 dependencies: 23526 '@types/html-minifier-terser': 6.1.0 23527 html-minifier-terser: 6.1.0 ··· 23529 pretty-error: 4.0.0 23530 tapable: 2.2.1 23531 optionalDependencies: 23532 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 23533 23534 html-whitespace-sensitive-tag-names@3.0.1: {} 23535 ··· 23633 23634 human-signals@5.0.0: {} 23635 23636 + human-signals@8.0.1: {} 23637 + 23638 humanize-ms@1.2.1: 23639 dependencies: 23640 ms: 2.1.3 ··· 23647 dependencies: 23648 '@babel/runtime': 7.26.0 23649 23650 + i18next-cli@1.32.0(@swc/helpers@0.5.17)(@types/node@22.15.17): 23651 + dependencies: 23652 + '@croct/json5-parser': 0.2.2 23653 + '@swc/core': 1.15.4(@swc/helpers@0.5.17) 23654 + chalk: 5.6.2 23655 + chokidar: 5.0.0 23656 + commander: 14.0.2 23657 + execa: 9.6.1 23658 + glob: 13.0.0 23659 + i18next-resources-for-ts: 2.0.0(@swc/helpers@0.5.17) 23660 + inquirer: 13.1.0(@types/node@22.15.17) 23661 + jiti: 2.6.1 23662 + jsonc-parser: 3.3.1 23663 + minimatch: 10.1.1 23664 + ora: 9.0.0 23665 + swc-walk: 1.0.1 23666 + transitivePeerDependencies: 23667 + - '@swc/helpers' 23668 + - '@types/node' 23669 + 23670 i18next-fluent@2.0.0: 23671 dependencies: 23672 '@fluent/bundle': 0.13.0 ··· 23700 transitivePeerDependencies: 23701 - supports-color 23702 23703 + i18next-resources-for-ts@2.0.0(@swc/helpers@0.5.17): 23704 + dependencies: 23705 + '@babel/runtime': 7.28.4 23706 + '@swc/core': 1.15.4(@swc/helpers@0.5.17) 23707 + chokidar: 5.0.0 23708 + yaml: 2.8.2 23709 + transitivePeerDependencies: 23710 + - '@swc/helpers' 23711 + 23712 i18next-resources-to-backend@1.2.1: 23713 dependencies: 23714 '@babel/runtime': 7.26.0 ··· 23734 safer-buffer: 2.1.2 23735 23736 iconv-lite@0.6.3: 23737 + dependencies: 23738 + safer-buffer: 2.1.2 23739 + 23740 + iconv-lite@0.7.1: 23741 dependencies: 23742 safer-buffer: 2.1.2 23743 ··· 23827 dependencies: 23828 css-in-js-utils: 3.1.0 23829 23830 + inquirer@13.1.0(@types/node@22.15.17): 23831 + dependencies: 23832 + '@inquirer/ansi': 2.0.2 23833 + '@inquirer/core': 11.1.0(@types/node@22.15.17) 23834 + '@inquirer/prompts': 8.1.0(@types/node@22.15.17) 23835 + '@inquirer/type': 4.0.2(@types/node@22.15.17) 23836 + mute-stream: 3.0.0 23837 + run-async: 4.0.6 23838 + rxjs: 7.8.2 23839 + optionalDependencies: 23840 + '@types/node': 22.15.17 23841 + 23842 inquirer@8.2.6: 23843 dependencies: 23844 ansi-escapes: 4.3.2 ··· 23982 23983 is-interactive@1.0.0: {} 23984 23985 + is-interactive@2.0.0: {} 23986 + 23987 is-lambda@1.0.1: {} 23988 23989 is-my-ip-valid@1.0.1: ··· 24048 is-stream@2.0.1: {} 24049 24050 is-stream@3.0.0: {} 24051 + 24052 + is-stream@4.0.1: {} 24053 24054 is-string@1.0.7: 24055 dependencies: ··· 24069 24070 is-unicode-supported@0.1.0: {} 24071 24072 + is-unicode-supported@2.1.0: {} 24073 + 24074 is-url@1.2.4: {} 24075 24076 is-valid-glob@1.0.0: {} ··· 24222 jimp-compact@0.16.1: {} 24223 24224 jiti@2.4.2: {} 24225 + 24226 + jiti@2.6.1: {} 24227 24228 jose@4.15.9: {} 24229 ··· 24286 24287 jsonc-parser@3.2.0: {} 24288 24289 + jsonc-parser@3.3.1: {} 24290 + 24291 jsonfile@4.0.0: 24292 optionalDependencies: 24293 graceful-fs: 4.2.11 ··· 24406 24407 lead@4.0.0: {} 24408 24409 + lerna@8.2.2(@swc/core@1.15.4(@swc/helpers@0.5.17))(encoding@0.1.13): 24410 dependencies: 24411 + '@lerna/create': 8.2.2(@swc/core@1.15.4(@swc/helpers@0.5.17))(encoding@0.1.13)(typescript@5.8.3) 24412 '@npmcli/arborist': 7.5.4 24413 '@npmcli/package-json': 5.2.0 24414 '@npmcli/run-script': 8.1.0 24415 + '@nx/devkit': 20.0.8(nx@20.0.8(@swc/core@1.15.4(@swc/helpers@0.5.17))) 24416 '@octokit/plugin-enterprise-rest': 6.0.1 24417 '@octokit/rest': 20.1.2 24418 aproba: 2.0.0 ··· 24457 npm-package-arg: 11.0.2 24458 npm-packlist: 8.0.2 24459 npm-registry-fetch: 17.1.0 24460 + nx: 20.0.8(@swc/core@1.15.4(@swc/helpers@0.5.17)) 24461 p-map: 4.0.0 24462 p-map-series: 2.1.0 24463 p-pipe: 3.1.0 ··· 24763 chalk: 4.1.2 24764 is-unicode-supported: 0.1.0 24765 24766 + log-symbols@7.0.1: 24767 + dependencies: 24768 + is-unicode-supported: 2.1.0 24769 + yoctocolors: 2.1.1 24770 + 24771 log-update@5.0.1: 24772 dependencies: 24773 ansi-escapes: 5.0.0 ··· 24799 lowercase-keys@2.0.0: {} 24800 24801 lru-cache@10.4.3: {} 24802 + 24803 + lru-cache@11.2.4: {} 24804 24805 lru-cache@5.1.1: 24806 dependencies: ··· 25644 25645 minimalistic-crypto-utils@1.0.1: {} 25646 25647 + minimatch@10.1.1: 25648 + dependencies: 25649 + '@isaacs/brace-expansion': 5.0.0 25650 + 25651 minimatch@3.0.5: 25652 dependencies: 25653 brace-expansion: 1.1.11 ··· 25794 25795 mute-stream@1.0.0: {} 25796 25797 + mute-stream@3.0.0: {} 25798 + 25799 mz@2.7.0: 25800 dependencies: 25801 any-promise: 1.3.0 ··· 25900 25901 node-int64@0.4.0: {} 25902 25903 + node-loader@2.0.0(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))): 25904 dependencies: 25905 loader-utils: 2.0.4 25906 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 25907 25908 node-machine-id@1.1.12: {} 25909 ··· 26033 dependencies: 26034 path-key: 4.0.0 26035 26036 + npm-run-path@6.0.0: 26037 + dependencies: 26038 + path-key: 4.0.0 26039 + unicorn-magic: 0.3.0 26040 + 26041 npmlog@6.0.2: 26042 dependencies: 26043 are-we-there-yet: 3.0.1 ··· 26051 26052 nullthrows@1.1.1: {} 26053 26054 + nx@20.0.8(@swc/core@1.15.4(@swc/helpers@0.5.17)): 26055 dependencies: 26056 '@napi-rs/wasm-runtime': 0.2.4 26057 '@yarnpkg/lockfile': 1.1.0 ··· 26096 '@nx/nx-linux-x64-musl': 20.0.8 26097 '@nx/nx-win32-arm64-msvc': 20.0.8 26098 '@nx/nx-win32-x64-msvc': 20.0.8 26099 + '@swc/core': 1.15.4(@swc/helpers@0.5.17) 26100 transitivePeerDependencies: 26101 - debug 26102 ··· 26249 log-symbols: 4.1.0 26250 strip-ansi: 6.0.1 26251 wcwidth: 1.0.1 26252 + 26253 + ora@9.0.0: 26254 + dependencies: 26255 + chalk: 5.6.2 26256 + cli-cursor: 5.0.0 26257 + cli-spinners: 3.3.0 26258 + is-interactive: 2.0.0 26259 + is-unicode-supported: 2.1.0 26260 + log-symbols: 7.0.1 26261 + stdin-discarder: 0.2.2 26262 + string-width: 8.1.0 26263 + strip-ansi: 7.1.2 26264 26265 os-tmpdir@1.0.2: {} 26266 ··· 26499 unist-util-visit-children: 3.0.0 26500 vfile: 6.0.3 26501 26502 + parse-ms@4.0.0: {} 26503 + 26504 parse-passwd@1.0.0: {} 26505 26506 parse-path@7.0.0: ··· 26563 path-scurry@1.11.1: 26564 dependencies: 26565 lru-cache: 10.4.3 26566 + minipass: 7.1.2 26567 + 26568 + path-scurry@2.0.1: 26569 + dependencies: 26570 + lru-cache: 11.2.4 26571 minipass: 7.1.2 26572 26573 path-to-regexp@0.1.10: {} ··· 26699 26700 possible-typed-array-names@1.0.0: {} 26701 26702 + postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.3)(yaml@2.8.2): 26703 dependencies: 26704 lilconfig: 3.1.3 26705 optionalDependencies: 26706 + jiti: 2.6.1 26707 postcss: 8.5.3 26708 + yaml: 2.8.2 26709 26710 postcss-modules-extract-imports@3.1.0(postcss@8.5.3): 26711 dependencies: ··· 26802 '@jest/schemas': 29.6.3 26803 ansi-styles: 5.2.0 26804 react-is: 18.3.1 26805 + 26806 + pretty-ms@9.3.0: 26807 + dependencies: 26808 + parse-ms: 4.0.0 26809 26810 prismjs@1.30.0: {} 26811 ··· 26963 transitivePeerDependencies: 26964 - encoding 26965 26966 + quicktype-typescript-input@23.2.6(@swc/core@1.15.4(@swc/helpers@0.5.17))(encoding@0.1.13): 26967 dependencies: 26968 + '@mark.probst/typescript-json-schema': 0.55.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 26969 quicktype-core: 23.2.6(encoding@0.1.13) 26970 typescript: 4.9.5 26971 transitivePeerDependencies: ··· 26973 - '@swc/wasm' 26974 - encoding 26975 26976 + quicktype@23.2.6(@swc/core@1.15.4(@swc/helpers@0.5.17))(encoding@0.1.13): 26977 dependencies: 26978 '@glideapps/ts-necessities': 2.4.0 26979 chalk: 4.1.2 ··· 26986 moment: 2.30.1 26987 quicktype-core: 23.2.6(encoding@0.1.13) 26988 quicktype-graphql-input: 23.2.6(encoding@0.1.13) 26989 + quicktype-typescript-input: 23.2.6(@swc/core@1.15.4(@swc/helpers@0.5.17))(encoding@0.1.13) 26990 readable-stream: 4.7.0 26991 stream-json: 1.8.0 26992 string-to-stream: 3.0.1 ··· 27513 27514 readdirp@4.1.2: {} 27515 27516 + readdirp@5.0.0: {} 27517 + 27518 real-require@0.2.0: {} 27519 27520 ? reanimated-color-picker@4.0.0(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(react-native-webview@13.15.0(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0))(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native-gesture-handler@2.26.0(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0))(react-native-reanimated@3.18.0(@babel/core@7.26.0)(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0))(react-native@0.79.3(@babel/core@7.26.0)(@types/react@18.3.12)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) ··· 27919 27920 run-async@2.4.1: {} 27921 27922 + run-async@4.0.6: {} 27923 + 27924 run-parallel@1.2.0: 27925 dependencies: 27926 queue-microtask: 1.2.3 ··· 27929 dependencies: 27930 tslib: 2.8.1 27931 27932 + rxjs@7.8.2: 27933 + dependencies: 27934 + tslib: 2.8.1 27935 + 27936 safe-array-concat@1.1.2: 27937 dependencies: 27938 call-bind: 1.0.7 ··· 28355 28356 standard-as-callback@2.1.0: {} 28357 28358 + starlight-openapi-rapidoc@0.8.1-beta(@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)))(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2))(openapi-types@12.1.3): 28359 dependencies: 28360 + '@astrojs/starlight': 0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)) 28361 '@astropub/md': 0.4.0 28362 '@readme/openapi-parser': 2.5.0(openapi-types@12.1.3) 28363 + astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2) 28364 github-slugger: 2.0.0 28365 transitivePeerDependencies: 28366 - '@astrojs/markdown-remark' 28367 - openapi-types 28368 28369 + starlight-openapi@0.17.0(@astrojs/starlight@0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)))(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2))(openapi-types@12.1.3): 28370 dependencies: 28371 + '@astrojs/starlight': 0.34.2(astro@5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2)) 28372 '@readme/openapi-parser': 2.7.0(openapi-types@12.1.3) 28373 + astro: 5.7.10(@types/node@22.15.17)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.7.0)(jiti@2.6.1)(lightningcss@1.29.1)(rollup@4.40.1)(terser@5.32.0)(typescript@5.8.3)(yaml@2.8.2) 28374 github-slugger: 2.0.0 28375 url-template: 3.1.1 28376 transitivePeerDependencies: ··· 28379 statuses@1.5.0: {} 28380 28381 statuses@2.0.1: {} 28382 + 28383 + stdin-discarder@0.2.2: {} 28384 28385 stream-browserify@3.0.0: 28386 dependencies: ··· 28449 get-east-asian-width: 1.2.0 28450 strip-ansi: 7.1.0 28451 28452 + string-width@8.1.0: 28453 + dependencies: 28454 + get-east-asian-width: 1.4.0 28455 + strip-ansi: 7.1.2 28456 + 28457 string.prototype.padend@3.1.6: 28458 dependencies: 28459 call-bind: 1.0.7 ··· 28502 ansi-regex: 5.0.1 28503 28504 strip-ansi@7.1.0: 28505 + dependencies: 28506 + ansi-regex: 6.0.1 28507 + 28508 + strip-ansi@7.1.2: 28509 dependencies: 28510 ansi-regex: 6.0.1 28511 ··· 28519 28520 strip-final-newline@3.0.0: {} 28521 28522 + strip-final-newline@4.0.0: {} 28523 + 28524 strip-indent@3.0.0: 28525 dependencies: 28526 min-indent: 1.0.1 ··· 28555 stubs@3.0.0: 28556 optional: true 28557 28558 + style-loader@4.0.0(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))): 28559 dependencies: 28560 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 28561 28562 style-to-js@1.1.16: 28563 dependencies: ··· 28608 28609 supports-preserve-symlinks-flag@1.0.0: {} 28610 28611 + swc-walk@1.0.1: 28612 + dependencies: 28613 + acorn-walk: 8.3.4 28614 + 28615 symlink-or-copy@1.3.1: {} 28616 28617 table-layout@4.1.1: ··· 28701 ansi-escapes: 4.3.2 28702 supports-hyperlinks: 2.3.0 28703 28704 + terser-webpack-plugin@5.3.10(@swc/core@1.15.4(@swc/helpers@0.5.17))(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))): 28705 dependencies: 28706 '@jridgewell/trace-mapping': 0.3.25 28707 jest-worker: 27.5.1 28708 schema-utils: 3.3.0 28709 serialize-javascript: 6.0.2 28710 terser: 5.32.0 28711 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 28712 optionalDependencies: 28713 + '@swc/core': 1.15.4(@swc/helpers@0.5.17) 28714 28715 terser@5.32.0: 28716 dependencies: ··· 28836 28837 ts-interface-checker@0.1.13: {} 28838 28839 + ts-loader@9.5.1(typescript@5.6.3)(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))): 28840 dependencies: 28841 chalk: 4.1.2 28842 enhanced-resolve: 5.17.1 ··· 28844 semver: 7.7.1 28845 source-map: 0.7.4 28846 typescript: 5.6.3 28847 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 28848 28849 ts-morph@24.0.0: 28850 dependencies: 28851 '@ts-morph/common': 0.25.0 28852 code-block-writer: 13.0.3 28853 28854 + ts-node@10.9.2(@swc/core@1.15.4(@swc/helpers@0.5.17))(@types/node@16.18.126)(typescript@4.9.4): 28855 dependencies: 28856 '@cspotcode/source-map-support': 0.8.1 28857 '@tsconfig/node10': 1.0.11 ··· 28869 v8-compile-cache-lib: 3.0.1 28870 yn: 3.1.1 28871 optionalDependencies: 28872 + '@swc/core': 1.15.4(@swc/helpers@0.5.17) 28873 28874 + ts-node@10.9.2(@swc/core@1.15.4(@swc/helpers@0.5.17))(@types/node@22.15.17)(typescript@5.6.3): 28875 dependencies: 28876 '@cspotcode/source-map-support': 0.8.1 28877 '@tsconfig/node10': 1.0.11 ··· 28889 v8-compile-cache-lib: 3.0.1 28890 yn: 3.1.1 28891 optionalDependencies: 28892 + '@swc/core': 1.15.4(@swc/helpers@0.5.17) 28893 28894 tsconfck@3.1.5(typescript@5.8.3): 28895 optionalDependencies: ··· 28910 28911 tslib@2.8.1: {} 28912 28913 + tsup@8.5.0(@swc/core@1.15.4(@swc/helpers@0.5.17))(jiti@2.6.1)(postcss@8.5.3)(typescript@5.8.3)(yaml@2.8.2): 28914 dependencies: 28915 bundle-require: 5.1.0(esbuild@0.25.3) 28916 cac: 6.7.14 ··· 28921 fix-dts-default-cjs-exports: 1.0.1 28922 joycon: 3.1.1 28923 picocolors: 1.1.1 28924 + postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.3)(yaml@2.8.2) 28925 resolve-from: 5.0.0 28926 rollup: 4.40.1 28927 source-map: 0.8.0-beta.0 ··· 28930 tinyglobby: 0.2.13 28931 tree-kill: 1.2.2 28932 optionalDependencies: 28933 + '@swc/core': 1.15.4(@swc/helpers@0.5.17) 28934 postcss: 8.5.3 28935 typescript: 5.8.3 28936 transitivePeerDependencies: ··· 29101 dependencies: 29102 pako: 0.2.9 29103 tiny-inflate: 1.0.3 29104 + 29105 + unicorn-magic@0.3.0: {} 29106 29107 unified@11.0.5: 29108 dependencies: ··· 29414 replace-ext: 2.0.0 29415 teex: 1.0.1 29416 29417 + vite@6.3.4(@types/node@22.15.17)(jiti@2.6.1)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.8.2): 29418 dependencies: 29419 esbuild: 0.25.3 29420 fdir: 6.4.4(picomatch@4.0.2) ··· 29425 optionalDependencies: 29426 '@types/node': 22.15.17 29427 fsevents: 2.3.3 29428 + jiti: 2.6.1 29429 lightningcss: 1.29.1 29430 terser: 5.32.0 29431 + yaml: 2.8.2 29432 29433 + vitefu@1.0.6(vite@6.3.4(@types/node@22.15.17)(jiti@2.6.1)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.8.2)): 29434 optionalDependencies: 29435 + vite: 6.3.4(@types/node@22.15.17)(jiti@2.6.1)(lightningcss@1.29.1)(terser@5.32.0)(yaml@2.8.2) 29436 29437 vlq@1.0.1: {} 29438 ··· 29483 29484 webidl-conversions@5.0.0: {} 29485 29486 + webpack-dev-middleware@5.3.4(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))): 29487 dependencies: 29488 colorette: 2.0.20 29489 memfs: 3.5.3 29490 mime-types: 2.1.35 29491 range-parser: 1.2.1 29492 schema-utils: 4.2.0 29493 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 29494 29495 + webpack-dev-server@4.15.2(bufferutil@4.0.8)(debug@4.4.0)(utf-8-validate@5.0.10)(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))): 29496 dependencies: 29497 '@types/bonjour': 3.5.13 29498 '@types/connect-history-api-fallback': 1.5.4 ··· 29522 serve-index: 1.9.1 29523 sockjs: 0.3.24 29524 spdy: 4.0.2 29525 + webpack-dev-middleware: 5.3.4(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))) 29526 ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) 29527 optionalDependencies: 29528 + webpack: 5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)) 29529 transitivePeerDependencies: 29530 - bufferutil 29531 - debug ··· 29540 29541 webpack-sources@3.2.3: {} 29542 29543 + webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17)): 29544 dependencies: 29545 '@types/estree': 1.0.7 29546 '@webassemblyjs/ast': 1.12.1 ··· 29562 neo-async: 2.6.2 29563 schema-utils: 3.3.0 29564 tapable: 2.2.1 29565 + terser-webpack-plugin: 5.3.10(@swc/core@1.15.4(@swc/helpers@0.5.17))(webpack@5.94.0(@swc/core@1.15.4(@swc/helpers@0.5.17))) 29566 watchpack: 2.4.2 29567 webpack-sources: 3.2.3 29568 transitivePeerDependencies: ··· 29677 string-width: 7.2.0 29678 strip-ansi: 7.1.0 29679 29680 + wrap-ansi@9.0.2: 29681 + dependencies: 29682 + ansi-styles: 6.2.1 29683 + string-width: 7.2.0 29684 + strip-ansi: 7.1.0 29685 + 29686 wrappy@1.0.2: {} 29687 29688 write-file-atomic@2.4.3: ··· 29774 yallist@5.0.0: {} 29775 29776 yaml@2.5.1: {} 29777 + 29778 + yaml@2.8.2: {} 29779 29780 yargs-parser@18.1.3: 29781 dependencies: