diff --git a/.github/workflows/code-release.yml b/.github/workflows/code-release.yml index 4348815bad..d09489f7fe 100644 --- a/.github/workflows/code-release.yml +++ b/.github/workflows/code-release.yml @@ -34,9 +34,9 @@ jobs: APP_VERSION: ${{ steps.version.outputs.version }} run: | # Pre-create a single draft release so every parallel publish job uploads - # into the same release. Without this, electron-forge's GitHub publisher - # creates-if-missing from each job at once, producing multiple releases for - # one tag and scattering assets (the orphans get left as drafts). + # into the same release. Without this, parallel jobs each create-if-missing + # at once, producing multiple releases for one tag and scattering assets + # (the orphans get left as drafts). if gh release view "v$APP_VERSION" --repo PostHog/code >/dev/null 2>&1; then echo "Release v$APP_VERSION already exists — reusing it" else @@ -68,13 +68,11 @@ jobs: POSTHOG_SOURCEMAP_API_KEY: ${{ secrets.POSTHOG_SOURCEMAP_API_KEY }} POSTHOG_ENV_ID: ${{ secrets.POSTHOG_ENV_ID }} POSTHOG_HOST: ${{ secrets.POSTHOG_HOST }} - APPLE_CODESIGN_IDENTITY: ${{ secrets.APPLE_CODESIGN_IDENTITY }} + CSC_LINK: ${{ secrets.APPLE_CODESIGN_CERT_BASE64 }} + CSC_KEY_PASSWORD: ${{ secrets.APPLE_CODESIGN_CERT_PASSWORD }} APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - APPLE_CODESIGN_CERT_BASE64: ${{ secrets.APPLE_CODESIGN_CERT_BASE64 }} - APPLE_CODESIGN_CERT_PASSWORD: ${{ secrets.APPLE_CODESIGN_CERT_PASSWORD }} - APPLE_CODESIGN_KEYCHAIN_PASSWORD: ${{ secrets.APPLE_CODESIGN_KEYCHAIN_PASSWORD }} steps: - name: Get app token id: app-token @@ -145,35 +143,52 @@ jobs: - name: Build agent package run: pnpm --filter @posthog/agent run build - - name: Import code signing certificate - if: env.APPLE_CODESIGN_IDENTITY != '' + - name: Build release artifacts env: - CERT_BASE64: ${{ env.APPLE_CODESIGN_CERT_BASE64 }} - CERT_PASSWORD: ${{ env.APPLE_CODESIGN_CERT_PASSWORD }} - KEYCHAIN_PASSWORD: ${{ env.APPLE_CODESIGN_KEYCHAIN_PASSWORD }} + APP_VERSION: ${{ steps.version.outputs.version }} + MATRIX_ARCH: ${{ matrix.arch }} + working-directory: apps/code run: | - if [ -z "$CERT_BASE64" ] || [ -z "$CERT_PASSWORD" ] || [ -z "$KEYCHAIN_PASSWORD" ]; then - echo "Missing code signing certificate secrets" - exit 1 + node scripts/build.mjs + if [[ "$MATRIX_ARCH" == "arm64" ]]; then + pnpm exec electron-builder build --mac --arm64 --publish never --config electron-builder.config.cjs + else + pnpm exec electron-builder build --mac --x64 --publish never --config electron-builder.config.cjs fi - KEYCHAIN="$RUNNER_TEMP/codesign.keychain-db" - echo "$CERT_BASE64" | base64 --decode > "$RUNNER_TEMP/certificate.p12" - security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN" - security set-keychain-settings -lut 21600 "$KEYCHAIN" - security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN" - security import "$RUNNER_TEMP/certificate.p12" -k "$KEYCHAIN" -P "$CERT_PASSWORD" -T /usr/bin/codesign -T /usr/bin/security - security list-keychains -d user -s "$KEYCHAIN" $(security list-keychains -d user | tr -d '"') - security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN" - rm "$RUNNER_TEMP/certificate.p12" - - - name: Build native modules - run: pnpm --filter code run build-native - - name: Build release artifacts + - name: Verify package env: - APP_VERSION: ${{ steps.version.outputs.version }} - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - run: pnpm --filter code exec electron-forge publish --dry-run --arch=${{ matrix.arch }} --platform=darwin + MATRIX_ARCH: ${{ matrix.arch }} + run: | + if [[ "$MATRIX_ARCH" == "arm64" ]]; then + APP_BUNDLE="apps/code/out/mac-arm64/PostHog Code.app" + else + APP_BUNDLE="apps/code/out/mac/PostHog Code.app" + fi + RESOURCES="$APP_BUNDLE/Contents/Resources" + UNPACKED="$RESOURCES/app.asar.unpacked/node_modules" + + if [[ ! -f "$RESOURCES/app-update.yml" ]]; then + echo "FAIL: app-update.yml missing at $RESOURCES/app-update.yml" + exit 1 + fi + echo "OK: app-update.yml" + + for mod in node-pty better-sqlite3 "@parcel/watcher"; do + if [[ ! -d "$UNPACKED/$mod" ]]; then + echo "FAIL: $mod missing in app.asar.unpacked/node_modules" + exit 1 + fi + echo "OK: $mod" + done + + for bin in claude-cli codex-acp; do + if [[ ! -d "$RESOURCES/app.asar.unpacked/.vite/build/$bin" ]]; then + echo "FAIL: $bin missing in bundled binaries" + exit 1 + fi + echo "OK: $bin" + done - name: Install Playwright run: pnpm --filter code exec playwright install @@ -192,11 +207,22 @@ jobs: path: apps/code/playwright-report/ retention-days: 7 - - name: Publish release artifacts + - name: Upload release artifacts env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} APP_VERSION: ${{ steps.version.outputs.version }} - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - run: pnpm --filter code exec electron-forge publish --from-dry-run + run: | + gh release upload "v$APP_VERSION" --repo PostHog/code --clobber \ + apps/code/out/*.dmg \ + apps/code/out/*-mac.zip \ + apps/code/out/*.blockmap + + - name: Upload mac manifest artifact + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + with: + name: mac-manifest-${{ matrix.arch }} + path: apps/code/out/latest-mac.yml + retention-days: 1 publish-windows: needs: [prepare-release] @@ -274,18 +300,46 @@ jobs: - name: Build agent package run: pnpm --filter @posthog/agent run build - - name: Publish with Electron Forge + - name: Build release artifacts + env: + APP_VERSION: ${{ steps.version.outputs.version }} + working-directory: apps/code + run: | + node scripts/build.mjs + pnpm exec electron-builder build --win --x64 --publish never --config electron-builder.config.cjs + + - name: Upload release artifacts + shell: pwsh env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} APP_VERSION: ${{ steps.version.outputs.version }} - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - run: pnpm --filter code run publish + run: | + $out = "apps/code/out" + $sq = Join-Path $out "squirrel-windows" + $items = @() + # NSIS installer + electron-updater metadata live in the output root. + $items += Get-ChildItem $out -File -Filter "*.exe" + $items += Get-ChildItem $out -File -Filter "latest.yml" + $items += Get-ChildItem $out -File -Filter "*.blockmap" + # Squirrel.Windows artifacts (nupkg + RELEASES + Setup) land in out/squirrel-windows. + if (Test-Path $sq) { + $items += Get-ChildItem $sq -File -Filter "*.nupkg" + $items += Get-ChildItem $sq -File -Filter "RELEASES" + $items += Get-ChildItem $sq -File -Filter "*.exe" + } + $files = $items | Select-Object -ExpandProperty FullName + gh release upload "v$env:APP_VERSION" --repo PostHog/code --clobber @files publish-linux: needs: [prepare-release] strategy: fail-fast: false matrix: - runner: [ubuntu-24.04, ubuntu-24.04-arm] + include: + - runner: ubuntu-24.04 + arch: x64 + - runner: ubuntu-24.04-arm + arch: arm64 runs-on: ${{ matrix.runner }} permissions: id-token: write @@ -362,11 +416,28 @@ jobs: - name: Build agent package run: pnpm --filter @posthog/agent run build - - name: Publish with Electron Forge + - name: Build release artifacts env: APP_VERSION: ${{ steps.version.outputs.version }} - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - run: pnpm --filter code run publish + MATRIX_ARCH: ${{ matrix.arch }} + working-directory: apps/code + run: | + node scripts/build.mjs + if [[ "$MATRIX_ARCH" == "arm64" ]]; then + pnpm exec electron-builder build --linux --arm64 --publish never --config electron-builder.config.cjs + else + pnpm exec electron-builder build --linux --x64 --publish never --config electron-builder.config.cjs + fi + + - name: Upload release artifacts + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + APP_VERSION: ${{ steps.version.outputs.version }} + run: | + gh release upload "v$APP_VERSION" --repo PostHog/code --clobber \ + apps/code/out/*.AppImage \ + apps/code/out/*.deb \ + apps/code/out/*.rpm finalize-release: needs: [publish-macos, publish-windows, publish-linux] @@ -391,6 +462,47 @@ jobs: TAG_VERSION="${GITHUB_REF#refs/tags/v}" echo "version=$TAG_VERSION" >> "$GITHUB_OUTPUT" + - name: Checkout merge script + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + sparse-checkout: | + apps/code/scripts/merge-mac-manifests.mjs + sparse-checkout-cone-mode: false + + - name: Setup Node.js + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + with: + node-version: 22 + + - name: Install yaml dependency + run: npm install --prefix apps/code yaml@^2 + + - name: Download arm64 mac manifest + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + with: + name: mac-manifest-arm64 + path: /tmp/mac-manifests/arm64 + + - name: Download x64 mac manifest + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + with: + name: mac-manifest-x64 + path: /tmp/mac-manifests/x64 + + - name: Merge mac manifests + run: | + node apps/code/scripts/merge-mac-manifests.mjs \ + /tmp/mac-manifests/arm64/latest-mac.yml \ + /tmp/mac-manifests/x64/latest-mac.yml \ + /tmp/latest-mac.yml + + - name: Upload merged mac manifest + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + APP_VERSION: ${{ steps.version.outputs.version }} + run: | + gh release upload "v$APP_VERSION" --repo PostHog/code --clobber /tmp/latest-mac.yml + - name: Publish GitHub release env: GH_TOKEN: ${{ steps.app-token.outputs.token }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6c5c567fc2..6b73328466 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -126,9 +126,6 @@ jobs: pnpm --filter agent build & wait - - name: Build native modules - run: pnpm --filter code run build-native - - name: Package Electron app run: pnpm --filter code run package env: diff --git a/apps/code/build/entitlements.mac.inherit.plist b/apps/code/build/entitlements.mac.inherit.plist new file mode 100644 index 0000000000..df9a5e652f --- /dev/null +++ b/apps/code/build/entitlements.mac.inherit.plist @@ -0,0 +1,14 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-library-validation + + com.apple.security.inherit + + + diff --git a/apps/code/electron-builder.config.cjs b/apps/code/electron-builder.config.cjs new file mode 100644 index 0000000000..73e9f7a383 --- /dev/null +++ b/apps/code/electron-builder.config.cjs @@ -0,0 +1,145 @@ +"use strict"; + +const skipNotarize = + process.env.SKIP_NOTARIZE === "1" || !process.env.APPLE_TEAM_ID; + +/** @type {import('electron-builder').Configuration} */ +module.exports = { + // Original release bundle id; changing it breaks existing installs' data dir and Keychain entries. + appId: "com.posthog.array", + productName: "PostHog Code", + executableName: "PostHog Code", + + directories: { + output: "out", + buildResources: "build", + }, + + electronVersion: require("electron/package.json").version, + npmRebuild: false, + nodeGypRebuild: false, + generateUpdatesFilesForAllChannels: true, + + beforePack: "./scripts/before-pack.cjs", + + files: [ + ".vite/build/**/*", + ".vite/renderer/**/*", + "package.json", + "!node_modules/**/*", + "node_modules/node-pty/**/*", + "node_modules/node-addon-api/**/*", + "node_modules/@parcel/**/*", + "node_modules/better-sqlite3/**/*", + "node_modules/bindings/**/*", + "node_modules/file-uri-to-path/**/*", + "node_modules/file-icon/**/*", + "node_modules/p-map/**/*", + "node_modules/prebuild-install/**/*", + "node_modules/micromatch/**/*", + "node_modules/is-glob/**/*", + "node_modules/detect-libc/**/*", + "node_modules/braces/**/*", + "node_modules/picomatch/**/*", + "node_modules/is-extglob/**/*", + "node_modules/fill-range/**/*", + "node_modules/to-regex-range/**/*", + "node_modules/is-number/**/*", + ], + + asarUnpack: [ + "**/*.node", + "**/spawn-helper", + ".vite/build/claude-cli/**", + ".vite/build/plugins/posthog/**", + ".vite/build/codex-acp/**", + ".vite/build/grammars/**", + "node_modules/node-pty/**", + "node_modules/@parcel/**", + "node_modules/file-icon/**", + "node_modules/better-sqlite3/**", + "node_modules/bindings/**", + "node_modules/file-uri-to-path/**", + ], + + extraResources: [ + { from: "build/app-icon.png", to: "app-icon.png" }, + { from: "build/Assets.car", to: "Assets.car" }, + ], + + protocols: [ + { + name: "PostHog Code", + schemes: ["posthog-code"], + }, + ], + + mac: { + target: ["dmg", "zip"], + // biome-ignore lint/suspicious/noTemplateCurlyInString: electron-builder interpolation tokens, not JS template literals + artifactName: "PostHog-Code-${version}-${arch}-mac.${ext}", + icon: "build/app-icon.icns", + category: "public.app-category.productivity", + hardenedRuntime: true, + gatekeeperAssess: false, + entitlements: "build/entitlements.mac.plist", + entitlementsInherit: "build/entitlements.mac.inherit.plist", + extendInfo: { + CFBundleIconName: "Icon", + }, + notarize: skipNotarize ? false : { teamId: process.env.APPLE_TEAM_ID }, + }, + + dmg: { + format: "ULFO", + size: "4g", + background: "build/dmg-background.png", + icon: "build/app-icon.icns", + iconSize: 80, + window: { width: 560, height: 380 }, + contents: [ + { x: 104, y: 55, type: "file" }, + { x: 104, y: 243, type: "link", path: "/Applications" }, + ], + }, + + win: { + target: ["nsis", "squirrel"], + // biome-ignore lint/suspicious/noTemplateCurlyInString: electron-builder interpolation tokens, not JS template literals + artifactName: "PostHog-Code-${version}-${arch}-win.${ext}", + icon: "build/app-icon.ico", + }, + + nsis: { + oneClick: false, + deleteAppDataOnUninstall: false, + }, + + squirrelWindows: { + name: "PostHogCode", + }, + + linux: { + target: ["AppImage", "deb", "rpm"], + icon: "build/app-icon.png", + category: "Development", + mimeTypes: ["x-scheme-handler/posthog-code"], + }, + + deb: { + packageName: "posthog-code", + maintainer: "PostHog ", + packageCategory: "devel", + }, + + rpm: { + packageName: "posthog-code", + }, + + publish: { + provider: "github", + owner: "PostHog", + repo: "code", + releaseType: "draft", + }, +}; diff --git a/apps/code/forge.config.ts b/apps/code/forge.config.ts deleted file mode 100644 index b88e085c80..0000000000 --- a/apps/code/forge.config.ts +++ /dev/null @@ -1,404 +0,0 @@ -import type { ChildProcess } from "node:child_process"; -import { execSync } from "node:child_process"; -import { cpSync, existsSync, mkdirSync, rmSync } from "node:fs"; -import path from "node:path"; -import { MakerDeb } from "@electron-forge/maker-deb"; -import { MakerDMG } from "@electron-forge/maker-dmg"; -import { MakerRpm } from "@electron-forge/maker-rpm"; -import { MakerSquirrel } from "@electron-forge/maker-squirrel"; -import { MakerZIP } from "@electron-forge/maker-zip"; -import { VitePlugin } from "@electron-forge/plugin-vite"; -import { PublisherGithub } from "@electron-forge/publisher-github"; -import type { ForgeConfig } from "@electron-forge/shared-types"; -import { MakerAppImage } from "@reforged/maker-appimage"; - -const appleCodesignIdentity = process.env.APPLE_CODESIGN_IDENTITY; -const appleTeamId = process.env.APPLE_TEAM_ID; -const appleId = process.env.APPLE_ID; -const appleIdPassword = - process.env.APPLE_APP_SPECIFIC_PASSWORD ?? process.env.APPLE_ID_PASSWORD; -const appleApiKey = process.env.APPLE_API_KEY; -const appleApiKeyId = process.env.APPLE_API_KEY_ID; -const appleApiIssuer = process.env.APPLE_API_ISSUER; -const appleNotarizeKeychainProfile = - process.env.APPLE_NOTARIZE_KEYCHAIN_PROFILE; -const appleNotarizeKeychain = process.env.APPLE_NOTARIZE_KEYCHAIN; -const shouldSignMacApp = Boolean(appleCodesignIdentity); -const skipNotarize = process.env.SKIP_NOTARIZE === "1"; - -type NotaryToolCredentials = - | { - appleId: string; - appleIdPassword: string; - teamId: string; - } - | { - appleApiKey: string; - appleApiKeyId: string; - appleApiIssuer: string; - } - | { - keychainProfile: string; - keychain?: string; - }; - -let notarizeCredentials: NotaryToolCredentials | undefined; - -if (appleId && appleIdPassword && appleTeamId) { - notarizeCredentials = { - appleId: appleId, - appleIdPassword: appleIdPassword, - teamId: appleTeamId, - }; -} else if (appleApiKey && appleApiKeyId && appleApiIssuer) { - notarizeCredentials = { - appleApiKey, - appleApiKeyId, - appleApiIssuer, - }; -} else if (appleNotarizeKeychainProfile) { - notarizeCredentials = { - keychainProfile: appleNotarizeKeychainProfile, - ...(appleNotarizeKeychain ? { keychain: appleNotarizeKeychain } : {}), - }; -} - -const notarizeConfig = - !skipNotarize && shouldSignMacApp && notarizeCredentials - ? notarizeCredentials - : undefined; - -let electronChild: ChildProcess | null = null; - -function killElectronChild() { - if (electronChild && !electronChild.killed) { - console.log("[forge] Killing Electron child process"); - electronChild.kill("SIGTERM"); - electronChild = null; - } -} - -process.on("SIGINT", killElectronChild); -process.on("SIGTERM", killElectronChild); -const osxSignConfig = - shouldSignMacApp && appleCodesignIdentity - ? ({ - identity: appleCodesignIdentity, - optionsForFile: () => { - // Entitlements for all binaries/frameworks - return { - hardenedRuntime: true, - entitlements: "build/entitlements.mac.plist", - }; - }, - } satisfies Record) - : undefined; - -function copyNativeDependency( - dependency: string, - destinationRoot: string, -): boolean { - const source = path.resolve("../../node_modules", dependency); - if (!existsSync(source)) { - // Fallback to local node_modules - const localSource = path.resolve("node_modules", dependency); - if (existsSync(localSource)) { - copySync(dependency, destinationRoot, localSource); - return true; - } - - console.warn( - `[forge] Native dependency "${dependency}" not found, skipping copy`, - ); - return false; - } - - const nodeModulesDir = path.join(destinationRoot, "node_modules"); - mkdirSync(nodeModulesDir, { recursive: true }); - - const destination = path.join(nodeModulesDir, dependency); - rmSync(destination, { recursive: true, force: true }); - cpSync(source, destination, { recursive: true, dereference: true }); - console.log( - `[forge] Copied native dependency "${dependency}" into ${path.relative( - process.cwd(), - destination, - )}`, - ); - return true; -} - -function copySync(dependency: string, destinationRoot: string, source: string) { - const nodeModulesDir = path.join(destinationRoot, "node_modules"); - mkdirSync(nodeModulesDir, { recursive: true }); - - const destination = path.join(nodeModulesDir, dependency); - rmSync(destination, { recursive: true, force: true }); - cpSync(source, destination, { recursive: true, dereference: true }); - console.log( - `[forge] Copied native dependency "${dependency}" into ${path.relative( - process.cwd(), - destination, - )}`, - ); -} - -const hasAssetsCar = existsSync("build/Assets.car"); - -const sharedLinuxOptions = { - name: "posthog-code", - productName: "PostHog Code", - genericName: "Code Editor", - description: "PostHog Code desktop app", - // Must match packagerConfig.executableName — the maker locates the packaged binary by this name - bin: "PostHog Code", - icon: "./build/app-icon.png", - categories: ["Development"], - homepage: "https://github.com/PostHog/code", - mimeType: ["x-scheme-handler/posthog-code"], -}; - -const config: ForgeConfig = { - packagerConfig: { - asar: { - unpack: - "{**/*.node,**/spawn-helper,**/.vite/build/claude-cli/**,**/.vite/build/plugins/posthog/**,**/.vite/build/codex-acp/**,**/.vite/build/grammars/**,**/node_modules/node-pty/**,**/node_modules/@parcel/**,**/node_modules/file-icon/**,**/node_modules/better-sqlite3/**,**/node_modules/bindings/**,**/node_modules/file-uri-to-path/**}", - }, - prune: false, - name: "PostHog Code", - executableName: "PostHog Code", - icon: "./build/app-icon", // Forge adds .icns/.ico/.png based on platform - appBundleId: "com.posthog.array", - appCategoryType: "public.app-category.productivity", - extraResource: hasAssetsCar - ? ["build/Assets.car", "build/app-icon.png"] - : ["build/app-icon.png"], - extendInfo: hasAssetsCar - ? { - CFBundleIconName: "Icon", - } - : {}, - ...(osxSignConfig - ? { - osxSign: osxSignConfig, - } - : {}), - ...(notarizeConfig - ? { - osxNotarize: notarizeConfig, - } - : {}), - }, - rebuildConfig: {}, - makers: [ - new MakerDMG({ - icon: "./build/app-icon.icns", - format: "ULFO", - background: "./build/dmg-background.png", - iconSize: 80, - window: { size: { width: 560, height: 380 } }, - contents: (opts) => [ - { x: 104, y: 55, type: "file", path: opts.appPath }, - { x: 104, y: 243, type: "link", path: "/Applications" }, - ], - ...(shouldSignMacApp && appleCodesignIdentity - ? { - "code-sign": { - "signing-identity": appleCodesignIdentity, - identifier: "com.posthog.array", - }, - } - : {}), - }), - new MakerSquirrel({ - name: "PostHogCode", - setupIcon: "./build/app-icon.ico", - }), - new MakerAppImage({ - options: { - icon: "./build/app-icon.png", - categories: ["Development"], - bin: "PostHog Code", - // Declare the deep-link scheme in the bundled .desktop entry so - // AppImage integrators (e.g. AppImageLauncher) register the handler. - // Non-integrated runs are covered at runtime in DeepLinkService. - mimeType: ["x-scheme-handler/posthog-code"], - }, - }), - new MakerDeb({ - options: { - ...sharedLinuxOptions, - section: "devel", - maintainer: "PostHog ", - }, - }), - new MakerRpm({ - options: { - ...sharedLinuxOptions, - license: "MIT", - }, - }), - new MakerZIP({}, ["darwin", "linux"]), - ], - hooks: { - generateAssets: async () => { - if (process.platform !== "darwin") return; - - if ( - existsSync("build/app-icon.png") && - !existsSync("build/app-icon.icns") - ) { - execSync("bash scripts/generate-icns.sh", { stdio: "inherit" }); - } - - if (existsSync("build/icon.icon") && !existsSync("build/Assets.car")) { - execSync("bash scripts/compile-glass-icon.sh", { stdio: "inherit" }); - } - }, - prePackage: async () => { - if (process.platform !== "darwin") return; - - // Build native modules for DMG maker on Node.js 22. These run on the - // build host (DMG creation is host-side), so we force npm to target the - // host arch even when the rest of the build is cross-targeting (e.g. - // building darwin-x64 on an arm64 runner). - const modules = ["macos-alias", "fs-xattr"]; - const hostBuildEnv = { - ...process.env, - npm_config_arch: process.arch, - npm_config_platform: process.platform, - }; - - for (const mod of modules) { - const candidates = [ - path.join("node_modules", mod), - path.resolve("../../node_modules", mod), - ]; - const modulePath = candidates.find((p) => existsSync(p)); - - if (modulePath) { - console.log(`Building native module: ${mod} (${modulePath})`); - execSync("npm install", { - cwd: modulePath, - stdio: "inherit", - env: hostBuildEnv, - }); - } - } - }, - postStart: async (_forgeConfig, child) => { - electronChild = child; - }, - packageAfterCopy: async ( - _forgeConfig, - buildPath, - _electronVersion, - platform, - targetArch, - ) => { - copyNativeDependency("node-pty", buildPath); - copyNativeDependency("node-addon-api", buildPath); - copyNativeDependency("@parcel/watcher", buildPath); - - // Platform-specific native dependencies - if (platform === "darwin") { - const watcherPkg = - targetArch === "x64" - ? "@parcel/watcher-darwin-x64" - : "@parcel/watcher-darwin-arm64"; - if (!copyNativeDependency(watcherPkg, buildPath)) { - throw new Error( - `[forge] Missing required native dependency "${watcherPkg}" for darwin-${targetArch}`, - ); - } - copyNativeDependency("file-icon", buildPath); - copyNativeDependency("p-map", buildPath); - } else if (platform === "win32") { - const watcherPkg = - targetArch === "arm64" - ? "@parcel/watcher-win32-arm64" - : "@parcel/watcher-win32-x64"; - if (!copyNativeDependency(watcherPkg, buildPath)) { - throw new Error( - `[forge] Missing required native dependency "${watcherPkg}" for win32-${targetArch}`, - ); - } - } else if (platform === "linux") { - const watcherPkg = - targetArch === "arm64" - ? "@parcel/watcher-linux-arm64-glibc" - : "@parcel/watcher-linux-x64-glibc"; - if (!copyNativeDependency(watcherPkg, buildPath)) { - throw new Error( - `[forge] Missing required native dependency "${watcherPkg}" for linux-${targetArch}`, - ); - } - } - - // Copy @parcel/watcher's hoisted dependencies - copyNativeDependency("micromatch", buildPath); - copyNativeDependency("is-glob", buildPath); - copyNativeDependency("detect-libc", buildPath); - // Copy transitive dependencies (full chain) - copyNativeDependency("braces", buildPath); - copyNativeDependency("picomatch", buildPath); - copyNativeDependency("is-extglob", buildPath); - copyNativeDependency("fill-range", buildPath); - copyNativeDependency("to-regex-range", buildPath); - copyNativeDependency("is-number", buildPath); - copyNativeDependency("better-sqlite3", buildPath); - copyNativeDependency("bindings", buildPath); - copyNativeDependency("file-uri-to-path", buildPath); - copyNativeDependency("prebuild-install", buildPath); - }, - packageAfterPrune: async (_forgeConfig, buildPath) => { - // @parcel/watcher tries @parcel/watcher-{platform}-{arch} first, then - // falls back to build/Release/watcher.node. Remove that fallback from - // release bundles so a host-compiled binary cannot shadow the required - // target-specific optional dependency. - rmSync(path.join(buildPath, "node_modules/@parcel/watcher/build"), { - recursive: true, - force: true, - }); - }, - }, - publishers: [ - new PublisherGithub({ - repository: { - owner: "PostHog", - name: "code", - }, - draft: true, - prerelease: false, - }), - ], - plugins: [ - new VitePlugin({ - build: [ - { - entry: "src/main/bootstrap.ts", - config: "vite.main.config.mts", - target: "main", - }, - { - entry: "src/main/preload.ts", - config: "vite.preload.config.mts", - target: "preload", - }, - { - entry: "node_modules/@posthog/workspace-server/src/serve.ts", - config: "vite.workspace-server.config.mts", - target: "main", - }, - ], - renderer: [ - { - name: "main_window", - config: "vite.renderer.config.mts", - }, - ], - }), - ], -}; - -export default config; diff --git a/apps/code/forge.env.d.ts b/apps/code/forge.env.d.ts deleted file mode 100644 index 9700e0ae19..0000000000 --- a/apps/code/forge.env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/apps/code/package.json b/apps/code/package.json index 19ca6a9abc..570dcb973d 100644 --- a/apps/code/package.json +++ b/apps/code/package.json @@ -10,16 +10,15 @@ }, "scripts": { "setup": "bash bin/setup", - "dev": "electron-forge start -- --remote-debugging-port=9222", - "start": "electron-forge start -- --remote-debugging-port=9222", - "start:debug": "electron-forge start -- --inspect=5858 --remote-debugging-port=9222", - "package": "electron-forge package", - "package:dev": "FORCE_DEV_MODE=1 SKIP_NOTARIZE=1 electron-forge package", - "make": "electron-forge make", + "dev": "node scripts/dev.mjs", + "start": "node scripts/dev.mjs", + "start:debug": "ELECTRON_INSPECT=5858 node scripts/dev.mjs", + "package": "node scripts/build.mjs && electron-builder build --dir --config electron-builder.config.cjs", + "package:dev": "FORCE_DEV_MODE=1 SKIP_NOTARIZE=1 node scripts/build.mjs && electron-builder build --dir --config electron-builder.config.cjs", + "make": "node scripts/build.mjs && electron-builder build --config electron-builder.config.cjs", "make:linux": "bash scripts/build-linux-docker.sh", - "publish": "electron-forge publish", + "publish": "node scripts/build.mjs && electron-builder build --publish always --config electron-builder.config.cjs", "build": "pnpm package", - "build-native": "bash scripts/build-native-modules.sh", "build-icons": "bash scripts/generate-icns.sh", "typecheck": "tsc -p tsconfig.node.json --noEmit && tsc -p tsconfig.web.json --noEmit", "generate-client": "tsx scripts/update-openapi-client.ts", @@ -41,19 +40,8 @@ "license": "MIT", "devDependencies": { "@biomejs/biome": "2.2.4", - "@electron-forge/cli": "^7.11.1", - "@electron-forge/maker-deb": "^7.11.1", - "@electron-forge/maker-dmg": "^7.11.1", - "@electron-forge/maker-rpm": "^7.11.1", - "@electron-forge/maker-squirrel": "^7.11.1", - "@electron-forge/maker-zip": "^7.11.1", - "@electron-forge/plugin-vite": "^7.11.1", - "@electron-forge/publisher-github": "^7.11.1", - "@electron-forge/shared-types": "^7.11.1", - "@electron/rebuild": "^4.0.3", "@playwright/test": "^1.42.0", "@posthog/rollup-plugin": "^1.4.0", - "@reforged/maker-appimage": "^5.2.0", "@storybook/addon-a11y": "10.2.0", "@storybook/addon-docs": "10.2.0", "@storybook/react-vite": "10.2.0", @@ -71,6 +59,7 @@ "@vitest/ui": "^4.1.8", "adm-zip": "^0.5.16", "electron": "^41.0.0", + "electron-builder": "^26.15.3", "husky": "^9.1.7", "jimp": "^1.6.0", "jsdom": "^26.0.0", @@ -130,6 +119,7 @@ "drizzle-orm": "^0.45.1", "electron-log": "^5.4.3", "electron-store": "^11.0.0", + "electron-updater": "^6.8.9", "fflate": "^0.8.2", "file-icon": "^6.0.0", "fzf": "^0.5.2", diff --git a/apps/code/scripts/before-pack.cjs b/apps/code/scripts/before-pack.cjs new file mode 100644 index 0000000000..a3db782c61 --- /dev/null +++ b/apps/code/scripts/before-pack.cjs @@ -0,0 +1,102 @@ +"use strict"; + +const { cpSync, existsSync, mkdirSync, rmSync } = require("node:fs"); +const path = require("node:path"); +const { Arch } = require("electron-builder"); + +function copyDep(name, rootNodeModules, localNodeModules) { + const src = path.join(rootNodeModules, name); + if (!existsSync(src)) { + const localSrc = path.join(localNodeModules, name); + if (existsSync(localSrc)) { + console.log( + `[before-pack] "${name}" already in local node_modules, skipping`, + ); + return true; + } + console.warn( + `[before-pack] "${name}" not found in root or local node_modules, skipping`, + ); + return false; + } + + const dest = path.join(localNodeModules, name); + const parentDir = path.dirname(dest); + mkdirSync(parentDir, { recursive: true }); + rmSync(dest, { recursive: true, force: true }); + cpSync(src, dest, { recursive: true, dereference: true }); + console.log(`[before-pack] staged "${name}"`); + return true; +} + +function copyRequiredDep(name, rootNodeModules, localNodeModules) { + if (!copyDep(name, rootNodeModules, localNodeModules)) { + throw new Error( + `[before-pack] required native dependency "${name}" not found in node_modules`, + ); + } +} + +module.exports = async function beforePack(context) { + const platformName = context.packager.platform.name; + const arch = context.arch; + + const rootNodeModules = path.resolve(__dirname, "../../../node_modules"); + const localNodeModules = path.resolve(__dirname, "../node_modules"); + + console.log(`[before-pack] platform=${platformName} arch=${arch}`); + console.log(`[before-pack] root node_modules: ${rootNodeModules}`); + console.log(`[before-pack] local node_modules: ${localNodeModules}`); + + const requiredDeps = ["node-pty", "better-sqlite3", "@parcel/watcher"]; + const optionalDeps = [ + "node-addon-api", + "micromatch", + "is-glob", + "detect-libc", + "braces", + "picomatch", + "is-extglob", + "fill-range", + "to-regex-range", + "is-number", + "bindings", + "file-uri-to-path", + "prebuild-install", + ]; + + for (const dep of requiredDeps) { + copyRequiredDep(dep, rootNodeModules, localNodeModules); + } + for (const dep of optionalDeps) { + copyDep(dep, rootNodeModules, localNodeModules); + } + + if (platformName === "mac") { + const watcherPkg = + arch === Arch.x64 + ? "@parcel/watcher-darwin-x64" + : "@parcel/watcher-darwin-arm64"; + copyRequiredDep(watcherPkg, rootNodeModules, localNodeModules); + copyDep("file-icon", rootNodeModules, localNodeModules); + copyDep("p-map", rootNodeModules, localNodeModules); + } else if (platformName === "win") { + const watcherPkg = + arch === Arch.arm64 + ? "@parcel/watcher-win32-arm64" + : "@parcel/watcher-win32-x64"; + copyRequiredDep(watcherPkg, rootNodeModules, localNodeModules); + } else if (platformName === "linux") { + const watcherPkg = + arch === Arch.arm64 + ? "@parcel/watcher-linux-arm64-glibc" + : "@parcel/watcher-linux-x64-glibc"; + copyRequiredDep(watcherPkg, rootNodeModules, localNodeModules); + } + + const watcherBuild = path.join(localNodeModules, "@parcel/watcher/build"); + if (existsSync(watcherBuild)) { + rmSync(watcherBuild, { recursive: true, force: true }); + console.log("[before-pack] removed @parcel/watcher/build"); + } +}; diff --git a/apps/code/scripts/build-linux-docker.sh b/apps/code/scripts/build-linux-docker.sh index 5e6a27b22d..269fe6dd1b 100755 --- a/apps/code/scripts/build-linux-docker.sh +++ b/apps/code/scripts/build-linux-docker.sh @@ -8,8 +8,8 @@ case "$ARCH" in *) echo "Unsupported ARCH=$ARCH (expected x64 or arm64)" >&2; exit 1 ;; esac -# Optional maker targets. Without any, all configured makers run (default). -# Accept friendly aliases or full maker package names, via repeatable +# Optional builder targets. Without any, all configured targets run (default). +# Accept friendly aliases or electron-builder target names, via repeatable # --target/--targets flags (comma-separated) or the TARGETS env var. RAW_TARGETS="${TARGETS:-}" while [ $# -gt 0 ]; do @@ -28,10 +28,6 @@ if [ -n "$RAW_TARGETS" ]; then for t in "${_targets[@]}"; do t="$(echo "$t" | tr '[:upper:]' '[:lower:]' | xargs)" # lowercase + trim [ -z "$t" ] && continue - # Forge's --targets matches each configured maker's `.name` (its display - # name), NOT its npm package name. Passing the package name makes Forge - # fall back to a fresh, UNCONFIGURED maker (dropping options like `bin`), - # which then fails to locate the packaged executable. Map to `.name`. case "$t" in deb) pkg="deb" ;; rpm) pkg="rpm" ;; @@ -39,7 +35,7 @@ if [ -n "$RAW_TARGETS" ]; then appimage) pkg="AppImage" ;; *) echo "Unknown target '$t' (expected: deb, rpm, zip, or appimage)" >&2; exit 1 ;; esac - MAKE_TARGETS="${MAKE_TARGETS:+$MAKE_TARGETS,}$pkg" + MAKE_TARGETS="${MAKE_TARGETS:+$MAKE_TARGETS }$pkg" done fi @@ -96,9 +92,13 @@ COPYFILE_DISABLE=1 tar -cf - \ pnpm --filter @posthog/git build pnpm --filter @posthog/enricher build pnpm --filter @posthog/agent build - MAKE_TARGETS_FLAG="" - [ -n "${MAKE_TARGETS:-}" ] && MAKE_TARGETS_FLAG="--targets=$MAKE_TARGETS" - pnpm --filter code make --platform=linux --arch="$ARCH" $MAKE_TARGETS_FLAG + cd apps/code + node scripts/build.mjs + if [ -n "${MAKE_TARGETS:-}" ]; then + pnpm exec electron-builder build --linux $MAKE_TARGETS --${ARCH} --config electron-builder.config.cjs + else + pnpm exec electron-builder build --linux --${ARCH} --config electron-builder.config.cjs + fi mkdir -p /out - cp -r apps/code/out/make /out/ + cp -r out/. /out/ ' diff --git a/apps/code/scripts/build-native-modules.sh b/apps/code/scripts/build-native-modules.sh deleted file mode 100755 index fc21828ecb..0000000000 --- a/apps/code/scripts/build-native-modules.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -# Build native modules for DMG maker on Node.js 22 -# This script compiles macos-alias and fs-xattr native modules - -set -e - -echo "Building native modules for DMG maker..." - -# Compile macos-alias -if [ -d "node_modules/macos-alias" ]; then - echo "Compiling macos-alias..." - cd node_modules/macos-alias - npm install - cd ../.. - echo "✓ macos-alias compiled" -else - echo "⚠ macos-alias not found, skipping" -fi - -# Compile fs-xattr -if [ -d "node_modules/fs-xattr" ]; then - echo "Compiling fs-xattr..." - cd node_modules/fs-xattr - npm install - cd ../.. - echo "✓ fs-xattr compiled" -else - echo "⚠ fs-xattr not found, skipping" -fi - -echo "✓ Native modules built successfully" diff --git a/apps/code/scripts/build.mjs b/apps/code/scripts/build.mjs new file mode 100644 index 0000000000..82e2d1bcca --- /dev/null +++ b/apps/code/scripts/build.mjs @@ -0,0 +1,38 @@ +#!/usr/bin/env node +import { spawn } from "node:child_process"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const root = path.resolve(__dirname, ".."); + +function runViteBuild(config) { + return new Promise((resolve, reject) => { + const child = spawn("pnpm", ["exec", "vite", "build", "--config", config], { + cwd: root, + stdio: "inherit", + }); + child.on("close", (code) => { + if (code !== 0) { + reject(new Error(`vite build -c ${config} exited with code ${code}`)); + } else { + resolve(); + } + }); + child.on("error", reject); + }); +} + +async function main() { + await Promise.all([ + runViteBuild("vite.main.config.mts"), + runViteBuild("vite.preload.config.mts"), + runViteBuild("vite.workspace-server.config.mts"), + ]); + await runViteBuild("vite.renderer.config.mts"); +} + +main().catch((err) => { + console.error(err.message); + process.exit(1); +}); diff --git a/apps/code/scripts/dev.mjs b/apps/code/scripts/dev.mjs new file mode 100644 index 0000000000..ca781d149b --- /dev/null +++ b/apps/code/scripts/dev.mjs @@ -0,0 +1,187 @@ +#!/usr/bin/env node +import { spawn } from "node:child_process"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const root = path.resolve(__dirname, ".."); + +const DEV_SERVER_PORT = 5173; +const DEV_SERVER_READY = new RegExp( + `(localhost|127\\.0\\.0\\.1|\\[::1\\]):${DEV_SERVER_PORT}`, +); + +const children = []; +let shuttingDown = false; + +function killAll(signal = "SIGTERM") { + shuttingDown = true; + for (const child of children) { + if (!child.killed) { + child.kill(signal); + } + } +} + +function onSpawnError(label) { + return (err) => { + console.error(`Failed to start ${label}: ${err.message}`); + killAll("SIGTERM"); + process.exit(1); + }; +} + +process.on("SIGINT", () => { + killAll("SIGTERM"); + process.exit(0); +}); +process.on("SIGTERM", () => { + killAll("SIGTERM"); + process.exit(0); +}); + +async function main() { + const rendererServer = spawn( + "pnpm", + [ + "exec", + "vite", + "--config", + "vite.renderer.config.mts", + "--port", + String(DEV_SERVER_PORT), + "--strictPort", + "--mode", + "development", + ], + { + cwd: root, + stdio: ["inherit", "pipe", "pipe"], + }, + ); + children.push(rendererServer); + rendererServer.on("error", onSpawnError("renderer dev server")); + rendererServer.on("close", (code) => { + killAll("SIGTERM"); + process.exit(code ?? 0); + }); + + let devServerUrl = null; + const watchReady = { main: false, preload: false, ws: false }; + + function isReady() { + return ( + devServerUrl !== null && + watchReady.main && + watchReady.preload && + watchReady.ws + ); + } + + let electronStarted = false; + + function maybeStartElectron() { + if (!isReady() || electronStarted) return; + electronStarted = true; + + const inspectArg = process.env.ELECTRON_INSPECT + ? [`--inspect=${process.env.ELECTRON_INSPECT}`] + : []; + + const electron = spawn( + "pnpm", + ["exec", "electron", ".", "--remote-debugging-port=9222", ...inspectArg], + { + cwd: root, + stdio: "inherit", + env: { + ...process.env, + VITE_DEV_SERVER_URL: devServerUrl, + }, + }, + ); + children.push(electron); + electron.on("error", onSpawnError("electron")); + electron.on("close", (code) => { + killAll("SIGTERM"); + process.exit(code ?? 0); + }); + } + + function forwardAndCheck(stream, dest, onLine) { + stream.setEncoding("utf8"); + let buf = ""; + stream.on("data", (chunk) => { + buf += chunk; + let nl = buf.indexOf("\n"); + while (nl !== -1) { + const line = buf.slice(0, nl); + buf = buf.slice(nl + 1); + dest.write(`${line}\n`); + onLine(line); + nl = buf.indexOf("\n"); + } + }); + stream.on("end", () => { + if (buf) { + dest.write(buf); + onLine(buf); + } + }); + } + + forwardAndCheck(rendererServer.stdout, process.stdout, (line) => { + if (devServerUrl === null && DEV_SERVER_READY.test(line)) { + devServerUrl = `http://localhost:${DEV_SERVER_PORT}`; + maybeStartElectron(); + } + }); + forwardAndCheck(rendererServer.stderr, process.stderr, () => {}); + + const builtPattern = /built in|watching for file changes/i; + + function startWatchBuild(config, readyKey) { + const child = spawn( + "pnpm", + [ + "exec", + "vite", + "build", + "--config", + config, + "--watch", + "--mode", + "development", + ], + { + cwd: root, + stdio: ["inherit", "pipe", "pipe"], + }, + ); + children.push(child); + child.on("error", onSpawnError(`vite watch (${readyKey})`)); + child.on("close", (code) => { + if (shuttingDown || code === 0) return; + console.error(`vite watch (${readyKey}) exited with code ${code}`); + killAll("SIGTERM"); + process.exit(code ?? 1); + }); + forwardAndCheck(child.stdout, process.stdout, (line) => { + if (!watchReady[readyKey] && builtPattern.test(line)) { + watchReady[readyKey] = true; + maybeStartElectron(); + } + }); + forwardAndCheck(child.stderr, process.stderr, () => {}); + } + + startWatchBuild("vite.main.config.mts", "main"); + startWatchBuild("vite.preload.config.mts", "preload"); + startWatchBuild("vite.workspace-server.config.mts", "ws"); +} + +main().catch((err) => { + console.error(err.message); + killAll("SIGTERM"); + process.exit(1); +}); diff --git a/apps/code/scripts/merge-mac-manifests.mjs b/apps/code/scripts/merge-mac-manifests.mjs new file mode 100644 index 0000000000..a16928035a --- /dev/null +++ b/apps/code/scripts/merge-mac-manifests.mjs @@ -0,0 +1,51 @@ +#!/usr/bin/env node +import { readFileSync, realpathSync, writeFileSync } from "node:fs"; +import { fileURLToPath } from "node:url"; +import { parse, stringify } from "yaml"; + +export function mergeManifests(arm64, x64) { + if (arm64.version !== x64.version) { + throw new Error( + `Manifest version mismatch: arm64=${arm64.version} x64=${x64.version}`, + ); + } + + const seenUrls = new Set(); + const mergedFiles = []; + for (const file of [...arm64.files, ...x64.files]) { + if (!seenUrls.has(file.url)) { + seenUrls.add(file.url); + mergedFiles.push(file); + } + } + + const { path: _path, sha512: _sha512, size: _size, ...rest } = arm64; + return { ...rest, files: mergedFiles }; +} + +function main() { + const [, , arm64Path, x64Path, outputPath] = process.argv; + + if (!arm64Path || !x64Path || !outputPath) { + console.error( + "Usage: merge-mac-manifests.mjs ", + ); + process.exit(1); + } + + const arm64 = parse(readFileSync(arm64Path, "utf8")); + const x64 = parse(readFileSync(x64Path, "utf8")); + const merged = mergeManifests(arm64, x64); + + writeFileSync(outputPath, stringify(merged), "utf8"); + console.log( + `Merged ${merged.files.length} files from arm64+x64 manifests -> ${outputPath}`, + ); +} + +if ( + process.argv[1] && + realpathSync(process.argv[1]) === fileURLToPath(import.meta.url) +) { + main(); +} diff --git a/apps/code/scripts/merge-mac-manifests.test.mjs b/apps/code/scripts/merge-mac-manifests.test.mjs new file mode 100644 index 0000000000..67fa11f3d9 --- /dev/null +++ b/apps/code/scripts/merge-mac-manifests.test.mjs @@ -0,0 +1,84 @@ +import { describe, expect, it } from "vitest"; +import { mergeManifests } from "./merge-mac-manifests.mjs"; + +const arm64Manifest = () => ({ + version: "1.2.3", + releaseDate: "2026-06-20T00:00:00.000Z", + path: "PostHog-Code-1.2.3-arm64-mac.zip", + sha512: "arm64-sha", + files: [ + { url: "PostHog-Code-1.2.3-arm64-mac.zip", sha512: "arm64-sha", size: 1 }, + ], +}); + +const x64Manifest = () => ({ + version: "1.2.3", + releaseDate: "2026-06-20T00:00:01.000Z", + path: "PostHog-Code-1.2.3-x64-mac.zip", + sha512: "x64-sha", + files: [ + { url: "PostHog-Code-1.2.3-x64-mac.zip", sha512: "x64-sha", size: 2 }, + ], +}); + +describe("mergeManifests", () => { + it("combines distinct files from both manifests, arm64 first", () => { + const merged = mergeManifests(arm64Manifest(), x64Manifest()); + + expect(merged.files.map((f) => f.url)).toEqual([ + "PostHog-Code-1.2.3-arm64-mac.zip", + "PostHog-Code-1.2.3-x64-mac.zip", + ]); + }); + + it("dedupes files that share a url, keeping the arm64 entry", () => { + const shared = { url: "shared.zip", sha512: "from-arm64", size: 1 }; + const arm64 = { ...arm64Manifest(), files: [shared] }; + const x64 = { + ...x64Manifest(), + files: [{ url: "shared.zip", sha512: "from-x64", size: 2 }], + }; + + const merged = mergeManifests(arm64, x64); + + expect(merged.files).toHaveLength(1); + expect(merged.files[0].sha512).toBe("from-arm64"); + }); + + it("keeps arch-independent metadata but drops single-arch top-level fields", () => { + const merged = mergeManifests(arm64Manifest(), x64Manifest()); + + expect(merged.version).toBe("1.2.3"); + expect(merged.releaseDate).toBe("2026-06-20T00:00:00.000Z"); + // path/sha512/size describe one file and are meaningless for a merged + // multi-arch manifest; electron-updater reads files[] instead. + expect(merged.path).toBeUndefined(); + expect(merged.sha512).toBeUndefined(); + expect(merged.size).toBeUndefined(); + }); + + it("throws when the two manifests report different versions", () => { + const x64 = { ...x64Manifest(), version: "1.2.4" }; + + expect(() => mergeManifests(arm64Manifest(), x64)).toThrow( + "version mismatch", + ); + }); + + it("keeps the entries from the non-empty side when one has no files", () => { + const arm64 = { ...arm64Manifest(), files: [] }; + + const merged = mergeManifests(arm64, x64Manifest()); + + expect(merged.files.map((f) => f.url)).toEqual([ + "PostHog-Code-1.2.3-x64-mac.zip", + ]); + }); + + it("returns an empty file list when both sides are empty", () => { + const arm64 = { ...arm64Manifest(), files: [] }; + const x64 = { ...x64Manifest(), files: [] }; + + expect(mergeManifests(arm64, x64).files).toEqual([]); + }); +}); diff --git a/apps/code/scripts/postinstall.sh b/apps/code/scripts/postinstall.sh index b620ad8cda..255d14f29b 100755 --- a/apps/code/scripts/postinstall.sh +++ b/apps/code/scripts/postinstall.sh @@ -12,7 +12,7 @@ SCRIPTS_DIR="$(cd "$(dirname "$0")" && pwd)" # pnpm skips package-level postinstall scripts when the lockfile is already # satisfied, so if node_modules/electron/dist gets wiped (interrupted download, # cache eviction, arch change, manual cleanup), `pnpm install` won't notice — -# and `electron-forge start` then fails with "Electron failed to install +# and `node scripts/dev.mjs` then fails with "Electron failed to install # correctly, please delete node_modules/electron and try installing again". # Detect the missing binary and invoke Electron's own install script to fetch it. ELECTRON_DIST="$REPO_ROOT/node_modules/electron/dist" diff --git a/apps/code/src/main/platform-adapters/electron-updater.ts b/apps/code/src/main/platform-adapters/electron-updater.ts index c0d6d5a752..e4c9cbf9be 100644 --- a/apps/code/src/main/platform-adapters/electron-updater.ts +++ b/apps/code/src/main/platform-adapters/electron-updater.ts @@ -1,9 +1,16 @@ import type { IUpdater } from "@posthog/platform/updater"; -import { app, autoUpdater } from "electron"; +import { app } from "electron"; +import log from "electron-log/main"; +import { autoUpdater, type UpdateInfo } from "electron-updater"; import { injectable } from "inversify"; @injectable() export class ElectronUpdater implements IUpdater { + constructor() { + autoUpdater.logger = log; + autoUpdater.disableDifferentialDownload = true; + } + public isSupported(): boolean { return ( app.isPackaged && @@ -12,41 +19,34 @@ export class ElectronUpdater implements IUpdater { ); } - public setFeedUrl(url: string): void { - autoUpdater.setFeedURL({ url }); - } - public check(): void { - autoUpdater.checkForUpdates(); + void autoUpdater.checkForUpdates(); } public quitAndInstall(): void { - autoUpdater.quitAndInstall(); + autoUpdater.quitAndInstall(false, true); } public onCheckStart(handler: () => void): () => void { - const l = () => handler(); - autoUpdater.on("checking-for-update", l); - return () => autoUpdater.off("checking-for-update", l); + autoUpdater.on("checking-for-update", handler); + return () => autoUpdater.off("checking-for-update", handler); } public onUpdateAvailable(handler: () => void): () => void { - const l = () => handler(); + const l = (_info: UpdateInfo) => handler(); autoUpdater.on("update-available", l); return () => autoUpdater.off("update-available", l); } public onUpdateDownloaded(handler: (version: string) => void): () => void { - const l = (_event: unknown, _releaseNotes: string, releaseName: string) => - handler(releaseName); + const l = (info: UpdateInfo) => handler(info.version); autoUpdater.on("update-downloaded", l); return () => autoUpdater.off("update-downloaded", l); } public onNoUpdate(handler: () => void): () => void { - const l = () => handler(); - autoUpdater.on("update-not-available", l); - return () => autoUpdater.off("update-not-available", l); + autoUpdater.on("update-not-available", handler); + return () => autoUpdater.off("update-not-available", handler); } public onError(handler: (error: Error) => void): () => void { diff --git a/apps/code/src/main/utils/env.ts b/apps/code/src/main/utils/env.ts index e11826792a..06bc80efea 100644 --- a/apps/code/src/main/utils/env.ts +++ b/apps/code/src/main/utils/env.ts @@ -12,7 +12,7 @@ function requireEnv(name: string): string { } /** - * Whether this is a development build (running via electron-forge start). + * Whether this is a development build (running via node scripts/dev.mjs). * Use this for dev/prod feature gates. Use `isPackaged` from @posthog/platform/app-meta * via DI only when you need ASAR-related behavior (e.g. .unpacked paths). */ diff --git a/apps/code/src/main/window.ts b/apps/code/src/main/window.ts index 530cf95fbc..312de94655 100644 --- a/apps/code/src/main/window.ts +++ b/apps/code/src/main/window.ts @@ -23,8 +23,8 @@ import { type WindowStateSchema, windowStateStore } from "./utils/store"; const log = logger.scope("window"); -declare const MAIN_WINDOW_VITE_DEV_SERVER_URL: string | undefined; -declare const MAIN_WINDOW_VITE_NAME: string; +const MAIN_WINDOW_VITE_DEV_SERVER_URL = process.env.VITE_DEV_SERVER_URL; +const MAIN_WINDOW_VITE_NAME = "main_window"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); diff --git a/apps/code/tests/e2e/fixtures/electron.ts b/apps/code/tests/e2e/fixtures/electron.ts index 19f93290f9..e2e7d44e24 100644 --- a/apps/code/tests/e2e/fixtures/electron.ts +++ b/apps/code/tests/e2e/fixtures/electron.ts @@ -14,21 +14,21 @@ function getAppPath(): string { if (process.platform === "darwin") { const arm64Path = path.join( outDir, - "PostHog Code-darwin-arm64/PostHog Code.app/Contents/MacOS/PostHog Code", + "mac-arm64/PostHog Code.app/Contents/MacOS/PostHog Code", ); const x64Path = path.join( outDir, - "PostHog Code-darwin-x64/PostHog Code.app/Contents/MacOS/PostHog Code", + "mac/PostHog Code.app/Contents/MacOS/PostHog Code", ); if (requestedArch === "arm64") { if (existsSync(arm64Path)) return arm64Path; - throw new Error(`No darwin-arm64 packaged app found at ${arm64Path}.`); + throw new Error(`No mac-arm64 packaged app found at ${arm64Path}.`); } if (requestedArch === "x64") { if (existsSync(x64Path)) return x64Path; - throw new Error(`No darwin-x64 packaged app found at ${x64Path}.`); + throw new Error(`No mac x64 packaged app found at ${x64Path}.`); } if (existsSync(arm64Path)) return arm64Path; @@ -40,10 +40,7 @@ function getAppPath(): string { } if (process.platform === "win32") { - const winPath = path.join( - outDir, - "PostHog Code-win32-x64/PostHog Code.exe", - ); + const winPath = path.join(outDir, "win-unpacked/PostHog Code.exe"); if (existsSync(winPath)) return winPath; throw new Error( @@ -52,7 +49,7 @@ function getAppPath(): string { } if (process.platform === "linux") { - const linuxPath = path.join(outDir, "PostHog Code-linux-x64/PostHog Code"); + const linuxPath = path.join(outDir, "linux-unpacked/PostHog Code"); if (existsSync(linuxPath)) return linuxPath; throw new Error( diff --git a/apps/code/vite.main.config.mts b/apps/code/vite.main.config.mts index 5dfe558118..a8cf0602eb 100644 --- a/apps/code/vite.main.config.mts +++ b/apps/code/vite.main.config.mts @@ -12,6 +12,7 @@ import { statSync, } from "node:fs"; import { cp, mkdir, readdir, rm, writeFile } from "node:fs/promises"; +import { builtinModules } from "node:module"; import { tmpdir } from "node:os"; import path, { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; @@ -506,7 +507,7 @@ function copyEnricherGrammars(): Plugin { return { name: "copy-enricher-grammars", writeBundle() { - // `.vite/grammars` is what the bundle resolves at dev-time; electron-forge + // `.vite/grammars` is what the bundle resolves at dev-time; electron-builder // only copies `.vite/build/**` into the packaged app, so we need both. const destDirs = [ join(__dirname, ".vite/grammars"), @@ -607,7 +608,7 @@ export default defineConfig(({ mode }) => { return { plugins: [ - tsconfigPaths(), + tsconfigPaths({ ignoreConfigErrors: true }), autoServicesPlugin(join(__dirname, "src/main/services")), fixFilenameCircularRef(), copyClaudeExecutable(), @@ -635,9 +636,13 @@ export default defineConfig(({ mode }) => { }, resolve: { alias: mainAliases, + conditions: ["node"], + mainFields: ["module", "jsnext:main", "jsnext"], }, cacheDir: ".vite/cache", build: { + outDir: path.join(__dirname, ".vite/build"), + emptyOutDir: false, target: "node18", sourcemap: true, minify: false, @@ -645,8 +650,17 @@ export default defineConfig(({ mode }) => { commonjsOptions: { transformMixedEsModules: true, }, + lib: { + entry: path.resolve(__dirname, "src/main/bootstrap.ts"), + formats: ["cjs"], + fileName: () => "bootstrap.js", + }, rollupOptions: { external: [ + "electron", + "electron/main", + ...builtinModules, + ...builtinModules.map((m) => `node:${m}`), "node-pty", "@parcel/watcher", "file-icon", @@ -654,6 +668,11 @@ export default defineConfig(({ mode }) => { ], onwarn(warning, warn) { if (warning.code === "UNUSED_EXTERNAL_IMPORT") return; + if ( + warning.code === "EVAL" && + warning.id?.includes("web-tree-sitter") + ) + return; warn(warning); }, }, diff --git a/apps/code/vite.preload.config.mts b/apps/code/vite.preload.config.mts index 21aaa2b5c6..f912952373 100644 --- a/apps/code/vite.preload.config.mts +++ b/apps/code/vite.preload.config.mts @@ -1,3 +1,4 @@ +import { builtinModules } from "node:module"; import path from "node:path"; import { fileURLToPath } from "node:url"; import { defineConfig } from "vite"; @@ -8,7 +9,32 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url)); export default defineConfig({ plugins: [ - tsconfigPaths(), + tsconfigPaths({ ignoreConfigErrors: true }), autoServicesPlugin(path.join(__dirname, "src/main/services")), ], + resolve: { + conditions: ["node"], + mainFields: ["module", "jsnext:main", "jsnext"], + }, + build: { + outDir: path.join(__dirname, ".vite/build"), + emptyOutDir: false, + rollupOptions: { + input: path.resolve(__dirname, "src/main/preload.ts"), + external: [ + "electron", + "electron/renderer", + "electron/common", + ...builtinModules, + ...builtinModules.map((m) => `node:${m}`), + ], + output: { + format: "cjs", + inlineDynamicImports: true, + entryFileNames: "preload.js", + chunkFileNames: "[name].js", + assetFileNames: "[name].[ext]", + }, + }, + }, }); diff --git a/apps/code/vite.renderer.config.mts b/apps/code/vite.renderer.config.mts index d0205a2024..58d744e78c 100644 --- a/apps/code/vite.renderer.config.mts +++ b/apps/code/vite.renderer.config.mts @@ -18,10 +18,11 @@ const pkg = JSON.parse( readFileSync(path.resolve(__dirname, "package.json"), "utf-8"), ); -export default defineConfig(({ mode }) => { +export default defineConfig(({ command, mode }) => { const env = loadEnv(mode, path.resolve(__dirname, "../.."), ""); return { + base: command === "build" ? "./" : "/", plugins: [ // Source Inspector: hold Shift+Alt+Ctrl (⌘ on Mac) and click any element // in dev to jump to its source. Dev-only so the data-tsd-source attrs it @@ -41,13 +42,14 @@ export default defineConfig(({ mode }) => { }), tailwindcss(), react(), - tsconfigPaths(), + tsconfigPaths({ ignoreConfigErrors: true }), createPosthogPlugin(env, "posthog-code-renderer"), ].filter(Boolean), worker: { format: "es", }, build: { + outDir: path.join(__dirname, ".vite/renderer/main_window"), sourcemap: true, }, envDir: path.resolve(__dirname, "../.."), diff --git a/docs/UPDATES.md b/docs/UPDATES.md index 5c6102f4d4..0cdcd5d9c2 100644 --- a/docs/UPDATES.md +++ b/docs/UPDATES.md @@ -9,7 +9,19 @@ The version in `apps/code/package.json` is set to `0.0.0-dev` - this is intentio - **major.minor**: Controlled by git tags (e.g., `v0.15.0`, `v1.0.0`) - **patch**: Auto-calculated as number of commits since the minor tag -**Important:** Releases must use proper three-part semver versions (e.g., `v0.22.1`, not `v0.22`). The Electron auto-updater uses update.electronjs.org, which requires valid semver for version comparison. Two-part versions will break auto-updates. +**Important:** Releases must use proper three-part semver versions (e.g., `v0.22.1`, not `v0.22`). The auto-updater requires valid semver for version comparison. Two-part versions will break auto-updates. + +## Auto-Update Mechanism + +PostHog Code uses [electron-updater](https://www.electron.build/auto-update) (the npm package, not the built-in Electron autoUpdater). On startup the app checks for updates against the GitHub Release for PostHog/code. + +electron-builder generates and uploads a `latest-mac.yml` (macOS) or `latest.yml` (Windows) manifest to the GitHub Release during CI. The path to these manifests is baked into `app-update.yml` inside the app bundle at package time. + +**macOS**: DMG + zip artifacts are uploaded; the merged `latest-mac.yml` covers both arm64 and x64 so the correct build is selected per architecture. + +**Windows**: Both NSIS and Squirrel.Windows installers are shipped during the transition period. Existing Squirrel users continue receiving updates via the legacy feed; once they reinstall via the NSIS installer they move to the electron-updater flow permanently. + +**Linux**: No auto-update. AppImage, deb and rpm packages are manual downloads from the GitHub Release. ## How It Works diff --git a/knip.json b/knip.json index 03dfdecbfc..58d14ebc84 100644 --- a/knip.json +++ b/knip.json @@ -13,7 +13,6 @@ "src/renderer/main.tsx", "src/renderer/desktop-services.ts", "src/renderer/desktop-contributions.ts", - "forge.config.ts", "vite.main.config.mts", "vite.preload.config.mts", "vite.renderer.config.mts", diff --git a/packages/core/src/updates/updates.test.ts b/packages/core/src/updates/updates.test.ts index eff612ba9e..3ba6e9f8d3 100644 --- a/packages/core/src/updates/updates.test.ts +++ b/packages/core/src/updates/updates.test.ts @@ -31,7 +31,6 @@ const { updaterHandlers, mockUpdater: { isSupported: vi.fn(() => true), - setFeedUrl: vi.fn(), check: vi.fn(), quitAndInstall: vi.fn(), onCheckStart: vi.fn((h: () => void) => { @@ -201,27 +200,10 @@ describe("UpdatesService", () => { it("prevents multiple initializations", async () => { await initializeService(service); - const firstCallCount = mockUpdater.setFeedUrl.mock.calls.length; - - // Simulate whenReady resolving again (shouldn't happen, but testing guard) - await initializeService(service); - - // setFeedURL should not be called again - expect(mockUpdater.setFeedUrl.mock.calls.length).toBe(firstCallCount); - }); - }); - - describe("feedUrl", () => { - it("constructs correct feed URL with platform, arch, and version", async () => { - mockAppMeta.platform = "darwin"; - mockAppMeta.arch = "arm64"; - mockAppMeta.version = "2.0.0"; - + const firstCallCount = mockUpdater.onError.mock.calls.length; await initializeService(service); - expect(mockUpdater.setFeedUrl).toHaveBeenCalledWith( - "https://update.electronjs.org/PostHog/code/darwin-arm64/2.0.0", - ); + expect(mockUpdater.onError.mock.calls.length).toBe(firstCallCount); }); }); @@ -986,18 +968,5 @@ describe("UpdatesService", () => { // Should not throw expect(() => service.checkForUpdates()).not.toThrow(); }); - - it("handles setFeedURL failure gracefully", async () => { - mockUpdater.setFeedUrl.mockImplementation(() => { - throw new Error("Invalid URL"); - }); - - // Should not throw - expect(() => { - const newService = new UpdatesService(); - injectPorts(newService); - newService.init(); - }).not.toThrow(); - }); }); }); diff --git a/packages/core/src/updates/updates.ts b/packages/core/src/updates/updates.ts index 8824a2483a..04f02128c6 100644 --- a/packages/core/src/updates/updates.ts +++ b/packages/core/src/updates/updates.ts @@ -42,9 +42,6 @@ type TransitionContext = { @injectable() export class UpdatesService extends TypedEventEmitter { - private static readonly SERVER_HOST = "https://update.electronjs.org"; - private static readonly REPO_OWNER = "PostHog"; - private static readonly REPO_NAME = "code"; private static readonly CHECK_INTERVAL_MS = 60 * 60 * 1000; // 1 hour private static readonly CHECK_TIMEOUT_MS = 60 * 1000; // 1 minute timeout for checks private static readonly INSTALL_SHUTDOWN_TIMEOUT_MS = 3000; @@ -98,11 +95,6 @@ export class UpdatesService extends TypedEventEmitter { return this.updater.isSupported(); } - private get feedUrl(): string { - const ctor = this.constructor as typeof UpdatesService; - return `${ctor.SERVER_HOST}/${ctor.REPO_OWNER}/${ctor.REPO_NAME}/${this.appMeta.platform}-${this.appMeta.arch}/${this.appMeta.version}`; - } - @postConstruct() init(): void { if (!this.isEnabled) { @@ -237,21 +229,12 @@ export class UpdatesService extends TypedEventEmitter { } this.initialized = true; - const feedUrl = this.feedUrl; this.log.info("Setting up auto updater", { - feedUrl, currentVersion: this.appMeta.version, platform: this.appMeta.platform, arch: this.appMeta.arch, }); - try { - this.updater.setFeedUrl(feedUrl); - } catch (error) { - this.log.error("Failed to set feed URL", { error }); - return; - } - this.unsubscribes.push( this.updater.onError((error) => this.handleError(error)), this.updater.onCheckStart(() => this.log.info("Checking for updates...")), @@ -284,7 +267,6 @@ export class UpdatesService extends TypedEventEmitter { this.log.error("Auto update error", { message: error.message, stack: error.stack, - feedUrl: this.feedUrl, state: this.state, }); @@ -347,21 +329,21 @@ export class UpdatesService extends TypedEventEmitter { } } - private handleUpdateDownloaded(releaseName?: string): void { + private handleUpdateDownloaded(version?: string): void { this.clearCheckTimeout(); if (this.isUpdateStaged()) { this.log.info("Ignoring duplicate update-downloaded event", { existingVersion: this.downloadedVersion, - incomingVersion: releaseName, + incomingVersion: version, }); return; } - this.downloadedVersion = releaseName ?? null; + this.downloadedVersion = version ?? null; this.transitionTo("ready", { reason: "update downloaded", - incomingVersion: releaseName ?? null, + incomingVersion: version ?? null, }); this.clearCheckInterval(); this.emitStatus(this.stagedStatusPayload()); diff --git a/packages/platform/src/updater.ts b/packages/platform/src/updater.ts index 4f375d0c62..7c314c3680 100644 --- a/packages/platform/src/updater.ts +++ b/packages/platform/src/updater.ts @@ -1,6 +1,5 @@ export interface IUpdater { isSupported(): boolean; - setFeedUrl(url: string): void; check(): void; quitAndInstall(): void; onCheckStart(handler: () => void): () => void; diff --git a/packages/ui/src/features/sidebar/components/ProjectSwitcher.tsx b/packages/ui/src/features/sidebar/components/ProjectSwitcher.tsx index b6dda7b26c..3439ca6423 100644 --- a/packages/ui/src/features/sidebar/components/ProjectSwitcher.tsx +++ b/packages/ui/src/features/sidebar/components/ProjectSwitcher.tsx @@ -171,6 +171,7 @@ export function ProjectSwitcher({ return ( @base-ui/react': ^1.3.0 + node-gyp>undici: 8.4.1 patchedDependencies: node-pty: @@ -248,6 +249,9 @@ importers: electron-store: specifier: ^11.0.0 version: 11.0.2 + electron-updater: + specifier: ^6.8.9 + version: 6.8.9 fflate: specifier: ^0.8.2 version: 0.8.2 @@ -318,45 +322,12 @@ importers: '@biomejs/biome': specifier: 2.2.4 version: 2.2.4 - '@electron-forge/cli': - specifier: ^7.11.1 - version: 7.11.1(encoding@0.1.13)(esbuild@0.27.2) - '@electron-forge/maker-deb': - specifier: ^7.11.1 - version: 7.11.2 - '@electron-forge/maker-dmg': - specifier: ^7.11.1 - version: 7.11.1 - '@electron-forge/maker-rpm': - specifier: ^7.11.1 - version: 7.11.2 - '@electron-forge/maker-squirrel': - specifier: ^7.11.1 - version: 7.11.1 - '@electron-forge/maker-zip': - specifier: ^7.11.1 - version: 7.11.1 - '@electron-forge/plugin-vite': - specifier: ^7.11.1 - version: 7.11.1 - '@electron-forge/publisher-github': - specifier: ^7.11.1 - version: 7.11.1 - '@electron-forge/shared-types': - specifier: ^7.11.1 - version: 7.11.1 - '@electron/rebuild': - specifier: ^4.0.3 - version: 4.0.3 '@playwright/test': specifier: ^1.42.0 version: 1.58.1 '@posthog/rollup-plugin': specifier: ^1.4.0 version: 1.4.0(rollup@4.57.1) - '@reforged/maker-appimage': - specifier: ^5.2.0 - version: 5.2.0 '@storybook/addon-a11y': specifier: 10.2.0 version: 10.2.0(storybook@10.2.0(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) @@ -408,6 +379,9 @@ importers: electron: specifier: ^41.0.0 version: 41.0.2 + electron-builder: + specifier: ^26.15.3 + version: 26.15.3(electron-builder-squirrel-windows@26.15.3) husky: specifier: ^9.1.7 version: 9.1.7 @@ -2485,104 +2459,15 @@ packages: peerDependencies: '@noble/ciphers': ^1.0.0 - '@electron-forge/cli@7.11.1': - resolution: {integrity: sha512-pk8AoLsr7t7LBAt0cFD06XFA6uxtPdvtLx06xeal7O9o7GHGCbj29WGwFoJ8Br/ENM0Ho868S3PrAn1PtBXt5g==} - engines: {node: '>= 16.4.0'} - hasBin: true - - '@electron-forge/core-utils@7.11.1': - resolution: {integrity: sha512-9UxRWVsfcziBsbAA2MS0Oz4yYovQCO2BhnGIfsbKNTBtMc/RcVSxAS0NMyymce44i43p1ZC/FqWhnt1XqYw3bQ==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/core@7.11.1': - resolution: {integrity: sha512-YtuPLzggPKPabFAD2rOZFE0s7f4KaUTpGRduhSMbZUqpqD1TIPyfoDBpYiZvao3Ht8pyZeOJjbzcC0LpFs9gIQ==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/maker-base@7.11.1': - resolution: {integrity: sha512-yhZrCGoN6bDeiB5DHFaueZ1h84AReElEj+f0hl2Ph4UbZnO0cnLpbx+Bs+XfMLAiA+beC8muB5UDK5ysfuT9BQ==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/maker-base@7.11.2': - resolution: {integrity: sha512-9934zYu9WVdgCYQXvtS+eL1oyLagsY8JlWhZmoK8yWTYftSAydH7jb3seVpfy6n85SYmY/yjcAy2lvOTy5dUwA==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/maker-deb@7.11.2': - resolution: {integrity: sha512-MYSdCTsqzKNmsmaq7CIFh2kJdBWUZ4njxnVGrIRClzueVITk5Kots3+eQo+e5QQLvXTVn2XTNDc2nYjvtBh+Mw==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/maker-dmg@7.11.1': - resolution: {integrity: sha512-7zs5/Ewz1PcOl4N1102stFgBiFGWxU18+UPFUSd/fgf9MErBl4HBWuVNMIHyeJ/56rdfkcmTxTqE+9TBEYrZcg==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/maker-rpm@7.11.2': - resolution: {integrity: sha512-BEj/DcW6bSpmOyKUa3UsOgT7Hm3ZuP0Wa6OuQEunjxeCWn7yoDTDtjuYA0xRvzk+T4NCyDO3RBGjy6nYNSPU2Q==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/maker-squirrel@7.11.1': - resolution: {integrity: sha512-oSg7fgad6l+X0DjtRkSpMzB0AjzyDO4mb2gzM4kTodkP1ADeiMi08bxy0ZeCESqLm5+fG72cAPmEr3BAPvI1yw==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/maker-zip@7.11.1': - resolution: {integrity: sha512-30rcp0AbJLfkFBX2hmO14LKXx7z9V61LffTVbTCFMh5vUB2kZvcA5xAhsBk2oUJWfGVxe1DuSEU0rDR9bUMHUg==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/plugin-base@7.11.1': - resolution: {integrity: sha512-lKpSOV1GA3FoYiD9k05i6v4KaQVmojnRgCr7d6VL1bFp13QOtXSaAWhFI9mtSY7rGElOacX6Zt7P7rPoB8T9eQ==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/plugin-vite@7.11.1': - resolution: {integrity: sha512-kc/WQs/0+9VC9Q4oSSocMa02YxKDvAYxhWtNcL+qlswZMJlxe8gX7vl/yXq9AjPQxw7f3jzf7nruUPKQ+vyLLg==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/publisher-base@7.11.1': - resolution: {integrity: sha512-rXE9oMFGMtdQrixnumWYH5TTGsp99iPHZb3jI74YWq518ctCh6DlIgWlhf6ok2X0+lhWovcIb45KJucUFAQ13w==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/publisher-github@7.11.1': - resolution: {integrity: sha512-3S7DS1NZRrYvf59eqH0F2ke9oLD5FQqW5+t6kY1EuEo6I8HF+u6dOkGnvzhRh+uvKkjy4ynV3j735PlqBbClGQ==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/shared-types@7.11.1': - resolution: {integrity: sha512-vvBWdAEh53UJlDGUevpaJk1+sqDMQibfrbHR+0IPA4MPyQex7/Uhv3vYH9oGHujBVAChQahjAuJt0fG6IJBLZg==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/shared-types@7.11.2': - resolution: {integrity: sha512-Tcles7y74xy3jN5dEC+Pt1duJYk4c7W2xu98tjWW8RewmfKD2uHkie6I1I3yifPFZXZ/QfTlaFOOoKIQ9ENZjg==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/template-base@7.11.1': - resolution: {integrity: sha512-XpTaEf+EfQw+0BlSAtSpZKYIKYvKu4raNzSGHZZoSYHp+HDC7R+MlpFQmSJiGdYQzQ14C+uxO42tVjgM0DMbpw==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/template-vite-typescript@7.11.1': - resolution: {integrity: sha512-Us4AHXFb+4z+gXgZImSqMBS63oKnsQWLOhqRg321xiDzu2UcQPlwgWNb4rAEKNVC1e7LXrUNDHuBiTrQkvWXbg==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/template-vite@7.11.1': - resolution: {integrity: sha512-Or8Lxf4awoeUZoMTKJEw5KQDIhqOFs24WhVka3yZXxc6VgVWN79KmYKYM6uM/YMQttmafhsBhY2t1Lxo1WR/ug==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/template-webpack-typescript@7.11.1': - resolution: {integrity: sha512-6ExfFnFkHBz8rvRFTFg5HVGTC12uJpbVk4q8DVg0R8rhhxhqiVNh8lF2UPtZ2yT2UtGWjXNVlyP3Y3T6q6E3GQ==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/template-webpack@7.11.1': - resolution: {integrity: sha512-15lbXxi+er461MPk6sbwAOyjofAHwmQjTvxNCiNpaU2naEwbj3t0SlLq/BMr5HxnVOaMmA7+lKV9afkIom+d4Q==} - engines: {node: '>= 16.4.0'} - - '@electron-forge/tracer@7.11.1': - resolution: {integrity: sha512-tiB6cglVQFcSw9N8GRwVwZUeB9u0DOx2Mj7aFXBUsFLUYQapvVGv51tUSy/UAW5lvmubGscYIILuVko+II3+NA==} - engines: {node: '>= 14.17.5'} - - '@electron-forge/tracer@7.11.2': - resolution: {integrity: sha512-U8j5Hyj2Zt7I5PciJvPJfmEv69Gb/Da9v+k655z3Jj1cuY0UnToEJ61IhXrzlTYqo+jUKC+fgAjDJ6vltJTS0A==} - engines: {node: '>= 14.17.5'} - '@electron/asar@3.4.1': resolution: {integrity: sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==} engines: {node: '>=10.12.0'} hasBin: true + '@electron/fuses@1.8.0': + resolution: {integrity: sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==} + hasBin: true + '@electron/get@2.0.3': resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} engines: {node: '>=12'} @@ -2591,12 +2476,6 @@ packages: resolution: {integrity: sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==} engines: {node: '>=14'} - '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': - resolution: {tarball: https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2} - version: 10.2.0-electron.1 - engines: {node: '>=12.13.0'} - hasBin: true - '@electron/notarize@2.5.0': resolution: {integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==} engines: {node: '>= 10.0.0'} @@ -2606,18 +2485,8 @@ packages: engines: {node: '>=12.0.0'} hasBin: true - '@electron/packager@18.4.4': - resolution: {integrity: sha512-fTUCmgL25WXTcFpM1M72VmFP8w3E4d+KNzWxmTDRpvwkfn/S206MAtM2cy0GF78KS9AwASMOUmlOIzCHeNxcGQ==} - engines: {node: '>= 16.13.0'} - hasBin: true - - '@electron/rebuild@3.7.2': - resolution: {integrity: sha512-19/KbIR/DAxbsCkiaGMXIdPnMCJLkcf8AvGnduJtWBs/CBwiAjY1apCqOLVxrXg+rtXFCngbXhBanWjxLUt1Mg==} - engines: {node: '>=12.13.0'} - hasBin: true - - '@electron/rebuild@4.0.3': - resolution: {integrity: sha512-u9vpTHRMkOYCs/1FLiSVAFZ7FbjsXK+bQuzviJZa+lG7BHZl1nz52/IcGvwa3sk80/fc3llutBkbCq10Vh8WQA==} + '@electron/rebuild@4.0.4': + resolution: {integrity: sha512-Rzc39XPdk/+/wBG8MfwAHohXflep0ITUfulb6Rgz3R0NeSB1noE+E9/M/cb8ftCAiyDD9PPhLuuWgE1GaInbKg==} engines: {node: '>=22.12.0'} hasBin: true @@ -3382,9 +3251,6 @@ packages: '@fontsource-variable/inter@5.2.8': resolution: {integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==} - '@gar/promisify@1.1.3': - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - '@hono/node-server@1.19.9': resolution: {integrity: sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==} engines: {node: '>=18.14.1'} @@ -3405,14 +3271,6 @@ packages: resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} engines: {node: '>=18'} - '@inquirer/checkbox@3.0.1': - resolution: {integrity: sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==} - engines: {node: '>=18'} - - '@inquirer/confirm@4.0.1': - resolution: {integrity: sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==} - engines: {node: '>=18'} - '@inquirer/confirm@5.1.21': resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} engines: {node: '>=18'} @@ -3431,58 +3289,10 @@ packages: '@types/node': optional: true - '@inquirer/core@9.2.1': - resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} - engines: {node: '>=18'} - - '@inquirer/editor@3.0.1': - resolution: {integrity: sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==} - engines: {node: '>=18'} - - '@inquirer/expand@3.0.1': - resolution: {integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==} - engines: {node: '>=18'} - '@inquirer/figures@1.0.15': resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} engines: {node: '>=18'} - '@inquirer/input@3.0.1': - resolution: {integrity: sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==} - engines: {node: '>=18'} - - '@inquirer/number@2.0.1': - resolution: {integrity: sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==} - engines: {node: '>=18'} - - '@inquirer/password@3.0.1': - resolution: {integrity: sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==} - engines: {node: '>=18'} - - '@inquirer/prompts@6.0.1': - resolution: {integrity: sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==} - engines: {node: '>=18'} - - '@inquirer/rawlist@3.0.1': - resolution: {integrity: sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==} - engines: {node: '>=18'} - - '@inquirer/search@2.0.1': - resolution: {integrity: sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==} - engines: {node: '>=18'} - - '@inquirer/select@3.0.1': - resolution: {integrity: sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==} - engines: {node: '>=18'} - - '@inquirer/type@1.5.5': - resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} - engines: {node: '>=18'} - - '@inquirer/type@2.0.0': - resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} - engines: {node: '>=18'} - '@inquirer/type@3.0.10': resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} engines: {node: '>=18'} @@ -3916,20 +3726,14 @@ packages: '@lezer/yaml@1.0.4': resolution: {integrity: sha512-2lrrHqxalACEbxIbsjhqGpSW8kWpUKuY6RHgnSAFZa6qK62wvnPxA8hGOwOoDbwHcOFs5M4o27mjGu+P7TvBmw==} - '@listr2/prompt-adapter-inquirer@2.0.22': - resolution: {integrity: sha512-hV36ZoY+xKL6pYOt1nPNnkciFkn89KZwqLhAFzJvYysAvL5uBQdiADZx/8bIDXIukzzwG0QlPYolgMzQUtKgpQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - '@inquirer/prompts': '>= 3 < 8' - - '@malept/cross-spawn-promise@1.1.1': - resolution: {integrity: sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==} - engines: {node: '>= 10'} - '@malept/cross-spawn-promise@2.0.0': resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} engines: {node: '>= 12.13.0'} + '@malept/flatpak-bundler@0.4.0': + resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} + engines: {node: '>= 10.0.0'} + '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} @@ -3991,10 +3795,18 @@ packages: resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + '@noble/hashes@1.8.0': resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} engines: {node: ^14.21.3 || >=16} + '@noble/hashes@2.2.0': + resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==} + engines: {node: '>= 20.19.0'} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -4007,87 +3819,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@npmcli/agent@3.0.0': - resolution: {integrity: sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@npmcli/fs@2.1.2': - resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - '@npmcli/fs@4.0.0': - resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@npmcli/move-file@2.0.1': - resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This functionality has been moved to @npmcli/fs - - '@octokit/auth-token@4.0.0': - resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} - engines: {node: '>= 18'} - - '@octokit/core@5.2.2': - resolution: {integrity: sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==} - engines: {node: '>= 18'} - - '@octokit/endpoint@9.0.6': - resolution: {integrity: sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==} - engines: {node: '>= 18'} - - '@octokit/graphql@7.1.1': - resolution: {integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==} - engines: {node: '>= 18'} - - '@octokit/openapi-types@12.11.0': - resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} - - '@octokit/openapi-types@24.2.0': - resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==} - - '@octokit/plugin-paginate-rest@11.4.4-cjs.2': - resolution: {integrity: sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '5' - - '@octokit/plugin-request-log@4.0.1': - resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '5' - - '@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1': - resolution: {integrity: sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': ^5 - - '@octokit/plugin-retry@6.1.0': - resolution: {integrity: sha512-WrO3bvq4E1Xh1r2mT9w6SDFg01gFmP81nIG77+p/MqW1JeXXgL++6umim3t6x0Zj5pZm3rXAN+0HEjmmdhIRig==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '5' - - '@octokit/request-error@5.1.1': - resolution: {integrity: sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==} - engines: {node: '>= 18'} - - '@octokit/request@8.4.1': - resolution: {integrity: sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==} - engines: {node: '>= 18'} - - '@octokit/rest@20.1.2': - resolution: {integrity: sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA==} - engines: {node: '>= 18'} - - '@octokit/types@13.10.0': - resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} - - '@octokit/types@6.41.0': - resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} - '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -4495,6 +4226,20 @@ packages: resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} engines: {node: '>= 10.0.0'} + '@peculiar/asn1-schema@2.8.0': + resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==} + + '@peculiar/json-schema@1.1.12': + resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} + engines: {node: '>=8.0.0'} + + '@peculiar/utils@2.0.3': + resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} + + '@peculiar/webcrypto@1.7.1': + resolution: {integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==} + engines: {node: '>=14.18.0'} + '@phosphor-icons/react@2.1.10': resolution: {integrity: sha512-vt8Tvq8GLjheAZZYa+YG/pW7HDbov8El/MANW8pOAz4eGxrwhnbfrQZq0Cp4q8zBEu8NIhHdnr+r8thnfRSNYA==} engines: {node: '>=10'} @@ -4535,10 +4280,6 @@ packages: '@pixi/colord@2.9.6': resolution: {integrity: sha512-nezytU2pw587fQstUu1AsJZDVEynjskwOL+kibwcdxsMBFqPsFFNA7xl0ii/gXuDi6M0xj3mfRJj8pBSc2jCfA==} - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - '@playwright/test@1.58.1': resolution: {integrity: sha512-6LdVIUERWxQMmUSSQi0I53GgCBYgM2RpGngCPY7hSeju+VrKjq3lvs7HpJoPbDiY5QM5EYRtRX5fvrinnMAz3w==} engines: {node: '>=18'} @@ -5486,13 +5227,6 @@ packages: '@react-navigation/routers@7.5.3': resolution: {integrity: sha512-1tJHg4KKRJuQ1/EvJxatrMef3NZXEPzwUIUZ3n1yJ2t7Q97siwRtbynRpQG9/69ebbtiZ8W3ScOZF/OmhvM4Rg==} - '@reforged/maker-appimage@5.2.0': - resolution: {integrity: sha512-5u7spsDMyMfwqAnTRsSipVgTIy+DW+wlfhceaRghCuTvyY8Sti8/tFhVKj4vb+dYTqPvS7m30Gl0InGv22J8RQ==} - engines: {node: '>=19.0.0 || ^18.11.0'} - - '@reforged/maker-types@2.1.0': - resolution: {integrity: sha512-gNMAFO6mxqGwuUov0CzXGTHUMfAawlM6v/uYrqVnKeMwmceaLBt3HtfPcuNapDSH4br6D4EZ14WuWbgefmDfOQ==} - '@remirror/core-constants@3.0.0': resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} @@ -5729,9 +5463,6 @@ packages: peerDependencies: solid-js: ^1.6.12 - '@spacingbat3/lss@1.2.0': - resolution: {integrity: sha512-aywhxHNb6l7COooF3m439eT/6QN8E/RSl5IVboSKthMHcp0GlZYMSoS7546rqDLmFRxTD8f1tu/NIS9vtDwYAg==} - '@stablelib/base64@1.0.1': resolution: {integrity: sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==} @@ -6328,10 +6059,6 @@ packages: '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - '@tootallnate/once@2.0.1': - resolution: {integrity: sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==} - engines: {node: '>= 10'} - '@trpc/client@11.12.0': resolution: {integrity: sha512-zTwFKQdE99pvNm7kXFdHo5xIQpGqpQJHtqVkT9o+i8h/0fbDOUBEEbFVICiMsNA+GiXskoaDRX2l+z6ir+Ug3w==} peerDependencies: @@ -6369,9 +6096,6 @@ packages: '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} - '@types/appdmg@0.5.5': - resolution: {integrity: sha512-G+n6DgZTZFOteITE30LnWj+HRVIGr7wMlAiLWOO02uJFWVEitaPU9JVXm9wJokkgshBawb2O1OykdcsmkkZfgg==} - '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -6480,18 +6204,12 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/mute-stream@0.0.4': - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} - '@types/node@16.9.1': resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==} '@types/node@20.19.41': resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} - '@types/node@22.19.8': - resolution: {integrity: sha512-ebO/Yl+EAvVe8DnMfi+iaAyIqYdK0q/q0y0rw82INWEKJOBe6b/P3YWE8NW7oOlF/nXFNrHwhARrN/hdgDkraA==} - '@types/node@24.12.0': resolution: {integrity: sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==} @@ -6549,9 +6267,6 @@ packages: '@types/validate-npm-package-name@4.0.2': resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} - '@types/wrap-ansi@3.0.0': - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -6699,9 +6414,6 @@ packages: '@vitest/utils@4.1.8': resolution: {integrity: sha512-uOJamYALNhfJ6iolExyQM40yIQwDqYnkKtQ5VCiSe17E33H0aQ/u+1GlRuz4LZBk6Mm3sg90G9hEbmEt37C1Zg==} - '@vscode/sudo-prompt@9.3.2': - resolution: {integrity: sha512-gcXoCN00METUNFeQOFJ+C9xUI0DKB+0EGMVg7wbVYRHBw2Eq3fKisDZOkRdOz3kqXRKOENMfShPOmypw1/8nOw==} - '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -6784,12 +6496,9 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - - abbrev@3.0.1: - resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} - engines: {node: ^18.17.0 || >=20.5.0} + abbrev@4.0.0: + resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} + engines: {node: ^20.17.0 || >=22.9.0} abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} @@ -6818,22 +6527,10 @@ packages: resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} engines: {node: '>=12.0'} - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - agent-base@7.1.4: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - agentkeepalive@4.6.0: - resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} - engines: {node: '>= 8.0.0'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -6866,6 +6563,9 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + anser@1.4.10: resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} @@ -6873,10 +6573,6 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-escapes@5.0.0: - resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} - engines: {node: '>=12'} - ansi-escapes@7.2.0: resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} engines: {node: '>=18'} @@ -6923,11 +6619,12 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - appdmg@0.6.6: - resolution: {integrity: sha512-GRmFKlCG+PWbcYF4LUNonTYmy0GjguDy6Jh9WP8mpd0T6j80XIJyXBiWlD0U+MLNhqV9Nhx49Gl9GpVToulpLg==} - engines: {node: '>=8.5'} - os: [darwin] - hasBin: true + app-builder-lib@26.15.3: + resolution: {integrity: sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow==} + engines: {node: '>=14.0.0'} + peerDependencies: + dmg-builder: 26.15.3 + electron-builder-squirrel-windows: 26.15.3 arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -6958,6 +6655,10 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asn1js@3.0.10: + resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} + engines: {node: '>=12.0.0'} + assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} @@ -6969,11 +6670,15 @@ packages: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} + async-exit-hook@2.0.1: + resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} + engines: {node: '>=0.12.0'} + async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - async@1.5.2: - resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -6985,10 +6690,6 @@ packages: atomically@2.1.0: resolution: {integrity: sha512-+gDffFXRW6sl/HCwbta7zK4uNqbPjv4YJEAdz7Vu+FLQHe77eZ4bvbJGi4hE0QPeJlMYMA3piXEr1UL3dAwx7Q==} - author-regex@1.0.0: - resolution: {integrity: sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==} - engines: {node: '>=0.8'} - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -6997,6 +6698,9 @@ packages: resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} engines: {node: '>=6.0.0'} + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + axe-core@4.11.1: resolution: {integrity: sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==} engines: {node: '>=4'} @@ -7090,9 +6794,6 @@ packages: barcode-detector@3.1.2: resolution: {integrity: sha512-Q5kjXpVH5I3ItykNzbWmfWnNryFN1ZTWp10k9/PKJuS0RnoKR7jTrHEJODR4fn04bRomq7TJwie/Dr9fj/GoGQ==} - base32-encode@1.2.0: - resolution: {integrity: sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A==} - base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -7100,9 +6801,6 @@ packages: resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} hasBin: true - before-after-hook@2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - better-opn@3.0.2: resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} engines: {node: '>=12.0.0'} @@ -7142,12 +6840,6 @@ packages: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - bottleneck@2.19.5: - resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} - - bplist-creator@0.0.8: - resolution: {integrity: sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==} - bplist-creator@0.1.0: resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} @@ -7199,6 +6891,14 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + builder-util-runtime@9.7.0: + resolution: {integrity: sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw==} + engines: {node: '>=12.0.0'} + + builder-util@26.15.3: + resolution: {integrity: sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw==} + engines: {node: '>=14.0.0'} + bun-types@1.3.14: resolution: {integrity: sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ==} @@ -7216,18 +6916,14 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + bytestreamjs@2.0.1: + resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} + engines: {node: '>=6.0.0'} + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cacache@16.1.3: - resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - cacache@19.0.1: - resolution: {integrity: sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==} - engines: {node: ^18.17.0 || >=20.5.0} - cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} @@ -7308,9 +7004,6 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - check-error@2.1.3: resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} engines: {node: '>= 16'} @@ -7330,10 +7023,6 @@ packages: chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -7350,6 +7039,9 @@ packages: chromium-edge-launcher@0.2.0: resolution: {integrity: sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==} + chromium-pickle-js@0.2.0: + resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} + ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} @@ -7357,28 +7049,24 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} + engines: {node: '>=8'} + + ci-info@4.4.0: + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} + engines: {node: '>=8'} + class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - cli-cursor@2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - - cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -7387,10 +7075,6 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} @@ -7402,9 +7086,6 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -7429,9 +7110,6 @@ packages: code-block-writer@13.0.3: resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} - color-convert@0.5.3: - resolution: {integrity: sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==} - color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -7605,18 +7283,10 @@ packages: cross-fetch@3.2.0: resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} - cross-spawn@6.0.6: - resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} - engines: {node: '>=4.8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - cross-zip@4.0.1: - resolution: {integrity: sha512-n63i0lZ0rvQ6FXiGQ+/JFCKAUyPFhLQYJIqKaa+tSJtfKeULF/IDNDAbdnSIxgS4NTuw2b0+lj8LzfITuq+ZxQ==} - engines: {node: '>=12.10'} - crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} @@ -7817,9 +7487,6 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - deprecation@2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -7859,6 +7526,9 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dmg-builder@26.15.3: + resolution: {integrity: sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ==} + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -8000,13 +7670,13 @@ packages: sqlite3: optional: true - ds-store@0.1.6: - resolution: {integrity: sha512-kY21M6Lz+76OS3bnCzjdsJSF7LBpLYGCVfavW8TgQD2XkcqIZ86W0y9qUDZu6fp7SIZzqosMDW2zi7zVFfv4hw==} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} + duplexer2@0.1.4: + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} + earcut@3.0.2: resolution: {integrity: sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==} @@ -8026,31 +7696,26 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-installer-common@0.10.4: - resolution: {integrity: sha512-8gMNPXfAqUE5CfXg8RL0vXpLE9HAaPkgLXVoHE3BMUzogMWenf4LmwQ27BdCUrEhkjrKl+igs2IHJibclR3z3Q==} - engines: {node: '>= 10.0.0'} - - electron-installer-debian@3.2.0: - resolution: {integrity: sha512-58ZrlJ1HQY80VucsEIG9tQ//HrTlG6sfofA3nRGr6TmkX661uJyu4cMPPh6kXW+aHdq/7+q25KyQhDrXvRL7jw==} - engines: {node: '>= 10.0.0'} - os: [darwin, linux] + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} hasBin: true - electron-installer-dmg@5.0.1: - resolution: {integrity: sha512-qOa1aAQdX57C+vzhDk3549dd/PRlNL4F8y736MTD1a43qptD+PvHY97Bo9gSf+OZ8iUWE7BrYSpk/FgLUe40EA==} - engines: {node: '>= 16'} - hasBin: true + electron-builder-squirrel-windows@26.15.3: + resolution: {integrity: sha512-Jc19XPV9y9+2bAdZPkXuVNGNIEFBq9poHC61l8Kv6FdK7DRG3+Ic0rerC0DXOaeHNz8yW0fg/JnF8GQROOF5MA==} - electron-installer-redhat@3.4.0: - resolution: {integrity: sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==} - engines: {node: '>= 10.0.0'} - os: [darwin, linux] + electron-builder@26.15.3: + resolution: {integrity: sha512-a1KM5heqS3gQCZzizXEI8RjJy3QVogULPdeSknt76uLDpBIW/HDGsMg/XgP0riP6PI9COsRvFITKKGDqA8fJxA==} + engines: {node: '>=14.0.0'} hasBin: true electron-log@5.4.3: resolution: {integrity: sha512-sOUsM3LjZdugatazSQ/XTyNcw8dfvH1SYhXWiJyfYodAAKOZdHs0txPiLDXFzOZbhXgAgshQkshH2ccq0feyLQ==} engines: {node: '>= 14'} + electron-publish@26.15.3: + resolution: {integrity: sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q==} + electron-store@11.0.2: resolution: {integrity: sha512-4VkNRdN+BImL2KcCi41WvAYbh6zLX5AUTi4so68yPqiItjbgTjqpEnGAqasgnG+lB6GuAyUltKwVopp6Uv+gwQ==} engines: {node: '>=20'} @@ -8058,6 +7723,9 @@ packages: electron-to-chromium@1.5.286: resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==} + electron-updater@6.8.9: + resolution: {integrity: sha512-ZhVxM9iGONUpZGI1FxdMRgJjUFXi7AYGVa5PwKlO1tV1/4zDxQmfKpXOHVztKrd6L9rLcFjERvi1Mf2vxyTkig==} + electron-winstaller@5.4.0: resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} engines: {node: '>=8.0.0'} @@ -8080,9 +7748,6 @@ packages: resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} engines: {node: '>=14'} - encode-utf8@1.0.3: - resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} - encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} @@ -8267,10 +7932,6 @@ packages: exec-async@2.2.0: resolution: {integrity: sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==} - execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -8582,10 +8243,6 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -8663,13 +8320,8 @@ packages: file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - filename-reserved-regex@2.0.0: - resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} - engines: {node: '>=4'} - - filenamify@4.3.0: - resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==} - engines: {node: '>=8'} + filelist@1.0.6: + resolution: {integrity: sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -8687,34 +8339,19 @@ packages: resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} engines: {node: '>= 18.0.0'} - find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - fix-dts-default-cjs-exports@1.0.1: resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} flatted@3.4.2: resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} - flora-colossus@2.0.0: - resolution: {integrity: sha512-dz4HxH6pOvbUzZpZ/yXhafjbR2I8cenK5xL0KtBFb7U2ADsR+OwXifnxZjij/pZWF775uSCMzWVd+jDik2H2IA==} - engines: {node: '>= 12'} - flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - fmix@0.1.0: - resolution: {integrity: sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==} - follow-redirects@1.15.11: resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} @@ -8801,22 +8438,6 @@ packages: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} - fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - - fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - fs-temp@1.2.1: - resolution: {integrity: sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==} - - fs-xattr@0.3.1: - resolution: {integrity: sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==} - engines: {node: '>=8.6.0'} - os: ['!win32'] - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -8843,20 +8464,6 @@ packages: fzf@0.5.2: resolution: {integrity: sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q==} - galactus@1.0.0: - resolution: {integrity: sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==} - engines: {node: '>= 12'} - - gar@1.0.4: - resolution: {integrity: sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - generate-function@2.3.1: - resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} - - generate-object-property@1.2.0: - resolution: {integrity: sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==} - generator-function@2.0.1: resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} engines: {node: '>= 0.4'} @@ -8873,10 +8480,6 @@ packages: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} - get-folder-size@2.0.1: - resolution: {integrity: sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==} - hasBin: true - get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -8889,10 +8492,6 @@ packages: resolution: {integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==} engines: {node: '>=14.16'} - get-package-info@1.0.0: - resolution: {integrity: sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==} - engines: {node: '>= 4.0'} - get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -8901,10 +8500,6 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -8960,11 +8555,6 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@10.5.0: - resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - hasBin: true - glob@11.1.0: resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} engines: {node: 20 || >=22} @@ -8983,11 +8573,6 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} engines: {node: '>=10.0'} @@ -8996,10 +8581,6 @@ packages: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} engines: {node: '>=4'} - global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -9103,8 +8684,9 @@ packages: resolution: {integrity: sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==} engines: {node: '>=16.9.0'} - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} hosted-git-info@7.0.2: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} @@ -9130,10 +8712,6 @@ packages: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} engines: {node: '>= 0.8'} - http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -9142,10 +8720,6 @@ packages: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} @@ -9162,9 +8736,6 @@ packages: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} - humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - humps@2.0.1: resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==} @@ -9180,10 +8751,6 @@ packages: hyphenate-style-name@1.1.0: resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -9206,11 +8773,6 @@ packages: image-q@4.0.0: resolution: {integrity: sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==} - image-size@0.7.5: - resolution: {integrity: sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==} - engines: {node: '>=6.9.0'} - hasBin: true - image-size@1.2.1: resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} engines: {node: '>=16.x'} @@ -9223,10 +8785,6 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - imul@1.0.1: - resolution: {integrity: sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==} - engines: {node: '>=0.10.0'} - imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -9235,9 +8793,6 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -9248,10 +8803,6 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} @@ -9262,10 +8813,6 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - interpret@3.1.1: - resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} - engines: {node: '>=10.13.0'} - invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -9276,10 +8823,6 @@ packages: resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} engines: {node: '>= 12'} - ip-address@10.2.0: - resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} - engines: {node: '>= 12'} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -9361,23 +8904,10 @@ packages: engines: {node: '>=14.16'} hasBin: true - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} - is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - - is-my-ip-valid@1.0.1: - resolution: {integrity: sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==} - - is-my-json-valid@2.20.6: - resolution: {integrity: sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==} - is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} @@ -9407,9 +8937,6 @@ packages: is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - is-property@1.0.2: - resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} - is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -9421,10 +8948,6 @@ packages: is-ssh@1.4.1: resolution: {integrity: sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==} - is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -9441,10 +8964,6 @@ packages: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} @@ -9465,10 +8984,17 @@ packages: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isbinaryfile@4.0.10: resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} engines: {node: '>= 8.0.0'} + isbinaryfile@5.0.7: + resolution: {integrity: sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==} + engines: {node: '>= 18.0.0'} + isbot@5.1.40: resolution: {integrity: sha512-yNeeynhhtIVRBk12tBV4eHNxwB42HzR4Q3Ea7vCOiJhImGaAIdIMrbJtacQlBizGLjUPw+akkFI5Dn9T70XoVQ==} engines: {node: '>=18'} @@ -9480,6 +9006,10 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} + isexe@4.0.0: + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} + ismobilejs@1.1.1: resolution: {integrity: sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==} @@ -9503,13 +9033,15 @@ packages: resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.1.1: resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} + jake@10.9.4: + resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==} + engines: {node: '>=10'} + hasBin: true + jest-diff@30.4.1: resolution: {integrity: sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9648,18 +9180,10 @@ packages: jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - jsonwebtoken@9.0.3: resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} engines: {node: '>=12', npm: '>=6'} - junk@3.1.0: - resolution: {integrity: sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==} - engines: {node: '>=8'} - jwa@2.0.1: resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} @@ -9692,6 +9216,9 @@ packages: launch-editor@2.14.1: resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} + lazy-val@1.0.5: + resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} + leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -9933,18 +9460,10 @@ packages: engines: {node: '>=18.12.0'} hasBin: true - listr2@7.0.2: - resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==} - engines: {node: '>=16.0.0'} - listr2@8.3.3: resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} engines: {node: '>=18.0.0'} - load-json-file@2.0.0: - resolution: {integrity: sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==} - engines: {node: '>=4'} - load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -9953,24 +9472,15 @@ packages: resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} engines: {node: '>=6.11.5'} - locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. + lodash.escaperegexp@4.1.2: + resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} lodash.includes@4.3.0: resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} @@ -9978,6 +9488,10 @@ packages: lodash.isboolean@3.0.3: resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. + lodash.isinteger@4.0.4: resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} @@ -10003,18 +9517,10 @@ packages: resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} engines: {node: '>=4'} - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - log-symbols@6.0.0: resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} engines: {node: '>=18'} - log-update@5.0.1: - resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - log-update@6.1.0: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} @@ -10049,9 +9555,9 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} lru_map@0.4.1: resolution: {integrity: sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==} @@ -10070,10 +9576,6 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - macos-alias@0.2.12: - resolution: {integrity: sha512-yiLHa7cfJcGRFq4FrR4tMlpNHb4Vy4mWnpajlSSIFM5k4Lv8/7BbbDLzCAVogWNl0LlLhizRp1drXv0hK9h0Yw==} - os: [darwin] - magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -10081,21 +9583,9 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} - make-fetch-happen@10.2.1: - resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - make-fetch-happen@14.0.3: - resolution: {integrity: sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==} - engines: {node: ^18.17.0 || >=20.5.0} - makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - map-age-cleaner@0.1.3: - resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} - engines: {node: '>=6'} - markdown-it@14.1.0: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true @@ -10178,10 +9668,6 @@ packages: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} - mem@4.3.0: - resolution: {integrity: sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==} - engines: {node: '>=6'} - memfs@4.56.10: resolution: {integrity: sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w==} peerDependencies: @@ -10375,6 +9861,11 @@ packages: engines: {node: '>=4'} hasBin: true + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} @@ -10430,50 +9921,10 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - - minipass-collect@2.0.1: - resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} - engines: {node: '>=16 || 14 >=14.17'} - - minipass-fetch@2.1.2: - resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - minipass-fetch@4.0.1: - resolution: {integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==} - engines: {node: ^18.17.0 || >=20.5.0} - - minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - - minipass-flush@1.0.7: - resolution: {integrity: sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==} - engines: {node: '>= 8'} - - minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - - minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - - minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - minipass@4.2.8: resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} engines: {node: '>=8'} - minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} - minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} @@ -10482,10 +9933,6 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - minizlib@3.1.0: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} @@ -10536,13 +9983,6 @@ packages: typescript: optional: true - murmur-32@0.2.0: - resolution: {integrity: sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==} - - mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - mute-stream@2.0.0: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -10550,9 +9990,6 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nan@2.25.0: - resolution: {integrity: sha512-0M90Ag7Xn5KMLLZ7zliPWP3rT90P6PN+IzVFS0VqmnPktBk3700xUVv8Ikm9EUaUE5SDWdp/BIxdENzVznpm1g==} - nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -10585,9 +10022,6 @@ packages: nested-error-stacks@2.0.1: resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==} - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} @@ -10631,9 +10065,9 @@ packages: resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==} engines: {node: '>= 6.13.0'} - node-gyp@11.5.0: - resolution: {integrity: sha512-ra7Kvlhxn5V9Slyus0ygMa2h+UqExPqUIkfk7Pc8QTLT956JLSy51uWFwHtIYy0vI8cB4BDhc/S03+880My/LQ==} - engines: {node: ^18.17.0 || >=20.5.0} + node-gyp@12.4.0: + resolution: {integrity: sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true node-int64@0.4.0: @@ -10648,19 +10082,11 @@ packages: node-releases@2.0.27: resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} - nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true - - nopt@8.1.0: - resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} - engines: {node: ^18.17.0 || >=20.5.0} + nopt@9.0.0: + resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -10673,10 +10099,6 @@ packages: resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} engines: {node: ^16.14.0 || >=18.0.0} - npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -10799,10 +10221,6 @@ packages: resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==} engines: {node: '>=6'} - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - ora@8.2.0: resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} engines: {node: '>=18'} @@ -10810,10 +10228,6 @@ packages: orderedmap@2.1.1: resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - outvariant@1.4.3: resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} @@ -10828,22 +10242,6 @@ packages: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} - p-defer@1.0.0: - resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} - engines: {node: '>=4'} - - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - - p-is-promise@2.1.0: - resolution: {integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==} - engines: {node: '>=6'} - - p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -10852,30 +10250,14 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - p-map@7.0.4: resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} engines: {node: '>=18'} - p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -10890,10 +10272,6 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-author@2.0.0: - resolution: {integrity: sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==} - engines: {node: '>=0.10.0'} - parse-bmfont-ascii@1.0.6: resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==} @@ -10903,16 +10281,9 @@ packages: parse-bmfont-xml@1.1.6: resolution: {integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==} - parse-color@1.0.0: - resolution: {integrity: sha512-fuDHYgFHJGbpGMgw9skY/bj3HL/Jrn4l/5rSspy00DoT4RyLnDcRvPxdZ+r6OFwIsgAuhDh4I09tAId4mI12bw==} - parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - parse-json@2.2.0: - resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} - engines: {node: '>=0.10.0'} - parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -10960,10 +10331,6 @@ packages: path-dirname@1.0.2: resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} - path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -10972,10 +10339,6 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -10987,10 +10350,6 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - path-scurry@2.0.1: resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} engines: {node: 20 || >=22} @@ -11005,10 +10364,6 @@ packages: path-to-regexp@8.3.0: resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} - path-type@2.0.0: - resolution: {integrity: sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==} - engines: {node: '>=4'} - path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -11023,9 +10378,9 @@ packages: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} - pe-library@1.0.1: - resolution: {integrity: sha512-nh39Mo1eGWmZS7y+mK/dQIqg7S1lp38DpRxkyoHf0ZcUs/HDc+yyTjuOtTvSMZHmfSLuSQaX945u05Y2Q6UWZg==} - engines: {node: '>=14', npm: '>=7'} + pe-library@0.4.1: + resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} + engines: {node: '>=12', npm: '>=6'} peek-readable@4.1.0: resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} @@ -11083,6 +10438,10 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + pkijs@3.4.0: + resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} + engines: {node: '>=16.0.0'} + playwright-core@1.58.1: resolution: {integrity: sha512-bcWzOaTxcW+VOOGBCQgnaKToLJ65d6AqfLVKEWvexyS3AS6rbXl+xdpYRMGSRBClPvyj44njOWoxjNdL/H9UNg==} engines: {node: '>=18'} @@ -11273,17 +10632,16 @@ packages: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} - proc-log@2.0.1: - resolution: {integrity: sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - proc-log@4.2.0: resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - proc-log@5.0.0: - resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} - engines: {node: ^18.17.0 || >=20.5.0} + proc-log@6.1.0: + resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} @@ -11293,14 +10651,6 @@ packages: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} - promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - promise-retry@2.0.1: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} engines: {node: '>=10'} @@ -11318,6 +10668,9 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + proper-lockfile@4.1.2: + resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} + property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} @@ -11405,6 +10758,13 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + pvtsutils@1.3.6: + resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} + + pvutils@1.1.5: + resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} + engines: {node: '>=16.0.0'} + qrcode-terminal@0.11.0: resolution: {integrity: sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==} hasBin: true @@ -11446,9 +10806,6 @@ packages: '@types/react-dom': optional: true - random-path@0.1.2: - resolution: {integrity: sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==} - randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -11678,13 +11035,8 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - read-pkg-up@2.0.0: - resolution: {integrity: sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==} - engines: {node: '>=4'} - - read-pkg@2.0.0: - resolution: {integrity: sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==} - engines: {node: '>=4'} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} @@ -11714,10 +11066,6 @@ packages: resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} engines: {node: '>= 4'} - rechoir@0.8.0: - resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} - engines: {node: '>= 10.13.0'} - redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -11773,10 +11121,6 @@ packages: remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -11789,9 +11133,9 @@ packages: resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==} engines: {node: '>= 4.0.0'} - resedit@2.0.3: - resolution: {integrity: sha512-oTeemxwoMuxxTYxXUwjkrOPfngTQehlv0/HoYFNkB4uzsP1Un1A9nI8JQKGOFkxpqkC7qkMs0lUsGrvUlbLNUA==} - engines: {node: '>=14', npm: '>=7'} + resedit@1.7.2: + resolution: {integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==} + engines: {node: '>=12', npm: '>=6'} reselect@5.1.1: resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} @@ -11836,14 +11180,6 @@ packages: resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} engines: {node: '>=4'} - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} @@ -11906,6 +11242,9 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -11916,9 +11255,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sax@1.4.4: - resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==} - engines: {node: '>=11.0.0'} + sanitize-filename@1.6.4: + resolution: {integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==} sax@1.6.0: resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} @@ -12022,18 +11360,10 @@ packages: shallowequal@1.1.0: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -12093,6 +11423,10 @@ packages: simple-swizzle@0.2.4: resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} + simple-update-notifier@2.0.0: + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} + simple-xml-to-json@1.2.3: resolution: {integrity: sha512-kWJDCr9EWtZ+/EYYM5MareWj2cRnZGF93YDNpH4jQiHB+hBIZnfPFSQiVMzZOdk+zXWqTZ/9fTeQNu2DqeiudA==} engines: {node: '>=20.12.2'} @@ -12120,10 +11454,6 @@ packages: resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} engines: {node: '>=8.0.0'} - smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - smol-toml@1.6.0: resolution: {integrity: sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==} engines: {node: '>= 18'} @@ -12131,22 +11461,6 @@ packages: snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - socks-proxy-agent@7.0.0: - resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} - engines: {node: '>= 10'} - - socks-proxy-agent@8.0.5: - resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} - engines: {node: '>= 14'} - - socks@2.8.7: - resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} - engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - - socks@2.8.9: - resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==} - engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - solid-js@1.9.13: resolution: {integrity: sha512-6hJeJMOcEX8ktqjpDoJZEmld3ijvcvWBDtiXBm7f4332SiFN66QeAQI1REQshvyUoISsSeJ4PHDauKYbwao9JQ==} @@ -12178,18 +11492,6 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.22: - resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} - split-on-first@1.1.0: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} engines: {node: '>=6'} @@ -12200,14 +11502,6 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - ssri@12.0.0: - resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} - engines: {node: ^18.17.0 || >=20.5.0} - - ssri@9.0.1: - resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -12225,6 +11519,10 @@ packages: standardwebhooks@1.0.0: resolution: {integrity: sha512-BbHGOQK9olHPMvQNHWul6MYlrRTAOKn03rOe4A8O3CLWhNf4YHBqq2HJKKC+sfqpxiBY52pNeesD6jIiLDz8jg==} + stat-mode@1.0.0: + resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} + engines: {node: '>= 6'} + statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -12279,6 +11577,9 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -12305,10 +11606,6 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -12337,10 +11634,6 @@ packages: resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} engines: {node: '>=14.16'} - strip-outer@1.0.1: - resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} - engines: {node: '>=0.10.0'} - strtok3@6.3.0: resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} engines: {node: '>=10'} @@ -12447,11 +11740,6 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} - tar@6.2.1: - resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} - engines: {node: '>=10'} - deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - tar@7.5.7: resolution: {integrity: sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==} engines: {node: '>=18'} @@ -12461,6 +11749,9 @@ packages: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} + temp-file@3.4.0: + resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} + temp@0.9.4: resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} engines: {node: '>=6.0.0'} @@ -12510,8 +11801,8 @@ packages: throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - tiny-each-async@2.0.3: - resolution: {integrity: sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA==} + tiny-async-pool@1.3.0: + resolution: {integrity: sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==} tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -12520,6 +11811,9 @@ packages: resolution: {integrity: sha512-w/Te7uMUVeH0CR8vZIjr+XiN41V+30lkDdK+NRIDCUYKKuL9VcmaUEmaPISuwGhLlrTGh5yu18lENtR9axSxYw==} engines: {node: '>=12'} + tiny-typed-emitter@2.1.0: + resolution: {integrity: sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -12581,10 +11875,6 @@ packages: tmp-promise@3.0.3: resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - tmp@0.2.7: resolution: {integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==} engines: {node: '>=14.14'} @@ -12592,13 +11882,6 @@ packages: tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - tn1150@0.1.0: - resolution: {integrity: sha512-DbplOfQFkqG5IHcDyyrs/lkvSr3mPUVsFf/RbDppOshs22yTPnSJWEe6FkYd1txAwU/zcnR905ar2fi4kwF29w==} - engines: {node: '>=0.12'} - - to-data-view@1.1.0: - resolution: {integrity: sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -12648,13 +11931,12 @@ packages: trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - trim-repeated@1.0.0: - resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} - engines: {node: '>=0.10.0'} - trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + truncate-utf8-bytes@1.0.2: + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} + ts-algebra@2.0.0: resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==} @@ -12780,10 +12062,6 @@ packages: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} - type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - type-fest@3.13.1: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} @@ -12804,11 +12082,6 @@ packages: resolution: {integrity: sha512-OVSqe63hAvk+aaCIsdmnwjvUruhY6x5yRLiux583iTzDoBKJ247ZVj30oYqvNFD31TzzCPx8P0SNs9KJhXYZnA==} hasBin: true - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -12842,6 +12115,10 @@ packages: resolution: {integrity: sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==} engines: {node: '>=18.17'} + undici@8.4.1: + resolution: {integrity: sha512-RNHlB4fxZK0IrkhBsxhlbx7s8kFWwr7rzzOqj5nvZugw3ig3RsB7KW3zVlV0eu8POl+rx5d1hmL7rRg0z1owow==} + engines: {node: '>=22.19.0'} + unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -12865,22 +12142,6 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unique-filename@2.0.1: - resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - unique-filename@4.0.0: - resolution: {integrity: sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==} - engines: {node: ^18.17.0 || >=20.5.0} - - unique-slug@3.0.0: - resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - unique-slug@5.0.0: - resolution: {integrity: sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==} - engines: {node: ^18.17.0 || >=20.5.0} - unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} @@ -12900,9 +12161,6 @@ packages: unist-util-visit@5.1.0: resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - universal-user-agent@6.0.1: - resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} - universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -12911,10 +12169,6 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unorm@1.6.0: - resolution: {integrity: sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==} - engines: {node: '>= 0.4.0'} - unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -12930,6 +12184,9 @@ packages: until-async@3.0.2: resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==} + unzipper@0.12.3: + resolution: {integrity: sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==} + update-browserslist-db@1.2.3: resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true @@ -12966,9 +12223,8 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - username@5.1.0: - resolution: {integrity: sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==} - engines: {node: '>=8'} + utf8-byte-length@1.0.5: + resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} utif2@4.1.0: resolution: {integrity: sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==} @@ -13000,9 +12256,6 @@ packages: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validate-npm-package-name@5.0.1: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -13284,6 +12537,9 @@ packages: web-vitals@5.1.0: resolution: {integrity: sha512-ArI3kx5jI0atlTtmV0fWU3fjpLmq/nD3Zr1iFFlJLaqa5wLBkUSzINwBPySCX/8jRyjlmy1Volw1kz1g9XE4Jg==} + webcrypto-core@1.9.2: + resolution: {integrity: sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -13342,10 +12598,6 @@ packages: resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} engines: {node: '>= 0.4'} - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -13361,6 +12613,11 @@ packages: engines: {node: ^18.17.0 || >=20.5.0} hasBin: true + which@6.0.1: + resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} @@ -13369,10 +12626,6 @@ packages: wonka@6.3.5: resolution: {integrity: sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==} - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -13469,10 +12722,6 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -13492,18 +12741,10 @@ packages: engines: {node: '>= 14.6'} hasBin: true - yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -14726,294 +13967,17 @@ snapshots: dependencies: '@noble/ciphers': 1.3.0 - '@electron-forge/cli@7.11.1(encoding@0.1.13)(esbuild@0.27.2)': + '@electron/asar@3.4.1': dependencies: - '@electron-forge/core': 7.11.1(encoding@0.1.13)(esbuild@0.27.2) - '@electron-forge/core-utils': 7.11.1 - '@electron-forge/shared-types': 7.11.1 - '@electron/get': 3.1.0 - '@inquirer/prompts': 6.0.1 - '@listr2/prompt-adapter-inquirer': 2.0.22(@inquirer/prompts@6.0.1) - chalk: 4.1.2 - commander: 11.1.0 - debug: 4.4.3 - fs-extra: 10.1.0 - listr2: 7.0.2 - log-symbols: 4.1.0 - semver: 7.7.3 - transitivePeerDependencies: - - '@swc/core' - - bluebird - - encoding - - esbuild - - supports-color - - uglify-js - - webpack-cli + commander: 5.1.0 + glob: 7.2.3 + minimatch: 3.1.2 - '@electron-forge/core-utils@7.11.1': + '@electron/fuses@1.8.0': dependencies: - '@electron-forge/shared-types': 7.11.1 - '@electron/rebuild': 3.7.2 - '@malept/cross-spawn-promise': 2.0.0 chalk: 4.1.2 - debug: 4.4.3 - find-up: 5.0.0 - fs-extra: 10.1.0 - log-symbols: 4.1.0 - parse-author: 2.0.0 - semver: 7.7.3 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/core@7.11.1(encoding@0.1.13)(esbuild@0.27.2)': - dependencies: - '@electron-forge/core-utils': 7.11.1 - '@electron-forge/maker-base': 7.11.1 - '@electron-forge/plugin-base': 7.11.1 - '@electron-forge/publisher-base': 7.11.1 - '@electron-forge/shared-types': 7.11.1 - '@electron-forge/template-base': 7.11.1 - '@electron-forge/template-vite': 7.11.1 - '@electron-forge/template-vite-typescript': 7.11.1 - '@electron-forge/template-webpack': 7.11.1 - '@electron-forge/template-webpack-typescript': 7.11.1(esbuild@0.27.2) - '@electron-forge/tracer': 7.11.1 - '@electron/get': 3.1.0 - '@electron/packager': 18.4.4 - '@electron/rebuild': 3.7.2 - '@malept/cross-spawn-promise': 2.0.0 - '@vscode/sudo-prompt': 9.3.2 - chalk: 4.1.2 - debug: 4.4.3 - fast-glob: 3.3.3 - filenamify: 4.3.0 - find-up: 5.0.0 - fs-extra: 10.1.0 - global-dirs: 3.0.1 - got: 11.8.6 - interpret: 3.1.1 - jiti: 2.6.1 - listr2: 7.0.2 - lodash: 4.17.23 - log-symbols: 4.1.0 - node-fetch: 2.7.0(encoding@0.1.13) - rechoir: 0.8.0 - semver: 7.7.3 - source-map-support: 0.5.21 - username: 5.1.0 - transitivePeerDependencies: - - '@swc/core' - - bluebird - - encoding - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@electron-forge/maker-base@7.11.1': - dependencies: - '@electron-forge/shared-types': 7.11.1 - fs-extra: 10.1.0 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/maker-base@7.11.2': - dependencies: - '@electron-forge/shared-types': 7.11.2 - fs-extra: 10.1.0 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/maker-deb@7.11.2': - dependencies: - '@electron-forge/maker-base': 7.11.2 - '@electron-forge/shared-types': 7.11.2 - optionalDependencies: - electron-installer-debian: 3.2.0 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/maker-dmg@7.11.1': - dependencies: - '@electron-forge/maker-base': 7.11.1 - '@electron-forge/shared-types': 7.11.1 - fs-extra: 10.1.0 - optionalDependencies: - electron-installer-dmg: 5.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/maker-rpm@7.11.2': - dependencies: - '@electron-forge/maker-base': 7.11.2 - '@electron-forge/shared-types': 7.11.2 - optionalDependencies: - electron-installer-redhat: 3.4.0 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/maker-squirrel@7.11.1': - dependencies: - '@electron-forge/maker-base': 7.11.1 - '@electron-forge/shared-types': 7.11.1 - fs-extra: 10.1.0 - optionalDependencies: - electron-winstaller: 5.4.0 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/maker-zip@7.11.1': - dependencies: - '@electron-forge/maker-base': 7.11.1 - '@electron-forge/shared-types': 7.11.1 - cross-zip: 4.0.1 - fs-extra: 10.1.0 - got: 11.8.6 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/plugin-base@7.11.1': - dependencies: - '@electron-forge/shared-types': 7.11.1 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/plugin-vite@7.11.1': - dependencies: - '@electron-forge/plugin-base': 7.11.1 - '@electron-forge/shared-types': 7.11.1 - chalk: 4.1.2 - debug: 4.4.3 - fs-extra: 10.1.0 - listr2: 7.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/publisher-base@7.11.1': - dependencies: - '@electron-forge/shared-types': 7.11.1 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/publisher-github@7.11.1': - dependencies: - '@electron-forge/publisher-base': 7.11.1 - '@electron-forge/shared-types': 7.11.1 - '@octokit/core': 5.2.2 - '@octokit/plugin-retry': 6.1.0(@octokit/core@5.2.2) - '@octokit/request-error': 5.1.1 - '@octokit/rest': 20.1.2 - '@octokit/types': 6.41.0 - chalk: 4.1.2 - debug: 4.4.3 - fs-extra: 10.1.0 - log-symbols: 4.1.0 - mime-types: 2.1.35 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/shared-types@7.11.1': - dependencies: - '@electron-forge/tracer': 7.11.1 - '@electron/packager': 18.4.4 - '@electron/rebuild': 3.7.2 - listr2: 7.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/shared-types@7.11.2': - dependencies: - '@electron-forge/tracer': 7.11.2 - '@electron/packager': 18.4.4 - '@electron/rebuild': 3.7.2 - listr2: 7.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/template-base@7.11.1': - dependencies: - '@electron-forge/core-utils': 7.11.1 - '@electron-forge/shared-types': 7.11.1 - '@malept/cross-spawn-promise': 2.0.0 - debug: 4.4.3 - fs-extra: 10.1.0 - semver: 7.7.3 - username: 5.1.0 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/template-vite-typescript@7.11.1': - dependencies: - '@electron-forge/shared-types': 7.11.1 - '@electron-forge/template-base': 7.11.1 - fs-extra: 10.1.0 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/template-vite@7.11.1': - dependencies: - '@electron-forge/shared-types': 7.11.1 - '@electron-forge/template-base': 7.11.1 - fs-extra: 10.1.0 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/template-webpack-typescript@7.11.1(esbuild@0.27.2)': - dependencies: - '@electron-forge/shared-types': 7.11.1 - '@electron-forge/template-base': 7.11.1 - fs-extra: 10.1.0 - typescript: 5.4.5 - webpack: 5.105.0(esbuild@0.27.2) - transitivePeerDependencies: - - '@swc/core' - - bluebird - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@electron-forge/template-webpack@7.11.1': - dependencies: - '@electron-forge/shared-types': 7.11.1 - '@electron-forge/template-base': 7.11.1 - fs-extra: 10.1.0 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron-forge/tracer@7.11.1': - dependencies: - chrome-trace-event: 1.0.4 - - '@electron-forge/tracer@7.11.2': - dependencies: - chrome-trace-event: 1.0.4 - - '@electron/asar@3.4.1': - dependencies: - commander: 5.1.0 - glob: 7.2.3 - minimatch: 3.1.2 + fs-extra: 9.1.0 + minimist: 1.2.8 '@electron/get@2.0.3': dependencies: @@ -15043,22 +14007,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': - dependencies: - env-paths: 2.2.1 - exponential-backoff: 3.1.3 - glob: 8.1.0 - graceful-fs: 4.2.11 - make-fetch-happen: 10.2.1 - nopt: 6.0.0 - proc-log: 2.0.1 - semver: 7.7.3 - tar: 6.2.1 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - '@electron/notarize@2.5.0': dependencies: debug: 4.4.3 @@ -15078,67 +14026,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/packager@18.4.4': - dependencies: - '@electron/asar': 3.4.1 - '@electron/get': 3.1.0 - '@electron/notarize': 2.5.0 - '@electron/osx-sign': 1.3.3 - '@electron/universal': 2.0.3 - '@electron/windows-sign': 1.2.2 - '@malept/cross-spawn-promise': 2.0.0 - debug: 4.4.3 - extract-zip: 2.0.1 - filenamify: 4.3.0 - fs-extra: 11.3.3 - galactus: 1.0.0 - get-package-info: 1.0.0 - junk: 3.1.0 - parse-author: 2.0.0 - plist: 3.1.0 - prettier: 3.8.1 - resedit: 2.0.3 - resolve: 1.22.11 - semver: 7.7.3 - yargs-parser: 21.1.1 - transitivePeerDependencies: - - supports-color - - '@electron/rebuild@3.7.2': + '@electron/rebuild@4.0.4': dependencies: - '@electron/node-gyp': https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2 '@malept/cross-spawn-promise': 2.0.0 - chalk: 4.1.2 debug: 4.4.3 - detect-libc: 2.1.2 - fs-extra: 10.1.0 - got: 11.8.6 - node-abi: 3.87.0 - node-api-version: 0.2.1 - ora: 5.4.1 - read-binary-file-arch: 1.0.6 - semver: 7.7.3 - tar: 6.2.1 - yargs: 17.7.2 - transitivePeerDependencies: - - bluebird - - supports-color - - '@electron/rebuild@4.0.3': - dependencies: - '@malept/cross-spawn-promise': 2.0.0 - debug: 4.4.3 - detect-libc: 2.1.2 - got: 11.8.6 - graceful-fs: 4.2.11 node-abi: 4.26.0 node-api-version: 0.2.1 - node-gyp: 11.5.0 - ora: 5.4.1 + node-gyp: 12.4.0 read-binary-file-arch: 1.0.6 - semver: 7.7.3 - tar: 7.5.7 - yargs: 17.7.2 transitivePeerDependencies: - supports-color @@ -15163,6 +14058,7 @@ snapshots: postject: 1.0.0-alpha.6 transitivePeerDependencies: - supports-color + optional: true '@emnapi/core@1.8.1': dependencies: @@ -15825,8 +14721,6 @@ snapshots: '@fontsource-variable/inter@5.2.8': {} - '@gar/promisify@1.1.3': {} - '@hono/node-server@1.19.9(hono@4.11.7)': dependencies: hono: 4.11.7 @@ -15840,19 +14734,6 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@3.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 2.0.0 - ansi-escapes: 4.3.2 - yoctocolors-cjs: 2.1.3 - - '@inquirer/confirm@4.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 2.0.0 - '@inquirer/confirm@5.1.21(@types/node@20.19.41)': dependencies: '@inquirer/core': 10.3.2(@types/node@20.19.41) @@ -15915,93 +14796,8 @@ snapshots: optionalDependencies: '@types/node': 25.2.0 - '@inquirer/core@9.2.1': - dependencies: - '@inquirer/figures': 1.0.15 - '@inquirer/type': 2.0.0 - '@types/mute-stream': 0.0.4 - '@types/node': 22.19.8 - '@types/wrap-ansi': 3.0.0 - ansi-escapes: 4.3.2 - cli-width: 4.1.0 - mute-stream: 1.0.0 - signal-exit: 4.1.0 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.3 - - '@inquirer/editor@3.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 2.0.0 - external-editor: 3.1.0 - - '@inquirer/expand@3.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 2.0.0 - yoctocolors-cjs: 2.1.3 - '@inquirer/figures@1.0.15': {} - '@inquirer/input@3.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 2.0.0 - - '@inquirer/number@2.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 2.0.0 - - '@inquirer/password@3.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 2.0.0 - ansi-escapes: 4.3.2 - - '@inquirer/prompts@6.0.1': - dependencies: - '@inquirer/checkbox': 3.0.1 - '@inquirer/confirm': 4.0.1 - '@inquirer/editor': 3.0.1 - '@inquirer/expand': 3.0.1 - '@inquirer/input': 3.0.1 - '@inquirer/number': 2.0.1 - '@inquirer/password': 3.0.1 - '@inquirer/rawlist': 3.0.1 - '@inquirer/search': 2.0.1 - '@inquirer/select': 3.0.1 - - '@inquirer/rawlist@3.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 2.0.0 - yoctocolors-cjs: 2.1.3 - - '@inquirer/search@2.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 2.0.0 - yoctocolors-cjs: 2.1.3 - - '@inquirer/select@3.0.1': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 2.0.0 - ansi-escapes: 4.3.2 - yoctocolors-cjs: 2.1.3 - - '@inquirer/type@1.5.5': - dependencies: - mute-stream: 1.0.0 - - '@inquirer/type@2.0.0': - dependencies: - mute-stream: 1.0.0 - '@inquirer/type@3.0.10(@types/node@20.19.41)': optionalDependencies: '@types/node': 20.19.41 @@ -16607,19 +15403,18 @@ snapshots: '@lezer/highlight': 1.2.3 '@lezer/lr': 1.4.8 - '@listr2/prompt-adapter-inquirer@2.0.22(@inquirer/prompts@6.0.1)': - dependencies: - '@inquirer/prompts': 6.0.1 - '@inquirer/type': 1.5.5 - - '@malept/cross-spawn-promise@1.1.1': + '@malept/cross-spawn-promise@2.0.0': dependencies: cross-spawn: 7.0.6 - optional: true - '@malept/cross-spawn-promise@2.0.0': + '@malept/flatpak-bundler@0.4.0': dependencies: - cross-spawn: 7.0.6 + debug: 4.4.3 + fs-extra: 9.1.0 + lodash: 4.17.23 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - supports-color '@marijn/find-cluster-break@1.0.2': {} @@ -16735,8 +15530,12 @@ snapshots: dependencies: '@noble/hashes': 1.8.0 + '@noble/hashes@1.4.0': {} + '@noble/hashes@1.8.0': {} + '@noble/hashes@2.2.0': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -16749,106 +15548,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@npmcli/agent@3.0.0': - dependencies: - agent-base: 7.1.4 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - lru-cache: 10.4.3 - socks-proxy-agent: 8.0.5 - transitivePeerDependencies: - - supports-color - - '@npmcli/fs@2.1.2': - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.7.3 - - '@npmcli/fs@4.0.0': - dependencies: - semver: 7.7.3 - - '@npmcli/move-file@2.0.1': - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - - '@octokit/auth-token@4.0.0': {} - - '@octokit/core@5.2.2': - dependencies: - '@octokit/auth-token': 4.0.0 - '@octokit/graphql': 7.1.1 - '@octokit/request': 8.4.1 - '@octokit/request-error': 5.1.1 - '@octokit/types': 13.10.0 - before-after-hook: 2.2.3 - universal-user-agent: 6.0.1 - - '@octokit/endpoint@9.0.6': - dependencies: - '@octokit/types': 13.10.0 - universal-user-agent: 6.0.1 - - '@octokit/graphql@7.1.1': - dependencies: - '@octokit/request': 8.4.1 - '@octokit/types': 13.10.0 - universal-user-agent: 6.0.1 - - '@octokit/openapi-types@12.11.0': {} - - '@octokit/openapi-types@24.2.0': {} - - '@octokit/plugin-paginate-rest@11.4.4-cjs.2(@octokit/core@5.2.2)': - dependencies: - '@octokit/core': 5.2.2 - '@octokit/types': 13.10.0 - - '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.2)': - dependencies: - '@octokit/core': 5.2.2 - - '@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1(@octokit/core@5.2.2)': - dependencies: - '@octokit/core': 5.2.2 - '@octokit/types': 13.10.0 - - '@octokit/plugin-retry@6.1.0(@octokit/core@5.2.2)': - dependencies: - '@octokit/core': 5.2.2 - '@octokit/request-error': 5.1.1 - '@octokit/types': 13.10.0 - bottleneck: 2.19.5 - - '@octokit/request-error@5.1.1': - dependencies: - '@octokit/types': 13.10.0 - deprecation: 2.3.1 - once: 1.4.0 - - '@octokit/request@8.4.1': - dependencies: - '@octokit/endpoint': 9.0.6 - '@octokit/request-error': 5.1.1 - '@octokit/types': 13.10.0 - universal-user-agent: 6.0.1 - - '@octokit/rest@20.1.2': - dependencies: - '@octokit/core': 5.2.2 - '@octokit/plugin-paginate-rest': 11.4.4-cjs.2(@octokit/core@5.2.2) - '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.2) - '@octokit/plugin-rest-endpoint-methods': 13.3.2-cjs.1(@octokit/core@5.2.2) - - '@octokit/types@13.10.0': - dependencies: - '@octokit/openapi-types': 24.2.0 - - '@octokit/types@6.41.0': - dependencies: - '@octokit/openapi-types': 12.11.0 - '@open-draft/deferred-promise@2.2.0': {} '@open-draft/logger@0.3.0': @@ -17120,6 +15819,28 @@ snapshots: '@parcel/watcher-win32-ia32': 2.5.6 '@parcel/watcher-win32-x64': 2.5.6 + '@peculiar/asn1-schema@2.8.0': + dependencies: + '@peculiar/utils': 2.0.3 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/json-schema@1.1.12': + dependencies: + tslib: 2.8.1 + + '@peculiar/utils@2.0.3': + dependencies: + tslib: 2.8.1 + + '@peculiar/webcrypto@1.7.1': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/json-schema': 1.1.12 + '@peculiar/utils': 2.0.3 + tslib: 2.8.1 + webcrypto-core: 1.9.2 + '@phosphor-icons/react@2.1.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: react: 19.1.0 @@ -17151,9 +15872,6 @@ snapshots: '@pixi/colord@2.9.6': {} - '@pkgjs/parseargs@0.11.0': - optional: true - '@playwright/test@1.58.1': dependencies: playwright: 1.58.1 @@ -18234,18 +16952,6 @@ snapshots: dependencies: nanoid: 3.3.11 - '@reforged/maker-appimage@5.2.0': - dependencies: - '@electron-forge/maker-base': 7.11.1 - '@reforged/maker-types': 2.1.0 - '@spacingbat3/lss': 1.2.0 - semver: 7.7.3 - transitivePeerDependencies: - - bluebird - - supports-color - - '@reforged/maker-types@2.1.0': {} - '@remirror/core-constants@3.0.0': {} '@rolldown/pluginutils@1.0.0-beta.27': {} @@ -18431,8 +17137,6 @@ snapshots: dependencies: solid-js: 1.9.13 - '@spacingbat3/lss@1.2.0': {} - '@stablelib/base64@1.0.1': {} '@standard-schema/spec@1.1.0': {} @@ -19100,8 +17804,6 @@ snapshots: '@tokenizer/token@0.3.0': {} - '@tootallnate/once@2.0.1': {} - '@trpc/client@11.12.0(@trpc/server@11.12.0(typescript@5.9.3))(typescript@5.9.3)': dependencies: '@trpc/server': 11.12.0(typescript@5.9.3) @@ -19139,11 +17841,6 @@ snapshots: tslib: 2.8.1 optional: true - '@types/appdmg@0.5.5': - dependencies: - '@types/node': 24.12.0 - optional: true - '@types/aria-query@5.0.4': {} '@types/babel__core@7.20.5': @@ -19205,11 +17902,13 @@ snapshots: dependencies: '@types/eslint': 9.6.1 '@types/estree': 1.0.8 + optional: true '@types/eslint@9.6.1': dependencies: '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 + optional: true '@types/estree-jsx@1.0.5': dependencies: @@ -19220,7 +17919,6 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: '@types/node': 24.12.0 - optional: true '@types/graceful-fs@4.1.9': dependencies: @@ -19272,20 +17970,12 @@ snapshots: '@types/ms@2.1.0': {} - '@types/mute-stream@0.0.4': - dependencies: - '@types/node': 24.12.0 - '@types/node@16.9.1': {} '@types/node@20.19.41': dependencies: undici-types: 6.21.0 - '@types/node@22.19.8': - dependencies: - undici-types: 6.21.0 - '@types/node@24.12.0': dependencies: undici-types: 7.16.0 @@ -19340,8 +18030,6 @@ snapshots: '@types/validate-npm-package-name@4.0.2': {} - '@types/wrap-ansi@3.0.0': {} - '@types/yargs-parser@21.0.3': {} '@types/yargs@17.0.35': @@ -19614,26 +18302,30 @@ snapshots: convert-source-map: 2.0.0 tinyrainbow: 3.1.0 - '@vscode/sudo-prompt@9.3.2': {} - '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + optional: true - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + '@webassemblyjs/floating-point-hex-parser@1.13.2': + optional: true - '@webassemblyjs/helper-api-error@1.13.2': {} + '@webassemblyjs/helper-api-error@1.13.2': + optional: true - '@webassemblyjs/helper-buffer@1.14.1': {} + '@webassemblyjs/helper-buffer@1.14.1': + optional: true '@webassemblyjs/helper-numbers@1.13.2': dependencies: '@webassemblyjs/floating-point-hex-parser': 1.13.2 '@webassemblyjs/helper-api-error': 1.13.2 '@xtuc/long': 4.2.2 + optional: true - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + optional: true '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: @@ -19641,16 +18333,20 @@ snapshots: '@webassemblyjs/helper-buffer': 1.14.1 '@webassemblyjs/helper-wasm-bytecode': 1.13.2 '@webassemblyjs/wasm-gen': 1.14.1 + optional: true '@webassemblyjs/ieee754@1.13.2': dependencies: '@xtuc/ieee754': 1.2.0 + optional: true '@webassemblyjs/leb128@1.13.2': dependencies: '@xtuc/long': 4.2.2 + optional: true - '@webassemblyjs/utf8@1.13.2': {} + '@webassemblyjs/utf8@1.13.2': + optional: true '@webassemblyjs/wasm-edit@1.14.1': dependencies: @@ -19662,6 +18358,7 @@ snapshots: '@webassemblyjs/wasm-opt': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 '@webassemblyjs/wast-printer': 1.14.1 + optional: true '@webassemblyjs/wasm-gen@1.14.1': dependencies: @@ -19670,6 +18367,7 @@ snapshots: '@webassemblyjs/ieee754': 1.13.2 '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 + optional: true '@webassemblyjs/wasm-opt@1.14.1': dependencies: @@ -19677,6 +18375,7 @@ snapshots: '@webassemblyjs/helper-buffer': 1.14.1 '@webassemblyjs/wasm-gen': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 + optional: true '@webassemblyjs/wasm-parser@1.14.1': dependencies: @@ -19686,11 +18385,13 @@ snapshots: '@webassemblyjs/ieee754': 1.13.2 '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 + optional: true '@webassemblyjs/wast-printer@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 + optional: true '@webgpu/types@0.1.69': {} @@ -19714,13 +18415,13 @@ snapshots: '@xterm/xterm@5.5.0': {} - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} + '@xtuc/ieee754@1.2.0': + optional: true - abbrev@1.1.1: {} + '@xtuc/long@4.2.2': + optional: true - abbrev@3.0.1: {} + abbrev@4.0.0: {} abort-controller@3.0.0: dependencies: @@ -19739,44 +18440,32 @@ snapshots: acorn-import-phases@1.0.4(acorn@8.15.0): dependencies: acorn: 8.15.0 + optional: true acorn@8.15.0: {} adm-zip@0.5.16: {} - agent-base@6.0.2: - dependencies: - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - agent-base@7.1.4: {} - agentkeepalive@4.6.0: - dependencies: - humanize-ms: 1.2.1 - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - ajv-draft-04@1.0.0(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@2.1.1(ajv@8.20.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.20.0 + optional: true ajv-formats@3.0.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 - ajv-keywords@5.1.0(ajv@8.17.1): + ajv-keywords@5.1.0(ajv@8.20.0): dependencies: - ajv: 8.17.1 + ajv: 8.20.0 fast-deep-equal: 3.1.3 + optional: true ajv@8.17.1: dependencies: @@ -19785,16 +18474,19 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + anser@1.4.10: {} ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - ansi-escapes@5.0.0: - dependencies: - type-fest: 1.4.0 - ansi-escapes@7.2.0: dependencies: environment: 1.1.0 @@ -19828,20 +18520,53 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - appdmg@0.6.6: + app-builder-lib@26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3): dependencies: - async: 1.5.2 - ds-store: 0.1.6 - execa: 1.0.0 - fs-temp: 1.2.1 - fs-xattr: 0.3.1 - image-size: 0.7.5 - is-my-json-valid: 2.20.6 - minimist: 1.2.8 - parse-color: 1.0.0 - path-exists: 4.0.0 - repeat-string: 1.6.1 - optional: true + '@electron/asar': 3.4.1 + '@electron/fuses': 1.8.0 + '@electron/get': 3.1.0 + '@electron/notarize': 2.5.0 + '@electron/osx-sign': 1.3.3 + '@electron/rebuild': 4.0.4 + '@electron/universal': 2.0.3 + '@malept/flatpak-bundler': 0.4.0 + '@noble/hashes': 2.2.0 + '@peculiar/webcrypto': 1.7.1 + '@types/fs-extra': 9.0.13 + ajv: 8.20.0 + asn1js: 3.0.10 + async-exit-hook: 2.0.1 + builder-util: 26.15.3 + builder-util-runtime: 9.7.0 + chromium-pickle-js: 0.2.0 + ci-info: 4.3.1 + debug: 4.4.3 + dmg-builder: 26.15.3(electron-builder-squirrel-windows@26.15.3) + dotenv: 16.4.7 + dotenv-expand: 11.0.7 + ejs: 3.1.10 + electron-builder-squirrel-windows: 26.15.3(dmg-builder@26.15.3) + electron-publish: 26.15.3 + fs-extra: 10.1.0 + hosted-git-info: 4.1.0 + isbinaryfile: 5.0.7 + jiti: 2.7.0 + js-yaml: 4.1.1 + json5: 2.2.3 + lazy-val: 1.0.5 + minimatch: 10.2.5 + pkijs: 3.4.0 + plist: 3.1.0 + proper-lockfile: 4.1.2 + resedit: 1.7.2 + semver: 7.7.3 + tar: 7.5.7 + temp-file: 3.4.0 + tiny-async-pool: 1.3.0 + unzipper: 0.12.3 + which: 5.0.0 + transitivePeerDependencies: + - supports-color arg@5.0.2: {} @@ -19870,6 +18595,12 @@ snapshots: asap@2.0.6: {} + asn1js@3.0.10: + dependencies: + pvtsutils: 1.3.6 + pvutils: 1.1.5 + tslib: 2.8.1 + assert@2.1.0: dependencies: call-bind: 1.0.9 @@ -19884,10 +18615,11 @@ snapshots: dependencies: tslib: 2.8.1 + async-exit-hook@2.0.1: {} + async-limiter@1.0.1: {} - async@1.5.2: - optional: true + async@3.2.6: {} asynckit@0.4.0: {} @@ -19898,14 +18630,14 @@ snapshots: stubborn-fs: 2.0.0 when-exit: 2.1.5 - author-regex@1.0.0: {} - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 await-to-js@3.0.0: {} + aws4@1.13.2: {} + axe-core@4.11.1: {} axios-proxy-builder@0.1.2: @@ -20070,17 +18802,10 @@ snapshots: transitivePeerDependencies: - '@types/emscripten' - base32-encode@1.2.0: - dependencies: - to-data-view: 1.1.0 - optional: true - base64-js@1.5.1: {} baseline-browser-mapping@2.9.19: {} - before-after-hook@2.2.3: {} - better-opn@3.0.2: dependencies: open: 8.4.2 @@ -20127,13 +18852,6 @@ snapshots: boolean@3.2.0: optional: true - bottleneck@2.19.5: {} - - bplist-creator@0.0.8: - dependencies: - stream-buffers: 2.2.0 - optional: true - bplist-creator@0.1.0: dependencies: stream-buffers: 2.2.0 @@ -20195,6 +18913,32 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + builder-util-runtime@9.7.0: + dependencies: + debug: 4.4.3 + sax: 1.6.0 + transitivePeerDependencies: + - supports-color + + builder-util@26.15.3: + dependencies: + '@types/debug': 4.1.13 + builder-util-runtime: 9.7.0 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + fs-extra: 10.1.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + js-yaml: 4.1.1 + sanitize-filename: 1.6.4 + source-map-support: 0.5.21 + stat-mode: 1.0.0 + temp-file: 3.4.0 + tiny-async-pool: 1.3.0 + transitivePeerDependencies: + - supports-color + bun-types@1.3.14: dependencies: '@types/node': 24.12.0 @@ -20210,45 +18954,9 @@ snapshots: bytes@3.1.2: {} - cac@6.7.14: {} + bytestreamjs@2.0.1: {} - cacache@16.1.3: - dependencies: - '@npmcli/fs': 2.1.2 - '@npmcli/move-file': 2.0.1 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 8.1.0 - infer-owner: 1.0.4 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.7 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 9.0.1 - tar: 6.2.1 - unique-filename: 2.0.1 - transitivePeerDependencies: - - bluebird - - cacache@19.0.1: - dependencies: - '@npmcli/fs': 4.0.0 - fs-minipass: 3.0.3 - glob: 10.5.0 - lru-cache: 10.4.3 - minipass: 7.1.2 - minipass-collect: 2.0.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 7.0.4 - ssri: 12.0.0 - tar: 7.5.7 - unique-filename: 4.0.0 + cac@6.7.14: {} cacheable-lookup@5.0.4: {} @@ -20326,8 +19034,6 @@ snapshots: character-reference-invalid@2.0.1: {} - chardet@0.7.0: {} - check-error@2.1.3: {} chokidar@3.6.0: @@ -20352,8 +19058,6 @@ snapshots: chownr@1.1.4: {} - chownr@2.0.0: {} - chownr@3.0.0: {} chrome-launcher@0.15.2: @@ -20365,7 +19069,8 @@ snapshots: transitivePeerDependencies: - supports-color - chrome-trace-event@1.0.4: {} + chrome-trace-event@1.0.4: + optional: true chromium-edge-launcher@0.2.0: dependencies: @@ -20378,40 +19083,31 @@ snapshots: transitivePeerDependencies: - supports-color + chromium-pickle-js@0.2.0: {} + ci-info@2.0.0: {} ci-info@3.9.0: {} + ci-info@4.3.1: {} + + ci-info@4.4.0: {} + class-variance-authority@0.7.1: dependencies: clsx: 2.1.1 classnames@2.5.1: {} - clean-stack@2.2.0: {} - cli-cursor@2.1.0: dependencies: restore-cursor: 2.0.0 - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - - cli-cursor@4.0.0: - dependencies: - restore-cursor: 4.0.0 - cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 - cli-spinners@2.9.2: {} - - cli-truncate@3.1.0: - dependencies: - slice-ansi: 5.0.0 - string-width: 5.1.2 + cli-spinners@2.9.2: {} cli-truncate@4.0.0: dependencies: @@ -20422,13 +19118,6 @@ snapshots: client-only@0.0.1: {} - cliui@7.0.4: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - optional: true - cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -20457,9 +19146,6 @@ snapshots: code-block-writer@13.0.3: {} - color-convert@0.5.3: - optional: true - color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -20506,7 +19192,8 @@ snapshots: commander@7.2.0: {} - commander@9.5.0: {} + commander@9.5.0: + optional: true comment-json@4.5.1: dependencies: @@ -20614,7 +19301,8 @@ snapshots: crelt@1.0.6: {} - cross-dirname@0.1.0: {} + cross-dirname@0.1.0: + optional: true cross-fetch@3.2.0(encoding@0.1.13): dependencies: @@ -20622,22 +19310,12 @@ snapshots: transitivePeerDependencies: - encoding - cross-spawn@6.0.6: - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - cross-zip@4.0.1: {} - crypto-random-string@2.0.0: {} css-in-js-utils@3.1.0: @@ -20800,8 +19478,6 @@ snapshots: depd@2.0.0: {} - deprecation@2.3.1: {} - dequal@2.0.3: {} destroy@1.2.0: {} @@ -20830,6 +19506,16 @@ snapshots: dlv@1.1.3: {} + dmg-builder@26.15.3(electron-builder-squirrel-windows@26.15.3): + dependencies: + app-builder-lib: 26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3) + builder-util: 26.15.3 + fs-extra: 10.1.0 + js-yaml: 4.1.1 + transitivePeerDependencies: + - electron-builder-squirrel-windows + - supports-color + doctrine@3.0.0: dependencies: esutils: 2.0.3 @@ -20893,19 +19579,16 @@ snapshots: better-sqlite3: 12.8.0 bun-types: 1.3.14 - ds-store@0.1.6: - dependencies: - bplist-creator: 0.0.8 - macos-alias: 0.2.12 - tn1150: 0.1.0 - optional: true - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 es-errors: 1.3.0 gopd: 1.2.0 + duplexer2@0.1.4: + dependencies: + readable-stream: 2.3.8 + earcut@3.0.2: {} eastasianwidth@0.2.0: {} @@ -20927,62 +19610,50 @@ snapshots: ee-first@1.1.1: {} - electron-installer-common@0.10.4: + ejs@3.1.10: dependencies: - '@electron/asar': 3.4.1 - '@malept/cross-spawn-promise': 1.1.1 - debug: 4.4.3 - fs-extra: 9.1.0 - glob: 7.2.3 - lodash: 4.17.23 - parse-author: 2.0.0 - semver: 7.7.3 - tmp-promise: 3.0.3 - optionalDependencies: - '@types/fs-extra': 9.0.13 - transitivePeerDependencies: - - supports-color - optional: true + jake: 10.9.4 - electron-installer-debian@3.2.0: + electron-builder-squirrel-windows@26.15.3(dmg-builder@26.15.3): dependencies: - '@malept/cross-spawn-promise': 1.1.1 - debug: 4.4.3 - electron-installer-common: 0.10.4 - fs-extra: 9.1.0 - get-folder-size: 2.0.1 - lodash: 4.17.23 - word-wrap: 1.2.5 - yargs: 16.2.0 + app-builder-lib: 26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3) + builder-util: 26.15.3 + electron-winstaller: 5.4.0 transitivePeerDependencies: + - dmg-builder - supports-color - optional: true - electron-installer-dmg@5.0.1: + electron-builder@26.15.3(electron-builder-squirrel-windows@26.15.3): dependencies: - '@types/appdmg': 0.5.5 - debug: 4.4.3 - minimist: 1.2.8 - optionalDependencies: - appdmg: 0.6.6 + app-builder-lib: 26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3) + builder-util: 26.15.3 + builder-util-runtime: 9.7.0 + chalk: 4.1.2 + ci-info: 4.4.0 + dmg-builder: 26.15.3(electron-builder-squirrel-windows@26.15.3) + fs-extra: 10.1.0 + lazy-val: 1.0.5 + simple-update-notifier: 2.0.0 + yargs: 17.7.2 transitivePeerDependencies: + - electron-builder-squirrel-windows - supports-color - optional: true - electron-installer-redhat@3.4.0: + electron-log@5.4.3: {} + + electron-publish@26.15.3: dependencies: - '@malept/cross-spawn-promise': 1.1.1 - debug: 4.4.3 - electron-installer-common: 0.10.4 - fs-extra: 9.1.0 - lodash: 4.17.23 - word-wrap: 1.2.5 - yargs: 16.2.0 + '@types/fs-extra': 9.0.13 + aws4: 1.13.2 + builder-util: 26.15.3 + builder-util-runtime: 9.7.0 + chalk: 4.1.2 + form-data: 4.0.5 + fs-extra: 10.1.0 + lazy-val: 1.0.5 + mime: 2.6.0 transitivePeerDependencies: - supports-color - optional: true - - electron-log@5.4.3: {} electron-store@11.0.2: dependencies: @@ -20991,6 +19662,19 @@ snapshots: electron-to-chromium@1.5.286: {} + electron-updater@6.8.9: + dependencies: + builder-util-runtime: 9.7.0 + fs-extra: 10.1.0 + js-yaml: 4.1.1 + lazy-val: 1.0.5 + lodash.escaperegexp: 4.1.2 + lodash.isequal: 4.5.0 + semver: 7.7.3 + tiny-typed-emitter: 2.1.0 + transitivePeerDependencies: + - supports-color + electron-winstaller@5.4.0: dependencies: '@electron/asar': 3.4.1 @@ -21002,7 +19686,6 @@ snapshots: '@electron/windows-sign': 1.2.2 transitivePeerDependencies: - supports-color - optional: true electron@41.0.2: dependencies: @@ -21020,9 +19703,6 @@ snapshots: empathic@2.0.0: {} - encode-utf8@1.0.3: - optional: true - encodeurl@1.0.2: {} encodeurl@2.0.0: {} @@ -21217,16 +19897,20 @@ snapshots: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 + optional: true esprima@4.0.1: {} esrecurse@4.3.0: dependencies: estraverse: 5.3.0 + optional: true - estraverse@4.3.0: {} + estraverse@4.3.0: + optional: true - estraverse@5.3.0: {} + estraverse@5.3.0: + optional: true estree-util-is-identifier-name@3.0.0: {} @@ -21254,16 +19938,6 @@ snapshots: exec-async@2.2.0: {} - execa@1.0.0: - dependencies: - cross-spawn: 6.0.6 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - execa@5.1.1: dependencies: cross-spawn: 7.0.6 @@ -21677,12 +20351,6 @@ snapshots: extend@3.0.2: {} - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - extract-zip@2.0.1: dependencies: debug: 4.4.3 @@ -21770,13 +20438,9 @@ snapshots: file-uri-to-path@1.0.0: {} - filename-reserved-regex@2.0.0: {} - - filenamify@4.3.0: + filelist@1.0.6: dependencies: - filename-reserved-regex: 2.0.0 - strip-outer: 1.0.1 - trim-repeated: 1.0.0 + minimatch: 5.1.9 fill-range@7.1.1: dependencies: @@ -21807,20 +20471,11 @@ snapshots: transitivePeerDependencies: - supports-color - find-up@2.1.0: - dependencies: - locate-path: 2.0.0 - find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - fix-dts-default-cjs-exports@1.0.1: dependencies: magic-string: 0.30.21 @@ -21829,20 +20484,8 @@ snapshots: flatted@3.4.2: {} - flora-colossus@2.0.0: - dependencies: - debug: 4.4.3 - fs-extra: 10.1.0 - transitivePeerDependencies: - - supports-color - flow-enums-runtime@0.0.6: {} - fmix@0.1.0: - dependencies: - imul: 1.0.1 - optional: true - follow-redirects@1.15.11: {} fontfaceobserver@2.3.0: {} @@ -21908,7 +20551,6 @@ snapshots: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - optional: true fs-extra@8.1.0: dependencies: @@ -21923,22 +20565,6 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 - fs-minipass@2.1.0: - dependencies: - minipass: 3.3.6 - - fs-minipass@3.0.3: - dependencies: - minipass: 7.1.3 - - fs-temp@1.2.1: - dependencies: - random-path: 0.1.2 - optional: true - - fs-xattr@0.3.1: - optional: true - fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -21955,27 +20581,6 @@ snapshots: fzf@0.5.2: {} - galactus@1.0.0: - dependencies: - debug: 4.4.3 - flora-colossus: 2.0.0 - fs-extra: 10.1.0 - transitivePeerDependencies: - - supports-color - - gar@1.0.4: - optional: true - - generate-function@2.3.1: - dependencies: - is-property: 1.0.2 - optional: true - - generate-object-property@1.2.0: - dependencies: - is-property: 1.0.2 - optional: true - generator-function@2.0.1: {} gensync@1.0.0-beta.2: {} @@ -21984,12 +20589,6 @@ snapshots: get-east-asian-width@1.4.0: {} - get-folder-size@2.0.1: - dependencies: - gar: 1.0.4 - tiny-each-async: 2.0.3 - optional: true - get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -22007,15 +20606,6 @@ snapshots: get-own-enumerable-keys@1.0.0: {} - get-package-info@1.0.0: - dependencies: - bluebird: 3.7.2 - debug: 2.6.9 - lodash.get: 4.4.2 - read-pkg-up: 2.0.0 - transitivePeerDependencies: - - supports-color - get-package-type@0.1.0: {} get-proto@1.0.1: @@ -22023,10 +20613,6 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-stream@4.1.0: - dependencies: - pump: 3.0.3 - get-stream@5.2.0: dependencies: pump: 3.0.3 @@ -22078,16 +20664,8 @@ snapshots: dependencies: tslib: 2.8.1 - glob-to-regexp@0.4.1: {} - - glob@10.5.0: - dependencies: - foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.3 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 + glob-to-regexp@0.4.1: + optional: true glob@11.1.0: dependencies: @@ -22119,14 +20697,6 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.9 - once: 1.4.0 - global-agent@3.0.0: dependencies: boolean: 3.2.0 @@ -22141,10 +20711,6 @@ snapshots: dependencies: ini: 1.3.8 - global-dirs@3.0.1: - dependencies: - ini: 2.0.0 - globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -22308,7 +20874,9 @@ snapshots: hono@4.11.7: {} - hosted-git-info@2.8.9: {} + hosted-git-info@4.1.0: + dependencies: + lru-cache: 6.0.0 hosted-git-info@7.0.2: dependencies: @@ -22334,14 +20902,6 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 - http-proxy-agent@5.0.0: - dependencies: - '@tootallnate/once': 2.0.1 - agent-base: 6.0.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 @@ -22354,13 +20914,6 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 @@ -22374,10 +20927,6 @@ snapshots: human-signals@8.0.1: {} - humanize-ms@1.2.1: - dependencies: - ms: 2.1.3 - humps@2.0.1: {} husky@9.1.7: {} @@ -22386,10 +20935,6 @@ snapshots: hyphenate-style-name@1.1.0: {} - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -22408,9 +20953,6 @@ snapshots: dependencies: '@types/node': 16.9.1 - image-size@0.7.5: - optional: true - image-size@1.2.1: dependencies: queue: 6.0.2 @@ -22423,15 +20965,10 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - imul@1.0.1: - optional: true - imurmurhash@0.1.4: {} indent-string@4.0.0: {} - infer-owner@1.0.4: {} - inflight@1.0.6: dependencies: once: 1.4.0 @@ -22441,8 +20978,6 @@ snapshots: ini@1.3.8: {} - ini@2.0.0: {} - inline-style-parser@0.2.7: {} inline-style-prefixer@7.0.1: @@ -22451,8 +20986,6 @@ snapshots: internmap@2.0.3: {} - interpret@3.1.1: {} - invariant@2.2.4: dependencies: loose-envify: 1.4.0 @@ -22467,8 +21000,6 @@ snapshots: ip-address@10.1.0: {} - ip-address@10.2.0: {} - ipaddr.js@1.9.1: {} is-alphabetical@2.0.1: {} @@ -22533,24 +21064,8 @@ snapshots: dependencies: is-docker: 3.0.0 - is-interactive@1.0.0: {} - is-interactive@2.0.0: {} - is-lambda@1.0.1: {} - - is-my-ip-valid@1.0.1: - optional: true - - is-my-json-valid@2.20.6: - dependencies: - generate-function: 2.3.1 - generate-object-property: 1.2.0 - is-my-ip-valid: 1.0.1 - jsonpointer: 5.0.1 - xtend: 4.0.2 - optional: true - is-nan@1.3.2: dependencies: call-bind: 1.0.9 @@ -22570,9 +21085,6 @@ snapshots: is-promise@4.0.0: {} - is-property@1.0.2: - optional: true - is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -22586,8 +21098,6 @@ snapshots: dependencies: protocols: 2.0.2 - is-stream@1.1.0: {} - is-stream@2.0.1: {} is-stream@3.0.0: {} @@ -22598,8 +21108,6 @@ snapshots: dependencies: which-typed-array: 1.1.20 - is-unicode-supported@0.1.0: {} - is-unicode-supported@1.3.0: {} is-unicode-supported@2.1.0: {} @@ -22614,14 +21122,20 @@ snapshots: dependencies: is-inside-container: 1.0.0 + isarray@1.0.0: {} + isbinaryfile@4.0.10: {} + isbinaryfile@5.0.7: {} + isbot@5.1.40: {} isexe@2.0.0: {} isexe@3.1.1: {} + isexe@4.0.0: {} + ismobilejs@1.1.1: {} istanbul-lib-coverage@3.2.2: {} @@ -22655,15 +21169,15 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@3.4.3: + jackspeak@4.1.1: dependencies: '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - jackspeak@4.1.1: + jake@10.9.4: dependencies: - '@isaacs/cliui': 8.0.2 + async: 3.2.6 + filelist: 1.0.6 + picocolors: 1.1.1 jest-diff@30.4.1: dependencies: @@ -22749,6 +21263,7 @@ snapshots: '@types/node': 24.12.0 merge-stream: 2.0.0 supports-color: 8.1.1 + optional: true jest-worker@29.7.0: dependencies: @@ -22873,9 +21388,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonpointer@5.0.1: - optional: true - jsonwebtoken@9.0.3: dependencies: jws: 4.0.1 @@ -22889,8 +21401,6 @@ snapshots: ms: 2.1.3 semver: 7.7.3 - junk@3.1.0: {} - jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 @@ -22934,6 +21444,8 @@ snapshots: picocolors: 1.1.1 shell-quote: 1.8.4 + lazy-val@1.0.5: {} + leven@3.1.0: {} lighthouse-logger@1.4.2: @@ -23111,15 +21623,6 @@ snapshots: transitivePeerDependencies: - supports-color - listr2@7.0.2: - dependencies: - cli-truncate: 3.1.0 - colorette: 2.0.20 - eventemitter3: 5.0.4 - log-update: 5.0.1 - rfdc: 1.4.1 - wrap-ansi: 8.1.0 - listr2@8.3.3: dependencies: cli-truncate: 4.0.0 @@ -23129,38 +21632,25 @@ snapshots: rfdc: 1.4.1 wrap-ansi: 9.0.2 - load-json-file@2.0.0: - dependencies: - graceful-fs: 4.2.11 - parse-json: 2.2.0 - pify: 2.3.0 - strip-bom: 3.0.0 - load-tsconfig@0.2.5: {} - loader-runner@4.3.1: {} - - locate-path@2.0.0: - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 + loader-runner@4.3.1: + optional: true locate-path@5.0.0: dependencies: p-locate: 4.1.0 - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - lodash.debounce@4.0.8: {} - lodash.get@4.4.2: {} + lodash.escaperegexp@4.1.2: {} lodash.includes@4.3.0: {} lodash.isboolean@3.0.3: {} + lodash.isequal@4.5.0: {} + lodash.isinteger@4.0.4: {} lodash.isnumber@3.0.3: {} @@ -23179,24 +21669,11 @@ snapshots: dependencies: chalk: 2.4.2 - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - log-symbols@6.0.0: dependencies: chalk: 5.6.2 is-unicode-supported: 1.3.0 - log-update@5.0.1: - dependencies: - ansi-escapes: 5.0.0 - cli-cursor: 4.0.0 - slice-ansi: 5.0.0 - strip-ansi: 7.1.2 - wrap-ansi: 8.1.0 - log-update@6.1.0: dependencies: ansi-escapes: 7.2.0 @@ -23229,7 +21706,9 @@ snapshots: dependencies: yallist: 3.1.1 - lru-cache@7.18.3: {} + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 lru_map@0.4.1: {} @@ -23243,11 +21722,6 @@ snapshots: lz-string@1.5.0: {} - macos-alias@0.2.12: - dependencies: - nan: 2.25.0 - optional: true - magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -23256,52 +21730,10 @@ snapshots: dependencies: semver: 7.7.3 - make-fetch-happen@10.2.1: - dependencies: - agentkeepalive: 4.6.0 - cacache: 16.1.3 - http-cache-semantics: 4.2.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 2.1.2 - minipass-flush: 1.0.7 - minipass-pipeline: 1.2.4 - negotiator: 0.6.4 - promise-retry: 2.0.1 - socks-proxy-agent: 7.0.0 - ssri: 9.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - - make-fetch-happen@14.0.3: - dependencies: - '@npmcli/agent': 3.0.0 - cacache: 19.0.1 - http-cache-semantics: 4.2.0 - minipass: 7.1.2 - minipass-fetch: 4.0.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 1.0.0 - proc-log: 5.0.0 - promise-retry: 2.0.1 - ssri: 12.0.0 - transitivePeerDependencies: - - supports-color - makeerror@1.0.12: dependencies: tmpl: 1.0.5 - map-age-cleaner@0.1.3: - dependencies: - p-defer: 1.0.0 - markdown-it@14.1.0: dependencies: argparse: 2.0.1 @@ -23487,12 +21919,6 @@ snapshots: media-typer@1.1.0: {} - mem@4.3.0: - dependencies: - map-age-cleaner: 0.1.3 - mimic-fn: 2.1.0 - p-is-promise: 2.1.0 - memfs@4.56.10(tslib@2.8.1): dependencies: '@jsonjoy.com/fs-core': 4.56.10(tslib@2.8.1) @@ -23909,6 +22335,8 @@ snapshots: mime@1.6.0: {} + mime@2.6.0: {} + mime@3.0.0: {} mimic-fn@1.2.0: {} @@ -23947,63 +22375,12 @@ snapshots: minimist@1.2.8: {} - minipass-collect@1.0.2: - dependencies: - minipass: 3.3.6 - - minipass-collect@2.0.1: - dependencies: - minipass: 7.1.3 - - minipass-fetch@2.1.2: - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - - minipass-fetch@4.0.1: - dependencies: - minipass: 7.1.2 - minipass-sized: 1.0.3 - minizlib: 3.1.0 - optionalDependencies: - encoding: 0.1.13 - - minipass-flush@1.0.5: - dependencies: - minipass: 3.3.6 - - minipass-flush@1.0.7: - dependencies: - minipass: 3.3.6 - - minipass-pipeline@1.2.4: - dependencies: - minipass: 3.3.6 - - minipass-sized@1.0.3: - dependencies: - minipass: 3.3.6 - - minipass@3.3.6: - dependencies: - yallist: 4.0.0 - minipass@4.2.8: {} - minipass@5.0.0: {} - minipass@7.1.2: {} minipass@7.1.3: {} - minizlib@2.1.2: - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - minizlib@3.1.0: dependencies: minipass: 7.1.2 @@ -24013,7 +22390,6 @@ snapshots: mkdirp@0.5.6: dependencies: minimist: 1.2.8 - optional: true mkdirp@1.0.4: {} @@ -24114,15 +22490,6 @@ snapshots: transitivePeerDependencies: - '@types/node' - murmur-32@0.2.0: - dependencies: - encode-utf8: 1.0.3 - fmix: 0.1.0 - imul: 1.0.1 - optional: true - - mute-stream@1.0.0: {} - mute-stream@2.0.0: {} mz@2.7.0: @@ -24131,9 +22498,6 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nan@2.25.0: - optional: true - nanoid@3.3.11: {} napi-build-utils@2.0.0: {} @@ -24158,12 +22522,11 @@ snapshots: negotiator@1.0.0: {} - neo-async@2.6.2: {} + neo-async@2.6.2: + optional: true nested-error-stacks@2.0.1: {} - nice-try@1.0.5: {} - no-case@3.0.4: dependencies: lower-case: 2.0.2 @@ -24201,20 +22564,18 @@ snapshots: node-forge@1.3.3: {} - node-gyp@11.5.0: + node-gyp@12.4.0: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.3 graceful-fs: 4.2.11 - make-fetch-happen: 14.0.3 - nopt: 8.1.0 - proc-log: 5.0.0 + nopt: 9.0.0 + proc-log: 6.1.0 semver: 7.7.3 tar: 7.5.7 tinyglobby: 0.2.15 - which: 5.0.0 - transitivePeerDependencies: - - supports-color + undici: 8.4.1 + which: 6.0.1 node-int64@0.4.0: {} @@ -24226,20 +22587,9 @@ snapshots: node-releases@2.0.27: {} - nopt@6.0.0: - dependencies: - abbrev: 1.1.1 - - nopt@8.1.0: - dependencies: - abbrev: 3.0.1 - - normalize-package-data@2.5.0: + nopt@9.0.0: dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.11 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 + abbrev: 4.0.0 normalize-path@3.0.0: {} @@ -24252,10 +22602,6 @@ snapshots: semver: 7.7.3 validate-npm-package-name: 5.0.1 - npm-run-path@2.0.2: - dependencies: - path-key: 2.0.1 - npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -24389,18 +22735,6 @@ snapshots: strip-ansi: 5.2.0 wcwidth: 1.0.1 - ora@5.4.1: - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - ora@8.2.0: dependencies: chalk: 5.6.2 @@ -24415,8 +22749,6 @@ snapshots: orderedmap@2.1.1: {} - os-tmpdir@1.0.2: {} - outvariant@1.4.3: {} oxc-parser@0.120.0: @@ -24469,16 +22801,6 @@ snapshots: p-cancelable@2.1.1: {} - p-defer@1.0.0: {} - - p-finally@1.0.0: {} - - p-is-promise@2.1.0: {} - - p-limit@1.3.0: - dependencies: - p-try: 1.0.0 - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -24487,26 +22809,12 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-locate@2.0.0: - dependencies: - p-limit: 1.3.0 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - p-map@7.0.4: {} - p-try@1.0.0: {} - p-try@2.2.0: {} package-json-from-dist@1.0.1: {} @@ -24517,10 +22825,6 @@ snapshots: dependencies: callsites: 3.1.0 - parse-author@2.0.0: - dependencies: - author-regex: 1.0.0 - parse-bmfont-ascii@1.0.6: {} parse-bmfont-binary@1.0.6: {} @@ -24530,11 +22834,6 @@ snapshots: xml-parse-from-string: 1.0.1 xml2js: 0.5.0 - parse-color@1.0.0: - dependencies: - color-convert: 0.5.3 - optional: true - parse-entities@4.0.2: dependencies: '@types/unist': 2.0.11 @@ -24545,10 +22844,6 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 - parse-json@2.2.0: - dependencies: - error-ex: 1.3.4 - parse-json@5.2.0: dependencies: '@babel/code-frame': 7.29.0 @@ -24593,25 +22888,16 @@ snapshots: path-dirname@1.0.2: {} - path-exists@3.0.0: {} - path-exists@4.0.0: {} path-is-absolute@1.0.1: {} - path-key@2.0.1: {} - path-key@3.1.1: {} path-key@4.0.0: {} path-parse@1.0.7: {} - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.3 - path-scurry@2.0.1: dependencies: lru-cache: 11.2.5 @@ -24626,10 +22912,6 @@ snapshots: path-to-regexp@8.3.0: {} - path-type@2.0.0: - dependencies: - pify: 2.3.0 - path-type@4.0.0: {} pathe@1.1.2: {} @@ -24638,7 +22920,7 @@ snapshots: pathval@2.0.1: {} - pe-library@1.0.1: {} + pe-library@0.4.1: {} peek-readable@4.1.0: {} @@ -24689,6 +22971,15 @@ snapshots: mlly: 1.8.0 pathe: 2.0.3 + pkijs@3.4.0: + dependencies: + '@noble/hashes': 1.4.0 + asn1js: 3.0.10 + bytestreamjs: 2.0.1 + pvtsutils: 1.3.6 + pvutils: 1.1.5 + tslib: 2.8.1 + playwright-core@1.58.1: {} playwright@1.58.1: @@ -24812,6 +23103,7 @@ snapshots: postject@1.0.0-alpha.6: dependencies: commander: 9.5.0 + optional: true powershell-utils@0.1.0: {} @@ -24863,18 +23155,16 @@ snapshots: dependencies: parse-ms: 4.0.0 - proc-log@2.0.1: {} - proc-log@4.2.0: {} - proc-log@5.0.0: {} + proc-log@6.1.0: {} + + process-nextick-args@2.0.1: {} process@0.11.10: {} progress@2.0.3: {} - promise-inflight@1.0.1: {} - promise-retry@2.0.1: dependencies: err-code: 2.0.3 @@ -24899,6 +23189,12 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 + proper-lockfile@4.1.2: + dependencies: + graceful-fs: 4.2.11 + retry: 0.12.0 + signal-exit: 3.0.7 + property-information@7.1.0: {} prosemirror-changeset@2.3.1: @@ -25037,6 +23333,12 @@ snapshots: punycode@2.3.1: {} + pvtsutils@1.3.6: + dependencies: + tslib: 2.8.1 + + pvutils@1.1.5: {} + qrcode-terminal@0.11.0: {} qs@6.15.0: @@ -25125,15 +23427,10 @@ snapshots: '@types/react': 19.2.11 '@types/react-dom': 19.2.3(@types/react@19.2.11) - random-path@0.1.2: - dependencies: - base32-encode: 1.2.0 - murmur-32: 0.2.0 - optional: true - randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 + optional: true range-parser@1.2.1: {} @@ -25446,16 +23743,15 @@ snapshots: dependencies: pify: 2.3.0 - read-pkg-up@2.0.0: - dependencies: - find-up: 2.1.0 - read-pkg: 2.0.0 - - read-pkg@2.0.0: + readable-stream@2.3.8: dependencies: - load-json-file: 2.0.0 - normalize-package-data: 2.5.0 - path-type: 2.0.0 + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 readable-stream@3.6.2: dependencies: @@ -25491,10 +23787,6 @@ snapshots: tiny-invariant: 1.3.3 tslib: 2.8.1 - rechoir@0.8.0: - dependencies: - resolve: 1.22.11 - redent@3.0.0: dependencies: indent-string: 4.0.0 @@ -25580,9 +23872,6 @@ snapshots: mdast-util-to-markdown: 2.1.2 unified: 11.0.5 - repeat-string@1.6.1: - optional: true - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -25593,9 +23882,9 @@ snapshots: rc: 1.2.8 resolve: 1.7.1 - resedit@2.0.3: + resedit@1.7.2: dependencies: - pe-library: 1.0.1 + pe-library: 0.4.1 reselect@5.1.1: {} @@ -25634,16 +23923,6 @@ snapshots: onetime: 2.0.1 signal-exit: 3.0.7 - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - - restore-cursor@4.0.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - restore-cursor@5.1.0: dependencies: onetime: 7.0.0 @@ -25660,7 +23939,6 @@ snapshots: rimraf@2.6.3: dependencies: glob: 7.2.3 - optional: true rimraf@3.0.2: dependencies: @@ -25734,6 +24012,8 @@ snapshots: dependencies: queue-microtask: 1.2.3 + safe-buffer@5.1.2: {} + safe-buffer@5.2.1: {} safe-regex-test@1.1.0: @@ -25744,7 +24024,9 @@ snapshots: safer-buffer@2.1.2: {} - sax@1.4.4: {} + sanitize-filename@1.6.4: + dependencies: + truncate-utf8-bytes: 1.0.2 sax@1.6.0: {} @@ -25757,9 +24039,10 @@ snapshots: schema-utils@4.3.3: dependencies: '@types/json-schema': 7.0.15 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - ajv-keywords: 5.1.0(ajv@8.17.1) + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + ajv-keywords: 5.1.0(ajv@8.20.0) + optional: true semver-compare@1.0.0: optional: true @@ -25818,6 +24101,7 @@ snapshots: serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 + optional: true seroval-plugins@1.5.4(seroval@1.5.4): dependencies: @@ -25905,16 +24189,10 @@ snapshots: shallowequal@1.1.0: {} - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} shell-quote@1.8.3: {} @@ -25994,6 +24272,10 @@ snapshots: dependencies: is-arrayish: 0.3.4 + simple-update-notifier@2.0.0: + dependencies: + semver: 7.7.3 + simple-xml-to-json@1.2.3: {} sirv@3.0.2: @@ -26018,8 +24300,6 @@ snapshots: slugify@1.6.6: {} - smart-buffer@4.2.0: {} - smol-toml@1.6.0: {} snake-case@3.0.4: @@ -26027,32 +24307,6 @@ snapshots: dot-case: 3.0.4 tslib: 2.8.1 - socks-proxy-agent@7.0.0: - dependencies: - agent-base: 6.0.2 - debug: 4.4.3 - socks: 2.8.9 - transitivePeerDependencies: - - supports-color - - socks-proxy-agent@8.0.5: - dependencies: - agent-base: 7.1.4 - debug: 4.4.3 - socks: 2.8.7 - transitivePeerDependencies: - - supports-color - - socks@2.8.7: - dependencies: - ip-address: 10.1.0 - smart-buffer: 4.2.0 - - socks@2.8.9: - dependencies: - ip-address: 10.2.0 - smart-buffer: 4.2.0 - solid-js@1.9.13: dependencies: csstype: 3.2.3 @@ -26079,20 +24333,6 @@ snapshots: space-separated-tokens@2.0.2: {} - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.22 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.22 - - spdx-license-ids@3.0.22: {} - split-on-first@1.1.0: {} sprintf-js@1.0.3: {} @@ -26100,14 +24340,6 @@ snapshots: sprintf-js@1.1.3: optional: true - ssri@12.0.0: - dependencies: - minipass: 7.1.2 - - ssri@9.0.1: - dependencies: - minipass: 3.3.6 - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -26125,6 +24357,8 @@ snapshots: '@stablelib/base64': 1.0.1 fast-sha256: 1.3.0 + stat-mode@1.0.0: {} + statuses@1.5.0: {} statuses@2.0.2: {} @@ -26184,6 +24418,10 @@ snapshots: get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -26213,8 +24451,6 @@ snapshots: strip-bom@3.0.0: {} - strip-eof@1.0.0: {} - strip-final-newline@2.0.0: {} strip-final-newline@3.0.0: {} @@ -26231,10 +24467,6 @@ snapshots: strip-json-comments@5.0.3: {} - strip-outer@1.0.1: - dependencies: - escape-string-regexp: 1.0.5 - strtok3@6.3.0: dependencies: '@tokenizer/token': 0.3.0 @@ -26372,15 +24604,6 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - tar@6.2.1: - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - tar@7.5.7: dependencies: '@isaacs/fs-minipass': 4.0.1 @@ -26391,11 +24614,15 @@ snapshots: temp-dir@2.0.0: {} + temp-file@3.4.0: + dependencies: + async-exit-hook: 2.0.1 + fs-extra: 10.1.0 + temp@0.9.4: dependencies: mkdirp: 0.5.6 rimraf: 2.6.3 - optional: true terminal-link@2.1.1: dependencies: @@ -26412,6 +24639,7 @@ snapshots: webpack: 5.105.0(esbuild@0.27.2) optionalDependencies: esbuild: 0.27.2 + optional: true terser@5.46.0: dependencies: @@ -26440,13 +24668,16 @@ snapshots: throat@5.0.0: {} - tiny-each-async@2.0.3: - optional: true + tiny-async-pool@1.3.0: + dependencies: + semver: 5.7.2 tiny-invariant@1.3.3: {} tiny-lru@11.4.7: {} + tiny-typed-emitter@2.1.0: {} + tinybench@2.9.0: {} tinycolor2@1.6.0: {} @@ -26491,25 +24722,11 @@ snapshots: tmp-promise@3.0.3: dependencies: tmp: 0.2.7 - optional: true - - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - tmp@0.2.7: - optional: true + tmp@0.2.7: {} tmpl@1.0.5: {} - tn1150@0.1.0: - dependencies: - unorm: 1.6.0 - optional: true - - to-data-view@1.1.0: - optional: true - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -26547,12 +24764,12 @@ snapshots: trim-lines@3.0.1: {} - trim-repeated@1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - trough@2.2.0: {} + truncate-utf8-bytes@1.0.2: + dependencies: + utf8-byte-length: 1.0.5 + ts-algebra@2.0.0: {} ts-dedent@2.2.0: {} @@ -26663,8 +24880,6 @@ snapshots: type-fest@0.7.1: {} - type-fest@1.4.0: {} - type-fest@3.13.1: {} type-fest@5.4.3: @@ -26698,8 +24913,6 @@ snapshots: - supports-color - xstate - typescript@5.4.5: {} - typescript@5.9.3: {} ua-parser-js@0.7.41: {} @@ -26718,6 +24931,8 @@ snapshots: undici@6.23.0: {} + undici@8.4.1: {} + unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: @@ -26741,22 +24956,6 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unique-filename@2.0.1: - dependencies: - unique-slug: 3.0.0 - - unique-filename@4.0.0: - dependencies: - unique-slug: 5.0.0 - - unique-slug@3.0.0: - dependencies: - imurmurhash: 0.1.4 - - unique-slug@5.0.0: - dependencies: - imurmurhash: 0.1.4 - unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 @@ -26784,15 +24983,10 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - universal-user-agent@6.0.1: {} - universalify@0.1.2: {} universalify@2.0.1: {} - unorm@1.6.0: - optional: true - unpipe@1.0.0: {} unplugin@2.3.11: @@ -26810,6 +25004,14 @@ snapshots: until-async@3.0.2: {} + unzipper@0.12.3: + dependencies: + bluebird: 3.7.2 + duplexer2: 0.1.4 + fs-extra: 11.3.3 + graceful-fs: 4.2.11 + node-int64: 0.4.0 + update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: browserslist: 4.28.1 @@ -26839,10 +25041,7 @@ snapshots: dependencies: react: 19.1.0 - username@5.1.0: - dependencies: - execa: 1.0.0 - mem: 4.3.0 + utf8-byte-length@1.0.5: {} utif2@4.1.0: dependencies: @@ -26872,11 +25071,6 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - validate-npm-package-name@5.0.1: {} validate-npm-package-name@7.0.2: {} @@ -27265,6 +25459,7 @@ snapshots: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 + optional: true wcwidth@1.0.1: dependencies: @@ -27278,13 +25473,22 @@ snapshots: web-vitals@5.1.0: {} + webcrypto-core@1.9.2: + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/json-schema': 1.1.12 + '@peculiar/utils': 2.0.3 + asn1js: 3.0.10 + tslib: 2.8.1 + webidl-conversions@3.0.1: {} webidl-conversions@5.0.0: {} webidl-conversions@7.0.0: {} - webpack-sources@3.3.3: {} + webpack-sources@3.3.3: + optional: true webpack-virtual-modules@0.6.2: {} @@ -27319,6 +25523,7 @@ snapshots: - '@swc/core' - esbuild - uglify-js + optional: true whatwg-encoding@3.1.1: dependencies: @@ -27356,10 +25561,6 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 - which@1.3.1: - dependencies: - isexe: 2.0.0 - which@2.0.2: dependencies: isexe: 2.0.0 @@ -27372,6 +25573,10 @@ snapshots: dependencies: isexe: 3.1.1 + which@6.0.1: + dependencies: + isexe: 4.0.0 + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 @@ -27379,9 +25584,6 @@ snapshots: wonka@6.3.5: {} - word-wrap@1.2.5: - optional: true - wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -27441,12 +25643,12 @@ snapshots: xml2js@0.5.0: dependencies: - sax: 1.4.4 + sax: 1.6.0 xmlbuilder: 11.0.1 xml2js@0.6.0: dependencies: - sax: 1.4.4 + sax: 1.6.0 xmlbuilder: 11.0.1 xmlbuilder@11.0.1: {} @@ -27455,9 +25657,6 @@ snapshots: xmlchars@2.2.0: {} - xtend@4.0.2: - optional: true - y18n@5.0.8: {} yallist@3.1.1: {} @@ -27468,22 +25667,8 @@ snapshots: yaml@2.8.2: {} - yargs-parser@20.2.9: - optional: true - yargs-parser@21.1.1: {} - yargs@16.2.0: - dependencies: - cliui: 7.0.4 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.9 - optional: true - yargs@17.7.2: dependencies: cliui: 8.0.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 52fcf91201..41749eda88 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -78,6 +78,13 @@ overrides: # catalog protocol leaked into the published package and can't resolve for an # external dep); pin it to a real version so installs of quill succeed. '@posthog/quill>@base-ui/react': ^1.3.0 + # node-gyp 12 downloads Node headers via undici (^6.25.0). undici through 7.27.2 + # crashes intermittently with `assert(!this.paused)` in the H1 parser's finish() + # when the socket ends while the body stream is paused, which happens when a + # native module compiles from source under backpressure (e.g. node-pty in CI). + # undici 8.4.1 dropped that assertion and handles the paused case gracefully; + # node-gyp only uses stable public exports (fetch/Agent), so 8.x is safe. + 'node-gyp>undici': 8.4.1 onlyBuiltDependencies: - '@parcel/watcher' @@ -87,8 +94,6 @@ onlyBuiltDependencies: - electron - electron-winstaller - esbuild - - fs-xattr - - macos-alias - node-pty - tree-sitter-cli diff --git a/scripts/rebuild-better-sqlite3-node.mjs b/scripts/rebuild-better-sqlite3-node.mjs index 116c080c8f..2252d04cfd 100644 --- a/scripts/rebuild-better-sqlite3-node.mjs +++ b/scripts/rebuild-better-sqlite3-node.mjs @@ -7,6 +7,10 @@ // before the workspace-server DB tests (CI does this in test.yml) to swap the // binary back to a Node-ABI build. Re-run `pnpm install` (or the app's // postinstall) to restore the Electron build before running the app again. +// +// Falls back to compiling with node-gyp when prebuild-install has no binary for +// the running Node (e.g. a release too new to have published prebuilds), +// mirroring rebuild-better-sqlite3-electron.mjs. import { execFileSync } from "node:child_process"; import { realpathSync, rmSync } from "node:fs"; import { createRequire } from "node:module"; @@ -15,10 +19,19 @@ const pkg = realpathSync("node_modules/better-sqlite3"); rmSync(`${pkg}/build`, { recursive: true, force: true }); rmSync(`${pkg}/prebuilds`, { recursive: true, force: true }); -const prebuildInstall = createRequire(`${pkg}/`).resolve( - "prebuild-install/bin.js", -); -execFileSync(process.execPath, [prebuildInstall], { - cwd: pkg, - stdio: "inherit", -}); +const moduleRequire = createRequire(`${pkg}/`); +const run = (args) => + execFileSync(process.execPath, args, { cwd: pkg, stdio: "inherit" }); + +try { + run([moduleRequire.resolve("prebuild-install/bin.js")]); +} catch (err) { + console.warn( + `prebuild-install failed (${err.message}); compiling with node-gyp...`, + ); + run([ + moduleRequire.resolve("node-gyp/bin/node-gyp.js"), + "rebuild", + "--release", + ]); +}