diff --git a/.buildkite/commands/build-for-mac.sh b/.buildkite/commands/build-for-mac.sh
new file mode 100644
index 0000000000..b753ab1465
--- /dev/null
+++ b/.buildkite/commands/build-for-mac.sh
@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+BUILD_TYPE=${1:?Expected build type as first parameter (dev|release)}
+ARCH=${2:?Expected architecture as second parameter (x64|arm64)}
+
+if [ "$BUILD_TYPE" != "dev" ] && [ "$BUILD_TYPE" != "release" ]; then
+ echo "Unknown build type: $BUILD_TYPE"
+ exit 1
+fi
+
+if [ "$ARCH" != "x64" ] && [ "$ARCH" != "arm64" ]; then
+ echo "Unknown architecture: $ARCH"
+ exit 1
+fi
+
+.buildkite/commands/prepare-environment.sh
+export FILE_ARCHITECTURE="$ARCH"
+.buildkite/commands/install-node-dependencies.sh
+
+if [ "$BUILD_TYPE" = "dev" ]; then
+ node ./scripts/prepare-dev-build-version.mjs
+ export IS_DEV_BUILD=true
+
+ ARTIFACT_PATTERN="*studio-app-mac-$ARCH.tar.gz"
+ printf 'Artifact search query: <%s>\n' "$ARTIFACT_PATTERN"
+ if ! buildkite-agent artifact download "$ARTIFACT_PATTERN" .; then
+ echo "^^^ +++ Required prebuilt app artifact not found: $ARTIFACT_PATTERN"
+ exit 1
+ fi
+
+ ARTIFACT_FILE=$(find . -type f -name "studio-app-mac-$ARCH.tar.gz" | head -n 1)
+ if [ -z "$ARTIFACT_FILE" ]; then
+ echo "^^^ +++ Downloaded artifact but couldn't locate archive for mac-$ARCH"
+ exit 1
+ fi
+
+ printf 'Resolved downloaded artifact: <%s>\n' "$ARTIFACT_FILE"
+ echo "--- :package: Extracting prebuilt app artifacts (mac-$ARCH) from $ARTIFACT_FILE"
+ tar -xzf "$ARTIFACT_FILE"
+else
+ node ./scripts/confirm-tag-matches-version.mjs
+
+ echo "--- :package: Packaging app"
+ npm run "package:macos-$ARCH"
+fi
+
+echo "--- :node: Building installer artifacts"
+npm run "make:macos-$ARCH"
+
+# Local trial and error show this needs to run before DMG generation,
+# but after the binary has been built.
+echo "--- :hammer: Rebuild fs-attr if necessary before generating DMG"
+case "$ARCH" in
+ x64)
+ echo "Rebuilding fs-xattr for $ARCH architecture"
+ npm rebuild fs-xattr --cpu universal
+ ;;
+ arm64)
+ echo "No need to rebuild fs-xattr because it works out of the box on Apple Silicon"
+ ;;
+esac
+
+echo "--- :node: Packaging in DMG"
+npm run "make:dmg-$ARCH"
+
+echo "--- 📃 Notarizing Binary"
+bundle exec fastlane notarize_binary
diff --git a/.buildkite/commands/build-for-windows.ps1 b/.buildkite/commands/build-for-windows.ps1
index 1bede06d4b..cddfe897f8 100644
--- a/.buildkite/commands/build-for-windows.ps1
+++ b/.buildkite/commands/build-for-windows.ps1
@@ -32,6 +32,10 @@ if ($Architecture -notin $VALID_ARCHITECTURES) {
& "setup_windows_code_signing.ps1"
If ($LastExitCode -ne 0) { Exit $LastExitCode }
+# Set architecture environment variable before dependency install so cache key
+# matches the target build architecture.
+$env:FILE_ARCHITECTURE=$Architecture
+
Write-Host "--- :npm: Installing Node dependencies"
bash .buildkite/commands/install-node-dependencies.sh
If ($LastExitCode -ne 0) { Exit $LastExitCode }
@@ -50,10 +54,30 @@ if ($BuildType -eq $BUILD_TYPE_DEV) {
If ($LastExitCode -ne 0) { Exit $LastExitCode }
}
-# Set architecture environment variable for AppX packaging
-$env:FILE_ARCHITECTURE=$Architecture
+Write-Host "--- :package: Preparing packaged app for architecture: $Architecture"
+if ($BuildType -eq $BUILD_TYPE_DEV) {
+ $artifactFilePattern = "*studio-app-windows-$Architecture.tar.gz"
+ bash -lc "buildkite-agent artifact download `"$artifactFilePattern`" ."
+ if ($LastExitCode -eq 0) {
+ $artifactFile = Get-ChildItem -Path . -Recurse -File -Filter "studio-app-windows-$Architecture.tar.gz" | Select-Object -First 1 -ExpandProperty FullName
+ if (-not $artifactFile) {
+ Write-Host "Error: downloaded artifact but could not locate studio-app-windows-$Architecture.tar.gz" -ForegroundColor Red
+ Exit 1
+ }
+ Write-Host "Using prebuilt app artifact: $artifactFile"
+ tar -xzf "$artifactFile"
+ If ($LastExitCode -ne 0) { Exit $LastExitCode }
+ } else {
+ Write-Host "Error: required prebuilt app artifact not found: $artifactFilePattern" -ForegroundColor Red
+ Exit 1
+ }
+} else {
+ Write-Host "Release build: packaging app for windows-$Architecture"
+ npm run "package:windows-$Architecture"
+ If ($LastExitCode -ne 0) { Exit $LastExitCode }
+}
-Write-Host "Building for architecture: $Architecture"
+Write-Host "--- :node: Building installer artifacts for architecture: $Architecture"
npm run "make:windows-$Architecture"
If ($LastExitCode -ne 0) { Exit $LastExitCode }
diff --git a/.buildkite/commands/install-node-dependencies.sh b/.buildkite/commands/install-node-dependencies.sh
index 0359e4617f..d03008b0a0 100755
--- a/.buildkite/commands/install-node-dependencies.sh
+++ b/.buildkite/commands/install-node-dependencies.sh
@@ -3,17 +3,22 @@
set -eu
PLATFORM=$(uname -s)
-ARCHITECTURE=$(uname -m)
+ARCHITECTURE=${FILE_ARCHITECTURE:-$(uname -m)}
NODE_VERSION=$(node --version)
+NPM_VERSION=$(npm --version)
PACKAGE_HASH=$(hash_file package-lock.json)
-
-if [ -d patches ]; then
- PATCHES_HASH=$(hash_directory patches/)
-else
- PATCHES_HASH=nopatch
+IMAGE_KEY=${IMAGE_ID:-noimage}
+CACHE_FORMAT_VERSION=v2
+
+PATCHES_HASH=nopatch
+if [ -d apps/cli/patches ] || [ -d apps/studio/patches ]; then
+ CLI_PATCHES_HASH=$( [ -d apps/cli/patches ] && hash_directory apps/cli/patches || echo none )
+ STUDIO_PATCHES_HASH=$( [ -d apps/studio/patches ] && hash_directory apps/studio/patches || echo none )
+ PATCHES_HASH=$(echo "${CLI_PATCHES_HASH}-${STUDIO_PATCHES_HASH}" | shasum -a 256 | awk '{print $1}')
fi
-CACHEKEY="$BUILDKITE_PIPELINE_SLUG-npm-$PLATFORM-$ARCHITECTURE-node-$NODE_VERSION-$PACKAGE_HASH-$PATCHES_HASH"
+BASE_CACHE_KEY="$BUILDKITE_PIPELINE_SLUG-$CACHE_FORMAT_VERSION-$PLATFORM-$ARCHITECTURE-image-$IMAGE_KEY-node-$NODE_VERSION-npm-$NPM_VERSION-$PACKAGE_HASH-$PATCHES_HASH"
+NPM_CACHE_KEY="$BASE_CACHE_KEY-npm-cache"
LOCAL_NPM_CACHE=./vendor/npm
mkdir -p $LOCAL_NPM_CACHE
@@ -22,7 +27,7 @@ npm set cache $LOCAL_NPM_CACHE
echo "npm cache set to $(npm get cache)"
echo "--- :npm: Restore npm cache if present"
-restore_cache "$CACHEKEY"
+restore_cache "$NPM_CACHE_KEY"
echo "--- :npm: Install Node dependencies"
@@ -37,29 +42,17 @@ if [ "$PLATFORM" = "Linux" ]; then
fi
npm ci \
- --unsafe-perm \
+ --include=dev \
--prefer-offline \
--no-audit \
--no-progress \
--maxsockets "$MAX_SOCKETS" \
"$@"
-cd cli
-npm ci \
- --prefer-offline \
- --no-audit \
- --no-progress \
- --maxsockets "$MAX_SOCKETS"
-cd -
-
echo "--- :npm: Save cache if necessary"
-# Notice that we don't cache the local node_modules.
-# Those get regenerated by npm ci as per Node reccomendations.
-# What we are caching is the root npm folder, which stores pacakge downloads so they are available if the package.json resolution demands them.
-#
# npm stores temporary files in ~/.npm that we don't want to extract because they might run into naming conflicts.
# So, before archiving it, we remove those tmp files.
#
# Example: https://buildkite.com/automattic/gutenberg-mobile/builds/8857#018e37eb-7afc-4280-b736-cba76f02f1a3/524
rm -rf "$LOCAL_NPM_CACHE/_cacache/tmp"
-save_cache "$LOCAL_NPM_CACHE" "$CACHEKEY"
+save_cache "$LOCAL_NPM_CACHE" "$NPM_CACHE_KEY"
diff --git a/.buildkite/commands/package-app-for-ci.sh b/.buildkite/commands/package-app-for-ci.sh
new file mode 100755
index 0000000000..5458a1d80c
--- /dev/null
+++ b/.buildkite/commands/package-app-for-ci.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+PLATFORM=${1:?Expected platform to be provided as first parameter}
+ARCH=${2:?Expected architecture to be provided as second parameter}
+
+echo "--- :package: Install deps"
+export FILE_ARCHITECTURE="$ARCH"
+bash .buildkite/commands/install-node-dependencies.sh
+
+export IS_DEV_BUILD=true
+
+case "$PLATFORM" in
+ mac)
+ SCRIPT_PLATFORM="macos"
+ ;;
+ windows)
+ SCRIPT_PLATFORM="windows"
+ ;;
+ *)
+ echo "Unknown platform: $PLATFORM"
+ exit 1
+ ;;
+esac
+
+echo "--- :package: Package app for CI reuse ($PLATFORM-$ARCH)"
+npm run "package:${SCRIPT_PLATFORM}-${ARCH}"
+
+mkdir -p artifacts
+ARTIFACT_FILE="artifacts/studio-app-${PLATFORM}-${ARCH}.tar.gz"
+
+echo "--- :package: Bundle packaged app into $ARTIFACT_FILE"
+tar -czf "$ARTIFACT_FILE" apps/studio/out
+
+if [ "$PLATFORM" = "mac" ] && [ "$ARCH" = "arm64" ] && [ "${BUILDKITE_BRANCH:-}" = "trunk" ]; then
+ echo "--- :package: Caching trunk mac-arm64 package artifact for compare-perf reuse"
+ TRUNK_ARTIFACT_CACHE_PATH="artifacts/trunk-mac-arm64"
+ TRUNK_ARTIFACT_CACHE_KEY="$BUILDKITE_PIPELINE_SLUG-trunk-mac-arm64-package"
+
+ mkdir -p "$TRUNK_ARTIFACT_CACHE_PATH"
+ cp "$ARTIFACT_FILE" "$TRUNK_ARTIFACT_CACHE_PATH/studio-app-trunk-mac-arm64.tar.gz"
+ save_cache "$TRUNK_ARTIFACT_CACHE_PATH" "$TRUNK_ARTIFACT_CACHE_KEY"
+fi
diff --git a/.buildkite/commands/prepare-environment.sh b/.buildkite/commands/prepare-environment.sh
index 6cbc984be1..9097b430bb 100755
--- a/.buildkite/commands/prepare-environment.sh
+++ b/.buildkite/commands/prepare-environment.sh
@@ -1,7 +1,7 @@
#!/bin/bash -eu
# Prepares the CI environment to successfully build the macOS app.
-# Building the app is done via npm run make:macos-*.
+# Building installer artifacts is done via npm run make:macos-*.
echo "--- :rubygems: Setting up Gems"
install_gems
@@ -10,4 +10,4 @@ echo "--- :closed_lock_with_key: Installing Secrets"
bundle exec fastlane run configure_apply
echo "--- :testflight: Fetching Signing Certificates"
-bundle exec fastlane set_up_signing
\ No newline at end of file
+bundle exec fastlane set_up_signing
diff --git a/.buildkite/commands/run-e2e-tests.sh b/.buildkite/commands/run-e2e-tests.sh
index 5355662ece..5d7bd7f903 100644
--- a/.buildkite/commands/run-e2e-tests.sh
+++ b/.buildkite/commands/run-e2e-tests.sh
@@ -13,26 +13,19 @@ bash .buildkite/commands/install-node-dependencies.sh
export IS_DEV_BUILD=true
-# Map platform names to electron-forge platform values
-case "$PLATFORM" in
- mac)
- FORGE_PLATFORM="darwin"
- ;;
- windows)
- FORGE_PLATFORM="win32"
- ;;
- *)
- echo "Unknown platform: $PLATFORM"
- exit 1
- ;;
-esac
-
-# Use `electron-forge package` instead of `npm run make:*` for E2E tests.
-# `make` creates signed distributables (installers), which requires code signing setup.
-# `package` creates an unsigned app bundle, sufficient for E2E testing.
-echo "--- :package: Package app for testing ($PLATFORM-$ARCH)"
-npx electron-vite build --outDir=dist
-npx electron-forge package --arch="$ARCH" --platform="$FORGE_PLATFORM"
+ARTIFACT_PATTERN="*studio-app-${PLATFORM}-${ARCH}.tar.gz"
+
+if ! buildkite-agent artifact download "$ARTIFACT_PATTERN" .; then
+ echo "^^^ +++ Required prebuilt app artifact not found: $ARTIFACT_PATTERN"
+ exit 1
+fi
+ARTIFACT_FILE=$(find . -type f -name "studio-app-${PLATFORM}-${ARCH}.tar.gz" | head -n 1)
+if [ -z "$ARTIFACT_FILE" ]; then
+ echo "^^^ +++ Downloaded artifact but couldn't locate archive for ${PLATFORM}-${ARCH}"
+ exit 1
+fi
+echo "--- :package: Extracting prebuilt app artifacts ($PLATFORM-$ARCH) from $ARTIFACT_FILE"
+tar -xzf "$ARTIFACT_FILE"
echo '--- :playwright: Run End To End Tests'
diff --git a/.buildkite/commands/run-metrics-tests.sh b/.buildkite/commands/run-metrics-tests.sh
index 72dae7c6c1..b3763849fa 100755
--- a/.buildkite/commands/run-metrics-tests.sh
+++ b/.buildkite/commands/run-metrics-tests.sh
@@ -9,38 +9,56 @@ echo '--- :package: Install main dependencies'
bash .buildkite/commands/install-node-dependencies.sh
echo '--- :package: Install compare-perf dependencies'
-cd scripts/compare-perf
-npm ci
-cd -
+npm -w compare-perf install
export IS_DEV_BUILD=true
-export ARTIFACTS_PATH=${PWD}/artifacts
+export ARTIFACTS_PATH=${PWD}/tools/metrics/artifacts
export SKIP_WORKER_THREAD_BUILD='true'
+export COMPARE_PERF_PREBUILT_BRANCH=$BUILDKITE_COMMIT
+export COMPARE_PERF_PREBUILT_OUT_DIR=${PWD}/apps/studio/out
+
+echo '--- :package: Downloading prebuilt app artifacts'
+buildkite-agent artifact download "artifacts/studio-app-mac-arm64.tar.gz" .
+tar -xzf artifacts/studio-app-mac-arm64.tar.gz
+
+if [ "${BUILDKITE_PULL_REQUEST}" != "false" ]; then
+ TRUNK_ARTIFACT_CACHE_KEY="$BUILDKITE_PIPELINE_SLUG-trunk-mac-arm64-package"
+ TRUNK_ARTIFACT_CACHE_PATH="artifacts/trunk-mac-arm64"
+ TRUNK_ARTIFACT_FILE="$TRUNK_ARTIFACT_CACHE_PATH/studio-app-trunk-mac-arm64.tar.gz"
+ TRUNK_EXTRACT_PATH="${PWD}/artifacts/trunk-mac-arm64-extract"
+
+ echo '--- :package: Restoring latest cached trunk package artifact'
+ if restore_cache "$TRUNK_ARTIFACT_CACHE_KEY" && [ -f "$TRUNK_ARTIFACT_FILE" ]; then
+ rm -rf "$TRUNK_EXTRACT_PATH"
+ mkdir -p "$TRUNK_EXTRACT_PATH"
+ tar -xzf "$TRUNK_ARTIFACT_FILE" -C "$TRUNK_EXTRACT_PATH"
+ export COMPARE_PERF_PREBUILT_BRANCH_BASE=trunk
+ export COMPARE_PERF_PREBUILT_OUT_DIR_BASE="$TRUNK_EXTRACT_PATH/apps/studio/out"
+ else
+ echo "--- :warning: Could not restore cached trunk package artifact; compare-perf will build trunk"
+ fi
+fi
# Detect if this is a PR or trunk push
if [ "${BUILDKITE_PULL_REQUEST}" != "false" ]; then
# PR context - compare against trunk
echo "--- :chart_with_upwards_trend: Running performance comparison against trunk"
- cd scripts/compare-perf
- npm run compare -- perf $BUILDKITE_COMMIT trunk --tests-branch $BUILDKITE_COMMIT --rounds 3
+ npm -w compare-perf run compare -- perf $BUILDKITE_COMMIT trunk --tests-branch $BUILDKITE_COMMIT --rounds 3
echo "--- :github: Posting results to PR"
# Parse repo from git@github.com:owner/repo.git or https://github.com/owner/repo.git format
REPO_PATH=$(echo $BUILDKITE_REPO | sed 's|^git@github\.com:||' | sed 's|^https://github\.com/||' | sed 's|\.git$||')
- npm run post-to-github -- $GITHUB_TOKEN $REPO_PATH $BUILDKITE_PULL_REQUEST trunk $BUILDKITE_COMMIT
- cd -
+ npm -w compare-perf run post-to-github -- $GITHUB_TOKEN $REPO_PATH $BUILDKITE_PULL_REQUEST trunk $BUILDKITE_COMMIT
elif [ "${BUILDKITE_BRANCH}" == "trunk" ]; then
# Trunk push context - compare against baseline
BASELINE_COMMIT="58c52bfee7e585614ced202f43f217a01f94f029"
echo "--- :chart_with_upwards_trend: Running performance comparison against baseline"
- cd scripts/compare-perf
- npm run compare -- perf $BUILDKITE_COMMIT $BASELINE_COMMIT --tests-branch $BUILDKITE_COMMIT --rounds 3
+ npm -w compare-perf run compare -- perf $BUILDKITE_COMMIT $BASELINE_COMMIT --tests-branch $BUILDKITE_COMMIT --rounds 3
echo "--- :bar_chart: Logging metrics to CodeVitals"
COMMITTED_AT=$(git show -s $BUILDKITE_COMMIT --format="%cI")
- npm run log-to-codevitals -- $CODEVITALS_AUTH_TOKEN trunk $BUILDKITE_COMMIT $BASELINE_COMMIT $COMMITTED_AT
- cd -
+ npm -w compare-perf run log-to-codevitals -- $CODEVITALS_AUTH_TOKEN trunk $BUILDKITE_COMMIT $BASELINE_COMMIT $COMMITTED_AT
else
# Other branches - skip metrics
echo "--- :information_source: Skipping metrics for non-trunk branch"
diff --git a/.buildkite/commands/should-skip-job.sh b/.buildkite/commands/should-skip-job.sh
index a81a09d50a..c2fcb47a4e 100755
--- a/.buildkite/commands/should-skip-job.sh
+++ b/.buildkite/commands/should-skip-job.sh
@@ -10,7 +10,7 @@ set -eu
# Job types:
# - validation: Skip if changes are limited to documentation, config, localization, and non-code files.
# Used for lint, unit tests, and e2e tests.
-# - metrics: Same as validation, but also skips on test-only changes (e2e/**, *.test.ts).
+# - metrics: Same as validation, but also skips on test-only changes (apps/studio/e2e/**, *.test.ts).
# Since metrics measure app performance, test file changes don't affect them.
# - build: Skip if changes are limited to documentation and config files.
# Does NOT skip on localization changes since builds should include translation updates.
@@ -53,7 +53,7 @@ COMMON_NON_CODE_PATTERNS=(
# Installer assets and configuration
"installers/**"
- "assets/appx/**"
+ "apps/studio/assets/appx/**"
# Claude AI configuration
".claude/**"
@@ -62,17 +62,17 @@ COMMON_NON_CODE_PATTERNS=(
# Localization files - changes here don't affect runtime behavior or performance
LOCALIZATION_PATTERNS=(
- "common/translations/**"
+ "tools/common/translations/**"
)
# Test files - changes here don't affect app performance (for metrics)
TEST_PATTERNS=(
- "e2e/**"
- "src/tests/**"
- "src/**/*.test.ts"
- "src/**/*.test.tsx"
- "cli/**/*.test.ts"
- "common/**/*.test.ts"
+ "apps/studio/e2e/**"
+ "apps/studio/src/tests/**"
+ "apps/studio/src/**/*.test.ts"
+ "apps/studio/src/**/*.test.tsx"
+ "apps/cli/**/*.test.ts"
+ "tools/common/**/*.test.ts"
"metrics/**"
)
diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml
index a5db4c4dce..cf7c1b2a25 100644
--- a/.buildkite/pipeline.yml
+++ b/.buildkite/pipeline.yml
@@ -7,6 +7,32 @@ env:
IMAGE_ID: $IMAGE_ID
steps:
+ - &package_artifacts_common
+ label: ":package: Package App Artifacts on mac-arm64"
+ key: package_app_artifacts_mac_arm64
+ agents:
+ queue: mac
+ command: bash .buildkite/commands/package-app-for-ci.sh mac arm64
+ artifact_paths:
+ - artifacts/studio-app-*.tar.gz
+ plugins: [$CI_TOOLKIT_PLUGIN, $NVM_PLUGIN]
+ if: build.branch == 'trunk' || build.tag =~ /^v[0-9]+/ || !build.pull_request.draft
+
+ - <<: *package_artifacts_common
+ label: ":package: Package App Artifacts on windows-x64"
+ key: package_app_artifacts_windows_x64
+ agents:
+ queue: windows
+ command: bash .buildkite/commands/package-app-for-ci.sh windows x64
+
+ - <<: *package_artifacts_common
+ label: ":package: Package App Artifacts on mac-x64"
+ key: package_app_artifacts_mac_x64
+ command: bash .buildkite/commands/package-app-for-ci.sh mac x64
+ depends_on:
+ - step: input-dev-mac
+ if: build.tag !~ /^v[0-9]+/ && build.branch != 'trunk'
+
- label: Lint
agents:
queue: mac
@@ -30,36 +56,45 @@ steps:
- github_commit_status:
context: Unit Tests
- # E2E tests run on supported platform/architecture combinations.
- # - mac-arm64: Native on Apple Silicon agents
- # - windows-x64: Native on x64 agents
- - label: E2E Tests on {{matrix.platform}}-{{matrix.arch}}
- key: e2e_tests
- command: bash .buildkite/commands/run-e2e-tests.sh "{{matrix.platform}}" "{{matrix.arch}}"
+ - &e2e_tests_common
+ label: E2E Tests on mac-arm64
+ key: e2e_tests_mac_arm64
+ depends_on:
+ - step: package_app_artifacts_mac_arm64
+ command: bash .buildkite/commands/run-e2e-tests.sh mac arm64
artifact_paths:
- test-results/**/*.zip
- test-results/**/*.png
- test-results/**/*error-context.md
plugins: [$CI_TOOLKIT_PLUGIN, $NVM_PLUGIN]
agents:
- queue: "{{matrix.platform}}"
+ queue: mac
env:
# See https://playwright.dev/docs/ci#debugging-browser-launches
DEBUG: "pw:browser"
- matrix:
- setup: { platform: [], arch: [] }
- adjustments:
- - with: { platform: mac, arch: arm64 }
- - with: { platform: windows, arch: x64 }
# Skip E2E tests on draft PRs to save CI resources
# Tests will run automatically when PR is marked ready for review
if: build.branch == 'trunk' || build.tag =~ /^v[0-9]+/ || !build.pull_request.draft
notify:
- github_commit_status:
- context: E2E Tests
+ context: E2E Tests (mac-arm64)
+
+ - <<: *e2e_tests_common
+ label: E2E Tests on windows-x64
+ key: e2e_tests_windows_x64
+ depends_on:
+ - step: package_app_artifacts_windows_x64
+ command: bash .buildkite/commands/run-e2e-tests.sh windows x64
+ agents:
+ queue: windows
+ notify:
+ - github_commit_status:
+ context: E2E Tests (windows-x64)
- label: ":chart_with_upwards_trend: Performance Metrics"
key: metrics
+ depends_on:
+ - step: package_app_artifacts_mac_arm64
agents:
queue: mac
command: bash .buildkite/commands/run-metrics-tests.sh
@@ -80,52 +115,31 @@ steps:
- group: 📦 Build for Mac
key: dev-mac
- depends_on: input-dev-mac
+ depends_on:
+ - step: input-dev-mac
if: build.tag !~ /^v[0-9]+/
steps:
- - label: 🔨 Mac Dev Build - {{matrix}}
+ - label: 🔨 Mac Dev Build - x64
+ depends_on:
+ - step: package_app_artifacts_mac_x64
agents:
queue: mac
- command: |
- .buildkite/commands/prepare-environment.sh
-
- .buildkite/commands/install-node-dependencies.sh
-
- node ./scripts/prepare-dev-build-version.mjs
-
- export IS_DEV_BUILD=true
-
- echo "--- :node: Building Binary"
- npm run make:macos-{{matrix}}
-
- # Local trial and error show this needs to run before the DMG generation (obviously) but after the binary has been built
- echo "--- :hammer: Rebuild fs-attr if necessary before generating DMG"
- case {{matrix}} in
- x64)
- echo "Rebuilding fs-xattr for {{matrix}} architecture"
- npm rebuild fs-xattr --cpu universal
- ;;
- arm64)
- echo "No need to rebuild fs-xattr because it works out of the box on Apple Silicon"
- ;;
- *)
- echo "^^^ +++ Unexpected architecture {{matrix}}"
- exit 1
- ;;
- esac
-
- echo "--- :node: Packaging in DMG"
- npm run make:dmg-{{matrix}}
+ command: bash .buildkite/commands/build-for-mac.sh dev x64
+ plugins: [$CI_TOOLKIT_PLUGIN, $NVM_PLUGIN]
+ artifact_paths:
+ - apps/studio/out/**/*.app.zip
+ - apps/studio/out/*.dmg
- echo "--- 📃 Notarizing Binary"
- bundle exec fastlane notarize_binary
+ - label: 🔨 Mac Dev Build - arm64
+ depends_on:
+ - step: package_app_artifacts_mac_arm64
+ agents:
+ queue: mac
+ command: bash .buildkite/commands/build-for-mac.sh dev arm64
plugins: [$CI_TOOLKIT_PLUGIN, $NVM_PLUGIN]
artifact_paths:
- - out/**/*.app.zip
- - out/*.dmg
- matrix:
- - x64
- - arm64
+ - apps/studio/out/**/*.app.zip
+ - apps/studio/out/*.dmg
- input: "🚦 Build for Windows?"
prompt: "Do you want to build Windows dev binaries for this PR?"
@@ -134,7 +148,9 @@ steps:
- group: 📦 Build for Windows
key: dev-windows
- depends_on: input-dev-windows
+ depends_on:
+ - step: input-dev-windows
+ - step: package_app_artifacts_windows_x64
if: build.tag !~ /^v[0-9]+/
steps:
- label: 🔨 Windows Dev Build - {{matrix}}
@@ -185,46 +201,19 @@ steps:
- group: 📦 Build for Mac
key: release-mac
steps:
- - label: 🔨 Mac Release Build - {{matrix}}
+ - &mac_build_common
+ label: 🔨 Mac Release Build - x64
agents:
queue: mac
- command: |
- .buildkite/commands/prepare-environment.sh
-
- .buildkite/commands/install-node-dependencies.sh
- node ./scripts/confirm-tag-matches-version.mjs
-
- echo "--- :node: Building Binary"
- npm run make:macos-{{matrix}}
-
- # Local trial and error show this needs to run before the DMG generation (obviously) but after the binary has been built
- echo "--- :hammer: Rebuild fs-attr if necessary before generating DMG"
- case {{matrix}} in
- x64)
- echo "Rebuilding fs-xattr for {{matrix}} architecture"
- npm rebuild fs-xattr --cpu universal
- ;;
- arm64)
- echo "No need to rebuild fs-xattr because it works out of the box on Apple Silicon"
- ;;
- *)
- echo "^^^ +++ Unexpected architecture {{matrix}}"
- exit 1
- ;;
- esac
-
- echo "--- :node: Packaging in DMG"
- npm run make:dmg-{{matrix}}
-
- echo "--- 📃 Notarizing Binary"
- bundle exec fastlane notarize_binary
+ command: bash .buildkite/commands/build-for-mac.sh release x64
plugins: [$CI_TOOLKIT_PLUGIN, $NVM_PLUGIN]
- artifact_paths:
- - out/**/*.app.zip
- - out/*.dmg
- matrix:
- - x64
- - arm64
+ notify:
+ - github_commit_status:
+ context: All Mac Release Builds
+
+ - <<: *mac_build_common
+ label: 🔨 Mac Release Build - arm64
+ command: bash .buildkite/commands/build-for-mac.sh release arm64
notify:
- github_commit_status:
context: All Mac Release Builds
diff --git a/.gitignore b/.gitignore
index dba5886ead..410796ef76 100644
--- a/.gitignore
+++ b/.gitignore
@@ -112,9 +112,9 @@ dist
test-results
# E2E test import files (not versioned)
-e2e/imports/*.tar.gz
-e2e/imports/*.zip
-e2e/imports/*.wpress
+apps/studio/e2e/imports/*.tar.gz
+apps/studio/e2e/imports/*.zip
+apps/studio/e2e/imports/*.wpress
# Metrics traces
artifacts
@@ -126,8 +126,8 @@ artifacts
CLAUDE.md
# Bundled Node binary (downloaded during build)
-bin/node
-bin/node.exe
+apps/studio/bin/node
+apps/studio/bin/node.exe
# CLI launcher executable (built during packaging via @yao-pkg/pkg)
bin/studio-cli.exe
diff --git a/.prettierignore b/.prettierignore
index b0f142ae26..f1b06af7b4 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,2 +1 @@
-src/translations
-common/translations
+tools/common/translations
diff --git a/cli/__mocks__/cli-table3.ts b/apps/cli/__mocks__/cli-table3.ts
similarity index 100%
rename from cli/__mocks__/cli-table3.ts
rename to apps/cli/__mocks__/cli-table3.ts
diff --git a/__mocks__/cli/lib/pm2-manager.ts b/apps/cli/__mocks__/lib/pm2-manager.ts
similarity index 100%
rename from __mocks__/cli/lib/pm2-manager.ts
rename to apps/cli/__mocks__/lib/pm2-manager.ts
diff --git a/cli/__mocks__/pm2-axon.ts b/apps/cli/__mocks__/pm2-axon.ts
similarity index 100%
rename from cli/__mocks__/pm2-axon.ts
rename to apps/cli/__mocks__/pm2-axon.ts
diff --git a/__mocks__/pm2.ts b/apps/cli/__mocks__/pm2.ts
similarity index 83%
rename from __mocks__/pm2.ts
rename to apps/cli/__mocks__/pm2.ts
index 5c39290358..bb02149803 100644
--- a/__mocks__/pm2.ts
+++ b/apps/cli/__mocks__/pm2.ts
@@ -12,8 +12,8 @@ export class custom {
launchBus = vi.fn( ( callback: ( error?: Error, bus?: any ) => void ) =>
callback( undefined, {} )
);
- sendDataToProcessId = vi.fn( ( processId: number, data: any, callback: ( error?: Error ) => void ) =>
- callback()
+ sendDataToProcessId = vi.fn(
+ ( processId: number, data: any, callback: ( error?: Error ) => void ) => callback()
);
}
diff --git a/cli/commands/_events.ts b/apps/cli/commands/_events.ts
similarity index 95%
rename from cli/commands/_events.ts
rename to apps/cli/commands/_events.ts
index c9a060c081..5b144352dc 100644
--- a/cli/commands/_events.ts
+++ b/apps/cli/commands/_events.ts
@@ -7,10 +7,10 @@
*
*/
import fs from 'fs';
+import { sequential } from '@studio/common/lib/sequential';
+import { SITE_EVENTS, siteDetailsSchema, SiteEvent } from '@studio/common/lib/site-events';
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __ } from '@wordpress/i18n';
-import { sequential } from 'common/lib/sequential';
-import { SITE_EVENTS, siteDetailsSchema, SiteEvent } from 'common/lib/site-events';
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import axon from 'pm2-axon';
import { z } from 'zod';
import { getSiteUrl, readAppdata, SiteData } from 'cli/lib/appdata';
diff --git a/cli/commands/auth/login.ts b/apps/cli/commands/auth/login.ts
similarity index 92%
rename from cli/commands/auth/login.ts
rename to apps/cli/commands/auth/login.ts
index e94f84f0c6..2dfe80b41e 100644
--- a/cli/commands/auth/login.ts
+++ b/apps/cli/commands/auth/login.ts
@@ -1,8 +1,8 @@
import { input } from '@inquirer/prompts';
+import { DEFAULT_TOKEN_LIFETIME_MS } from '@studio/common/constants';
+import { getAuthenticationUrl } from '@studio/common/lib/oauth';
+import { AuthCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __, sprintf } from '@wordpress/i18n';
-import { DEFAULT_TOKEN_LIFETIME_MS } from 'common/constants';
-import { getAuthenticationUrl } from 'common/lib/oauth';
-import { AuthCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { getUserInfo } from 'cli/lib/api';
import {
getAuthToken,
diff --git a/cli/commands/auth/logout.ts b/apps/cli/commands/auth/logout.ts
similarity index 94%
rename from cli/commands/auth/logout.ts
rename to apps/cli/commands/auth/logout.ts
index 2659b04f66..a3d50613a1 100644
--- a/cli/commands/auth/logout.ts
+++ b/apps/cli/commands/auth/logout.ts
@@ -1,5 +1,5 @@
+import { AuthCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __ } from '@wordpress/i18n';
-import { AuthCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { revokeAuthToken } from 'cli/lib/api';
import {
readAppdata,
diff --git a/cli/commands/auth/status.ts b/apps/cli/commands/auth/status.ts
similarity index 93%
rename from cli/commands/auth/status.ts
rename to apps/cli/commands/auth/status.ts
index f108f85cb0..f15227de8a 100644
--- a/cli/commands/auth/status.ts
+++ b/apps/cli/commands/auth/status.ts
@@ -1,5 +1,5 @@
+import { AuthCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __, sprintf } from '@wordpress/i18n';
-import { AuthCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { getUserInfo } from 'cli/lib/api';
import { getAuthToken } from 'cli/lib/appdata';
import { Logger, LoggerError } from 'cli/logger';
diff --git a/cli/commands/auth/tests/login.test.ts b/apps/cli/commands/auth/tests/login.test.ts
similarity index 98%
rename from cli/commands/auth/tests/login.test.ts
rename to apps/cli/commands/auth/tests/login.test.ts
index e673f216ac..1497a0c5c0 100644
--- a/cli/commands/auth/tests/login.test.ts
+++ b/apps/cli/commands/auth/tests/login.test.ts
@@ -1,5 +1,5 @@
import { input } from '@inquirer/prompts';
-import { getAuthenticationUrl } from 'common/lib/oauth';
+import { getAuthenticationUrl } from '@studio/common/lib/oauth';
import { vi } from 'vitest';
import { getUserInfo } from 'cli/lib/api';
import {
@@ -23,7 +23,7 @@ import {
import { runCommand } from '../login';
vi.mock( '@inquirer/prompts' );
-vi.mock( 'common/lib/oauth' );
+vi.mock( '@studio/common/lib/oauth' );
vi.mock( 'cli/lib/api' );
vi.mock( 'cli/lib/appdata' );
vi.mock( 'cli/lib/browser' );
diff --git a/cli/commands/auth/tests/logout.test.ts b/apps/cli/commands/auth/tests/logout.test.ts
similarity index 100%
rename from cli/commands/auth/tests/logout.test.ts
rename to apps/cli/commands/auth/tests/logout.test.ts
diff --git a/cli/commands/auth/tests/status.test.ts b/apps/cli/commands/auth/tests/status.test.ts
similarity index 100%
rename from cli/commands/auth/tests/status.test.ts
rename to apps/cli/commands/auth/tests/status.test.ts
diff --git a/cli/commands/preview/create.ts b/apps/cli/commands/preview/create.ts
similarity index 93%
rename from cli/commands/preview/create.ts
rename to apps/cli/commands/preview/create.ts
index 201db946b2..de350dd12c 100644
--- a/cli/commands/preview/create.ts
+++ b/apps/cli/commands/preview/create.ts
@@ -1,8 +1,8 @@
import os from 'os';
import path from 'path';
+import { getWordPressVersion } from '@studio/common/lib/get-wordpress-version';
+import { PreviewCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __, sprintf } from '@wordpress/i18n';
-import { getWordPressVersion } from 'common/lib/get-wordpress-version';
-import { PreviewCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { uploadArchive, waitForSiteReady } from 'cli/lib/api';
import { getAuthToken, getSiteByFolder } from 'cli/lib/appdata';
import { archiveSiteContent, cleanup } from 'cli/lib/archive';
diff --git a/cli/commands/preview/delete.ts b/apps/cli/commands/preview/delete.ts
similarity index 95%
rename from cli/commands/preview/delete.ts
rename to apps/cli/commands/preview/delete.ts
index 529da34f6b..5fd43dd21e 100644
--- a/cli/commands/preview/delete.ts
+++ b/apps/cli/commands/preview/delete.ts
@@ -1,5 +1,5 @@
+import { PreviewCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __ } from '@wordpress/i18n';
-import { PreviewCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { deleteSnapshot } from 'cli/lib/api';
import { getAuthToken } from 'cli/lib/appdata';
import { deleteSnapshotFromAppdata, getSnapshotsFromAppdata } from 'cli/lib/snapshots';
diff --git a/cli/commands/preview/list.ts b/apps/cli/commands/preview/list.ts
similarity index 97%
rename from cli/commands/preview/list.ts
rename to apps/cli/commands/preview/list.ts
index 57bd9b1760..ae14e691ca 100644
--- a/cli/commands/preview/list.ts
+++ b/apps/cli/commands/preview/list.ts
@@ -1,6 +1,6 @@
+import { PreviewCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __, _n, sprintf } from '@wordpress/i18n';
import Table from 'cli-table3';
-import { PreviewCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { format } from 'date-fns';
import { getAuthToken, getSiteByFolder } from 'cli/lib/appdata';
import {
diff --git a/cli/commands/preview/tests/create.test.ts b/apps/cli/commands/preview/tests/create.test.ts
similarity index 98%
rename from cli/commands/preview/tests/create.test.ts
rename to apps/cli/commands/preview/tests/create.test.ts
index 11b4518b76..ca73a7c280 100644
--- a/cli/commands/preview/tests/create.test.ts
+++ b/apps/cli/commands/preview/tests/create.test.ts
@@ -1,6 +1,6 @@
import os from 'os';
import path from 'path';
-import { getWordPressVersion } from 'common/lib/get-wordpress-version';
+import { getWordPressVersion } from '@studio/common/lib/get-wordpress-version';
import { vi } from 'vitest';
import { uploadArchive, waitForSiteReady } from 'cli/lib/api';
import { getAuthToken, getSiteByFolder } from 'cli/lib/appdata';
@@ -17,7 +17,7 @@ const mockReportProgress = vi.fn();
const mockReportWarning = vi.fn();
const mockReportKeyValuePair = vi.fn();
-vi.mock( 'common/lib/get-wordpress-version' );
+vi.mock( '@studio/common/lib/get-wordpress-version' );
vi.mock( 'cli/lib/appdata', async () => ( {
...( await vi.importActual( 'cli/lib/appdata' ) ),
getAppdataDirectory: vi.fn().mockReturnValue( '/test/appdata' ),
diff --git a/cli/commands/preview/tests/delete.test.ts b/apps/cli/commands/preview/tests/delete.test.ts
similarity index 100%
rename from cli/commands/preview/tests/delete.test.ts
rename to apps/cli/commands/preview/tests/delete.test.ts
diff --git a/cli/commands/preview/tests/list.test.ts b/apps/cli/commands/preview/tests/list.test.ts
similarity index 100%
rename from cli/commands/preview/tests/list.test.ts
rename to apps/cli/commands/preview/tests/list.test.ts
diff --git a/cli/commands/preview/tests/update.test.ts b/apps/cli/commands/preview/tests/update.test.ts
similarity index 97%
rename from cli/commands/preview/tests/update.test.ts
rename to apps/cli/commands/preview/tests/update.test.ts
index f72e7d05a1..58bf753caa 100644
--- a/cli/commands/preview/tests/update.test.ts
+++ b/apps/cli/commands/preview/tests/update.test.ts
@@ -1,8 +1,8 @@
import os from 'os';
import path from 'path';
+import { DEMO_SITE_EXPIRATION_DAYS } from '@studio/common/constants';
+import { getWordPressVersion } from '@studio/common/lib/get-wordpress-version';
import { Archiver } from 'archiver';
-import { DEMO_SITE_EXPIRATION_DAYS } from 'common/constants';
-import { getWordPressVersion } from 'common/lib/get-wordpress-version';
import { vi } from 'vitest';
import { uploadArchive, waitForSiteReady } from 'cli/lib/api';
import { getAuthToken, getSiteByFolder } from 'cli/lib/appdata';
@@ -12,7 +12,7 @@ import { LoggerError } from 'cli/logger';
import { mockReportStart, mockReportSuccess, mockReportError } from 'cli/tests/test-utils';
import { runCommand } from '../update';
-vi.mock( 'common/lib/get-wordpress-version' );
+vi.mock( '@studio/common/lib/get-wordpress-version' );
vi.mock( 'cli/lib/appdata', async () => {
const actual = await vi.importActual( 'cli/lib/appdata' );
return {
diff --git a/cli/commands/preview/update.ts b/apps/cli/commands/preview/update.ts
similarity index 93%
rename from cli/commands/preview/update.ts
rename to apps/cli/commands/preview/update.ts
index 0005429a6c..146db4e4d7 100644
--- a/cli/commands/preview/update.ts
+++ b/apps/cli/commands/preview/update.ts
@@ -1,10 +1,10 @@
import os from 'node:os';
import path from 'node:path';
+import { DEMO_SITE_EXPIRATION_DAYS } from '@studio/common/constants';
+import { getWordPressVersion } from '@studio/common/lib/get-wordpress-version';
+import { PreviewCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
+import { Snapshot } from '@studio/common/types/snapshot';
import { __, _n, sprintf } from '@wordpress/i18n';
-import { DEMO_SITE_EXPIRATION_DAYS } from 'common/constants';
-import { getWordPressVersion } from 'common/lib/get-wordpress-version';
-import { PreviewCommandLoggerAction as LoggerAction } from 'common/logger-actions';
-import { Snapshot } from 'common/types/snapshot';
import { addDays } from 'date-fns';
import { uploadArchive, waitForSiteReady } from 'cli/lib/api';
import { getAuthToken, getSiteByFolder } from 'cli/lib/appdata';
diff --git a/cli/commands/site/create.ts b/apps/cli/commands/site/create.ts
similarity index 94%
rename from cli/commands/site/create.ts
rename to apps/cli/commands/site/create.ts
index a8f92a1086..28749162bd 100644
--- a/cli/commands/site/create.ts
+++ b/apps/cli/commands/site/create.ts
@@ -3,37 +3,40 @@ import fs from 'fs';
import os from 'os';
import path from 'path';
import { SupportedPHPVersions } from '@php-wasm/universal';
-import { __, sprintf } from '@wordpress/i18n';
-import { Blueprint, StepDefinition } from '@wp-playground/blueprints';
import {
DEFAULT_PHP_VERSION,
DEFAULT_WORDPRESS_VERSION,
MINIMUM_WORDPRESS_VERSION,
-} from 'common/constants';
+} from '@studio/common/constants';
import {
filterUnsupportedBlueprintFeatures,
validateBlueprintData,
-} from 'common/lib/blueprint-validation';
-import { getDomainNameValidationError } from 'common/lib/domains';
+} from '@studio/common/lib/blueprint-validation';
+import { getDomainNameValidationError } from '@studio/common/lib/domains';
import {
arePathsEqual,
isEmptyDir,
isWordPressDirectory,
pathExists,
recursiveCopyDirectory,
-} from 'common/lib/fs-utils';
-import { DEFAULT_LOCALE } from 'common/lib/locale';
-import { isOnline } from 'common/lib/network-utils';
-import { createPassword } from 'common/lib/passwords';
-import { portFinder } from 'common/lib/port-finder';
-import { SITE_EVENTS } from 'common/lib/site-events';
-import { sortSites } from 'common/lib/sort-sites';
+} from '@studio/common/lib/fs-utils';
+import { DEFAULT_LOCALE } from '@studio/common/lib/locale';
+import { isOnline } from '@studio/common/lib/network-utils';
+import { createPassword } from '@studio/common/lib/passwords';
+import { portFinder } from '@studio/common/lib/port-finder';
+import {
+ hasDefaultDbBlock,
+ removeDbConstants,
+} from '@studio/common/lib/remove-default-db-constants';
+import { SITE_EVENTS } from '@studio/common/lib/site-events';
+import { sortSites } from '@studio/common/lib/sort-sites';
import {
isValidWordPressVersion,
isWordPressVersionAtLeast,
-} from 'common/lib/wordpress-version-utils';
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
-import { hasDefaultDbBlock, removeDbConstants } from 'src/migrations/remove-default-db-constants';
+} from '@studio/common/lib/wordpress-version-utils';
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
+import { __, sprintf } from '@wordpress/i18n';
+import { Blueprint, StepDefinition } from '@wp-playground/blueprints';
import {
lockAppdata,
readAppdata,
diff --git a/cli/commands/site/delete.ts b/apps/cli/commands/site/delete.ts
similarity index 95%
rename from cli/commands/site/delete.ts
rename to apps/cli/commands/site/delete.ts
index 1aadca62ec..0849ef1928 100644
--- a/cli/commands/site/delete.ts
+++ b/apps/cli/commands/site/delete.ts
@@ -1,7 +1,7 @@
+import { arePathsEqual } from '@studio/common/lib/fs-utils';
+import { SITE_EVENTS } from '@studio/common/lib/site-events';
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __, _n, sprintf } from '@wordpress/i18n';
-import { arePathsEqual } from 'common/lib/fs-utils';
-import { SITE_EVENTS } from 'common/lib/site-events';
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { deleteSnapshot } from 'cli/lib/api';
import {
getSiteByFolder,
diff --git a/cli/commands/site/list.ts b/apps/cli/commands/site/list.ts
similarity index 97%
rename from cli/commands/site/list.ts
rename to apps/cli/commands/site/list.ts
index bc2facccdc..e343ad3f81 100644
--- a/cli/commands/site/list.ts
+++ b/apps/cli/commands/site/list.ts
@@ -1,6 +1,6 @@
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __, _n, sprintf } from '@wordpress/i18n';
import Table from 'cli-table3';
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { getSiteUrl, readAppdata, type SiteData } from 'cli/lib/appdata';
import { connect, disconnect } from 'cli/lib/pm2-manager';
import { isSiteRunning } from 'cli/lib/site-utils';
diff --git a/cli/commands/site/set.ts b/apps/cli/commands/site/set.ts
similarity index 95%
rename from cli/commands/site/set.ts
rename to apps/cli/commands/site/set.ts
index 79fcd1a24d..f466f683e1 100644
--- a/cli/commands/site/set.ts
+++ b/apps/cli/commands/site/set.ts
@@ -1,16 +1,16 @@
import { SupportedPHPVersions } from '@php-wasm/universal';
-import { __, sprintf } from '@wordpress/i18n';
-import { DEFAULT_WORDPRESS_VERSION, MINIMUM_WORDPRESS_VERSION } from 'common/constants';
-import { getDomainNameValidationError } from 'common/lib/domains';
-import { arePathsEqual } from 'common/lib/fs-utils';
-import { SITE_EVENTS } from 'common/lib/site-events';
-import { siteNeedsRestart } from 'common/lib/site-needs-restart';
+import { DEFAULT_WORDPRESS_VERSION, MINIMUM_WORDPRESS_VERSION } from '@studio/common/constants';
+import { getDomainNameValidationError } from '@studio/common/lib/domains';
+import { arePathsEqual } from '@studio/common/lib/fs-utils';
+import { SITE_EVENTS } from '@studio/common/lib/site-events';
+import { siteNeedsRestart } from '@studio/common/lib/site-needs-restart';
import {
getWordPressVersionUrl,
isValidWordPressVersion,
isWordPressVersionAtLeast,
-} from 'common/lib/wordpress-version-utils';
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
+} from '@studio/common/lib/wordpress-version-utils';
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
+import { __, sprintf } from '@wordpress/i18n';
import {
getSiteByFolder,
lockAppdata,
diff --git a/cli/commands/site/start.ts b/apps/cli/commands/site/start.ts
similarity index 97%
rename from cli/commands/site/start.ts
rename to apps/cli/commands/site/start.ts
index bdc785b0b4..ac7e114cd0 100644
--- a/cli/commands/site/start.ts
+++ b/apps/cli/commands/site/start.ts
@@ -1,5 +1,5 @@
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __ } from '@wordpress/i18n';
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { getSiteByFolder, updateSiteAutoStart, updateSiteLatestCliPid } from 'cli/lib/appdata';
import { connect, disconnect } from 'cli/lib/pm2-manager';
import { logSiteDetails, openSiteInBrowser, setupCustomDomain } from 'cli/lib/site-utils';
diff --git a/cli/commands/site/status.ts b/apps/cli/commands/site/status.ts
similarity index 94%
rename from cli/commands/site/status.ts
rename to apps/cli/commands/site/status.ts
index 739ae65629..0711e1671c 100644
--- a/cli/commands/site/status.ts
+++ b/apps/cli/commands/site/status.ts
@@ -1,8 +1,8 @@
+import { getWordPressVersion } from '@studio/common/lib/get-wordpress-version';
+import { decodePassword } from '@studio/common/lib/passwords';
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __, _n } from '@wordpress/i18n';
import CliTable3 from 'cli-table3';
-import { getWordPressVersion } from 'common/lib/get-wordpress-version';
-import { decodePassword } from 'common/lib/passwords';
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { getSiteByFolder, getSiteUrl } from 'cli/lib/appdata';
import { connect, disconnect } from 'cli/lib/pm2-manager';
import { getPrettyPath } from 'cli/lib/utils';
diff --git a/cli/commands/site/stop.ts b/apps/cli/commands/site/stop.ts
similarity index 97%
rename from cli/commands/site/stop.ts
rename to apps/cli/commands/site/stop.ts
index 106e6b2ae4..dcab8a32be 100644
--- a/cli/commands/site/stop.ts
+++ b/apps/cli/commands/site/stop.ts
@@ -1,5 +1,5 @@
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __, _n, sprintf } from '@wordpress/i18n';
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import {
clearSiteLatestCliPid,
getSiteByFolder,
diff --git a/cli/commands/site/tests/create.test.ts b/apps/cli/commands/site/tests/create.test.ts
similarity index 98%
rename from cli/commands/site/tests/create.test.ts
rename to apps/cli/commands/site/tests/create.test.ts
index 870468aaba..0227c9527e 100644
--- a/cli/commands/site/tests/create.test.ts
+++ b/apps/cli/commands/site/tests/create.test.ts
@@ -1,19 +1,19 @@
import fs from 'fs';
-import { Blueprint, StepDefinition } from '@wp-playground/blueprints';
import {
filterUnsupportedBlueprintFeatures,
validateBlueprintData,
-} from 'common/lib/blueprint-validation';
+} from '@studio/common/lib/blueprint-validation';
import {
isEmptyDir,
isWordPressDirectory,
pathExists,
arePathsEqual,
recursiveCopyDirectory,
-} from 'common/lib/fs-utils';
-import { isOnline } from 'common/lib/network-utils';
-import { portFinder } from 'common/lib/port-finder';
-import { normalizeLineEndings } from 'src/migrations/remove-default-db-constants';
+} from '@studio/common/lib/fs-utils';
+import { isOnline } from '@studio/common/lib/network-utils';
+import { portFinder } from '@studio/common/lib/port-finder';
+import { normalizeLineEndings } from '@studio/common/lib/remove-default-db-constants';
+import { Blueprint, StepDefinition } from '@wp-playground/blueprints';
import { vi, type MockInstance } from 'vitest';
import {
lockAppdata,
@@ -33,18 +33,18 @@ import { runBlueprint, startWordPressServer } from 'cli/lib/wordpress-server-man
import { Logger } from 'cli/logger';
import { runCommand } from '../create';
-vi.mock( 'common/lib/fs-utils' );
-vi.mock( 'common/lib/network-utils' );
-vi.mock( 'common/lib/port-finder', () => ( {
+vi.mock( '@studio/common/lib/fs-utils' );
+vi.mock( '@studio/common/lib/network-utils' );
+vi.mock( '@studio/common/lib/port-finder', () => ( {
portFinder: {
addUnavailablePort: vi.fn(),
getOpenPort: vi.fn(),
},
} ) );
-vi.mock( 'common/lib/passwords', () => ( {
+vi.mock( '@studio/common/lib/passwords', () => ( {
createPassword: vi.fn().mockReturnValue( 'generated-password-123' ),
} ) );
-vi.mock( 'common/lib/blueprint-validation' );
+vi.mock( '@studio/common/lib/blueprint-validation' );
vi.mock( 'cli/lib/appdata', async () => {
const actual = await vi.importActual( 'cli/lib/appdata' );
return {
diff --git a/cli/commands/site/tests/delete.test.ts b/apps/cli/commands/site/tests/delete.test.ts
similarity index 99%
rename from cli/commands/site/tests/delete.test.ts
rename to apps/cli/commands/site/tests/delete.test.ts
index f6a60ffa8c..d49d0cbbdb 100644
--- a/cli/commands/site/tests/delete.test.ts
+++ b/apps/cli/commands/site/tests/delete.test.ts
@@ -1,4 +1,4 @@
-import { arePathsEqual } from 'common/lib/fs-utils';
+import { arePathsEqual } from '@studio/common/lib/fs-utils';
import trash from 'trash';
import { vi } from 'vitest';
import { deleteSnapshot } from 'cli/lib/api';
@@ -39,7 +39,7 @@ vi.mock( 'cli/lib/pm2-manager' );
vi.mock( 'cli/lib/site-utils' );
vi.mock( 'cli/lib/snapshots' );
vi.mock( 'cli/lib/wordpress-server-manager' );
-vi.mock( 'common/lib/fs-utils' );
+vi.mock( '@studio/common/lib/fs-utils' );
vi.mock( 'trash' );
describe( 'CLI: studio site delete', () => {
diff --git a/cli/commands/site/tests/list.test.ts b/apps/cli/commands/site/tests/list.test.ts
similarity index 100%
rename from cli/commands/site/tests/list.test.ts
rename to apps/cli/commands/site/tests/list.test.ts
diff --git a/cli/commands/site/tests/set.test.ts b/apps/cli/commands/site/tests/set.test.ts
similarity index 98%
rename from cli/commands/site/tests/set.test.ts
rename to apps/cli/commands/site/tests/set.test.ts
index c764c87f33..7cabcf1701 100644
--- a/cli/commands/site/tests/set.test.ts
+++ b/apps/cli/commands/site/tests/set.test.ts
@@ -1,6 +1,6 @@
import { StreamedPHPResponse } from '@php-wasm/universal';
-import { getDomainNameValidationError } from 'common/lib/domains';
-import { arePathsEqual } from 'common/lib/fs-utils';
+import { getDomainNameValidationError } from '@studio/common/lib/domains';
+import { arePathsEqual } from '@studio/common/lib/fs-utils';
import { vi } from 'vitest';
import {
getSiteByFolder,
@@ -20,9 +20,9 @@ import {
} from 'cli/lib/wordpress-server-manager';
import { runCommand } from '../set';
-vi.mock( 'common/lib/domains' );
-vi.mock( 'common/lib/fs-utils', async () => {
- const actual = await vi.importActual( 'common/lib/fs-utils' );
+vi.mock( '@studio/common/lib/domains' );
+vi.mock( '@studio/common/lib/fs-utils', async () => {
+ const actual = await vi.importActual( '@studio/common/lib/fs-utils' );
return {
...actual,
arePathsEqual: vi.fn(),
diff --git a/cli/commands/site/tests/start.test.ts b/apps/cli/commands/site/tests/start.test.ts
similarity index 100%
rename from cli/commands/site/tests/start.test.ts
rename to apps/cli/commands/site/tests/start.test.ts
diff --git a/cli/commands/site/tests/status.test.ts b/apps/cli/commands/site/tests/status.test.ts
similarity index 97%
rename from cli/commands/site/tests/status.test.ts
rename to apps/cli/commands/site/tests/status.test.ts
index 3076bf1201..f736001675 100644
--- a/cli/commands/site/tests/status.test.ts
+++ b/apps/cli/commands/site/tests/status.test.ts
@@ -1,4 +1,4 @@
-import { getWordPressVersion } from 'common/lib/get-wordpress-version';
+import { getWordPressVersion } from '@studio/common/lib/get-wordpress-version';
import { vi } from 'vitest';
import { getSiteByFolder, getSiteUrl } from 'cli/lib/appdata';
import { connect, disconnect } from 'cli/lib/pm2-manager';
@@ -15,7 +15,7 @@ vi.mock( 'cli/lib/appdata', async () => {
} );
vi.mock( 'cli/lib/pm2-manager' );
vi.mock( 'cli/lib/wordpress-server-manager' );
-vi.mock( 'common/lib/get-wordpress-version' );
+vi.mock( '@studio/common/lib/get-wordpress-version' );
describe( 'CLI: studio site status', () => {
// Simple test data
diff --git a/cli/commands/site/tests/stop.test.ts b/apps/cli/commands/site/tests/stop.test.ts
similarity index 100%
rename from cli/commands/site/tests/stop.test.ts
rename to apps/cli/commands/site/tests/stop.test.ts
diff --git a/cli/commands/wp.ts b/apps/cli/commands/wp.ts
similarity index 100%
rename from cli/commands/wp.ts
rename to apps/cli/commands/wp.ts
diff --git a/cli/index.ts b/apps/cli/index.ts
similarity index 93%
rename from cli/index.ts
rename to apps/cli/index.ts
index 97b7ea4a71..25b5994256 100644
--- a/cli/index.ts
+++ b/apps/cli/index.ts
@@ -1,8 +1,12 @@
import path from 'node:path';
+import {
+ bumpAggregatedUniqueStat,
+ AppdataProvider,
+ LastBumpStatsData,
+} from '@studio/common/lib/bump-stat';
+import { suppressPunycodeWarning } from '@studio/common/lib/suppress-punycode-warning';
+import { StatsGroup, StatsMetric } from '@studio/common/types/stats';
import { __ } from '@wordpress/i18n';
-import { bumpAggregatedUniqueStat, AppdataProvider, LastBumpStatsData } from 'common/lib/bump-stat';
-import { suppressPunycodeWarning } from 'common/lib/suppress-punycode-warning';
-import { StatsGroup, StatsMetric } from 'common/types/stats';
import yargs from 'yargs';
import { commandHandler as eventsCommandHandler } from 'cli/commands/_events';
import { registerCommand as registerAuthLoginCommand } from 'cli/commands/auth/login';
@@ -24,7 +28,7 @@ import { readAppdata, lockAppdata, unlockAppdata, saveAppdata } from 'cli/lib/ap
import { loadTranslations } from 'cli/lib/i18n';
import { untildify } from 'cli/lib/utils';
import { StudioArgv } from 'cli/types';
-import { version } from '../package.json';
+const version = __STUDIO_CLI_VERSION__;
suppressPunycodeWarning();
@@ -34,7 +38,7 @@ const cliAppdataProvider: AppdataProvider< LastBumpStatsData > = {
unlock: unlockAppdata,
save: async ( data ) => {
// Cast is safe: data comes from readAppdata() which returns the full UserData type.
- // The lock/unlock is already handled by the caller (updateLastBump in common/lib/bump-stat.ts)
+ // The lock/unlock is already handled by the caller (updateLastBump in /common/lib/bump-stat.ts)
// eslint-disable-next-line studio/require-lock-before-save
await saveAppdata( data as never );
},
diff --git a/cli/lib/api.ts b/apps/cli/lib/api.ts
similarity index 97%
rename from cli/lib/api.ts
rename to apps/cli/lib/api.ts
index 403db832cf..8ff4357d94 100644
--- a/cli/lib/api.ts
+++ b/apps/cli/lib/api.ts
@@ -1,7 +1,7 @@
import fs from 'fs';
+import wpcomFactory from '@studio/common/lib/wpcom-factory';
+import wpcomXhrRequest from '@studio/common/lib/wpcom-xhr-request-factory';
import { __ } from '@wordpress/i18n';
-import wpcomFactory from 'src/lib/wpcom-factory';
-import wpcomXhrRequest from 'src/lib/wpcom-xhr-request-factory';
import { z } from 'zod';
import { LoggerError } from 'cli/logger';
diff --git a/cli/lib/appdata.ts b/apps/cli/lib/appdata.ts
similarity index 93%
rename from cli/lib/appdata.ts
rename to apps/cli/lib/appdata.ts
index d96a472464..a2599f305c 100644
--- a/cli/lib/appdata.ts
+++ b/apps/cli/lib/appdata.ts
@@ -1,15 +1,15 @@
import fs from 'fs';
import os from 'os';
import path from 'path';
+import { LOCKFILE_NAME, LOCKFILE_STALE_TIME, LOCKFILE_WAIT_TIME } from '@studio/common/constants';
+import { arePathsEqual, isWordPressDirectory } from '@studio/common/lib/fs-utils';
+import { lockFileAsync, unlockFileAsync } from '@studio/common/lib/lockfile';
+import { getAuthenticationUrl } from '@studio/common/lib/oauth';
+import { siteDetailsSchema } from '@studio/common/lib/site-events';
+import { snapshotSchema } from '@studio/common/types/snapshot';
+import { StatsMetric } from '@studio/common/types/stats';
import { __, sprintf } from '@wordpress/i18n';
import { readFile, writeFile } from 'atomically';
-import { LOCKFILE_NAME, LOCKFILE_STALE_TIME, LOCKFILE_WAIT_TIME } from 'common/constants';
-import { arePathsEqual, isWordPressDirectory } from 'common/lib/fs-utils';
-import { lockFileAsync, unlockFileAsync } from 'common/lib/lockfile';
-import { getAuthenticationUrl } from 'common/lib/oauth';
-import { siteDetailsSchema } from 'common/lib/site-events';
-import { snapshotSchema } from 'common/types/snapshot';
-import { StatsMetric } from 'common/types/stats';
import { z } from 'zod';
import { validateAccessToken } from 'cli/lib/api';
import { LoggerError } from 'cli/logger';
diff --git a/cli/lib/archive.ts b/apps/cli/lib/archive.ts
similarity index 100%
rename from cli/lib/archive.ts
rename to apps/cli/lib/archive.ts
diff --git a/cli/lib/browser.ts b/apps/cli/lib/browser.ts
similarity index 100%
rename from cli/lib/browser.ts
rename to apps/cli/lib/browser.ts
diff --git a/cli/lib/certificate-manager.ts b/apps/cli/lib/certificate-manager.ts
similarity index 100%
rename from cli/lib/certificate-manager.ts
rename to apps/cli/lib/certificate-manager.ts
diff --git a/cli/lib/cli-args-sanitizer.ts b/apps/cli/lib/cli-args-sanitizer.ts
similarity index 100%
rename from cli/lib/cli-args-sanitizer.ts
rename to apps/cli/lib/cli-args-sanitizer.ts
diff --git a/cli/lib/hosts-file.ts b/apps/cli/lib/hosts-file.ts
similarity index 99%
rename from cli/lib/hosts-file.ts
rename to apps/cli/lib/hosts-file.ts
index 233a0ee4de..ebc9e68ceb 100644
--- a/cli/lib/hosts-file.ts
+++ b/apps/cli/lib/hosts-file.ts
@@ -3,7 +3,7 @@ import { domainToASCII } from 'node:url';
import { platform, tmpdir } from 'os';
import path from 'path';
import { promisify } from 'util';
-import { escapeRegex } from 'common/lib/escape-regex';
+import { escapeRegex } from '@studio/common/lib/escape-regex';
import { sudoExec } from 'cli/lib/sudo-exec';
const readFile = promisify( fs.readFile );
diff --git a/cli/lib/i18n.ts b/apps/cli/lib/i18n.ts
similarity index 97%
rename from cli/lib/i18n.ts
rename to apps/cli/lib/i18n.ts
index e06896288a..225d8c40aa 100644
--- a/cli/lib/i18n.ts
+++ b/apps/cli/lib/i18n.ts
@@ -1,10 +1,10 @@
-import { defaultI18n } from '@wordpress/i18n';
import {
SupportedLocale,
getLocaleData,
DEFAULT_LOCALE,
isSupportedLocale,
-} from 'common/lib/locale';
+} from '@studio/common/lib/locale';
+import { defaultI18n } from '@wordpress/i18n';
import { readAppdata } from 'cli/lib/appdata';
async function getLocaleFromAppdata(): Promise< SupportedLocale | undefined > {
diff --git a/cli/lib/pm2-manager.ts b/apps/cli/lib/pm2-manager.ts
similarity index 97%
rename from cli/lib/pm2-manager.ts
rename to apps/cli/lib/pm2-manager.ts
index 4e7a8d2b2e..b369003414 100644
--- a/cli/lib/pm2-manager.ts
+++ b/apps/cli/lib/pm2-manager.ts
@@ -1,10 +1,10 @@
import fs from 'fs';
import os from 'os';
import path from 'path';
-import { LOCKFILE_STALE_TIME, LOCKFILE_WAIT_TIME } from 'common/constants';
-import { cacheFunctionTTL } from 'common/lib/cache-function-ttl';
-import { lockFileAsync, unlockFileAsync } from 'common/lib/lockfile';
-import { SITE_EVENTS } from 'common/lib/site-events';
+import { LOCKFILE_STALE_TIME, LOCKFILE_WAIT_TIME } from '@studio/common/constants';
+import { cacheFunctionTTL } from '@studio/common/lib/cache-function-ttl';
+import { lockFileAsync, unlockFileAsync } from '@studio/common/lib/lockfile';
+import { SITE_EVENTS } from '@studio/common/lib/site-events';
import { custom as PM2, StartOptions } from 'pm2';
import axon from 'pm2-axon';
import { getAppdataPath } from 'cli/lib/appdata';
diff --git a/cli/lib/proxy-server.ts b/apps/cli/lib/proxy-server.ts
similarity index 100%
rename from cli/lib/proxy-server.ts
rename to apps/cli/lib/proxy-server.ts
diff --git a/cli/lib/run-wp-cli-command.ts b/apps/cli/lib/run-wp-cli-command.ts
similarity index 96%
rename from cli/lib/run-wp-cli-command.ts
rename to apps/cli/lib/run-wp-cli-command.ts
index cf2f09d54b..8ccd7bd8de 100644
--- a/cli/lib/run-wp-cli-command.ts
+++ b/apps/cli/lib/run-wp-cli-command.ts
@@ -7,10 +7,10 @@ import {
setPhpIniEntries,
} from '@php-wasm/universal';
import { createSpawnHandler } from '@php-wasm/util';
+import { getMuPlugins } from '@studio/common/lib/mu-plugins';
+import { LatestSupportedPHPVersion } from '@studio/common/types/php-versions';
import { __ } from '@wordpress/i18n';
import { setupPlatformLevelMuPlugins } from '@wp-playground/wordpress';
-import { getMuPlugins } from 'common/lib/mu-plugins';
-import { LatestSupportedPHPVersion } from 'common/types/php-versions';
import { getSqliteCommandPath, getWpCliPharPath } from 'cli/lib/server-files';
const PLAYGROUND_INTERNAL_SHARED_FOLDER = '/internal/shared';
diff --git a/cli/lib/server-files.ts b/apps/cli/lib/server-files.ts
similarity index 100%
rename from cli/lib/server-files.ts
rename to apps/cli/lib/server-files.ts
diff --git a/cli/lib/site-language.ts b/apps/cli/lib/site-language.ts
similarity index 98%
rename from cli/lib/site-language.ts
rename to apps/cli/lib/site-language.ts
index 72717e27e9..add7b591f7 100644
--- a/cli/lib/site-language.ts
+++ b/apps/cli/lib/site-language.ts
@@ -2,7 +2,7 @@ import fs from 'fs';
import path from 'path';
import { Locale } from '@formatjs/intl-locale';
import { match } from '@formatjs/intl-localematcher';
-import { DEFAULT_LOCALE } from 'common/lib/locale';
+import { DEFAULT_LOCALE } from '@studio/common/lib/locale';
import { getAppLocale } from 'cli/lib/i18n';
import { getServerFilesPath } from 'cli/lib/server-files';
diff --git a/cli/lib/site-utils.ts b/apps/cli/lib/site-utils.ts
similarity index 96%
rename from cli/lib/site-utils.ts
rename to apps/cli/lib/site-utils.ts
index 6991d396ac..a6fcd8e42c 100644
--- a/cli/lib/site-utils.ts
+++ b/apps/cli/lib/site-utils.ts
@@ -1,6 +1,6 @@
+import { decodePassword } from '@studio/common/lib/passwords';
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { __ } from '@wordpress/i18n';
-import { decodePassword } from 'common/lib/passwords';
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
import { getSiteUrl, readAppdata, SiteData } from 'cli/lib/appdata';
import { openBrowser } from 'cli/lib/browser';
import { generateSiteCertificate } from 'cli/lib/certificate-manager';
diff --git a/cli/lib/snapshots.ts b/apps/cli/lib/snapshots.ts
similarity index 96%
rename from cli/lib/snapshots.ts
rename to apps/cli/lib/snapshots.ts
index 374e29646d..9205ab9b08 100644
--- a/cli/lib/snapshots.ts
+++ b/apps/cli/lib/snapshots.ts
@@ -1,6 +1,6 @@
+import { HOUR_MS, DAY_MS, DEMO_SITE_EXPIRATION_DAYS } from '@studio/common/constants';
+import { Snapshot } from '@studio/common/types/snapshot';
import { __, sprintf } from '@wordpress/i18n';
-import { HOUR_MS, DAY_MS, DEMO_SITE_EXPIRATION_DAYS } from 'common/constants';
-import { Snapshot } from 'common/types/snapshot';
import { addDays, addHours, DurationUnit, formatDuration, intervalToDuration } from 'date-fns';
import {
getAuthToken,
diff --git a/cli/lib/sqlite-integration.ts b/apps/cli/lib/sqlite-integration.ts
similarity index 79%
rename from cli/lib/sqlite-integration.ts
rename to apps/cli/lib/sqlite-integration.ts
index 1c69aa248e..2fc32ba61b 100644
--- a/cli/lib/sqlite-integration.ts
+++ b/apps/cli/lib/sqlite-integration.ts
@@ -1,4 +1,4 @@
-import { SqliteIntegrationProvider } from 'common/lib/sqlite-integration';
+import { SqliteIntegrationProvider } from '@studio/common/lib/sqlite-integration';
import { getServerFilesPath } from 'cli/lib/server-files';
const SQLITE_FILENAME = 'sqlite-database-integration';
@@ -30,3 +30,7 @@ export async function installSqliteIntegration( sitePath: string ) {
export async function keepSqliteIntegrationUpdated( sitePath: string ) {
return provider.keepSqliteIntegrationUpdated( sitePath );
}
+
+export async function isSqliteIntegrationInstalled( sitePath: string ) {
+ return provider.isSqliteInstalled( sitePath );
+}
diff --git a/cli/lib/sudo-exec.ts b/apps/cli/lib/sudo-exec.ts
similarity index 100%
rename from cli/lib/sudo-exec.ts
rename to apps/cli/lib/sudo-exec.ts
diff --git a/cli/lib/tests/api.test.ts b/apps/cli/lib/tests/api.test.ts
similarity index 98%
rename from cli/lib/tests/api.test.ts
rename to apps/cli/lib/tests/api.test.ts
index ad3cc26c55..3f3c1b2565 100644
--- a/cli/lib/tests/api.test.ts
+++ b/apps/cli/lib/tests/api.test.ts
@@ -1,13 +1,13 @@
import fs from 'fs';
+import wpcomFactory from '@studio/common/lib/wpcom-factory';
import { createMock } from 'src/lib/test-utils';
-import wpcomFactory from 'src/lib/wpcom-factory';
import { vi } from 'vitest';
import { uploadArchive, waitForSiteReady, SnapshotStatus } from 'cli/lib/api';
import { LoggerError } from 'cli/logger';
vi.mock( 'fs' );
vi.mock( 'wpcom' );
vi.mock( 'wpcom-xhr-request' );
-vi.mock( 'src/lib/wpcom-factory', () => ( {
+vi.mock( '@studio/common/lib/wpcom-factory', () => ( {
__esModule: true,
default: vi.fn(),
} ) );
diff --git a/cli/lib/tests/appdata.test.ts b/apps/cli/lib/tests/appdata.test.ts
similarity index 97%
rename from cli/lib/tests/appdata.test.ts
rename to apps/cli/lib/tests/appdata.test.ts
index 6a5d9f058a..ff43ecc878 100644
--- a/cli/lib/tests/appdata.test.ts
+++ b/apps/cli/lib/tests/appdata.test.ts
@@ -1,9 +1,9 @@
import fs from 'fs';
import os from 'os';
import path from 'path';
+import { arePathsEqual } from '@studio/common/lib/fs-utils';
+import { StatsMetric } from '@studio/common/types/stats';
import { readFile, writeFile } from 'atomically';
-import { arePathsEqual } from 'common/lib/fs-utils';
-import { StatsMetric } from 'common/types/stats';
import { vi } from 'vitest';
import {
readAppdata,
@@ -21,7 +21,7 @@ vi.mock( 'atomically', () => ( {
writeFile: vi.fn(),
} ) );
-vi.mock( 'common/lib/fs-utils' );
+vi.mock( '@studio/common/lib/fs-utils' );
vi.mock( 'cli/lib/api', () => ( {
validateAccessToken: vi.fn().mockResolvedValue( undefined ),
} ) );
diff --git a/cli/lib/tests/archive.test.ts b/apps/cli/lib/tests/archive.test.ts
similarity index 100%
rename from cli/lib/tests/archive.test.ts
rename to apps/cli/lib/tests/archive.test.ts
diff --git a/cli/lib/tests/pm2-manager.test.ts b/apps/cli/lib/tests/pm2-manager.test.ts
similarity index 99%
rename from cli/lib/tests/pm2-manager.test.ts
rename to apps/cli/lib/tests/pm2-manager.test.ts
index 73352dfcb1..9d714ffa58 100644
--- a/cli/lib/tests/pm2-manager.test.ts
+++ b/apps/cli/lib/tests/pm2-manager.test.ts
@@ -1,5 +1,5 @@
import os from 'os';
-import { clearCache } from 'common/lib/cache-function-ttl';
+import { clearCache } from '@studio/common/lib/cache-function-ttl';
import { vi } from 'vitest';
import { getAppdataPath } from 'cli/lib/appdata';
import { ManagerMessage } from '../types/wordpress-server-ipc';
diff --git a/cli/lib/tests/site-utils.test.ts b/apps/cli/lib/tests/site-utils.test.ts
similarity index 98%
rename from cli/lib/tests/site-utils.test.ts
rename to apps/cli/lib/tests/site-utils.test.ts
index 47ec3c3885..2cfee4dca3 100644
--- a/cli/lib/tests/site-utils.test.ts
+++ b/apps/cli/lib/tests/site-utils.test.ts
@@ -1,4 +1,4 @@
-import { SiteCommandLoggerAction as LoggerAction } from 'common/logger-actions';
+import { SiteCommandLoggerAction as LoggerAction } from '@studio/common/logger-actions';
import { vi, type Mock } from 'vitest';
import { SiteData, readAppdata } from 'cli/lib/appdata';
import { isProxyProcessRunning, stopProxyProcess } from 'cli/lib/pm2-manager';
diff --git a/cli/lib/tests/snapshots.test.ts b/apps/cli/lib/tests/snapshots.test.ts
similarity index 99%
rename from cli/lib/tests/snapshots.test.ts
rename to apps/cli/lib/tests/snapshots.test.ts
index 4e82b6dfd2..8328870548 100644
--- a/cli/lib/tests/snapshots.test.ts
+++ b/apps/cli/lib/tests/snapshots.test.ts
@@ -42,7 +42,7 @@ vi.mock( 'lockfile', () => ( {
lock: mocks.lockfileLock,
unlock: mocks.lockfileUnlock,
} ) );
-vi.mock( 'common/lib/fs-utils', () => ( {
+vi.mock( '@studio/common/lib/fs-utils', () => ( {
arePathsEqual: mocks.arePathsEqual,
isWordPressDirectory: mocks.isWordPressDirectory,
} ) );
diff --git a/cli/lib/tests/utils.test.ts b/apps/cli/lib/tests/utils.test.ts
similarity index 100%
rename from cli/lib/tests/utils.test.ts
rename to apps/cli/lib/tests/utils.test.ts
diff --git a/cli/lib/tests/validation.test.ts b/apps/cli/lib/tests/validation.test.ts
similarity index 92%
rename from cli/lib/tests/validation.test.ts
rename to apps/cli/lib/tests/validation.test.ts
index 259379275b..49004a3766 100644
--- a/cli/lib/tests/validation.test.ts
+++ b/apps/cli/lib/tests/validation.test.ts
@@ -1,12 +1,12 @@
import fs from 'fs';
import path from 'path';
-import { calculateDirectorySize, isWordPressDirectory } from 'common/lib/fs-utils';
+import { calculateDirectorySize, isWordPressDirectory } from '@studio/common/lib/fs-utils';
import { vi } from 'vitest';
import { validateSiteSize } from 'cli/lib/validation';
import { LoggerError } from 'cli/logger';
vi.mock( 'fs' );
vi.mock( 'path' );
-vi.mock( 'common/lib/fs-utils', () => ( {
+vi.mock( '@studio/common/lib/fs-utils', () => ( {
calculateDirectorySize: vi.fn(),
isWordPressDirectory: vi.fn(),
} ) );
diff --git a/cli/lib/tests/wordpress-server-manager.test.ts b/apps/cli/lib/tests/wordpress-server-manager.test.ts
similarity index 100%
rename from cli/lib/tests/wordpress-server-manager.test.ts
rename to apps/cli/lib/tests/wordpress-server-manager.test.ts
diff --git a/cli/lib/types/pm2.ts b/apps/cli/lib/types/pm2.ts
similarity index 100%
rename from cli/lib/types/pm2.ts
rename to apps/cli/lib/types/pm2.ts
diff --git a/cli/lib/types/wordpress-server-ipc.ts b/apps/cli/lib/types/wordpress-server-ipc.ts
similarity index 100%
rename from cli/lib/types/wordpress-server-ipc.ts
rename to apps/cli/lib/types/wordpress-server-ipc.ts
diff --git a/cli/lib/utils.ts b/apps/cli/lib/utils.ts
similarity index 100%
rename from cli/lib/utils.ts
rename to apps/cli/lib/utils.ts
diff --git a/cli/lib/validation-error.ts b/apps/cli/lib/validation-error.ts
similarity index 100%
rename from cli/lib/validation-error.ts
rename to apps/cli/lib/validation-error.ts
diff --git a/cli/lib/validation.ts b/apps/cli/lib/validation.ts
similarity index 87%
rename from cli/lib/validation.ts
rename to apps/cli/lib/validation.ts
index fdd8d89ec1..61f28f7cf2 100644
--- a/cli/lib/validation.ts
+++ b/apps/cli/lib/validation.ts
@@ -1,7 +1,7 @@
import path from 'path';
+import { DEMO_SITE_SIZE_LIMIT_BYTES, DEMO_SITE_SIZE_LIMIT_GB } from '@studio/common/constants';
+import { calculateDirectorySize } from '@studio/common/lib/fs-utils';
import { __, sprintf } from '@wordpress/i18n';
-import { DEMO_SITE_SIZE_LIMIT_BYTES, DEMO_SITE_SIZE_LIMIT_GB } from 'common/constants';
-import { calculateDirectorySize } from 'common/lib/fs-utils';
import { LoggerError } from 'cli/logger';
export async function validateSiteSize( siteFolder: string ): Promise< true > {
diff --git a/cli/lib/wordpress-server-manager.ts b/apps/cli/lib/wordpress-server-manager.ts
similarity index 99%
rename from cli/lib/wordpress-server-manager.ts
rename to apps/cli/lib/wordpress-server-manager.ts
index bbf89f1ce0..41c35097d0 100644
--- a/cli/lib/wordpress-server-manager.ts
+++ b/apps/cli/lib/wordpress-server-manager.ts
@@ -9,8 +9,8 @@ import {
PLAYGROUND_CLI_ACTIVITY_CHECK_INTERVAL,
PLAYGROUND_CLI_INACTIVITY_TIMEOUT,
PLAYGROUND_CLI_MAX_TIMEOUT,
-} from 'common/constants';
-import { SITE_EVENTS } from 'common/lib/site-events';
+} from '@studio/common/constants';
+import { SITE_EVENTS } from '@studio/common/lib/site-events';
import { z } from 'zod';
import { SiteData, readAppdata } from 'cli/lib/appdata';
import {
diff --git a/cli/logger.ts b/apps/cli/logger.ts
similarity index 100%
rename from cli/logger.ts
rename to apps/cli/logger.ts
diff --git a/apps/cli/package.json b/apps/cli/package.json
new file mode 100644
index 0000000000..9ff9997d82
--- /dev/null
+++ b/apps/cli/package.json
@@ -0,0 +1,41 @@
+{
+ "name": "studio-cli",
+ "author": "Automattic Inc.",
+ "private": true,
+ "productName": "Studio CLI",
+ "description": "WordPress Studio CLI",
+ "license": "GPL-2.0-or-later",
+ "main": "index.js",
+ "dependencies": {
+ "@php-wasm/universal": "3.0.46",
+ "@studio/common": "file:../../tools/common",
+ "@vscode/sudo-prompt": "^9.3.2",
+ "@wp-playground/blueprints": "3.0.46",
+ "@wp-playground/cli": "3.0.46",
+ "@wp-playground/common": "3.0.46",
+ "@wp-playground/storage": "3.0.46",
+ "cli-table3": "^0.6.5",
+ "http-proxy": "^1.18.1",
+ "node-forge": "^1.3.3",
+ "pm2": "^6.0.14",
+ "pm2-axon": "^4.0.1",
+ "trash": "^10.0.1",
+ "yargs": "^18.0.0",
+ "yargs-parser": "^22.0.0"
+ },
+ "scripts": {
+ "build": "vite build --config ./vite.config.ts",
+ "install:bundle": "npm install --omit=dev --no-package-lock --no-progress --install-links --no-workspaces && patch-package",
+ "package": "npm run install:bundle && npm run build",
+ "watch": "vite build --config ./vite.config.ts --watch"
+ },
+ "devDependencies": {
+ "@types/archiver": "^6.0.4",
+ "@types/http-proxy": "^1.17.17",
+ "@types/node-forge": "^1.3.14",
+ "@types/yargs": "^17.0.35",
+ "patch-package": "^8.0.1",
+ "vite": "^7.3.1",
+ "vite-plugin-static-copy": "^3.1.5"
+ }
+}
diff --git a/cli/patches/pm2+6.0.14.patch b/apps/cli/patches/pm2+6.0.14.patch
similarity index 100%
rename from cli/patches/pm2+6.0.14.patch
rename to apps/cli/patches/pm2+6.0.14.patch
diff --git a/cli/patches/pm2-axon+4.0.1.patch b/apps/cli/patches/pm2-axon+4.0.1.patch
similarity index 100%
rename from cli/patches/pm2-axon+4.0.1.patch
rename to apps/cli/patches/pm2-axon+4.0.1.patch
diff --git a/cli/patches/ps-man+1.1.8.patch b/apps/cli/patches/ps-man+1.1.8.patch
similarity index 100%
rename from cli/patches/ps-man+1.1.8.patch
rename to apps/cli/patches/ps-man+1.1.8.patch
diff --git a/cli/proxy-daemon.ts b/apps/cli/proxy-daemon.ts
similarity index 100%
rename from cli/proxy-daemon.ts
rename to apps/cli/proxy-daemon.ts
diff --git a/cli/tests/test-utils.ts b/apps/cli/tests/test-utils.ts
similarity index 100%
rename from cli/tests/test-utils.ts
rename to apps/cli/tests/test-utils.ts
diff --git a/apps/cli/tsconfig.json b/apps/cli/tsconfig.json
new file mode 100644
index 0000000000..992b90670d
--- /dev/null
+++ b/apps/cli/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "composite": true,
+ "baseUrl": "../..",
+ "paths": {
+ "*": [ "node_modules/*" ],
+ "cli/*": [ "apps/cli/*" ],
+ "src/*": [ "apps/studio/src/*" ],
+ "vendor/*": [ "vendor/*" ],
+ "@studio/common/*": [ "tools/common/*" ]
+ }
+ },
+ "include": [ "**/*" ],
+ "exclude": [ "**/__mocks__/**/*", "**/node_modules/**/*", "**/dist/**/*", "**/out/**/*" ],
+ "references": [ { "path": "../../tools/common" } ]
+}
diff --git a/cli/types.ts b/apps/cli/types.ts
similarity index 100%
rename from cli/types.ts
rename to apps/cli/types.ts
diff --git a/vite.cli.config.ts b/apps/cli/vite.config.ts
similarity index 56%
rename from vite.cli.config.ts
rename to apps/cli/vite.config.ts
index 03f1e66973..330afec297 100644
--- a/vite.cli.config.ts
+++ b/apps/cli/vite.config.ts
@@ -1,31 +1,31 @@
-import { resolve } from 'path';
-import { defineConfig } from 'vite';
+import { existsSync, readFileSync } from 'fs';
+import { dirname, join, resolve } from 'path';
+import { defineConfig, normalizePath } from 'vite';
import { viteStaticCopy } from 'vite-plugin-static-copy';
-import { existsSync } from 'fs';
-const yargsLocalesPath = resolve( __dirname, 'node_modules/yargs/locales' );
-const cliNodeModulesPath = resolve( __dirname, 'cli/node_modules' );
+const yargsPath = dirname( require.resolve( 'yargs' ) );
+const yargsLocalesPath = join( yargsPath, 'locales' );
+const cliNodeModulesPath = resolve( __dirname, 'node_modules' );
+const packageVersion = JSON.parse(
+ readFileSync( resolve( __dirname, '..', 'studio', 'package.json' ), 'utf-8' )
+).version;
export default defineConfig( {
plugins: [
- ...( existsSync( yargsLocalesPath )
- ? [
- viteStaticCopy( {
- targets: [
- {
- src: 'node_modules/yargs/locales/*',
- dest: '../locales',
- },
- ],
- } ),
- ]
- : [] ),
+ viteStaticCopy( {
+ targets: [
+ {
+ src: normalizePath( join( yargsLocalesPath, '*' ) ),
+ dest: '../locales',
+ },
+ ],
+ } ),
...( existsSync( cliNodeModulesPath )
? [
viteStaticCopy( {
targets: [
{
- src: 'cli/node_modules',
+ src: 'node_modules',
dest: '.',
},
],
@@ -36,9 +36,9 @@ export default defineConfig( {
build: {
lib: {
entry: {
- main: resolve( __dirname, 'cli/index.ts' ),
- 'proxy-daemon': resolve( __dirname, 'cli/proxy-daemon.ts' ),
- 'wordpress-server-child': resolve( __dirname, 'cli/wordpress-server-child.ts' ),
+ main: resolve( __dirname, 'index.ts' ),
+ 'proxy-daemon': resolve( __dirname, 'proxy-daemon.ts' ),
+ 'wordpress-server-child': resolve( __dirname, 'wordpress-server-child.ts' ),
},
name: 'StudioCLI',
formats: [ 'cjs' ],
@@ -77,16 +77,17 @@ export default defineConfig( {
},
resolve: {
alias: {
- cli: resolve( __dirname, 'cli' ),
- src: resolve( __dirname, 'src' ),
- vendor: resolve( __dirname, 'vendor' ),
- common: resolve( __dirname, 'common' ),
+ cli: resolve( __dirname, '.' ),
+ '@studio/common': resolve( __dirname, '../../tools/common' ),
'@wp-playground/blueprints/blueprint-schema-validator': resolve(
__dirname,
- 'node_modules/@wp-playground/blueprints/blueprint-schema-validator.js'
+ '../../node_modules/@wp-playground/blueprints/blueprint-schema-validator.js'
),
},
conditions: [ 'node' ],
mainFields: [ 'main' ],
},
+ define: {
+ __STUDIO_CLI_VERSION__: JSON.stringify( packageVersion ),
+ },
} );
diff --git a/cli/wordpress-server-child.ts b/apps/cli/wordpress-server-child.ts
similarity index 95%
rename from cli/wordpress-server-child.ts
rename to apps/cli/wordpress-server-child.ts
index a50c24f47c..554d518638 100644
--- a/cli/wordpress-server-child.ts
+++ b/apps/cli/wordpress-server-child.ts
@@ -12,6 +12,13 @@
*/
import { cpus } from 'os';
import { dirname } from 'path';
+import { DEFAULT_PHP_VERSION } from '@studio/common/constants';
+import { isWordPressDirectory } from '@studio/common/lib/fs-utils';
+import { getMuPlugins } from '@studio/common/lib/mu-plugins';
+import { decodePassword } from '@studio/common/lib/passwords';
+import { formatPlaygroundCliMessage } from '@studio/common/lib/playground-cli-messages';
+import { sequential } from '@studio/common/lib/sequential';
+import { isWordPressDevVersion } from '@studio/common/lib/wordpress-version-utils';
import { BlueprintBundle } from '@wp-playground/blueprints';
import { runCLI, RunCLIArgs, RunCLIServer, internalsKeyForTesting } from '@wp-playground/cli';
import {
@@ -21,17 +28,10 @@ import {
InMemoryFilesystem,
} from '@wp-playground/storage';
import { WordPressInstallMode } from '@wp-playground/wordpress';
-import { DEFAULT_PHP_VERSION } from 'common/constants';
-import { isWordPressDirectory } from 'common/lib/fs-utils';
-import { getMuPlugins } from 'common/lib/mu-plugins';
-import { decodePassword } from 'common/lib/passwords';
-import { formatPlaygroundCliMessage } from 'common/lib/playground-cli-messages';
-import { sequential } from 'common/lib/sequential';
-import { isWordPressDevVersion } from 'common/lib/wordpress-version-utils';
-import { isSqliteInstalled } from 'src/lib/sqlite-versions';
import { z } from 'zod';
import { sanitizeRunCLIArgs } from 'cli/lib/cli-args-sanitizer';
import { getSqliteCommandPath, getWpCliPharPath } from 'cli/lib/server-files';
+import { isSqliteIntegrationInstalled } from 'cli/lib/sqlite-integration';
import {
ServerConfig,
managerMessageSchema,
@@ -112,7 +112,7 @@ async function setAdminPassword( server: RunCLIServer, adminPassword: string ):
*/
async function getWordPressInstallMode( sitePath: string ): Promise< WordPressInstallMode > {
const hasWordPress = isWordPressDirectory( sitePath );
- const hasSqlite = await isSqliteInstalled( sitePath );
+ const hasSqlite = await isSqliteIntegrationInstalled( sitePath );
if ( ! hasWordPress ) {
return 'download-and-install';
diff --git a/assets/ai-icon.riv b/apps/studio/assets/ai-icon.riv
similarity index 100%
rename from assets/ai-icon.riv
rename to apps/studio/assets/ai-icon.riv
diff --git a/assets/appx/AppList.png b/apps/studio/assets/appx/AppList.png
similarity index 100%
rename from assets/appx/AppList.png
rename to apps/studio/assets/appx/AppList.png
diff --git a/assets/appx/AppList.scale-125.png b/apps/studio/assets/appx/AppList.scale-125.png
similarity index 100%
rename from assets/appx/AppList.scale-125.png
rename to apps/studio/assets/appx/AppList.scale-125.png
diff --git a/assets/appx/AppList.scale-150.png b/apps/studio/assets/appx/AppList.scale-150.png
similarity index 100%
rename from assets/appx/AppList.scale-150.png
rename to apps/studio/assets/appx/AppList.scale-150.png
diff --git a/assets/appx/AppList.scale-200.png b/apps/studio/assets/appx/AppList.scale-200.png
similarity index 100%
rename from assets/appx/AppList.scale-200.png
rename to apps/studio/assets/appx/AppList.scale-200.png
diff --git a/assets/appx/AppList.scale-400.png b/apps/studio/assets/appx/AppList.scale-400.png
similarity index 100%
rename from assets/appx/AppList.scale-400.png
rename to apps/studio/assets/appx/AppList.scale-400.png
diff --git a/assets/appx/AppList.targetsize-16.png b/apps/studio/assets/appx/AppList.targetsize-16.png
similarity index 100%
rename from assets/appx/AppList.targetsize-16.png
rename to apps/studio/assets/appx/AppList.targetsize-16.png
diff --git a/assets/appx/AppList.targetsize-16_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-16_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-16_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-16_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-16_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-16_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-16_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-16_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-20.png b/apps/studio/assets/appx/AppList.targetsize-20.png
similarity index 100%
rename from assets/appx/AppList.targetsize-20.png
rename to apps/studio/assets/appx/AppList.targetsize-20.png
diff --git a/assets/appx/AppList.targetsize-20_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-20_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-20_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-20_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-20_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-20_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-20_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-20_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-24.png b/apps/studio/assets/appx/AppList.targetsize-24.png
similarity index 100%
rename from assets/appx/AppList.targetsize-24.png
rename to apps/studio/assets/appx/AppList.targetsize-24.png
diff --git a/assets/appx/AppList.targetsize-24_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-24_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-24_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-24_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-24_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-24_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-24_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-24_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-256.png b/apps/studio/assets/appx/AppList.targetsize-256.png
similarity index 100%
rename from assets/appx/AppList.targetsize-256.png
rename to apps/studio/assets/appx/AppList.targetsize-256.png
diff --git a/assets/appx/AppList.targetsize-256_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-256_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-256_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-256_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-256_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-256_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-256_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-256_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-30.png b/apps/studio/assets/appx/AppList.targetsize-30.png
similarity index 100%
rename from assets/appx/AppList.targetsize-30.png
rename to apps/studio/assets/appx/AppList.targetsize-30.png
diff --git a/assets/appx/AppList.targetsize-30_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-30_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-30_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-30_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-30_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-30_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-30_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-30_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-32.png b/apps/studio/assets/appx/AppList.targetsize-32.png
similarity index 100%
rename from assets/appx/AppList.targetsize-32.png
rename to apps/studio/assets/appx/AppList.targetsize-32.png
diff --git a/assets/appx/AppList.targetsize-32_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-32_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-32_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-32_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-32_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-32_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-32_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-32_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-36.png b/apps/studio/assets/appx/AppList.targetsize-36.png
similarity index 100%
rename from assets/appx/AppList.targetsize-36.png
rename to apps/studio/assets/appx/AppList.targetsize-36.png
diff --git a/assets/appx/AppList.targetsize-36_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-36_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-36_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-36_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-36_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-36_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-36_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-36_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-40.png b/apps/studio/assets/appx/AppList.targetsize-40.png
similarity index 100%
rename from assets/appx/AppList.targetsize-40.png
rename to apps/studio/assets/appx/AppList.targetsize-40.png
diff --git a/assets/appx/AppList.targetsize-40_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-40_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-40_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-40_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-40_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-40_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-40_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-40_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-48.png b/apps/studio/assets/appx/AppList.targetsize-48.png
similarity index 100%
rename from assets/appx/AppList.targetsize-48.png
rename to apps/studio/assets/appx/AppList.targetsize-48.png
diff --git a/assets/appx/AppList.targetsize-48_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-48_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-48_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-48_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-48_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-48_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-48_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-48_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-60.png b/apps/studio/assets/appx/AppList.targetsize-60.png
similarity index 100%
rename from assets/appx/AppList.targetsize-60.png
rename to apps/studio/assets/appx/AppList.targetsize-60.png
diff --git a/assets/appx/AppList.targetsize-60_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-60_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-60_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-60_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-60_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-60_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-60_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-60_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-64.png b/apps/studio/assets/appx/AppList.targetsize-64.png
similarity index 100%
rename from assets/appx/AppList.targetsize-64.png
rename to apps/studio/assets/appx/AppList.targetsize-64.png
diff --git a/assets/appx/AppList.targetsize-64_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-64_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-64_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-64_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-64_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-64_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-64_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-64_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-72.png b/apps/studio/assets/appx/AppList.targetsize-72.png
similarity index 100%
rename from assets/appx/AppList.targetsize-72.png
rename to apps/studio/assets/appx/AppList.targetsize-72.png
diff --git a/assets/appx/AppList.targetsize-72_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-72_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-72_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-72_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-72_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-72_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-72_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-72_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-80.png b/apps/studio/assets/appx/AppList.targetsize-80.png
similarity index 100%
rename from assets/appx/AppList.targetsize-80.png
rename to apps/studio/assets/appx/AppList.targetsize-80.png
diff --git a/assets/appx/AppList.targetsize-80_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-80_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-80_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-80_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-80_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-80_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-80_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-80_altform-unplated.png
diff --git a/assets/appx/AppList.targetsize-96.png b/apps/studio/assets/appx/AppList.targetsize-96.png
similarity index 100%
rename from assets/appx/AppList.targetsize-96.png
rename to apps/studio/assets/appx/AppList.targetsize-96.png
diff --git a/assets/appx/AppList.targetsize-96_altform-lightunplated.png b/apps/studio/assets/appx/AppList.targetsize-96_altform-lightunplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-96_altform-lightunplated.png
rename to apps/studio/assets/appx/AppList.targetsize-96_altform-lightunplated.png
diff --git a/assets/appx/AppList.targetsize-96_altform-unplated.png b/apps/studio/assets/appx/AppList.targetsize-96_altform-unplated.png
similarity index 100%
rename from assets/appx/AppList.targetsize-96_altform-unplated.png
rename to apps/studio/assets/appx/AppList.targetsize-96_altform-unplated.png
diff --git a/assets/appx/LargeTile.scale-100.png b/apps/studio/assets/appx/LargeTile.scale-100.png
similarity index 100%
rename from assets/appx/LargeTile.scale-100.png
rename to apps/studio/assets/appx/LargeTile.scale-100.png
diff --git a/assets/appx/LargeTile.scale-100_altform-colorful_theme-light.png b/apps/studio/assets/appx/LargeTile.scale-100_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/LargeTile.scale-100_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/LargeTile.scale-100_altform-colorful_theme-light.png
diff --git a/assets/appx/LargeTile.scale-125.png b/apps/studio/assets/appx/LargeTile.scale-125.png
similarity index 100%
rename from assets/appx/LargeTile.scale-125.png
rename to apps/studio/assets/appx/LargeTile.scale-125.png
diff --git a/assets/appx/LargeTile.scale-125_altform-colorful_theme-light.png b/apps/studio/assets/appx/LargeTile.scale-125_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/LargeTile.scale-125_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/LargeTile.scale-125_altform-colorful_theme-light.png
diff --git a/assets/appx/LargeTile.scale-150.png b/apps/studio/assets/appx/LargeTile.scale-150.png
similarity index 100%
rename from assets/appx/LargeTile.scale-150.png
rename to apps/studio/assets/appx/LargeTile.scale-150.png
diff --git a/assets/appx/LargeTile.scale-150_altform-colorful_theme-light.png b/apps/studio/assets/appx/LargeTile.scale-150_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/LargeTile.scale-150_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/LargeTile.scale-150_altform-colorful_theme-light.png
diff --git a/assets/appx/LargeTile.scale-200.png b/apps/studio/assets/appx/LargeTile.scale-200.png
similarity index 100%
rename from assets/appx/LargeTile.scale-200.png
rename to apps/studio/assets/appx/LargeTile.scale-200.png
diff --git a/assets/appx/LargeTile.scale-200_altform-colorful_theme-light.png b/apps/studio/assets/appx/LargeTile.scale-200_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/LargeTile.scale-200_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/LargeTile.scale-200_altform-colorful_theme-light.png
diff --git a/assets/appx/LargeTile.scale-400.png b/apps/studio/assets/appx/LargeTile.scale-400.png
similarity index 100%
rename from assets/appx/LargeTile.scale-400.png
rename to apps/studio/assets/appx/LargeTile.scale-400.png
diff --git a/assets/appx/LargeTile.scale-400_altform-colorful_theme-light.png b/apps/studio/assets/appx/LargeTile.scale-400_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/LargeTile.scale-400_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/LargeTile.scale-400_altform-colorful_theme-light.png
diff --git a/assets/appx/MedTile.scale-100.png b/apps/studio/assets/appx/MedTile.scale-100.png
similarity index 100%
rename from assets/appx/MedTile.scale-100.png
rename to apps/studio/assets/appx/MedTile.scale-100.png
diff --git a/assets/appx/MedTile.scale-100_altform-colorful_theme-light.png b/apps/studio/assets/appx/MedTile.scale-100_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/MedTile.scale-100_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/MedTile.scale-100_altform-colorful_theme-light.png
diff --git a/assets/appx/MedTile.scale-125.png b/apps/studio/assets/appx/MedTile.scale-125.png
similarity index 100%
rename from assets/appx/MedTile.scale-125.png
rename to apps/studio/assets/appx/MedTile.scale-125.png
diff --git a/assets/appx/MedTile.scale-125_altform-colorful_theme-light.png b/apps/studio/assets/appx/MedTile.scale-125_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/MedTile.scale-125_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/MedTile.scale-125_altform-colorful_theme-light.png
diff --git a/assets/appx/MedTile.scale-150.png b/apps/studio/assets/appx/MedTile.scale-150.png
similarity index 100%
rename from assets/appx/MedTile.scale-150.png
rename to apps/studio/assets/appx/MedTile.scale-150.png
diff --git a/assets/appx/MedTile.scale-150_altform-colorful_theme-light.png b/apps/studio/assets/appx/MedTile.scale-150_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/MedTile.scale-150_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/MedTile.scale-150_altform-colorful_theme-light.png
diff --git a/assets/appx/MedTile.scale-200.png b/apps/studio/assets/appx/MedTile.scale-200.png
similarity index 100%
rename from assets/appx/MedTile.scale-200.png
rename to apps/studio/assets/appx/MedTile.scale-200.png
diff --git a/assets/appx/MedTile.scale-200_altform-colorful_theme-light.png b/apps/studio/assets/appx/MedTile.scale-200_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/MedTile.scale-200_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/MedTile.scale-200_altform-colorful_theme-light.png
diff --git a/assets/appx/MedTile.scale-400.png b/apps/studio/assets/appx/MedTile.scale-400.png
similarity index 100%
rename from assets/appx/MedTile.scale-400.png
rename to apps/studio/assets/appx/MedTile.scale-400.png
diff --git a/assets/appx/MedTile.scale-400_altform-colorful_theme-light.png b/apps/studio/assets/appx/MedTile.scale-400_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/MedTile.scale-400_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/MedTile.scale-400_altform-colorful_theme-light.png
diff --git a/assets/appx/SmallTile.scale-100.png b/apps/studio/assets/appx/SmallTile.scale-100.png
similarity index 100%
rename from assets/appx/SmallTile.scale-100.png
rename to apps/studio/assets/appx/SmallTile.scale-100.png
diff --git a/assets/appx/SmallTile.scale-100_altform-colorful_theme-light.png b/apps/studio/assets/appx/SmallTile.scale-100_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SmallTile.scale-100_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SmallTile.scale-100_altform-colorful_theme-light.png
diff --git a/assets/appx/SmallTile.scale-125.png b/apps/studio/assets/appx/SmallTile.scale-125.png
similarity index 100%
rename from assets/appx/SmallTile.scale-125.png
rename to apps/studio/assets/appx/SmallTile.scale-125.png
diff --git a/assets/appx/SmallTile.scale-125_altform-colorful_theme-light.png b/apps/studio/assets/appx/SmallTile.scale-125_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SmallTile.scale-125_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SmallTile.scale-125_altform-colorful_theme-light.png
diff --git a/assets/appx/SmallTile.scale-150.png b/apps/studio/assets/appx/SmallTile.scale-150.png
similarity index 100%
rename from assets/appx/SmallTile.scale-150.png
rename to apps/studio/assets/appx/SmallTile.scale-150.png
diff --git a/assets/appx/SmallTile.scale-150_altform-colorful_theme-light.png b/apps/studio/assets/appx/SmallTile.scale-150_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SmallTile.scale-150_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SmallTile.scale-150_altform-colorful_theme-light.png
diff --git a/assets/appx/SmallTile.scale-200.png b/apps/studio/assets/appx/SmallTile.scale-200.png
similarity index 100%
rename from assets/appx/SmallTile.scale-200.png
rename to apps/studio/assets/appx/SmallTile.scale-200.png
diff --git a/assets/appx/SmallTile.scale-200_altform-colorful_theme-light.png b/apps/studio/assets/appx/SmallTile.scale-200_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SmallTile.scale-200_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SmallTile.scale-200_altform-colorful_theme-light.png
diff --git a/assets/appx/SmallTile.scale-400.png b/apps/studio/assets/appx/SmallTile.scale-400.png
similarity index 100%
rename from assets/appx/SmallTile.scale-400.png
rename to apps/studio/assets/appx/SmallTile.scale-400.png
diff --git a/assets/appx/SmallTile.scale-400_altform-colorful_theme-light.png b/apps/studio/assets/appx/SmallTile.scale-400_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SmallTile.scale-400_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SmallTile.scale-400_altform-colorful_theme-light.png
diff --git a/assets/appx/SplashScreen.scale-100.png b/apps/studio/assets/appx/SplashScreen.scale-100.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-100.png
rename to apps/studio/assets/appx/SplashScreen.scale-100.png
diff --git a/assets/appx/SplashScreen.scale-100_altform-colorful_theme-dark.png b/apps/studio/assets/appx/SplashScreen.scale-100_altform-colorful_theme-dark.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-100_altform-colorful_theme-dark.png
rename to apps/studio/assets/appx/SplashScreen.scale-100_altform-colorful_theme-dark.png
diff --git a/assets/appx/SplashScreen.scale-100_altform-colorful_theme-light.png b/apps/studio/assets/appx/SplashScreen.scale-100_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-100_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SplashScreen.scale-100_altform-colorful_theme-light.png
diff --git a/assets/appx/SplashScreen.scale-125.png b/apps/studio/assets/appx/SplashScreen.scale-125.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-125.png
rename to apps/studio/assets/appx/SplashScreen.scale-125.png
diff --git a/assets/appx/SplashScreen.scale-125_altform-colorful_theme-dark.png b/apps/studio/assets/appx/SplashScreen.scale-125_altform-colorful_theme-dark.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-125_altform-colorful_theme-dark.png
rename to apps/studio/assets/appx/SplashScreen.scale-125_altform-colorful_theme-dark.png
diff --git a/assets/appx/SplashScreen.scale-125_altform-colorful_theme-light.png b/apps/studio/assets/appx/SplashScreen.scale-125_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-125_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SplashScreen.scale-125_altform-colorful_theme-light.png
diff --git a/assets/appx/SplashScreen.scale-150.png b/apps/studio/assets/appx/SplashScreen.scale-150.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-150.png
rename to apps/studio/assets/appx/SplashScreen.scale-150.png
diff --git a/assets/appx/SplashScreen.scale-150_altform-colorful_theme-dark.png b/apps/studio/assets/appx/SplashScreen.scale-150_altform-colorful_theme-dark.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-150_altform-colorful_theme-dark.png
rename to apps/studio/assets/appx/SplashScreen.scale-150_altform-colorful_theme-dark.png
diff --git a/assets/appx/SplashScreen.scale-150_altform-colorful_theme-light.png b/apps/studio/assets/appx/SplashScreen.scale-150_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-150_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SplashScreen.scale-150_altform-colorful_theme-light.png
diff --git a/assets/appx/SplashScreen.scale-200.png b/apps/studio/assets/appx/SplashScreen.scale-200.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-200.png
rename to apps/studio/assets/appx/SplashScreen.scale-200.png
diff --git a/assets/appx/SplashScreen.scale-200_altform-colorful_theme-dark.png b/apps/studio/assets/appx/SplashScreen.scale-200_altform-colorful_theme-dark.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-200_altform-colorful_theme-dark.png
rename to apps/studio/assets/appx/SplashScreen.scale-200_altform-colorful_theme-dark.png
diff --git a/assets/appx/SplashScreen.scale-200_altform-colorful_theme-light.png b/apps/studio/assets/appx/SplashScreen.scale-200_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-200_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SplashScreen.scale-200_altform-colorful_theme-light.png
diff --git a/assets/appx/SplashScreen.scale-400.png b/apps/studio/assets/appx/SplashScreen.scale-400.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-400.png
rename to apps/studio/assets/appx/SplashScreen.scale-400.png
diff --git a/assets/appx/SplashScreen.scale-400_altform-colorful_theme-dark.png b/apps/studio/assets/appx/SplashScreen.scale-400_altform-colorful_theme-dark.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-400_altform-colorful_theme-dark.png
rename to apps/studio/assets/appx/SplashScreen.scale-400_altform-colorful_theme-dark.png
diff --git a/assets/appx/SplashScreen.scale-400_altform-colorful_theme-light.png b/apps/studio/assets/appx/SplashScreen.scale-400_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/SplashScreen.scale-400_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/SplashScreen.scale-400_altform-colorful_theme-light.png
diff --git a/assets/appx/Square150x150Logo.png b/apps/studio/assets/appx/Square150x150Logo.png
similarity index 100%
rename from assets/appx/Square150x150Logo.png
rename to apps/studio/assets/appx/Square150x150Logo.png
diff --git a/assets/appx/Square44x44Logo.png b/apps/studio/assets/appx/Square44x44Logo.png
similarity index 100%
rename from assets/appx/Square44x44Logo.png
rename to apps/studio/assets/appx/Square44x44Logo.png
diff --git a/assets/appx/StoreLogo.png b/apps/studio/assets/appx/StoreLogo.png
similarity index 100%
rename from assets/appx/StoreLogo.png
rename to apps/studio/assets/appx/StoreLogo.png
diff --git a/assets/appx/StoreLogo.scale-100.png b/apps/studio/assets/appx/StoreLogo.scale-100.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-100.png
rename to apps/studio/assets/appx/StoreLogo.scale-100.png
diff --git a/assets/appx/StoreLogo.scale-100_altform-colorful_theme-light.png b/apps/studio/assets/appx/StoreLogo.scale-100_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-100_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/StoreLogo.scale-100_altform-colorful_theme-light.png
diff --git a/assets/appx/StoreLogo.scale-125.png b/apps/studio/assets/appx/StoreLogo.scale-125.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-125.png
rename to apps/studio/assets/appx/StoreLogo.scale-125.png
diff --git a/assets/appx/StoreLogo.scale-125_altform-colorful_theme-light.png b/apps/studio/assets/appx/StoreLogo.scale-125_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-125_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/StoreLogo.scale-125_altform-colorful_theme-light.png
diff --git a/assets/appx/StoreLogo.scale-150.png b/apps/studio/assets/appx/StoreLogo.scale-150.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-150.png
rename to apps/studio/assets/appx/StoreLogo.scale-150.png
diff --git a/assets/appx/StoreLogo.scale-150_altform-colorful_theme-light.png b/apps/studio/assets/appx/StoreLogo.scale-150_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-150_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/StoreLogo.scale-150_altform-colorful_theme-light.png
diff --git a/assets/appx/StoreLogo.scale-200.png b/apps/studio/assets/appx/StoreLogo.scale-200.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-200.png
rename to apps/studio/assets/appx/StoreLogo.scale-200.png
diff --git a/assets/appx/StoreLogo.scale-200_altform-colorful_theme-light.png b/apps/studio/assets/appx/StoreLogo.scale-200_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-200_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/StoreLogo.scale-200_altform-colorful_theme-light.png
diff --git a/assets/appx/StoreLogo.scale-400.png b/apps/studio/assets/appx/StoreLogo.scale-400.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-400.png
rename to apps/studio/assets/appx/StoreLogo.scale-400.png
diff --git a/assets/appx/StoreLogo.scale-400_altform-colorful_theme-light.png b/apps/studio/assets/appx/StoreLogo.scale-400_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/StoreLogo.scale-400_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/StoreLogo.scale-400_altform-colorful_theme-light.png
diff --git a/assets/appx/Wide310x150Logo.png b/apps/studio/assets/appx/Wide310x150Logo.png
similarity index 100%
rename from assets/appx/Wide310x150Logo.png
rename to apps/studio/assets/appx/Wide310x150Logo.png
diff --git a/assets/appx/WideTile.scale-100.png b/apps/studio/assets/appx/WideTile.scale-100.png
similarity index 100%
rename from assets/appx/WideTile.scale-100.png
rename to apps/studio/assets/appx/WideTile.scale-100.png
diff --git a/assets/appx/WideTile.scale-100_altform-colorful_theme-light.png b/apps/studio/assets/appx/WideTile.scale-100_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/WideTile.scale-100_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/WideTile.scale-100_altform-colorful_theme-light.png
diff --git a/assets/appx/WideTile.scale-125.png b/apps/studio/assets/appx/WideTile.scale-125.png
similarity index 100%
rename from assets/appx/WideTile.scale-125.png
rename to apps/studio/assets/appx/WideTile.scale-125.png
diff --git a/assets/appx/WideTile.scale-125_altform-colorful_theme-light.png b/apps/studio/assets/appx/WideTile.scale-125_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/WideTile.scale-125_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/WideTile.scale-125_altform-colorful_theme-light.png
diff --git a/assets/appx/WideTile.scale-150.png b/apps/studio/assets/appx/WideTile.scale-150.png
similarity index 100%
rename from assets/appx/WideTile.scale-150.png
rename to apps/studio/assets/appx/WideTile.scale-150.png
diff --git a/assets/appx/WideTile.scale-150_altform-colorful_theme-light.png b/apps/studio/assets/appx/WideTile.scale-150_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/WideTile.scale-150_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/WideTile.scale-150_altform-colorful_theme-light.png
diff --git a/assets/appx/WideTile.scale-200.png b/apps/studio/assets/appx/WideTile.scale-200.png
similarity index 100%
rename from assets/appx/WideTile.scale-200.png
rename to apps/studio/assets/appx/WideTile.scale-200.png
diff --git a/assets/appx/WideTile.scale-200_altform-colorful_theme-light.png b/apps/studio/assets/appx/WideTile.scale-200_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/WideTile.scale-200_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/WideTile.scale-200_altform-colorful_theme-light.png
diff --git a/assets/appx/WideTile.scale-400.png b/apps/studio/assets/appx/WideTile.scale-400.png
similarity index 100%
rename from assets/appx/WideTile.scale-400.png
rename to apps/studio/assets/appx/WideTile.scale-400.png
diff --git a/assets/appx/WideTile.scale-400_altform-colorful_theme-light.png b/apps/studio/assets/appx/WideTile.scale-400_altform-colorful_theme-light.png
similarity index 100%
rename from assets/appx/WideTile.scale-400_altform-colorful_theme-light.png
rename to apps/studio/assets/appx/WideTile.scale-400_altform-colorful_theme-light.png
diff --git a/assets/dmg-background.png b/apps/studio/assets/dmg-background.png
similarity index 100%
rename from assets/dmg-background.png
rename to apps/studio/assets/dmg-background.png
diff --git a/assets/dmg-background@2x.png b/apps/studio/assets/dmg-background@2x.png
similarity index 100%
rename from assets/dmg-background@2x.png
rename to apps/studio/assets/dmg-background@2x.png
diff --git a/assets/studio-app-icon.icns b/apps/studio/assets/studio-app-icon.icns
similarity index 100%
rename from assets/studio-app-icon.icns
rename to apps/studio/assets/studio-app-icon.icns
diff --git a/assets/studio-app-icon.ico b/apps/studio/assets/studio-app-icon.ico
similarity index 100%
rename from assets/studio-app-icon.ico
rename to apps/studio/assets/studio-app-icon.ico
diff --git a/assets/studio-app-icon.png b/apps/studio/assets/studio-app-icon.png
similarity index 100%
rename from assets/studio-app-icon.png
rename to apps/studio/assets/studio-app-icon.png
diff --git a/assets/titlebar-icon.svg b/apps/studio/assets/titlebar-icon.svg
similarity index 100%
rename from assets/titlebar-icon.svg
rename to apps/studio/assets/titlebar-icon.svg
diff --git a/bin/install-studio-cli.sh b/apps/studio/bin/install-studio-cli.sh
similarity index 100%
rename from bin/install-studio-cli.sh
rename to apps/studio/bin/install-studio-cli.sh
diff --git a/bin/studio-cli-launcher.js b/apps/studio/bin/studio-cli-launcher.js
similarity index 100%
rename from bin/studio-cli-launcher.js
rename to apps/studio/bin/studio-cli-launcher.js
diff --git a/bin/studio-cli.bat b/apps/studio/bin/studio-cli.bat
similarity index 100%
rename from bin/studio-cli.bat
rename to apps/studio/bin/studio-cli.bat
diff --git a/bin/studio-cli.sh b/apps/studio/bin/studio-cli.sh
similarity index 100%
rename from bin/studio-cli.sh
rename to apps/studio/bin/studio-cli.sh
diff --git a/bin/uninstall-studio-cli.sh b/apps/studio/bin/uninstall-studio-cli.sh
similarity index 100%
rename from bin/uninstall-studio-cli.sh
rename to apps/studio/bin/uninstall-studio-cli.sh
diff --git a/e2e/app.test.ts b/apps/studio/e2e/app.test.ts
similarity index 100%
rename from e2e/app.test.ts
rename to apps/studio/e2e/app.test.ts
diff --git a/e2e/blueprints.test.ts b/apps/studio/e2e/blueprints.test.ts
similarity index 100%
rename from e2e/blueprints.test.ts
rename to apps/studio/e2e/blueprints.test.ts
diff --git a/e2e/constants.ts b/apps/studio/e2e/constants.ts
similarity index 100%
rename from e2e/constants.ts
rename to apps/studio/e2e/constants.ts
diff --git a/e2e/e2e-helpers.ts b/apps/studio/e2e/e2e-helpers.ts
similarity index 96%
rename from e2e/e2e-helpers.ts
rename to apps/studio/e2e/e2e-helpers.ts
index 687f70e094..34893addf8 100644
--- a/e2e/e2e-helpers.ts
+++ b/apps/studio/e2e/e2e-helpers.ts
@@ -82,7 +82,8 @@ export class E2ESession {
}
private async launchFirstWindow( testEnv: NodeJS.ProcessEnv = {} ) {
- const latestBuild = findLatestBuild();
+ const buildDir = path.join( __dirname, '..', 'out' );
+ const latestBuild = findLatestBuild( buildDir );
const appInfo = parseElectronApp( latestBuild );
let executablePath = appInfo.executable;
diff --git a/e2e/fixtures/blueprints/activate-plugin.json b/apps/studio/e2e/fixtures/blueprints/activate-plugin.json
similarity index 100%
rename from e2e/fixtures/blueprints/activate-plugin.json
rename to apps/studio/e2e/fixtures/blueprints/activate-plugin.json
diff --git a/e2e/fixtures/blueprints/activate-theme.json b/apps/studio/e2e/fixtures/blueprints/activate-theme.json
similarity index 100%
rename from e2e/fixtures/blueprints/activate-theme.json
rename to apps/studio/e2e/fixtures/blueprints/activate-theme.json
diff --git a/e2e/fixtures/blueprints/install-plugin.json b/apps/studio/e2e/fixtures/blueprints/install-plugin.json
similarity index 100%
rename from e2e/fixtures/blueprints/install-plugin.json
rename to apps/studio/e2e/fixtures/blueprints/install-plugin.json
diff --git a/e2e/fixtures/blueprints/install-theme.json b/apps/studio/e2e/fixtures/blueprints/install-theme.json
similarity index 100%
rename from e2e/fixtures/blueprints/install-theme.json
rename to apps/studio/e2e/fixtures/blueprints/install-theme.json
diff --git a/e2e/fixtures/blueprints/run-php-code.json b/apps/studio/e2e/fixtures/blueprints/run-php-code.json
similarity index 99%
rename from e2e/fixtures/blueprints/run-php-code.json
rename to apps/studio/e2e/fixtures/blueprints/run-php-code.json
index d839811b99..427e8e42ed 100644
--- a/e2e/fixtures/blueprints/run-php-code.json
+++ b/apps/studio/e2e/fixtures/blueprints/run-php-code.json
@@ -7,4 +7,4 @@
"code": " {
// The bundled Node binary requires specific entitlements for V8 JIT compilation.
// Without these, V8 crashes with SIGTRAP when trying to allocate executable memory.
if ( filePath.endsWith( 'bin/node' ) ) {
return {
- entitlements: path.join( __dirname, 'entitlements', 'node.plist' ),
+ entitlements: path.join( repoRoot, 'apps', 'studio', 'entitlements', 'node.plist' ),
};
}
return {};
@@ -32,20 +38,20 @@ const config: ForgeConfig = {
ignore: [
// Exclude major development directories
/^\/\..*/, // All dotfiles and dot directories
- /^\/src/,
- /^\/common/,
- /^\/cli/,
+ /^\/apps\/studio\/src/,
+ /^\/apps\/studio\/e2e/,
+ /^\/apps\/cli/,
+ /^\/tools\/common/,
/^\/vendor/,
/^\/fastlane/,
/^\/docs/,
- /^\/e2e/,
/^\/scripts/,
- /^\/packages/,
+ /^\/tools/,
/^\/patches/,
- /^\/metrics/,
+ /^\/tools\/metrics/,
/^\/test-results/,
/^\/webpack-loaders/,
- /^\/installers/,
+ /^\/apps\/studio\/installers/,
// Config files
/^\/webpack\./,
/^\/tsconfig\./,
@@ -55,7 +61,10 @@ const config: ForgeConfig = {
/^\/tailwind\./,
/^\/forge\./,
/^\/electron\./,
- /^\/index\.html$/,
+ /^\/apps\/studio\/.*\\.config\\./,
+ /^\/apps\/studio\/tailwind\\.config\\.js$/,
+ /^\/apps\/studio\/postcss\\.config\\.js$/,
+ /^\/apps\/studio\/index\.html$/,
/^\/Gemfile/,
/^\/.*\.md$/,
/^\/.*\.txt$/,
@@ -64,7 +73,7 @@ const config: ForgeConfig = {
/^\/assets/,
/^\/bin/,
/^\/wp-files/,
- /^\/dist\/cli/,
+ /^\/apps\/cli\/dist\/cli/,
/^\/dist\/playground-cli/,
],
},
@@ -80,8 +89,8 @@ const config: ForgeConfig = {
} ),
new MakerSquirrel(
{
- loadingGif: './installers/loading.gif',
- setupIcon: './assets/studio-app-icon.ico',
+ loadingGif: path.join( __dirname, 'installers', 'loading.gif' ),
+ setupIcon: path.join( __dirname, 'assets', 'studio-app-icon.ico' ),
// This icon is shown in Control Panel -> Programs and Features
// Windows Explorer caches the icon agressively; use the cache busting param when necessary.
iconUrl: 'https://s0.wp.com/i/studio-app/studio-app-icon.ico?v=3',
@@ -98,8 +107,8 @@ const config: ForgeConfig = {
: [
new MakerDMG(
{
- icon: 'assets/studio-app-icon.icns',
- background: 'assets/dmg-background.png',
+ icon: path.join( __dirname, 'assets', 'studio-app-icon.icns' ),
+ background: path.join( __dirname, 'assets', 'dmg-background.png' ),
contents: [
{
x: 533,
@@ -131,21 +140,47 @@ const config: ForgeConfig = {
plugins: [ new AutoUnpackNativesPlugin( {} ) ],
hooks: {
prePackage: async ( _forgeConfig, platform, arch ) => {
- const execAsync = promisify( exec );
+ const execAsync = ( command: string ) =>
+ new Promise< void >( ( resolve, reject ) => {
+ exec(
+ command,
+ { cwd: repoRoot, maxBuffer: 50 * 1024 * 1024, windowsHide: true },
+ ( error ) => {
+ if ( error ) {
+ reject( error );
+ } else {
+ resolve();
+ }
+ }
+ );
+ } );
console.log( "Ensuring latest WordPress zip isn't included in production build ..." );
- const zipPath = path.join( __dirname, 'wp-files', 'latest.zip' );
+ const zipPath = path.join( repoRoot, 'wp-files', 'latest.zip' );
try {
fs.unlinkSync( zipPath );
} catch ( err ) {
if ( isErrnoException( err ) && err.code !== 'ENOENT' ) throw err;
}
- console.log( 'Building CLI ...' );
- await execAsync( 'npm run cli:build' );
+ console.log( 'Installing Studio app dependencies for bundling ...' );
+ // NOTE: The `app:install:bundle` script mutates the `apps/studio/node_modules` directory. You
+ // may need to rerun `npm ci` from the repo root to reset the dependency tree after packaging.
+ await execAsync( 'npm run app:install:bundle' );
+
+ console.log( 'Building CLI (with bundled node_modules) ...' );
+ // NOTE: The `cli:package` script mutates the `apps/cli/node_modules` directory. You may need to
+ // rerun `npm ci` from the repo root to reset the dependency tree after packaging.
+ await execAsync( 'npm run cli:package' );
console.log( `Downloading Node.js binary for ${ platform }-${ arch }...` );
- await execAsync( `npx ts-node ./scripts/download-node-binary.ts ${ platform } ${ arch }` );
+ await execAsync(
+ `npx ts-node ${ path.join(
+ repoRoot,
+ 'scripts',
+ 'download-node-binary.ts'
+ ) } ${ platform } ${ arch }`
+ );
// Build CLI launcher executable for Windows AppX (Microsoft Store).
// AppX packages require AppExecutionAlias with an .exe target — batch files won't work.
diff --git a/index.html b/apps/studio/index.html
similarity index 100%
rename from index.html
rename to apps/studio/index.html
diff --git a/installers/loading.gif b/apps/studio/installers/loading.gif
similarity index 100%
rename from installers/loading.gif
rename to apps/studio/installers/loading.gif
diff --git a/apps/studio/package.json b/apps/studio/package.json
new file mode 100644
index 0000000000..a816e3e4a4
--- /dev/null
+++ b/apps/studio/package.json
@@ -0,0 +1,115 @@
+{
+ "name": "studio-app",
+ "author": "Automattic Inc.",
+ "private": true,
+ "productName": "Studio",
+ "version": "1.7.4-beta2",
+ "description": "Local WordPress development environment using Playgrounds",
+ "license": "GPL-2.0-or-later",
+ "main": "dist/main/index.js",
+ "config": {
+ "forge": "./forge.config.ts"
+ },
+ "scripts": {
+ "start": "electron-vite dev --config ./electron.vite.config.ts --outDir=dist --watch",
+ "prestart": "npm -w studio-cli run build",
+ "build": "electron-vite build --config ./electron.vite.config.ts --outDir=dist",
+ "make": "SKIP_DMG=true electron-forge make . --skip-package",
+ "install:bundle": "npm install --no-package-lock --no-progress --install-links --no-workspaces && patch-package && npx @electron/rebuild -o fs-ext",
+ "package": "npm run build && electron-forge package .",
+ "publish": "electron-forge publish .",
+ "start-wayland": "npm -w studio-cli run build && electron-forge start . -- --enable-features=UseOzonePlatform --ozone-platform=wayland"
+ },
+ "dependencies": {
+ "@automattic/generate-password": "^0.1.0",
+ "@automattic/interpolate-components": "^1.2.1",
+ "@formatjs/intl-locale": "^3.4.5",
+ "@formatjs/intl-localematcher": "^0.5.4",
+ "@inquirer/prompts": "^7.10.1",
+ "@reduxjs/toolkit": "^2.11.2",
+ "@rive-app/react-canvas": "^4.12.0",
+ "@sentry/electron": "^6.5.0",
+ "@sentry/react": "^7.120.3",
+ "@studio/common": "file:../../tools/common",
+ "@vscode/sudo-prompt": "^9.3.1",
+ "@wordpress/components": "^32.1.0",
+ "@wordpress/compose": "^7.36.0",
+ "@wordpress/dataviews": "^11.3.0",
+ "@wordpress/element": "^6.39.0",
+ "@wordpress/i18n": "^6.9.0",
+ "@wordpress/icons": "^11.4.0",
+ "@wordpress/react-i18n": "^4.39.0",
+ "archiver": "^6.0.2",
+ "atomically": "^2.1.0",
+ "cli-table3": "^0.6.5",
+ "compressible": "2.0.18",
+ "compression": "^1.8.1",
+ "cross-port-killer": "^1.4.0",
+ "date-fns": "^3.3.1",
+ "electron-squirrel-startup": "^1.0.1",
+ "electron2appx": "^2.1.2",
+ "express": "4.22.1",
+ "fast-deep-equal": "^3.1.3",
+ "file-stream-rotator": "^1.0.0",
+ "follow-redirects": "^1.15.11",
+ "fs-extra": "^11.3.2",
+ "hpagent": "1.2.0",
+ "http-proxy": "^1.18.1",
+ "lockfile": "^1.0.4",
+ "ora": "^8.2.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-markdown": "^9.0.1",
+ "react-redux": "^9.2.0",
+ "rehype-raw": "^7.0.0",
+ "remark-gfm": "^4.0.1",
+ "resize-observer-polyfill": "^1.5.1",
+ "semver": "^7.7.3",
+ "shell-quote": "^1.8.3",
+ "strip-ansi": "^7.1.2",
+ "tar": "^7.5.2",
+ "tus-js-client": "^4.3.1",
+ "winreg": "1.2.4",
+ "yargs": "^18.0.0",
+ "yargs-parser": "^22.0.0",
+ "yauzl": "^3.2.0",
+ "zod": "^4.0.0"
+ },
+ "devDependencies": {
+ "@automattic/color-studio": "^4.1.0",
+ "@electron-forge/cli": "^7.11.1",
+ "@electron-forge/maker-deb": "^7.11.1",
+ "@electron-forge/maker-dmg": "^7.11.1",
+ "@electron-forge/maker-squirrel": "^7.11.1",
+ "@electron-forge/maker-zip": "^7.11.1",
+ "@electron-forge/plugin-auto-unpack-natives": "^7.11.1",
+ "@sentry/vite-plugin": "^4.3.0",
+ "@types/archiver": "^6.0.4",
+ "@types/follow-redirects": "^1.14.4",
+ "@types/fs-extra": "^11.0.4",
+ "@types/http-proxy": "^1.17.17",
+ "@types/react": "^18.3.27",
+ "@types/react-dom": "^18.3.7",
+ "@types/semver": "^7.7.1",
+ "@types/shell-quote": "^1.7.5",
+ "@types/winreg": "^1.2.36",
+ "@types/yauzl": "^2.10.3",
+ "@vitejs/plugin-react": "^5.1.4",
+ "@wp-playground/blueprints": "3.0.46",
+ "electron": "^39.2.7",
+ "electron-devtools-installer": "^4.0.0",
+ "electron-vite": "^5.0.0",
+ "patch-package": "^8.0.1",
+ "postcss": "^8.4.32",
+ "tailwindcss": "^3.3.6",
+ "vite": "^7.3.1",
+ "vite-plugin-static-copy": "^3.1.5",
+ "vite-plugin-top-level-await": "^1.6.0",
+ "vite-plugin-wasm": "^3.5.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-linux-x64-gnu": "^4.50.2",
+ "@rollup/rollup-win32-x64-msvc": "^4.50.2",
+ "appdmg": "^0.6.6"
+ }
+}
diff --git a/patches/@automattic+generate-password+0.1.0.patch b/apps/studio/patches/@automattic+generate-password+0.1.0.patch
similarity index 100%
rename from patches/@automattic+generate-password+0.1.0.patch
rename to apps/studio/patches/@automattic+generate-password+0.1.0.patch
diff --git a/patches/@types+archiver+6.0.4.patch b/apps/studio/patches/@types+archiver+6.0.4.patch
similarity index 100%
rename from patches/@types+archiver+6.0.4.patch
rename to apps/studio/patches/@types+archiver+6.0.4.patch
diff --git a/patches/@wordpress+components+32.1.0.patch b/apps/studio/patches/@wordpress+components+32.1.0.patch
similarity index 100%
rename from patches/@wordpress+components+32.1.0.patch
rename to apps/studio/patches/@wordpress+components+32.1.0.patch
diff --git a/cli/patches/@wp-playground+wordpress+3.0.46.patch b/apps/studio/patches/@wp-playground+wordpress+3.0.46.patch
similarity index 100%
rename from cli/patches/@wp-playground+wordpress+3.0.46.patch
rename to apps/studio/patches/@wp-playground+wordpress+3.0.46.patch
diff --git a/patches/archiver+6.0.2.patch b/apps/studio/patches/archiver+6.0.2.patch
similarity index 100%
rename from patches/archiver+6.0.2.patch
rename to apps/studio/patches/archiver+6.0.2.patch
diff --git a/patches/electron-devtools-installer+4.0.0.patch b/apps/studio/patches/electron-devtools-installer+4.0.0.patch
similarity index 100%
rename from patches/electron-devtools-installer+4.0.0.patch
rename to apps/studio/patches/electron-devtools-installer+4.0.0.patch
diff --git a/patches/electron2appx+2.1.2.patch b/apps/studio/patches/electron2appx+2.1.2.patch
similarity index 100%
rename from patches/electron2appx+2.1.2.patch
rename to apps/studio/patches/electron2appx+2.1.2.patch
diff --git a/apps/studio/postcss.config.js b/apps/studio/postcss.config.js
new file mode 100644
index 0000000000..4b65759eb7
--- /dev/null
+++ b/apps/studio/postcss.config.js
@@ -0,0 +1,9 @@
+const path = require( 'path' );
+
+module.exports = {
+ plugins: {
+ tailwindcss: {
+ config: path.join( __dirname, 'tailwind.config.js' ),
+ },
+ },
+};
diff --git a/src/__mocks__/@sentry/electron/main.ts b/apps/studio/src/__mocks__/@sentry/electron/main.ts
similarity index 100%
rename from src/__mocks__/@sentry/electron/main.ts
rename to apps/studio/src/__mocks__/@sentry/electron/main.ts
diff --git a/src/__mocks__/atomically.ts b/apps/studio/src/__mocks__/atomically.ts
similarity index 100%
rename from src/__mocks__/atomically.ts
rename to apps/studio/src/__mocks__/atomically.ts
diff --git a/src/__mocks__/electron.ts b/apps/studio/src/__mocks__/electron.ts
similarity index 100%
rename from src/__mocks__/electron.ts
rename to apps/studio/src/__mocks__/electron.ts
diff --git a/src/__mocks__/fs-extra.ts b/apps/studio/src/__mocks__/fs-extra.ts
similarity index 100%
rename from src/__mocks__/fs-extra.ts
rename to apps/studio/src/__mocks__/fs-extra.ts
diff --git a/src/__mocks__/fs.ts b/apps/studio/src/__mocks__/fs.ts
similarity index 100%
rename from src/__mocks__/fs.ts
rename to apps/studio/src/__mocks__/fs.ts
diff --git a/src/__mocks__/lockfile.ts b/apps/studio/src/__mocks__/lockfile.ts
similarity index 100%
rename from src/__mocks__/lockfile.ts
rename to apps/studio/src/__mocks__/lockfile.ts
diff --git a/src/__mocks__/react-markdown.ts b/apps/studio/src/__mocks__/react-markdown.ts
similarity index 100%
rename from src/__mocks__/react-markdown.ts
rename to apps/studio/src/__mocks__/react-markdown.ts
diff --git a/src/__mocks__/rehype-raw.ts b/apps/studio/src/__mocks__/rehype-raw.ts
similarity index 100%
rename from src/__mocks__/rehype-raw.ts
rename to apps/studio/src/__mocks__/rehype-raw.ts
diff --git a/src/__mocks__/remark-gfm.ts b/apps/studio/src/__mocks__/remark-gfm.ts
similarity index 100%
rename from src/__mocks__/remark-gfm.ts
rename to apps/studio/src/__mocks__/remark-gfm.ts
diff --git a/src/__mocks__/strip-ansi.ts b/apps/studio/src/__mocks__/strip-ansi.ts
similarity index 100%
rename from src/__mocks__/strip-ansi.ts
rename to apps/studio/src/__mocks__/strip-ansi.ts
diff --git a/apps/studio/src/about-menu/about-menu.html b/apps/studio/src/about-menu/about-menu.html
new file mode 100644
index 0000000000..c3c00087e0
--- /dev/null
+++ b/apps/studio/src/about-menu/about-menu.html
@@ -0,0 +1,126 @@
+
+
+
+
+
diff --git a/src/components/dynamic-stylesheet.tsx b/apps/studio/src/components/dynamic-stylesheet.tsx
similarity index 100%
rename from src/components/dynamic-stylesheet.tsx
rename to apps/studio/src/components/dynamic-stylesheet.tsx
diff --git a/src/components/error-boundary.tsx b/apps/studio/src/components/error-boundary.tsx
similarity index 100%
rename from src/components/error-boundary.tsx
rename to apps/studio/src/components/error-boundary.tsx
diff --git a/src/components/error-icon.tsx b/apps/studio/src/components/error-icon.tsx
similarity index 100%
rename from src/components/error-icon.tsx
rename to apps/studio/src/components/error-icon.tsx
diff --git a/src/components/error-information.tsx b/apps/studio/src/components/error-information.tsx
similarity index 100%
rename from src/components/error-information.tsx
rename to apps/studio/src/components/error-information.tsx
diff --git a/src/components/folder-icon.tsx b/apps/studio/src/components/folder-icon.tsx
similarity index 100%
rename from src/components/folder-icon.tsx
rename to apps/studio/src/components/folder-icon.tsx
diff --git a/src/components/fullscreen-modal.tsx b/apps/studio/src/components/fullscreen-modal.tsx
similarity index 100%
rename from src/components/fullscreen-modal.tsx
rename to apps/studio/src/components/fullscreen-modal.tsx
diff --git a/src/components/gravatar.tsx b/apps/studio/src/components/gravatar.tsx
similarity index 100%
rename from src/components/gravatar.tsx
rename to apps/studio/src/components/gravatar.tsx
diff --git a/src/components/header.tsx b/apps/studio/src/components/header.tsx
similarity index 100%
rename from src/components/header.tsx
rename to apps/studio/src/components/header.tsx
diff --git a/src/components/icons/circle-red-cross.tsx b/apps/studio/src/components/icons/circle-red-cross.tsx
similarity index 100%
rename from src/components/icons/circle-red-cross.tsx
rename to apps/studio/src/components/icons/circle-red-cross.tsx
diff --git a/src/components/icons/execute.tsx b/apps/studio/src/components/icons/execute.tsx
similarity index 100%
rename from src/components/icons/execute.tsx
rename to apps/studio/src/components/icons/execute.tsx
diff --git a/src/components/icons/pause.tsx b/apps/studio/src/components/icons/pause.tsx
similarity index 100%
rename from src/components/icons/pause.tsx
rename to apps/studio/src/components/icons/pause.tsx
diff --git a/src/components/icons/play.tsx b/apps/studio/src/components/icons/play.tsx
similarity index 100%
rename from src/components/icons/play.tsx
rename to apps/studio/src/components/icons/play.tsx
diff --git a/src/components/icons/right-arrow.tsx b/apps/studio/src/components/icons/right-arrow.tsx
similarity index 100%
rename from src/components/icons/right-arrow.tsx
rename to apps/studio/src/components/icons/right-arrow.tsx
diff --git a/src/components/icons/xdebug-icon.tsx b/apps/studio/src/components/icons/xdebug-icon.tsx
similarity index 100%
rename from src/components/icons/xdebug-icon.tsx
rename to apps/studio/src/components/icons/xdebug-icon.tsx
diff --git a/src/components/learn-more.tsx b/apps/studio/src/components/learn-more.tsx
similarity index 100%
rename from src/components/learn-more.tsx
rename to apps/studio/src/components/learn-more.tsx
diff --git a/src/components/link-button.tsx b/apps/studio/src/components/link-button.tsx
similarity index 100%
rename from src/components/link-button.tsx
rename to apps/studio/src/components/link-button.tsx
diff --git a/src/components/mac-titlebar.tsx b/apps/studio/src/components/mac-titlebar.tsx
similarity index 100%
rename from src/components/mac-titlebar.tsx
rename to apps/studio/src/components/mac-titlebar.tsx
diff --git a/src/components/main-sidebar.tsx b/apps/studio/src/components/main-sidebar.tsx
similarity index 100%
rename from src/components/main-sidebar.tsx
rename to apps/studio/src/components/main-sidebar.tsx
diff --git a/src/components/modal.tsx b/apps/studio/src/components/modal.tsx
similarity index 100%
rename from src/components/modal.tsx
rename to apps/studio/src/components/modal.tsx
diff --git a/src/components/no-studio-sites/index.tsx b/apps/studio/src/components/no-studio-sites/index.tsx
similarity index 100%
rename from src/components/no-studio-sites/index.tsx
rename to apps/studio/src/components/no-studio-sites/index.tsx
diff --git a/src/components/offline-icon.tsx b/apps/studio/src/components/offline-icon.tsx
similarity index 100%
rename from src/components/offline-icon.tsx
rename to apps/studio/src/components/offline-icon.tsx
diff --git a/src/components/pressable-logo.tsx b/apps/studio/src/components/pressable-logo.tsx
similarity index 100%
rename from src/components/pressable-logo.tsx
rename to apps/studio/src/components/pressable-logo.tsx
diff --git a/src/components/profile-icon-detailed.tsx b/apps/studio/src/components/profile-icon-detailed.tsx
similarity index 100%
rename from src/components/profile-icon-detailed.tsx
rename to apps/studio/src/components/profile-icon-detailed.tsx
diff --git a/src/components/progress-bar.tsx b/apps/studio/src/components/progress-bar.tsx
similarity index 100%
rename from src/components/progress-bar.tsx
rename to apps/studio/src/components/progress-bar.tsx
diff --git a/src/components/publish-site-button.tsx b/apps/studio/src/components/publish-site-button.tsx
similarity index 100%
rename from src/components/publish-site-button.tsx
rename to apps/studio/src/components/publish-site-button.tsx
diff --git a/src/components/root.tsx b/apps/studio/src/components/root.tsx
similarity index 100%
rename from src/components/root.tsx
rename to apps/studio/src/components/root.tsx
diff --git a/src/components/running-sites.tsx b/apps/studio/src/components/running-sites.tsx
similarity index 100%
rename from src/components/running-sites.tsx
rename to apps/studio/src/components/running-sites.tsx
diff --git a/src/components/screenshot-demo-site.tsx b/apps/studio/src/components/screenshot-demo-site.tsx
similarity index 100%
rename from src/components/screenshot-demo-site.tsx
rename to apps/studio/src/components/screenshot-demo-site.tsx
diff --git a/src/components/settings-site-menu.tsx b/apps/studio/src/components/settings-site-menu.tsx
similarity index 100%
rename from src/components/settings-site-menu.tsx
rename to apps/studio/src/components/settings-site-menu.tsx
diff --git a/src/components/site-content-tabs.tsx b/apps/studio/src/components/site-content-tabs.tsx
similarity index 100%
rename from src/components/site-content-tabs.tsx
rename to apps/studio/src/components/site-content-tabs.tsx
diff --git a/src/components/site-is-being-created.tsx b/apps/studio/src/components/site-is-being-created.tsx
similarity index 100%
rename from src/components/site-is-being-created.tsx
rename to apps/studio/src/components/site-is-being-created.tsx
diff --git a/src/components/site-management-actions.tsx b/apps/studio/src/components/site-management-actions.tsx
similarity index 100%
rename from src/components/site-management-actions.tsx
rename to apps/studio/src/components/site-management-actions.tsx
diff --git a/src/components/site-menu.tsx b/apps/studio/src/components/site-menu.tsx
similarity index 100%
rename from src/components/site-menu.tsx
rename to apps/studio/src/components/site-menu.tsx
diff --git a/src/components/studio-logo.tsx b/apps/studio/src/components/studio-logo.tsx
similarity index 100%
rename from src/components/studio-logo.tsx
rename to apps/studio/src/components/studio-logo.tsx
diff --git a/src/components/tests/ai-clear-history-reminder.test.tsx b/apps/studio/src/components/tests/ai-clear-history-reminder.test.tsx
similarity index 100%
rename from src/components/tests/ai-clear-history-reminder.test.tsx
rename to apps/studio/src/components/tests/ai-clear-history-reminder.test.tsx
diff --git a/src/components/tests/ai-input.test.tsx b/apps/studio/src/components/tests/ai-input.test.tsx
similarity index 100%
rename from src/components/tests/ai-input.test.tsx
rename to apps/studio/src/components/tests/ai-input.test.tsx
diff --git a/src/components/tests/app.test.tsx b/apps/studio/src/components/tests/app.test.tsx
similarity index 100%
rename from src/components/tests/app.test.tsx
rename to apps/studio/src/components/tests/app.test.tsx
diff --git a/src/components/tests/assistant-anchor.test.tsx b/apps/studio/src/components/tests/assistant-anchor.test.tsx
similarity index 100%
rename from src/components/tests/assistant-anchor.test.tsx
rename to apps/studio/src/components/tests/assistant-anchor.test.tsx
diff --git a/src/components/tests/assistant-code-block.test.tsx b/apps/studio/src/components/tests/assistant-code-block.test.tsx
similarity index 100%
rename from src/components/tests/assistant-code-block.test.tsx
rename to apps/studio/src/components/tests/assistant-code-block.test.tsx
diff --git a/src/components/tests/content-tab-assistant.test.tsx b/apps/studio/src/components/tests/content-tab-assistant.test.tsx
similarity index 100%
rename from src/components/tests/content-tab-assistant.test.tsx
rename to apps/studio/src/components/tests/content-tab-assistant.test.tsx
diff --git a/src/components/tests/content-tab-import-export.test.tsx b/apps/studio/src/components/tests/content-tab-import-export.test.tsx
similarity index 100%
rename from src/components/tests/content-tab-import-export.test.tsx
rename to apps/studio/src/components/tests/content-tab-import-export.test.tsx
diff --git a/src/components/tests/content-tab-overview-shortcuts-section.test.tsx b/apps/studio/src/components/tests/content-tab-overview-shortcuts-section.test.tsx
similarity index 100%
rename from src/components/tests/content-tab-overview-shortcuts-section.test.tsx
rename to apps/studio/src/components/tests/content-tab-overview-shortcuts-section.test.tsx
diff --git a/src/components/tests/content-tab-overview.test.tsx b/apps/studio/src/components/tests/content-tab-overview.test.tsx
similarity index 100%
rename from src/components/tests/content-tab-overview.test.tsx
rename to apps/studio/src/components/tests/content-tab-overview.test.tsx
diff --git a/src/components/tests/content-tab-settings.test.tsx b/apps/studio/src/components/tests/content-tab-settings.test.tsx
similarity index 99%
rename from src/components/tests/content-tab-settings.test.tsx
rename to apps/studio/src/components/tests/content-tab-settings.test.tsx
index 332e6e5479..b60de18599 100644
--- a/src/components/tests/content-tab-settings.test.tsx
+++ b/apps/studio/src/components/tests/content-tab-settings.test.tsx
@@ -1,11 +1,11 @@
// To run tests, execute `npm run test -- src/components/tests/content-tab-settings.test.tsx` from the root directory
import { UnknownAction } from '@reduxjs/toolkit';
+import { Snapshot } from '@studio/common/types/snapshot';
import { render, screen, waitFor, within } from '@testing-library/react';
import { userEvent } from '@testing-library/user-event';
import { produce } from 'immer';
import { Provider } from 'react-redux';
import { vi } from 'vitest';
-import { Snapshot } from 'common/types/snapshot';
import { ContentTabSettings } from 'src/components/content-tab-settings';
import { useGetWpVersion } from 'src/hooks/use-get-wp-version';
import { useSiteDetails } from 'src/hooks/use-site-details';
diff --git a/src/components/tests/copy-text-button.test.tsx b/apps/studio/src/components/tests/copy-text-button.test.tsx
similarity index 100%
rename from src/components/tests/copy-text-button.test.tsx
rename to apps/studio/src/components/tests/copy-text-button.test.tsx
diff --git a/src/components/tests/dynamic-stylesheet.test.tsx b/apps/studio/src/components/tests/dynamic-stylesheet.test.tsx
similarity index 100%
rename from src/components/tests/dynamic-stylesheet.test.tsx
rename to apps/studio/src/components/tests/dynamic-stylesheet.test.tsx
diff --git a/src/components/tests/gravatar.test.tsx b/apps/studio/src/components/tests/gravatar.test.tsx
similarity index 100%
rename from src/components/tests/gravatar.test.tsx
rename to apps/studio/src/components/tests/gravatar.test.tsx
diff --git a/src/components/tests/header.test.tsx b/apps/studio/src/components/tests/header.test.tsx
similarity index 100%
rename from src/components/tests/header.test.tsx
rename to apps/studio/src/components/tests/header.test.tsx
diff --git a/src/components/tests/mac-titlebar.test.tsx b/apps/studio/src/components/tests/mac-titlebar.test.tsx
similarity index 100%
rename from src/components/tests/mac-titlebar.test.tsx
rename to apps/studio/src/components/tests/mac-titlebar.test.tsx
diff --git a/src/components/tests/main-sidebar.test.tsx b/apps/studio/src/components/tests/main-sidebar.test.tsx
similarity index 100%
rename from src/components/tests/main-sidebar.test.tsx
rename to apps/studio/src/components/tests/main-sidebar.test.tsx
diff --git a/src/components/tests/onboarding.test.tsx b/apps/studio/src/components/tests/onboarding.test.tsx
similarity index 100%
rename from src/components/tests/onboarding.test.tsx
rename to apps/studio/src/components/tests/onboarding.test.tsx
diff --git a/src/components/tests/running-sites.test.tsx b/apps/studio/src/components/tests/running-sites.test.tsx
similarity index 100%
rename from src/components/tests/running-sites.test.tsx
rename to apps/studio/src/components/tests/running-sites.test.tsx
diff --git a/src/components/tests/site-content-tabs.test.tsx b/apps/studio/src/components/tests/site-content-tabs.test.tsx
similarity index 100%
rename from src/components/tests/site-content-tabs.test.tsx
rename to apps/studio/src/components/tests/site-content-tabs.test.tsx
diff --git a/src/components/tests/site-management-actions.test.tsx b/apps/studio/src/components/tests/site-management-actions.test.tsx
similarity index 100%
rename from src/components/tests/site-management-actions.test.tsx
rename to apps/studio/src/components/tests/site-management-actions.test.tsx
diff --git a/src/components/tests/topbar.test.tsx b/apps/studio/src/components/tests/topbar.test.tsx
similarity index 100%
rename from src/components/tests/topbar.test.tsx
rename to apps/studio/src/components/tests/topbar.test.tsx
diff --git a/src/components/text-control.tsx b/apps/studio/src/components/text-control.tsx
similarity index 100%
rename from src/components/text-control.tsx
rename to apps/studio/src/components/text-control.tsx
diff --git a/src/components/tooltip.tsx b/apps/studio/src/components/tooltip.tsx
similarity index 100%
rename from src/components/tooltip.tsx
rename to apps/studio/src/components/tooltip.tsx
diff --git a/src/components/top-bar.tsx b/apps/studio/src/components/top-bar.tsx
similarity index 100%
rename from src/components/top-bar.tsx
rename to apps/studio/src/components/top-bar.tsx
diff --git a/src/components/tree-view.tsx b/apps/studio/src/components/tree-view.tsx
similarity index 100%
rename from src/components/tree-view.tsx
rename to apps/studio/src/components/tree-view.tsx
diff --git a/src/components/welcome-message-prompt.tsx b/apps/studio/src/components/welcome-message-prompt.tsx
similarity index 100%
rename from src/components/welcome-message-prompt.tsx
rename to apps/studio/src/components/welcome-message-prompt.tsx
diff --git a/src/components/windows-titlebar.tsx b/apps/studio/src/components/windows-titlebar.tsx
similarity index 100%
rename from src/components/windows-titlebar.tsx
rename to apps/studio/src/components/windows-titlebar.tsx
diff --git a/src/components/wordpress-logo-circle.tsx b/apps/studio/src/components/wordpress-logo-circle.tsx
similarity index 100%
rename from src/components/wordpress-logo-circle.tsx
rename to apps/studio/src/components/wordpress-logo-circle.tsx
diff --git a/src/components/wordpress-logo.tsx b/apps/studio/src/components/wordpress-logo.tsx
similarity index 100%
rename from src/components/wordpress-logo.tsx
rename to apps/studio/src/components/wordpress-logo.tsx
diff --git a/src/components/wordpress-short-logo.tsx b/apps/studio/src/components/wordpress-short-logo.tsx
similarity index 100%
rename from src/components/wordpress-short-logo.tsx
rename to apps/studio/src/components/wordpress-short-logo.tsx
diff --git a/apps/studio/src/components/wordpress-styles.tsx b/apps/studio/src/components/wordpress-styles.tsx
new file mode 100644
index 0000000000..12daccb95f
--- /dev/null
+++ b/apps/studio/src/components/wordpress-styles.tsx
@@ -0,0 +1,18 @@
+import wordpressStylesRtlUrl from '@wordpress/components/build-style/style-rtl.css?url';
+import wordpressStylesUrl from '@wordpress/components/build-style/style.css?url';
+import { useI18n } from '@wordpress/react-i18n';
+import { DynamicStylesheet } from 'src/components/dynamic-stylesheet';
+
+const WORDPRESS_STYLES_ID = 'wordpress-components-style';
+
+export const getWordpressStylesHref = ( isRtl: boolean ) =>
+ isRtl ? wordpressStylesRtlUrl : wordpressStylesUrl;
+
+export const WordPressStyles = () => {
+ const { isRTL } = useI18n();
+ const isRtl = isRTL();
+
+ const href = getWordpressStylesHref( isRtl );
+
+ return
;
+};
diff --git a/src/components/wp-version-selector/add-wp-version-to-list.test.ts b/apps/studio/src/components/wp-version-selector/add-wp-version-to-list.test.ts
similarity index 100%
rename from src/components/wp-version-selector/add-wp-version-to-list.test.ts
rename to apps/studio/src/components/wp-version-selector/add-wp-version-to-list.test.ts
diff --git a/src/components/wp-version-selector/add-wp-version-to-list.ts b/apps/studio/src/components/wp-version-selector/add-wp-version-to-list.ts
similarity index 100%
rename from src/components/wp-version-selector/add-wp-version-to-list.ts
rename to apps/studio/src/components/wp-version-selector/add-wp-version-to-list.ts
diff --git a/src/components/wp-version-selector/index.tsx b/apps/studio/src/components/wp-version-selector/index.tsx
similarity index 97%
rename from src/components/wp-version-selector/index.tsx
rename to apps/studio/src/components/wp-version-selector/index.tsx
index ded3cb9258..2f17ba3229 100644
--- a/src/components/wp-version-selector/index.tsx
+++ b/apps/studio/src/components/wp-version-selector/index.tsx
@@ -1,9 +1,9 @@
+import { DEFAULT_WORDPRESS_VERSION, MINIMUM_WORDPRESS_VERSION } from '@studio/common/constants';
+import { isWordPressBetaVersion } from '@studio/common/lib/wordpress-version-utils';
import { SelectControl, Icon } from '@wordpress/components';
import { info } from '@wordpress/icons';
import { useI18n } from '@wordpress/react-i18n';
import { useEffect } from 'react';
-import { DEFAULT_WORDPRESS_VERSION, MINIMUM_WORDPRESS_VERSION } from 'common/constants';
-import { isWordPressBetaVersion } from 'common/lib/wordpress-version-utils';
import offlineIcon from 'src/components/offline-icon';
import { Tooltip } from 'src/components/tooltip';
import { useOffline } from 'src/hooks/use-offline';
diff --git a/src/constants.ts b/apps/studio/src/constants.ts
similarity index 89%
rename from src/constants.ts
rename to apps/studio/src/constants.ts
index ad2836e06d..dcfb05bb59 100644
--- a/src/constants.ts
+++ b/apps/studio/src/constants.ts
@@ -1,11 +1,4 @@
-// This needs to be a relative import due to the postinstall scripts.
-import {
- HOUR_MS,
- PLAYGROUND_CLI_ACTIVITY_CHECK_INTERVAL,
- PLAYGROUND_CLI_INACTIVITY_TIMEOUT,
- PLAYGROUND_CLI_MAX_TIMEOUT,
-} from '../common/constants';
-
+import { HOUR_MS } from '@studio/common/constants';
export const DEFAULT_WIDTH = 900;
export const MAIN_MIN_HEIGHT = 600;
export const SIDEBAR_WIDTH = 208;
@@ -80,13 +73,6 @@ export const WP_CLI_IMPORT_EXPORT_RESPONSE_TIMEOUT_IN_HRS = 6;
export const WP_CLI_IMPORT_EXPORT_RESPONSE_TIMEOUT =
WP_CLI_IMPORT_EXPORT_RESPONSE_TIMEOUT_IN_HRS * 60 * 60 * 1000; // 6hr
-// Playground CLI constants are re-exported from common/constants.ts
-export {
- PLAYGROUND_CLI_ACTIVITY_CHECK_INTERVAL,
- PLAYGROUND_CLI_INACTIVITY_TIMEOUT,
- PLAYGROUND_CLI_MAX_TIMEOUT,
-};
-
// SQLite
export const SQLITE_DATABASE_INTEGRATION_VERSION = 'v2.2.17';
diff --git a/src/custom-package-definitions.d.ts b/apps/studio/src/custom-package-definitions.d.ts
similarity index 92%
rename from src/custom-package-definitions.d.ts
rename to apps/studio/src/custom-package-definitions.d.ts
index d9dbef9e12..a973ac33fd 100644
--- a/src/custom-package-definitions.d.ts
+++ b/apps/studio/src/custom-package-definitions.d.ts
@@ -33,6 +33,11 @@ declare module '*.riv?url' {
export default url;
}
+declare module '*.css?url' {
+ const url: string;
+ export default url;
+}
+
declare module '*.wasm' {
const dataUri: function;
export default dataUri;
diff --git a/src/hooks/sync-sites/index.ts b/apps/studio/src/hooks/sync-sites/index.ts
similarity index 100%
rename from src/hooks/sync-sites/index.ts
rename to apps/studio/src/hooks/sync-sites/index.ts
diff --git a/src/hooks/sync-sites/sync-sites-context.tsx b/apps/studio/src/hooks/sync-sites/sync-sites-context.tsx
similarity index 100%
rename from src/hooks/sync-sites/sync-sites-context.tsx
rename to apps/studio/src/hooks/sync-sites/sync-sites-context.tsx
diff --git a/src/hooks/sync-sites/tests/use-pull-push-states.test.ts b/apps/studio/src/hooks/sync-sites/tests/use-pull-push-states.test.ts
similarity index 100%
rename from src/hooks/sync-sites/tests/use-pull-push-states.test.ts
rename to apps/studio/src/hooks/sync-sites/tests/use-pull-push-states.test.ts
diff --git a/src/hooks/sync-sites/use-listen-deep-link-connection.ts b/apps/studio/src/hooks/sync-sites/use-listen-deep-link-connection.ts
similarity index 100%
rename from src/hooks/sync-sites/use-listen-deep-link-connection.ts
rename to apps/studio/src/hooks/sync-sites/use-listen-deep-link-connection.ts
diff --git a/src/hooks/sync-sites/use-pull-push-states.ts b/apps/studio/src/hooks/sync-sites/use-pull-push-states.ts
similarity index 100%
rename from src/hooks/sync-sites/use-pull-push-states.ts
rename to apps/studio/src/hooks/sync-sites/use-pull-push-states.ts
diff --git a/src/hooks/sync-sites/use-sync-pull.ts b/apps/studio/src/hooks/sync-sites/use-sync-pull.ts
similarity index 100%
rename from src/hooks/sync-sites/use-sync-pull.ts
rename to apps/studio/src/hooks/sync-sites/use-sync-pull.ts
diff --git a/src/hooks/sync-sites/use-sync-push.ts b/apps/studio/src/hooks/sync-sites/use-sync-push.ts
similarity index 100%
rename from src/hooks/sync-sites/use-sync-push.ts
rename to apps/studio/src/hooks/sync-sites/use-sync-push.ts
diff --git a/src/hooks/tests/get-sync-support.test.ts b/apps/studio/src/hooks/tests/get-sync-support.test.ts
similarity index 100%
rename from src/hooks/tests/get-sync-support.test.ts
rename to apps/studio/src/hooks/tests/get-sync-support.test.ts
diff --git a/src/hooks/tests/reconcile-connected-sites.test.ts b/apps/studio/src/hooks/tests/reconcile-connected-sites.test.ts
similarity index 100%
rename from src/hooks/tests/reconcile-connected-sites.test.ts
rename to apps/studio/src/hooks/tests/reconcile-connected-sites.test.ts
diff --git a/src/hooks/tests/use-add-site.test.tsx b/apps/studio/src/hooks/tests/use-add-site.test.tsx
similarity index 100%
rename from src/hooks/tests/use-add-site.test.tsx
rename to apps/studio/src/hooks/tests/use-add-site.test.tsx
diff --git a/src/hooks/tests/use-drag-and-drop-file.test.tsx b/apps/studio/src/hooks/tests/use-drag-and-drop-file.test.tsx
similarity index 100%
rename from src/hooks/tests/use-drag-and-drop-file.test.tsx
rename to apps/studio/src/hooks/tests/use-drag-and-drop-file.test.tsx
diff --git a/src/hooks/tests/use-expiration-date.test.ts b/apps/studio/src/hooks/tests/use-expiration-date.test.ts
similarity index 100%
rename from src/hooks/tests/use-expiration-date.test.ts
rename to apps/studio/src/hooks/tests/use-expiration-date.test.ts
diff --git a/src/hooks/tests/use-fullscreen.test.ts b/apps/studio/src/hooks/tests/use-fullscreen.test.ts
similarity index 100%
rename from src/hooks/tests/use-fullscreen.test.ts
rename to apps/studio/src/hooks/tests/use-fullscreen.test.ts
diff --git a/src/hooks/tests/use-import-export.test.tsx b/apps/studio/src/hooks/tests/use-import-export.test.tsx
similarity index 100%
rename from src/hooks/tests/use-import-export.test.tsx
rename to apps/studio/src/hooks/tests/use-import-export.test.tsx
diff --git a/src/hooks/tests/use-is-valid-wp-cli-inline.test.ts b/apps/studio/src/hooks/tests/use-is-valid-wp-cli-inline.test.ts
similarity index 100%
rename from src/hooks/tests/use-is-valid-wp-cli-inline.test.ts
rename to apps/studio/src/hooks/tests/use-is-valid-wp-cli-inline.test.ts
diff --git a/src/hooks/tests/use-site-details.test.tsx b/apps/studio/src/hooks/tests/use-site-details.test.tsx
similarity index 100%
rename from src/hooks/tests/use-site-details.test.tsx
rename to apps/studio/src/hooks/tests/use-site-details.test.tsx
diff --git a/src/hooks/use-add-site.ts b/apps/studio/src/hooks/use-add-site.ts
similarity index 96%
rename from src/hooks/use-add-site.ts
rename to apps/studio/src/hooks/use-add-site.ts
index a261a9664b..6882c87664 100644
--- a/src/hooks/use-add-site.ts
+++ b/apps/studio/src/hooks/use-add-site.ts
@@ -1,9 +1,9 @@
import * as Sentry from '@sentry/electron/renderer';
+import { updateBlueprintWithFormValues } from '@studio/common/lib/blueprint-settings';
+import { BlueprintValidationWarning } from '@studio/common/lib/blueprint-validation';
+import { generateCustomDomainFromSiteName } from '@studio/common/lib/domains';
import { useI18n } from '@wordpress/react-i18n';
import { useCallback, useMemo, useState } from 'react';
-import { updateBlueprintWithFormValues } from 'common/lib/blueprint-settings';
-import { BlueprintValidationWarning } from 'common/lib/blueprint-validation';
-import { generateCustomDomainFromSiteName } from 'common/lib/domains';
import { useSyncSites } from 'src/hooks/sync-sites';
import { useContentTabs } from 'src/hooks/use-content-tabs';
import { useImportExport } from 'src/hooks/use-import-export';
@@ -16,7 +16,7 @@ import {
} from 'src/stores/provider-constants-slice';
import { useConnectSiteMutation } from 'src/stores/sync/connected-sites';
import { Blueprint } from 'src/stores/wpcom-api';
-import type { BlueprintPreferredVersions } from 'common/lib/blueprint-validation';
+import type { BlueprintPreferredVersions } from '@studio/common/lib/blueprint-validation';
import type { AllowedPHPVersion } from 'src/lib/wordpress-server-types';
import type { SyncSite } from 'src/modules/sync/types';
import type { SyncOption } from 'src/types';
diff --git a/src/hooks/use-ai-icon.ts b/apps/studio/src/hooks/use-ai-icon.ts
similarity index 94%
rename from src/hooks/use-ai-icon.ts
rename to apps/studio/src/hooks/use-ai-icon.ts
index ed9c1b9ceb..d58d5453e7 100644
--- a/src/hooks/use-ai-icon.ts
+++ b/apps/studio/src/hooks/use-ai-icon.ts
@@ -1,8 +1,7 @@
import { RuntimeLoader } from '@rive-app/canvas';
import { useRive, useStateMachineInput } from '@rive-app/react-canvas';
import { useCallback, useEffect } from '@wordpress/element';
-// eslint-disable-next-line import/no-unresolved
-import aiImage from '/assets/ai-icon.riv';
+import aiImage from '../../assets/ai-icon.riv';
const useAiIcon = () => {
const stateMachineName = 'State Machine A';
diff --git a/src/hooks/use-auth.ts b/apps/studio/src/hooks/use-auth.ts
similarity index 100%
rename from src/hooks/use-auth.ts
rename to apps/studio/src/hooks/use-auth.ts
diff --git a/src/hooks/use-confirmation-dialog.ts b/apps/studio/src/hooks/use-confirmation-dialog.ts
similarity index 100%
rename from src/hooks/use-confirmation-dialog.ts
rename to apps/studio/src/hooks/use-confirmation-dialog.ts
diff --git a/src/hooks/use-content-tabs.tsx b/apps/studio/src/hooks/use-content-tabs.tsx
similarity index 100%
rename from src/hooks/use-content-tabs.tsx
rename to apps/studio/src/hooks/use-content-tabs.tsx
diff --git a/src/hooks/use-delete-site.ts b/apps/studio/src/hooks/use-delete-site.ts
similarity index 100%
rename from src/hooks/use-delete-site.ts
rename to apps/studio/src/hooks/use-delete-site.ts
diff --git a/src/hooks/use-drag-and-drop-file.ts b/apps/studio/src/hooks/use-drag-and-drop-file.ts
similarity index 100%
rename from src/hooks/use-drag-and-drop-file.ts
rename to apps/studio/src/hooks/use-drag-and-drop-file.ts
diff --git a/src/hooks/use-effective-tab.tsx b/apps/studio/src/hooks/use-effective-tab.tsx
similarity index 100%
rename from src/hooks/use-effective-tab.tsx
rename to apps/studio/src/hooks/use-effective-tab.tsx
diff --git a/src/hooks/use-execute-cli.ts b/apps/studio/src/hooks/use-execute-cli.ts
similarity index 100%
rename from src/hooks/use-execute-cli.ts
rename to apps/studio/src/hooks/use-execute-cli.ts
diff --git a/src/hooks/use-expiration-date.ts b/apps/studio/src/hooks/use-expiration-date.ts
similarity index 92%
rename from src/hooks/use-expiration-date.ts
rename to apps/studio/src/hooks/use-expiration-date.ts
index e69bced883..47afaf72d2 100644
--- a/src/hooks/use-expiration-date.ts
+++ b/apps/studio/src/hooks/use-expiration-date.ts
@@ -1,7 +1,7 @@
+import { HOUR_MS, DAY_MS, DEMO_SITE_EXPIRATION_DAYS } from '@studio/common/constants';
+import { SupportedLocale } from '@studio/common/lib/locale';
import { useI18n } from '@wordpress/react-i18n';
import { intervalToDuration, formatDuration, addDays, DurationUnit, addHours } from 'date-fns';
-import { HOUR_MS, DAY_MS, DEMO_SITE_EXPIRATION_DAYS } from 'common/constants';
-import { SupportedLocale } from 'common/lib/locale';
import { formatDistance } from 'src/lib/date';
import { useI18nLocale } from 'src/stores';
diff --git a/src/hooks/use-feature-flags.tsx b/apps/studio/src/hooks/use-feature-flags.tsx
similarity index 100%
rename from src/hooks/use-feature-flags.tsx
rename to apps/studio/src/hooks/use-feature-flags.tsx
diff --git a/src/hooks/use-format-localized-timestamps.tsx b/apps/studio/src/hooks/use-format-localized-timestamps.tsx
similarity index 100%
rename from src/hooks/use-format-localized-timestamps.tsx
rename to apps/studio/src/hooks/use-format-localized-timestamps.tsx
diff --git a/src/hooks/use-fullscreen.ts b/apps/studio/src/hooks/use-fullscreen.ts
similarity index 100%
rename from src/hooks/use-fullscreen.ts
rename to apps/studio/src/hooks/use-fullscreen.ts
diff --git a/src/hooks/use-get-wp-version.ts b/apps/studio/src/hooks/use-get-wp-version.ts
similarity index 100%
rename from src/hooks/use-get-wp-version.ts
rename to apps/studio/src/hooks/use-get-wp-version.ts
diff --git a/src/hooks/use-gravatar-url.ts b/apps/studio/src/hooks/use-gravatar-url.ts
similarity index 100%
rename from src/hooks/use-gravatar-url.ts
rename to apps/studio/src/hooks/use-gravatar-url.ts
diff --git a/src/hooks/use-import-export.tsx b/apps/studio/src/hooks/use-import-export.tsx
similarity index 100%
rename from src/hooks/use-import-export.tsx
rename to apps/studio/src/hooks/use-import-export.tsx
diff --git a/src/hooks/use-ipc-listener.ts b/apps/studio/src/hooks/use-ipc-listener.ts
similarity index 100%
rename from src/hooks/use-ipc-listener.ts
rename to apps/studio/src/hooks/use-ipc-listener.ts
diff --git a/src/hooks/use-is-valid-blueprint.ts b/apps/studio/src/hooks/use-is-valid-blueprint.ts
similarity index 100%
rename from src/hooks/use-is-valid-blueprint.ts
rename to apps/studio/src/hooks/use-is-valid-blueprint.ts
diff --git a/src/hooks/use-is-valid-wp-cli-inline.ts b/apps/studio/src/hooks/use-is-valid-wp-cli-inline.ts
similarity index 100%
rename from src/hooks/use-is-valid-wp-cli-inline.ts
rename to apps/studio/src/hooks/use-is-valid-wp-cli-inline.ts
diff --git a/src/hooks/use-localization-support.ts b/apps/studio/src/hooks/use-localization-support.ts
similarity index 100%
rename from src/hooks/use-localization-support.ts
rename to apps/studio/src/hooks/use-localization-support.ts
diff --git a/src/hooks/use-offline.ts b/apps/studio/src/hooks/use-offline.ts
similarity index 100%
rename from src/hooks/use-offline.ts
rename to apps/studio/src/hooks/use-offline.ts
diff --git a/src/hooks/use-progress.tsx b/apps/studio/src/hooks/use-progress.tsx
similarity index 100%
rename from src/hooks/use-progress.tsx
rename to apps/studio/src/hooks/use-progress.tsx
diff --git a/src/hooks/use-sha256.ts b/apps/studio/src/hooks/use-sha256.ts
similarity index 100%
rename from src/hooks/use-sha256.ts
rename to apps/studio/src/hooks/use-sha256.ts
diff --git a/src/hooks/use-sidebar-visibility.ts b/apps/studio/src/hooks/use-sidebar-visibility.ts
similarity index 100%
rename from src/hooks/use-sidebar-visibility.ts
rename to apps/studio/src/hooks/use-sidebar-visibility.ts
diff --git a/src/hooks/use-site-details.tsx b/apps/studio/src/hooks/use-site-details.tsx
similarity index 99%
rename from src/hooks/use-site-details.tsx
rename to apps/studio/src/hooks/use-site-details.tsx
index cad2214a06..13bbf09749 100644
--- a/src/hooks/use-site-details.tsx
+++ b/apps/studio/src/hooks/use-site-details.tsx
@@ -1,3 +1,5 @@
+import { SITE_EVENTS, SiteEvent } from '@studio/common/lib/site-events';
+import { sortSites } from '@studio/common/lib/sort-sites';
import { __, sprintf } from '@wordpress/i18n';
import {
ReactNode,
@@ -8,8 +10,6 @@ import {
useMemo,
useState,
} from 'react';
-import { SITE_EVENTS, SiteEvent } from 'common/lib/site-events';
-import { sortSites } from 'common/lib/sort-sites';
import { useAuth } from 'src/hooks/use-auth';
import { useContentTabs } from 'src/hooks/use-content-tabs';
import { useIpcListener } from 'src/hooks/use-ipc-listener';
diff --git a/src/hooks/use-site-size.ts b/apps/studio/src/hooks/use-site-size.ts
similarity index 92%
rename from src/hooks/use-site-size.ts
rename to apps/studio/src/hooks/use-site-size.ts
index fc73503204..8fb3c8d07f 100644
--- a/src/hooks/use-site-size.ts
+++ b/apps/studio/src/hooks/use-site-size.ts
@@ -1,5 +1,5 @@
+import { DEMO_SITE_SIZE_LIMIT_BYTES } from '@studio/common/constants';
import { useState, useEffect, useCallback } from 'react';
-import { DEMO_SITE_SIZE_LIMIT_BYTES } from 'common/constants';
import { useWindowListener } from 'src/hooks/use-window-listener';
import { getIpcApi } from 'src/lib/get-ipc-api';
diff --git a/src/hooks/use-sync-states-progress-info.ts b/apps/studio/src/hooks/use-sync-states-progress-info.ts
similarity index 100%
rename from src/hooks/use-sync-states-progress-info.ts
rename to apps/studio/src/hooks/use-sync-states-progress-info.ts
diff --git a/src/hooks/use-theme-details.tsx b/apps/studio/src/hooks/use-theme-details.tsx
similarity index 100%
rename from src/hooks/use-theme-details.tsx
rename to apps/studio/src/hooks/use-theme-details.tsx
diff --git a/src/hooks/use-window-listener.ts b/apps/studio/src/hooks/use-window-listener.ts
similarity index 100%
rename from src/hooks/use-window-listener.ts
rename to apps/studio/src/hooks/use-window-listener.ts
diff --git a/src/index.css b/apps/studio/src/index.css
similarity index 96%
rename from src/index.css
rename to apps/studio/src/index.css
index 4f2ed3b72a..b4d5e8ca62 100644
--- a/src/index.css
+++ b/apps/studio/src/index.css
@@ -11,11 +11,16 @@
body {
font-family:
- -apple-system, BlinkMacSystemFont, /* macOS/iOS system UI */
- 'Segoe UI', Roboto, /* Windows + Android system UI */
- 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', /* emoji */
- 'Noto Sans', 'Arial Unicode MS', /* broad Unicode coverage */
- sans-serif;
+ -apple-system,
+ BlinkMacSystemFont,
+ /* macOS/iOS system UI */ 'Segoe UI',
+ Roboto,
+ /* Windows + Android system UI */ 'Apple Color Emoji',
+ 'Segoe UI Emoji',
+ 'Noto Color Emoji',
+ /* emoji */ 'Noto Sans',
+ 'Arial Unicode MS',
+ /* broad Unicode coverage */ sans-serif;
}
.app-drag-region {
@@ -52,7 +57,7 @@ blockquote {
.components-tab-panel__tabs {
padding: 0 theme( 'spacing.4' );
- border-bottom: 1px solid theme( 'colors.a8c-gray.5' );
+ border-bottom: 1px solid theme( 'colors.a8c-gray-5' );
}
.components-tab-panel__tabs-item {
diff --git a/src/index.ts b/apps/studio/src/index.ts
similarity index 98%
rename from src/index.ts
rename to apps/studio/src/index.ts
index 64db916882..bb5e137d97 100644
--- a/src/index.ts
+++ b/apps/studio/src/index.ts
@@ -12,21 +12,21 @@ import {
import path from 'path';
import { pathToFileURL } from 'url';
import * as Sentry from '@sentry/electron/main';
+import { PROTOCOL_PREFIX } from '@studio/common/constants';
+import {
+ bumpStat,
+ bumpAggregatedUniqueStat,
+ AppdataProvider,
+ LastBumpStatsData,
+} from '@studio/common/lib/bump-stat';
+import { suppressPunycodeWarning } from '@studio/common/lib/suppress-punycode-warning';
+import { StatsGroup } from '@studio/common/types/stats';
import { __, _n, sprintf } from '@wordpress/i18n';
import {
installExtension,
REACT_DEVELOPER_TOOLS,
REDUX_DEVTOOLS,
} from 'electron-devtools-installer';
-import { PROTOCOL_PREFIX } from 'common/constants';
-import {
- bumpStat,
- bumpAggregatedUniqueStat,
- AppdataProvider,
- LastBumpStatsData,
-} from 'common/lib/bump-stat';
-import { suppressPunycodeWarning } from 'common/lib/suppress-punycode-warning';
-import { StatsGroup } from 'common/types/stats';
import { IPC_VOID_HANDLERS } from 'src/constants';
import * as ipcHandlers from 'src/ipc-handlers';
import {
@@ -95,7 +95,7 @@ const appAppdataProvider: AppdataProvider< LastBumpStatsData > = {
unlock: unlockAppdata,
save: async ( data ) => {
// Cast is safe: data comes from loadUserData() which returns the full UserData type.
- // The lock/unlock is already handled by the caller (updateLastBump in common/lib/bump-stat.ts)
+ // The lock/unlock is already handled by the caller (updateLastBump in /common/lib/bump-stat.ts)
// eslint-disable-next-line studio/require-lock-before-save
await saveUserData( data as never );
},
diff --git a/src/ipc-handlers.ts b/apps/studio/src/ipc-handlers.ts
similarity index 98%
rename from src/ipc-handlers.ts
rename to apps/studio/src/ipc-handlers.ts
index b26391a497..a4cfa9a8d2 100644
--- a/src/ipc-handlers.ts
+++ b/apps/studio/src/ipc-handlers.ts
@@ -17,10 +17,9 @@ import https from 'node:https';
import os from 'os';
import nodePath from 'path';
import * as Sentry from '@sentry/electron/main';
-import { __, sprintf, LocaleData, defaultI18n } from '@wordpress/i18n';
-import { validateBlueprintData } from 'common/lib/blueprint-validation';
-import { bumpStat } from 'common/lib/bump-stat';
-import { parseCliError, errorMessageContains } from 'common/lib/cli-error';
+import { validateBlueprintData } from '@studio/common/lib/blueprint-validation';
+import { bumpStat } from '@studio/common/lib/bump-stat';
+import { parseCliError, errorMessageContains } from '@studio/common/lib/cli-error';
import {
calculateDirectorySize,
isWordPressDirectory,
@@ -28,15 +27,16 @@ import {
isEmptyDir,
pathExists,
recursiveCopyDirectory,
-} from 'common/lib/fs-utils';
-import { getWordPressVersion } from 'common/lib/get-wordpress-version';
-import { isErrnoException } from 'common/lib/is-errno-exception';
-import { getAuthenticationUrl } from 'common/lib/oauth';
-import { portFinder } from 'common/lib/port-finder';
-import { sanitizeFolderName } from 'common/lib/sanitize-folder-name';
-import { isWordPressDevVersion } from 'common/lib/wordpress-version-utils';
-import { Snapshot } from 'common/types/snapshot';
-import { StatsGroup, StatsMetric } from 'common/types/stats';
+} from '@studio/common/lib/fs-utils';
+import { getWordPressVersion } from '@studio/common/lib/get-wordpress-version';
+import { isErrnoException } from '@studio/common/lib/is-errno-exception';
+import { getAuthenticationUrl } from '@studio/common/lib/oauth';
+import { portFinder } from '@studio/common/lib/port-finder';
+import { sanitizeFolderName } from '@studio/common/lib/sanitize-folder-name';
+import { isWordPressDevVersion } from '@studio/common/lib/wordpress-version-utils';
+import { Snapshot } from '@studio/common/types/snapshot';
+import { StatsGroup, StatsMetric } from '@studio/common/types/stats';
+import { __, sprintf, LocaleData, defaultI18n } from '@wordpress/i18n';
import { MAIN_MIN_WIDTH, SIDEBAR_WIDTH } from 'src/constants';
import { sendIpcEventToRendererWithWindow } from 'src/ipc-utils';
import { getBetaFeatures as getBetaFeaturesFromLib } from 'src/lib/beta-features';
diff --git a/src/ipc-types.d.ts b/apps/studio/src/ipc-types.d.ts
similarity index 100%
rename from src/ipc-types.d.ts
rename to apps/studio/src/ipc-types.d.ts
diff --git a/src/ipc-utils.ts b/apps/studio/src/ipc-utils.ts
similarity index 93%
rename from src/ipc-utils.ts
rename to apps/studio/src/ipc-utils.ts
index ec17a1eb51..25cbc40425 100644
--- a/src/ipc-utils.ts
+++ b/apps/studio/src/ipc-utils.ts
@@ -1,8 +1,8 @@
import crypto from 'crypto';
import { BrowserWindow } from 'electron';
-import { BlueprintValidationWarning } from 'common/lib/blueprint-validation';
-import { SiteEvent } from 'common/lib/site-events';
-import { PreviewCommandLoggerAction } from 'common/logger-actions';
+import { BlueprintValidationWarning } from '@studio/common/lib/blueprint-validation';
+import { SiteEvent } from '@studio/common/lib/site-events';
+import { PreviewCommandLoggerAction } from '@studio/common/logger-actions';
import { ImportExportEventData } from 'src/lib/import-export/handle-events';
import { StoredToken } from 'src/lib/oauth';
import { getMainWindow } from 'src/main-window';
diff --git a/src/lib/active-sync-operations.ts b/apps/studio/src/lib/active-sync-operations.ts
similarity index 100%
rename from src/lib/active-sync-operations.ts
rename to apps/studio/src/lib/active-sync-operations.ts
diff --git a/src/lib/app-globals.ts b/apps/studio/src/lib/app-globals.ts
similarity index 100%
rename from src/lib/app-globals.ts
rename to apps/studio/src/lib/app-globals.ts
diff --git a/src/lib/beta-features.ts b/apps/studio/src/lib/beta-features.ts
similarity index 100%
rename from src/lib/beta-features.ts
rename to apps/studio/src/lib/beta-features.ts
diff --git a/src/lib/bump-stats/lib.ts b/apps/studio/src/lib/bump-stats/lib.ts
similarity index 95%
rename from src/lib/bump-stats/lib.ts
rename to apps/studio/src/lib/bump-stats/lib.ts
index 060b54e2ee..c6b3f71df3 100644
--- a/src/lib/bump-stats/lib.ts
+++ b/apps/studio/src/lib/bump-stats/lib.ts
@@ -1,4 +1,4 @@
-import { StatsMetric } from 'common/types/stats';
+import { StatsMetric } from '@studio/common/types/stats';
import {
JetpackImporter,
LocalImporter,
diff --git a/src/lib/certificate-manager.ts b/apps/studio/src/lib/certificate-manager.ts
similarity index 100%
rename from src/lib/certificate-manager.ts
rename to apps/studio/src/lib/certificate-manager.ts
diff --git a/src/lib/cx.ts b/apps/studio/src/lib/cx.ts
similarity index 100%
rename from src/lib/cx.ts
rename to apps/studio/src/lib/cx.ts
diff --git a/src/lib/date.ts b/apps/studio/src/lib/date.ts
similarity index 100%
rename from src/lib/date.ts
rename to apps/studio/src/lib/date.ts
diff --git a/src/lib/deeplink/deeplink-handler.ts b/apps/studio/src/lib/deeplink/deeplink-handler.ts
similarity index 100%
rename from src/lib/deeplink/deeplink-handler.ts
rename to apps/studio/src/lib/deeplink/deeplink-handler.ts
diff --git a/src/lib/deeplink/handlers/add-site-with-blueprint.ts b/apps/studio/src/lib/deeplink/handlers/add-site-with-blueprint.ts
similarity index 97%
rename from src/lib/deeplink/handlers/add-site-with-blueprint.ts
rename to apps/studio/src/lib/deeplink/handlers/add-site-with-blueprint.ts
index 07eae6bf42..2ee8b65d11 100644
--- a/src/lib/deeplink/handlers/add-site-with-blueprint.ts
+++ b/apps/studio/src/lib/deeplink/handlers/add-site-with-blueprint.ts
@@ -1,8 +1,8 @@
import { app, dialog, shell } from 'electron';
import nodePath from 'path';
+import { validateBlueprintData } from '@studio/common/lib/blueprint-validation';
import { __ } from '@wordpress/i18n';
import fs from 'fs-extra';
-import { validateBlueprintData } from 'common/lib/blueprint-validation';
import { sendIpcEventToRenderer } from 'src/ipc-utils';
import { download } from 'src/lib/download';
import { getLogsFilePath } from 'src/logging';
diff --git a/src/lib/deeplink/handlers/auth.ts b/apps/studio/src/lib/deeplink/handlers/auth.ts
similarity index 93%
rename from src/lib/deeplink/handlers/auth.ts
rename to apps/studio/src/lib/deeplink/handlers/auth.ts
index c655adbc02..82456aab60 100644
--- a/src/lib/deeplink/handlers/auth.ts
+++ b/apps/studio/src/lib/deeplink/handlers/auth.ts
@@ -1,8 +1,8 @@
import * as Sentry from '@sentry/electron/main';
+import wpcomFactory from '@studio/common/lib/wpcom-factory';
+import wpcomXhrRequest from '@studio/common/lib/wpcom-xhr-request-factory';
import { z } from 'zod';
import { sendIpcEventToRenderer } from 'src/ipc-utils';
-import wpcomFactory from 'src/lib/wpcom-factory';
-import wpcomXhrRequest from 'src/lib/wpcom-xhr-request-factory';
import { updateAppdata } from 'src/storage/user-data';
const authTokenSchema = z.object( {
diff --git a/src/lib/deeplink/handlers/sync-connect-site.ts b/apps/studio/src/lib/deeplink/handlers/sync-connect-site.ts
similarity index 100%
rename from src/lib/deeplink/handlers/sync-connect-site.ts
rename to apps/studio/src/lib/deeplink/handlers/sync-connect-site.ts
diff --git a/src/lib/deeplink/index.ts b/apps/studio/src/lib/deeplink/index.ts
similarity index 100%
rename from src/lib/deeplink/index.ts
rename to apps/studio/src/lib/deeplink/index.ts
diff --git a/src/lib/deeplink/tests/add-site.test.ts b/apps/studio/src/lib/deeplink/tests/add-site.test.ts
similarity index 98%
rename from src/lib/deeplink/tests/add-site.test.ts
rename to apps/studio/src/lib/deeplink/tests/add-site.test.ts
index e49a49e1a4..1b8369d568 100644
--- a/src/lib/deeplink/tests/add-site.test.ts
+++ b/apps/studio/src/lib/deeplink/tests/add-site.test.ts
@@ -1,7 +1,7 @@
import { app, dialog, shell, BrowserWindow } from 'electron';
+import { validateBlueprintData } from '@studio/common/lib/blueprint-validation';
import fs from 'fs-extra';
import { vi, beforeAll, afterAll } from 'vitest';
-import { validateBlueprintData } from 'common/lib/blueprint-validation';
import { sendIpcEventToRenderer } from 'src/ipc-utils';
import { handleAddSiteWithBlueprint } from 'src/lib/deeplink/handlers/add-site-with-blueprint';
import { download } from 'src/lib/download';
@@ -15,7 +15,7 @@ vi.mock( 'src/main-window' );
vi.mock( 'src/logging', () => ( {
getLogsFilePath: vi.fn( () => '/mock/path/to/logs.log' ),
} ) );
-vi.mock( 'common/lib/blueprint-validation', () => ( {
+vi.mock( '@studio/common/lib/blueprint-validation', () => ( {
validateBlueprintData: vi.fn(),
} ) );
diff --git a/src/lib/deeplink/tests/auth.test.ts b/apps/studio/src/lib/deeplink/tests/auth.test.ts
similarity index 95%
rename from src/lib/deeplink/tests/auth.test.ts
rename to apps/studio/src/lib/deeplink/tests/auth.test.ts
index 3e961cd8fd..00cb23fbbf 100644
--- a/src/lib/deeplink/tests/auth.test.ts
+++ b/apps/studio/src/lib/deeplink/tests/auth.test.ts
@@ -10,12 +10,12 @@ const mockWpcomGet = vi.fn();
vi.mock( 'src/lib/certificate-manager', () => ( {} ) );
vi.mock( 'src/ipc-utils' );
-vi.mock( 'src/lib/wpcom-factory', () => ( {
+vi.mock( '@studio/common/lib/wpcom-factory', () => ( {
default: () => ( {
req: { get: mockWpcomGet },
} ),
} ) );
-vi.mock( 'src/lib/wpcom-xhr-request-factory', () => ( {
+vi.mock( '@studio/common/lib/wpcom-xhr-request-factory', () => ( {
default: vi.fn(),
} ) );
diff --git a/src/lib/deeplink/tests/sync-connect-site.test.ts b/apps/studio/src/lib/deeplink/tests/sync-connect-site.test.ts
similarity index 100%
rename from src/lib/deeplink/tests/sync-connect-site.test.ts
rename to apps/studio/src/lib/deeplink/tests/sync-connect-site.test.ts
diff --git a/src/lib/download-utils.ts b/apps/studio/src/lib/download-utils.ts
similarity index 99%
rename from src/lib/download-utils.ts
rename to apps/studio/src/lib/download-utils.ts
index 20f4566b56..c3bb09d248 100644
--- a/src/lib/download-utils.ts
+++ b/apps/studio/src/lib/download-utils.ts
@@ -6,10 +6,10 @@
import { IncomingMessage } from 'http';
import os from 'os';
import path from 'path';
+import { extractZip } from '@studio/common/lib/extract-zip';
import followRedirects, { FollowResponse } from 'follow-redirects';
import fs from 'fs-extra';
import { HttpProxyAgent, HttpsProxyAgent } from 'hpagent';
-import { extractZip } from 'common/lib/extract-zip';
import { getWordPressVersionPath, getWpCliPath } from './server-files-paths';
const { https } = followRedirects;
diff --git a/src/lib/download.ts b/apps/studio/src/lib/download.ts
similarity index 100%
rename from src/lib/download.ts
rename to apps/studio/src/lib/download.ts
diff --git a/src/lib/error-formatting.ts b/apps/studio/src/lib/error-formatting.ts
similarity index 100%
rename from src/lib/error-formatting.ts
rename to apps/studio/src/lib/error-formatting.ts
diff --git a/src/lib/feature-flags.ts b/apps/studio/src/lib/feature-flags.ts
similarity index 100%
rename from src/lib/feature-flags.ts
rename to apps/studio/src/lib/feature-flags.ts
diff --git a/src/lib/generate-checkout-url.ts b/apps/studio/src/lib/generate-checkout-url.ts
similarity index 91%
rename from src/lib/generate-checkout-url.ts
rename to apps/studio/src/lib/generate-checkout-url.ts
index e6749151c4..b5e455fd75 100644
--- a/src/lib/generate-checkout-url.ts
+++ b/apps/studio/src/lib/generate-checkout-url.ts
@@ -1,4 +1,4 @@
-import { DEFAULT_CUSTOM_DOMAIN_SUFFIX } from 'common/constants';
+import { DEFAULT_CUSTOM_DOMAIN_SUFFIX } from '@studio/common/constants';
export function generateCheckoutUrl(
selectedSite?: SiteDetails,
diff --git a/src/lib/generate-site-name.ts b/apps/studio/src/lib/generate-site-name.ts
similarity index 96%
rename from src/lib/generate-site-name.ts
rename to apps/studio/src/lib/generate-site-name.ts
index 88038ee94e..db297932aa 100644
--- a/src/lib/generate-site-name.ts
+++ b/apps/studio/src/lib/generate-site-name.ts
@@ -1,7 +1,7 @@
import { __ } from '@wordpress/i18n';
import { getIpcApi } from 'src/lib/get-ipc-api';
-export { sanitizeFolderName } from 'common/lib/sanitize-folder-name';
+export { sanitizeFolderName } from '@studio/common/lib/sanitize-folder-name';
async function isNameAvailable( name: string, usedSites: SiteDetails[] ): Promise< boolean > {
const isNameUnique = ! usedSites.some( ( site ) => site.name === name );
diff --git a/src/lib/get-image-data.ts b/apps/studio/src/lib/get-image-data.ts
similarity index 100%
rename from src/lib/get-image-data.ts
rename to apps/studio/src/lib/get-image-data.ts
diff --git a/src/lib/get-ipc-api.ts b/apps/studio/src/lib/get-ipc-api.ts
similarity index 100%
rename from src/lib/get-ipc-api.ts
rename to apps/studio/src/lib/get-ipc-api.ts
diff --git a/src/lib/get-localized-link.ts b/apps/studio/src/lib/get-localized-link.ts
similarity index 98%
rename from src/lib/get-localized-link.ts
rename to apps/studio/src/lib/get-localized-link.ts
index 7ed1c5a7b5..cefbfee99c 100644
--- a/src/lib/get-localized-link.ts
+++ b/apps/studio/src/lib/get-localized-link.ts
@@ -1,4 +1,4 @@
-import { SupportedLocale } from 'common/lib/locale';
+import { SupportedLocale } from '@studio/common/lib/locale';
// English is always required, and the other locales are optional.
type TranslatedLink = Partial< Record< SupportedLocale, string > > & { en: string };
diff --git a/src/lib/get-site-url.ts b/apps/studio/src/lib/get-site-url.ts
similarity index 100%
rename from src/lib/get-site-url.ts
rename to apps/studio/src/lib/get-site-url.ts
diff --git a/src/lib/get-sync-backup-temp-path.ts b/apps/studio/src/lib/get-sync-backup-temp-path.ts
similarity index 100%
rename from src/lib/get-sync-backup-temp-path.ts
rename to apps/studio/src/lib/get-sync-backup-temp-path.ts
diff --git a/src/lib/hosts-file.ts b/apps/studio/src/lib/hosts-file.ts
similarity index 99%
rename from src/lib/hosts-file.ts
rename to apps/studio/src/lib/hosts-file.ts
index 3d64c7d026..6cdbbeac21 100644
--- a/src/lib/hosts-file.ts
+++ b/apps/studio/src/lib/hosts-file.ts
@@ -4,7 +4,7 @@ import { platform, tmpdir } from 'os';
import path from 'path';
import { promisify } from 'util';
import * as Sentry from '@sentry/electron/main';
-import { escapeRegex } from 'common/lib/escape-regex';
+import { escapeRegex } from '@studio/common/lib/escape-regex';
import { sudoExec } from 'src/lib/sudo-exec';
const readFile = promisify( fs.readFile );
diff --git a/src/lib/import-export/export/events.ts b/apps/studio/src/lib/import-export/export/events.ts
similarity index 100%
rename from src/lib/import-export/export/events.ts
rename to apps/studio/src/lib/import-export/export/events.ts
diff --git a/src/lib/import-export/export/export-database.ts b/apps/studio/src/lib/import-export/export/export-database.ts
similarity index 97%
rename from src/lib/import-export/export/export-database.ts
rename to apps/studio/src/lib/import-export/export/export-database.ts
index 073179223f..50bf4dd3f0 100644
--- a/src/lib/import-export/export/export-database.ts
+++ b/apps/studio/src/lib/import-export/export/export-database.ts
@@ -1,6 +1,6 @@
import path from 'path';
+import { parseJsonFromPhpOutput } from '@studio/common/lib/php-output-parser';
import { move } from 'fs-extra';
-import { parseJsonFromPhpOutput } from 'common/lib/php-output-parser';
import { generateBackupFilename } from 'src/lib/import-export/export/generate-backup-filename';
import { SiteServer } from 'src/site-server';
diff --git a/src/lib/import-export/export/export-manager.ts b/apps/studio/src/lib/import-export/export/export-manager.ts
similarity index 100%
rename from src/lib/import-export/export/export-manager.ts
rename to apps/studio/src/lib/import-export/export/export-manager.ts
diff --git a/src/lib/import-export/export/exporters/default-exporter.ts b/apps/studio/src/lib/import-export/export/exporters/default-exporter.ts
similarity index 98%
rename from src/lib/import-export/export/exporters/default-exporter.ts
rename to apps/studio/src/lib/import-export/export/exporters/default-exporter.ts
index ea8fde95d8..e303aa3d66 100644
--- a/src/lib/import-export/export/exporters/default-exporter.ts
+++ b/apps/studio/src/lib/import-export/export/exporters/default-exporter.ts
@@ -3,8 +3,12 @@ import fs from 'fs';
import fsPromises from 'fs/promises';
import os from 'os';
import path from 'path';
+import { parseJsonFromPhpOutput } from '@studio/common/lib/php-output-parser';
+import {
+ hasDefaultDbBlock,
+ removeDbConstants,
+} from '@studio/common/lib/remove-default-db-constants';
import archiver from 'archiver';
-import { parseJsonFromPhpOutput } from 'common/lib/php-output-parser';
import { ARCHIVER_OPTIONS } from 'src/constants';
import { getSiteUrl } from 'src/lib/get-site-url';
import { ExportEvents } from 'src/lib/import-export/export/events';
@@ -21,7 +25,6 @@ import {
StudioJson,
} from 'src/lib/import-export/export/types';
import { getWordPressVersionFromInstallation } from 'src/lib/wp-versions';
-import { hasDefaultDbBlock, removeDbConstants } from 'src/migrations/remove-default-db-constants';
import { SiteServer } from 'src/site-server';
export class DefaultExporter extends EventEmitter implements Exporter {
diff --git a/src/lib/import-export/export/exporters/index.ts b/apps/studio/src/lib/import-export/export/exporters/index.ts
similarity index 100%
rename from src/lib/import-export/export/exporters/index.ts
rename to apps/studio/src/lib/import-export/export/exporters/index.ts
diff --git a/src/lib/import-export/export/exporters/sql-exporter.ts b/apps/studio/src/lib/import-export/export/exporters/sql-exporter.ts
similarity index 100%
rename from src/lib/import-export/export/exporters/sql-exporter.ts
rename to apps/studio/src/lib/import-export/export/exporters/sql-exporter.ts
diff --git a/src/lib/import-export/export/generate-backup-filename.ts b/apps/studio/src/lib/import-export/export/generate-backup-filename.ts
similarity index 100%
rename from src/lib/import-export/export/generate-backup-filename.ts
rename to apps/studio/src/lib/import-export/export/generate-backup-filename.ts
diff --git a/src/lib/import-export/export/types.ts b/apps/studio/src/lib/import-export/export/types.ts
similarity index 100%
rename from src/lib/import-export/export/types.ts
rename to apps/studio/src/lib/import-export/export/types.ts
diff --git a/src/lib/import-export/handle-events.ts b/apps/studio/src/lib/import-export/handle-events.ts
similarity index 100%
rename from src/lib/import-export/handle-events.ts
rename to apps/studio/src/lib/import-export/handle-events.ts
diff --git a/src/lib/import-export/import/events.ts b/apps/studio/src/lib/import-export/import/events.ts
similarity index 100%
rename from src/lib/import-export/import/events.ts
rename to apps/studio/src/lib/import-export/import/events.ts
diff --git a/src/lib/import-export/import/handlers/backup-handler-factory.ts b/apps/studio/src/lib/import-export/import/handlers/backup-handler-factory.ts
similarity index 100%
rename from src/lib/import-export/import/handlers/backup-handler-factory.ts
rename to apps/studio/src/lib/import-export/import/handlers/backup-handler-factory.ts
diff --git a/src/lib/import-export/import/handlers/backup-handler-sql.ts b/apps/studio/src/lib/import-export/import/handlers/backup-handler-sql.ts
similarity index 100%
rename from src/lib/import-export/import/handlers/backup-handler-sql.ts
rename to apps/studio/src/lib/import-export/import/handlers/backup-handler-sql.ts
diff --git a/src/lib/import-export/import/handlers/backup-handler-tar-gz.ts b/apps/studio/src/lib/import-export/import/handlers/backup-handler-tar-gz.ts
similarity index 100%
rename from src/lib/import-export/import/handlers/backup-handler-tar-gz.ts
rename to apps/studio/src/lib/import-export/import/handlers/backup-handler-tar-gz.ts
diff --git a/src/lib/import-export/import/handlers/backup-handler-wpress.ts b/apps/studio/src/lib/import-export/import/handlers/backup-handler-wpress.ts
similarity index 100%
rename from src/lib/import-export/import/handlers/backup-handler-wpress.ts
rename to apps/studio/src/lib/import-export/import/handlers/backup-handler-wpress.ts
diff --git a/src/lib/import-export/import/handlers/backup-handler-zip.ts b/apps/studio/src/lib/import-export/import/handlers/backup-handler-zip.ts
similarity index 100%
rename from src/lib/import-export/import/handlers/backup-handler-zip.ts
rename to apps/studio/src/lib/import-export/import/handlers/backup-handler-zip.ts
diff --git a/src/lib/import-export/import/import-manager.ts b/apps/studio/src/lib/import-export/import/import-manager.ts
similarity index 100%
rename from src/lib/import-export/import/import-manager.ts
rename to apps/studio/src/lib/import-export/import/import-manager.ts
diff --git a/src/lib/import-export/import/importers/importer.ts b/apps/studio/src/lib/import-export/import/importers/importer.ts
similarity index 99%
rename from src/lib/import-export/import/importers/importer.ts
rename to apps/studio/src/lib/import-export/import/importers/importer.ts
index 57d5154e2e..ee56f87369 100644
--- a/src/lib/import-export/import/importers/importer.ts
+++ b/apps/studio/src/lib/import-export/import/importers/importer.ts
@@ -4,10 +4,10 @@ import fs, { createReadStream, createWriteStream } from 'fs';
import fsPromises from 'fs/promises';
import path from 'path';
import { createInterface } from 'readline';
+import { DEFAULT_PHP_VERSION } from '@studio/common/constants';
+import { SupportedPHPVersionsList } from '@studio/common/types/php-versions';
import { lstat, move } from 'fs-extra';
import semver from 'semver';
-import { DEFAULT_PHP_VERSION } from 'common/constants';
-import { SupportedPHPVersionsList } from 'common/types/php-versions';
import { getSiteUrl } from 'src/lib/get-site-url';
import { generateBackupFilename } from 'src/lib/import-export/export/generate-backup-filename';
import { ImportEvents } from 'src/lib/import-export/import/events';
diff --git a/src/lib/import-export/import/importers/index.ts b/apps/studio/src/lib/import-export/import/importers/index.ts
similarity index 100%
rename from src/lib/import-export/import/importers/index.ts
rename to apps/studio/src/lib/import-export/import/importers/index.ts
diff --git a/src/lib/import-export/import/types.ts b/apps/studio/src/lib/import-export/import/types.ts
similarity index 100%
rename from src/lib/import-export/import/types.ts
rename to apps/studio/src/lib/import-export/import/types.ts
diff --git a/src/lib/import-export/import/validators/index.ts b/apps/studio/src/lib/import-export/import/validators/index.ts
similarity index 100%
rename from src/lib/import-export/import/validators/index.ts
rename to apps/studio/src/lib/import-export/import/validators/index.ts
diff --git a/src/lib/import-export/import/validators/jetpack-validator.ts b/apps/studio/src/lib/import-export/import/validators/jetpack-validator.ts
similarity index 100%
rename from src/lib/import-export/import/validators/jetpack-validator.ts
rename to apps/studio/src/lib/import-export/import/validators/jetpack-validator.ts
diff --git a/src/lib/import-export/import/validators/local-validator.ts b/apps/studio/src/lib/import-export/import/validators/local-validator.ts
similarity index 100%
rename from src/lib/import-export/import/validators/local-validator.ts
rename to apps/studio/src/lib/import-export/import/validators/local-validator.ts
diff --git a/src/lib/import-export/import/validators/playground-validator.ts b/apps/studio/src/lib/import-export/import/validators/playground-validator.ts
similarity index 100%
rename from src/lib/import-export/import/validators/playground-validator.ts
rename to apps/studio/src/lib/import-export/import/validators/playground-validator.ts
diff --git a/src/lib/import-export/import/validators/sql-validator.ts b/apps/studio/src/lib/import-export/import/validators/sql-validator.ts
similarity index 100%
rename from src/lib/import-export/import/validators/sql-validator.ts
rename to apps/studio/src/lib/import-export/import/validators/sql-validator.ts
diff --git a/src/lib/import-export/import/validators/validator.ts b/apps/studio/src/lib/import-export/import/validators/validator.ts
similarity index 100%
rename from src/lib/import-export/import/validators/validator.ts
rename to apps/studio/src/lib/import-export/import/validators/validator.ts
diff --git a/src/lib/import-export/import/validators/wpress-validator.ts b/apps/studio/src/lib/import-export/import/validators/wpress-validator.ts
similarity index 100%
rename from src/lib/import-export/import/validators/wpress-validator.ts
rename to apps/studio/src/lib/import-export/import/validators/wpress-validator.ts
diff --git a/src/lib/import-export/tests/export/export-manager.test.ts b/apps/studio/src/lib/import-export/tests/export/export-manager.test.ts
similarity index 100%
rename from src/lib/import-export/tests/export/export-manager.test.ts
rename to apps/studio/src/lib/import-export/tests/export/export-manager.test.ts
diff --git a/src/lib/import-export/tests/export/exporters/default-exporter.test.ts b/apps/studio/src/lib/import-export/tests/export/exporters/default-exporter.test.ts
similarity index 99%
rename from src/lib/import-export/tests/export/exporters/default-exporter.test.ts
rename to apps/studio/src/lib/import-export/tests/export/exporters/default-exporter.test.ts
index 329a23ebdb..7170a5f363 100644
--- a/src/lib/import-export/tests/export/exporters/default-exporter.test.ts
+++ b/apps/studio/src/lib/import-export/tests/export/exporters/default-exporter.test.ts
@@ -2,18 +2,18 @@ import fs from 'fs';
import fsPromises from 'fs/promises';
import os from 'os';
import path from 'path';
+import {
+ normalizeLineEndings,
+ removeDbConstants,
+} from '@studio/common/lib/remove-default-db-constants';
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import archiver from 'archiver';
import { format } from 'date-fns';
import { vi, beforeAll, afterAll, Mock, MockedFunction, Mocked } from 'vitest';
import { DefaultExporter } from 'src/lib/import-export/export/exporters';
import { ExportOptions, BackupContents } from 'src/lib/import-export/export/types';
import { getWordPressVersionFromInstallation } from 'src/lib/wp-versions';
-import {
- normalizeLineEndings,
- removeDbConstants,
-} from 'src/migrations/remove-default-db-constants';
import { SiteServer } from 'src/site-server';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
vi.mock( 'fs' );
vi.mock( 'fs/promises' );
diff --git a/src/lib/import-export/tests/export/exporters/sql-exporter.test.ts b/apps/studio/src/lib/import-export/tests/export/exporters/sql-exporter.test.ts
similarity index 96%
rename from src/lib/import-export/tests/export/exporters/sql-exporter.test.ts
rename to apps/studio/src/lib/import-export/tests/export/exporters/sql-exporter.test.ts
index 5c9b95cc63..e30c5ab626 100644
--- a/src/lib/import-export/tests/export/exporters/sql-exporter.test.ts
+++ b/apps/studio/src/lib/import-export/tests/export/exporters/sql-exporter.test.ts
@@ -1,9 +1,9 @@
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { move } from 'fs-extra';
import { vi } from 'vitest';
import { SqlExporter } from 'src/lib/import-export/export/exporters';
import { ExportOptions } from 'src/lib/import-export/export/types';
import { SiteServer } from 'src/site-server';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
vi.mock( 'fs' );
vi.mock( 'fs/promises' );
diff --git a/src/lib/import-export/tests/import/handlers/backup-handler.test.ts b/apps/studio/src/lib/import-export/tests/import/handlers/backup-handler.test.ts
similarity index 100%
rename from src/lib/import-export/tests/import/handlers/backup-handler.test.ts
rename to apps/studio/src/lib/import-export/tests/import/handlers/backup-handler.test.ts
diff --git a/src/lib/import-export/tests/import/import-manager.test.ts b/apps/studio/src/lib/import-export/tests/import/import-manager.test.ts
similarity index 100%
rename from src/lib/import-export/tests/import/import-manager.test.ts
rename to apps/studio/src/lib/import-export/tests/import/import-manager.test.ts
diff --git a/src/lib/import-export/tests/import/importer/jetpack-importer.test.ts b/apps/studio/src/lib/import-export/tests/import/importer/jetpack-importer.test.ts
similarity index 99%
rename from src/lib/import-export/tests/import/importer/jetpack-importer.test.ts
rename to apps/studio/src/lib/import-export/tests/import/importer/jetpack-importer.test.ts
index a2a51b0200..23937dc769 100644
--- a/src/lib/import-export/tests/import/importer/jetpack-importer.test.ts
+++ b/apps/studio/src/lib/import-export/tests/import/importer/jetpack-importer.test.ts
@@ -1,10 +1,10 @@
import * as fs from 'fs/promises';
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { lstat, move, Stats } from 'fs-extra';
import { vi } from 'vitest';
import { JetpackImporter, SQLImporter } from 'src/lib/import-export/import/importers';
import { BackupContents } from 'src/lib/import-export/import/types';
import { SiteServer } from 'src/site-server';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
vi.mock( 'fs/promises' );
vi.mock( 'src/site-server' );
diff --git a/src/lib/import-export/tests/import/importer/local-importer.test.ts b/apps/studio/src/lib/import-export/tests/import/importer/local-importer.test.ts
similarity index 98%
rename from src/lib/import-export/tests/import/importer/local-importer.test.ts
rename to apps/studio/src/lib/import-export/tests/import/importer/local-importer.test.ts
index ed8ab77018..c1830b0a80 100644
--- a/src/lib/import-export/tests/import/importer/local-importer.test.ts
+++ b/apps/studio/src/lib/import-export/tests/import/importer/local-importer.test.ts
@@ -1,10 +1,10 @@
import * as fs from 'fs/promises';
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { lstat, move, Stats } from 'fs-extra';
import { vi } from 'vitest';
import { LocalImporter } from 'src/lib/import-export/import/importers';
import { BackupContents } from 'src/lib/import-export/import/types';
import { SiteServer } from 'src/site-server';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
vi.mock( 'fs/promises' );
vi.mock( 'src/site-server' );
diff --git a/src/lib/import-export/tests/import/importer/playground-importer.test.ts b/apps/studio/src/lib/import-export/tests/import/importer/playground-importer.test.ts
similarity index 98%
rename from src/lib/import-export/tests/import/importer/playground-importer.test.ts
rename to apps/studio/src/lib/import-export/tests/import/importer/playground-importer.test.ts
index ea1b7b8471..52f33442a9 100644
--- a/src/lib/import-export/tests/import/importer/playground-importer.test.ts
+++ b/apps/studio/src/lib/import-export/tests/import/importer/playground-importer.test.ts
@@ -1,10 +1,10 @@
import * as fs from 'fs/promises';
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { lstat, move, Stats } from 'fs-extra';
import { vi } from 'vitest';
import { PlaygroundImporter } from 'src/lib/import-export/import/importers';
import { BackupContents } from 'src/lib/import-export/import/types';
import { SiteServer } from 'src/site-server';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
vi.mock( 'fs/promises' );
vi.mock( 'src/site-server' );
diff --git a/src/lib/import-export/tests/import/validators/jetpack-validator.test.ts b/apps/studio/src/lib/import-export/tests/import/validators/jetpack-validator.test.ts
similarity index 97%
rename from src/lib/import-export/tests/import/validators/jetpack-validator.test.ts
rename to apps/studio/src/lib/import-export/tests/import/validators/jetpack-validator.test.ts
index bb1a88ec1f..7d6c788369 100644
--- a/src/lib/import-export/tests/import/validators/jetpack-validator.test.ts
+++ b/apps/studio/src/lib/import-export/tests/import/validators/jetpack-validator.test.ts
@@ -1,5 +1,5 @@
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { JetpackValidator } from 'src/lib/import-export/import/validators/jetpack-validator';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
platformTestSuite( 'JetpackValidator', ( { normalize } ) => {
let validator: JetpackValidator;
diff --git a/src/lib/import-export/tests/import/validators/local-validator.test.ts b/apps/studio/src/lib/import-export/tests/import/validators/local-validator.test.ts
similarity index 97%
rename from src/lib/import-export/tests/import/validators/local-validator.test.ts
rename to apps/studio/src/lib/import-export/tests/import/validators/local-validator.test.ts
index 5e671273c4..ff4936ebee 100644
--- a/src/lib/import-export/tests/import/validators/local-validator.test.ts
+++ b/apps/studio/src/lib/import-export/tests/import/validators/local-validator.test.ts
@@ -1,5 +1,5 @@
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { LocalValidator } from 'src/lib/import-export/import/validators/local-validator';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
platformTestSuite( 'LocalValidator', ( { normalize } ) => {
let validator: LocalValidator;
diff --git a/src/lib/import-export/tests/import/validators/playground-validator.test.ts b/apps/studio/src/lib/import-export/tests/import/validators/playground-validator.test.ts
similarity index 97%
rename from src/lib/import-export/tests/import/validators/playground-validator.test.ts
rename to apps/studio/src/lib/import-export/tests/import/validators/playground-validator.test.ts
index f51afa307e..13f7aeb304 100644
--- a/src/lib/import-export/tests/import/validators/playground-validator.test.ts
+++ b/apps/studio/src/lib/import-export/tests/import/validators/playground-validator.test.ts
@@ -1,5 +1,5 @@
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { PlaygroundValidator } from 'src/lib/import-export/import/validators/playground-validator';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
platformTestSuite( 'PlaygroundValidator', ( { normalize } ) => {
const validator = new PlaygroundValidator();
diff --git a/src/lib/import-export/tests/import/validators/sql-validator.test.ts b/apps/studio/src/lib/import-export/tests/import/validators/sql-validator.test.ts
similarity index 94%
rename from src/lib/import-export/tests/import/validators/sql-validator.test.ts
rename to apps/studio/src/lib/import-export/tests/import/validators/sql-validator.test.ts
index f7948085e0..bb442e5f75 100644
--- a/src/lib/import-export/tests/import/validators/sql-validator.test.ts
+++ b/apps/studio/src/lib/import-export/tests/import/validators/sql-validator.test.ts
@@ -1,5 +1,5 @@
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { SqlValidator } from 'src/lib/import-export/import/validators/sql-validator';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
platformTestSuite( 'SqlValidator', ( { normalize } ) => {
let validator: SqlValidator;
diff --git a/src/lib/import-export/tests/import/validators/wpress-validator.test.ts b/apps/studio/src/lib/import-export/tests/import/validators/wpress-validator.test.ts
similarity index 97%
rename from src/lib/import-export/tests/import/validators/wpress-validator.test.ts
rename to apps/studio/src/lib/import-export/tests/import/validators/wpress-validator.test.ts
index b41817c958..3686d3d13c 100644
--- a/src/lib/import-export/tests/import/validators/wpress-validator.test.ts
+++ b/apps/studio/src/lib/import-export/tests/import/validators/wpress-validator.test.ts
@@ -1,7 +1,7 @@
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { vi } from 'vitest';
import { ImportEvents } from 'src/lib/import-export/import/events';
import { WpressValidator } from 'src/lib/import-export/import/validators/wpress-validator';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
platformTestSuite( 'WpressValidator', ( { sep: separator } ) => {
let validator: WpressValidator;
diff --git a/src/lib/is-installed.ts b/apps/studio/src/lib/is-installed.ts
similarity index 100%
rename from src/lib/is-installed.ts
rename to apps/studio/src/lib/is-installed.ts
diff --git a/src/lib/is-invalid-oauth-token-error.ts b/apps/studio/src/lib/is-invalid-oauth-token-error.ts
similarity index 100%
rename from src/lib/is-invalid-oauth-token-error.ts
rename to apps/studio/src/lib/is-invalid-oauth-token-error.ts
diff --git a/src/lib/is-window-frame-rtl.ts b/apps/studio/src/lib/is-window-frame-rtl.ts
similarity index 100%
rename from src/lib/is-window-frame-rtl.ts
rename to apps/studio/src/lib/is-window-frame-rtl.ts
diff --git a/src/lib/is-wpcom-network-error.ts b/apps/studio/src/lib/is-wpcom-network-error.ts
similarity index 100%
rename from src/lib/is-wpcom-network-error.ts
rename to apps/studio/src/lib/is-wpcom-network-error.ts
diff --git a/src/lib/locale-node.ts b/apps/studio/src/lib/locale-node.ts
similarity index 95%
rename from src/lib/locale-node.ts
rename to apps/studio/src/lib/locale-node.ts
index 3de5d6f3b6..8d5421bc09 100644
--- a/src/lib/locale-node.ts
+++ b/apps/studio/src/lib/locale-node.ts
@@ -5,7 +5,7 @@ import {
isSupportedLocale,
SupportedLocale,
supportedLocales,
-} from 'common/lib/locale';
+} from '@studio/common/lib/locale';
import { loadUserData } from 'src/storage/user-data';
export function getSupportedLocale() {
diff --git a/src/lib/oauth.ts b/apps/studio/src/lib/oauth.ts
similarity index 87%
rename from src/lib/oauth.ts
rename to apps/studio/src/lib/oauth.ts
index 6c984cbffc..e59f151520 100644
--- a/src/lib/oauth.ts
+++ b/apps/studio/src/lib/oauth.ts
@@ -1,7 +1,7 @@
+import { CLIENT_ID } from '@studio/common/constants';
+import { SupportedLocale } from '@studio/common/lib/locale';
+import { getAuthenticationUrl } from '@studio/common/lib/oauth';
import { z } from 'zod';
-import { CLIENT_ID } from 'common/constants';
-import { SupportedLocale } from 'common/lib/locale';
-import { getAuthenticationUrl } from 'common/lib/oauth';
import { loadUserData } from 'src/storage/user-data';
const authTokenSchema = z.object( {
diff --git a/src/lib/sanitize-for-logging.ts b/apps/studio/src/lib/sanitize-for-logging.ts
similarity index 100%
rename from src/lib/sanitize-for-logging.ts
rename to apps/studio/src/lib/sanitize-for-logging.ts
diff --git a/src/lib/sentry-release.ts b/apps/studio/src/lib/sentry-release.ts
similarity index 100%
rename from src/lib/sentry-release.ts
rename to apps/studio/src/lib/sentry-release.ts
diff --git a/src/lib/serialize-plugins.ts b/apps/studio/src/lib/serialize-plugins.ts
similarity index 100%
rename from src/lib/serialize-plugins.ts
rename to apps/studio/src/lib/serialize-plugins.ts
diff --git a/src/lib/server-files-paths.ts b/apps/studio/src/lib/server-files-paths.ts
similarity index 100%
rename from src/lib/server-files-paths.ts
rename to apps/studio/src/lib/server-files-paths.ts
diff --git a/src/lib/shell-open-external-wrapper.ts b/apps/studio/src/lib/shell-open-external-wrapper.ts
similarity index 100%
rename from src/lib/shell-open-external-wrapper.ts
rename to apps/studio/src/lib/shell-open-external-wrapper.ts
diff --git a/src/lib/site-language.ts b/apps/studio/src/lib/site-language.ts
similarity index 98%
rename from src/lib/site-language.ts
rename to apps/studio/src/lib/site-language.ts
index 4fa19c4f22..1645d9722d 100644
--- a/src/lib/site-language.ts
+++ b/apps/studio/src/lib/site-language.ts
@@ -1,8 +1,8 @@
import path from 'path';
import { Locale } from '@formatjs/intl-locale';
import { match } from '@formatjs/intl-localematcher';
+import { DEFAULT_LOCALE } from '@studio/common/lib/locale';
import fs from 'fs-extra';
-import { DEFAULT_LOCALE } from 'common/lib/locale';
import { getUserLocaleWithFallback } from 'src/lib/locale-node';
import { getResourcesPath } from 'src/storage/paths';
diff --git a/src/lib/sqlite-command-release.ts b/apps/studio/src/lib/sqlite-command-release.ts
similarity index 100%
rename from src/lib/sqlite-command-release.ts
rename to apps/studio/src/lib/sqlite-command-release.ts
diff --git a/src/lib/sqlite-command-versions.ts b/apps/studio/src/lib/sqlite-command-versions.ts
similarity index 100%
rename from src/lib/sqlite-command-versions.ts
rename to apps/studio/src/lib/sqlite-command-versions.ts
diff --git a/src/lib/sqlite-versions.ts b/apps/studio/src/lib/sqlite-versions.ts
similarity index 82%
rename from src/lib/sqlite-versions.ts
rename to apps/studio/src/lib/sqlite-versions.ts
index 96679cbd3b..c4f8d5ab5a 100644
--- a/src/lib/sqlite-versions.ts
+++ b/apps/studio/src/lib/sqlite-versions.ts
@@ -1,5 +1,5 @@
-import { SQLITE_FILENAME } from 'common/constants';
-import { SqliteIntegrationProvider } from 'common/lib/sqlite-integration';
+import { SQLITE_FILENAME } from '@studio/common/constants';
+import { SqliteIntegrationProvider } from '@studio/common/lib/sqlite-integration';
import { getServerFilesPath } from 'src/storage/paths';
class ElectronSqliteProvider extends SqliteIntegrationProvider {
diff --git a/src/lib/sudo-exec.ts b/apps/studio/src/lib/sudo-exec.ts
similarity index 100%
rename from src/lib/sudo-exec.ts
rename to apps/studio/src/lib/sudo-exec.ts
diff --git a/src/lib/test-utils.tsx b/apps/studio/src/lib/test-utils.tsx
similarity index 100%
rename from src/lib/test-utils.tsx
rename to apps/studio/src/lib/test-utils.tsx
diff --git a/src/lib/tests/bump-stats.test.ts b/apps/studio/src/lib/tests/bump-stats.test.ts
similarity index 98%
rename from src/lib/tests/bump-stats.test.ts
rename to apps/studio/src/lib/tests/bump-stats.test.ts
index 471e91c144..3468147df2 100644
--- a/src/lib/tests/bump-stats.test.ts
+++ b/apps/studio/src/lib/tests/bump-stats.test.ts
@@ -1,13 +1,13 @@
-import { waitFor } from '@testing-library/react';
-import { readFile, writeFile } from 'atomically';
-import { vi } from 'vitest';
import {
bumpStat,
bumpAggregatedUniqueStat,
AppdataProvider,
LastBumpStatsData,
-} from 'common/lib/bump-stat';
-import { AggregateInterval, StatsGroup, StatsMetric } from 'common/types/stats';
+} from '@studio/common/lib/bump-stat';
+import { AggregateInterval, StatsGroup, StatsMetric } from '@studio/common/types/stats';
+import { waitFor } from '@testing-library/react';
+import { readFile, writeFile } from 'atomically';
+import { vi } from 'vitest';
vi.mock( 'atomically', () => ( {
readFile: vi.fn(),
diff --git a/src/lib/tests/generate-site-name.test.ts b/apps/studio/src/lib/tests/generate-site-name.test.ts
similarity index 100%
rename from src/lib/tests/generate-site-name.test.ts
rename to apps/studio/src/lib/tests/generate-site-name.test.ts
diff --git a/src/lib/tests/get-localized-link.test.ts b/apps/studio/src/lib/tests/get-localized-link.test.ts
similarity index 100%
rename from src/lib/tests/get-localized-link.test.ts
rename to apps/studio/src/lib/tests/get-localized-link.test.ts
diff --git a/src/lib/tests/get-site-url.test.ts b/apps/studio/src/lib/tests/get-site-url.test.ts
similarity index 100%
rename from src/lib/tests/get-site-url.test.ts
rename to apps/studio/src/lib/tests/get-site-url.test.ts
diff --git a/src/lib/tests/hosts-file.test.ts b/apps/studio/src/lib/tests/hosts-file.test.ts
similarity index 100%
rename from src/lib/tests/hosts-file.test.ts
rename to apps/studio/src/lib/tests/hosts-file.test.ts
diff --git a/src/lib/tests/is-installed.test.ts b/apps/studio/src/lib/tests/is-installed.test.ts
similarity index 100%
rename from src/lib/tests/is-installed.test.ts
rename to apps/studio/src/lib/tests/is-installed.test.ts
diff --git a/src/lib/tests/is-invalid-oauth-token-error.test.ts b/apps/studio/src/lib/tests/is-invalid-oauth-token-error.test.ts
similarity index 100%
rename from src/lib/tests/is-invalid-oauth-token-error.test.ts
rename to apps/studio/src/lib/tests/is-invalid-oauth-token-error.test.ts
diff --git a/src/lib/tests/locale.test.ts b/apps/studio/src/lib/tests/locale.test.ts
similarity index 97%
rename from src/lib/tests/locale.test.ts
rename to apps/studio/src/lib/tests/locale.test.ts
index c7612abb1f..8144a5fe3f 100644
--- a/src/lib/tests/locale.test.ts
+++ b/apps/studio/src/lib/tests/locale.test.ts
@@ -2,9 +2,9 @@
* @vitest-environment node
*/
import { app } from 'electron';
+import { getLocaleData } from '@studio/common/lib/locale';
import { createI18n } from '@wordpress/i18n';
import { vi } from 'vitest';
-import { getLocaleData } from 'common/lib/locale';
import { getSupportedLocale } from 'src/lib/locale-node';
vi.mocked( app ).getLocale = vi.fn();
diff --git a/src/lib/tests/oauth.test.ts b/apps/studio/src/lib/tests/oauth.test.ts
similarity index 96%
rename from src/lib/tests/oauth.test.ts
rename to apps/studio/src/lib/tests/oauth.test.ts
index 3faaa2c675..ddc1cd22df 100644
--- a/src/lib/tests/oauth.test.ts
+++ b/apps/studio/src/lib/tests/oauth.test.ts
@@ -1,13 +1,13 @@
+import { SupportedLocale } from '@studio/common/lib/locale';
import { readFile } from 'atomically';
import { vi } from 'vitest';
-import { SupportedLocale } from 'common/lib/locale';
import { getAuthenticationToken, getSignUpUrl } from 'src/lib/oauth';
vi.mock( 'src/lib/certificate-manager', () => ( {} ) );
vi.mock( 'atomically', () => ( {
readFile: vi.fn(),
} ) );
-vi.mock( 'src/lib/wpcom-factory', () => ( {
+vi.mock( '@studio/common/lib/wpcom-factory', () => ( {
__esModule: true,
default: vi.fn(),
} ) );
diff --git a/src/lib/tests/sanitize-for-logging.test.ts b/apps/studio/src/lib/tests/sanitize-for-logging.test.ts
similarity index 100%
rename from src/lib/tests/sanitize-for-logging.test.ts
rename to apps/studio/src/lib/tests/sanitize-for-logging.test.ts
diff --git a/src/lib/tests/serialize-plugins.test.ts b/apps/studio/src/lib/tests/serialize-plugins.test.ts
similarity index 100%
rename from src/lib/tests/serialize-plugins.test.ts
rename to apps/studio/src/lib/tests/serialize-plugins.test.ts
diff --git a/src/lib/tests/site-language.test.ts b/apps/studio/src/lib/tests/site-language.test.ts
similarity index 100%
rename from src/lib/tests/site-language.test.ts
rename to apps/studio/src/lib/tests/site-language.test.ts
diff --git a/src/lib/tests/url-utils.test.ts b/apps/studio/src/lib/tests/url-utils.test.ts
similarity index 100%
rename from src/lib/tests/url-utils.test.ts
rename to apps/studio/src/lib/tests/url-utils.test.ts
diff --git a/src/lib/tests/windows-helpers.test.ts b/apps/studio/src/lib/tests/windows-helpers.test.ts
similarity index 100%
rename from src/lib/tests/windows-helpers.test.ts
rename to apps/studio/src/lib/tests/windows-helpers.test.ts
diff --git a/src/lib/update-site-url.ts b/apps/studio/src/lib/update-site-url.ts
similarity index 100%
rename from src/lib/update-site-url.ts
rename to apps/studio/src/lib/update-site-url.ts
diff --git a/src/lib/url-utils.ts b/apps/studio/src/lib/url-utils.ts
similarity index 100%
rename from src/lib/url-utils.ts
rename to apps/studio/src/lib/url-utils.ts
diff --git a/src/lib/user-data-watcher.ts b/apps/studio/src/lib/user-data-watcher.ts
similarity index 100%
rename from src/lib/user-data-watcher.ts
rename to apps/studio/src/lib/user-data-watcher.ts
diff --git a/src/lib/version-utils.ts b/apps/studio/src/lib/version-utils.ts
similarity index 100%
rename from src/lib/version-utils.ts
rename to apps/studio/src/lib/version-utils.ts
diff --git a/src/lib/windows-helpers.ts b/apps/studio/src/lib/windows-helpers.ts
similarity index 100%
rename from src/lib/windows-helpers.ts
rename to apps/studio/src/lib/windows-helpers.ts
diff --git a/src/lib/wordpress-server-types.ts b/apps/studio/src/lib/wordpress-server-types.ts
similarity index 100%
rename from src/lib/wordpress-server-types.ts
rename to apps/studio/src/lib/wordpress-server-types.ts
diff --git a/src/lib/wordpress-setup.ts b/apps/studio/src/lib/wordpress-setup.ts
similarity index 89%
rename from src/lib/wordpress-setup.ts
rename to apps/studio/src/lib/wordpress-setup.ts
index 9432cd4961..75a576fea0 100644
--- a/src/lib/wordpress-setup.ts
+++ b/apps/studio/src/lib/wordpress-setup.ts
@@ -4,7 +4,7 @@
*/
import nodePath from 'path';
-import { pathExists, recursiveCopyDirectory } from 'common/lib/fs-utils';
+import { pathExists, recursiveCopyDirectory } from '@studio/common/lib/fs-utils';
import { getResourcesPath } from 'src/storage/paths';
/**
diff --git a/src/lib/wp-versions.ts b/apps/studio/src/lib/wp-versions.ts
similarity index 97%
rename from src/lib/wp-versions.ts
rename to apps/studio/src/lib/wp-versions.ts
index 618fa979ae..0c759c31c3 100644
--- a/src/lib/wp-versions.ts
+++ b/apps/studio/src/lib/wp-versions.ts
@@ -1,7 +1,7 @@
import path from 'path';
+import { recursiveCopyDirectory } from '@studio/common/lib/fs-utils';
import fs from 'fs-extra';
import semver from 'semver';
-import { recursiveCopyDirectory } from 'common/lib/fs-utils';
import { downloadWordPress } from 'src/lib/download-utils';
import { getWordPressVersionPath } from 'src/lib/server-files-paths';
diff --git a/src/logging.ts b/apps/studio/src/logging.ts
similarity index 100%
rename from src/logging.ts
rename to apps/studio/src/logging.ts
diff --git a/src/main-window.ts b/apps/studio/src/main-window.ts
similarity index 99%
rename from src/main-window.ts
rename to apps/studio/src/main-window.ts
index 714dd51ba3..f80bc47393 100644
--- a/src/main-window.ts
+++ b/apps/studio/src/main-window.ts
@@ -1,6 +1,6 @@
import { BrowserWindow, type BrowserWindowConstructorOptions, screen, app } from 'electron';
import * as path from 'path';
-import { portFinder } from 'common/lib/port-finder';
+import { portFinder } from '@studio/common/lib/port-finder';
import {
DEFAULT_WIDTH,
MAIN_MIN_HEIGHT,
diff --git a/src/menu.ts b/apps/studio/src/menu.ts
similarity index 100%
rename from src/menu.ts
rename to apps/studio/src/menu.ts
diff --git a/src/migrations/migrate-from-wp-now-folder.ts b/apps/studio/src/migrations/migrate-from-wp-now-folder.ts
similarity index 92%
rename from src/migrations/migrate-from-wp-now-folder.ts
rename to apps/studio/src/migrations/migrate-from-wp-now-folder.ts
index 96ae5f1f4c..6384e5901e 100644
--- a/src/migrations/migrate-from-wp-now-folder.ts
+++ b/apps/studio/src/migrations/migrate-from-wp-now-folder.ts
@@ -1,6 +1,6 @@
import { app } from 'electron';
import path from 'path';
-import { pathExists, recursiveCopyDirectory } from 'common/lib/fs-utils';
+import { pathExists, recursiveCopyDirectory } from '@studio/common/lib/fs-utils';
import { getServerFilesPath } from 'src/storage/paths';
import { loadUserData } from 'src/storage/user-data';
diff --git a/src/migrations/remove-sites-with-empty-dirs.ts b/apps/studio/src/migrations/remove-sites-with-empty-dirs.ts
similarity index 92%
rename from src/migrations/remove-sites-with-empty-dirs.ts
rename to apps/studio/src/migrations/remove-sites-with-empty-dirs.ts
index 694b47c4dc..75893b13da 100644
--- a/src/migrations/remove-sites-with-empty-dirs.ts
+++ b/apps/studio/src/migrations/remove-sites-with-empty-dirs.ts
@@ -1,4 +1,4 @@
-import { isEmptyDir } from 'common/lib/fs-utils';
+import { isEmptyDir } from '@studio/common/lib/fs-utils';
import { loadUserData, lockAppdata, saveUserData, unlockAppdata } from 'src/storage/user-data';
export async function removeSitesWithEmptyDirectories() {
diff --git a/src/migrations/rename-launch-uniques-stat.ts b/apps/studio/src/migrations/rename-launch-uniques-stat.ts
similarity index 91%
rename from src/migrations/rename-launch-uniques-stat.ts
rename to apps/studio/src/migrations/rename-launch-uniques-stat.ts
index d204330e33..01f05cfcbb 100644
--- a/src/migrations/rename-launch-uniques-stat.ts
+++ b/apps/studio/src/migrations/rename-launch-uniques-stat.ts
@@ -1,4 +1,4 @@
-import { StatsGroup } from 'common/types/stats';
+import { StatsGroup } from '@studio/common/types/stats';
import { loadUserData, lockAppdata, saveUserData, unlockAppdata } from 'src/storage/user-data';
export async function renameLaunchUniquesStat() {
diff --git a/src/modules/add-site/components/blueprint-deeplink.tsx b/apps/studio/src/modules/add-site/components/blueprint-deeplink.tsx
similarity index 96%
rename from src/modules/add-site/components/blueprint-deeplink.tsx
rename to apps/studio/src/modules/add-site/components/blueprint-deeplink.tsx
index 7008e572bb..17d77917ee 100644
--- a/src/modules/add-site/components/blueprint-deeplink.tsx
+++ b/apps/studio/src/modules/add-site/components/blueprint-deeplink.tsx
@@ -1,3 +1,4 @@
+import { BlueprintValidationWarning } from '@studio/common/lib/blueprint-validation';
import {
__experimentalVStack as VStack,
__experimentalHStack as HStack,
@@ -7,7 +8,6 @@ import {
} from '@wordpress/components';
import { check, link } from '@wordpress/icons';
import { useI18n } from '@wordpress/react-i18n';
-import { BlueprintValidationWarning } from 'common/lib/blueprint-validation';
import { Blueprint } from 'src/stores/wpcom-api';
import { BlueprintWarningNotice } from './blueprint-warning-notice';
diff --git a/src/modules/add-site/components/blueprint-icon.tsx b/apps/studio/src/modules/add-site/components/blueprint-icon.tsx
similarity index 100%
rename from src/modules/add-site/components/blueprint-icon.tsx
rename to apps/studio/src/modules/add-site/components/blueprint-icon.tsx
diff --git a/src/modules/add-site/components/blueprint-warning-notice.tsx b/apps/studio/src/modules/add-site/components/blueprint-warning-notice.tsx
similarity index 97%
rename from src/modules/add-site/components/blueprint-warning-notice.tsx
rename to apps/studio/src/modules/add-site/components/blueprint-warning-notice.tsx
index 0af5a30158..35876b38b2 100644
--- a/src/modules/add-site/components/blueprint-warning-notice.tsx
+++ b/apps/studio/src/modules/add-site/components/blueprint-warning-notice.tsx
@@ -1,3 +1,4 @@
+import { BlueprintValidationWarning } from '@studio/common/lib/blueprint-validation';
import {
__experimentalVStack as VStack,
__experimentalHStack as HStack,
@@ -9,7 +10,6 @@ import {
import { Icon, caution, check } from '@wordpress/icons';
import { useI18n } from '@wordpress/react-i18n';
import { useState } from 'react';
-import { BlueprintValidationWarning } from 'common/lib/blueprint-validation';
interface BlueprintIssuesModalProps {
warnings: BlueprintValidationWarning[] | undefined;
diff --git a/src/modules/add-site/components/blueprints.css b/apps/studio/src/modules/add-site/components/blueprints.css
similarity index 100%
rename from src/modules/add-site/components/blueprints.css
rename to apps/studio/src/modules/add-site/components/blueprints.css
diff --git a/src/modules/add-site/components/blueprints.tsx b/apps/studio/src/modules/add-site/components/blueprints.tsx
similarity index 100%
rename from src/modules/add-site/components/blueprints.tsx
rename to apps/studio/src/modules/add-site/components/blueprints.tsx
diff --git a/src/modules/add-site/components/create-site-form.tsx b/apps/studio/src/modules/add-site/components/create-site-form.tsx
similarity index 98%
rename from src/modules/add-site/components/create-site-form.tsx
rename to apps/studio/src/modules/add-site/components/create-site-form.tsx
index afa7c5b89d..f2002019b9 100644
--- a/src/modules/add-site/components/create-site-form.tsx
+++ b/apps/studio/src/modules/add-site/components/create-site-form.tsx
@@ -1,12 +1,15 @@
+import { DEFAULT_WORDPRESS_VERSION } from '@studio/common/constants';
+import {
+ generateCustomDomainFromSiteName,
+ getDomainNameValidationError,
+} from '@studio/common/lib/domains';
+import { SupportedPHPVersions } from '@studio/common/types/php-versions';
import { Icon, SelectControl, Notice } from '@wordpress/components';
import { createInterpolateElement } from '@wordpress/element';
import { __, sprintf, _n } from '@wordpress/i18n';
import { tip, cautionFilled, chevronRight, chevronDown, chevronLeft } from '@wordpress/icons';
import { useI18n } from '@wordpress/react-i18n';
import { FormEvent, useState, useEffect, useCallback, useMemo, useRef, RefObject } from 'react';
-import { DEFAULT_WORDPRESS_VERSION } from 'common/constants';
-import { generateCustomDomainFromSiteName, getDomainNameValidationError } from 'common/lib/domains';
-import { SupportedPHPVersions } from 'common/types/php-versions';
import Button from 'src/components/button';
import FolderIcon from 'src/components/folder-icon';
import { LearnMoreLink, LearnHowLink } from 'src/components/learn-more';
@@ -19,7 +22,7 @@ import {
selectDefaultWordPressVersion,
selectAllowedPhpVersions,
} from 'src/stores/provider-constants-slice';
-import type { BlueprintPreferredVersions } from 'common/lib/blueprint-validation';
+import type { BlueprintPreferredVersions } from '@studio/common/lib/blueprint-validation';
import type { CreateSiteFormValues, PathValidationResult } from 'src/hooks/use-add-site';
import type { AllowedPHPVersion } from 'src/lib/wordpress-server-types';
diff --git a/src/modules/add-site/components/create-site.tsx b/apps/studio/src/modules/add-site/components/create-site.tsx
similarity index 95%
rename from src/modules/add-site/components/create-site.tsx
rename to apps/studio/src/modules/add-site/components/create-site.tsx
index d35eab063c..ea12804183 100644
--- a/src/modules/add-site/components/create-site.tsx
+++ b/apps/studio/src/modules/add-site/components/create-site.tsx
@@ -6,7 +6,7 @@ import { useI18n } from '@wordpress/react-i18n';
import { RefObject } from 'react';
import { AllowedPHPVersion } from 'src/lib/wordpress-server-types';
import { CreateSiteForm } from 'src/modules/add-site/components/create-site-form';
-import type { BlueprintPreferredVersions } from 'common/lib/blueprint-validation';
+import type { BlueprintPreferredVersions } from '@studio/common/lib/blueprint-validation';
import type { CreateSiteFormValues, PathValidationResult } from 'src/hooks/use-add-site';
export interface CreateSiteProps {
diff --git a/src/modules/add-site/components/import-backup.tsx b/apps/studio/src/modules/add-site/components/import-backup.tsx
similarity index 100%
rename from src/modules/add-site/components/import-backup.tsx
rename to apps/studio/src/modules/add-site/components/import-backup.tsx
diff --git a/src/modules/add-site/components/index.ts b/apps/studio/src/modules/add-site/components/index.ts
similarity index 100%
rename from src/modules/add-site/components/index.ts
rename to apps/studio/src/modules/add-site/components/index.ts
diff --git a/src/modules/add-site/components/options.tsx b/apps/studio/src/modules/add-site/components/options.tsx
similarity index 100%
rename from src/modules/add-site/components/options.tsx
rename to apps/studio/src/modules/add-site/components/options.tsx
diff --git a/src/modules/add-site/components/pull-remote-site.tsx b/apps/studio/src/modules/add-site/components/pull-remote-site.tsx
similarity index 100%
rename from src/modules/add-site/components/pull-remote-site.tsx
rename to apps/studio/src/modules/add-site/components/pull-remote-site.tsx
diff --git a/src/modules/add-site/components/stepper.tsx b/apps/studio/src/modules/add-site/components/stepper.tsx
similarity index 100%
rename from src/modules/add-site/components/stepper.tsx
rename to apps/studio/src/modules/add-site/components/stepper.tsx
diff --git a/src/modules/add-site/hooks/tests/use-blueprint-deeplink.test.tsx b/apps/studio/src/modules/add-site/hooks/tests/use-blueprint-deeplink.test.tsx
similarity index 100%
rename from src/modules/add-site/hooks/tests/use-blueprint-deeplink.test.tsx
rename to apps/studio/src/modules/add-site/hooks/tests/use-blueprint-deeplink.test.tsx
diff --git a/src/modules/add-site/hooks/tests/use-find-available-site-name.test.ts b/apps/studio/src/modules/add-site/hooks/tests/use-find-available-site-name.test.ts
similarity index 100%
rename from src/modules/add-site/hooks/tests/use-find-available-site-name.test.ts
rename to apps/studio/src/modules/add-site/hooks/tests/use-find-available-site-name.test.ts
diff --git a/src/modules/add-site/hooks/use-blueprint-deeplink.ts b/apps/studio/src/modules/add-site/hooks/use-blueprint-deeplink.ts
similarity index 96%
rename from src/modules/add-site/hooks/use-blueprint-deeplink.ts
rename to apps/studio/src/modules/add-site/hooks/use-blueprint-deeplink.ts
index 5e1e0a43de..4a4a3beb11 100644
--- a/src/modules/add-site/hooks/use-blueprint-deeplink.ts
+++ b/apps/studio/src/modules/add-site/hooks/use-blueprint-deeplink.ts
@@ -1,10 +1,10 @@
-import { useI18n } from '@wordpress/react-i18n';
-import { useCallback } from 'react';
-import { extractFormValuesFromBlueprint } from 'common/lib/blueprint-settings';
+import { extractFormValuesFromBlueprint } from '@studio/common/lib/blueprint-settings';
import {
BlueprintValidationWarning,
BlueprintPreferredVersions,
-} from 'common/lib/blueprint-validation';
+} from '@studio/common/lib/blueprint-validation';
+import { useI18n } from '@wordpress/react-i18n';
+import { useCallback } from 'react';
import { useIpcListener } from 'src/hooks/use-ipc-listener';
import { getIpcApi } from 'src/lib/get-ipc-api';
import { Blueprint } from 'src/stores/wpcom-api';
diff --git a/src/modules/add-site/hooks/use-find-available-site-name.ts b/apps/studio/src/modules/add-site/hooks/use-find-available-site-name.ts
similarity index 100%
rename from src/modules/add-site/hooks/use-find-available-site-name.ts
rename to apps/studio/src/modules/add-site/hooks/use-find-available-site-name.ts
diff --git a/src/modules/add-site/hooks/use-stepper.ts b/apps/studio/src/modules/add-site/hooks/use-stepper.ts
similarity index 100%
rename from src/modules/add-site/hooks/use-stepper.ts
rename to apps/studio/src/modules/add-site/hooks/use-stepper.ts
diff --git a/src/modules/add-site/index.tsx b/apps/studio/src/modules/add-site/index.tsx
similarity index 97%
rename from src/modules/add-site/index.tsx
rename to apps/studio/src/modules/add-site/index.tsx
index 6370bc6bbc..db0d5b50a0 100644
--- a/src/modules/add-site/index.tsx
+++ b/apps/studio/src/modules/add-site/index.tsx
@@ -1,12 +1,12 @@
+import { MINIMUM_WORDPRESS_VERSION } from '@studio/common/constants';
+import { extractFormValuesFromBlueprint } from '@studio/common/lib/blueprint-settings';
+import { BlueprintPreferredVersions } from '@studio/common/lib/blueprint-validation';
+import { SupportedPHPVersionsList } from '@studio/common/types/php-versions';
import { speak } from '@wordpress/a11y';
import { Navigator, useNavigator } from '@wordpress/components';
import { sprintf } from '@wordpress/i18n';
import { useI18n } from '@wordpress/react-i18n';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
-import { MINIMUM_WORDPRESS_VERSION } from 'common/constants';
-import { extractFormValuesFromBlueprint } from 'common/lib/blueprint-settings';
-import { BlueprintPreferredVersions } from 'common/lib/blueprint-validation';
-import { SupportedPHPVersionsList } from 'common/types/php-versions';
import Button from 'src/components/button';
import { FullscreenModal } from 'src/components/fullscreen-modal';
import { useAddSite, CreateSiteFormValues } from 'src/hooks/use-add-site';
@@ -68,7 +68,7 @@ interface NavigationContentProps {
selectedBlueprint?: Blueprint;
blueprintPreferredVersions?: BlueprintPreferredVersions;
setBlueprintPreferredVersions?: ( versions: BlueprintPreferredVersions | undefined ) => void;
- blueprintDeeplinkWarnings?: import('common/lib/blueprint-validation').BlueprintValidationWarning[];
+ blueprintDeeplinkWarnings?: import('@studio/common/lib/blueprint-validation').BlueprintValidationWarning[];
blueprintSuggestedDomain?: string;
setBlueprintSuggestedDomain?: ( domain: string | undefined ) => void;
blueprintSuggestedHttps?: boolean;
diff --git a/src/modules/add-site/tests/add-site.test.tsx b/apps/studio/src/modules/add-site/tests/add-site.test.tsx
similarity index 100%
rename from src/modules/add-site/tests/add-site.test.tsx
rename to apps/studio/src/modules/add-site/tests/add-site.test.tsx
diff --git a/src/modules/cli/lib/cli-events-subscriber.ts b/apps/studio/src/modules/cli/lib/cli-events-subscriber.ts
similarity index 94%
rename from src/modules/cli/lib/cli-events-subscriber.ts
rename to apps/studio/src/modules/cli/lib/cli-events-subscriber.ts
index 55a0a8a46a..f5338f73af 100644
--- a/src/modules/cli/lib/cli-events-subscriber.ts
+++ b/apps/studio/src/modules/cli/lib/cli-events-subscriber.ts
@@ -1,6 +1,11 @@
+import { sequential } from '@studio/common/lib/sequential';
+import {
+ siteEventSchema,
+ SiteEvent,
+ SITE_EVENTS,
+ SiteDetails,
+} from '@studio/common/lib/site-events';
import { z } from 'zod';
-import { sequential } from 'common/lib/sequential';
-import { siteEventSchema, SiteEvent, SITE_EVENTS, SiteDetails } from 'common/lib/site-events';
import { sendIpcEventToRenderer } from 'src/ipc-utils';
import { executeCliCommand } from 'src/modules/cli/lib/execute-command';
import { SiteServer } from 'src/site-server';
diff --git a/src/modules/cli/lib/cli-server-process.ts b/apps/studio/src/modules/cli/lib/cli-server-process.ts
similarity index 97%
rename from src/modules/cli/lib/cli-server-process.ts
rename to apps/studio/src/modules/cli/lib/cli-server-process.ts
index a7f3d24755..18d2b2f65c 100644
--- a/src/modules/cli/lib/cli-server-process.ts
+++ b/apps/studio/src/modules/cli/lib/cli-server-process.ts
@@ -1,5 +1,5 @@
+import { SiteCommandLoggerAction } from '@studio/common/logger-actions';
import { z } from 'zod';
-import { SiteCommandLoggerAction } from 'common/logger-actions';
import { executeCliCommand } from './execute-command';
import type { WordPressServerProcess } from 'src/lib/wordpress-server-types';
diff --git a/src/modules/cli/lib/cli-site-creator.ts b/apps/studio/src/modules/cli/lib/cli-site-creator.ts
similarity index 96%
rename from src/modules/cli/lib/cli-site-creator.ts
rename to apps/studio/src/modules/cli/lib/cli-site-creator.ts
index 0f20f8d7d3..553f123ffc 100644
--- a/src/modules/cli/lib/cli-site-creator.ts
+++ b/apps/studio/src/modules/cli/lib/cli-site-creator.ts
@@ -1,9 +1,9 @@
import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
+import { isWordPressDevVersion } from '@studio/common/lib/wordpress-version-utils';
+import { SiteCommandLoggerAction } from '@studio/common/logger-actions';
import { z } from 'zod';
-import { isWordPressDevVersion } from 'common/lib/wordpress-version-utils';
-import { SiteCommandLoggerAction } from 'common/logger-actions';
import { sendIpcEventToRenderer } from 'src/ipc-utils';
import { executeCliCommand } from './execute-command';
import type { Blueprint } from '@wp-playground/blueprints';
diff --git a/src/modules/cli/lib/cli-site-editor.ts b/apps/studio/src/modules/cli/lib/cli-site-editor.ts
similarity index 96%
rename from src/modules/cli/lib/cli-site-editor.ts
rename to apps/studio/src/modules/cli/lib/cli-site-editor.ts
index a027c51a31..67da71d8fd 100644
--- a/src/modules/cli/lib/cli-site-editor.ts
+++ b/apps/studio/src/modules/cli/lib/cli-site-editor.ts
@@ -1,5 +1,5 @@
+import { SiteCommandLoggerAction } from '@studio/common/logger-actions';
import { z } from 'zod';
-import { SiteCommandLoggerAction } from 'common/logger-actions';
import { executeCliCommand } from './execute-command';
const cliEventSchema = z.object( {
diff --git a/src/modules/cli/lib/execute-command.ts b/apps/studio/src/modules/cli/lib/execute-command.ts
similarity index 100%
rename from src/modules/cli/lib/execute-command.ts
rename to apps/studio/src/modules/cli/lib/execute-command.ts
diff --git a/src/modules/cli/lib/execute-preview-command.ts b/apps/studio/src/modules/cli/lib/execute-preview-command.ts
similarity index 96%
rename from src/modules/cli/lib/execute-preview-command.ts
rename to apps/studio/src/modules/cli/lib/execute-preview-command.ts
index 0187c8d1ad..e210f24cc3 100644
--- a/src/modules/cli/lib/execute-preview-command.ts
+++ b/apps/studio/src/modules/cli/lib/execute-preview-command.ts
@@ -1,6 +1,6 @@
import crypto from 'crypto';
+import { PreviewCommandLoggerAction } from '@studio/common/logger-actions';
import { z } from 'zod';
-import { PreviewCommandLoggerAction } from 'common/logger-actions';
import { sendIpcEventToRendererWithWindow } from 'src/ipc-utils';
import { executeCliCommand } from 'src/modules/cli/lib/execute-command';
diff --git a/src/modules/cli/lib/ipc-handlers.ts b/apps/studio/src/modules/cli/lib/ipc-handlers.ts
similarity index 100%
rename from src/modules/cli/lib/ipc-handlers.ts
rename to apps/studio/src/modules/cli/lib/ipc-handlers.ts
diff --git a/src/modules/cli/lib/macos-installation-manager.ts b/apps/studio/src/modules/cli/lib/macos-installation-manager.ts
similarity index 98%
rename from src/modules/cli/lib/macos-installation-manager.ts
rename to apps/studio/src/modules/cli/lib/macos-installation-manager.ts
index 2cca3adf6c..a33e317897 100644
--- a/src/modules/cli/lib/macos-installation-manager.ts
+++ b/apps/studio/src/modules/cli/lib/macos-installation-manager.ts
@@ -2,8 +2,8 @@ import { dialog } from 'electron';
import { mkdir, readlink, symlink, unlink, lstat } from 'node:fs/promises';
import path from 'node:path';
import * as Sentry from '@sentry/electron/main';
+import { isErrnoException } from '@studio/common/lib/is-errno-exception';
import { __, sprintf } from '@wordpress/i18n';
-import { isErrnoException } from 'common/lib/is-errno-exception';
import { sudoExec } from 'src/lib/sudo-exec';
import { getMainWindow } from 'src/main-window';
import { StudioCliInstallationManager } from 'src/modules/cli/lib/ipc-handlers';
diff --git a/src/modules/cli/lib/windows-installation-manager.ts b/apps/studio/src/modules/cli/lib/windows-installation-manager.ts
similarity index 100%
rename from src/modules/cli/lib/windows-installation-manager.ts
rename to apps/studio/src/modules/cli/lib/windows-installation-manager.ts
diff --git a/src/modules/onboarding/components/connect-to-wpcom.tsx b/apps/studio/src/modules/onboarding/components/connect-to-wpcom.tsx
similarity index 100%
rename from src/modules/onboarding/components/connect-to-wpcom.tsx
rename to apps/studio/src/modules/onboarding/components/connect-to-wpcom.tsx
diff --git a/src/modules/onboarding/hooks/use-onboarding.tsx b/apps/studio/src/modules/onboarding/hooks/use-onboarding.tsx
similarity index 100%
rename from src/modules/onboarding/hooks/use-onboarding.tsx
rename to apps/studio/src/modules/onboarding/hooks/use-onboarding.tsx
diff --git a/src/modules/onboarding/index.tsx b/apps/studio/src/modules/onboarding/index.tsx
similarity index 100%
rename from src/modules/onboarding/index.tsx
rename to apps/studio/src/modules/onboarding/index.tsx
diff --git a/src/modules/preview-site/components/create-preview-button.tsx b/apps/studio/src/modules/preview-site/components/create-preview-button.tsx
similarity index 98%
rename from src/modules/preview-site/components/create-preview-button.tsx
rename to apps/studio/src/modules/preview-site/components/create-preview-button.tsx
index ab16085558..9b8cf12ccd 100644
--- a/src/modules/preview-site/components/create-preview-button.tsx
+++ b/apps/studio/src/modules/preview-site/components/create-preview-button.tsx
@@ -1,6 +1,6 @@
+import { DEMO_SITE_SIZE_LIMIT_GB } from '@studio/common/constants';
import { __, sprintf } from '@wordpress/i18n';
import { useI18n } from '@wordpress/react-i18n';
-import { DEMO_SITE_SIZE_LIMIT_GB } from 'common/constants';
import { AuthContextType } from 'src/components/auth-provider';
import Button from 'src/components/button';
import offlineIcon from 'src/components/offline-icon';
diff --git a/src/modules/preview-site/components/delete-progress-row.tsx b/apps/studio/src/modules/preview-site/components/delete-progress-row.tsx
similarity index 100%
rename from src/modules/preview-site/components/delete-progress-row.tsx
rename to apps/studio/src/modules/preview-site/components/delete-progress-row.tsx
diff --git a/src/modules/preview-site/components/preview-action-buttons-menu.tsx b/apps/studio/src/modules/preview-site/components/preview-action-buttons-menu.tsx
similarity index 98%
rename from src/modules/preview-site/components/preview-action-buttons-menu.tsx
rename to apps/studio/src/modules/preview-site/components/preview-action-buttons-menu.tsx
index 4ea17ef181..b3b3d51c65 100644
--- a/src/modules/preview-site/components/preview-action-buttons-menu.tsx
+++ b/apps/studio/src/modules/preview-site/components/preview-action-buttons-menu.tsx
@@ -1,9 +1,9 @@
+import { Snapshot } from '@studio/common/types/snapshot';
import { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
import { __ } from '@wordpress/i18n';
import { moreVertical } from '@wordpress/icons';
import { useI18n } from '@wordpress/react-i18n';
import { useState } from 'react';
-import { Snapshot } from 'common/types/snapshot';
import offlineIcon from 'src/components/offline-icon';
import { Tooltip, TooltipProps } from 'src/components/tooltip';
import { useConfirmationDialog } from 'src/hooks/use-confirmation-dialog';
diff --git a/src/modules/preview-site/components/preview-site-row.tsx b/apps/studio/src/modules/preview-site/components/preview-site-row.tsx
similarity index 99%
rename from src/modules/preview-site/components/preview-site-row.tsx
rename to apps/studio/src/modules/preview-site/components/preview-site-row.tsx
index 174213ca39..d2fae0f02e 100644
--- a/src/modules/preview-site/components/preview-site-row.tsx
+++ b/apps/studio/src/modules/preview-site/components/preview-site-row.tsx
@@ -1,9 +1,9 @@
+import { Snapshot } from '@studio/common/types/snapshot';
import { Spinner } from '@wordpress/components';
import { sprintf } from '@wordpress/i18n';
import { Icon, published, cautionFilled } from '@wordpress/icons';
import { useI18n } from '@wordpress/react-i18n';
import { useEffect, useState, useRef } from 'react';
-import { Snapshot } from 'common/types/snapshot';
import { ArrowIcon } from 'src/components/arrow-icon';
import Button from 'src/components/button';
import { TooltipProps, Tooltip } from 'src/components/tooltip';
diff --git a/src/modules/preview-site/components/preview-sites-table-header.tsx b/apps/studio/src/modules/preview-site/components/preview-sites-table-header.tsx
similarity index 100%
rename from src/modules/preview-site/components/preview-sites-table-header.tsx
rename to apps/studio/src/modules/preview-site/components/preview-sites-table-header.tsx
diff --git a/src/modules/preview-site/components/progress-row.tsx b/apps/studio/src/modules/preview-site/components/progress-row.tsx
similarity index 100%
rename from src/modules/preview-site/components/progress-row.tsx
rename to apps/studio/src/modules/preview-site/components/progress-row.tsx
diff --git a/src/modules/preview-site/components/rename-preview-modal.tsx b/apps/studio/src/modules/preview-site/components/rename-preview-modal.tsx
similarity index 100%
rename from src/modules/preview-site/components/rename-preview-modal.tsx
rename to apps/studio/src/modules/preview-site/components/rename-preview-modal.tsx
diff --git a/src/modules/preview-site/components/tests/preview-action-buttons-menu.test.tsx b/apps/studio/src/modules/preview-site/components/tests/preview-action-buttons-menu.test.tsx
similarity index 98%
rename from src/modules/preview-site/components/tests/preview-action-buttons-menu.test.tsx
rename to apps/studio/src/modules/preview-site/components/tests/preview-action-buttons-menu.test.tsx
index d0b2031386..98744405f2 100644
--- a/src/modules/preview-site/components/tests/preview-action-buttons-menu.test.tsx
+++ b/apps/studio/src/modules/preview-site/components/tests/preview-action-buttons-menu.test.tsx
@@ -1,10 +1,10 @@
import { UnknownAction } from '@reduxjs/toolkit';
+import { Snapshot } from '@studio/common/types/snapshot';
import { render, screen, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { produce } from 'immer';
import { Provider } from 'react-redux';
import { vi } from 'vitest';
-import { Snapshot } from 'common/types/snapshot';
import { PreviewActionButtonsMenu } from 'src/modules/preview-site/components/preview-action-buttons-menu';
import { store, RootState } from 'src/stores';
import { testActions, testReducer } from 'src/stores/tests/utils/test-reducer';
diff --git a/src/modules/preview-site/components/tests/preview-site-row.test.tsx b/apps/studio/src/modules/preview-site/components/tests/preview-site-row.test.tsx
similarity index 100%
rename from src/modules/preview-site/components/tests/preview-site-row.test.tsx
rename to apps/studio/src/modules/preview-site/components/tests/preview-site-row.test.tsx
diff --git a/src/modules/preview-site/components/tests/rename-preview-modal.test.tsx b/apps/studio/src/modules/preview-site/components/tests/rename-preview-modal.test.tsx
similarity index 100%
rename from src/modules/preview-site/components/tests/rename-preview-modal.test.tsx
rename to apps/studio/src/modules/preview-site/components/tests/rename-preview-modal.test.tsx
diff --git a/src/modules/preview-site/hooks/use-update-button-tooltip.ts b/apps/studio/src/modules/preview-site/hooks/use-update-button-tooltip.ts
similarity index 94%
rename from src/modules/preview-site/hooks/use-update-button-tooltip.ts
rename to apps/studio/src/modules/preview-site/hooks/use-update-button-tooltip.ts
index c6d7c5ab1d..d8462dd5c5 100644
--- a/src/modules/preview-site/hooks/use-update-button-tooltip.ts
+++ b/apps/studio/src/modules/preview-site/hooks/use-update-button-tooltip.ts
@@ -1,8 +1,8 @@
+import { DEMO_SITE_SIZE_LIMIT_GB } from '@studio/common/constants';
import { TooltipProps } from '@wordpress/components/build-types/tooltip/types';
import { sprintf } from '@wordpress/i18n';
import { useI18n } from '@wordpress/react-i18n';
import { useMemo } from 'react';
-import { DEMO_SITE_SIZE_LIMIT_GB } from 'common/constants';
import offlineIcon from 'src/components/offline-icon';
export function useUpdateButtonTooltip( {
diff --git a/src/modules/preview-site/lib/ipc-handlers.ts b/apps/studio/src/modules/preview-site/lib/ipc-handlers.ts
similarity index 100%
rename from src/modules/preview-site/lib/ipc-handlers.ts
rename to apps/studio/src/modules/preview-site/lib/ipc-handlers.ts
diff --git a/src/modules/preview-site/lib/tests/version-comparison.test.ts b/apps/studio/src/modules/preview-site/lib/tests/version-comparison.test.ts
similarity index 93%
rename from src/modules/preview-site/lib/tests/version-comparison.test.ts
rename to apps/studio/src/modules/preview-site/lib/tests/version-comparison.test.ts
index d2fbc417f8..d0615e13a7 100644
--- a/src/modules/preview-site/lib/tests/version-comparison.test.ts
+++ b/apps/studio/src/modules/preview-site/lib/tests/version-comparison.test.ts
@@ -1,4 +1,4 @@
-import { RecommendedPHPVersion as DEFAULT_PHP_VERSION } from 'common/types/php-versions';
+import { RecommendedPHPVersion as DEFAULT_PHP_VERSION } from '@studio/common/types/php-versions';
import { hasVersionMismatch } from 'src/modules/preview-site/lib/version-comparison';
describe( 'hasVersionMismatch', () => {
diff --git a/src/modules/preview-site/lib/version-comparison.ts b/apps/studio/src/modules/preview-site/lib/version-comparison.ts
similarity index 89%
rename from src/modules/preview-site/lib/version-comparison.ts
rename to apps/studio/src/modules/preview-site/lib/version-comparison.ts
index 0df153d471..904be6e83e 100644
--- a/src/modules/preview-site/lib/version-comparison.ts
+++ b/apps/studio/src/modules/preview-site/lib/version-comparison.ts
@@ -1,5 +1,5 @@
+import { RecommendedPHPVersion as DEFAULT_PHP_VERSION } from '@studio/common/types/php-versions';
import semver from 'semver';
-import { RecommendedPHPVersion as DEFAULT_PHP_VERSION } from 'common/types/php-versions';
/**
* Compares the WordPress and PHP versions of the current site with the versions supported by Jurassic Ninja preview sites.
diff --git a/src/modules/site-settings/edit-site-details.tsx b/apps/studio/src/modules/site-settings/edit-site-details.tsx
similarity index 97%
rename from src/modules/site-settings/edit-site-details.tsx
rename to apps/studio/src/modules/site-settings/edit-site-details.tsx
index b0377d36da..bc0a189b97 100644
--- a/src/modules/site-settings/edit-site-details.tsx
+++ b/apps/studio/src/modules/site-settings/edit-site-details.tsx
@@ -1,12 +1,15 @@
+import { DEFAULT_PHP_VERSION } from '@studio/common/constants';
+import {
+ generateCustomDomainFromSiteName,
+ getDomainNameValidationError,
+} from '@studio/common/lib/domains';
+import { siteNeedsRestart } from '@studio/common/lib/site-needs-restart';
+import { SupportedPHPVersions } from '@studio/common/types/php-versions';
import { SelectControl } from '@wordpress/components';
import { createInterpolateElement } from '@wordpress/element';
import { sprintf } from '@wordpress/i18n';
import { useI18n } from '@wordpress/react-i18n';
import { FormEvent, useCallback, useEffect, useState } from 'react';
-import { DEFAULT_PHP_VERSION } from 'common/constants';
-import { generateCustomDomainFromSiteName, getDomainNameValidationError } from 'common/lib/domains';
-import { siteNeedsRestart } from 'common/lib/site-needs-restart';
-import { SupportedPHPVersions } from 'common/types/php-versions';
import Button from 'src/components/button';
import { ErrorInformation } from 'src/components/error-information';
import { LearnMoreLink, LearnHowLink } from 'src/components/learn-more';
diff --git a/src/modules/site-settings/tests/edit-site-details.test.tsx b/apps/studio/src/modules/site-settings/tests/edit-site-details.test.tsx
similarity index 100%
rename from src/modules/site-settings/tests/edit-site-details.test.tsx
rename to apps/studio/src/modules/site-settings/tests/edit-site-details.test.tsx
diff --git a/src/modules/sync/components/connect-button.tsx b/apps/studio/src/modules/sync/components/connect-button.tsx
similarity index 100%
rename from src/modules/sync/components/connect-button.tsx
rename to apps/studio/src/modules/sync/components/connect-button.tsx
diff --git a/src/modules/sync/components/create-button.tsx b/apps/studio/src/modules/sync/components/create-button.tsx
similarity index 100%
rename from src/modules/sync/components/create-button.tsx
rename to apps/studio/src/modules/sync/components/create-button.tsx
diff --git a/src/modules/sync/components/environment-badge.tsx b/apps/studio/src/modules/sync/components/environment-badge.tsx
similarity index 100%
rename from src/modules/sync/components/environment-badge.tsx
rename to apps/studio/src/modules/sync/components/environment-badge.tsx
diff --git a/src/modules/sync/components/no-wpcom-sites-content.tsx b/apps/studio/src/modules/sync/components/no-wpcom-sites-content.tsx
similarity index 100%
rename from src/modules/sync/components/no-wpcom-sites-content.tsx
rename to apps/studio/src/modules/sync/components/no-wpcom-sites-content.tsx
diff --git a/src/modules/sync/components/no-wpcom-sites-modal.tsx b/apps/studio/src/modules/sync/components/no-wpcom-sites-modal.tsx
similarity index 100%
rename from src/modules/sync/components/no-wpcom-sites-modal.tsx
rename to apps/studio/src/modules/sync/components/no-wpcom-sites-modal.tsx
diff --git a/src/modules/sync/components/site-name-box.tsx b/apps/studio/src/modules/sync/components/site-name-box.tsx
similarity index 100%
rename from src/modules/sync/components/site-name-box.tsx
rename to apps/studio/src/modules/sync/components/site-name-box.tsx
diff --git a/src/modules/sync/components/sync-connected-sites.tsx b/apps/studio/src/modules/sync/components/sync-connected-sites.tsx
similarity index 100%
rename from src/modules/sync/components/sync-connected-sites.tsx
rename to apps/studio/src/modules/sync/components/sync-connected-sites.tsx
diff --git a/src/modules/sync/components/sync-dialog.tsx b/apps/studio/src/modules/sync/components/sync-dialog.tsx
similarity index 100%
rename from src/modules/sync/components/sync-dialog.tsx
rename to apps/studio/src/modules/sync/components/sync-dialog.tsx
diff --git a/src/modules/sync/components/sync-sites-modal-selector.tsx b/apps/studio/src/modules/sync/components/sync-sites-modal-selector.tsx
similarity index 100%
rename from src/modules/sync/components/sync-sites-modal-selector.tsx
rename to apps/studio/src/modules/sync/components/sync-sites-modal-selector.tsx
diff --git a/src/modules/sync/components/sync-tab-image.tsx b/apps/studio/src/modules/sync/components/sync-tab-image.tsx
similarity index 100%
rename from src/modules/sync/components/sync-tab-image.tsx
rename to apps/studio/src/modules/sync/components/sync-tab-image.tsx
diff --git a/src/modules/sync/components/tree-view-loading-skeleton.tsx b/apps/studio/src/modules/sync/components/tree-view-loading-skeleton.tsx
similarity index 100%
rename from src/modules/sync/components/tree-view-loading-skeleton.tsx
rename to apps/studio/src/modules/sync/components/tree-view-loading-skeleton.tsx
diff --git a/src/modules/sync/constants.ts b/apps/studio/src/modules/sync/constants.ts
similarity index 100%
rename from src/modules/sync/constants.ts
rename to apps/studio/src/modules/sync/constants.ts
diff --git a/src/modules/sync/hooks/use-selected-items-push-size.ts b/apps/studio/src/modules/sync/hooks/use-selected-items-push-size.ts
similarity index 100%
rename from src/modules/sync/hooks/use-selected-items-push-size.ts
rename to apps/studio/src/modules/sync/hooks/use-selected-items-push-size.ts
diff --git a/src/modules/sync/hooks/use-sync-dialog-texts.tsx b/apps/studio/src/modules/sync/hooks/use-sync-dialog-texts.tsx
similarity index 100%
rename from src/modules/sync/hooks/use-sync-dialog-texts.tsx
rename to apps/studio/src/modules/sync/hooks/use-sync-dialog-texts.tsx
diff --git a/src/modules/sync/hooks/use-top-level-sync-tree.tsx b/apps/studio/src/modules/sync/hooks/use-top-level-sync-tree.tsx
similarity index 100%
rename from src/modules/sync/hooks/use-top-level-sync-tree.tsx
rename to apps/studio/src/modules/sync/hooks/use-top-level-sync-tree.tsx
diff --git a/src/modules/sync/index.tsx b/apps/studio/src/modules/sync/index.tsx
similarity index 100%
rename from src/modules/sync/index.tsx
rename to apps/studio/src/modules/sync/index.tsx
diff --git a/src/modules/sync/lib/convert-tree-to-sync-options.ts b/apps/studio/src/modules/sync/lib/convert-tree-to-sync-options.ts
similarity index 100%
rename from src/modules/sync/lib/convert-tree-to-sync-options.ts
rename to apps/studio/src/modules/sync/lib/convert-tree-to-sync-options.ts
diff --git a/src/modules/sync/lib/environment-utils.ts b/apps/studio/src/modules/sync/lib/environment-utils.ts
similarity index 100%
rename from src/modules/sync/lib/environment-utils.ts
rename to apps/studio/src/modules/sync/lib/environment-utils.ts
diff --git a/src/modules/sync/lib/ipc-handlers.ts b/apps/studio/src/modules/sync/lib/ipc-handlers.ts
similarity index 98%
rename from src/modules/sync/lib/ipc-handlers.ts
rename to apps/studio/src/modules/sync/lib/ipc-handlers.ts
index 0528e5c98e..fbffc2b499 100644
--- a/src/modules/sync/lib/ipc-handlers.ts
+++ b/apps/studio/src/modules/sync/lib/ipc-handlers.ts
@@ -3,9 +3,11 @@ import fs from 'fs';
import fsPromises from 'fs/promises';
import path from 'node:path';
import * as Sentry from '@sentry/electron/main';
+import { isErrnoException } from '@studio/common/lib/is-errno-exception';
+import wpcomFactory from '@studio/common/lib/wpcom-factory';
+import wpcomXhrRequest from '@studio/common/lib/wpcom-xhr-request-factory';
import { Upload } from 'tus-js-client';
import { z } from 'zod';
-import { isErrnoException } from 'common/lib/is-errno-exception';
import {
PullStateProgressInfo,
PushStateProgressInfo,
@@ -18,8 +20,6 @@ import { exportBackup } from 'src/lib/import-export/export/export-manager';
import { ExportOptions } from 'src/lib/import-export/export/types';
import { getAuthenticationToken } from 'src/lib/oauth';
import { keepSqliteIntegrationUpdated } from 'src/lib/sqlite-versions';
-import wpcomFactory from 'src/lib/wpcom-factory';
-import wpcomXhrRequest from 'src/lib/wpcom-xhr-request-factory';
import { SyncSite } from 'src/modules/sync/types';
import { SiteServer } from 'src/site-server';
import { loadUserData, lockAppdata, saveUserData, unlockAppdata } from 'src/storage/user-data';
diff --git a/src/modules/sync/lib/reconcile-connected-sites.tsx b/apps/studio/src/modules/sync/lib/reconcile-connected-sites.tsx
similarity index 100%
rename from src/modules/sync/lib/reconcile-connected-sites.tsx
rename to apps/studio/src/modules/sync/lib/reconcile-connected-sites.tsx
diff --git a/src/modules/sync/lib/sync-support.ts b/apps/studio/src/modules/sync/lib/sync-support.ts
similarity index 100%
rename from src/modules/sync/lib/sync-support.ts
rename to apps/studio/src/modules/sync/lib/sync-support.ts
diff --git a/src/modules/sync/lib/tree-utils.ts b/apps/studio/src/modules/sync/lib/tree-utils.ts
similarity index 100%
rename from src/modules/sync/lib/tree-utils.ts
rename to apps/studio/src/modules/sync/lib/tree-utils.ts
diff --git a/src/modules/sync/tests/convert-tree-to-options-to-sync.tsx b/apps/studio/src/modules/sync/tests/convert-tree-to-options-to-sync.tsx
similarity index 100%
rename from src/modules/sync/tests/convert-tree-to-options-to-sync.tsx
rename to apps/studio/src/modules/sync/tests/convert-tree-to-options-to-sync.tsx
diff --git a/src/modules/sync/tests/environment-badge.test.tsx b/apps/studio/src/modules/sync/tests/environment-badge.test.tsx
similarity index 100%
rename from src/modules/sync/tests/environment-badge.test.tsx
rename to apps/studio/src/modules/sync/tests/environment-badge.test.tsx
diff --git a/src/modules/sync/tests/index.test.tsx b/apps/studio/src/modules/sync/tests/index.test.tsx
similarity index 100%
rename from src/modules/sync/tests/index.test.tsx
rename to apps/studio/src/modules/sync/tests/index.test.tsx
diff --git a/src/modules/sync/tests/use-selected-items-push-size.test.ts b/apps/studio/src/modules/sync/tests/use-selected-items-push-size.test.ts
similarity index 100%
rename from src/modules/sync/tests/use-selected-items-push-size.test.ts
rename to apps/studio/src/modules/sync/tests/use-selected-items-push-size.test.ts
diff --git a/src/modules/sync/types.ts b/apps/studio/src/modules/sync/types.ts
similarity index 100%
rename from src/modules/sync/types.ts
rename to apps/studio/src/modules/sync/types.ts
diff --git a/src/modules/user-settings/components/account-tab.tsx b/apps/studio/src/modules/user-settings/components/account-tab.tsx
similarity index 100%
rename from src/modules/user-settings/components/account-tab.tsx
rename to apps/studio/src/modules/user-settings/components/account-tab.tsx
diff --git a/src/modules/user-settings/components/editor-picker.tsx b/apps/studio/src/modules/user-settings/components/editor-picker.tsx
similarity index 100%
rename from src/modules/user-settings/components/editor-picker.tsx
rename to apps/studio/src/modules/user-settings/components/editor-picker.tsx
diff --git a/src/modules/user-settings/components/language-picker.tsx b/apps/studio/src/modules/user-settings/components/language-picker.tsx
similarity index 90%
rename from src/modules/user-settings/components/language-picker.tsx
rename to apps/studio/src/modules/user-settings/components/language-picker.tsx
index 5cbfa56dbe..0ec9535f8a 100644
--- a/src/modules/user-settings/components/language-picker.tsx
+++ b/apps/studio/src/modules/user-settings/components/language-picker.tsx
@@ -1,6 +1,6 @@
+import { SupportedLocale, supportedLocaleNames } from '@studio/common/lib/locale';
import { SelectControl } from '@wordpress/components';
import { useI18n } from '@wordpress/react-i18n';
-import { SupportedLocale, supportedLocaleNames } from 'common/lib/locale';
import { SettingsFormField } from './settings-form-field';
interface LanguagePickerProps {
diff --git a/src/modules/user-settings/components/non-authenticated-account-tab.tsx b/apps/studio/src/modules/user-settings/components/non-authenticated-account-tab.tsx
similarity index 100%
rename from src/modules/user-settings/components/non-authenticated-account-tab.tsx
rename to apps/studio/src/modules/user-settings/components/non-authenticated-account-tab.tsx
diff --git a/src/modules/user-settings/components/preferences-tab.tsx b/apps/studio/src/modules/user-settings/components/preferences-tab.tsx
similarity index 98%
rename from src/modules/user-settings/components/preferences-tab.tsx
rename to apps/studio/src/modules/user-settings/components/preferences-tab.tsx
index 918c6d90a3..f88d75ca89 100644
--- a/src/modules/user-settings/components/preferences-tab.tsx
+++ b/apps/studio/src/modules/user-settings/components/preferences-tab.tsx
@@ -1,6 +1,6 @@
+import { SupportedLocale } from '@studio/common/lib/locale';
import { useI18n } from '@wordpress/react-i18n';
import { useState } from 'react';
-import { SupportedLocale } from 'common/lib/locale';
import Button from 'src/components/button';
import { isWindowsStore } from 'src/lib/app-globals';
import { EditorPicker } from 'src/modules/user-settings/components/editor-picker';
diff --git a/src/modules/user-settings/components/prompt-info.tsx b/apps/studio/src/modules/user-settings/components/prompt-info.tsx
similarity index 100%
rename from src/modules/user-settings/components/prompt-info.tsx
rename to apps/studio/src/modules/user-settings/components/prompt-info.tsx
diff --git a/src/modules/user-settings/components/settings-form-field.tsx b/apps/studio/src/modules/user-settings/components/settings-form-field.tsx
similarity index 100%
rename from src/modules/user-settings/components/settings-form-field.tsx
rename to apps/studio/src/modules/user-settings/components/settings-form-field.tsx
diff --git a/src/modules/user-settings/components/snapshot-info.tsx b/apps/studio/src/modules/user-settings/components/snapshot-info.tsx
similarity index 100%
rename from src/modules/user-settings/components/snapshot-info.tsx
rename to apps/studio/src/modules/user-settings/components/snapshot-info.tsx
diff --git a/src/modules/user-settings/components/studio-cli-toggle.tsx b/apps/studio/src/modules/user-settings/components/studio-cli-toggle.tsx
similarity index 100%
rename from src/modules/user-settings/components/studio-cli-toggle.tsx
rename to apps/studio/src/modules/user-settings/components/studio-cli-toggle.tsx
diff --git a/src/modules/user-settings/components/terminal-picker.tsx b/apps/studio/src/modules/user-settings/components/terminal-picker.tsx
similarity index 100%
rename from src/modules/user-settings/components/terminal-picker.tsx
rename to apps/studio/src/modules/user-settings/components/terminal-picker.tsx
diff --git a/src/modules/user-settings/components/tests/terminal-picker.test.tsx b/apps/studio/src/modules/user-settings/components/tests/terminal-picker.test.tsx
similarity index 100%
rename from src/modules/user-settings/components/tests/terminal-picker.test.tsx
rename to apps/studio/src/modules/user-settings/components/tests/terminal-picker.test.tsx
diff --git a/src/modules/user-settings/components/tests/user-settings.test.tsx b/apps/studio/src/modules/user-settings/components/tests/user-settings.test.tsx
similarity index 100%
rename from src/modules/user-settings/components/tests/user-settings.test.tsx
rename to apps/studio/src/modules/user-settings/components/tests/user-settings.test.tsx
diff --git a/src/modules/user-settings/components/usage-tab.tsx b/apps/studio/src/modules/user-settings/components/usage-tab.tsx
similarity index 100%
rename from src/modules/user-settings/components/usage-tab.tsx
rename to apps/studio/src/modules/user-settings/components/usage-tab.tsx
diff --git a/src/modules/user-settings/components/user-settings.tsx b/apps/studio/src/modules/user-settings/components/user-settings.tsx
similarity index 100%
rename from src/modules/user-settings/components/user-settings.tsx
rename to apps/studio/src/modules/user-settings/components/user-settings.tsx
diff --git a/src/modules/user-settings/index.ts b/apps/studio/src/modules/user-settings/index.ts
similarity index 100%
rename from src/modules/user-settings/index.ts
rename to apps/studio/src/modules/user-settings/index.ts
diff --git a/src/modules/user-settings/lib/editor.ts b/apps/studio/src/modules/user-settings/lib/editor.ts
similarity index 100%
rename from src/modules/user-settings/lib/editor.ts
rename to apps/studio/src/modules/user-settings/lib/editor.ts
diff --git a/src/modules/user-settings/lib/ipc-handlers.ts b/apps/studio/src/modules/user-settings/lib/ipc-handlers.ts
similarity index 100%
rename from src/modules/user-settings/lib/ipc-handlers.ts
rename to apps/studio/src/modules/user-settings/lib/ipc-handlers.ts
diff --git a/src/modules/user-settings/lib/terminal.ts b/apps/studio/src/modules/user-settings/lib/terminal.ts
similarity index 100%
rename from src/modules/user-settings/lib/terminal.ts
rename to apps/studio/src/modules/user-settings/lib/terminal.ts
diff --git a/src/modules/user-settings/lib/win-editor-path.ts b/apps/studio/src/modules/user-settings/lib/win-editor-path.ts
similarity index 95%
rename from src/modules/user-settings/lib/win-editor-path.ts
rename to apps/studio/src/modules/user-settings/lib/win-editor-path.ts
index e8c54275f3..e0f52fd524 100644
--- a/src/modules/user-settings/lib/win-editor-path.ts
+++ b/apps/studio/src/modules/user-settings/lib/win-editor-path.ts
@@ -1,6 +1,6 @@
import fs from 'fs';
import nodePath from 'path';
-import { escapeRegex } from 'common/lib/escape-regex';
+import { escapeRegex } from '@studio/common/lib/escape-regex';
import { SupportedEditor, supportedEditorConfig } from 'src/modules/user-settings/lib/editor';
/**
diff --git a/src/modules/user-settings/user-settings-types.ts b/apps/studio/src/modules/user-settings/user-settings-types.ts
similarity index 100%
rename from src/modules/user-settings/user-settings-types.ts
rename to apps/studio/src/modules/user-settings/user-settings-types.ts
diff --git a/src/modules/whats-new/assets/blueprints-illustration.svg b/apps/studio/src/modules/whats-new/assets/blueprints-illustration.svg
similarity index 100%
rename from src/modules/whats-new/assets/blueprints-illustration.svg
rename to apps/studio/src/modules/whats-new/assets/blueprints-illustration.svg
diff --git a/src/modules/whats-new/assets/cli-illustration.svg b/apps/studio/src/modules/whats-new/assets/cli-illustration.svg
similarity index 100%
rename from src/modules/whats-new/assets/cli-illustration.svg
rename to apps/studio/src/modules/whats-new/assets/cli-illustration.svg
diff --git a/src/modules/whats-new/assets/pressable-sync-illustration.svg b/apps/studio/src/modules/whats-new/assets/pressable-sync-illustration.svg
similarity index 100%
rename from src/modules/whats-new/assets/pressable-sync-illustration.svg
rename to apps/studio/src/modules/whats-new/assets/pressable-sync-illustration.svg
diff --git a/src/modules/whats-new/assets/selective-sync-illustration.svg b/apps/studio/src/modules/whats-new/assets/selective-sync-illustration.svg
similarity index 100%
rename from src/modules/whats-new/assets/selective-sync-illustration.svg
rename to apps/studio/src/modules/whats-new/assets/selective-sync-illustration.svg
diff --git a/src/modules/whats-new/assets/studio-illustration.svg b/apps/studio/src/modules/whats-new/assets/studio-illustration.svg
similarity index 100%
rename from src/modules/whats-new/assets/studio-illustration.svg
rename to apps/studio/src/modules/whats-new/assets/studio-illustration.svg
diff --git a/src/modules/whats-new/components/whats-new-modal.tsx b/apps/studio/src/modules/whats-new/components/whats-new-modal.tsx
similarity index 100%
rename from src/modules/whats-new/components/whats-new-modal.tsx
rename to apps/studio/src/modules/whats-new/components/whats-new-modal.tsx
diff --git a/src/modules/whats-new/hooks/use-last-seen-version.tsx b/apps/studio/src/modules/whats-new/hooks/use-last-seen-version.tsx
similarity index 100%
rename from src/modules/whats-new/hooks/use-last-seen-version.tsx
rename to apps/studio/src/modules/whats-new/hooks/use-last-seen-version.tsx
diff --git a/src/modules/whats-new/hooks/use-whats-new.tsx b/apps/studio/src/modules/whats-new/hooks/use-whats-new.tsx
similarity index 100%
rename from src/modules/whats-new/hooks/use-whats-new.tsx
rename to apps/studio/src/modules/whats-new/hooks/use-whats-new.tsx
diff --git a/src/modules/whats-new/index.ts b/apps/studio/src/modules/whats-new/index.ts
similarity index 100%
rename from src/modules/whats-new/index.ts
rename to apps/studio/src/modules/whats-new/index.ts
diff --git a/src/preload.ts b/apps/studio/src/preload.ts
similarity index 100%
rename from src/preload.ts
rename to apps/studio/src/preload.ts
diff --git a/src/renderer.ts b/apps/studio/src/renderer.ts
similarity index 100%
rename from src/renderer.ts
rename to apps/studio/src/renderer.ts
diff --git a/src/screenshot-window.ts b/apps/studio/src/screenshot-window.ts
similarity index 100%
rename from src/screenshot-window.ts
rename to apps/studio/src/screenshot-window.ts
diff --git a/src/setup-wp-server-files.ts b/apps/studio/src/setup-wp-server-files.ts
similarity index 98%
rename from src/setup-wp-server-files.ts
rename to apps/studio/src/setup-wp-server-files.ts
index a307f707dd..c772b0f274 100644
--- a/src/setup-wp-server-files.ts
+++ b/apps/studio/src/setup-wp-server-files.ts
@@ -1,7 +1,7 @@
import path from 'path';
+import { recursiveCopyDirectory } from '@studio/common/lib/fs-utils';
import fs from 'fs-extra';
import semver from 'semver';
-import { recursiveCopyDirectory } from 'common/lib/fs-utils';
import { updateLatestWPCliVersion } from 'src/lib/download-utils';
import { getWordPressVersionPath, getSqlitePath, getWpCliPath } from 'src/lib/server-files-paths';
import {
diff --git a/src/site-server.ts b/apps/studio/src/site-server.ts
similarity index 98%
rename from src/site-server.ts
rename to apps/studio/src/site-server.ts
index 562a7ba597..23ade2131e 100644
--- a/src/site-server.ts
+++ b/apps/studio/src/site-server.ts
@@ -1,11 +1,11 @@
import fs from 'fs';
import nodePath from 'path';
import * as Sentry from '@sentry/electron/main';
+import { SQLITE_FILENAME } from '@studio/common/constants';
+import { parseJsonFromPhpOutput } from '@studio/common/lib/php-output-parser';
import fsExtra from 'fs-extra';
import { parse } from 'shell-quote';
import { z } from 'zod';
-import { SQLITE_FILENAME } from 'common/constants';
-import { parseJsonFromPhpOutput } from 'common/lib/php-output-parser';
import {
WP_CLI_DEFAULT_RESPONSE_TIMEOUT,
WP_CLI_IMPORT_EXPORT_RESPONSE_TIMEOUT,
diff --git a/src/storage/paths.ts b/apps/studio/src/storage/paths.ts
similarity index 96%
rename from src/storage/paths.ts
rename to apps/studio/src/storage/paths.ts
index b68a9d5cfa..65d180fbf6 100644
--- a/src/storage/paths.ts
+++ b/apps/studio/src/storage/paths.ts
@@ -1,5 +1,5 @@
import path from 'path';
-import { LOCKFILE_NAME } from 'common/constants';
+import { LOCKFILE_NAME } from '@studio/common/constants';
function inChildProcess() {
return process.env.STUDIO_IN_CHILD_PROCESS === 'true';
@@ -62,7 +62,7 @@ export function getResourcesPath(): string {
export function getCliPath(): string {
return process.env.NODE_ENV === 'development'
- ? path.join( getResourcesPath(), 'dist', 'cli', 'main.js' )
+ ? path.join( getResourcesPath(), '..', 'cli', 'dist', 'cli', 'main.js' )
: path.join( getResourcesPath(), 'cli', 'main.js' );
}
diff --git a/src/storage/storage-types.ts b/apps/studio/src/storage/storage-types.ts
similarity index 96%
rename from src/storage/storage-types.ts
rename to apps/studio/src/storage/storage-types.ts
index ee37cde824..199c7b7719 100644
--- a/src/storage/storage-types.ts
+++ b/apps/studio/src/storage/storage-types.ts
@@ -1,4 +1,4 @@
-import { Snapshot } from 'common/types/snapshot';
+import { Snapshot } from '@studio/common/types/snapshot';
import { StoredToken } from 'src/lib/oauth';
import { SupportedEditor } from 'src/modules/user-settings/lib/editor';
import type { SyncSite } from 'src/modules/sync/types';
diff --git a/src/storage/tests/user-data.test.ts b/apps/studio/src/storage/tests/user-data.test.ts
similarity index 97%
rename from src/storage/tests/user-data.test.ts
rename to apps/studio/src/storage/tests/user-data.test.ts
index 1135a5bbe3..d684fe4551 100644
--- a/src/storage/tests/user-data.test.ts
+++ b/apps/studio/src/storage/tests/user-data.test.ts
@@ -2,10 +2,10 @@
* @vitest-environment node
*/
// To run tests, execute `npm run test -- src/storage/user-data.test.ts` from the root directory
+import { platformTestSuite } from '@studio/common/lib/tests/utils/platform-test-suite';
import { readFile, writeFile } from 'atomically';
import { vi } from 'vitest';
import { loadUserData, lockAppdata, unlockAppdata, saveUserData } from 'src/storage/user-data';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
import { UserData } from '../storage-types';
const {
diff --git a/src/storage/user-data.ts b/apps/studio/src/storage/user-data.ts
similarity index 94%
rename from src/storage/user-data.ts
rename to apps/studio/src/storage/user-data.ts
index f1fd70038f..0a6acb49f3 100644
--- a/src/storage/user-data.ts
+++ b/apps/studio/src/storage/user-data.ts
@@ -2,13 +2,13 @@ import { app } from 'electron';
import fs from 'fs';
import nodePath from 'node:path';
import * as Sentry from '@sentry/electron/main';
+import { LOCKFILE_STALE_TIME, LOCKFILE_WAIT_TIME } from '@studio/common/constants';
+import { isErrnoException } from '@studio/common/lib/is-errno-exception';
+import { lockFileAsync, unlockFileAsync } from '@studio/common/lib/lockfile';
+import { sortSites } from '@studio/common/lib/sort-sites';
+import { SupportedPHPVersion, SupportedPHPVersions } from '@studio/common/types/php-versions';
import { readFile, writeFile } from 'atomically';
import semver from 'semver';
-import { LOCKFILE_STALE_TIME, LOCKFILE_WAIT_TIME } from 'common/constants';
-import { isErrnoException } from 'common/lib/is-errno-exception';
-import { lockFileAsync, unlockFileAsync } from 'common/lib/lockfile';
-import { sortSites } from 'common/lib/sort-sites';
-import { SupportedPHPVersion, SupportedPHPVersions } from 'common/types/php-versions';
import { sanitizeUnstructuredData, sanitizeUserpath } from 'src/lib/sanitize-for-logging';
import { getUserDataFilePath, getUserDataLockFilePath } from 'src/storage/paths';
import type { PersistedUserData, UserData, WindowBounds } from 'src/storage/storage-types';
diff --git a/src/stores/app-version-api.ts b/apps/studio/src/stores/app-version-api.ts
similarity index 100%
rename from src/stores/app-version-api.ts
rename to apps/studio/src/stores/app-version-api.ts
diff --git a/src/stores/beta-features-slice.ts b/apps/studio/src/stores/beta-features-slice.ts
similarity index 100%
rename from src/stores/beta-features-slice.ts
rename to apps/studio/src/stores/beta-features-slice.ts
diff --git a/src/stores/certificate-trust-api.ts b/apps/studio/src/stores/certificate-trust-api.ts
similarity index 100%
rename from src/stores/certificate-trust-api.ts
rename to apps/studio/src/stores/certificate-trust-api.ts
diff --git a/src/stores/chat-slice.ts b/apps/studio/src/stores/chat-slice.ts
similarity index 98%
rename from src/stores/chat-slice.ts
rename to apps/studio/src/stores/chat-slice.ts
index 28a4c1e079..867e159e14 100644
--- a/src/stores/chat-slice.ts
+++ b/apps/studio/src/stores/chat-slice.ts
@@ -1,9 +1,9 @@
import { createSlice, createAsyncThunk, PayloadAction, isAnyOf } from '@reduxjs/toolkit';
import * as Sentry from '@sentry/electron/renderer';
+import { DEFAULT_PHP_VERSION } from '@studio/common/constants';
+import { parseJsonFromPhpOutput } from '@studio/common/lib/php-output-parser';
import { WPCOM } from 'wpcom/types';
import { z } from 'zod';
-import { DEFAULT_PHP_VERSION } from 'common/constants';
-import { parseJsonFromPhpOutput } from 'common/lib/php-output-parser';
import { LOCAL_STORAGE_CHAT_API_IDS_KEY, LOCAL_STORAGE_CHAT_MESSAGES_KEY } from 'src/constants';
import { getIpcApi } from 'src/lib/get-ipc-api';
import { AppDispatch, RootState } from 'src/stores';
diff --git a/src/stores/format-rtk-error.tsx b/apps/studio/src/stores/format-rtk-error.tsx
similarity index 100%
rename from src/stores/format-rtk-error.tsx
rename to apps/studio/src/stores/format-rtk-error.tsx
diff --git a/src/stores/i18n-slice.ts b/apps/studio/src/stores/i18n-slice.ts
similarity index 98%
rename from src/stores/i18n-slice.ts
rename to apps/studio/src/stores/i18n-slice.ts
index d7d1d37fa9..c5ccfb6425 100644
--- a/src/stores/i18n-slice.ts
+++ b/apps/studio/src/stores/i18n-slice.ts
@@ -1,11 +1,11 @@
import { createSlice, PayloadAction, createAsyncThunk } from '@reduxjs/toolkit';
-import { defaultI18n } from '@wordpress/i18n';
import {
SupportedLocale,
getLocaleData,
DEFAULT_LOCALE,
isSupportedLocale,
-} from 'common/lib/locale';
+} from '@studio/common/lib/locale';
+import { defaultI18n } from '@wordpress/i18n';
import { getIpcApi } from 'src/lib/get-ipc-api';
interface I18nState {
diff --git a/src/stores/index.ts b/apps/studio/src/stores/index.ts
similarity index 98%
rename from src/stores/index.ts
rename to apps/studio/src/stores/index.ts
index ff06025a95..ba0eced546 100644
--- a/src/stores/index.ts
+++ b/apps/studio/src/stores/index.ts
@@ -27,7 +27,7 @@ import { wpcomSitesApi } from 'src/stores/sync/wpcom-sites';
import uiReducer from 'src/stores/ui-slice';
import { wpcomApi, wpcomPublicApi } from 'src/stores/wpcom-api';
import { wordpressVersionsApi } from './wordpress-versions-api';
-import type { SupportedLocale } from 'common/lib/locale';
+import type { SupportedLocale } from '@studio/common/lib/locale';
export type RootState = {
appVersionApi: ReturnType< typeof appVersionApi.reducer >;
diff --git a/src/stores/installed-apps-api.ts b/apps/studio/src/stores/installed-apps-api.ts
similarity index 100%
rename from src/stores/installed-apps-api.ts
rename to apps/studio/src/stores/installed-apps-api.ts
diff --git a/src/stores/onboarding-slice.ts b/apps/studio/src/stores/onboarding-slice.ts
similarity index 100%
rename from src/stores/onboarding-slice.ts
rename to apps/studio/src/stores/onboarding-slice.ts
diff --git a/src/stores/provider-constants-slice.ts b/apps/studio/src/stores/provider-constants-slice.ts
similarity index 92%
rename from src/stores/provider-constants-slice.ts
rename to apps/studio/src/stores/provider-constants-slice.ts
index 99b5ec172d..b016936d91 100644
--- a/src/stores/provider-constants-slice.ts
+++ b/apps/studio/src/stores/provider-constants-slice.ts
@@ -3,8 +3,8 @@ import {
DEFAULT_PHP_VERSION,
DEFAULT_WORDPRESS_VERSION,
MINIMUM_WORDPRESS_VERSION,
-} from 'common/constants';
-import { SupportedPHPVersionsList } from 'common/types/php-versions';
+} from '@studio/common/constants';
+import { SupportedPHPVersionsList } from '@studio/common/types/php-versions';
import { RootState } from 'src/stores';
interface ProviderConstantsState {
diff --git a/src/stores/snapshot-slice.ts b/apps/studio/src/stores/snapshot-slice.ts
similarity index 99%
rename from src/stores/snapshot-slice.ts
rename to apps/studio/src/stores/snapshot-slice.ts
index 5cfc9f4720..c1c5a060f9 100644
--- a/src/stores/snapshot-slice.ts
+++ b/apps/studio/src/stores/snapshot-slice.ts
@@ -6,10 +6,10 @@ import {
isAnyOf,
PayloadAction,
} from '@reduxjs/toolkit';
+import { PreviewCommandLoggerAction } from '@studio/common/logger-actions';
+import { Snapshot } from '@studio/common/types/snapshot';
import { __, sprintf } from '@wordpress/i18n';
import fastDeepEqual from 'fast-deep-equal';
-import { PreviewCommandLoggerAction } from 'common/logger-actions';
-import { Snapshot } from 'common/types/snapshot';
import { LIMIT_OF_ZIP_SITES_PER_USER } from 'src/constants';
import { getIpcApi } from 'src/lib/get-ipc-api';
import { RootState, store } from 'src/stores/index';
diff --git a/src/stores/sync/connected-sites.ts b/apps/studio/src/stores/sync/connected-sites.ts
similarity index 100%
rename from src/stores/sync/connected-sites.ts
rename to apps/studio/src/stores/sync/connected-sites.ts
diff --git a/src/stores/sync/index.ts b/apps/studio/src/stores/sync/index.ts
similarity index 100%
rename from src/stores/sync/index.ts
rename to apps/studio/src/stores/sync/index.ts
diff --git a/src/stores/sync/sync-api.ts b/apps/studio/src/stores/sync/sync-api.ts
similarity index 100%
rename from src/stores/sync/sync-api.ts
rename to apps/studio/src/stores/sync/sync-api.ts
diff --git a/src/stores/sync/sync-hooks.ts b/apps/studio/src/stores/sync/sync-hooks.ts
similarity index 100%
rename from src/stores/sync/sync-hooks.ts
rename to apps/studio/src/stores/sync/sync-hooks.ts
diff --git a/src/stores/sync/sync-slice.ts b/apps/studio/src/stores/sync/sync-slice.ts
similarity index 100%
rename from src/stores/sync/sync-slice.ts
rename to apps/studio/src/stores/sync/sync-slice.ts
diff --git a/src/stores/sync/sync-types.ts b/apps/studio/src/stores/sync/sync-types.ts
similarity index 100%
rename from src/stores/sync/sync-types.ts
rename to apps/studio/src/stores/sync/sync-types.ts
diff --git a/src/stores/sync/wpcom-sites.ts b/apps/studio/src/stores/sync/wpcom-sites.ts
similarity index 100%
rename from src/stores/sync/wpcom-sites.ts
rename to apps/studio/src/stores/sync/wpcom-sites.ts
diff --git a/src/stores/tests/app-version-api.test.ts b/apps/studio/src/stores/tests/app-version-api.test.ts
similarity index 100%
rename from src/stores/tests/app-version-api.test.ts
rename to apps/studio/src/stores/tests/app-version-api.test.ts
diff --git a/src/stores/tests/chat-slice.test.ts b/apps/studio/src/stores/tests/chat-slice.test.ts
similarity index 100%
rename from src/stores/tests/chat-slice.test.ts
rename to apps/studio/src/stores/tests/chat-slice.test.ts
diff --git a/src/stores/tests/installed-apps-api.test.ts b/apps/studio/src/stores/tests/installed-apps-api.test.ts
similarity index 100%
rename from src/stores/tests/installed-apps-api.test.ts
rename to apps/studio/src/stores/tests/installed-apps-api.test.ts
diff --git a/src/stores/tests/onboarding-slice.test.ts b/apps/studio/src/stores/tests/onboarding-slice.test.ts
similarity index 100%
rename from src/stores/tests/onboarding-slice.test.ts
rename to apps/studio/src/stores/tests/onboarding-slice.test.ts
diff --git a/src/stores/tests/snapshot-slice.test.ts b/apps/studio/src/stores/tests/snapshot-slice.test.ts
similarity index 97%
rename from src/stores/tests/snapshot-slice.test.ts
rename to apps/studio/src/stores/tests/snapshot-slice.test.ts
index 494c34b69a..1d4fd5af7a 100644
--- a/src/stores/tests/snapshot-slice.test.ts
+++ b/apps/studio/src/stores/tests/snapshot-slice.test.ts
@@ -1,9 +1,9 @@
import crypto from 'crypto';
import { UnknownAction } from '@reduxjs/toolkit';
+import { PreviewCommandLoggerAction } from '@studio/common/logger-actions';
+import { Snapshot } from '@studio/common/types/snapshot';
import { produce } from 'immer';
import { vi } from 'vitest';
-import { PreviewCommandLoggerAction } from 'common/logger-actions';
-import { Snapshot } from 'common/types/snapshot';
import { getIpcApi } from 'src/lib/get-ipc-api';
import { RootState, store } from 'src/stores';
import {
diff --git a/src/stores/tests/utils/test-reducer.ts b/apps/studio/src/stores/tests/utils/test-reducer.ts
similarity index 100%
rename from src/stores/tests/utils/test-reducer.ts
rename to apps/studio/src/stores/tests/utils/test-reducer.ts
diff --git a/src/stores/tests/wordpress-versions-api.test.ts b/apps/studio/src/stores/tests/wordpress-versions-api.test.ts
similarity index 100%
rename from src/stores/tests/wordpress-versions-api.test.ts
rename to apps/studio/src/stores/tests/wordpress-versions-api.test.ts
diff --git a/src/stores/ui-slice.ts b/apps/studio/src/stores/ui-slice.ts
similarity index 100%
rename from src/stores/ui-slice.ts
rename to apps/studio/src/stores/ui-slice.ts
diff --git a/src/stores/utils/with-offline-check.ts b/apps/studio/src/stores/utils/with-offline-check.ts
similarity index 100%
rename from src/stores/utils/with-offline-check.ts
rename to apps/studio/src/stores/utils/with-offline-check.ts
diff --git a/src/stores/wordpress-versions-api.ts b/apps/studio/src/stores/wordpress-versions-api.ts
similarity index 97%
rename from src/stores/wordpress-versions-api.ts
rename to apps/studio/src/stores/wordpress-versions-api.ts
index d87027984c..b6cc32a7be 100644
--- a/src/stores/wordpress-versions-api.ts
+++ b/apps/studio/src/stores/wordpress-versions-api.ts
@@ -1,8 +1,11 @@
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
import * as Sentry from '@sentry/electron/renderer';
+import {
+ isWordPressDevVersion,
+ isWordPressBetaVersion,
+} from '@studio/common/lib/wordpress-version-utils';
import { __ } from '@wordpress/i18n';
import { z } from 'zod';
-import { isWordPressDevVersion, isWordPressBetaVersion } from 'common/lib/wordpress-version-utils';
import { withOfflineCheck } from 'src/stores/utils/with-offline-check';
const wordPressApiResponseSchema = z.object( {
diff --git a/src/stores/wpcom-api.ts b/apps/studio/src/stores/wpcom-api.ts
similarity index 97%
rename from src/stores/wpcom-api.ts
rename to apps/studio/src/stores/wpcom-api.ts
index 73b271a843..5ae6f43f55 100644
--- a/src/stores/wpcom-api.ts
+++ b/apps/studio/src/stores/wpcom-api.ts
@@ -1,10 +1,10 @@
import { createApi, TypedUseQuery, TypedUseMutation } from '@reduxjs/toolkit/query/react';
import * as Sentry from '@sentry/electron/renderer';
+import { DAY_MS } from '@studio/common/constants';
+import wpcomFactory from '@studio/common/lib/wpcom-factory';
+import wpcomXhrRequest from '@studio/common/lib/wpcom-xhr-request-factory';
import { WPCOM } from 'wpcom/types';
import { z } from 'zod';
-import { DAY_MS } from 'common/constants';
-import wpcomFactory from 'src/lib/wpcom-factory';
-import wpcomXhrRequest from 'src/lib/wpcom-xhr-request-factory';
import { withOfflineCheck, withOfflineCheckMutation } from 'src/stores/utils/with-offline-check';
import type { BaseQueryFn, FetchBaseQueryError } from '@reduxjs/toolkit/query';
diff --git a/src/tests/execute-wp-cli.test.ts b/apps/studio/src/tests/execute-wp-cli.test.ts
similarity index 100%
rename from src/tests/execute-wp-cli.test.ts
rename to apps/studio/src/tests/execute-wp-cli.test.ts
diff --git a/src/tests/index.test.ts b/apps/studio/src/tests/index.test.ts
similarity index 99%
rename from src/tests/index.test.ts
rename to apps/studio/src/tests/index.test.ts
index e0cb403f8a..01619d8d12 100644
--- a/src/tests/index.test.ts
+++ b/apps/studio/src/tests/index.test.ts
@@ -17,7 +17,7 @@ vi.mock( '@sentry/electron/main', () => ( {
captureMessage: vi.fn(),
setUser: vi.fn(),
} ) );
-vi.mock( 'common/lib/bump-stat', () => ( {
+vi.mock( '@studio/common/lib/bump-stat', () => ( {
bumpStat: vi.fn(),
bumpAggregatedUniqueStat: vi.fn( () => Promise.resolve() ),
} ) );
diff --git a/src/tests/ipc-handlers.test.ts b/apps/studio/src/tests/ipc-handlers.test.ts
similarity index 97%
rename from src/tests/ipc-handlers.test.ts
rename to apps/studio/src/tests/ipc-handlers.test.ts
index 1850da8863..a2ef6ecf57 100644
--- a/src/tests/ipc-handlers.test.ts
+++ b/apps/studio/src/tests/ipc-handlers.test.ts
@@ -5,10 +5,10 @@ import { IpcMainInvokeEvent } from 'electron';
import fs from 'fs';
import { normalize } from 'path';
import * as Sentry from '@sentry/electron/main';
+import { bumpStat } from '@studio/common/lib/bump-stat';
+import { StatsGroup, StatsMetric } from '@studio/common/types/stats';
import { readFile } from 'atomically';
import { vi } from 'vitest';
-import { bumpStat } from 'common/lib/bump-stat';
-import { StatsGroup, StatsMetric } from 'common/types/stats';
import {
createSite,
isFullscreen,
@@ -23,7 +23,7 @@ import { SiteServer } from 'src/site-server';
vi.mock( 'fs' );
vi.mock( 'fs-extra' );
-vi.mock( 'common/lib/fs-utils' );
+vi.mock( '@studio/common/lib/fs-utils' );
vi.mock( '@sentry/electron/main', () => ( {
captureException: vi.fn(),
captureMessage: vi.fn(),
@@ -45,13 +45,13 @@ vi.mock( 'src/lib/wordpress-setup', () => ( {
} ) );
vi.mock( 'src/main-window' );
vi.mock( 'src/lib/import-export/import/import-manager' );
-vi.mock( 'common/lib/bump-stat' );
+vi.mock( '@studio/common/lib/bump-stat' );
vi.mock( 'atomically' );
vi.mock( 'src/lib/get-image-data', () => ( {
getImageData: vi.fn().mockResolvedValue( 'data:image/png;base64,mock' ),
} ) );
-vi.mock( 'common/lib/port-finder', () => ( {
+vi.mock( '@studio/common/lib/port-finder', () => ( {
portFinder: {
getOpenPort: vi.fn().mockResolvedValue( 9999 ),
},
diff --git a/src/tests/main-window.test.ts b/apps/studio/src/tests/main-window.test.ts
similarity index 100%
rename from src/tests/main-window.test.ts
rename to apps/studio/src/tests/main-window.test.ts
diff --git a/src/tests/show-site-context-menu.test.ts b/apps/studio/src/tests/show-site-context-menu.test.ts
similarity index 100%
rename from src/tests/show-site-context-menu.test.ts
rename to apps/studio/src/tests/show-site-context-menu.test.ts
diff --git a/src/tests/site-server.test.ts b/apps/studio/src/tests/site-server.test.ts
similarity index 88%
rename from src/tests/site-server.test.ts
rename to apps/studio/src/tests/site-server.test.ts
index c65edb07dc..fc878199b7 100644
--- a/src/tests/site-server.test.ts
+++ b/apps/studio/src/tests/site-server.test.ts
@@ -5,7 +5,7 @@ import { vi } from 'vitest';
import { SiteServer } from 'src/site-server';
// Electron's Node.js environment provides `btoa`/`atob`, but Vitest's does not
-vi.mock( 'common/lib/passwords' );
+vi.mock( '@studio/common/lib/passwords' );
// `SiteServer::start` uses `getPreferredSiteLanguage` to set the site language
vi.mock( 'src/lib/site-language', () => ( {
@@ -57,12 +57,6 @@ vi.mock( 'src/lib/wordpress-provider', () => {
};
} );
-// Mock the wp-now config that the provider uses internally
-
-vi.mock( 'vendor/wp-now/src', () => ( {
- getWpNowConfig: vi.fn( () => ( { mode: 'wordpress', port: 1234 } ) ),
-} ) );
-
// Mock CliServerProcess with a start method that calls startServer
vi.mock( 'src/modules/cli/lib/cli-server-process', () => ( {
CliServerProcess: vi.fn().mockImplementation( () => ( {
@@ -82,10 +76,6 @@ vi.mock( 'src/storage/user-data' );
describe( 'SiteServer', () => {
describe( 'start', () => {
it( 'should throw if the server starts with a non-WordPress mode', async () => {
- // eslint-disable-next-line import/no-unresolved
- const { getWpNowConfig } = await import( 'vendor/wp-now/src' );
- vi.mocked( getWpNowConfig ).mockReturnValue( { mode: 'theme', port: 1234 } );
-
// eslint-disable-next-line import/no-unresolved
const { startServer } = await import( 'src/lib/wordpress-provider' );
vi.mocked( startServer ).mockRejectedValue(
diff --git a/src/tests/utils/style-mock.js b/apps/studio/src/tests/utils/style-mock.js
similarity index 100%
rename from src/tests/utils/style-mock.js
rename to apps/studio/src/tests/utils/style-mock.js
diff --git a/src/types.ts b/apps/studio/src/types.ts
similarity index 100%
rename from src/types.ts
rename to apps/studio/src/types.ts
diff --git a/src/updates.ts b/apps/studio/src/updates.ts
similarity index 100%
rename from src/updates.ts
rename to apps/studio/src/updates.ts
diff --git a/src/utility-types.d.ts b/apps/studio/src/utility-types.d.ts
similarity index 100%
rename from src/utility-types.d.ts
rename to apps/studio/src/utility-types.d.ts
diff --git a/tailwind.config.js b/apps/studio/tailwind.config.js
similarity index 97%
rename from tailwind.config.js
rename to apps/studio/tailwind.config.js
index 8c116db68b..930453cc59 100644
--- a/tailwind.config.js
+++ b/apps/studio/tailwind.config.js
@@ -1,6 +1,7 @@
/** @type {import('tailwindcss').Config} */
import palette from '@automattic/color-studio';
import plugin from 'tailwindcss/plugin';
+import path from 'node:path';
import { WINDOWS_TITLEBAR_HEIGHT, MAIN_MIN_WIDTH, APP_CHROME_SPACING } from './src/constants.ts';
const BASE_FONT_SIZE = 16; // 1 rem
@@ -138,7 +139,10 @@ a8cToTailwindColors[ `${ PREFIX }-gray-100` ] = '#f0f0f0'; // Gray 100
a8cToTailwindColors[ `${ PREFIX }-gray-5` ] = '#DCDCDE'; // Gray 5
module.exports = {
- content: [ './src/**/*.{html,js,jsx,ts,tsx}' ],
+ content: [
+ path.join( __dirname, 'index.html' ),
+ path.join( __dirname, 'src/**/*.{html,js,jsx,ts,tsx}' ),
+ ],
theme: {
extend: {
colors: {
diff --git a/apps/studio/tsconfig.json b/apps/studio/tsconfig.json
new file mode 100644
index 0000000000..39fb40d46b
--- /dev/null
+++ b/apps/studio/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "composite": true,
+ "baseUrl": "../..",
+ "paths": {
+ "*": [ "node_modules/*" ],
+ "cli/*": [ "apps/cli/*" ],
+ "src/*": [ "apps/studio/src/*" ],
+ "vendor/*": [ "vendor/*" ],
+ "@studio/common/*": [ "tools/common/*" ]
+ }
+ },
+ "include": [ "src/**/*", "e2e/**/*" ],
+ "exclude": [ "**/__mocks__/**/*", "**/node_modules/**/*", "**/dist/**/*", "**/out/**/*" ],
+ "references": [ { "path": "../cli" }, { "path": "../../tools/common" } ]
+}
diff --git a/cli/__mocks__/pm2.ts b/cli/__mocks__/pm2.ts
deleted file mode 100644
index 1945d9dbd0..0000000000
--- a/cli/__mocks__/pm2.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-class API {
- connect( callback: ( error: Error | null ) => void ) {
- setTimeout( () => {
- callback( null );
- }, 0 );
- }
- disconnect( callback: ( error: Error | null ) => void ) {
- setTimeout( () => {
- callback( null );
- }, 0 );
- }
- list( callback: ( error: Error | null, processes: any[] ) => void ) {
- setTimeout( () => {
- callback( null, [] );
- }, 0 );
- }
- launchBus( callback: ( error: Error | null, bus: any ) => void ) {
- setTimeout( () => {
- callback( null, {} );
- }, 0 );
- }
- sendDataToProcessId( id: string, data: any, callback: ( error: Error | null ) => void ) {
- setTimeout( () => {
- callback( null );
- }, 0 );
- }
- start( config: any, callback: ( error: Error | null, apps: any[] ) => void ) {
- setTimeout( () => {
- callback( null, [] );
- }, 0 );
- }
- delete( callback: ( error: Error | null ) => void ) {
- setTimeout( () => {
- callback( null );
- }, 0 );
- }
-}
-
-exports.custom = API;
diff --git a/cli/package-lock.json b/cli/package-lock.json
deleted file mode 100644
index e1d59152a9..0000000000
--- a/cli/package-lock.json
+++ /dev/null
@@ -1,6060 +0,0 @@
-{
- "name": "studio-cli",
- "version": "1.1.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "studio-cli",
- "hasInstallScript": true,
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "^3.0.46",
- "@wp-playground/blueprints": "^3.0.46",
- "@wp-playground/cli": "^3.0.46",
- "@wp-playground/common": "^3.0.46",
- "@wp-playground/storage": "^3.0.46",
- "http-proxy": "^1.18.1",
- "pm2": "^6.0.14",
- "pm2-axon": "^4.0.1",
- "trash": "^10.0.1"
- }
- },
- "node_modules/@noble/hashes": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz",
- "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==",
- "license": "MIT",
- "engines": {
- "node": ">= 16"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@octokit/app": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/app/-/app-14.1.0.tgz",
- "integrity": "sha512-g3uEsGOQCBl1+W1rgfwoRFUIR6PtvB2T1E4RpygeUU5LrLvlOqcxrt5lfykIeRpUPpupreGJUYl70fqMDXdTpw==",
- "license": "MIT",
- "dependencies": {
- "@octokit/auth-app": "^6.0.0",
- "@octokit/auth-unauthenticated": "^5.0.0",
- "@octokit/core": "^5.0.0",
- "@octokit/oauth-app": "^6.0.0",
- "@octokit/plugin-paginate-rest": "^9.0.0",
- "@octokit/types": "^12.0.0",
- "@octokit/webhooks": "^12.0.4"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/auth-app": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-6.1.4.tgz",
- "integrity": "sha512-QkXkSOHZK4dA5oUqY5Dk3S+5pN2s1igPjEASNQV8/vgJgW034fQWR16u7VsNOK/EljA00eyjYF5mWNxWKWhHRQ==",
- "license": "MIT",
- "dependencies": {
- "@octokit/auth-oauth-app": "^7.1.0",
- "@octokit/auth-oauth-user": "^4.1.0",
- "@octokit/request": "^8.3.1",
- "@octokit/request-error": "^5.1.0",
- "@octokit/types": "^13.1.0",
- "deprecation": "^2.3.1",
- "lru-cache": "npm:@wolfy1339/lru-cache@^11.0.2-patch.1",
- "universal-github-app-jwt": "^1.1.2",
- "universal-user-agent": "^6.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/auth-app/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/auth-app/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/auth-oauth-app": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-7.1.0.tgz",
- "integrity": "sha512-w+SyJN/b0l/HEb4EOPRudo7uUOSW51jcK1jwLa+4r7PA8FPFpoxEnHBHMITqCsc/3Vo2qqFjgQfz/xUUvsSQnA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/auth-oauth-device": "^6.1.0",
- "@octokit/auth-oauth-user": "^4.1.0",
- "@octokit/request": "^8.3.1",
- "@octokit/types": "^13.0.0",
- "@types/btoa-lite": "^1.0.0",
- "btoa-lite": "^1.0.0",
- "universal-user-agent": "^6.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/auth-oauth-device": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-6.1.0.tgz",
- "integrity": "sha512-FNQ7cb8kASufd6Ej4gnJ3f1QB5vJitkoV1O0/g6e6lUsQ7+VsSNRHRmFScN2tV4IgKA12frrr/cegUs0t+0/Lw==",
- "license": "MIT",
- "dependencies": {
- "@octokit/oauth-methods": "^4.1.0",
- "@octokit/request": "^8.3.1",
- "@octokit/types": "^13.0.0",
- "universal-user-agent": "^6.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/auth-oauth-user": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-4.1.0.tgz",
- "integrity": "sha512-FrEp8mtFuS/BrJyjpur+4GARteUCrPeR/tZJzD8YourzoVhRics7u7we/aDcKv+yywRNwNi/P4fRi631rG/OyQ==",
- "license": "MIT",
- "dependencies": {
- "@octokit/auth-oauth-device": "^6.1.0",
- "@octokit/oauth-methods": "^4.1.0",
- "@octokit/request": "^8.3.1",
- "@octokit/types": "^13.0.0",
- "btoa-lite": "^1.0.0",
- "universal-user-agent": "^6.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/auth-token": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
- "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
- "license": "MIT",
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/auth-unauthenticated": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-5.0.1.tgz",
- "integrity": "sha512-oxeWzmBFxWd+XolxKTc4zr+h3mt+yofn4r7OfoIkR/Cj/o70eEGmPsFbueyJE2iBAGpjgTnEOKM3pnuEGVmiqg==",
- "license": "MIT",
- "dependencies": {
- "@octokit/request-error": "^5.0.0",
- "@octokit/types": "^12.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/core": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz",
- "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==",
- "license": "MIT",
- "dependencies": {
- "@octokit/auth-token": "^4.0.0",
- "@octokit/graphql": "^7.1.0",
- "@octokit/request": "^8.4.1",
- "@octokit/request-error": "^5.1.1",
- "@octokit/types": "^13.0.0",
- "before-after-hook": "^2.2.0",
- "universal-user-agent": "^6.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/core/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/core/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/endpoint": {
- "version": "9.0.6",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz",
- "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==",
- "license": "MIT",
- "dependencies": {
- "@octokit/types": "^13.1.0",
- "universal-user-agent": "^6.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/endpoint/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/graphql": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz",
- "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==",
- "license": "MIT",
- "dependencies": {
- "@octokit/request": "^8.4.1",
- "@octokit/types": "^13.0.0",
- "universal-user-agent": "^6.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/graphql/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/oauth-app": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-6.1.0.tgz",
- "integrity": "sha512-nIn/8eUJ/BKUVzxUXd5vpzl1rwaVxMyYbQkNZjHrF7Vk/yu98/YDF/N2KeWO7uZ0g3b5EyiFXFkZI8rJ+DH1/g==",
- "license": "MIT",
- "dependencies": {
- "@octokit/auth-oauth-app": "^7.0.0",
- "@octokit/auth-oauth-user": "^4.0.0",
- "@octokit/auth-unauthenticated": "^5.0.0",
- "@octokit/core": "^5.0.0",
- "@octokit/oauth-authorization-url": "^6.0.2",
- "@octokit/oauth-methods": "^4.0.0",
- "@types/aws-lambda": "^8.10.83",
- "universal-user-agent": "^6.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/oauth-authorization-url": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-6.0.2.tgz",
- "integrity": "sha512-CdoJukjXXxqLNK4y/VOiVzQVjibqoj/xHgInekviUJV73y/BSIcwvJ/4aNHPBPKcPWFnd4/lO9uqRV65jXhcLA==",
- "license": "MIT",
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/oauth-methods": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-4.1.0.tgz",
- "integrity": "sha512-4tuKnCRecJ6CG6gr0XcEXdZtkTDbfbnD5oaHBmLERTjTMZNi2CbfEHZxPU41xXLDG4DfKf+sonu00zvKI9NSbw==",
- "license": "MIT",
- "dependencies": {
- "@octokit/oauth-authorization-url": "^6.0.2",
- "@octokit/request": "^8.3.1",
- "@octokit/request-error": "^5.1.0",
- "@octokit/types": "^13.0.0",
- "btoa-lite": "^1.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/oauth-methods/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/oauth-methods/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/openapi-types": {
- "version": "20.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz",
- "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==",
- "license": "MIT"
- },
- "node_modules/@octokit/plugin-paginate-graphql": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-4.0.1.tgz",
- "integrity": "sha512-R8ZQNmrIKKpHWC6V2gum4x9LG2qF1RxRjo27gjQcG3j+vf2tLsEfE7I/wRWEPzYMaenr1M+qDAtNcwZve1ce1A==",
- "license": "MIT",
- "engines": {
- "node": ">= 18"
- },
- "peerDependencies": {
- "@octokit/core": ">=5"
- }
- },
- "node_modules/@octokit/plugin-paginate-rest": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.2.tgz",
- "integrity": "sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ==",
- "license": "MIT",
- "dependencies": {
- "@octokit/types": "^12.6.0"
- },
- "engines": {
- "node": ">= 18"
- },
- "peerDependencies": {
- "@octokit/core": "5"
- }
- },
- "node_modules/@octokit/plugin-rest-endpoint-methods": {
- "version": "10.4.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz",
- "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==",
- "license": "MIT",
- "dependencies": {
- "@octokit/types": "^12.6.0"
- },
- "engines": {
- "node": ">= 18"
- },
- "peerDependencies": {
- "@octokit/core": "5"
- }
- },
- "node_modules/@octokit/plugin-retry": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.1.0.tgz",
- "integrity": "sha512-WrO3bvq4E1Xh1r2mT9w6SDFg01gFmP81nIG77+p/MqW1JeXXgL++6umim3t6x0Zj5pZm3rXAN+0HEjmmdhIRig==",
- "license": "MIT",
- "dependencies": {
- "@octokit/request-error": "^5.0.0",
- "@octokit/types": "^13.0.0",
- "bottleneck": "^2.15.3"
- },
- "engines": {
- "node": ">= 18"
- },
- "peerDependencies": {
- "@octokit/core": "5"
- }
- },
- "node_modules/@octokit/plugin-retry/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/plugin-retry/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/plugin-throttling": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.2.0.tgz",
- "integrity": "sha512-nOpWtLayKFpgqmgD0y3GqXafMFuKcA4tRPZIfu7BArd2lEZeb1988nhWhwx4aZWmjDmUfdgVf7W+Tt4AmvRmMQ==",
- "license": "MIT",
- "dependencies": {
- "@octokit/types": "^12.2.0",
- "bottleneck": "^2.15.3"
- },
- "engines": {
- "node": ">= 18"
- },
- "peerDependencies": {
- "@octokit/core": "^5.0.0"
- }
- },
- "node_modules/@octokit/request": {
- "version": "8.4.1",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz",
- "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==",
- "license": "MIT",
- "dependencies": {
- "@octokit/endpoint": "^9.0.6",
- "@octokit/request-error": "^5.1.1",
- "@octokit/types": "^13.1.0",
- "universal-user-agent": "^6.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/request-error": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz",
- "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==",
- "license": "MIT",
- "dependencies": {
- "@octokit/types": "^13.1.0",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/request-error/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/request/node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
- "license": "MIT"
- },
- "node_modules/@octokit/request/node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
- },
- "node_modules/@octokit/types": {
- "version": "12.6.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz",
- "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==",
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^20.0.0"
- }
- },
- "node_modules/@octokit/webhooks": {
- "version": "12.3.2",
- "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-12.3.2.tgz",
- "integrity": "sha512-exj1MzVXoP7xnAcAB3jZ97pTvVPkQF9y6GA/dvYC47HV7vLv+24XRS6b/v/XnyikpEuvMhugEXdGtAlU086WkQ==",
- "license": "MIT",
- "dependencies": {
- "@octokit/request-error": "^5.0.0",
- "@octokit/webhooks-methods": "^4.1.0",
- "@octokit/webhooks-types": "7.6.1",
- "aggregate-error": "^3.1.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/webhooks-methods": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-4.1.0.tgz",
- "integrity": "sha512-zoQyKw8h9STNPqtm28UGOYFE7O6D4Il8VJwhAtMHFt2C4L0VQT1qGKLeefUOqHNs1mNRYSadVv7x0z8U2yyeWQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@octokit/webhooks-types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@octokit/webhooks-types/-/webhooks-types-7.6.1.tgz",
- "integrity": "sha512-S8u2cJzklBC0FgTwWVLaM8tMrDuDMVE4xiTK4EYXM9GntyvrdbSoxqDQa+Fh57CCNApyIpyeqPhhFEmHPfrXgw==",
- "license": "MIT"
- },
- "node_modules/@peculiar/asn1-cms": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.0.tgz",
- "integrity": "sha512-2uZqP+ggSncESeUF/9Su8rWqGclEfEiz1SyU02WX5fUONFfkjzS2Z/F1Li0ofSmf4JqYXIOdCAZqIXAIBAT1OA==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "@peculiar/asn1-x509-attr": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-cms/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/asn1-csr": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.0.tgz",
- "integrity": "sha512-BeWIu5VpTIhfRysfEp73SGbwjjoLL/JWXhJ/9mo4vXnz3tRGm+NGm3KNcRzQ9VMVqwYS2RHlolz21svzRXIHPQ==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-csr/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/asn1-ecc": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.0.tgz",
- "integrity": "sha512-FF3LMGq6SfAOwUG2sKpPXblibn6XnEIKa+SryvUl5Pik+WR9rmRA3OCiwz8R3lVXnYnyRkSZsSLdml8H3UiOcw==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-ecc/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/asn1-pfx": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.0.tgz",
- "integrity": "sha512-rtUvtf+tyKGgokHHmZzeUojRZJYPxoD/jaN1+VAB4kKR7tXrnDCA/RAWXAIhMJJC+7W27IIRGe9djvxKgsldCQ==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-cms": "^2.6.0",
- "@peculiar/asn1-pkcs8": "^2.6.0",
- "@peculiar/asn1-rsa": "^2.6.0",
- "@peculiar/asn1-schema": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-pfx/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/asn1-pkcs8": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.0.tgz",
- "integrity": "sha512-KyQ4D8G/NrS7Fw3XCJrngxmjwO/3htnA0lL9gDICvEQ+GJ+EPFqldcJQTwPIdvx98Tua+WjkdKHSC0/Km7T+lA==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-pkcs8/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/asn1-pkcs9": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.0.tgz",
- "integrity": "sha512-b78OQ6OciW0aqZxdzliXGYHASeCvvw5caqidbpQRYW2mBtXIX2WhofNXTEe7NyxTb0P6J62kAAWLwn0HuMF1Fw==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-cms": "^2.6.0",
- "@peculiar/asn1-pfx": "^2.6.0",
- "@peculiar/asn1-pkcs8": "^2.6.0",
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "@peculiar/asn1-x509-attr": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-pkcs9/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/asn1-rsa": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.0.tgz",
- "integrity": "sha512-Nu4C19tsrTsCp9fDrH+sdcOKoVfdfoQQ7S3VqjJU6vedR7tY3RLkQ5oguOIB3zFW33USDUuYZnPEQYySlgha4w==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-rsa/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/asn1-schema": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz",
- "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==",
- "license": "MIT",
- "dependencies": {
- "asn1js": "^3.0.6",
- "pvtsutils": "^1.3.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-schema/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/asn1-x509": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.0.tgz",
- "integrity": "sha512-uzYbPEpoQiBoTq0/+jZtpM6Gq6zADBx+JNFP3yqRgziWBxQ/Dt/HcuvRfm9zJTPdRcBqPNdaRHTVwpyiq6iNMA==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "asn1js": "^3.0.6",
- "pvtsutils": "^1.3.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-x509-attr": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.0.tgz",
- "integrity": "sha512-MuIAXFX3/dc8gmoZBkwJWxUWOSvG4MMDntXhrOZpJVMkYX+MYc/rUAU2uJOved9iJEoiUx7//3D8oG83a78UJA==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
- },
- "node_modules/@peculiar/asn1-x509-attr/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/asn1-x509/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@peculiar/x509": {
- "version": "1.14.3",
- "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz",
- "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/asn1-cms": "^2.6.0",
- "@peculiar/asn1-csr": "^2.6.0",
- "@peculiar/asn1-ecc": "^2.6.0",
- "@peculiar/asn1-pkcs9": "^2.6.0",
- "@peculiar/asn1-rsa": "^2.6.0",
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "pvtsutils": "^1.3.6",
- "reflect-metadata": "^0.2.2",
- "tslib": "^2.8.1",
- "tsyringe": "^4.10.0"
- },
- "engines": {
- "node": ">=20.0.0"
- }
- },
- "node_modules/@peculiar/x509/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/@php-wasm/cli-util": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/cli-util/-/cli-util-3.0.46.tgz",
- "integrity": "sha512-FL9O1/B6x4rfoGI1yVFdEWaIfkKf+0TC91B188VOGAkZ12kASPktUwaS3xLKIFDXI3rysvv2afuoZx7/IoP4hg==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "fast-xml-parser": "5.3.0",
- "jsonc-parser": "3.3.1"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/fs-journal": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/fs-journal/-/fs-journal-3.0.46.tgz",
- "integrity": "sha512-OxIBbPCXB4XRa9Jdqy1hGG80pmAZduKabpQqwtQEuvlTAeBdOjN4b40FxhbctNQ6zRG6xMr5tD9wGoGh0cLLTQ==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/logger": "3.0.46",
- "@php-wasm/node": "3.0.46",
- "@php-wasm/universal": "3.0.46",
- "@php-wasm/util": "3.0.46",
- "express": "4.22.0",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3",
- "yargs": "17.7.2"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/fs-journal/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/fs-journal/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/logger": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/logger/-/logger-3.0.46.tgz",
- "integrity": "sha512-zLn+ebH8xqQUhDnCPPgQyw7MP7hKV49QgkhnFWlthy4b6DrUhLwEXrNLM94gezQAq+h793SIgciNBLoOVzNsgw==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/node-polyfills": "3.0.46"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/node/-/node-3.0.46.tgz",
- "integrity": "sha512-Iw3zyKR7x7sMOFAuDYivdKhoxsV3jYyVcL4LeKFfh9xsWohoQ6iN6h36vD/eNjAEG7b3zt27yX4bfObydGXirw==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/logger": "3.0.46",
- "@php-wasm/node-7-4": "3.0.46",
- "@php-wasm/node-8-0": "3.0.46",
- "@php-wasm/node-8-1": "3.0.46",
- "@php-wasm/node-8-2": "3.0.46",
- "@php-wasm/node-8-3": "3.0.46",
- "@php-wasm/node-8-4": "3.0.46",
- "@php-wasm/node-8-5": "3.0.46",
- "@php-wasm/node-polyfills": "3.0.46",
- "@php-wasm/universal": "3.0.46",
- "@php-wasm/util": "3.0.46",
- "@wp-playground/common": "3.0.46",
- "express": "4.22.0",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3",
- "yargs": "17.7.2"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node-7-4": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/node-7-4/-/node-7-4-3.0.46.tgz",
- "integrity": "sha512-ad6mxdkXMoOWtZn+5/4shwb6Xc8VgH996B4BSQlPJePVGaJf+tArO5cdiDGQ0P91scmwB2QzB+HMEEfIYUkdtA==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node-7-4/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/node-7-4/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/node-8-0": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/node-8-0/-/node-8-0-3.0.46.tgz",
- "integrity": "sha512-0jAhJcgz2nlL6cp0I+inrW6hzKHs99gCAfBjIaj8MO97hU5BQdKeWxkFADDs9nrzgFHJ58OVgAMYIom6pdw07w==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node-8-0/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/node-8-0/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/node-8-1": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/node-8-1/-/node-8-1-3.0.46.tgz",
- "integrity": "sha512-CnFi6ePtTpE0+IsuhffenzRAUc1ZN32XmJaV1PPkpPNL//cyUQ+rIqNHDjOhRqI/yrYeNPEsxgqP7jHxfjPybg==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node-8-1/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/node-8-1/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/node-8-2": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/node-8-2/-/node-8-2-3.0.46.tgz",
- "integrity": "sha512-g35LhoLkNWUXa2sIxZE8K56/FjmP3e8ZbJQ9a8RFYGjMwtoJbZS1SuQuIRZOIfuEMf8jr9EUVGHNgeU75o/Vxg==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node-8-2/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/node-8-2/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/node-8-3": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/node-8-3/-/node-8-3-3.0.46.tgz",
- "integrity": "sha512-WOQv4PfbzBmqdO/UBkdFNso57aEhr7TPQ5bYBVJfIE06kU5hmhGL/6aAVGT1xta11Uuu1TmR9+P2utcvfwYrpg==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node-8-3/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/node-8-3/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/node-8-4": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/node-8-4/-/node-8-4-3.0.46.tgz",
- "integrity": "sha512-c9Rv2XqMnSaFca108zOblQkUiIHHorGc/QM7/CxLrukwVOVBQfovN+K3KLlcyy0jUvLhZU7FLnhJQbT04q1TOA==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node-8-4/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/node-8-4/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/node-8-5": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/node-8-5/-/node-8-5-3.0.46.tgz",
- "integrity": "sha512-wJKyGoJRSArec91pukIy0Z0C0/VCX4UirtptnOOJSRxgIPJpRsByytswkDulATVsgNBW8unAJuNJyF82kR7MYw==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node-8-5/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/node-8-5/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/node-polyfills": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/node-polyfills/-/node-polyfills-3.0.46.tgz",
- "integrity": "sha512-whgu+3t3EMU+LV6A0z/hB2FcMtNY3s3FSbNUrA1EmGa4XRy1wwpI0/ghTwukG/3+znB5zW2Ss99K6Xvr9lbnRg==",
- "license": "GPL-2.0-or-later",
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/node/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/node/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/progress": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/progress/-/progress-3.0.46.tgz",
- "integrity": "sha512-jZze71Q2lOXM/z3aptRLlLnwid2EfQ+m0U+oJT6j4ZH+41H3sXbM8wAagVZyMwpbZEB9NYohXMjs69vbYUL47w==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/logger": "3.0.46",
- "@php-wasm/node-polyfills": "3.0.46"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/scopes": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/scopes/-/scopes-3.0.46.tgz",
- "integrity": "sha512-BVkyX+m1SmhKTbYh2imIk5KsTCpQ4RDMUJ6g9qpO+zyJR/KCqOvn6eLKbHmblLE48VO86GYqn8YcVKQnaq1laA==",
- "license": "GPL-2.0-or-later",
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/stream-compression": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/stream-compression/-/stream-compression-3.0.46.tgz",
- "integrity": "sha512-L3RMhlC2QeugDgH20sZSWmwIH6HSYONvtDlE08VBuMM4YAHXN6JuN+Byq5tgBFjKOH/y6Ljp3Nm3vqhyzoNC7g==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/node-polyfills": "3.0.46",
- "@php-wasm/util": "3.0.46"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/universal": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/universal/-/universal-3.0.46.tgz",
- "integrity": "sha512-d3wJHtm2IpZM0dIuAkEEAvjnK27QsxS7SsxtBtKOq/EtU/pWZ5WF+OAg/DaFWJWcLz9ULByynkSh7Qg4BUm8YQ==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/logger": "3.0.46",
- "@php-wasm/node-polyfills": "3.0.46",
- "@php-wasm/progress": "3.0.46",
- "@php-wasm/stream-compression": "3.0.46",
- "@php-wasm/util": "3.0.46",
- "ini": "4.1.2"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/universal/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/util": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/util/-/util-3.0.46.tgz",
- "integrity": "sha512-dZ139Xt56VPbpUOqyC2OXeLGHJ0xmpzW92YPeenZiDSlEhzDYEecqmzeAHTrCYx1o5Rr3LiN6zoQTifkAGU5cg==",
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/web/-/web-3.0.46.tgz",
- "integrity": "sha512-y8H0iaCa6sH7p2kZ+/kDw3SoYFw88ASQm/d2IrVipQNG/PKPYucvuHaBRk4wmal8M98Ch/TeAcLH0ajNfGrpxg==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/fs-journal": "3.0.46",
- "@php-wasm/logger": "3.0.46",
- "@php-wasm/universal": "3.0.46",
- "@php-wasm/util": "3.0.46",
- "@php-wasm/web-7-4": "3.0.46",
- "@php-wasm/web-8-0": "3.0.46",
- "@php-wasm/web-8-1": "3.0.46",
- "@php-wasm/web-8-2": "3.0.46",
- "@php-wasm/web-8-3": "3.0.46",
- "@php-wasm/web-8-4": "3.0.46",
- "@php-wasm/web-8-5": "3.0.46",
- "@php-wasm/web-service-worker": "3.0.46",
- "@wp-playground/common": "3.0.46",
- "express": "4.22.0",
- "ini": "4.1.2",
- "selfsigned": "5.5.0",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3",
- "yargs": "17.7.2"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web-7-4": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/web-7-4/-/web-7-4-3.0.46.tgz",
- "integrity": "sha512-Zecgap62KTlFF0AikpnSjYxEbfd2vBGwjYDxnMz7RX9aLvdVcA/W+4QJTRH9Sg2mU7CXghU5fJMpoQ9Whfc6pw==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web-7-4/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/web-8-0": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/web-8-0/-/web-8-0-3.0.46.tgz",
- "integrity": "sha512-YfOZLbbCajcbEd/3cgAWqVJnMdPa/a+B8d+TCvNvc+OFADcIWZ1ZcJt9Qjnf6QDJep8rB68a7Z6lPLGhVaHt2w==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web-8-0/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/web-8-1": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/web-8-1/-/web-8-1-3.0.46.tgz",
- "integrity": "sha512-At1Jp9KCiOu7caHoCSPLiiTb8Uj+qMhUR+E1Gecl9hHosgEdQrQj9/RmhEDVjTRL/njytIQVcOJr/oIxk/ZYAQ==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web-8-1/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/web-8-2": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/web-8-2/-/web-8-2-3.0.46.tgz",
- "integrity": "sha512-mBd+BEDJ6HTZdXu/VjSKS0gBeHvUsN4ybJnWAUVCewXaSkdkAgjDEbfyUOHd7as/QD1FtpXkzThTYkaw4FZEhQ==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web-8-2/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/web-8-3": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/web-8-3/-/web-8-3-3.0.46.tgz",
- "integrity": "sha512-FC8dpxFTe9B/oVL4X8uW4SkyPklQ15McMqJ6qFFMtsgJWoewsw5euElBZwgbhXuitrsyQjN3UIkTgaCfc5LxkQ==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web-8-3/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/web-8-4": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/web-8-4/-/web-8-4-3.0.46.tgz",
- "integrity": "sha512-vHvlKQt5WKXBtHPfJwIgN3mFdJ0RyHoFiPPuqKnK+ANNZeMGCy2RJEFZ0FTUa64DNeyWIuUs+ruiZYwuaumPiQ==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web-8-4/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/web-8-5": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/web-8-5/-/web-8-5-3.0.46.tgz",
- "integrity": "sha512-UVOW+91ITJaio59ReFO+1fNPfqCI+yp26vVWESl/PseccQtNuWl7DVEpcnJg9MrrRzyXWej5qqXpHxMNQfU1lg==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web-8-5/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/web-service-worker": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/web-service-worker/-/web-service-worker-3.0.46.tgz",
- "integrity": "sha512-j6hw2XiansczBiL709lDf8I86XlpGcwWaHwswkaeYCyUdYVfxDgChnnPK9T5+QvVzgQ0qmw6rfUkkHg/yQlZWQ==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/scopes": "3.0.46"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/web/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/web/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@php-wasm/xdebug-bridge": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@php-wasm/xdebug-bridge/-/xdebug-bridge-3.0.46.tgz",
- "integrity": "sha512-0KSeyQN/JMOCQsbu+W51LkmmW9UhVIkDf+qsginj8fQPOhX3iJSwaQR6x/utMz6wMcEDrktRIUZ8X9x0f7aOlg==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/logger": "3.0.46",
- "@php-wasm/node": "3.0.46",
- "@php-wasm/universal": "3.0.46",
- "@wp-playground/common": "3.0.46",
- "express": "4.22.0",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3",
- "xml2js": "0.6.2",
- "yargs": "17.7.2"
- },
- "bin": {
- "xdebug-bridge": "xdebug-bridge.js"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@php-wasm/xdebug-bridge/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@php-wasm/xdebug-bridge/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@pm2/agent": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@pm2/agent/-/agent-2.1.1.tgz",
- "integrity": "sha512-0V9ckHWd/HSC8BgAbZSoq8KXUG81X97nSkAxmhKDhmF8vanyaoc1YXwc2KVkbWz82Rg4gjd2n9qiT3i7bdvGrQ==",
- "license": "AGPL-3.0",
- "dependencies": {
- "async": "~3.2.0",
- "chalk": "~3.0.0",
- "dayjs": "~1.8.24",
- "debug": "~4.3.1",
- "eventemitter2": "~5.0.1",
- "fast-json-patch": "^3.1.0",
- "fclone": "~1.0.11",
- "pm2-axon": "~4.0.1",
- "pm2-axon-rpc": "~0.7.0",
- "proxy-agent": "~6.4.0",
- "semver": "~7.5.0",
- "ws": "~7.5.10"
- }
- },
- "node_modules/@pm2/agent/node_modules/dayjs": {
- "version": "1.8.36",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.36.tgz",
- "integrity": "sha512-3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw==",
- "license": "MIT"
- },
- "node_modules/@pm2/agent/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@pm2/agent/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@pm2/agent/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@pm2/blessed": {
- "version": "0.1.81",
- "resolved": "https://registry.npmjs.org/@pm2/blessed/-/blessed-0.1.81.tgz",
- "integrity": "sha512-ZcNHqQjMuNRcQ7Z1zJbFIQZO/BDKV3KbiTckWdfbUaYhj7uNmUwb+FbdDWSCkvxNr9dBJQwvV17o6QBkAvgO0g==",
- "license": "MIT",
- "bin": {
- "blessed": "bin/tput.js"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/@pm2/io": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/@pm2/io/-/io-6.1.0.tgz",
- "integrity": "sha512-IxHuYURa3+FQ6BKePlgChZkqABUKFYH6Bwbw7V/pWU1pP6iR1sCI26l7P9ThUEB385ruZn/tZS3CXDUF5IA1NQ==",
- "license": "Apache-2",
- "dependencies": {
- "async": "~2.6.1",
- "debug": "~4.3.1",
- "eventemitter2": "^6.3.1",
- "require-in-the-middle": "^5.0.0",
- "semver": "~7.5.4",
- "shimmer": "^1.2.0",
- "signal-exit": "^3.0.3",
- "tslib": "1.9.3"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/@pm2/io/node_modules/async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.17.14"
- }
- },
- "node_modules/@pm2/io/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@pm2/io/node_modules/eventemitter2": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz",
- "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==",
- "license": "MIT"
- },
- "node_modules/@pm2/io/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@pm2/io/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@pm2/js-api": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@pm2/js-api/-/js-api-0.8.0.tgz",
- "integrity": "sha512-nmWzrA/BQZik3VBz+npRcNIu01kdBhWL0mxKmP1ciF/gTcujPTQqt027N9fc1pK9ERM8RipFhymw7RcmCyOEYA==",
- "license": "Apache-2",
- "dependencies": {
- "async": "^2.6.3",
- "debug": "~4.3.1",
- "eventemitter2": "^6.3.1",
- "extrareqp2": "^1.0.0",
- "ws": "^7.0.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/@pm2/js-api/node_modules/async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.17.14"
- }
- },
- "node_modules/@pm2/js-api/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@pm2/js-api/node_modules/eventemitter2": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz",
- "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==",
- "license": "MIT"
- },
- "node_modules/@pm2/pm2-version-check": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@pm2/pm2-version-check/-/pm2-version-check-1.0.4.tgz",
- "integrity": "sha512-SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.1"
- }
- },
- "node_modules/@sindresorhus/df": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-3.1.1.tgz",
- "integrity": "sha512-SME/vtXaJcnQ/HpeV6P82Egy+jThn11IKfwW8+/XVoRD0rmPHVTeKMtww1oWdVnMykzVPjmrDN9S8NBndPEHCQ==",
- "license": "MIT",
- "dependencies": {
- "execa": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@sindresorhus/merge-streams": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
- "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@stroncium/procfs": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@stroncium/procfs/-/procfs-1.2.1.tgz",
- "integrity": "sha512-X1Iui3FUNZP18EUvysTHxt+Avu2nlVzyf90YM8OYgP6SGzTzzX/0JgObfO1AQQDzuZtNNz29bVh8h5R97JrjxA==",
- "license": "CC0-1.0",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@tootallnate/quickjs-emscripten": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
- "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
- "license": "MIT"
- },
- "node_modules/@types/aws-lambda": {
- "version": "8.10.159",
- "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.159.tgz",
- "integrity": "sha512-SAP22WSGNN12OQ8PlCzGzRCZ7QDCwI85dQZbmpz7+mAk+L7j+wI7qnvmdKh+o7A5LaOp6QnOZ2NJphAZQTTHQg==",
- "license": "MIT"
- },
- "node_modules/@types/btoa-lite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@types/btoa-lite/-/btoa-lite-1.0.2.tgz",
- "integrity": "sha512-ZYbcE2x7yrvNFJiU7xJGrpF/ihpkM7zKgw8bha3LNJSesvTtUNxbpzaT7WXBIryf6jovisrxTBvymxMeLLj1Mg==",
- "license": "MIT"
- },
- "node_modules/@types/jsonwebtoken": {
- "version": "9.0.10",
- "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz",
- "integrity": "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==",
- "license": "MIT",
- "dependencies": {
- "@types/ms": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/ms": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
- "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "24.10.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
- "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==",
- "license": "MIT",
- "dependencies": {
- "undici-types": "~7.16.0"
- }
- },
- "node_modules/@wp-playground/blueprints": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@wp-playground/blueprints/-/blueprints-3.0.46.tgz",
- "integrity": "sha512-OPrvoCTvpvQXMp6lJWwWJttZmF6pIMO8iIzdJWfkuxcS8QE3aaLKgSz6lB5Fdu345erFR8GeUmkSim98pt5fMQ==",
- "dependencies": {
- "@php-wasm/logger": "3.0.46",
- "@php-wasm/node": "3.0.46",
- "@php-wasm/node-polyfills": "3.0.46",
- "@php-wasm/progress": "3.0.46",
- "@php-wasm/scopes": "3.0.46",
- "@php-wasm/stream-compression": "3.0.46",
- "@php-wasm/universal": "3.0.46",
- "@php-wasm/util": "3.0.46",
- "@php-wasm/web": "3.0.46",
- "@wp-playground/common": "3.0.46",
- "@wp-playground/storage": "3.0.46",
- "@wp-playground/wordpress": "3.0.46",
- "@zip.js/zip.js": "2.7.57",
- "ajv": "8.12.0",
- "async-lock": "1.4.1",
- "clean-git-ref": "2.0.1",
- "crc-32": "1.2.2",
- "diff3": "0.0.4",
- "express": "4.22.0",
- "ignore": "5.3.2",
- "ini": "4.1.2",
- "minimisted": "2.0.1",
- "octokit": "3.1.2",
- "pako": "1.0.10",
- "pify": "2.3.0",
- "readable-stream": "3.6.2",
- "selfsigned": "5.5.0",
- "sha.js": "2.4.12",
- "simple-get": "4.0.1",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3",
- "yargs": "17.7.2"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@wp-playground/blueprints/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@wp-playground/blueprints/node_modules/pako": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
- "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
- "license": "(MIT AND Zlib)"
- },
- "node_modules/@wp-playground/blueprints/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@wp-playground/cli": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@wp-playground/cli/-/cli-3.0.46.tgz",
- "integrity": "sha512-jf7LoA7skprotXCQjTw6K6o3yfnBUxlEFqPP7C9iSRViTpgnQ1A7UiGz+2klt5vlVCfVGix9YspnW1OT5ReT4A==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/cli-util": "3.0.46",
- "@php-wasm/logger": "3.0.46",
- "@php-wasm/node": "3.0.46",
- "@php-wasm/progress": "3.0.46",
- "@php-wasm/universal": "3.0.46",
- "@php-wasm/util": "3.0.46",
- "@php-wasm/xdebug-bridge": "3.0.46",
- "@wp-playground/blueprints": "3.0.46",
- "@wp-playground/common": "3.0.46",
- "@wp-playground/storage": "3.0.46",
- "@wp-playground/wordpress": "3.0.46",
- "@zip.js/zip.js": "2.7.57",
- "ajv": "8.12.0",
- "async-lock": "1.4.1",
- "clean-git-ref": "2.0.1",
- "crc-32": "1.2.2",
- "diff3": "0.0.4",
- "express": "4.22.0",
- "fast-xml-parser": "5.3.0",
- "fs-extra": "11.1.1",
- "ignore": "5.3.2",
- "ini": "4.1.2",
- "jsonc-parser": "3.3.1",
- "minimisted": "2.0.1",
- "octokit": "3.1.2",
- "pako": "1.0.10",
- "pify": "2.3.0",
- "ps-man": "1.1.8",
- "readable-stream": "3.6.2",
- "selfsigned": "5.5.0",
- "sha.js": "2.4.12",
- "simple-get": "4.0.1",
- "tmp-promise": "3.0.3",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3",
- "xml2js": "0.6.2",
- "yargs": "17.7.2"
- },
- "bin": {
- "wp-playground-cli": "wp-playground.js"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@wp-playground/cli/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@wp-playground/cli/node_modules/pako": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
- "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
- "license": "(MIT AND Zlib)"
- },
- "node_modules/@wp-playground/cli/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@wp-playground/common": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@wp-playground/common/-/common-3.0.46.tgz",
- "integrity": "sha512-ugA98s7LChqLLqsISiKpV1Rl+XfS3KZBgL1J6gYUfXf7gcceAZ4KzyFw5LOctvuo7IPInakzIISq3Q4efaO0kw==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/universal": "3.0.46",
- "@php-wasm/util": "3.0.46",
- "ini": "4.1.2"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@wp-playground/common/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@wp-playground/storage": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@wp-playground/storage/-/storage-3.0.46.tgz",
- "integrity": "sha512-QZDJlXz/G8usnBI/TWoqVPHR6qFpIqqBf+QWU7SzXO7aukTiyRBVfMn85AKMDkMPZymn15xyLqmP0vpFEmsHCw==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/stream-compression": "3.0.46",
- "@php-wasm/universal": "3.0.46",
- "@php-wasm/util": "3.0.46",
- "@php-wasm/web": "3.0.46",
- "@zip.js/zip.js": "2.7.57",
- "async-lock": "^1.4.1",
- "clean-git-ref": "^2.0.1",
- "crc-32": "^1.2.0",
- "diff3": "0.0.3",
- "express": "4.22.0",
- "ignore": "^5.1.4",
- "ini": "4.1.2",
- "minimisted": "^2.0.0",
- "octokit": "3.1.2",
- "pako": "^1.0.10",
- "pify": "^4.0.1",
- "readable-stream": "^3.4.0",
- "selfsigned": "5.5.0",
- "sha.js": "^2.4.9",
- "simple-get": "^4.0.1",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3",
- "yargs": "17.7.2"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@wp-playground/storage/node_modules/diff3": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz",
- "integrity": "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g==",
- "license": "MIT"
- },
- "node_modules/@wp-playground/storage/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@wp-playground/storage/node_modules/pako": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
- "license": "(MIT AND Zlib)"
- },
- "node_modules/@wp-playground/storage/node_modules/pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@wp-playground/storage/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@wp-playground/wordpress": {
- "version": "3.0.46",
- "resolved": "https://registry.npmjs.org/@wp-playground/wordpress/-/wordpress-3.0.46.tgz",
- "integrity": "sha512-GCbsxV7+wCpbyxSRnFrGtiorUS/bTeUu1mIVFSiPxdWIY0hIvsYd8HWdfsvhN0jYlDY3eBxvQ+4mq0YT0N6TDg==",
- "license": "GPL-2.0-or-later",
- "dependencies": {
- "@php-wasm/logger": "3.0.46",
- "@php-wasm/node": "3.0.46",
- "@php-wasm/universal": "3.0.46",
- "@php-wasm/util": "3.0.46",
- "@wp-playground/common": "3.0.46",
- "express": "4.22.0",
- "ini": "4.1.2",
- "wasm-feature-detect": "1.8.0",
- "ws": "8.18.3",
- "yargs": "17.7.2"
- },
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
- },
- "optionalDependencies": {
- "fs-ext": "2.1.1"
- }
- },
- "node_modules/@wp-playground/wordpress/node_modules/ini": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
- "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@wp-playground/wordpress/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@zip.js/zip.js": {
- "version": "2.7.57",
- "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.57.tgz",
- "integrity": "sha512-BtonQ1/jDnGiMed6OkV6rZYW78gLmLswkHOzyMrMb+CAR7CZO8phOHO6c2qw6qb1g1betN7kwEHhhZk30dv+NA==",
- "license": "BSD-3-Clause",
- "engines": {
- "bun": ">=0.7.0",
- "deno": ">=1.0.0",
- "node": ">=16.5.0"
- }
- },
- "node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "license": "MIT",
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/agent-base": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
- "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "license": "MIT",
- "dependencies": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/amp": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/amp/-/amp-0.3.1.tgz",
- "integrity": "sha512-OwIuC4yZaRogHKiuU5WlMR5Xk/jAcpPtawWL05Gj8Lvm2F6mwoJt4O/bHI+DHwG79vWd+8OFYM4/BzYqyRd3qw==",
- "license": "MIT"
- },
- "node_modules/amp-message": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/amp-message/-/amp-message-0.1.2.tgz",
- "integrity": "sha512-JqutcFwoU1+jhv7ArgW38bqrE+LQdcRv4NxNw0mp0JHQyB6tXesWRjtYKlDgHRY2o3JE5UTaBGUK8kSWUdxWUg==",
- "license": "MIT",
- "dependencies": {
- "amp": "0.3.1"
- }
- },
- "node_modules/ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/ansis": {
- "version": "4.0.0-node10",
- "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.0.0-node10.tgz",
- "integrity": "sha512-BRrU0Bo1X9dFGw6KgGz6hWrqQuOlVEDOzkb0QSLZY9sXHqA7pNj7yHPVJRz7y/rj4EOJ3d/D5uxH+ee9leYgsg==",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "license": "Python-2.0"
- },
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
- "license": "MIT"
- },
- "node_modules/asn1js": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.7.tgz",
- "integrity": "sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "pvtsutils": "^1.3.6",
- "pvutils": "^1.1.3",
- "tslib": "^2.8.1"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/asn1js/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/ast-types": {
- "version": "0.13.4",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
- "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ast-types/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/async": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
- "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
- "license": "MIT"
- },
- "node_modules/async-lock": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz",
- "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==",
- "license": "MIT"
- },
- "node_modules/available-typed-arrays": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
- "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
- "license": "MIT",
- "dependencies": {
- "possible-typed-array-names": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/basic-ftp": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
- "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/before-after-hook": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
- "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
- "license": "Apache-2.0"
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/bodec": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/bodec/-/bodec-0.1.0.tgz",
- "integrity": "sha512-Ylo+MAo5BDUq1KA3f3R/MFhh+g8cnHmo8bz3YPGhI1znrMaf77ol1sfvYJzsw3nTE+Y2GryfDxBaR+AqpAkEHQ==",
- "license": "MIT"
- },
- "node_modules/body-parser": {
- "version": "1.20.4",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
- "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==",
- "license": "MIT",
- "dependencies": {
- "bytes": "~3.1.2",
- "content-type": "~1.0.5",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "~1.2.0",
- "http-errors": "~2.0.1",
- "iconv-lite": "~0.4.24",
- "on-finished": "~2.4.1",
- "qs": "~6.14.0",
- "raw-body": "~2.5.3",
- "type-is": "~1.6.18",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "license": "MIT"
- },
- "node_modules/bottleneck": {
- "version": "2.19.5",
- "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
- "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==",
- "license": "MIT"
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/btoa-lite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
- "integrity": "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==",
- "license": "MIT"
- },
- "node_modules/buffer-equal-constant-time": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
- "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
- "license": "BSD-3-Clause"
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "license": "MIT"
- },
- "node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/bytestreamjs": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz",
- "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
- "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.0",
- "es-define-property": "^1.0.0",
- "get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/call-bind-apply-helpers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
- "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/call-bound": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
- "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "get-intrinsic": "^1.3.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/charm": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz",
- "integrity": "sha512-syedaZ9cPe7r3hoQA9twWYKu5AIyCswN5+szkmPBe9ccdLrj4bYaCnLVPTLd2kgVRc7+zoX4tyPgRnFKCj5YjQ==",
- "license": "MIT/X11"
- },
- "node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chunkify": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/chunkify/-/chunkify-5.0.0.tgz",
- "integrity": "sha512-G8dj/3/Gm+1yL4oWSdwIxihZWFlgC4V2zYtIApacI0iPIRKBHlBGOGAiDUBZgrj4H8MBA8g8fPFwnJrWF3wl7Q==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/clean-git-ref": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz",
- "integrity": "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw==",
- "license": "Apache-2.0"
- },
- "node_modules/clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/cli-tableau": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/cli-tableau/-/cli-tableau-2.0.1.tgz",
- "integrity": "sha512-he+WTicka9cl0Fg/y+YyxcN6/bfQ/1O3QmgxRXDhABKqLzvoOSM4fMzp39uMyLBulAFuywD2N7UaoQE7WaADxQ==",
- "dependencies": {
- "chalk": "3.0.0"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "license": "MIT"
- },
- "node_modules/commander": {
- "version": "2.15.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
- "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
- "license": "MIT"
- },
- "node_modules/content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
- "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz",
- "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==",
- "license": "MIT"
- },
- "node_modules/crc-32": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
- "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
- "license": "Apache-2.0",
- "bin": {
- "crc32": "bin/crc32.njs"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/croner": {
- "version": "4.1.97",
- "resolved": "https://registry.npmjs.org/croner/-/croner-4.1.97.tgz",
- "integrity": "sha512-/f6gpQuxDaqXu+1kwQYSckUglPaOrHdbIlBAu0YuW8/Cdb45XwXYNUBXg3r/9Mo6n540Kn/smKcZWko5x99KrQ==",
- "license": "MIT"
- },
- "node_modules/cross-spawn": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/culvert": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/culvert/-/culvert-0.1.2.tgz",
- "integrity": "sha512-yi1x3EAWKjQTreYWeSd98431AV+IEE0qoDyOoaHJ7KJ21gv6HtBXHVLX74opVSGqcR8/AbjJBHAHpcOy2bj5Gg==",
- "license": "MIT"
- },
- "node_modules/data-uri-to-buffer": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
- "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
- "license": "MIT",
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/dayjs": {
- "version": "1.11.15",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.15.tgz",
- "integrity": "sha512-MC+DfnSWiM9APs7fpiurHGCoeIx0Gdl6QZBy+5lu8MbYKN5FZEXqOgrundfibdfhGZ15o9hzmZ2xJjZnbvgKXQ==",
- "license": "MIT"
- },
- "node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "license": "MIT",
- "dependencies": {
- "mimic-response": "^3.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/define-data-property": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
- "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "gopd": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/degenerator": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
- "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
- "license": "MIT",
- "dependencies": {
- "ast-types": "^0.13.4",
- "escodegen": "^2.1.0",
- "esprima": "^4.0.1"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/deprecation": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
- "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
- "license": "ISC"
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/diff3": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/diff3/-/diff3-0.0.4.tgz",
- "integrity": "sha512-f1rQ7jXDn/3i37hdwRk9ohqcvLRH3+gEIgmA6qEM280WUOh7cOr3GXV8Jm5sPwUs46Nzl48SE8YNLGJoaLuodg==",
- "license": "MIT"
- },
- "node_modules/dunder-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
- "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "es-errors": "^1.3.0",
- "gopd": "^1.2.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/ecdsa-sig-formatter": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
- "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "license": "MIT"
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "license": "MIT"
- },
- "node_modules/encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/end-of-stream": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
- "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
- "license": "MIT",
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "license": "MIT",
- "dependencies": {
- "ansi-colors": "^4.1.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
- "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-errors": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
- "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-object-atoms": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
- "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "license": "MIT"
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/escodegen": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
- "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
- "license": "BSD-2-Clause",
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "license": "BSD-2-Clause",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/eventemitter2": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-5.0.1.tgz",
- "integrity": "sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg==",
- "license": "MIT"
- },
- "node_modules/eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "license": "MIT"
- },
- "node_modules/execa": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz",
- "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==",
- "license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.0",
- "get-stream": "^5.0.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^3.0.0",
- "onetime": "^5.1.0",
- "p-finally": "^2.0.0",
- "signal-exit": "^3.0.2",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": "^8.12.0 || >=9.7.0"
- }
- },
- "node_modules/express": {
- "version": "4.22.0",
- "resolved": "https://registry.npmjs.org/express/-/express-4.22.0.tgz",
- "integrity": "sha512-c2iPh3xp5vvCLgaHK03+mWLFPhox7j1LwyxcZwFVApEv5i0X+IjPpbT50SJJwwLpdBVfp45AkK/v+AFgv/XlfQ==",
- "license": "MIT",
- "dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "~1.20.3",
- "content-disposition": "~0.5.4",
- "content-type": "~1.0.4",
- "cookie": "~0.7.1",
- "cookie-signature": "~1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.3.1",
- "fresh": "~0.5.2",
- "http-errors": "~2.0.0",
- "merge-descriptors": "1.0.3",
- "methods": "~1.1.2",
- "on-finished": "~2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "~0.1.12",
- "proxy-addr": "~2.0.7",
- "qs": "~6.14.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "~0.19.0",
- "serve-static": "~1.16.2",
- "setprototypeof": "1.2.0",
- "statuses": "~2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "license": "MIT"
- },
- "node_modules/extrareqp2": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/extrareqp2/-/extrareqp2-1.0.0.tgz",
- "integrity": "sha512-Gum0g1QYb6wpPJCVypWP3bbIuaibcFiJcpuPM10YSXp/tzqi84x9PJageob+eN4xVRIOto4wjSGNLyMD54D2xA==",
- "license": "MIT",
- "dependencies": {
- "follow-redirects": "^1.14.0"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "license": "MIT"
- },
- "node_modules/fast-glob": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.8"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-json-patch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz",
- "integrity": "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==",
- "license": "MIT"
- },
- "node_modules/fast-xml-parser": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.0.tgz",
- "integrity": "sha512-gkWGshjYcQCF+6qtlrqBqELqNqnt4CxruY6UVAWWnqb3DQ6qaNFEIKqzYep1XzHLM/QtrHVCxyPOtTk4LTQ7Aw==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "strnum": "^2.1.0"
- },
- "bin": {
- "fxparser": "src/cli/cli.js"
- }
- },
- "node_modules/fastq": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
- "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fclone": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz",
- "integrity": "sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw==",
- "license": "MIT"
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/finalhandler": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz",
- "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "on-finished": "~2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "~2.0.2",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "license": "MIT"
- },
- "node_modules/follow-redirects": {
- "version": "1.15.11",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
- "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/for-each": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
- "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
- "license": "MIT",
- "dependencies": {
- "is-callable": "^1.2.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fs-ext": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/fs-ext/-/fs-ext-2.1.1.tgz",
- "integrity": "sha512-/TrISPOFhCkbgIRWK9lzscRzwPCu0PqtCcvMc9jsHKBgZGoqA0VzhspVht5Zu8lxaXjIYIBWILHpRotYkCCcQA==",
- "hasInstallScript": true,
- "optional": true,
- "dependencies": {
- "nan": "^2.21.0"
- },
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/fs-extra": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
- "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=14.14"
- }
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "function-bind": "^1.1.2",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "math-intrinsics": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
- "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
- "license": "MIT",
- "dependencies": {
- "dunder-proto": "^1.0.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "license": "MIT",
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/get-uri": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz",
- "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==",
- "license": "MIT",
- "dependencies": {
- "basic-ftp": "^5.0.2",
- "data-uri-to-buffer": "^6.0.2",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/git-node-fs": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/git-node-fs/-/git-node-fs-1.0.0.tgz",
- "integrity": "sha512-bLQypt14llVXBg0S0u8q8HmU7g9p3ysH+NvVlae5vILuUvs759665HvmR5+wb04KjHyjFcDRxdYb4kyNnluMUQ==",
- "license": "MIT"
- },
- "node_modules/git-sha1": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/git-sha1/-/git-sha1-0.1.2.tgz",
- "integrity": "sha512-2e/nZezdVlyCopOCYHeW0onkbZg7xP1Ad6pndPy1rCygeRykefUS6r7oA5cJRGEFvseiaz5a/qUHFVX1dd6Isg==",
- "license": "MIT"
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/globby": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz",
- "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==",
- "license": "MIT",
- "dependencies": {
- "@sindresorhus/merge-streams": "^2.1.0",
- "fast-glob": "^3.3.3",
- "ignore": "^7.0.3",
- "path-type": "^6.0.0",
- "slash": "^5.1.0",
- "unicorn-magic": "^0.3.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globby/node_modules/ignore": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/gopd": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
- "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "license": "ISC"
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
- "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "license": "MIT",
- "dependencies": {
- "has-symbols": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/http-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
- "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
- "license": "MIT",
- "dependencies": {
- "depd": "~2.0.0",
- "inherits": "~2.0.4",
- "setprototypeof": "~1.2.0",
- "statuses": "~2.0.2",
- "toidentifier": "~1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/http-proxy": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
- "license": "MIT",
- "dependencies": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/http-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
- "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "license": "ISC"
- },
- "node_modules/ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "license": "ISC"
- },
- "node_modules/ip-address": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz",
- "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==",
- "license": "MIT",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.16.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
- "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
- "license": "MIT",
- "dependencies": {
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-path-inside": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz",
- "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-typed-array": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
- "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
- "license": "MIT",
- "dependencies": {
- "which-typed-array": "^1.1.16"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/isarray": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "license": "MIT"
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "license": "ISC"
- },
- "node_modules/js-git": {
- "version": "0.7.8",
- "resolved": "https://registry.npmjs.org/js-git/-/js-git-0.7.8.tgz",
- "integrity": "sha512-+E5ZH/HeRnoc/LW0AmAyhU+mNcWBzAKE+30+IDMLSLbbK+Tdt02AdkOKq9u15rlJsDEGFqtgckc8ZM59LhhiUA==",
- "license": "MIT",
- "dependencies": {
- "bodec": "^0.1.0",
- "culvert": "^0.1.2",
- "git-sha1": "^0.1.2",
- "pako": "^0.2.5"
- }
- },
- "node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "license": "MIT"
- },
- "node_modules/json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "license": "ISC",
- "optional": true
- },
- "node_modules/jsonc-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
- "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
- "license": "MIT"
- },
- "node_modules/jsonfile": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
- "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
- "license": "MIT",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/jsonwebtoken": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz",
- "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==",
- "license": "MIT",
- "dependencies": {
- "jws": "^4.0.1",
- "lodash.includes": "^4.3.0",
- "lodash.isboolean": "^3.0.3",
- "lodash.isinteger": "^4.0.4",
- "lodash.isnumber": "^3.0.3",
- "lodash.isplainobject": "^4.0.6",
- "lodash.isstring": "^4.0.1",
- "lodash.once": "^4.0.0",
- "ms": "^2.1.1",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">=12",
- "npm": ">=6"
- }
- },
- "node_modules/jwa": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
- "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==",
- "license": "MIT",
- "dependencies": {
- "buffer-equal-constant-time": "^1.0.1",
- "ecdsa-sig-formatter": "1.0.11",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/jws": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz",
- "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==",
- "license": "MIT",
- "dependencies": {
- "jwa": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.23",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
- "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
- "license": "MIT"
- },
- "node_modules/lodash.includes": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
- "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==",
- "license": "MIT"
- },
- "node_modules/lodash.isboolean": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
- "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==",
- "license": "MIT"
- },
- "node_modules/lodash.isinteger": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
- "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==",
- "license": "MIT"
- },
- "node_modules/lodash.isnumber": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
- "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==",
- "license": "MIT"
- },
- "node_modules/lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
- "license": "MIT"
- },
- "node_modules/lodash.isstring": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
- "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==",
- "license": "MIT"
- },
- "node_modules/lodash.once": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
- "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
- "license": "MIT"
- },
- "node_modules/lru-cache": {
- "name": "@wolfy1339/lru-cache",
- "version": "11.0.2-patch.1",
- "resolved": "https://registry.npmjs.org/@wolfy1339/lru-cache/-/lru-cache-11.0.2-patch.1.tgz",
- "integrity": "sha512-BgYZfL2ADCXKOw2wJtkM3slhHotawWkgIRRxq4wEybnZQPjvAp71SPX35xepMykTw8gXlzWcWPTY31hlbnRsDA==",
- "license": "ISC",
- "engines": {
- "node": "18 >=18.20 || 20 || >=22"
- }
- },
- "node_modules/math-intrinsics": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
- "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "license": "MIT"
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/minimisted": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.1.tgz",
- "integrity": "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA==",
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.5"
- }
- },
- "node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/module-details-from-path": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.4.tgz",
- "integrity": "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==",
- "license": "MIT"
- },
- "node_modules/mount-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mount-point/-/mount-point-3.0.0.tgz",
- "integrity": "sha512-jAhfD7ZCG+dbESZjcY1SdFVFqSJkh/yGbdsifHcPkvuLRO5ugK0Ssmd9jdATu29BTd4JiN+vkpMzVvsUgP3SZA==",
- "license": "MIT",
- "dependencies": {
- "@sindresorhus/df": "^1.0.1",
- "pify": "^2.3.0",
- "pinkie-promise": "^2.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mount-point/node_modules/@sindresorhus/df": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-1.0.1.tgz",
- "integrity": "sha512-1Hyp7NQnD/u4DSxR2DGW78TF9k7R0wZ8ev0BpMAIzA6yTQSHqNb5wTuvtcPYf4FWbVse2rW7RgDsyL8ua2vXHw==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/move-file": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/move-file/-/move-file-3.1.0.tgz",
- "integrity": "sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==",
- "license": "MIT",
- "dependencies": {
- "path-exists": "^5.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
- },
- "node_modules/mute-stream": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
- "license": "ISC"
- },
- "node_modules/nan": {
- "version": "2.24.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.24.0.tgz",
- "integrity": "sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==",
- "license": "MIT",
- "optional": true
- },
- "node_modules/needle": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz",
- "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==",
- "license": "MIT",
- "dependencies": {
- "debug": "^3.2.6",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- },
- "bin": {
- "needle": "bin/needle"
- },
- "engines": {
- "node": ">= 4.4.x"
- }
- },
- "node_modules/needle/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/netmask": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
- "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-run-path": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz",
- "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==",
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
- "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/octokit": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/octokit/-/octokit-3.1.2.tgz",
- "integrity": "sha512-MG5qmrTL5y8KYwFgE1A4JWmgfQBaIETE/lOlfwNYx1QOtCQHGVxkRJmdUJltFc1HVn73d61TlMhMyNTOtMl+ng==",
- "license": "MIT",
- "dependencies": {
- "@octokit/app": "^14.0.2",
- "@octokit/core": "^5.0.0",
- "@octokit/oauth-app": "^6.0.0",
- "@octokit/plugin-paginate-graphql": "^4.0.0",
- "@octokit/plugin-paginate-rest": "^9.0.0",
- "@octokit/plugin-rest-endpoint-methods": "^10.0.0",
- "@octokit/plugin-retry": "^6.0.0",
- "@octokit/plugin-throttling": "^8.0.0",
- "@octokit/request-error": "^5.0.0",
- "@octokit/types": "^12.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "license": "MIT",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "license": "MIT",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/p-finally": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
- "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-map": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
- "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/pac-proxy-agent": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz",
- "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==",
- "license": "MIT",
- "dependencies": {
- "@tootallnate/quickjs-emscripten": "^0.23.0",
- "agent-base": "^7.1.2",
- "debug": "^4.3.4",
- "get-uri": "^6.0.1",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.6",
- "pac-resolver": "^7.0.1",
- "socks-proxy-agent": "^8.0.5"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/pac-resolver": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
- "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
- "license": "MIT",
- "dependencies": {
- "degenerator": "^5.0.0",
- "netmask": "^2.0.2"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/pako": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
- "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==",
- "license": "MIT"
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/path-exists": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
- "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "license": "MIT"
- },
- "node_modules/path-to-regexp": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
- "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
- "license": "MIT"
- },
- "node_modules/path-type": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz",
- "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pidusage": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-3.0.2.tgz",
- "integrity": "sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w==",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "^5.2.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
- "license": "MIT",
- "dependencies": {
- "pinkie": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/pkijs": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.3.3.tgz",
- "integrity": "sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@noble/hashes": "1.4.0",
- "asn1js": "^3.0.6",
- "bytestreamjs": "^2.0.1",
- "pvtsutils": "^1.3.6",
- "pvutils": "^1.1.3",
- "tslib": "^2.8.1"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/pkijs/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/pm2": {
- "version": "6.0.14",
- "resolved": "https://registry.npmjs.org/pm2/-/pm2-6.0.14.tgz",
- "integrity": "sha512-wX1FiFkzuT2H/UUEA8QNXDAA9MMHDsK/3UHj6Dkd5U7kxyigKDA5gyDw78ycTQZAuGCLWyUX5FiXEuVQWafukA==",
- "license": "AGPL-3.0",
- "dependencies": {
- "@pm2/agent": "~2.1.1",
- "@pm2/blessed": "0.1.81",
- "@pm2/io": "~6.1.0",
- "@pm2/js-api": "~0.8.0",
- "@pm2/pm2-version-check": "^1.0.4",
- "ansis": "4.0.0-node10",
- "async": "3.2.6",
- "chokidar": "3.6.0",
- "cli-tableau": "2.0.1",
- "commander": "2.15.1",
- "croner": "4.1.97",
- "dayjs": "1.11.15",
- "debug": "4.4.3",
- "enquirer": "2.3.6",
- "eventemitter2": "5.0.1",
- "fclone": "1.0.11",
- "js-yaml": "4.1.1",
- "mkdirp": "1.0.4",
- "needle": "2.4.0",
- "pidusage": "3.0.2",
- "pm2-axon": "~4.0.1",
- "pm2-axon-rpc": "~0.7.1",
- "pm2-deploy": "~1.0.2",
- "pm2-multimeter": "^0.1.2",
- "promptly": "2.2.0",
- "semver": "7.7.2",
- "source-map-support": "0.5.21",
- "sprintf-js": "1.1.2",
- "vizion": "~2.2.1"
- },
- "bin": {
- "pm2": "bin/pm2",
- "pm2-dev": "bin/pm2-dev",
- "pm2-docker": "bin/pm2-docker",
- "pm2-runtime": "bin/pm2-runtime"
- },
- "engines": {
- "node": ">=16.0.0"
- },
- "optionalDependencies": {
- "pm2-sysmonit": "^1.2.8"
- }
- },
- "node_modules/pm2-axon": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pm2-axon/-/pm2-axon-4.0.1.tgz",
- "integrity": "sha512-kES/PeSLS8orT8dR5jMlNl+Yu4Ty3nbvZRmaAtROuVm9nYYGiaoXqqKQqQYzWQzMYWUKHMQTvBlirjE5GIIxqg==",
- "license": "MIT",
- "dependencies": {
- "amp": "~0.3.1",
- "amp-message": "~0.1.1",
- "debug": "^4.3.1",
- "escape-string-regexp": "^4.0.0"
- },
- "engines": {
- "node": ">=5"
- }
- },
- "node_modules/pm2-axon-rpc": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/pm2-axon-rpc/-/pm2-axon-rpc-0.7.1.tgz",
- "integrity": "sha512-FbLvW60w+vEyvMjP/xom2UPhUN/2bVpdtLfKJeYM3gwzYhoTEEChCOICfFzxkxuoEleOlnpjie+n1nue91bDQw==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.1"
- },
- "engines": {
- "node": ">=5"
- }
- },
- "node_modules/pm2-deploy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pm2-deploy/-/pm2-deploy-1.0.2.tgz",
- "integrity": "sha512-YJx6RXKrVrWaphEYf++EdOOx9EH18vM8RSZN/P1Y+NokTKqYAca/ejXwVLyiEpNju4HPZEk3Y2uZouwMqUlcgg==",
- "license": "MIT",
- "dependencies": {
- "run-series": "^1.1.8",
- "tv4": "^1.3.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/pm2-multimeter": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/pm2-multimeter/-/pm2-multimeter-0.1.2.tgz",
- "integrity": "sha512-S+wT6XfyKfd7SJIBqRgOctGxaBzUOmVQzTAS+cg04TsEUObJVreha7lvCfX8zzGVr871XwCSnHUU7DQQ5xEsfA==",
- "license": "MIT/X11",
- "dependencies": {
- "charm": "~0.1.1"
- }
- },
- "node_modules/pm2-sysmonit": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/pm2-sysmonit/-/pm2-sysmonit-1.2.8.tgz",
- "integrity": "sha512-ACOhlONEXdCTVwKieBIQLSi2tQZ8eKinhcr9JpZSUAL8Qy0ajIgRtsLxG/lwPOW3JEKqPyw/UaHmTWhUzpP4kA==",
- "license": "Apache",
- "optional": true,
- "dependencies": {
- "async": "^3.2.0",
- "debug": "^4.3.1",
- "pidusage": "^2.0.21",
- "systeminformation": "^5.7",
- "tx2": "~1.0.4"
- }
- },
- "node_modules/pm2-sysmonit/node_modules/pidusage": {
- "version": "2.0.21",
- "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-2.0.21.tgz",
- "integrity": "sha512-cv3xAQos+pugVX+BfXpHsbyz/dLzX+lr44zNMsYiGxUw+kV5sgQCIcLd1z+0vq+KyC7dJ+/ts2PsfgWfSC3WXA==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "safe-buffer": "^5.2.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/possible-typed-array-names": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
- "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/promptly": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/promptly/-/promptly-2.2.0.tgz",
- "integrity": "sha512-aC9j+BZsRSSzEsXBNBwDnAxujdx19HycZoKgRgzWnS8eOHg1asuf9heuLprfbe739zY3IdUQx+Egv6Jn135WHA==",
- "license": "MIT",
- "dependencies": {
- "read": "^1.0.4"
- }
- },
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "license": "MIT",
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/proxy-agent": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz",
- "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "^4.3.4",
- "http-proxy-agent": "^7.0.1",
- "https-proxy-agent": "^7.0.3",
- "lru-cache": "^7.14.1",
- "pac-proxy-agent": "^7.0.1",
- "proxy-from-env": "^1.1.0",
- "socks-proxy-agent": "^8.0.2"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/proxy-agent/node_modules/lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "license": "MIT"
- },
- "node_modules/ps-man": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/ps-man/-/ps-man-1.1.8.tgz",
- "integrity": "sha512-ZKDPZwHLYVWIk/Q75N7jCFbuQyokSg2+3WBlt8l35S/uBvxoc+LiRUbb3RUt83pwW82dzwiCpoQIHd9PAxUzHg==",
- "license": "MIT"
- },
- "node_modules/pump": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz",
- "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==",
- "license": "MIT",
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/pvtsutils": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz",
- "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.8.1"
- }
- },
- "node_modules/pvtsutils/node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/pvutils": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz",
- "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==",
- "license": "MIT",
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/qs": {
- "version": "6.14.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz",
- "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "side-channel": "^1.1.0"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
- "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
- "license": "MIT",
- "dependencies": {
- "bytes": "~3.1.2",
- "http-errors": "~2.0.1",
- "iconv-lite": "~0.4.24",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/read": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
- "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==",
- "license": "ISC",
- "dependencies": {
- "mute-stream": "~0.0.4"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/reflect-metadata": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
- "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
- "license": "Apache-2.0"
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-in-the-middle": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.2.0.tgz",
- "integrity": "sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.1.1",
- "module-details-from-path": "^1.0.3",
- "resolve": "^1.22.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "license": "MIT"
- },
- "node_modules/resolve": {
- "version": "1.22.11",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
- "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
- "license": "MIT",
- "dependencies": {
- "is-core-module": "^2.16.1",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/reusify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
- "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/run-series": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.9.tgz",
- "integrity": "sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "license": "MIT"
- },
- "node_modules/sax": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz",
- "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==",
- "license": "BlueOak-1.0.0"
- },
- "node_modules/selfsigned": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz",
- "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==",
- "license": "MIT",
- "dependencies": {
- "@peculiar/x509": "^1.14.2",
- "pkijs": "^3.3.3"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/send": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz",
- "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "~0.5.2",
- "http-errors": "~2.0.1",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "~2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "~2.0.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "license": "MIT"
- },
- "node_modules/serve-static": {
- "version": "1.16.3",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
- "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
- "license": "MIT",
- "dependencies": {
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "~0.19.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/set-function-length": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
- "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "license": "ISC"
- },
- "node_modules/sha.js": {
- "version": "2.4.12",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz",
- "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==",
- "license": "(MIT AND BSD-3-Clause)",
- "dependencies": {
- "inherits": "^2.0.4",
- "safe-buffer": "^5.2.1",
- "to-buffer": "^1.2.0"
- },
- "bin": {
- "sha.js": "bin.js"
- },
- "engines": {
- "node": ">= 0.10"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shimmer": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz",
- "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==",
- "license": "BSD-2-Clause"
- },
- "node_modules/side-channel": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
- "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "object-inspect": "^1.13.3",
- "side-channel-list": "^1.0.0",
- "side-channel-map": "^1.0.1",
- "side-channel-weakmap": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/side-channel-list": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
- "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "object-inspect": "^1.13.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/side-channel-map": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
- "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.5",
- "object-inspect": "^1.13.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/side-channel-weakmap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
- "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.5",
- "object-inspect": "^1.13.3",
- "side-channel-map": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "license": "ISC"
- },
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/simple-get": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
- "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "decompress-response": "^6.0.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "node_modules/slash": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
- "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
- "license": "MIT",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/smart-buffer": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
- "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
- "license": "MIT",
- "engines": {
- "node": ">= 6.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/socks": {
- "version": "2.8.7",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz",
- "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==",
- "license": "MIT",
- "dependencies": {
- "ip-address": "^10.0.1",
- "smart-buffer": "^4.2.0"
- },
- "engines": {
- "node": ">= 10.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/socks-proxy-agent": {
- "version": "8.0.5",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
- "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "^4.3.4",
- "socks": "^2.8.3"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/sprintf-js": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
- "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
- "license": "BSD-3-Clause"
- },
- "node_modules/statuses": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
- "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/strnum": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
- "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT"
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/systeminformation": {
- "version": "5.27.14",
- "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.27.14.tgz",
- "integrity": "sha512-3DoNDYSZBLxBwaJtQGWNpq0fonga/VZ47HY1+7/G3YoIPaPz93Df6egSzzTKbEMmlzUpy3eQ0nR9REuYIycXGg==",
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin",
- "linux",
- "win32",
- "freebsd",
- "openbsd",
- "netbsd",
- "sunos",
- "android"
- ],
- "bin": {
- "systeminformation": "lib/cli.js"
- },
- "engines": {
- "node": ">=8.0.0"
- },
- "funding": {
- "type": "Buy me a coffee",
- "url": "https://www.buymeacoffee.com/systeminfo"
- }
- },
- "node_modules/tmp": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
- "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
- "license": "MIT",
- "engines": {
- "node": ">=14.14"
- }
- },
- "node_modules/tmp-promise": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz",
- "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==",
- "license": "MIT",
- "dependencies": {
- "tmp": "^0.2.0"
- }
- },
- "node_modules/to-buffer": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz",
- "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==",
- "license": "MIT",
- "dependencies": {
- "isarray": "^2.0.5",
- "safe-buffer": "^5.2.1",
- "typed-array-buffer": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "license": "MIT",
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/trash": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/trash/-/trash-10.0.1.tgz",
- "integrity": "sha512-WSh7WXBRkudzQMXRh61vyT/f3mjVnn+3conu5DdvMGzRPsc3mtviPLIwCK1OtwfgR2gr4+9+EE/eWwPlDj5NcA==",
- "license": "MIT",
- "dependencies": {
- "@stroncium/procfs": "^1.2.1",
- "chunkify": "^5.0.0",
- "globby": "^14.1.0",
- "is-path-inside": "^4.0.0",
- "move-file": "^3.1.0",
- "p-map": "^7.0.3",
- "xdg-trashdir": "^3.1.0"
- },
- "engines": {
- "node": ">=20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/tslib": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
- "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
- "license": "Apache-2.0"
- },
- "node_modules/tsyringe": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz",
- "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/tv4": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.3.0.tgz",
- "integrity": "sha512-afizzfpJgvPr+eDkREK4MxJ/+r8nEEHcmitwgnPUqpaP+FpwQyadnxNoSACbgc/b1LsZYtODGoPiFxQrgJgjvw==",
- "license": [
- {
- "type": "Public Domain",
- "url": "http://geraintluff.github.io/tv4/LICENSE.txt"
- },
- {
- "type": "MIT",
- "url": "http://jsonary.com/LICENSE.txt"
- }
- ],
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/tx2": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/tx2/-/tx2-1.0.5.tgz",
- "integrity": "sha512-sJ24w0y03Md/bxzK4FU8J8JveYYUbSs2FViLJ2D/8bytSiyPRbuE3DyL/9UKYXTZlV3yXq0L8GLlhobTnekCVg==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "json-stringify-safe": "^5.0.1"
- }
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "license": "MIT",
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/typed-array-buffer": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
- "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "is-typed-array": "^1.1.14"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/undici-types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
- "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
- "license": "MIT"
- },
- "node_modules/unicorn-magic": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
- "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/universal-github-app-jwt": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-1.2.0.tgz",
- "integrity": "sha512-dncpMpnsKBk0eetwfN8D8OUHGfiDhhJ+mtsbMl+7PfW7mYjiH8LIcqRmYMtzYLgSh47HjfdBtrBwIQ/gizKR3g==",
- "license": "MIT",
- "dependencies": {
- "@types/jsonwebtoken": "^9.0.0",
- "jsonwebtoken": "^9.0.2"
- }
- },
- "node_modules/universal-user-agent": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
- "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
- "license": "ISC"
- },
- "node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
- "license": "MIT",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "license": "BSD-2-Clause",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/user-home": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
- "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==",
- "license": "MIT",
- "dependencies": {
- "os-homedir": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "license": "MIT"
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/vizion": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/vizion/-/vizion-2.2.1.tgz",
- "integrity": "sha512-sfAcO2yeSU0CSPFI/DmZp3FsFE9T+8913nv1xWBOyzODv13fwkn6Vl7HqxGpkr9F608M+8SuFId3s+BlZqfXww==",
- "license": "Apache-2.0",
- "dependencies": {
- "async": "^2.6.3",
- "git-node-fs": "^1.0.0",
- "ini": "^1.3.5",
- "js-git": "^0.7.8"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/vizion/node_modules/async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.17.14"
- }
- },
- "node_modules/wasm-feature-detect": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/wasm-feature-detect/-/wasm-feature-detect-1.8.0.tgz",
- "integrity": "sha512-zksaLKM2fVlnB5jQQDqKXXwYHLQUVH9es+5TOOHwGOVJOCeRBCiPjwSg+3tN2AdTCzjgli4jijCH290kXb/zWQ==",
- "license": "Apache-2.0"
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/which-typed-array": {
- "version": "1.1.19",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
- "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
- "license": "MIT",
- "dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "for-each": "^0.3.5",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "license": "ISC"
- },
- "node_modules/ws": {
- "version": "7.5.10",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
- "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/xdg-trashdir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/xdg-trashdir/-/xdg-trashdir-3.1.0.tgz",
- "integrity": "sha512-N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==",
- "license": "MIT",
- "dependencies": {
- "@sindresorhus/df": "^3.1.1",
- "mount-point": "^3.0.0",
- "user-home": "^2.0.0",
- "xdg-basedir": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/xml2js": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
- "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==",
- "license": "MIT",
- "dependencies": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/xmlbuilder": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "license": "ISC"
- },
- "node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- }
- }
-}
diff --git a/cli/package.json b/cli/package.json
deleted file mode 100644
index c886a9754a..0000000000
--- a/cli/package.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "name": "studio-cli",
- "author": "Automattic Inc.",
- "private": true,
- "productName": "Studio CLI",
- "description": "WordPress Studio CLI",
- "license": "GPL-2.0-or-later",
- "main": "index.js",
- "dependencies": {
- "@php-wasm/universal": "^3.0.46",
- "@wp-playground/blueprints": "^3.0.46",
- "@wp-playground/cli": "^3.0.46",
- "@wp-playground/common": "^3.0.46",
- "@wp-playground/storage": "^3.0.46",
- "http-proxy": "^1.18.1",
- "pm2": "^6.0.14",
- "pm2-axon": "^4.0.1",
- "trash": "^10.0.1"
- },
- "scripts": {
- "postinstall": "patch-package"
- }
-}
diff --git a/common/translations/index.ts b/common/translations/index.ts
deleted file mode 100644
index 4385ae3fad..0000000000
--- a/common/translations/index.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import { locale_data as ar } from 'common/translations/studio-ar.jed.json';
-import { locale_data as de } from 'common/translations/studio-de.jed.json';
-import { locale_data as es } from 'common/translations/studio-es.jed.json';
-import { locale_data as fr } from 'common/translations/studio-fr.jed.json';
-import { locale_data as he } from 'common/translations/studio-he.jed.json';
-import { locale_data as hu } from 'common/translations/studio-hu.jed.json';
-import { locale_data as id } from 'common/translations/studio-id.jed.json';
-import { locale_data as it } from 'common/translations/studio-it.jed.json';
-import { locale_data as ja } from 'common/translations/studio-ja.jed.json';
-import { locale_data as ko } from 'common/translations/studio-ko.jed.json';
-import { locale_data as nl } from 'common/translations/studio-nl.jed.json';
-import { locale_data as pl } from 'common/translations/studio-pl.jed.json';
-import { locale_data as ptBR } from 'common/translations/studio-pt-br.jed.json';
-import { locale_data as ru } from 'common/translations/studio-ru.jed.json';
-import { locale_data as sv } from 'common/translations/studio-sv.jed.json';
-import { locale_data as tr } from 'common/translations/studio-tr.jed.json';
-import { locale_data as uk } from 'common/translations/studio-uk.jed.json';
-import { locale_data as vi } from 'common/translations/studio-vi.jed.json';
-import { locale_data as zhCN } from 'common/translations/studio-zh-cn.jed.json';
-import { locale_data as zhTW } from 'common/translations/studio-zh-tw.jed.json';
-
-export const localeDataDictionary = {
- ar,
- de,
- en: null,
- es,
- fr,
- he,
- hu,
- id,
- it,
- ja,
- ko,
- nl,
- pl,
- 'pt-br': ptBR,
- ru,
- sv,
- tr,
- uk,
- vi,
- 'zh-cn': zhCN,
- 'zh-tw': zhTW,
-} as const;
diff --git a/docs/ai-instructions.md b/docs/ai-instructions.md
index 3dfa76dd41..3f681ed810 100644
--- a/docs/ai-instructions.md
+++ b/docs/ai-instructions.md
@@ -15,29 +15,29 @@ WordPress Studio - Electron desktop app for managing local WordPress sites. Buil
CLI pattern: `npm run cli:build && node dist/cli/main.js
`
- **Auth**: `auth login|logout|status` - WordPress.com OAuth (tokens valid 2 weeks)
-- **Preview Sites**: See `cli/commands/preview/`
-- **Local Sites**: See `cli/commands/site/`
+- **Preview Sites**: See `apps/cli/commands/preview/`
+- **Local Sites**: See `apps/cli/commands/site/`
## Architecture
**Electron 3-Process**: Main (Node.js) → Preload (IPC bridge) → Renderer (React)
-**Main Process** (`src/`): IPC handlers, site servers, storage, OAuth, sync, migrations
-**Renderer** (`src/components`, `src/hooks`): React UI, Redux stores, TailwindCSS
-**CLI** (`cli/`): WordPress Playground (PHP WASM), yargs commands, child process of desktop app
+**Main Process** (`apps/studio/src/`): IPC handlers, site servers, storage, OAuth, sync, migrations
+**Renderer** (`apps/studio/src/components`, `apps/studio/src/hooks`): React UI, Redux stores, TailwindCSS
+**CLI** (`apps/cli/`): WordPress Playground (PHP WASM), yargs commands, child process of desktop app
## Directory Structure
-**`/src`**: Main (index.ts, ipc-handlers.ts, site-server.ts, storage/, lib/) | Renderer (components/, hooks/, stores/) | modules/ (sync, cli, user-settings, preview-site)
-**`/cli`**: index.ts, commands/ (auth, preview, site), lib/ (appdata, i18n, browser)
-**`/common`**: Shared lib/ (fs-utils, port-finder, oauth), types/, translations/
-**`/packages`**: eslint-plugin-studio
+**`/apps/studio/src`**: Main (index.ts, ipc-handlers.ts, site-server.ts, storage/, lib/) | Renderer (components/, hooks/, stores/) | modules/ (sync, cli, user-settings, preview-site)
+**`/apps/cli`**: index.ts, commands/ (auth, preview, site), lib/ (appdata, i18n, browser)
+**`/tools/common`**: Shared lib/ (fs-utils, port-finder, oauth), types/, translations/
+**`/tools/eslint-plugin-studio`**: eslint-plugin-studio
## Key Patterns
**IPC**: Renderer → `window.ipcApi.*` → Preload (contextBridge) → Main `ipc-handlers.ts` → Business logic
-**CliServerProcess**: Desktop spawns CLI as child process (`src/modules/cli/lib/cli-server-process.ts`)
+**CliServerProcess**: Desktop spawns CLI as child process (`apps/studio/src/modules/cli/lib/cli-server-process.ts`)
**Redux Stores**: chat, sync, connectedSites, snapshot, onboarding | RTK Query APIs: wpcomApi, installedAppsApi, wordpressVersionsApi
-**SiteServer** (`src/site-server.ts`): Manages site instances, server start/stop, SSL certs, ports
+**SiteServer** (`apps/studio/src/site-server.ts`): Manages site instances, server start/stop, SSL certs, ports
## Tech Stack
@@ -49,16 +49,16 @@ CLI pattern: `npm run cli:build && node dist/cli/main.js `
## Build & Distribution
-**Build**: CLI (`vite build --config vite.cli.config.ts`) → Electron (`electron-vite build`) → Package (`electron-forge make`)
+**Build**: CLI (`vite build --config apps/cli/vite.config.ts`) → Electron (`electron-vite build --config apps/studio/electron.vite.config.ts`) → Package (`electron-forge make --config apps/studio/forge.config.ts`)
**Platforms**: macOS (x64/ARM64 DMG), Windows (x64/ARM64 MSIX), Linux (DEB)
**Bundling**: Rollup (main), Vite (renderer with code splitting), ASAR (resources)
## Conventions
**Files**: React components (PascalCase), utils (camelCase), tests (.test.ts/.tsx)
-**IPC Handlers** (`src/ipc-handlers.ts`): `export async function handlerName(event, ...args): Promise` | Handler names in `src/constants.ts`
+**IPC Handlers** (`apps/studio/src/ipc-handlers.ts`): `export async function handlerName(event, ...args): Promise` | Handler names in `apps/studio/src/constants.ts`
**Storage**: `~/Library/Application Support/WordPress Studio/appdata-v1.json` (macOS), `%APPDATA%/...` (Win), `~/.config/...` (Linux) | File locking: `lockAppdata()` / `unlockAppdata()`
-**i18n**: `@wordpress/i18n` (`__()` function), `common/translations/`, `` (renderer), `loadTranslations()` (CLI)
+**i18n**: `@wordpress/i18n` (`__()` function), `tools/common/translations/`, `` (renderer), `loadTranslations()` (CLI)
## Detailed Documentation
@@ -72,7 +72,7 @@ For in-depth information, see these docs:
## Quick Reference
**WP Playground**: CLI runs WordPress via PHP WASM, Blueprints for config, `filterUnsupportedBlueprintFeatures()` for compatibility
-**Sync**: OAuth via `common/lib/oauth.ts`, Redux `sync` slice, pull/push WordPress.com sites
+**Sync**: OAuth via `tools/common/lib/oauth.ts`, Redux `sync` slice, pull/push WordPress.com sites
**Security**: Renderer sandboxed, IPC validation, strict CSP, no Node integration, self-signed HTTPS certs
---
diff --git a/docs/code-contributions.md b/docs/code-contributions.md
index 86f8af8d38..28062417ed 100644
--- a/docs/code-contributions.md
+++ b/docs/code-contributions.md
@@ -25,6 +25,8 @@ nvm use
npm install
```
+Studio now uses npm workspaces. Run installs from the repo root (this also runs the nested CLI install required for packaging).
+
### Running the App
Once all required dependencies are installed, you can run the app with the following command:
@@ -38,17 +40,19 @@ This command starts the app in dev mode and opens it automatically, with the Chr
As with any Electron app, the code is split into two processes:
1. **Renderer Process** (reloads automatically):
- - All React components and UI code in `src/components/`, `src/modules/*/components/`
- - Hooks, stores, and utilities used by the UI (`src/hooks/`, `src/stores/`, etc.)
+
+ - All React components and UI code in `apps/studio/src/components/`, `apps/studio/src/modules/*/components/`
+ - Hooks, stores, and utilities used by the UI (`apps/studio/src/hooks/`, `apps/studio/src/stores/`, etc.)
- Any code that runs in the browser window context
2. **Main Process** (requires restart):
- - IPC handlers in `src/ipc-handlers.ts`
- - Electron main process code in `src/index.ts`
+ - IPC handlers in `apps/studio/src/ipc-handlers.ts`
+ - Electron main process code in `apps/studio/src/index.ts`
- Node.js operations like file system access
- PHP server management code
When editing main process code, you can either:
+
- Restart the app manually, or
- Type `rs` in the terminal where you ran `npm start` to restart the server
@@ -76,34 +80,36 @@ The project follows a modular architecture with both global and feature-specific
#### Global Directories
-| Directory | Description |
-|-------------------|-------------|
-| `cli/` | Root directory for CLI code |
-| `common/` | Shared code between CLI and Studio (constants, types, utility functions, etc) |
-| `src/` | Root directory for Studio code |
-| `src/components/` | Reusable UI components used across the application |
-| `src/hooks/` | Global React hooks |
-| `src/lib/` | Utility functions and helper libraries |
-| `src/modules/` | Feature-specific code |
-| `src/stores/` | Global state management (Redux stores) |
-| `src/api/` | API interfaces and implementations |
+| Directory | Description |
+| ----------------------------- | ----------------------------------------------------------------------------- |
+| `apps/cli/` | Root directory for CLI code |
+| `apps/studio/src/` | Root directory for Studio code |
+| `apps/studio/src/components/` | Reusable UI components used across the application |
+| `apps/studio/src/hooks/` | Global React hooks |
+| `apps/studio/src/lib/` | Utility functions and helper libraries |
+| `apps/studio/src/modules/` | Feature-specific code |
+| `apps/studio/src/stores/` | Global state management (Redux stores) |
+| `apps/studio/src/api/` | API interfaces and implementations |
+| `tools/common/` | Shared code between CLI and Studio (constants, types, utility functions, etc) |
+| `tools/compare-perf/` | Compare-perf tooling workspace |
+| `tools/eslint-plugin-studio/` | Custom ESLint rules |
#### Important Entry Points
-| File | Description |
-|------|-------------|
-| `cli/index.ts` | The entry point for the CLI bundle |
-| `scripts/` | Scripts for building and testing the app |
-| `src/index.ts` | The entry point for the main process |
-| `src/renderer.ts` | The entry point for the "renderer," the code running in the Chromium window |
-| `vendor/wp-now` | The modified `wp-now` source code |
+| File | Description |
+| ----------------------------- | --------------------------------------------------------------------------- |
+| `apps/cli/index.ts` | The entry point for the CLI bundle |
+| `scripts/` | Scripts for building and testing the app |
+| `apps/studio/src/index.ts` | The entry point for the main process |
+| `apps/studio/src/renderer.ts` | The entry point for the "renderer," the code running in the Chromium window |
+| `vendor/wp-now` | The modified `wp-now` source code |
#### Feature Modules
-Feature-specific code is organized in the `src/modules/` directory. Each module follows a consistent internal structure:
+Feature-specific code is organized in the `apps/studio/src/modules/` directory. Each module follows a consistent internal structure:
```
-src/modules/
+apps/studio/src/modules/
├── preview-site/ # Preview sites feature
│ ├── components/ # Feature-specific components
│ ├── hooks/ # Feature-specific hooks
@@ -127,7 +133,7 @@ Code formatting is set up to make merging pull requests easier. It uses the same
The CLI relies upon a separate instance of the app to run. When developing the CLI, the CLI can be invoked with the following steps:
- Run `npm start` to launch the first instance of the app.
-- Within the `forge.config.ts` file, change the `WebpackPlugin` ports used for the second instance:
+- Within `apps/studio/forge.config.ts`, change the `WebpackPlugin` ports used for the second instance:
- Set the development `port` to `3457`.
- Add a `loggerPort` property set to `9001`.
- Run `npm start -- -- --cli"="` in separate terminal session.
@@ -198,6 +204,7 @@ npm run package
After building, the executable will be located at `out/Studio-linux-x64/studio`.
**Important considerations:**
+
- The auto-update feature is not currently supported on Linux builds.
- For Wayland systems, you may need to use additional flags when running the application.
- Some features may not work as expected due to platform-specific implementations.
@@ -214,6 +221,6 @@ See [Versioning and Updates](./versioning-and-updates.md) documentation.
## Design Docs
- - [Custom Domains and SSL](./design-docs/custom-domains-and-ssl.md)
- - [What's New modal](./design-docs/whats-new-modal.md)
- - [Sync](./design-docs/sync.md)
+- [Custom Domains and SSL](./design-docs/custom-domains-and-ssl.md)
+- [What's New modal](./design-docs/whats-new-modal.md)
+- [Sync](./design-docs/sync.md)
diff --git a/docs/design-docs/cli.md b/docs/design-docs/cli.md
index ba41ad5960..fd1a82f8ae 100644
--- a/docs/design-docs/cli.md
+++ b/docs/design-docs/cli.md
@@ -19,20 +19,22 @@ The first iteration of the CLI shipped commands to create, read, update, and del
## Data flow
1. When calling the CLI:
- - `yargs` is used to parse commands and options and to auto-generate help pages.
- - The appropriate command is called.
- - Progress is pretty-printed and the command runs until completion or failure.
+
+ - `yargs` is used to parse commands and options and to auto-generate help pages.
+ - The appropriate command is called.
+ - Progress is pretty-printed and the command runs until completion or failure.
2. When Studio instantiates the CLI:
- - The node.js `child_process` module is used to fork a process that runs the CLI.
- - When running in forked mode, the CLI process uses the `process.send` API to communicate back to Studio.
- - IPC messages received from the CLI are parsed and validated. The results are emitted as Electron IPC events to the renderer process.
- - The renderer process uses "logger action" definitions from the `common` folder to determine command progress based on incoming IPC events.
+
+ - The node.js `child_process` module is used to fork a process that runs the CLI.
+ - When running in forked mode, the CLI process uses the `process.send` API to communicate back to Studio.
+ - IPC messages received from the CLI are parsed and validated. The results are emitted as Electron IPC events to the renderer process.
+ - The renderer process uses "logger action" definitions from the `common` folder to determine command progress based on incoming IPC events.
3. Studio reacts when the CLI modifies preview sites:
- - `src/lib/user-data-watcher.ts` watches the Studio config file and emits `user-data-updated` IPC renderer events.
- - State handlers (primarily Redux slices) listen to `user-data-updated` events and update the state accordingly.
- - Because state changes trigger writes to the Studio config file, event handlers have to first run a deep diff on the incoming payload to ensure that the data has truly changed. Without this, there'd be infinite watch/write loops.
+ - `src/lib/user-data-watcher.ts` watches the Studio config file and emits `user-data-updated` IPC renderer events.
+ - State handlers (primarily Redux slices) listen to `user-data-updated` events and update the state accordingly.
+ - Because state changes trigger writes to the Studio config file, event handlers have to first run a deep diff on the incoming payload to ensure that the data has truly changed. Without this, there'd be infinite watch/write loops.
## Implementation details
diff --git a/docs/testing-with-local-playground.md b/docs/testing-with-local-playground.md
index 0b0ecbfc65..1749428dea 100644
--- a/docs/testing-with-local-playground.md
+++ b/docs/testing-with-local-playground.md
@@ -33,7 +33,7 @@ npm run build
### 2. Update CLI's package.json
-Replace the existing Playground dependencies in `cli/package.json` with local file references:
+Replace the existing Playground dependencies in `apps/cli/package.json` with local file references:
```json
{
@@ -73,8 +73,8 @@ done
```bash
cd /path/to/studio
-rm -rf cli/node_modules
-cd cli && npm install && cd ..
+rm -rf apps/cli/node_modules
+npm --prefix apps/cli install
npm install
```
@@ -115,14 +115,14 @@ After making changes to Playground:
To go back to using the published npm packages:
-1. Restore `cli/package.json`:
+1. Restore `apps/cli/package.json`:
```bash
- git checkout cli/package.json
+ git checkout apps/cli/package.json
```
2. Reinstall CLI dependencies:
```bash
- rm -rf cli/node_modules
- cd cli && npm install && cd ..
+ rm -rf apps/cli/node_modules
+ npm --prefix apps/cli install
```
3. In the Playground repo, restore the original `node_modules` symlinks:
```bash
diff --git a/eslint.config.mjs b/eslint.config.mjs
index f7f9699084..65df187f4c 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -12,12 +12,12 @@ import path from 'node:path';
export default defineConfig(
globalIgnores( [
'**/node_modules/',
+ '**/__mocks__',
+ 'apps/cli/dist/',
'dist/',
'out/',
- 'wp-files/',
'vendor/',
- 'cli/__mocks__',
- 'src/__mocks__',
+ 'wp-files/',
] ),
js.configs.recommended,
tsEslint.configs.recommended,
@@ -45,7 +45,12 @@ export default defineConfig(
'import/resolver': {
typescript: {
alwaysTryTypes: true,
- project: path.join( import.meta.dirname, 'tsconfig.json' ),
+ project: [
+ path.join( import.meta.dirname, 'tsconfig.json' ),
+ path.join( import.meta.dirname, 'apps/cli/tsconfig.json' ),
+ path.join( import.meta.dirname, 'apps/studio/tsconfig.json' ),
+ path.join( import.meta.dirname, 'tools/common/tsconfig.json' ),
+ ],
},
},
},
diff --git a/fastlane/Fastfile b/fastlane/Fastfile
index 706c207648..05796bf74e 100644
--- a/fastlane/Fastfile
+++ b/fastlane/Fastfile
@@ -12,7 +12,7 @@ UI.user_error!('Please run fastlane via `bundle exec`') unless FastlaneCore::Hel
########################################################################
PROJECT_ROOT_FOLDER = File.dirname(File.expand_path(__dir__))
SECRETS_FOLDER = File.join(Dir.home, '.configure', 'studio', 'secrets')
-BUILDS_FOLDER = File.join(PROJECT_ROOT_FOLDER, 'out')
+BUILDS_FOLDER = File.join(PROJECT_ROOT_FOLDER, 'apps', 'studio', 'out')
# Enable dry run mode through environment variable
DRY_RUN = ENV['DRY_RUN'] == 'true'
diff --git a/package-lock.json b/package-lock.json
index 6699bcd98e..ef2e74f14c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,14 +1,88 @@
{
"name": "studio",
- "version": "1.7.4-beta2",
+ "version": "1.7.4-beta1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "studio",
- "version": "1.7.4-beta2",
"hasInstallScript": true,
"license": "GPL-2.0-or-later",
+ "workspaces": [
+ "apps/*",
+ "tools/*"
+ ],
+ "devDependencies": {
+ "@automattic/wp-babel-makepot": "^1.2.0",
+ "@eslint/js": "^9.39.2",
+ "@playwright/test": "^1.58.1",
+ "@testing-library/jest-dom": "^6.9.1",
+ "@testing-library/react": "^16.3.1",
+ "@testing-library/user-event": "^14.6.1",
+ "@types/fs-extra": "^11.0.4",
+ "@vitest/ui": "^2.1.8",
+ "@yao-pkg/pkg": "^6.13.1",
+ "electron-playwright-helpers": "^2.1.0",
+ "eslint": "^9.39.2",
+ "eslint-config-prettier": "^9.1.2",
+ "eslint-import-resolver-typescript": "^4.4.4",
+ "eslint-plugin-import": "^2.32.0",
+ "eslint-plugin-jest-dom": "^5.5.0",
+ "eslint-plugin-prettier": "^5.5.5",
+ "eslint-plugin-react-hooks": "^7.0.1",
+ "eslint-plugin-studio": "file:tools/eslint-plugin-studio",
+ "fs-extra": "^11.3.3",
+ "isomorphic-fetch": "^3.0.0",
+ "jsdom": "^24.0.0",
+ "nock": "^13.5.6",
+ "patch-package": "^8.0.1",
+ "prettier": "npm:wp-prettier@3.0.3",
+ "rimraf": "^6.1.2",
+ "ts-node": "^10.9.2",
+ "typescript": "~5.9.3",
+ "typescript-eslint": "^8.53.0",
+ "vitest": "^2.1.9",
+ "web-streams-polyfill": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=22.0.0",
+ "npm": ">=10.0.0"
+ }
+ },
+ "apps/cli": {
+ "name": "studio-cli",
+ "license": "GPL-2.0-or-later",
+ "dependencies": {
+ "@php-wasm/universal": "3.0.46",
+ "@studio/common": "file:../../tools/common",
+ "@vscode/sudo-prompt": "^9.3.2",
+ "@wp-playground/blueprints": "3.0.46",
+ "@wp-playground/cli": "3.0.46",
+ "@wp-playground/common": "3.0.46",
+ "@wp-playground/storage": "3.0.46",
+ "cli-table3": "^0.6.5",
+ "http-proxy": "^1.18.1",
+ "node-forge": "^1.3.3",
+ "pm2": "^6.0.14",
+ "pm2-axon": "^4.0.1",
+ "trash": "^10.0.1",
+ "yargs": "^18.0.0",
+ "yargs-parser": "^22.0.0"
+ },
+ "devDependencies": {
+ "@types/archiver": "^6.0.4",
+ "@types/http-proxy": "^1.17.17",
+ "@types/node-forge": "^1.3.14",
+ "@types/yargs": "^17.0.35",
+ "patch-package": "^8.0.1",
+ "vite": "^7.3.1",
+ "vite-plugin-static-copy": "^3.1.5"
+ }
+ },
+ "apps/studio": {
+ "name": "studio-app",
+ "version": "1.7.4-beta2",
+ "license": "GPL-2.0-or-later",
"dependencies": {
"@automattic/generate-password": "^0.1.0",
"@automattic/interpolate-components": "^1.2.1",
@@ -18,11 +92,16 @@
"@reduxjs/toolkit": "^2.11.2",
"@rive-app/react-canvas": "^4.12.0",
"@sentry/electron": "^6.5.0",
- "@vscode/sudo-prompt": "^9.3.2",
+ "@sentry/react": "^7.120.3",
+ "@studio/common": "file:../../tools/common",
+ "@vscode/sudo-prompt": "^9.3.1",
+ "@wordpress/components": "^32.1.0",
"@wordpress/compose": "^7.36.0",
"@wordpress/dataviews": "^11.3.0",
+ "@wordpress/element": "^6.39.0",
"@wordpress/i18n": "^6.9.0",
"@wordpress/icons": "^11.4.0",
+ "@wordpress/react-i18n": "^4.39.0",
"archiver": "^6.0.2",
"atomically": "^2.1.0",
"cli-table3": "^0.6.5",
@@ -32,8 +111,7 @@
"date-fns": "^3.3.1",
"electron-squirrel-startup": "^1.0.1",
"electron2appx": "^2.1.2",
- "eslint-config-prettier": "^10.1.8",
- "express": "4.21.2",
+ "express": "4.22.1",
"fast-deep-equal": "^3.1.3",
"file-stream-rotator": "^1.0.0",
"follow-redirects": "^1.15.11",
@@ -41,21 +119,20 @@
"hpagent": "1.2.0",
"http-proxy": "^1.18.1",
"lockfile": "^1.0.4",
- "node-forge": "^1.3.3",
"ora": "^8.2.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"react-markdown": "^9.0.1",
"react-redux": "^9.2.0",
"rehype-raw": "^7.0.0",
"remark-gfm": "^4.0.1",
+ "resize-observer-polyfill": "^1.5.1",
"semver": "^7.7.3",
"shell-quote": "^1.8.3",
"strip-ansi": "^7.1.2",
"tar": "^7.5.2",
- "ts-node": "^10.9.2",
"tus-js-client": "^4.3.1",
"winreg": "1.2.4",
- "wpcom": "^7.1.1",
- "wpcom-xhr-request": "^1.3.0",
"yargs": "^18.0.0",
"yargs-parser": "^22.0.0",
"yauzl": "^3.2.0",
@@ -63,74 +140,35 @@
},
"devDependencies": {
"@automattic/color-studio": "^4.1.0",
- "@automattic/wp-babel-makepot": "^1.2.0",
"@electron-forge/cli": "^7.11.1",
"@electron-forge/maker-deb": "^7.11.1",
"@electron-forge/maker-dmg": "^7.11.1",
"@electron-forge/maker-squirrel": "^7.11.1",
"@electron-forge/maker-zip": "^7.11.1",
"@electron-forge/plugin-auto-unpack-natives": "^7.11.1",
- "@eslint/js": "^9.39.2",
- "@playwright/test": "^1.58.1",
- "@sentry/react": "^7.120.3",
"@sentry/vite-plugin": "^4.3.0",
- "@testing-library/jest-dom": "^6.9.1",
- "@testing-library/react": "^16.3.1",
- "@testing-library/user-event": "^14.6.1",
"@types/archiver": "^6.0.4",
"@types/follow-redirects": "^1.14.4",
"@types/fs-extra": "^11.0.4",
"@types/http-proxy": "^1.17.17",
- "@types/lockfile": "^1.0.4",
- "@types/node-forge": "^1.3.14",
"@types/react": "^18.3.27",
"@types/react-dom": "^18.3.7",
"@types/semver": "^7.7.1",
"@types/shell-quote": "^1.7.5",
"@types/winreg": "^1.2.36",
- "@types/yargs": "^17.0.35",
"@types/yauzl": "^2.10.3",
"@vitejs/plugin-react": "^5.1.4",
- "@vitest/ui": "^2.1.8",
- "@wordpress/components": "^32.1.0",
- "@wordpress/element": "^6.39.0",
- "@wordpress/react-i18n": "^4.39.0",
- "@wp-playground/blueprints": "^3.0.46",
- "@yao-pkg/pkg": "^6.3.2",
+ "@wp-playground/blueprints": "3.0.46",
"electron": "^39.2.7",
"electron-devtools-installer": "^4.0.0",
- "electron-playwright-helpers": "^2.1.0",
"electron-vite": "^5.0.0",
- "eslint": "^9.39.2",
- "eslint-import-resolver-typescript": "^4.4.4",
- "eslint-plugin-import": "^2.32.0",
- "eslint-plugin-jest-dom": "^5.5.0",
- "eslint-plugin-prettier": "^5.5.4",
- "eslint-plugin-react-hooks": "^7.0.1",
- "eslint-plugin-studio": "file:packages/eslint-plugin-studio",
- "isomorphic-fetch": "^3.0.0",
- "jsdom": "^24.0.0",
- "nock": "^13.5.6",
- "patch-package": "^8.0.0",
+ "patch-package": "^8.0.1",
"postcss": "^8.4.32",
- "prettier": "npm:wp-prettier@3.0.3",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "resize-observer-polyfill": "^1.5.1",
- "rimraf": "^6.1.2",
"tailwindcss": "^3.3.6",
- "typescript": "~5.9.3",
- "typescript-eslint": "^8.53.0",
"vite": "^7.3.1",
"vite-plugin-static-copy": "^3.1.5",
"vite-plugin-top-level-await": "^1.6.0",
- "vite-plugin-wasm": "^3.5.0",
- "vitest": "^2.1.9",
- "web-streams-polyfill": "^4.2.0"
- },
- "engines": {
- "node": ">=22.0.0",
- "npm": ">=10.0.0"
+ "vite-plugin-wasm": "^3.5.0"
},
"optionalDependencies": {
"@rollup/rollup-linux-x64-gnu": "^4.50.2",
@@ -138,98 +176,329 @@
"appdmg": "^0.6.6"
}
},
- "node_modules/@adobe/css-tools": {
- "version": "4.4.4",
+ "apps/studio/node_modules/@babel/code-frame": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
},
- "node_modules/@alloc/quick-lru": {
- "version": "5.2.0",
+ "apps/studio/node_modules/@babel/compat-data": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
+ "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=6.9.0"
}
},
- "node_modules/@ariakit/core": {
- "version": "0.4.15",
- "license": "MIT"
- },
- "node_modules/@ariakit/react": {
- "version": "0.4.17",
+ "apps/studio/node_modules/@babel/core": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
+ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@ariakit/react-core": "0.4.17"
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-compilation-targets": "^7.28.6",
+ "@babel/helper-module-transforms": "^7.28.6",
+ "@babel/helpers": "^7.28.6",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/traverse": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/remapping": "^2.3.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/ariakit"
- },
- "peerDependencies": {
- "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
- "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ "url": "https://opencollective.com/babel"
}
},
- "node_modules/@ariakit/react-core": {
- "version": "0.4.17",
+ "apps/studio/node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "apps/studio/node_modules/@babel/generator": {
+ "version": "7.29.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@ariakit/core": "0.4.15",
- "@floating-ui/dom": "^1.0.0",
- "use-sync-external-store": "^1.2.0"
+ "@babel/parser": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
},
- "peerDependencies": {
- "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
- "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@asamuzakjp/css-color": {
- "version": "3.2.0",
+ "apps/studio/node_modules/@babel/helper-compilation-targets": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
+ "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@csstools/css-calc": "^2.1.3",
- "@csstools/css-color-parser": "^3.0.9",
- "@csstools/css-parser-algorithms": "^3.0.4",
- "@csstools/css-tokenizer": "^3.0.3",
- "lru-cache": "^10.4.3"
+ "@babel/compat-data": "^7.28.6",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": {
- "version": "10.4.3",
+ "apps/studio/node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
},
- "node_modules/@automattic/babel-plugin-i18n-calypso": {
- "version": "1.2.0",
+ "apps/studio/node_modules/@babel/helper-module-imports": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
+ "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
"dev": true,
- "license": "GPL-2.0-or-later",
+ "license": "MIT",
"dependencies": {
- "gettext-parser": "^4.0.3",
- "lodash": "^4.17.15"
+ "@babel/traverse": "^7.28.6",
+ "@babel/types": "^7.28.6"
},
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@automattic/babel-plugin-i18n-calypso/node_modules/gettext-parser": {
- "version": "4.2.0",
+ "apps/studio/node_modules/@babel/helper-module-transforms": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
+ "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "content-type": "^1.0.4",
- "encoding": "^0.1.13",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.1"
+ "@babel/helper-module-imports": "^7.28.6",
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "@babel/traverse": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/@automattic/babel-plugin-i18n-calypso/node_modules/safe-buffer": {
- "version": "5.2.1",
+ "apps/studio/node_modules/@babel/helpers": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz",
+ "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
"dev": true,
- "funding": [
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "apps/studio/node_modules/@babel/parser": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
+ "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.29.0"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "apps/studio/node_modules/@babel/template": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.28.6",
+ "@babel/parser": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "apps/studio/node_modules/@babel/traverse": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.29.0",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "apps/studio/node_modules/@babel/types": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "apps/studio/node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-rc.3",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz",
+ "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "apps/studio/node_modules/@vitejs/plugin-react": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.4.tgz",
+ "integrity": "sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.29.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
+ "@rolldown/pluginutils": "1.0.0-rc.3",
+ "@types/babel__core": "^7.20.5",
+ "react-refresh": "^0.18.0"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
+ "apps/studio/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "apps/studio/node_modules/express": {
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz",
+ "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==",
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "~1.20.3",
+ "content-disposition": "~0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "~0.7.1",
+ "cookie-signature": "~1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.3.1",
+ "fresh": "~0.5.2",
+ "http-errors": "~2.0.0",
+ "merge-descriptors": "1.0.3",
+ "methods": "~1.1.2",
+ "on-finished": "~2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "~0.1.12",
+ "proxy-addr": "~2.0.7",
+ "qs": "~6.14.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "~0.19.0",
+ "serve-static": "~1.16.2",
+ "setprototypeof": "1.2.0",
+ "statuses": "~2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "apps/studio/node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "apps/studio/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "license": "MIT"
+ },
+ "apps/studio/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
@@ -245,58 +514,84 @@
],
"license": "MIT"
},
- "node_modules/@automattic/color-studio": {
- "version": "4.1.0",
+ "node_modules/@adobe/css-tools": {
+ "version": "4.4.4",
"dev": true,
- "license": "SEE LICENSE IN LICENSE.md"
+ "license": "MIT"
},
- "node_modules/@automattic/generate-password": {
- "version": "0.1.0",
- "license": "GPL-2.0-or-later"
+ "node_modules/@alloc/quick-lru": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "node_modules/@automattic/interpolate-components": {
- "version": "1.2.1",
- "license": "GPL-2.0-or-later",
+ "node_modules/@ariakit/core": {
+ "version": "0.4.15",
+ "license": "MIT"
+ },
+ "node_modules/@ariakit/react": {
+ "version": "0.4.17",
+ "license": "MIT",
+ "dependencies": {
+ "@ariakit/react-core": "0.4.17"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ariakit"
+ },
"peerDependencies": {
- "@types/react": ">=16.14.23",
- "react": ">=16.2.0"
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@ariakit/react-core": {
+ "version": "0.4.17",
+ "license": "MIT",
+ "dependencies": {
+ "@ariakit/core": "0.4.15",
+ "@floating-ui/dom": "^1.0.0",
+ "use-sync-external-store": "^1.2.0"
},
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
+ "peerDependencies": {
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
- "node_modules/@automattic/wp-babel-makepot": {
+ "node_modules/@asamuzakjp/css-color": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/css-calc": "^2.1.3",
+ "@csstools/css-color-parser": "^3.0.9",
+ "@csstools/css-parser-algorithms": "^3.0.4",
+ "@csstools/css-tokenizer": "^3.0.3",
+ "lru-cache": "^10.4.3"
+ }
+ },
+ "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/@automattic/babel-plugin-i18n-calypso": {
"version": "1.2.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
- "@automattic/babel-plugin-i18n-calypso": "^1.2.0",
- "@babel/cli": "^7.23.4",
- "@babel/core": "^7.23.7",
- "@babel/plugin-proposal-decorators": "^7.23.7",
- "@babel/preset-env": "^7.23.8",
- "@babel/preset-react": "^7.23.3",
- "@babel/preset-typescript": "^7.23.3",
- "commander": "^5.1.0",
"gettext-parser": "^4.0.3",
- "glob": "^7.1.6",
- "lodash.mergewith": "^4.6.2"
+ "lodash": "^4.17.15"
},
- "bin": {
- "wp-babel-makepot": "cli.js"
- }
- },
- "node_modules/@automattic/wp-babel-makepot/node_modules/commander": {
- "version": "5.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 6"
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/@automattic/wp-babel-makepot/node_modules/gettext-parser": {
+ "node_modules/@automattic/babel-plugin-i18n-calypso/node_modules/gettext-parser": {
"version": "4.2.0",
"dev": true,
"license": "MIT",
@@ -307,7 +602,88 @@
"safe-buffer": "^5.2.1"
}
},
- "node_modules/@automattic/wp-babel-makepot/node_modules/safe-buffer": {
+ "node_modules/@automattic/babel-plugin-i18n-calypso/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/@automattic/color-studio": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "SEE LICENSE IN LICENSE.md"
+ },
+ "node_modules/@automattic/generate-password": {
+ "version": "0.1.0",
+ "license": "GPL-2.0-or-later"
+ },
+ "node_modules/@automattic/interpolate-components": {
+ "version": "1.2.1",
+ "license": "GPL-2.0-or-later",
+ "peerDependencies": {
+ "@types/react": ">=16.14.23",
+ "react": ">=16.2.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@automattic/wp-babel-makepot": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "GPL-2.0-or-later",
+ "dependencies": {
+ "@automattic/babel-plugin-i18n-calypso": "^1.2.0",
+ "@babel/cli": "^7.23.4",
+ "@babel/core": "^7.23.7",
+ "@babel/plugin-proposal-decorators": "^7.23.7",
+ "@babel/preset-env": "^7.23.8",
+ "@babel/preset-react": "^7.23.3",
+ "@babel/preset-typescript": "^7.23.3",
+ "commander": "^5.1.0",
+ "gettext-parser": "^4.0.3",
+ "glob": "^7.1.6",
+ "lodash.mergewith": "^4.6.2"
+ },
+ "bin": {
+ "wp-babel-makepot": "cli.js"
+ }
+ },
+ "node_modules/@automattic/wp-babel-makepot/node_modules/commander": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@automattic/wp-babel-makepot/node_modules/gettext-parser": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^1.0.4",
+ "encoding": "^0.1.13",
+ "readable-stream": "^3.6.0",
+ "safe-buffer": "^5.2.1"
+ }
+ },
+ "node_modules/@automattic/wp-babel-makepot/node_modules/safe-buffer": {
"version": "5.2.1",
"dev": true,
"funding": [
@@ -399,12 +775,10 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
- "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
+ "version": "7.27.1",
"license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.28.5",
+ "@babel/helper-validator-identifier": "^7.27.1",
"js-tokens": "^4.0.0",
"picocolors": "^1.1.1"
},
@@ -413,9 +787,7 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
- "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
+ "version": "7.28.4",
"dev": true,
"license": "MIT",
"engines": {
@@ -423,21 +795,19 @@
}
},
"node_modules/@babel/core": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
- "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
+ "version": "7.28.5",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.29.0",
- "@babel/generator": "^7.29.0",
- "@babel/helper-compilation-targets": "^7.28.6",
- "@babel/helper-module-transforms": "^7.28.6",
- "@babel/helpers": "^7.28.6",
- "@babel/parser": "^7.29.0",
- "@babel/template": "^7.28.6",
- "@babel/traverse": "^7.29.0",
- "@babel/types": "^7.29.0",
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.5",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.28.3",
+ "@babel/helpers": "^7.28.4",
+ "@babel/parser": "^7.28.5",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.5",
+ "@babel/types": "^7.28.5",
"@jridgewell/remapping": "^2.3.5",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
@@ -462,13 +832,11 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.29.1",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
- "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
+ "version": "7.28.5",
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.29.0",
- "@babel/types": "^7.29.0",
+ "@babel/parser": "^7.28.5",
+ "@babel/types": "^7.28.5",
"@jridgewell/gen-mapping": "^0.3.12",
"@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
@@ -489,13 +857,11 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
- "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
+ "version": "7.27.2",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.28.6",
+ "@babel/compat-data": "^7.27.2",
"@babel/helper-validator-option": "^7.27.1",
"browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
@@ -600,28 +966,24 @@
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
- "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
+ "version": "7.27.1",
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.28.6",
- "@babel/types": "^7.28.6"
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
- "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
+ "version": "7.28.3",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.28.6",
- "@babel/helper-validator-identifier": "^7.28.5",
- "@babel/traverse": "^7.28.6"
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.28.3"
},
"engines": {
"node": ">=6.9.0"
@@ -729,26 +1091,22 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz",
- "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
+ "version": "7.28.4",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/template": "^7.28.6",
- "@babel/types": "^7.28.6"
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
- "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
+ "version": "7.28.5",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.29.0"
+ "@babel/types": "^7.28.5"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -1943,31 +2301,27 @@
}
},
"node_modules/@babel/template": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
- "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
+ "version": "7.27.2",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.28.6",
- "@babel/parser": "^7.28.6",
- "@babel/types": "^7.28.6"
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
- "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
+ "version": "7.28.5",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.29.0",
- "@babel/generator": "^7.29.0",
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.5",
"@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.29.0",
- "@babel/template": "^7.28.6",
- "@babel/types": "^7.29.0",
+ "@babel/parser": "^7.28.5",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.5",
"debug": "^4.3.1"
},
"engines": {
@@ -1975,9 +2329,7 @@
}
},
"node_modules/@babel/types": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
- "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
+ "version": "7.28.5",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
@@ -3612,9 +3964,9 @@
"license": "MIT"
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz",
+ "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
"cpu": [
"ppc64"
],
@@ -3625,13 +3977,13 @@
"aix"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz",
+ "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
"cpu": [
"arm"
],
@@ -3642,13 +3994,13 @@
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz",
+ "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
"cpu": [
"arm64"
],
@@ -3659,13 +4011,13 @@
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz",
+ "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
"cpu": [
"x64"
],
@@ -3676,7 +4028,7 @@
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/darwin-arm64": {
@@ -3695,9 +4047,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz",
+ "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
"cpu": [
"x64"
],
@@ -3708,13 +4060,13 @@
"darwin"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz",
+ "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
"cpu": [
"arm64"
],
@@ -3725,13 +4077,13 @@
"freebsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz",
+ "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
"cpu": [
"x64"
],
@@ -3742,13 +4094,13 @@
"freebsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz",
+ "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
"cpu": [
"arm"
],
@@ -3759,13 +4111,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz",
+ "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
"cpu": [
"arm64"
],
@@ -3776,13 +4128,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz",
+ "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
"cpu": [
"ia32"
],
@@ -3793,13 +4145,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz",
+ "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
"cpu": [
"loong64"
],
@@ -3810,13 +4162,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz",
+ "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
"cpu": [
"mips64el"
],
@@ -3827,13 +4179,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz",
+ "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
"cpu": [
"ppc64"
],
@@ -3844,13 +4196,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz",
+ "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
"cpu": [
"riscv64"
],
@@ -3861,13 +4213,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz",
+ "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
"cpu": [
"s390x"
],
@@ -3878,13 +4230,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz",
+ "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
"cpu": [
"x64"
],
@@ -3895,13 +4247,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
- "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz",
+ "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
"cpu": [
"arm64"
],
@@ -3916,9 +4268,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz",
+ "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
"cpu": [
"x64"
],
@@ -3929,13 +4281,13 @@
"netbsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
- "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz",
+ "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
"cpu": [
"arm64"
],
@@ -3950,9 +4302,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz",
+ "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
"cpu": [
"x64"
],
@@ -3963,7 +4315,7 @@
"openbsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/openharmony-arm64": {
@@ -3984,9 +4336,9 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz",
+ "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
"cpu": [
"x64"
],
@@ -3997,13 +4349,13 @@
"sunos"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz",
+ "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
"cpu": [
"arm64"
],
@@ -4014,13 +4366,13 @@
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz",
+ "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
"cpu": [
"ia32"
],
@@ -4031,13 +4383,13 @@
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz",
+ "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
"cpu": [
"x64"
],
@@ -4048,7 +4400,7 @@
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@eslint-community/eslint-utils": {
@@ -4644,7 +4996,9 @@
}
},
"node_modules/@isaacs/brace-expansion": {
- "version": "5.0.0",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz",
+ "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4656,6 +5010,8 @@
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -4671,7 +5027,9 @@
}
},
"node_modules/@isaacs/cliui/node_modules/ansi-styles": {
- "version": "6.2.1",
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4683,11 +5041,15 @@
},
"node_modules/@isaacs/cliui/node_modules/emoji-regex": {
"version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true,
"license": "MIT"
},
"node_modules/@isaacs/cliui/node_modules/string-width": {
"version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4704,6 +5066,8 @@
},
"node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
"version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4780,6 +5144,21 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@kwsites/file-exists": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
+ "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.1"
+ }
+ },
+ "node_modules/@kwsites/promise-deferred": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
+ "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
+ "license": "MIT"
+ },
"node_modules/@listr2/prompt-adapter-inquirer": {
"version": "2.0.22",
"dev": true,
@@ -4865,7 +5244,6 @@
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
- "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
@@ -4877,7 +5255,6 @@
},
"node_modules/@nodelib/fs.stat": {
"version": "2.0.5",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 8"
@@ -4885,7 +5262,6 @@
},
"node_modules/@nodelib/fs.walk": {
"version": "1.2.8",
- "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
@@ -4935,7 +5311,6 @@
},
"node_modules/@octokit/app": {
"version": "14.1.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/auth-app": "^6.0.0",
@@ -4952,7 +5327,6 @@
},
"node_modules/@octokit/auth-app": {
"version": "6.1.4",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/auth-oauth-app": "^7.1.0",
@@ -4971,12 +5345,10 @@
},
"node_modules/@octokit/auth-app/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/auth-app/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -4985,7 +5357,6 @@
"node_modules/@octokit/auth-app/node_modules/lru-cache": {
"name": "@wolfy1339/lru-cache",
"version": "11.0.2-patch.1",
- "dev": true,
"license": "ISC",
"engines": {
"node": "18 >=18.20 || 20 || >=22"
@@ -4993,7 +5364,6 @@
},
"node_modules/@octokit/auth-oauth-app": {
"version": "7.1.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/auth-oauth-device": "^6.1.0",
@@ -5010,12 +5380,10 @@
},
"node_modules/@octokit/auth-oauth-app/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/auth-oauth-app/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5023,7 +5391,6 @@
},
"node_modules/@octokit/auth-oauth-device": {
"version": "6.1.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/oauth-methods": "^4.1.0",
@@ -5037,12 +5404,10 @@
},
"node_modules/@octokit/auth-oauth-device/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/auth-oauth-device/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5050,7 +5415,6 @@
},
"node_modules/@octokit/auth-oauth-user": {
"version": "4.1.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/auth-oauth-device": "^6.1.0",
@@ -5066,12 +5430,10 @@
},
"node_modules/@octokit/auth-oauth-user/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/auth-oauth-user/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5079,7 +5441,6 @@
},
"node_modules/@octokit/auth-token": {
"version": "4.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 18"
@@ -5087,7 +5448,6 @@
},
"node_modules/@octokit/auth-unauthenticated": {
"version": "5.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/request-error": "^5.0.0",
@@ -5099,7 +5459,6 @@
},
"node_modules/@octokit/core": {
"version": "5.2.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/auth-token": "^4.0.0",
@@ -5116,12 +5475,10 @@
},
"node_modules/@octokit/core/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/core/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5129,7 +5486,6 @@
},
"node_modules/@octokit/endpoint": {
"version": "9.0.6",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/types": "^13.1.0",
@@ -5141,12 +5497,10 @@
},
"node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/endpoint/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5154,7 +5508,6 @@
},
"node_modules/@octokit/graphql": {
"version": "7.1.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/request": "^8.4.1",
@@ -5167,12 +5520,10 @@
},
"node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/graphql/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5180,7 +5531,6 @@
},
"node_modules/@octokit/oauth-app": {
"version": "6.1.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/auth-oauth-app": "^7.0.0",
@@ -5198,7 +5548,6 @@
},
"node_modules/@octokit/oauth-authorization-url": {
"version": "6.0.2",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 18"
@@ -5206,7 +5555,6 @@
},
"node_modules/@octokit/oauth-methods": {
"version": "4.1.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/oauth-authorization-url": "^6.0.2",
@@ -5221,12 +5569,10 @@
},
"node_modules/@octokit/oauth-methods/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/oauth-methods/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5234,12 +5580,10 @@
},
"node_modules/@octokit/openapi-types": {
"version": "20.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/plugin-paginate-graphql": {
"version": "4.0.1",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 18"
@@ -5250,7 +5594,6 @@
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "9.2.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/types": "^12.6.0"
@@ -5264,7 +5607,6 @@
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "10.4.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/types": "^12.6.0"
@@ -5278,7 +5620,6 @@
},
"node_modules/@octokit/plugin-retry": {
"version": "6.1.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/request-error": "^5.0.0",
@@ -5294,12 +5635,10 @@
},
"node_modules/@octokit/plugin-retry/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/plugin-retry/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5307,7 +5646,6 @@
},
"node_modules/@octokit/plugin-throttling": {
"version": "8.2.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/types": "^12.2.0",
@@ -5322,7 +5660,6 @@
},
"node_modules/@octokit/request": {
"version": "8.4.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/endpoint": "^9.0.6",
@@ -5336,7 +5673,6 @@
},
"node_modules/@octokit/request-error": {
"version": "5.1.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/types": "^13.1.0",
@@ -5349,12 +5685,10 @@
},
"node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/request-error/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5362,12 +5696,10 @@
},
"node_modules/@octokit/request/node_modules/@octokit/openapi-types": {
"version": "24.2.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@octokit/request/node_modules/@octokit/types": {
"version": "13.10.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^24.2.0"
@@ -5375,7 +5707,6 @@
},
"node_modules/@octokit/types": {
"version": "12.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^20.0.0"
@@ -5383,7 +5714,6 @@
},
"node_modules/@octokit/webhooks": {
"version": "12.3.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/request-error": "^5.0.0",
@@ -5397,7 +5727,6 @@
},
"node_modules/@octokit/webhooks-methods": {
"version": "4.1.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 18"
@@ -5405,7 +5734,6 @@
},
"node_modules/@octokit/webhooks-types": {
"version": "7.6.1",
- "dev": true,
"license": "MIT"
},
"node_modules/@opentelemetry/api": {
@@ -5882,7 +6210,6 @@
},
"node_modules/@peculiar/asn1-cms": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.6.0",
@@ -5894,7 +6221,6 @@
},
"node_modules/@peculiar/asn1-csr": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.6.0",
@@ -5905,7 +6231,6 @@
},
"node_modules/@peculiar/asn1-ecc": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.6.0",
@@ -5916,7 +6241,6 @@
},
"node_modules/@peculiar/asn1-pfx": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-cms": "^2.6.0",
@@ -5929,7 +6253,6 @@
},
"node_modules/@peculiar/asn1-pkcs8": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.6.0",
@@ -5940,7 +6263,6 @@
},
"node_modules/@peculiar/asn1-pkcs9": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-cms": "^2.6.0",
@@ -5955,7 +6277,6 @@
},
"node_modules/@peculiar/asn1-rsa": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.6.0",
@@ -5966,7 +6287,6 @@
},
"node_modules/@peculiar/asn1-schema": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"asn1js": "^3.0.6",
@@ -5976,7 +6296,6 @@
},
"node_modules/@peculiar/asn1-x509": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.6.0",
@@ -5987,7 +6306,6 @@
},
"node_modules/@peculiar/asn1-x509-attr": {
"version": "2.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.6.0",
@@ -5998,7 +6316,6 @@
},
"node_modules/@peculiar/x509": {
"version": "1.14.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@peculiar/asn1-cms": "^2.6.0",
@@ -6017,9 +6334,25 @@
"node": ">=20.0.0"
}
},
+ "node_modules/@php-wasm/cli-util": {
+ "version": "3.0.46",
+ "resolved": "https://registry.npmjs.org/@php-wasm/cli-util/-/cli-util-3.0.46.tgz",
+ "integrity": "sha512-FL9O1/B6x4rfoGI1yVFdEWaIfkKf+0TC91B188VOGAkZ12kASPktUwaS3xLKIFDXI3rysvv2afuoZx7/IoP4hg==",
+ "license": "GPL-2.0-or-later",
+ "dependencies": {
+ "fast-xml-parser": "5.3.0",
+ "jsonc-parser": "3.3.1"
+ },
+ "engines": {
+ "node": ">=20.18.3",
+ "npm": ">=10.1.0"
+ },
+ "optionalDependencies": {
+ "fs-ext": "2.1.1"
+ }
+ },
"node_modules/@php-wasm/fs-journal": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/logger": "3.0.46",
@@ -6042,7 +6375,6 @@
},
"node_modules/@php-wasm/fs-journal/node_modules/cliui": {
"version": "8.0.1",
- "dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
@@ -6055,7 +6387,6 @@
},
"node_modules/@php-wasm/fs-journal/node_modules/debug": {
"version": "2.6.9",
- "dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -6063,7 +6394,6 @@
},
"node_modules/@php-wasm/fs-journal/node_modules/encodeurl": {
"version": "2.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -6071,7 +6401,6 @@
},
"node_modules/@php-wasm/fs-journal/node_modules/express": {
"version": "4.22.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
@@ -6116,7 +6445,6 @@
},
"node_modules/@php-wasm/fs-journal/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6124,12 +6452,10 @@
},
"node_modules/@php-wasm/fs-journal/node_modules/ms": {
"version": "2.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@php-wasm/fs-journal/node_modules/safe-buffer": {
"version": "5.2.1",
- "dev": true,
"funding": [
{
"type": "github",
@@ -6148,7 +6474,6 @@
},
"node_modules/@php-wasm/fs-journal/node_modules/strip-ansi": {
"version": "6.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -6159,7 +6484,6 @@
},
"node_modules/@php-wasm/fs-journal/node_modules/yargs": {
"version": "17.7.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
@@ -6176,7 +6500,6 @@
},
"node_modules/@php-wasm/fs-journal/node_modules/yargs-parser": {
"version": "21.1.1",
- "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -6184,7 +6507,6 @@
},
"node_modules/@php-wasm/logger": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/node-polyfills": "3.0.46"
@@ -6199,7 +6521,6 @@
},
"node_modules/@php-wasm/node": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/logger": "3.0.46",
@@ -6230,7 +6551,6 @@
},
"node_modules/@php-wasm/node-7-4": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6248,7 +6568,6 @@
},
"node_modules/@php-wasm/node-7-4/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6256,7 +6575,6 @@
},
"node_modules/@php-wasm/node-8-0": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6274,7 +6592,6 @@
},
"node_modules/@php-wasm/node-8-0/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6282,7 +6599,6 @@
},
"node_modules/@php-wasm/node-8-1": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6300,7 +6616,6 @@
},
"node_modules/@php-wasm/node-8-1/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6308,7 +6623,6 @@
},
"node_modules/@php-wasm/node-8-2": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6326,7 +6640,6 @@
},
"node_modules/@php-wasm/node-8-2/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6334,7 +6647,6 @@
},
"node_modules/@php-wasm/node-8-3": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6352,7 +6664,6 @@
},
"node_modules/@php-wasm/node-8-3/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6360,7 +6671,6 @@
},
"node_modules/@php-wasm/node-8-4": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6378,7 +6688,6 @@
},
"node_modules/@php-wasm/node-8-4/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6386,7 +6695,6 @@
},
"node_modules/@php-wasm/node-8-5": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6404,7 +6712,6 @@
},
"node_modules/@php-wasm/node-8-5/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6412,7 +6719,6 @@
},
"node_modules/@php-wasm/node-polyfills": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"optionalDependencies": {
"fs-ext": "2.1.1"
@@ -6420,7 +6726,6 @@
},
"node_modules/@php-wasm/node/node_modules/cliui": {
"version": "8.0.1",
- "dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
@@ -6433,7 +6738,6 @@
},
"node_modules/@php-wasm/node/node_modules/debug": {
"version": "2.6.9",
- "dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -6441,7 +6745,6 @@
},
"node_modules/@php-wasm/node/node_modules/encodeurl": {
"version": "2.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -6449,7 +6752,6 @@
},
"node_modules/@php-wasm/node/node_modules/express": {
"version": "4.22.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
@@ -6494,7 +6796,6 @@
},
"node_modules/@php-wasm/node/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6502,12 +6803,10 @@
},
"node_modules/@php-wasm/node/node_modules/ms": {
"version": "2.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@php-wasm/node/node_modules/safe-buffer": {
"version": "5.2.1",
- "dev": true,
"funding": [
{
"type": "github",
@@ -6526,7 +6825,6 @@
},
"node_modules/@php-wasm/node/node_modules/strip-ansi": {
"version": "6.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -6537,7 +6835,6 @@
},
"node_modules/@php-wasm/node/node_modules/yargs": {
"version": "17.7.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
@@ -6554,7 +6851,6 @@
},
"node_modules/@php-wasm/node/node_modules/yargs-parser": {
"version": "21.1.1",
- "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -6562,7 +6858,6 @@
},
"node_modules/@php-wasm/progress": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/logger": "3.0.46",
@@ -6578,7 +6873,6 @@
},
"node_modules/@php-wasm/scopes": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=20.18.3",
@@ -6590,7 +6884,6 @@
},
"node_modules/@php-wasm/stream-compression": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/node-polyfills": "3.0.46",
@@ -6602,7 +6895,6 @@
},
"node_modules/@php-wasm/universal": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/logger": "3.0.46",
@@ -6622,7 +6914,6 @@
},
"node_modules/@php-wasm/universal/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6630,7 +6921,6 @@
},
"node_modules/@php-wasm/util": {
"version": "3.0.46",
- "dev": true,
"engines": {
"node": ">=20.18.3",
"npm": ">=10.1.0"
@@ -6641,7 +6931,6 @@
},
"node_modules/@php-wasm/web": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/fs-journal": "3.0.46",
@@ -6674,7 +6963,6 @@
},
"node_modules/@php-wasm/web-7-4": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6691,7 +6979,6 @@
},
"node_modules/@php-wasm/web-7-4/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6699,7 +6986,6 @@
},
"node_modules/@php-wasm/web-8-0": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6716,7 +7002,6 @@
},
"node_modules/@php-wasm/web-8-0/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6724,7 +7009,6 @@
},
"node_modules/@php-wasm/web-8-1": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6741,7 +7025,6 @@
},
"node_modules/@php-wasm/web-8-1/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6749,7 +7032,6 @@
},
"node_modules/@php-wasm/web-8-2": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6766,7 +7048,6 @@
},
"node_modules/@php-wasm/web-8-2/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6774,7 +7055,6 @@
},
"node_modules/@php-wasm/web-8-3": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6791,7 +7071,6 @@
},
"node_modules/@php-wasm/web-8-3/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6799,7 +7078,6 @@
},
"node_modules/@php-wasm/web-8-4": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6816,7 +7094,6 @@
},
"node_modules/@php-wasm/web-8-4/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6824,7 +7101,6 @@
},
"node_modules/@php-wasm/web-8-5": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -6841,7 +7117,6 @@
},
"node_modules/@php-wasm/web-8-5/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6849,7 +7124,6 @@
},
"node_modules/@php-wasm/web-service-worker": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/scopes": "3.0.46"
@@ -6864,7 +7138,6 @@
},
"node_modules/@php-wasm/web/node_modules/cliui": {
"version": "8.0.1",
- "dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
@@ -6877,7 +7150,6 @@
},
"node_modules/@php-wasm/web/node_modules/debug": {
"version": "2.6.9",
- "dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -6885,7 +7157,6 @@
},
"node_modules/@php-wasm/web/node_modules/encodeurl": {
"version": "2.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -6893,7 +7164,6 @@
},
"node_modules/@php-wasm/web/node_modules/express": {
"version": "4.22.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
@@ -6938,7 +7208,6 @@
},
"node_modules/@php-wasm/web/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6946,12 +7215,10 @@
},
"node_modules/@php-wasm/web/node_modules/ms": {
"version": "2.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@php-wasm/web/node_modules/safe-buffer": {
"version": "5.2.1",
- "dev": true,
"funding": [
{
"type": "github",
@@ -6970,7 +7237,6 @@
},
"node_modules/@php-wasm/web/node_modules/strip-ansi": {
"version": "6.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -6981,7 +7247,6 @@
},
"node_modules/@php-wasm/web/node_modules/yargs": {
"version": "17.7.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
@@ -6998,66 +7263,553 @@
},
"node_modules/@php-wasm/web/node_modules/yargs-parser": {
"version": "21.1.1",
- "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
}
},
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@pkgr/core": {
- "version": "0.2.9",
- "dev": true,
- "license": "MIT",
+ "node_modules/@php-wasm/xdebug-bridge": {
+ "version": "3.0.46",
+ "resolved": "https://registry.npmjs.org/@php-wasm/xdebug-bridge/-/xdebug-bridge-3.0.46.tgz",
+ "integrity": "sha512-0KSeyQN/JMOCQsbu+W51LkmmW9UhVIkDf+qsginj8fQPOhX3iJSwaQR6x/utMz6wMcEDrktRIUZ8X9x0f7aOlg==",
+ "license": "GPL-2.0-or-later",
+ "dependencies": {
+ "@php-wasm/logger": "3.0.46",
+ "@php-wasm/node": "3.0.46",
+ "@php-wasm/universal": "3.0.46",
+ "@wp-playground/common": "3.0.46",
+ "express": "4.22.0",
+ "ini": "4.1.2",
+ "wasm-feature-detect": "1.8.0",
+ "ws": "8.18.3",
+ "xml2js": "0.6.2",
+ "yargs": "17.7.2"
+ },
+ "bin": {
+ "xdebug-bridge": "xdebug-bridge.js"
+ },
"engines": {
- "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ "node": ">=20.18.3",
+ "npm": ">=10.1.0"
},
- "funding": {
- "url": "https://opencollective.com/pkgr"
+ "optionalDependencies": {
+ "fs-ext": "2.1.1"
}
},
- "node_modules/@playwright/test": {
- "version": "1.58.1",
- "dev": true,
- "license": "Apache-2.0",
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "license": "ISC",
"dependencies": {
- "playwright": "1.58.1"
- },
- "bin": {
- "playwright": "cli.js"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
},
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@polka/url": {
- "version": "1.0.0-next.29",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@prisma/instrumentation": {
- "version": "6.11.1",
- "license": "Apache-2.0",
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "license": "MIT",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": "^1.8"
+ "ms": "2.0.0"
}
},
- "node_modules/@reduxjs/toolkit": {
- "version": "2.11.2",
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/express": {
+ "version": "4.22.0",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.22.0.tgz",
+ "integrity": "sha512-c2iPh3xp5vvCLgaHK03+mWLFPhox7j1LwyxcZwFVApEv5i0X+IjPpbT50SJJwwLpdBVfp45AkK/v+AFgv/XlfQ==",
"license": "MIT",
"dependencies": {
- "@standard-schema/spec": "^1.0.0",
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "~1.20.3",
+ "content-disposition": "~0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "~0.7.1",
+ "cookie-signature": "~1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.3.1",
+ "fresh": "~0.5.2",
+ "http-errors": "~2.0.0",
+ "merge-descriptors": "1.0.3",
+ "methods": "~1.1.2",
+ "on-finished": "~2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "~0.1.12",
+ "proxy-addr": "~2.0.7",
+ "qs": "~6.14.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "~0.19.0",
+ "serve-static": "~1.16.2",
+ "setprototypeof": "1.2.0",
+ "statuses": "~2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/ini": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
+ "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "license": "MIT"
+ },
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@php-wasm/xdebug-bridge/node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@pkgr/core": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
+ "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/pkgr"
+ }
+ },
+ "node_modules/@playwright/test": {
+ "version": "1.58.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "playwright": "1.58.1"
+ },
+ "bin": {
+ "playwright": "cli.js"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@pm2/agent": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@pm2/agent/-/agent-2.1.1.tgz",
+ "integrity": "sha512-0V9ckHWd/HSC8BgAbZSoq8KXUG81X97nSkAxmhKDhmF8vanyaoc1YXwc2KVkbWz82Rg4gjd2n9qiT3i7bdvGrQ==",
+ "license": "AGPL-3.0",
+ "dependencies": {
+ "async": "~3.2.0",
+ "chalk": "~3.0.0",
+ "dayjs": "~1.8.24",
+ "debug": "~4.3.1",
+ "eventemitter2": "~5.0.1",
+ "fast-json-patch": "^3.1.0",
+ "fclone": "~1.0.11",
+ "pm2-axon": "~4.0.1",
+ "pm2-axon-rpc": "~0.7.0",
+ "proxy-agent": "~6.4.0",
+ "semver": "~7.5.0",
+ "ws": "~7.5.10"
+ }
+ },
+ "node_modules/@pm2/agent/node_modules/chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@pm2/agent/node_modules/dayjs": {
+ "version": "1.8.36",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.36.tgz",
+ "integrity": "sha512-3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw==",
+ "license": "MIT"
+ },
+ "node_modules/@pm2/agent/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@pm2/agent/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@pm2/agent/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@pm2/agent/node_modules/ws": {
+ "version": "7.5.10",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+ "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@pm2/agent/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "license": "ISC"
+ },
+ "node_modules/@pm2/blessed": {
+ "version": "0.1.81",
+ "resolved": "https://registry.npmjs.org/@pm2/blessed/-/blessed-0.1.81.tgz",
+ "integrity": "sha512-ZcNHqQjMuNRcQ7Z1zJbFIQZO/BDKV3KbiTckWdfbUaYhj7uNmUwb+FbdDWSCkvxNr9dBJQwvV17o6QBkAvgO0g==",
+ "license": "MIT",
+ "bin": {
+ "blessed": "bin/tput.js"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/@pm2/io": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@pm2/io/-/io-6.1.0.tgz",
+ "integrity": "sha512-IxHuYURa3+FQ6BKePlgChZkqABUKFYH6Bwbw7V/pWU1pP6iR1sCI26l7P9ThUEB385ruZn/tZS3CXDUF5IA1NQ==",
+ "license": "Apache-2",
+ "dependencies": {
+ "async": "~2.6.1",
+ "debug": "~4.3.1",
+ "eventemitter2": "^6.3.1",
+ "require-in-the-middle": "^5.0.0",
+ "semver": "~7.5.4",
+ "shimmer": "^1.2.0",
+ "signal-exit": "^3.0.3",
+ "tslib": "1.9.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/@pm2/io/node_modules/async": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "node_modules/@pm2/io/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@pm2/io/node_modules/eventemitter2": {
+ "version": "6.4.9",
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz",
+ "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==",
+ "license": "MIT"
+ },
+ "node_modules/@pm2/io/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@pm2/io/node_modules/require-in-the-middle": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.2.0.tgz",
+ "integrity": "sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "module-details-from-path": "^1.0.3",
+ "resolve": "^1.22.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@pm2/io/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@pm2/io/node_modules/tslib": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
+ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@pm2/io/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "license": "ISC"
+ },
+ "node_modules/@pm2/js-api": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@pm2/js-api/-/js-api-0.8.0.tgz",
+ "integrity": "sha512-nmWzrA/BQZik3VBz+npRcNIu01kdBhWL0mxKmP1ciF/gTcujPTQqt027N9fc1pK9ERM8RipFhymw7RcmCyOEYA==",
+ "license": "Apache-2",
+ "dependencies": {
+ "async": "^2.6.3",
+ "debug": "~4.3.1",
+ "eventemitter2": "^6.3.1",
+ "extrareqp2": "^1.0.0",
+ "ws": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/@pm2/js-api/node_modules/async": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "node_modules/@pm2/js-api/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@pm2/js-api/node_modules/eventemitter2": {
+ "version": "6.4.9",
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz",
+ "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==",
+ "license": "MIT"
+ },
+ "node_modules/@pm2/js-api/node_modules/ws": {
+ "version": "7.5.10",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+ "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@pm2/pm2-version-check": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@pm2/pm2-version-check/-/pm2-version-check-1.0.4.tgz",
+ "integrity": "sha512-SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.1"
+ }
+ },
+ "node_modules/@polka/url": {
+ "version": "1.0.0-next.29",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@prisma/instrumentation": {
+ "version": "6.11.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/instrumentation": "^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": "^1.8"
+ }
+ },
+ "node_modules/@reduxjs/toolkit": {
+ "version": "2.11.2",
+ "license": "MIT",
+ "dependencies": {
+ "@standard-schema/spec": "^1.0.0",
"@standard-schema/utils": "^0.3.0",
"immer": "^11.0.0",
"redux": "^5.0.1",
@@ -7091,13 +7843,6 @@
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@rolldown/pluginutils": {
- "version": "1.0.0-rc.3",
- "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz",
- "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@rollup/plugin-virtual": {
"version": "3.0.2",
"dev": true,
@@ -7442,7 +8187,6 @@
},
"node_modules/@sentry-internal/replay-canvas": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/core": "7.120.3",
@@ -7456,7 +8200,6 @@
},
"node_modules/@sentry-internal/replay-canvas/node_modules/@sentry-internal/tracing": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/core": "7.120.3",
@@ -7469,7 +8212,6 @@
},
"node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/core": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/types": "7.120.3",
@@ -7481,7 +8223,6 @@
},
"node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/replay": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry-internal/tracing": "7.120.3",
@@ -7495,7 +8236,6 @@
},
"node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/types": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -7503,7 +8243,6 @@
},
"node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/utils": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/types": "7.120.3"
@@ -7651,135 +8390,6 @@
"node": ">=10"
}
},
- "node_modules/@sentry/cli-linux-arm": {
- "version": "2.54.0",
- "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.54.0.tgz",
- "integrity": "sha512-Brx/MsIBXmMuP/rRZos8pMxW5mSZoYmR0tDO483RR9hfE6PnyxhvNOTkLLm6fMd3pGmiG4sr25jYeYQglhIpRA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "os": [
- "linux",
- "freebsd",
- "android"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@sentry/cli-linux-arm64": {
- "version": "2.54.0",
- "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.54.0.tgz",
- "integrity": "sha512-ocE6gBD2GiMH8Vm0OdlD8tz9eq4uiTmG2Nb0sQshcTDZ7DkOGEmtbg2Je2F1Eug6wR/zQWzD/t0bMUm6L0X0Rg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "os": [
- "linux",
- "freebsd",
- "android"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@sentry/cli-linux-i686": {
- "version": "2.54.0",
- "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.54.0.tgz",
- "integrity": "sha512-GZyLbZjDX8e635O8iVbzkHs9KGUo5UK0PGbTsjxlKHNgWAf1SY+y+wtWLrF46AhxUveeV/ydEUOJJjcDgXW3+g==",
- "cpu": [
- "x86",
- "ia32"
- ],
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "os": [
- "linux",
- "freebsd",
- "android"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@sentry/cli-linux-x64": {
- "version": "2.54.0",
- "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.54.0.tgz",
- "integrity": "sha512-NyTM6dp+/cFiULUTGlxlaa83pL+FdWHwPE5IkQ6EiqpsO0auacVwWJIIvj4EbFS7XQ8bgjUA3Rf83lZeI+ZPvQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "os": [
- "linux",
- "freebsd",
- "android"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@sentry/cli-win32-arm64": {
- "version": "2.54.0",
- "resolved": "https://registry.npmjs.org/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.54.0.tgz",
- "integrity": "sha512-oVsdo7yWAokGtnl2cbuxvPv3Pu3ge8n9Oyp+iNT1S98XJ/QtRGT8L2ZClNllzEeVFFoZWlK7RVT5xh7OI4ge/w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@sentry/cli-win32-i686": {
- "version": "2.54.0",
- "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.54.0.tgz",
- "integrity": "sha512-YvBUq5ky80j2fulllft6ZCtLslwrNc5s8dXV7Jr7IUUmTcVcvkOdgWwAsGRjTmZxXZbfaRaYE2fEvfFwjmciTA==",
- "cpu": [
- "x86",
- "ia32"
- ],
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@sentry/cli-win32-x64": {
- "version": "2.54.0",
- "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.54.0.tgz",
- "integrity": "sha512-Jn5abpRrbdcQrec+8QTgGdX8wxTdQr4bm81I/suJ3bXpID+fsiAnp+yclKlq8LWlj5q7uATnGJ4QpajDT9qBRQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@sentry/core": {
"version": "9.46.0",
"license": "MIT",
@@ -7908,7 +8518,6 @@
},
"node_modules/@sentry/react": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/browser": "7.120.3",
@@ -7926,7 +8535,6 @@
},
"node_modules/@sentry/react/node_modules/@sentry-internal/feedback": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/core": "7.120.3",
@@ -7939,7 +8547,6 @@
},
"node_modules/@sentry/react/node_modules/@sentry-internal/tracing": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/core": "7.120.3",
@@ -7952,7 +8559,6 @@
},
"node_modules/@sentry/react/node_modules/@sentry/browser": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry-internal/feedback": "7.120.3",
@@ -7970,7 +8576,6 @@
},
"node_modules/@sentry/react/node_modules/@sentry/core": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/types": "7.120.3",
@@ -7982,7 +8587,6 @@
},
"node_modules/@sentry/react/node_modules/@sentry/integrations": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/core": "7.120.3",
@@ -7996,7 +8600,6 @@
},
"node_modules/@sentry/react/node_modules/@sentry/replay": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry-internal/tracing": "7.120.3",
@@ -8010,7 +8613,6 @@
},
"node_modules/@sentry/react/node_modules/@sentry/types": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -8018,7 +8620,6 @@
},
"node_modules/@sentry/react/node_modules/@sentry/utils": {
"version": "7.120.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"@sentry/types": "7.120.3"
@@ -8039,6 +8640,86 @@
"node": ">= 14"
}
},
+ "node_modules/@sindresorhus/df": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-3.1.1.tgz",
+ "integrity": "sha512-SME/vtXaJcnQ/HpeV6P82Egy+jThn11IKfwW8+/XVoRD0rmPHVTeKMtww1oWdVnMykzVPjmrDN9S8NBndPEHCQ==",
+ "license": "MIT",
+ "dependencies": {
+ "execa": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@sindresorhus/df/node_modules/execa": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz",
+ "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==",
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^3.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": "^8.12.0 || >=9.7.0"
+ }
+ },
+ "node_modules/@sindresorhus/df/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "license": "MIT",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@sindresorhus/df/node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@sindresorhus/df/node_modules/npm-run-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz",
+ "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@sindresorhus/df/node_modules/p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@sindresorhus/is": {
"version": "4.6.0",
"dev": true,
@@ -8050,6 +8731,18 @@
"url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
+ "node_modules/@sindresorhus/merge-streams": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
+ "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@standard-schema/spec": {
"version": "1.0.0",
"license": "MIT"
@@ -8058,6 +8751,19 @@
"version": "0.3.0",
"license": "MIT"
},
+ "node_modules/@stroncium/procfs": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@stroncium/procfs/-/procfs-1.2.1.tgz",
+ "integrity": "sha512-X1Iui3FUNZP18EUvysTHxt+Avu2nlVzyf90YM8OYgP6SGzTzzX/0JgObfO1AQQDzuZtNNz29bVh8h5R97JrjxA==",
+ "license": "CC0-1.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@studio/common": {
+ "resolved": "tools/common",
+ "link": true
+ },
"node_modules/@swc/core": {
"version": "1.13.5",
"devOptional": true,
@@ -8397,6 +9103,12 @@
"node": ">= 10"
}
},
+ "node_modules/@tootallnate/quickjs-emscripten": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
+ "license": "MIT"
+ },
"node_modules/@tsconfig/node10": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz",
@@ -8451,7 +9163,6 @@
},
"node_modules/@types/aws-lambda": {
"version": "8.10.160",
- "dev": true,
"license": "MIT"
},
"node_modules/@types/babel__core": {
@@ -8493,7 +9204,6 @@
},
"node_modules/@types/btoa-lite": {
"version": "1.0.2",
- "dev": true,
"license": "MIT"
},
"node_modules/@types/cacheable-request": {
@@ -8560,6 +9270,8 @@
},
"node_modules/@types/fs-extra": {
"version": "11.0.4",
+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz",
+ "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8618,6 +9330,8 @@
},
"node_modules/@types/jsonfile": {
"version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz",
+ "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8626,7 +9340,6 @@
},
"node_modules/@types/jsonwebtoken": {
"version": "9.0.10",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/ms": "*",
@@ -8693,6 +9406,8 @@
},
"node_modules/@types/node-forge": {
"version": "1.3.14",
+ "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz",
+ "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9340,27 +10055,6 @@
"react": ">= 16.8.0"
}
},
- "node_modules/@vitejs/plugin-react": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.4.tgz",
- "integrity": "sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.29.0",
- "@babel/plugin-transform-react-jsx-self": "^7.27.1",
- "@babel/plugin-transform-react-jsx-source": "^7.27.1",
- "@rolldown/pluginutils": "1.0.0-rc.3",
- "@types/babel__core": "^7.20.5",
- "react-refresh": "^0.18.0"
- },
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- },
- "peerDependencies": {
- "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
- }
- },
"node_modules/@vitest/expect": {
"version": "2.1.9",
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz",
@@ -9702,7 +10396,9 @@
}
},
"node_modules/@wordpress/components/node_modules/path-to-regexp": {
- "version": "6.2.1",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
+ "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
"license": "MIT"
},
"node_modules/@wordpress/compose": {
@@ -9977,7 +10673,6 @@
"version": "4.39.0",
"resolved": "https://registry.npmjs.org/@wordpress/react-i18n/-/react-i18n-4.39.0.tgz",
"integrity": "sha512-HWtv+KgBbiWbqVIGdNOUXMjI+fW0/ZARfHXIKGJnKLOHza/a0paulRmtYV6JazcNXs1kWNGG4GVKycM5kdNsLA==",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/element": "^6.39.0",
@@ -10068,57 +10763,258 @@
"clsx": "^2.1.1"
},
"engines": {
- "node": ">=20.10.0",
- "npm": ">=10.2.3"
+ "node": ">=20.10.0",
+ "npm": ">=10.2.3"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ }
+ },
+ "node_modules/@wordpress/undo-manager": {
+ "version": "1.39.0",
+ "license": "GPL-2.0-or-later",
+ "dependencies": {
+ "@wordpress/is-shallow-equal": "^5.39.0"
+ },
+ "engines": {
+ "node": ">=18.12.0",
+ "npm": ">=8.19.2"
+ }
+ },
+ "node_modules/@wordpress/url": {
+ "version": "4.39.0",
+ "license": "GPL-2.0-or-later",
+ "dependencies": {
+ "remove-accents": "^0.5.0"
+ },
+ "engines": {
+ "node": ">=18.12.0",
+ "npm": ">=8.19.2"
+ }
+ },
+ "node_modules/@wordpress/warning": {
+ "version": "3.39.0",
+ "license": "GPL-2.0-or-later",
+ "engines": {
+ "node": ">=18.12.0",
+ "npm": ">=8.19.2"
+ }
+ },
+ "node_modules/@wp-playground/blueprints": {
+ "version": "3.0.46",
+ "resolved": "https://registry.npmjs.org/@wp-playground/blueprints/-/blueprints-3.0.46.tgz",
+ "integrity": "sha512-OPrvoCTvpvQXMp6lJWwWJttZmF6pIMO8iIzdJWfkuxcS8QE3aaLKgSz6lB5Fdu345erFR8GeUmkSim98pt5fMQ==",
+ "dependencies": {
+ "@php-wasm/logger": "3.0.46",
+ "@php-wasm/node": "3.0.46",
+ "@php-wasm/node-polyfills": "3.0.46",
+ "@php-wasm/progress": "3.0.46",
+ "@php-wasm/scopes": "3.0.46",
+ "@php-wasm/stream-compression": "3.0.46",
+ "@php-wasm/universal": "3.0.46",
+ "@php-wasm/util": "3.0.46",
+ "@php-wasm/web": "3.0.46",
+ "@wp-playground/common": "3.0.46",
+ "@wp-playground/storage": "3.0.46",
+ "@wp-playground/wordpress": "3.0.46",
+ "@zip.js/zip.js": "2.7.57",
+ "ajv": "8.12.0",
+ "async-lock": "1.4.1",
+ "clean-git-ref": "2.0.1",
+ "crc-32": "1.2.2",
+ "diff3": "0.0.4",
+ "express": "4.22.0",
+ "ignore": "5.3.2",
+ "ini": "4.1.2",
+ "minimisted": "2.0.1",
+ "octokit": "3.1.2",
+ "pako": "1.0.10",
+ "pify": "2.3.0",
+ "readable-stream": "3.6.2",
+ "selfsigned": "5.5.0",
+ "sha.js": "2.4.12",
+ "simple-get": "4.0.1",
+ "wasm-feature-detect": "1.8.0",
+ "ws": "8.18.3",
+ "yargs": "17.7.2"
+ },
+ "engines": {
+ "node": ">=20.18.3",
+ "npm": ">=10.1.0"
+ },
+ "optionalDependencies": {
+ "fs-ext": "2.1.1"
+ }
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/ajv": {
+ "version": "8.12.0",
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/cliui": {
+ "version": "8.0.1",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/express": {
+ "version": "4.22.0",
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "~1.20.3",
+ "content-disposition": "~0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "~0.7.1",
+ "cookie-signature": "~1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.3.1",
+ "fresh": "~0.5.2",
+ "http-errors": "~2.0.0",
+ "merge-descriptors": "1.0.3",
+ "methods": "~1.1.2",
+ "on-finished": "~2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "~0.1.12",
+ "proxy-addr": "~2.0.7",
+ "qs": "~6.14.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "~0.19.0",
+ "serve-static": "~1.16.2",
+ "setprototypeof": "1.2.0",
+ "statuses": "~2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
},
- "peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/@wordpress/undo-manager": {
- "version": "1.39.0",
- "license": "GPL-2.0-or-later",
+ "node_modules/@wp-playground/blueprints/node_modules/ini": {
+ "version": "4.1.2",
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/pako": {
+ "version": "1.0.10",
+ "license": "(MIT AND Zlib)"
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/@wp-playground/blueprints/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "license": "MIT",
"dependencies": {
- "@wordpress/is-shallow-equal": "^5.39.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
- "node": ">=18.12.0",
- "npm": ">=8.19.2"
+ "node": ">=8"
}
},
- "node_modules/@wordpress/url": {
- "version": "4.39.0",
- "license": "GPL-2.0-or-later",
+ "node_modules/@wp-playground/blueprints/node_modules/yargs": {
+ "version": "17.7.2",
+ "license": "MIT",
"dependencies": {
- "remove-accents": "^0.5.0"
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
},
"engines": {
- "node": ">=18.12.0",
- "npm": ">=8.19.2"
+ "node": ">=12"
}
},
- "node_modules/@wordpress/warning": {
- "version": "3.39.0",
- "license": "GPL-2.0-or-later",
+ "node_modules/@wp-playground/blueprints/node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "license": "ISC",
"engines": {
- "node": ">=18.12.0",
- "npm": ">=8.19.2"
+ "node": ">=12"
}
},
- "node_modules/@wp-playground/blueprints": {
+ "node_modules/@wp-playground/cli": {
"version": "3.0.46",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/@wp-playground/cli/-/cli-3.0.46.tgz",
+ "integrity": "sha512-jf7LoA7skprotXCQjTw6K6o3yfnBUxlEFqPP7C9iSRViTpgnQ1A7UiGz+2klt5vlVCfVGix9YspnW1OT5ReT4A==",
+ "license": "GPL-2.0-or-later",
"dependencies": {
+ "@php-wasm/cli-util": "3.0.46",
"@php-wasm/logger": "3.0.46",
"@php-wasm/node": "3.0.46",
- "@php-wasm/node-polyfills": "3.0.46",
"@php-wasm/progress": "3.0.46",
- "@php-wasm/scopes": "3.0.46",
- "@php-wasm/stream-compression": "3.0.46",
"@php-wasm/universal": "3.0.46",
"@php-wasm/util": "3.0.46",
- "@php-wasm/web": "3.0.46",
+ "@php-wasm/xdebug-bridge": "3.0.46",
+ "@wp-playground/blueprints": "3.0.46",
"@wp-playground/common": "3.0.46",
"@wp-playground/storage": "3.0.46",
"@wp-playground/wordpress": "3.0.46",
@@ -10129,31 +11025,37 @@
"crc-32": "1.2.2",
"diff3": "0.0.4",
"express": "4.22.0",
+ "fast-xml-parser": "5.3.0",
+ "fs-extra": "11.1.1",
"ignore": "5.3.2",
"ini": "4.1.2",
+ "jsonc-parser": "3.3.1",
"minimisted": "2.0.1",
"octokit": "3.1.2",
"pako": "1.0.10",
"pify": "2.3.0",
+ "ps-man": "1.1.8",
"readable-stream": "3.6.2",
"selfsigned": "5.5.0",
"sha.js": "2.4.12",
"simple-get": "4.0.1",
+ "tmp-promise": "3.0.3",
"wasm-feature-detect": "1.8.0",
"ws": "8.18.3",
+ "xml2js": "0.6.2",
"yargs": "17.7.2"
},
- "engines": {
- "node": ">=20.18.3",
- "npm": ">=10.1.0"
+ "bin": {
+ "wp-playground-cli": "wp-playground.js"
},
"optionalDependencies": {
"fs-ext": "2.1.1"
}
},
- "node_modules/@wp-playground/blueprints/node_modules/ajv": {
+ "node_modules/@wp-playground/cli/node_modules/ajv": {
"version": "8.12.0",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
@@ -10166,9 +11068,10 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/@wp-playground/blueprints/node_modules/cliui": {
+ "node_modules/@wp-playground/cli/node_modules/cliui": {
"version": "8.0.1",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
@@ -10179,25 +11082,28 @@
"node": ">=12"
}
},
- "node_modules/@wp-playground/blueprints/node_modules/debug": {
+ "node_modules/@wp-playground/cli/node_modules/debug": {
"version": "2.6.9",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
- "node_modules/@wp-playground/blueprints/node_modules/encodeurl": {
+ "node_modules/@wp-playground/cli/node_modules/encodeurl": {
"version": "2.0.0",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
- "node_modules/@wp-playground/blueprints/node_modules/express": {
+ "node_modules/@wp-playground/cli/node_modules/express": {
"version": "4.22.0",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/express/-/express-4.22.0.tgz",
+ "integrity": "sha512-c2iPh3xp5vvCLgaHK03+mWLFPhox7j1LwyxcZwFVApEv5i0X+IjPpbT50SJJwwLpdBVfp45AkK/v+AFgv/XlfQ==",
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
@@ -10240,32 +11146,51 @@
"url": "https://opencollective.com/express"
}
},
- "node_modules/@wp-playground/blueprints/node_modules/ini": {
+ "node_modules/@wp-playground/cli/node_modules/fs-extra": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
+ "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/@wp-playground/cli/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
+ "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/@wp-playground/blueprints/node_modules/json-schema-traverse": {
+ "node_modules/@wp-playground/cli/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"license": "MIT"
},
- "node_modules/@wp-playground/blueprints/node_modules/ms": {
+ "node_modules/@wp-playground/cli/node_modules/ms": {
"version": "2.0.0",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
- "node_modules/@wp-playground/blueprints/node_modules/pako": {
+ "node_modules/@wp-playground/cli/node_modules/pako": {
"version": "1.0.10",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
+ "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
"license": "(MIT AND Zlib)"
},
- "node_modules/@wp-playground/blueprints/node_modules/safe-buffer": {
+ "node_modules/@wp-playground/cli/node_modules/safe-buffer": {
"version": "5.2.1",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
@@ -10282,9 +11207,10 @@
],
"license": "MIT"
},
- "node_modules/@wp-playground/blueprints/node_modules/strip-ansi": {
+ "node_modules/@wp-playground/cli/node_modules/strip-ansi": {
"version": "6.0.1",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -10293,9 +11219,10 @@
"node": ">=8"
}
},
- "node_modules/@wp-playground/blueprints/node_modules/yargs": {
+ "node_modules/@wp-playground/cli/node_modules/yargs": {
"version": "17.7.2",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
@@ -10310,9 +11237,10 @@
"node": ">=12"
}
},
- "node_modules/@wp-playground/blueprints/node_modules/yargs-parser": {
+ "node_modules/@wp-playground/cli/node_modules/yargs-parser": {
"version": "21.1.1",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"license": "ISC",
"engines": {
"node": ">=12"
@@ -10320,7 +11248,6 @@
},
"node_modules/@wp-playground/common": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/universal": "3.0.46",
@@ -10337,7 +11264,6 @@
},
"node_modules/@wp-playground/common/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -10345,7 +11271,6 @@
},
"node_modules/@wp-playground/storage": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/stream-compression": "3.0.46",
@@ -10378,7 +11303,6 @@
},
"node_modules/@wp-playground/storage/node_modules/cliui": {
"version": "8.0.1",
- "dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
@@ -10391,7 +11315,6 @@
},
"node_modules/@wp-playground/storage/node_modules/debug": {
"version": "2.6.9",
- "dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -10399,12 +11322,10 @@
},
"node_modules/@wp-playground/storage/node_modules/diff3": {
"version": "0.0.3",
- "dev": true,
"license": "MIT"
},
"node_modules/@wp-playground/storage/node_modules/encodeurl": {
"version": "2.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -10412,7 +11333,6 @@
},
"node_modules/@wp-playground/storage/node_modules/express": {
"version": "4.22.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
@@ -10457,7 +11377,6 @@
},
"node_modules/@wp-playground/storage/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -10465,12 +11384,10 @@
},
"node_modules/@wp-playground/storage/node_modules/ms": {
"version": "2.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@wp-playground/storage/node_modules/pify": {
"version": "4.0.1",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -10478,7 +11395,6 @@
},
"node_modules/@wp-playground/storage/node_modules/safe-buffer": {
"version": "5.2.1",
- "dev": true,
"funding": [
{
"type": "github",
@@ -10497,7 +11413,6 @@
},
"node_modules/@wp-playground/storage/node_modules/strip-ansi": {
"version": "6.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -10508,7 +11423,6 @@
},
"node_modules/@wp-playground/storage/node_modules/yargs": {
"version": "17.7.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
@@ -10525,7 +11439,6 @@
},
"node_modules/@wp-playground/storage/node_modules/yargs-parser": {
"version": "21.1.1",
- "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -10533,7 +11446,6 @@
},
"node_modules/@wp-playground/wordpress": {
"version": "3.0.46",
- "dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
"@php-wasm/logger": "3.0.46",
@@ -10557,7 +11469,6 @@
},
"node_modules/@wp-playground/wordpress/node_modules/cliui": {
"version": "8.0.1",
- "dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
@@ -10570,7 +11481,6 @@
},
"node_modules/@wp-playground/wordpress/node_modules/debug": {
"version": "2.6.9",
- "dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -10578,7 +11488,6 @@
},
"node_modules/@wp-playground/wordpress/node_modules/encodeurl": {
"version": "2.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -10586,7 +11495,6 @@
},
"node_modules/@wp-playground/wordpress/node_modules/express": {
"version": "4.22.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
@@ -10631,7 +11539,6 @@
},
"node_modules/@wp-playground/wordpress/node_modules/ini": {
"version": "4.1.2",
- "dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -10639,12 +11546,10 @@
},
"node_modules/@wp-playground/wordpress/node_modules/ms": {
"version": "2.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/@wp-playground/wordpress/node_modules/safe-buffer": {
"version": "5.2.1",
- "dev": true,
"funding": [
{
"type": "github",
@@ -10663,7 +11568,6 @@
},
"node_modules/@wp-playground/wordpress/node_modules/strip-ansi": {
"version": "6.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -10674,7 +11578,6 @@
},
"node_modules/@wp-playground/wordpress/node_modules/yargs": {
"version": "17.7.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
@@ -10691,7 +11594,6 @@
},
"node_modules/@wp-playground/wordpress/node_modules/yargs-parser": {
"version": "21.1.1",
- "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -10716,16 +11618,18 @@
"license": "Apache-2.0"
},
"node_modules/@yao-pkg/pkg": {
- "version": "6.12.0",
- "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-6.12.0.tgz",
- "integrity": "sha512-yXdr5XTnEUm+AuBWPvMdv1z6dCcuKLUPYGZKPwb0pS8YE+P/Jspb47QjutcjfA31tIkGU6JTsOhlGxDxrO/A2w==",
+ "version": "6.13.1",
+ "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-6.13.1.tgz",
+ "integrity": "sha512-HZGrjKngYUpCAHUjBHb9VMb0V7FsJtoMHtw0tfSS4GeS/Ur8ZK/EGDWtdj+apGERyScc3QLOyg1mXYuv01gqvw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/generator": "^7.23.0",
"@babel/parser": "^7.23.0",
+ "@babel/traverse": "^7.23.0",
"@babel/types": "^7.23.0",
"@yao-pkg/pkg-fetch": "3.5.32",
+ "esbuild": "^0.24.0",
"into-stream": "^6.0.0",
"minimist": "^1.2.6",
"multistream": "^4.1.0",
@@ -10733,8 +11637,9 @@
"picomatch": "^4.0.2",
"prebuild-install": "^7.1.1",
"resolve": "^1.22.10",
+ "resolve.exports": "^2.0.3",
"stream-meter": "^1.0.4",
- "tar": "^7.4.3",
+ "tar": "^7.5.6",
"tinyglobby": "^0.2.11",
"unzipper": "^0.12.3"
},
@@ -10818,6 +11723,64 @@
"node": ">=10"
}
},
+ "node_modules/@yao-pkg/pkg/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz",
+ "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@yao-pkg/pkg/node_modules/esbuild": {
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz",
+ "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.24.2",
+ "@esbuild/android-arm": "0.24.2",
+ "@esbuild/android-arm64": "0.24.2",
+ "@esbuild/android-x64": "0.24.2",
+ "@esbuild/darwin-arm64": "0.24.2",
+ "@esbuild/darwin-x64": "0.24.2",
+ "@esbuild/freebsd-arm64": "0.24.2",
+ "@esbuild/freebsd-x64": "0.24.2",
+ "@esbuild/linux-arm": "0.24.2",
+ "@esbuild/linux-arm64": "0.24.2",
+ "@esbuild/linux-ia32": "0.24.2",
+ "@esbuild/linux-loong64": "0.24.2",
+ "@esbuild/linux-mips64el": "0.24.2",
+ "@esbuild/linux-ppc64": "0.24.2",
+ "@esbuild/linux-riscv64": "0.24.2",
+ "@esbuild/linux-s390x": "0.24.2",
+ "@esbuild/linux-x64": "0.24.2",
+ "@esbuild/netbsd-arm64": "0.24.2",
+ "@esbuild/netbsd-x64": "0.24.2",
+ "@esbuild/openbsd-arm64": "0.24.2",
+ "@esbuild/openbsd-x64": "0.24.2",
+ "@esbuild/sunos-x64": "0.24.2",
+ "@esbuild/win32-arm64": "0.24.2",
+ "@esbuild/win32-ia32": "0.24.2",
+ "@esbuild/win32-x64": "0.24.2"
+ }
+ },
"node_modules/@yao-pkg/pkg/node_modules/picomatch": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
@@ -10838,7 +11801,6 @@
},
"node_modules/@zip.js/zip.js": {
"version": "2.7.57",
- "dev": true,
"license": "BSD-3-Clause",
"engines": {
"bun": ">=0.7.0",
@@ -10928,7 +11890,6 @@
},
"node_modules/aggregate-error": {
"version": "3.1.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"clean-stack": "^2.0.0",
@@ -10988,6 +11949,30 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/amp": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/amp/-/amp-0.3.1.tgz",
+ "integrity": "sha512-OwIuC4yZaRogHKiuU5WlMR5Xk/jAcpPtawWL05Gj8Lvm2F6mwoJt4O/bHI+DHwG79vWd+8OFYM4/BzYqyRd3qw==",
+ "license": "MIT"
+ },
+ "node_modules/amp-message": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/amp-message/-/amp-message-0.1.2.tgz",
+ "integrity": "sha512-JqutcFwoU1+jhv7ArgW38bqrE+LQdcRv4NxNw0mp0JHQyB6tXesWRjtYKlDgHRY2o3JE5UTaBGUK8kSWUdxWUg==",
+ "license": "MIT",
+ "dependencies": {
+ "amp": "0.3.1"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"dev": true,
@@ -11033,6 +12018,15 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/ansis": {
+ "version": "4.0.0-node10",
+ "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.0.0-node10.tgz",
+ "integrity": "sha512-BRrU0Bo1X9dFGw6KgGz6hWrqQuOlVEDOzkb0QSLZY9sXHqA7pNj7yHPVJRz7y/rj4EOJ3d/D5uxH+ee9leYgsg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/any-promise": {
"version": "1.3.0",
"dev": true,
@@ -11040,7 +12034,6 @@
},
"node_modules/anymatch": {
"version": "3.1.3",
- "dev": true,
"license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
@@ -11314,7 +12307,6 @@
},
"node_modules/asn1js": {
"version": "3.0.7",
- "dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"pvtsutils": "^1.3.6",
@@ -11335,13 +12327,24 @@
"node": ">=12"
}
},
+ "node_modules/ast-types": {
+ "version": "0.13.4",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+ "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/async": {
"version": "3.2.5",
"license": "MIT"
},
"node_modules/async-lock": {
"version": "1.4.1",
- "dev": true,
"license": "MIT"
},
"node_modules/asynckit": {
@@ -11374,7 +12377,6 @@
},
"node_modules/available-typed-arrays": {
"version": "1.0.7",
- "dev": true,
"license": "MIT",
"dependencies": {
"possible-typed-array-names": "^1.0.0"
@@ -11474,9 +12476,9 @@
}
},
"node_modules/bare-fs": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.3.tgz",
- "integrity": "sha512-9+kwVx8QYvt3hPWnmb19tPnh38c6Nihz8Lx3t0g9+4GoIf3/fTgYwM4Z6NxgI+B9elLQA7mLE9PpqcWtOMRDiQ==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.4.tgz",
+ "integrity": "sha512-POK4oplfA7P7gqvetNmCs4CNtm9fNsx+IAh7jH7GgU0OJdge2rso0R20TNWVq6VoWcCvsTdlNDaleLHGaKx8CA==",
"dev": true,
"license": "Apache-2.0",
"optional": true,
@@ -11590,14 +12592,21 @@
"baseline-browser-mapping": "dist/cli.js"
}
},
+ "node_modules/basic-ftp": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.1.0.tgz",
+ "integrity": "sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
"node_modules/before-after-hook": {
"version": "2.2.3",
- "dev": true,
"license": "Apache-2.0"
},
"node_modules/binary-extensions": {
"version": "2.2.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -11618,22 +12627,30 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/bodec": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/bodec/-/bodec-0.1.0.tgz",
+ "integrity": "sha512-Ylo+MAo5BDUq1KA3f3R/MFhh+g8cnHmo8bz3YPGhI1znrMaf77ol1sfvYJzsw3nTE+Y2GryfDxBaR+AqpAkEHQ==",
+ "license": "MIT"
+ },
"node_modules/body-parser": {
- "version": "1.20.3",
+ "version": "1.20.4",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
+ "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==",
"license": "MIT",
"dependencies": {
- "bytes": "3.1.2",
+ "bytes": "~3.1.2",
"content-type": "~1.0.5",
"debug": "2.6.9",
"depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.13.0",
- "raw-body": "2.5.2",
+ "destroy": "~1.2.0",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.4.24",
+ "on-finished": "~2.4.1",
+ "qs": "~6.14.0",
+ "raw-body": "~2.5.3",
"type-is": "~1.6.18",
- "unpipe": "1.0.0"
+ "unpipe": "~1.0.0"
},
"engines": {
"node": ">= 0.8",
@@ -11647,21 +12664,37 @@
"ms": "2.0.0"
}
},
+ "node_modules/body-parser/node_modules/http-errors": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
"license": "MIT"
},
- "node_modules/body-parser/node_modules/qs": {
- "version": "6.13.0",
- "license": "BSD-3-Clause",
- "dependencies": {
- "side-channel": "^1.0.6"
- },
+ "node_modules/body-parser/node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "license": "MIT",
"engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">= 0.8"
}
},
"node_modules/boolean": {
@@ -11672,7 +12705,6 @@
},
"node_modules/bottleneck": {
"version": "2.19.5",
- "dev": true,
"license": "MIT"
},
"node_modules/bplist-creator": {
@@ -11693,7 +12725,6 @@
},
"node_modules/braces": {
"version": "3.0.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
@@ -11736,7 +12767,6 @@
},
"node_modules/btoa-lite": {
"version": "1.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/buffer": {
@@ -11771,7 +12801,6 @@
},
"node_modules/buffer-equal-constant-time": {
"version": "1.0.1",
- "dev": true,
"license": "BSD-3-Clause"
},
"node_modules/buffer-from": {
@@ -11791,7 +12820,6 @@
},
"node_modules/bytestreamjs": {
"version": "2.0.1",
- "dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=6.0.0"
@@ -12001,7 +13029,6 @@
},
"node_modules/call-bind": {
"version": "1.0.8",
- "dev": true,
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.0",
@@ -12185,6 +13212,12 @@
"version": "0.7.0",
"license": "MIT"
},
+ "node_modules/charm": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz",
+ "integrity": "sha512-syedaZ9cPe7r3hoQA9twWYKu5AIyCswN5+szkmPBe9ccdLrj4bYaCnLVPTLd2kgVRc7+zoX4tyPgRnFKCj5YjQ==",
+ "license": "MIT/X11"
+ },
"node_modules/check-error": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz",
@@ -12197,7 +13230,6 @@
},
"node_modules/chokidar": {
"version": "3.6.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
@@ -12220,7 +13252,6 @@
},
"node_modules/chokidar/node_modules/glob-parent": {
"version": "5.1.2",
- "dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
@@ -12251,6 +13282,18 @@
"license": "MIT",
"optional": true
},
+ "node_modules/chunkify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/chunkify/-/chunkify-5.0.0.tgz",
+ "integrity": "sha512-G8dj/3/Gm+1yL4oWSdwIxihZWFlgC4V2zYtIApacI0iPIRKBHlBGOGAiDUBZgrj4H8MBA8g8fPFwnJrWF3wl7Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/ci-info": {
"version": "3.9.0",
"dev": true,
@@ -12271,12 +13314,10 @@
},
"node_modules/clean-git-ref": {
"version": "2.0.1",
- "dev": true,
"license": "Apache-2.0"
},
"node_modules/clean-stack": {
"version": "2.2.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -12319,6 +13360,30 @@
"@colors/colors": "1.5.0"
}
},
+ "node_modules/cli-tableau": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/cli-tableau/-/cli-tableau-2.0.1.tgz",
+ "integrity": "sha512-he+WTicka9cl0Fg/y+YyxcN6/bfQ/1O3QmgxRXDhABKqLzvoOSM4fMzp39uMyLBulAFuywD2N7UaoQE7WaADxQ==",
+ "dependencies": {
+ "chalk": "3.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/cli-tableau/node_modules/chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/cli-truncate": {
"version": "3.1.0",
"dev": true,
@@ -12514,6 +13579,10 @@
"node": ">=16"
}
},
+ "node_modules/compare-perf": {
+ "resolved": "tools/compare-perf",
+ "link": true
+ },
"node_modules/compare-version": {
"version": "0.1.2",
"dev": true,
@@ -12659,7 +13728,6 @@
},
"node_modules/cookie": {
"version": "0.7.2",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -12735,6 +13803,12 @@
"version": "1.1.1",
"license": "MIT"
},
+ "node_modules/croner": {
+ "version": "4.1.97",
+ "resolved": "https://registry.npmjs.org/croner/-/croner-4.1.97.tgz",
+ "integrity": "sha512-/f6gpQuxDaqXu+1kwQYSckUglPaOrHdbIlBAu0YuW8/Cdb45XwXYNUBXg3r/9Mo6n540Kn/smKcZWko5x99KrQ==",
+ "license": "MIT"
+ },
"node_modules/cross-dirname": {
"version": "0.1.0",
"dev": true,
@@ -12818,10 +13892,25 @@
"version": "3.2.3",
"license": "MIT"
},
+ "node_modules/culvert": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/culvert/-/culvert-0.1.2.tgz",
+ "integrity": "sha512-yi1x3EAWKjQTreYWeSd98431AV+IEE0qoDyOoaHJ7KJ21gv6HtBXHVLX74opVSGqcR8/AbjJBHAHpcOy2bj5Gg==",
+ "license": "MIT"
+ },
"node_modules/custom-error-instance": {
"version": "2.1.1",
"license": "ISC"
},
+ "node_modules/data-uri-to-buffer": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
+ "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/data-urls": {
"version": "5.0.0",
"dev": true,
@@ -12894,6 +13983,12 @@
"version": "4.1.0-0",
"license": "MIT"
},
+ "node_modules/dayjs": {
+ "version": "1.11.15",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.15.tgz",
+ "integrity": "sha512-MC+DfnSWiM9APs7fpiurHGCoeIx0Gdl6QZBy+5lu8MbYKN5FZEXqOgrundfibdfhGZ15o9hzmZ2xJjZnbvgKXQ==",
+ "license": "MIT"
+ },
"node_modules/debug": {
"version": "4.4.3",
"license": "MIT",
@@ -12927,7 +14022,6 @@
},
"node_modules/decompress-response": {
"version": "6.0.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"mimic-response": "^3.1.0"
@@ -12941,7 +14035,6 @@
},
"node_modules/decompress-response/node_modules/mimic-response": {
"version": "3.1.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@@ -13002,7 +14095,6 @@
},
"node_modules/define-data-property": {
"version": "1.1.4",
- "dev": true,
"license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0",
@@ -13032,6 +14124,20 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/degenerator": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
+ "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ast-types": "^0.13.4",
+ "escodegen": "^2.1.0",
+ "esprima": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/delayed-stream": {
"version": "1.0.0",
"license": "MIT",
@@ -13052,7 +14158,6 @@
},
"node_modules/deprecation": {
"version": "2.3.1",
- "dev": true,
"license": "ISC"
},
"node_modules/dequal": {
@@ -13109,7 +14214,9 @@
"license": "Apache-2.0"
},
"node_modules/diff": {
- "version": "4.0.2",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz",
+ "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
@@ -13117,7 +14224,6 @@
},
"node_modules/diff3": {
"version": "0.0.4",
- "dev": true,
"license": "MIT"
},
"node_modules/dir-compare": {
@@ -13231,7 +14337,6 @@
},
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
- "dev": true,
"license": "Apache-2.0",
"dependencies": {
"safe-buffer": "^5.0.1"
@@ -13797,7 +14902,6 @@
},
"node_modules/end-of-stream": {
"version": "1.4.4",
- "devOptional": true,
"license": "MIT",
"dependencies": {
"once": "^1.4.0"
@@ -13815,6 +14919,18 @@
"node": ">=10.13.0"
}
},
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
"node_modules/entities": {
"version": "6.0.1",
"license": "BSD-2-Clause",
@@ -14305,6 +15421,23 @@
"node": ">=18"
}
},
+ "node_modules/esbuild/node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/esbuild/node_modules/@esbuild/netbsd-x64": {
"version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
@@ -14322,6 +15455,23 @@
"node": ">=18"
}
},
+ "node_modules/esbuild/node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/esbuild/node_modules/@esbuild/openbsd-x64": {
"version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
@@ -14428,6 +15578,36 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/escodegen": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+ "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/escodegen/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
"node_modules/eslint": {
"version": "9.39.2",
"license": "MIT",
@@ -14486,14 +15666,14 @@
}
},
"node_modules/eslint-config-prettier": {
- "version": "10.1.8",
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.2.tgz",
+ "integrity": "sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==",
+ "dev": true,
"license": "MIT",
"bin": {
"eslint-config-prettier": "bin/cli.js"
},
- "funding": {
- "url": "https://opencollective.com/eslint-config-prettier"
- },
"peerDependencies": {
"eslint": ">=7.0.0"
}
@@ -14679,12 +15859,14 @@
}
},
"node_modules/eslint-plugin-prettier": {
- "version": "5.5.4",
+ "version": "5.5.5",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz",
+ "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "prettier-linter-helpers": "^1.0.0",
- "synckit": "^0.11.7"
+ "prettier-linter-helpers": "^1.0.1",
+ "synckit": "^0.11.12"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@@ -14737,7 +15919,7 @@
}
},
"node_modules/eslint-plugin-studio": {
- "resolved": "packages/eslint-plugin-studio",
+ "resolved": "tools/eslint-plugin-studio",
"link": true
},
"node_modules/eslint-scope": {
@@ -14818,6 +16000,19 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/esquery": {
"version": "1.5.0",
"license": "BSD-3-Clause",
@@ -14892,6 +16087,12 @@
"node": ">= 0.6"
}
},
+ "node_modules/eventemitter2": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-5.0.1.tgz",
+ "integrity": "sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg==",
+ "license": "MIT"
+ },
"node_modules/eventemitter3": {
"version": "4.0.7",
"license": "MIT"
@@ -14975,160 +16176,44 @@
"node_modules/execa/node_modules/shebang-regex": {
"version": "1.0.0",
"devOptional": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/execa/node_modules/which": {
- "version": "1.3.1",
- "devOptional": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
- "dev": true,
- "license": "(MIT OR WTFPL)",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/expect-type": {
- "version": "1.3.0",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/exponential-backoff": {
- "version": "3.1.3",
- "dev": true,
- "license": "Apache-2.0"
- },
- "node_modules/express": {
- "version": "4.21.2",
- "license": "MIT",
- "dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.3",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.7.1",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.3.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.3",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.12",
- "proxy-addr": "~2.0.7",
- "qs": "6.13.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.19.0",
- "serve-static": "1.16.2",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/express/node_modules/cookie": {
- "version": "0.7.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/express/node_modules/encodeurl": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/express/node_modules/finalhandler": {
- "version": "1.3.1",
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">= 0.8"
+ "node": ">=0.10.0"
}
},
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/express/node_modules/qs": {
- "version": "6.13.0",
- "license": "BSD-3-Clause",
+ "node_modules/execa/node_modules/which": {
+ "version": "1.3.1",
+ "devOptional": true,
+ "license": "ISC",
"dependencies": {
- "side-channel": "^1.0.6"
+ "isexe": "^2.0.0"
},
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/expand-template": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
+ "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
+ "dev": true,
+ "license": "(MIT OR WTFPL)",
"engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=6"
}
},
- "node_modules/express/node_modules/safe-buffer": {
- "version": "5.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
+ "node_modules/expect-type": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/exponential-backoff": {
+ "version": "3.1.3",
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/extend": {
"version": "3.0.2",
@@ -15198,12 +16283,23 @@
"fd-slicer": "~1.1.0"
}
},
+ "node_modules/extrareqp2": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/extrareqp2/-/extrareqp2-1.0.0.tgz",
+ "integrity": "sha512-Gum0g1QYb6wpPJCVypWP3bbIuaibcFiJcpuPM10YSXp/tzqi84x9PJageob+eN4xVRIOto4wjSGNLyMD54D2xA==",
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.14.0"
+ }
+ },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"license": "MIT"
},
"node_modules/fast-diff": {
"version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
+ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
"dev": true,
"license": "Apache-2.0"
},
@@ -15212,15 +16308,16 @@
"license": "MIT"
},
"node_modules/fast-glob": {
- "version": "3.3.2",
- "dev": true,
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
"license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
"glob-parent": "^5.1.2",
"merge2": "^1.3.0",
- "micromatch": "^4.0.4"
+ "micromatch": "^4.0.8"
},
"engines": {
"node": ">=8.6.0"
@@ -15228,7 +16325,6 @@
},
"node_modules/fast-glob/node_modules/glob-parent": {
"version": "5.1.2",
- "dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
@@ -15237,6 +16333,12 @@
"node": ">= 6"
}
},
+ "node_modules/fast-json-patch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz",
+ "integrity": "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==",
+ "license": "MIT"
+ },
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"license": "MIT"
@@ -15264,14 +16366,37 @@
],
"license": "BSD-3-Clause"
},
+ "node_modules/fast-xml-parser": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.0.tgz",
+ "integrity": "sha512-gkWGshjYcQCF+6qtlrqBqELqNqnt4CxruY6UVAWWnqb3DQ6qaNFEIKqzYep1XzHLM/QtrHVCxyPOtTk4LTQ7Aw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^2.1.0"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
"node_modules/fastq": {
"version": "1.16.0",
- "dev": true,
"license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
}
},
+ "node_modules/fclone": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz",
+ "integrity": "sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw==",
+ "license": "MIT"
+ },
"node_modules/fd-slicer": {
"version": "1.1.0",
"dev": true,
@@ -15342,7 +16467,6 @@
},
"node_modules/fill-range": {
"version": "7.1.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -15353,7 +16477,6 @@
},
"node_modules/finalhandler": {
"version": "1.3.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
@@ -15370,7 +16493,6 @@
},
"node_modules/finalhandler/node_modules/debug": {
"version": "2.6.9",
- "dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -15378,7 +16500,6 @@
},
"node_modules/finalhandler/node_modules/encodeurl": {
"version": "2.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -15386,12 +16507,10 @@
},
"node_modules/finalhandler/node_modules/ms": {
"version": "2.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/finalhandler/node_modules/statuses": {
"version": "2.0.2",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -15491,7 +16610,6 @@
},
"node_modules/for-each": {
"version": "0.3.5",
- "dev": true,
"license": "MIT",
"dependencies": {
"is-callable": "^1.2.7"
@@ -15654,7 +16772,6 @@
},
"node_modules/fs-ext": {
"version": "2.1.1",
- "dev": true,
"hasInstallScript": true,
"optional": true,
"dependencies": {
@@ -15665,7 +16782,9 @@
}
},
"node_modules/fs-extra": {
- "version": "11.3.2",
+ "version": "11.3.3",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz",
+ "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==",
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
@@ -15718,7 +16837,6 @@
},
"node_modules/fsevents": {
"version": "2.3.3",
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -15946,6 +17064,20 @@
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
}
},
+ "node_modules/get-uri": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz",
+ "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==",
+ "license": "MIT",
+ "dependencies": {
+ "basic-ftp": "^5.0.2",
+ "data-uri-to-buffer": "^6.0.2",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/gettext-parser": {
"version": "1.4.0",
"license": "MIT",
@@ -15954,6 +17086,18 @@
"safe-buffer": "^5.1.1"
}
},
+ "node_modules/git-node-fs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/git-node-fs/-/git-node-fs-1.0.0.tgz",
+ "integrity": "sha512-bLQypt14llVXBg0S0u8q8HmU7g9p3ysH+NvVlae5vILuUvs759665HvmR5+wb04KjHyjFcDRxdYb4kyNnluMUQ==",
+ "license": "MIT"
+ },
+ "node_modules/git-sha1": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/git-sha1/-/git-sha1-0.1.2.tgz",
+ "integrity": "sha512-2e/nZezdVlyCopOCYHeW0onkbZg7xP1Ad6pndPy1rCygeRykefUS6r7oA5cJRGEFvseiaz5a/qUHFVX1dd6Isg==",
+ "license": "MIT"
+ },
"node_modules/github-from-package": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
@@ -16051,6 +17195,47 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/globby": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz",
+ "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==",
+ "license": "MIT",
+ "dependencies": {
+ "@sindresorhus/merge-streams": "^2.1.0",
+ "fast-glob": "^3.3.3",
+ "ignore": "^7.0.3",
+ "path-type": "^6.0.0",
+ "slash": "^5.1.0",
+ "unicorn-magic": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby/node_modules/ignore": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/globby/node_modules/path-type": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz",
+ "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/good-listener": {
"version": "1.2.2",
"license": "MIT",
@@ -16119,7 +17304,6 @@
},
"node_modules/has-property-descriptors": {
"version": "1.0.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0"
@@ -16515,7 +17699,6 @@
},
"node_modules/immediate": {
"version": "3.0.6",
- "dev": true,
"license": "MIT"
},
"node_modules/immer": {
@@ -16567,7 +17750,6 @@
},
"node_modules/indent-string": {
"version": "4.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -16842,7 +18024,6 @@
},
"node_modules/ip-address": {
"version": "10.1.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 12"
@@ -16928,7 +18109,6 @@
},
"node_modules/is-binary-path": {
"version": "2.1.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
@@ -16962,7 +18142,6 @@
},
"node_modules/is-callable": {
"version": "1.2.7",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -17100,6 +18279,39 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/is-inside-container": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
+ "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^3.0.0"
+ },
+ "bin": {
+ "is-inside-container": "cli.js"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-inside-container/node_modules/is-docker": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-interactive": {
"version": "2.0.0",
"license": "MIT",
@@ -17156,7 +18368,6 @@
},
"node_modules/is-number": {
"version": "7.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.12.0"
@@ -17177,6 +18388,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-path-inside": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz",
+ "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-plain-object": {
"version": "5.0.0",
"license": "MIT",
@@ -17281,7 +18504,6 @@
},
"node_modules/is-typed-array": {
"version": "1.1.15",
- "dev": true,
"license": "MIT",
"dependencies": {
"which-typed-array": "^1.1.16"
@@ -17357,7 +18579,6 @@
},
"node_modules/isarray": {
"version": "2.0.5",
- "dev": true,
"license": "MIT"
},
"node_modules/isbinaryfile": {
@@ -17385,15 +18606,14 @@
}
},
"node_modules/jackspeak": {
- "version": "2.3.6",
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
},
- "engines": {
- "node": ">=14"
- },
"funding": {
"url": "https://github.com/sponsors/isaacs"
},
@@ -17413,6 +18633,24 @@
"version": "3.7.8",
"license": "BSD-3-Clause"
},
+ "node_modules/js-git": {
+ "version": "0.7.8",
+ "resolved": "https://registry.npmjs.org/js-git/-/js-git-0.7.8.tgz",
+ "integrity": "sha512-+E5ZH/HeRnoc/LW0AmAyhU+mNcWBzAKE+30+IDMLSLbbK+Tdt02AdkOKq9u15rlJsDEGFqtgckc8ZM59LhhiUA==",
+ "license": "MIT",
+ "dependencies": {
+ "bodec": "^0.1.0",
+ "culvert": "^0.1.2",
+ "git-sha1": "^0.1.2",
+ "pako": "^0.2.5"
+ }
+ },
+ "node_modules/js-git/node_modules/pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==",
+ "license": "MIT"
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"license": "MIT"
@@ -17428,7 +18666,9 @@
}
},
"node_modules/jsdom": {
- "version": "24.0.0",
+ "version": "24.1.3",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.3.tgz",
+ "integrity": "sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -17437,21 +18677,21 @@
"decimal.js": "^10.4.3",
"form-data": "^4.0.0",
"html-encoding-sniffer": "^4.0.0",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.2",
+ "http-proxy-agent": "^7.0.2",
+ "https-proxy-agent": "^7.0.5",
"is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.7",
+ "nwsapi": "^2.2.12",
"parse5": "^7.1.2",
- "rrweb-cssom": "^0.6.0",
+ "rrweb-cssom": "^0.7.1",
"saxes": "^6.0.0",
"symbol-tree": "^3.2.4",
- "tough-cookie": "^4.1.3",
+ "tough-cookie": "^4.1.4",
"w3c-xmlserializer": "^5.0.0",
"webidl-conversions": "^7.0.0",
"whatwg-encoding": "^3.1.1",
"whatwg-mimetype": "^4.0.0",
"whatwg-url": "^14.0.0",
- "ws": "^8.16.0",
+ "ws": "^8.18.0",
"xml-name-validator": "^5.0.0"
},
"engines": {
@@ -17543,7 +18783,7 @@
},
"node_modules/json-stringify-safe": {
"version": "5.0.1",
- "dev": true,
+ "devOptional": true,
"license": "ISC"
},
"node_modules/json5": {
@@ -17557,6 +18797,12 @@
"node": ">=6"
}
},
+ "node_modules/jsonc-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
+ "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
+ "license": "MIT"
+ },
"node_modules/jsonfile": {
"version": "6.1.0",
"license": "MIT",
@@ -17585,7 +18831,6 @@
},
"node_modules/jsonwebtoken": {
"version": "9.0.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"jws": "^4.0.1",
@@ -17652,7 +18897,6 @@
},
"node_modules/jwa": {
"version": "2.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"buffer-equal-constant-time": "^1.0.1",
@@ -17662,7 +18906,6 @@
},
"node_modules/jws": {
"version": "4.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"jwa": "^2.0.1",
@@ -17865,7 +19108,6 @@
},
"node_modules/localforage": {
"version": "1.10.0",
- "dev": true,
"license": "Apache-2.0",
"dependencies": {
"lie": "3.1.1"
@@ -17873,7 +19115,6 @@
},
"node_modules/localforage/node_modules/lie": {
"version": "3.1.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"immediate": "~3.0.5"
@@ -17900,7 +19141,9 @@
}
},
"node_modules/lodash": {
- "version": "4.17.21",
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
"license": "MIT"
},
"node_modules/lodash._baseiteratee": {
@@ -17953,32 +19196,26 @@
},
"node_modules/lodash.includes": {
"version": "4.3.0",
- "dev": true,
"license": "MIT"
},
"node_modules/lodash.isboolean": {
"version": "3.0.3",
- "dev": true,
"license": "MIT"
},
"node_modules/lodash.isinteger": {
"version": "4.0.4",
- "dev": true,
"license": "MIT"
},
"node_modules/lodash.isnumber": {
"version": "3.0.3",
- "dev": true,
"license": "MIT"
},
"node_modules/lodash.isplainobject": {
"version": "4.0.6",
- "dev": true,
"license": "MIT"
},
"node_modules/lodash.isstring": {
"version": "4.0.1",
- "dev": true,
"license": "MIT"
},
"node_modules/lodash.merge": {
@@ -17992,7 +19229,6 @@
},
"node_modules/lodash.once": {
"version": "4.1.1",
- "dev": true,
"license": "MIT"
},
"node_modules/lodash.throttle": {
@@ -18552,12 +19788,10 @@
},
"node_modules/merge-stream": {
"version": "2.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/merge2": {
"version": "1.4.1",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 8"
@@ -19079,7 +20313,6 @@
},
"node_modules/micromatch": {
"version": "4.0.8",
- "dev": true,
"license": "MIT",
"dependencies": {
"braces": "^3.0.3",
@@ -19118,7 +20351,6 @@
},
"node_modules/mimic-fn": {
"version": "2.1.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -19162,7 +20394,6 @@
},
"node_modules/minimist": {
"version": "1.2.8",
- "devOptional": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -19170,7 +20401,6 @@
},
"node_modules/minimisted": {
"version": "2.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"minimist": "^1.2.5"
@@ -19271,7 +20501,6 @@
},
"node_modules/mkdirp": {
"version": "1.0.4",
- "dev": true,
"license": "MIT",
"bin": {
"mkdirp": "bin/cmd.js"
@@ -19319,10 +20548,45 @@
"version": "11.18.1",
"license": "MIT"
},
+ "node_modules/mount-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mount-point/-/mount-point-3.0.0.tgz",
+ "integrity": "sha512-jAhfD7ZCG+dbESZjcY1SdFVFqSJkh/yGbdsifHcPkvuLRO5ugK0Ssmd9jdATu29BTd4JiN+vkpMzVvsUgP3SZA==",
+ "license": "MIT",
+ "dependencies": {
+ "@sindresorhus/df": "^1.0.1",
+ "pify": "^2.3.0",
+ "pinkie-promise": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mount-point/node_modules/@sindresorhus/df": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-1.0.1.tgz",
+ "integrity": "sha512-1Hyp7NQnD/u4DSxR2DGW78TF9k7R0wZ8ev0BpMAIzA6yTQSHqNb5wTuvtcPYf4FWbVse2rW7RgDsyL8ua2vXHw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/mousetrap": {
"version": "1.6.5",
"license": "Apache-2.0 WITH LLVM-exception"
},
+ "node_modules/move-file": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/move-file/-/move-file-4.1.0.tgz",
+ "integrity": "sha512-YE06K9XLIvMlqSfoZTl32qvbZLPgL70Za41wS8pEhsSOhy71xz2fn8J07nuz/LEEtPSuUzLUFGAJSx499eKDSw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/mrmime": {
"version": "2.0.1",
"dev": true,
@@ -19448,6 +20712,32 @@
"version": "1.4.0",
"license": "MIT"
},
+ "node_modules/needle": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz",
+ "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^3.2.6",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ },
+ "bin": {
+ "needle": "bin/needle"
+ },
+ "engines": {
+ "node": ">= 4.4.x"
+ }
+ },
+ "node_modules/needle/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
"node_modules/negotiator": {
"version": "0.6.3",
"license": "MIT",
@@ -19460,6 +20750,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/netmask": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
+ "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
"node_modules/nice-try": {
"version": "1.0.5",
"devOptional": true,
@@ -19741,7 +21040,6 @@
},
"node_modules/octokit": {
"version": "3.1.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"@octokit/app": "^14.0.2",
@@ -19785,7 +21083,6 @@
},
"node_modules/onetime": {
"version": "5.1.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"mimic-fn": "^2.1.0"
@@ -19946,6 +21243,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/os-tmpdir": {
"version": "1.0.2",
"license": "MIT",
@@ -20041,6 +21347,87 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/pac-proxy-agent": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz",
+ "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tootallnate/quickjs-emscripten": "^0.23.0",
+ "agent-base": "^7.1.2",
+ "debug": "^4.3.4",
+ "get-uri": "^6.0.1",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.6",
+ "pac-resolver": "^7.0.1",
+ "socks-proxy-agent": "^8.0.5"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-proxy-agent/node_modules/agent-base": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-proxy-agent/node_modules/socks-proxy-agent": {
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
+ "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "^4.3.4",
+ "socks": "^2.8.3"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-resolver": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
+ "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
+ "license": "MIT",
+ "dependencies": {
+ "degenerator": "^5.0.0",
+ "netmask": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/package-json-from-dist": {
"version": "1.0.1",
"dev": true,
@@ -20048,7 +21435,6 @@
},
"node_modules/pako": {
"version": "1.0.11",
- "dev": true,
"license": "(MIT AND Zlib)"
},
"node_modules/param-case": {
@@ -20157,6 +21543,8 @@
},
"node_modules/patch-package": {
"version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz",
+ "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20358,7 +21746,6 @@
},
"node_modules/picomatch": {
"version": "2.3.1",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -20367,14 +21754,66 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/pidusage": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-3.0.2.tgz",
+ "integrity": "sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "^5.2.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/pidusage/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/pify": {
"version": "2.3.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
+ "license": "MIT",
+ "dependencies": {
+ "pinkie": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/pirates": {
"version": "4.0.7",
"dev": true,
@@ -20385,7 +21824,6 @@
},
"node_modules/pkijs": {
"version": "3.3.3",
- "dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"@noble/hashes": "1.4.0",
@@ -20401,7 +21839,6 @@
},
"node_modules/pkijs/node_modules/@noble/hashes": {
"version": "1.4.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 16"
@@ -20463,9 +21900,184 @@
"node": ">=10.4.0"
}
},
+ "node_modules/pm2": {
+ "version": "6.0.14",
+ "resolved": "https://registry.npmjs.org/pm2/-/pm2-6.0.14.tgz",
+ "integrity": "sha512-wX1FiFkzuT2H/UUEA8QNXDAA9MMHDsK/3UHj6Dkd5U7kxyigKDA5gyDw78ycTQZAuGCLWyUX5FiXEuVQWafukA==",
+ "license": "AGPL-3.0",
+ "dependencies": {
+ "@pm2/agent": "~2.1.1",
+ "@pm2/blessed": "0.1.81",
+ "@pm2/io": "~6.1.0",
+ "@pm2/js-api": "~0.8.0",
+ "@pm2/pm2-version-check": "^1.0.4",
+ "ansis": "4.0.0-node10",
+ "async": "3.2.6",
+ "chokidar": "3.6.0",
+ "cli-tableau": "2.0.1",
+ "commander": "2.15.1",
+ "croner": "4.1.97",
+ "dayjs": "1.11.15",
+ "debug": "4.4.3",
+ "enquirer": "2.3.6",
+ "eventemitter2": "5.0.1",
+ "fclone": "1.0.11",
+ "js-yaml": "4.1.1",
+ "mkdirp": "1.0.4",
+ "needle": "2.4.0",
+ "pidusage": "3.0.2",
+ "pm2-axon": "~4.0.1",
+ "pm2-axon-rpc": "~0.7.1",
+ "pm2-deploy": "~1.0.2",
+ "pm2-multimeter": "^0.1.2",
+ "promptly": "2.2.0",
+ "semver": "7.7.2",
+ "source-map-support": "0.5.21",
+ "sprintf-js": "1.1.2",
+ "vizion": "~2.2.1"
+ },
+ "bin": {
+ "pm2": "bin/pm2",
+ "pm2-dev": "bin/pm2-dev",
+ "pm2-docker": "bin/pm2-docker",
+ "pm2-runtime": "bin/pm2-runtime"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "optionalDependencies": {
+ "pm2-sysmonit": "^1.2.8"
+ }
+ },
+ "node_modules/pm2-axon": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pm2-axon/-/pm2-axon-4.0.1.tgz",
+ "integrity": "sha512-kES/PeSLS8orT8dR5jMlNl+Yu4Ty3nbvZRmaAtROuVm9nYYGiaoXqqKQqQYzWQzMYWUKHMQTvBlirjE5GIIxqg==",
+ "license": "MIT",
+ "dependencies": {
+ "amp": "~0.3.1",
+ "amp-message": "~0.1.1",
+ "debug": "^4.3.1",
+ "escape-string-regexp": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=5"
+ }
+ },
+ "node_modules/pm2-axon-rpc": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/pm2-axon-rpc/-/pm2-axon-rpc-0.7.1.tgz",
+ "integrity": "sha512-FbLvW60w+vEyvMjP/xom2UPhUN/2bVpdtLfKJeYM3gwzYhoTEEChCOICfFzxkxuoEleOlnpjie+n1nue91bDQw==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=5"
+ }
+ },
+ "node_modules/pm2-deploy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pm2-deploy/-/pm2-deploy-1.0.2.tgz",
+ "integrity": "sha512-YJx6RXKrVrWaphEYf++EdOOx9EH18vM8RSZN/P1Y+NokTKqYAca/ejXwVLyiEpNju4HPZEk3Y2uZouwMqUlcgg==",
+ "license": "MIT",
+ "dependencies": {
+ "run-series": "^1.1.8",
+ "tv4": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/pm2-multimeter": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/pm2-multimeter/-/pm2-multimeter-0.1.2.tgz",
+ "integrity": "sha512-S+wT6XfyKfd7SJIBqRgOctGxaBzUOmVQzTAS+cg04TsEUObJVreha7lvCfX8zzGVr871XwCSnHUU7DQQ5xEsfA==",
+ "license": "MIT/X11",
+ "dependencies": {
+ "charm": "~0.1.1"
+ }
+ },
+ "node_modules/pm2-sysmonit": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/pm2-sysmonit/-/pm2-sysmonit-1.2.8.tgz",
+ "integrity": "sha512-ACOhlONEXdCTVwKieBIQLSi2tQZ8eKinhcr9JpZSUAL8Qy0ajIgRtsLxG/lwPOW3JEKqPyw/UaHmTWhUzpP4kA==",
+ "license": "Apache",
+ "optional": true,
+ "dependencies": {
+ "async": "^3.2.0",
+ "debug": "^4.3.1",
+ "pidusage": "^2.0.21",
+ "systeminformation": "^5.7",
+ "tx2": "~1.0.4"
+ }
+ },
+ "node_modules/pm2-sysmonit/node_modules/pidusage": {
+ "version": "2.0.21",
+ "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-2.0.21.tgz",
+ "integrity": "sha512-cv3xAQos+pugVX+BfXpHsbyz/dLzX+lr44zNMsYiGxUw+kV5sgQCIcLd1z+0vq+KyC7dJ+/ts2PsfgWfSC3WXA==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "safe-buffer": "^5.2.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pm2-sysmonit/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/pm2/node_modules/async": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
+ "license": "MIT"
+ },
+ "node_modules/pm2/node_modules/commander": {
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+ "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
+ "license": "MIT"
+ },
+ "node_modules/pm2/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/pm2/node_modules/sprintf-js": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
+ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
+ "license": "BSD-3-Clause"
+ },
"node_modules/possible-typed-array-names": {
"version": "1.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -20662,6 +22274,18 @@
"node": "^12.20.0 || >=14"
}
},
+ "node_modules/powershell-utils": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.2.0.tgz",
+ "integrity": "sha512-ZlsFlG7MtSFCoc5xreOvBAozCJ6Pf06opgJjh9ONEv418xpZSAzNjstD36C6+JwOnfSqOW/9uDkqKjezTdxZhw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/prebuild-install": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
@@ -20749,7 +22373,9 @@
}
},
"node_modules/prettier-linter-helpers": {
- "version": "1.0.0",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz",
+ "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20828,6 +22454,15 @@
"node": ">=10"
}
},
+ "node_modules/promptly": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/promptly/-/promptly-2.2.0.tgz",
+ "integrity": "sha512-aC9j+BZsRSSzEsXBNBwDnAxujdx19HycZoKgRgzWnS8eOHg1asuf9heuLprfbe739zY3IdUQx+Egv6Jn135WHA==",
+ "license": "MIT",
+ "dependencies": {
+ "read": "^1.0.4"
+ }
+ },
"node_modules/propagate": {
"version": "2.0.1",
"dev": true,
@@ -20853,20 +22488,102 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/proxy-addr": {
- "version": "2.0.7",
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "license": "MIT",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/proxy-agent": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz",
+ "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "http-proxy-agent": "^7.0.1",
+ "https-proxy-agent": "^7.0.3",
+ "lru-cache": "^7.14.1",
+ "pac-proxy-agent": "^7.0.1",
+ "proxy-from-env": "^1.1.0",
+ "socks-proxy-agent": "^8.0.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/agent-base": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/https-proxy-agent": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/socks-proxy-agent": {
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
+ "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
"license": "MIT",
"dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
+ "agent-base": "^7.1.2",
+ "debug": "^4.3.4",
+ "socks": "^2.8.3"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">= 14"
}
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
- "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ps-man": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/ps-man/-/ps-man-1.1.8.tgz",
+ "integrity": "sha512-ZKDPZwHLYVWIk/Q75N7jCFbuQyokSg2+3WBlt8l35S/uBvxoc+LiRUbb3RUt83pwW82dzwiCpoQIHd9PAxUzHg==",
"license": "MIT"
},
"node_modules/psl": {
@@ -20882,7 +22599,6 @@
},
"node_modules/pump": {
"version": "3.0.0",
- "devOptional": true,
"license": "MIT",
"dependencies": {
"end-of-stream": "^1.1.0",
@@ -20898,7 +22614,6 @@
},
"node_modules/pvtsutils": {
"version": "1.3.6",
- "dev": true,
"license": "MIT",
"dependencies": {
"tslib": "^2.8.1"
@@ -20906,14 +22621,15 @@
},
"node_modules/pvutils": {
"version": "1.1.5",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/qs": {
- "version": "6.14.0",
+ "version": "6.14.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz",
+ "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==",
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.1.0"
@@ -20931,7 +22647,6 @@
},
"node_modules/queue-microtask": {
"version": "1.2.3",
- "dev": true,
"funding": [
{
"type": "github",
@@ -20984,14 +22699,45 @@
}
},
"node_modules/raw-body": {
- "version": "2.5.2",
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
+ "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
"license": "MIT",
"dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
+ "bytes": "~3.1.2",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.4.24",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/raw-body/node_modules/http-errors": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
},
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/raw-body/node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
@@ -21150,6 +22896,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/read": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
+ "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==",
+ "license": "ISC",
+ "dependencies": {
+ "mute-stream": "~0.0.4"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/read-binary-file-arch": {
"version": "1.0.6",
"dev": true,
@@ -21182,441 +22940,796 @@
"node": ">=4"
}
},
- "node_modules/read-pkg-up": {
- "version": "2.0.0",
+ "node_modules/read-pkg-up": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/find-up": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/locate-path": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-limit": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-locate": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-try": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/path-exists": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/path-type": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdir-glob": {
+ "version": "1.1.3",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "minimatch": "^5.1.0"
+ }
+ },
+ "node_modules/readdir-glob/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/readdir-glob/node_modules/minimatch": {
+ "version": "5.1.6",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/rechoir": {
+ "version": "0.8.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve": "^1.20.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/redent": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/redux": {
+ "version": "5.0.1",
+ "license": "MIT"
+ },
+ "node_modules/redux-thunk": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "peerDependencies": {
+ "redux": "^5.0.0"
+ }
+ },
+ "node_modules/reflect-metadata": {
+ "version": "0.2.2",
+ "license": "Apache-2.0"
+ },
+ "node_modules/reflect.getprototypeof": {
+ "version": "1.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.9",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.7",
+ "get-proto": "^1.0.1",
+ "which-builtin-type": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regenerate": {
+ "version": "1.4.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/regenerate-unicode-properties": {
+ "version": "10.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "regenerate": "^1.4.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.4",
"dev": true,
"license": "MIT",
"dependencies": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
},
"engines": {
- "node": ">=4"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/read-pkg-up/node_modules/find-up": {
- "version": "2.1.0",
+ "node_modules/regexpu-core": {
+ "version": "6.2.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "locate-path": "^2.0.0"
+ "regenerate": "^1.4.2",
+ "regenerate-unicode-properties": "^10.2.0",
+ "regjsgen": "^0.8.0",
+ "regjsparser": "^0.12.0",
+ "unicode-match-property-ecmascript": "^2.0.0",
+ "unicode-match-property-value-ecmascript": "^2.1.0"
},
"engines": {
"node": ">=4"
}
},
- "node_modules/read-pkg-up/node_modules/locate-path": {
- "version": "2.0.0",
+ "node_modules/regjsgen": {
+ "version": "0.8.0",
"dev": true,
- "license": "MIT",
+ "license": "MIT"
+ },
+ "node_modules/regjsparser": {
+ "version": "0.12.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
+ "jsesc": "~3.0.2"
},
- "engines": {
- "node": ">=4"
+ "bin": {
+ "regjsparser": "bin/parser"
}
},
- "node_modules/read-pkg-up/node_modules/p-limit": {
- "version": "1.3.0",
+ "node_modules/regjsparser/node_modules/jsesc": {
+ "version": "3.0.2",
"dev": true,
"license": "MIT",
- "dependencies": {
- "p-try": "^1.0.0"
+ "bin": {
+ "jsesc": "bin/jsesc"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
}
},
- "node_modules/read-pkg-up/node_modules/p-locate": {
- "version": "2.0.0",
- "dev": true,
+ "node_modules/rehype-raw": {
+ "version": "7.0.0",
"license": "MIT",
"dependencies": {
- "p-limit": "^1.1.0"
+ "@types/hast": "^3.0.0",
+ "hast-util-raw": "^9.0.0",
+ "vfile": "^6.0.0"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/read-pkg-up/node_modules/p-try": {
- "version": "1.0.0",
- "dev": true,
+ "node_modules/remark-gfm": {
+ "version": "4.0.1",
"license": "MIT",
- "engines": {
- "node": ">=4"
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-gfm": "^3.0.0",
+ "micromark-extension-gfm": "^3.0.0",
+ "remark-parse": "^11.0.0",
+ "remark-stringify": "^11.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/read-pkg-up/node_modules/path-exists": {
- "version": "3.0.0",
- "dev": true,
+ "node_modules/remark-parse": {
+ "version": "11.0.0",
"license": "MIT",
- "engines": {
- "node": ">=4"
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/read-pkg/node_modules/path-type": {
- "version": "2.0.0",
- "dev": true,
+ "node_modules/remark-rehype": {
+ "version": "11.1.0",
"license": "MIT",
"dependencies": {
- "pify": "^2.0.0"
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "mdast-util-to-hast": "^13.0.0",
+ "unified": "^11.0.0",
+ "vfile": "^6.0.0"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/readable-stream": {
- "version": "3.6.2",
+ "node_modules/remark-stringify": {
+ "version": "11.0.0",
"license": "MIT",
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "@types/mdast": "^4.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "unified": "^11.0.0"
},
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/rememo": {
+ "version": "4.0.2",
+ "license": "MIT"
+ },
+ "node_modules/remove-accents": {
+ "version": "0.5.0",
+ "license": "MIT"
+ },
+ "node_modules/repeat-string": {
+ "version": "1.6.1",
+ "license": "MIT",
+ "optional": true,
"engines": {
- "node": ">= 6"
+ "node": ">=0.10"
}
},
- "node_modules/readdir-glob": {
- "version": "1.1.3",
- "license": "Apache-2.0",
- "dependencies": {
- "minimatch": "^5.1.0"
+ "node_modules/requestidlecallback": {
+ "version": "0.3.0",
+ "license": "MIT"
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/readdir-glob/node_modules/brace-expansion": {
+ "node_modules/require-from-string": {
"version": "2.0.2",
"license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/readdir-glob/node_modules/minimatch": {
- "version": "5.1.6",
- "license": "ISC",
+ "node_modules/require-in-the-middle": {
+ "version": "7.5.2",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "debug": "^4.3.5",
+ "module-details-from-path": "^1.0.3",
+ "resolve": "^1.22.8"
},
"engines": {
- "node": ">=10"
+ "node": ">=8.6.0"
}
},
- "node_modules/readdirp": {
- "version": "3.6.0",
+ "node_modules/requireindex": {
+ "version": "1.2.0",
"dev": true,
"license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
"engines": {
- "node": ">=8.10.0"
+ "node": ">=0.10.5"
}
},
- "node_modules/rechoir": {
- "version": "0.8.0",
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "node_modules/resedit": {
+ "version": "2.0.3",
"dev": true,
"license": "MIT",
"dependencies": {
- "resolve": "^1.20.0"
+ "pe-library": "^1.0.1"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=14",
+ "npm": ">=7"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/jet2jet"
}
},
- "node_modules/redent": {
- "version": "3.0.0",
- "dev": true,
+ "node_modules/reselect": {
+ "version": "5.1.1",
+ "license": "MIT"
+ },
+ "node_modules/resize-observer-polyfill": {
+ "version": "1.5.1",
+ "license": "MIT"
+ },
+ "node_modules/resolve": {
+ "version": "1.22.10",
"license": "MIT",
"dependencies": {
- "indent-string": "^4.0.0",
- "strip-indent": "^3.0.0"
+ "is-core-module": "^2.16.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
},
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/redux": {
- "version": "5.0.1",
+ "node_modules/resolve-alpn": {
+ "version": "1.2.1",
+ "dev": true,
"license": "MIT"
},
- "node_modules/redux-thunk": {
- "version": "3.1.0",
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
"license": "MIT",
- "peerDependencies": {
- "redux": "^5.0.0"
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/reflect-metadata": {
- "version": "0.2.2",
- "dev": true,
- "license": "Apache-2.0"
- },
- "node_modules/reflect.getprototypeof": {
- "version": "1.0.10",
+ "node_modules/resolve-pkg-maps": {
+ "version": "1.0.0",
"dev": true,
"license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.9",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
- "get-intrinsic": "^1.2.7",
- "get-proto": "^1.0.1",
- "which-builtin-type": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
}
},
- "node_modules/regenerate": {
- "version": "1.4.2",
+ "node_modules/resolve.exports": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz",
+ "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
},
- "node_modules/regenerate-unicode-properties": {
- "version": "10.2.0",
+ "node_modules/responselike": {
+ "version": "2.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
- "regenerate": "^1.4.2"
+ "lowercase-keys": "^2.0.0"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.4",
+ "node_modules/restore-cursor": {
+ "version": "4.0.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-errors": "^1.3.0",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "set-function-name": "^2.0.2"
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
},
"engines": {
- "node": ">= 0.4"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/regexpu-core": {
- "version": "6.2.0",
- "dev": true,
+ "node_modules/retry": {
+ "version": "0.12.0",
"license": "MIT",
- "dependencies": {
- "regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.2.0",
- "regjsgen": "^0.8.0",
- "regjsparser": "^0.12.0",
- "unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.1.0"
- },
"engines": {
- "node": ">=4"
+ "node": ">= 4"
}
},
- "node_modules/regjsgen": {
- "version": "0.8.0",
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rfdc": {
+ "version": "1.4.1",
"dev": true,
"license": "MIT"
},
- "node_modules/regjsparser": {
- "version": "0.12.0",
+ "node_modules/rimraf": {
+ "version": "6.1.2",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "jsesc": "~3.0.2"
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
},
"bin": {
- "regjsparser": "bin/parser"
- }
- },
- "node_modules/regjsparser/node_modules/jsesc": {
- "version": "3.0.2",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
+ "rimraf": "dist/esm/bin.mjs"
},
"engines": {
- "node": ">=6"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/rehype-raw": {
- "version": "7.0.0",
- "license": "MIT",
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "13.0.0",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@types/hast": "^3.0.0",
- "hast-util-raw": "^9.0.0",
- "vfile": "^6.0.0"
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/remark-gfm": {
- "version": "4.0.1",
- "license": "MIT",
+ "node_modules/rimraf/node_modules/lru-cache": {
+ "version": "11.2.4",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/rimraf/node_modules/minimatch": {
+ "version": "10.1.1",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-gfm": "^3.0.0",
- "micromark-extension-gfm": "^3.0.0",
- "remark-parse": "^11.0.0",
- "remark-stringify": "^11.0.0",
- "unified": "^11.0.0"
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/remark-parse": {
- "version": "11.0.0",
- "license": "MIT",
+ "node_modules/rimraf/node_modules/minipass": {
+ "version": "7.1.2",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/rimraf/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "micromark-util-types": "^2.0.0",
- "unified": "^11.0.0"
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/remark-rehype": {
- "version": "11.1.0",
- "license": "MIT",
+ "node_modules/roarr": {
+ "version": "2.15.4",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "optional": true,
"dependencies": {
- "@types/hast": "^3.0.0",
- "@types/mdast": "^4.0.0",
- "mdast-util-to-hast": "^13.0.0",
- "unified": "^11.0.0",
- "vfile": "^6.0.0"
+ "boolean": "^3.0.1",
+ "detect-node": "^2.0.4",
+ "globalthis": "^1.0.1",
+ "json-stringify-safe": "^5.0.1",
+ "semver-compare": "^1.0.0",
+ "sprintf-js": "^1.1.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "engines": {
+ "node": ">=8.0"
}
},
- "node_modules/remark-stringify": {
- "version": "11.0.0",
+ "node_modules/rollup": {
+ "version": "4.50.2",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-to-markdown": "^2.0.0",
- "unified": "^11.0.0"
+ "@types/estree": "1.0.8"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.50.2",
+ "@rollup/rollup-android-arm64": "4.50.2",
+ "@rollup/rollup-darwin-arm64": "4.50.2",
+ "@rollup/rollup-darwin-x64": "4.50.2",
+ "@rollup/rollup-freebsd-arm64": "4.50.2",
+ "@rollup/rollup-freebsd-x64": "4.50.2",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.50.2",
+ "@rollup/rollup-linux-arm-musleabihf": "4.50.2",
+ "@rollup/rollup-linux-arm64-gnu": "4.50.2",
+ "@rollup/rollup-linux-arm64-musl": "4.50.2",
+ "@rollup/rollup-linux-loong64-gnu": "4.50.2",
+ "@rollup/rollup-linux-ppc64-gnu": "4.50.2",
+ "@rollup/rollup-linux-riscv64-gnu": "4.50.2",
+ "@rollup/rollup-linux-riscv64-musl": "4.50.2",
+ "@rollup/rollup-linux-s390x-gnu": "4.50.2",
+ "@rollup/rollup-linux-x64-gnu": "4.50.2",
+ "@rollup/rollup-linux-x64-musl": "4.50.2",
+ "@rollup/rollup-openharmony-arm64": "4.50.2",
+ "@rollup/rollup-win32-arm64-msvc": "4.50.2",
+ "@rollup/rollup-win32-ia32-msvc": "4.50.2",
+ "@rollup/rollup-win32-x64-msvc": "4.50.2",
+ "fsevents": "~2.3.2"
}
},
- "node_modules/rememo": {
- "version": "4.0.2",
- "license": "MIT"
- },
- "node_modules/remove-accents": {
- "version": "0.5.0",
- "license": "MIT"
+ "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.50.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.50.2.tgz",
+ "integrity": "sha512-9Jie/At6qk70dNIcopcL4p+1UirusEtznpNtcq/u/C5cC4HBX7qSGsYIcG6bdxj15EYWhHiu02YvmdPzylIZlA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/repeat-string": {
- "version": "1.6.1",
+ "node_modules/rollup/node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.50.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.2.tgz",
+ "integrity": "sha512-APwKy6YUhvZaEoHyM+9xqmTpviEI+9eL7LoCH+aLcvWYHJ663qG5zx7WzWZY+a9qkg5JtzcMyJ9z0WtQBMDmgA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
"optional": true,
- "engines": {
- "node": ">=0.10"
- }
+ "os": [
+ "win32"
+ ]
},
- "node_modules/requestidlecallback": {
- "version": "0.3.0",
+ "node_modules/rrweb-cssom": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
+ "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==",
+ "dev": true,
"license": "MIT"
},
- "node_modules/require-directory": {
- "version": "2.1.1",
- "dev": true,
+ "node_modules/run-async": {
+ "version": "2.4.1",
"license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.12.0"
}
},
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "dev": true,
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
"license": "MIT",
- "engines": {
- "node": ">=0.10.0"
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
}
},
- "node_modules/require-in-the-middle": {
- "version": "7.5.2",
- "license": "MIT",
+ "node_modules/run-series": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.9.tgz",
+ "integrity": "sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/rungen": {
+ "version": "0.3.2",
+ "license": "MIT"
+ },
+ "node_modules/rxjs": {
+ "version": "7.8.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
+ "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
+ "license": "Apache-2.0",
"dependencies": {
- "debug": "^4.3.5",
- "module-details-from-path": "^1.0.3",
- "resolve": "^1.22.8"
- },
- "engines": {
- "node": ">=8.6.0"
+ "tslib": "^2.1.0"
}
},
- "node_modules/requireindex": {
- "version": "1.2.0",
+ "node_modules/safe-array-concat": {
+ "version": "1.1.3",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "has-symbols": "^1.1.0",
+ "isarray": "^2.0.5"
+ },
"engines": {
- "node": ">=0.10.5"
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/requires-port": {
- "version": "1.0.0",
+ "node_modules/safe-buffer": {
+ "version": "5.1.2",
"license": "MIT"
},
- "node_modules/resedit": {
- "version": "2.0.3",
+ "node_modules/safe-push-apply": {
+ "version": "1.0.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "pe-library": "^1.0.1"
+ "es-errors": "^1.3.0",
+ "isarray": "^2.0.5"
},
"engines": {
- "node": ">=14",
- "npm": ">=7"
+ "node": ">= 0.4"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/jet2jet"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/reselect": {
- "version": "5.1.1",
- "license": "MIT"
- },
- "node_modules/resize-observer-polyfill": {
- "version": "1.5.1",
+ "node_modules/safe-regex-test": {
+ "version": "1.1.0",
"dev": true,
- "license": "MIT"
- },
- "node_modules/resolve": {
- "version": "1.22.10",
"license": "MIT",
"dependencies": {
- "is-core-module": "^2.16.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@@ -21625,251 +23738,285 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/resolve-alpn": {
- "version": "1.2.1",
- "dev": true,
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
"license": "MIT"
},
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "license": "MIT",
+ "node_modules/sax": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz",
+ "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==",
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">=4"
+ "node": ">=11.0.0"
}
},
- "node_modules/resolve-pkg-maps": {
- "version": "1.0.0",
+ "node_modules/saxes": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=v12.22.7"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.2",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/schema-utils": {
+ "version": "4.3.3",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.9.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.1.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
"funding": {
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/responselike": {
- "version": "2.0.1",
+ "node_modules/schema-utils/node_modules/ajv": {
+ "version": "8.17.1",
"dev": true,
"license": "MIT",
"dependencies": {
- "lowercase-keys": "^2.0.0"
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/restore-cursor": {
- "version": "4.0.0",
+ "node_modules/schema-utils/node_modules/ajv-keywords": {
+ "version": "5.1.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
+ }
+ },
+ "node_modules/schema-utils/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/select": {
+ "version": "1.1.2",
+ "license": "MIT"
+ },
+ "node_modules/selfsigned": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/x509": "^1.14.2",
+ "pkijs": "^3.3.3"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=18"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.7.3",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/retry": {
- "version": "0.12.0",
+ "node_modules/semver-compare": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/send": {
+ "version": "0.19.0",
"license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
"engines": {
- "node": ">= 4"
+ "node": ">= 0.8.0"
}
},
- "node_modules/reusify": {
- "version": "1.0.4",
- "dev": true,
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
"license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
+ "dependencies": {
+ "ms": "2.0.0"
}
},
- "node_modules/rfdc": {
- "version": "1.4.1",
- "dev": true,
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
"license": "MIT"
},
- "node_modules/rimraf": {
- "version": "6.1.2",
+ "node_modules/sentence-case": {
+ "version": "3.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3",
+ "upper-case-first": "^2.0.2"
+ }
+ },
+ "node_modules/serialize-error": {
+ "version": "7.0.1",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
+ "optional": true,
"dependencies": {
- "glob": "^13.0.0",
- "package-json-from-dist": "^1.0.1"
- },
- "bin": {
- "rimraf": "dist/esm/bin.mjs"
+ "type-fest": "^0.13.1"
},
"engines": {
- "node": "20 || >=22"
+ "node": ">=10"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/rimraf/node_modules/glob": {
- "version": "13.0.0",
+ "node_modules/serialize-error/node_modules/type-fest": {
+ "version": "0.13.1",
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "minimatch": "^10.1.1",
- "minipass": "^7.1.2",
- "path-scurry": "^2.0.0"
- },
+ "license": "(MIT OR CC0-1.0)",
+ "optional": true,
"engines": {
- "node": "20 || >=22"
+ "node": ">=10"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/rimraf/node_modules/lru-cache": {
- "version": "11.2.4",
+ "node_modules/serialize-javascript": {
+ "version": "6.0.2",
"dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": "20 || >=22"
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "randombytes": "^2.1.0"
}
},
- "node_modules/rimraf/node_modules/minimatch": {
- "version": "10.1.1",
- "dev": true,
- "license": "BlueOak-1.0.0",
+ "node_modules/serve-static": {
+ "version": "1.16.2",
+ "license": "MIT",
"dependencies": {
- "@isaacs/brace-expansion": "^5.0.0"
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.19.0"
},
"engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">= 0.8.0"
}
},
- "node_modules/rimraf/node_modules/minipass": {
- "version": "7.1.2",
- "dev": true,
- "license": "ISC",
+ "node_modules/serve-static/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "license": "MIT",
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": ">= 0.8"
}
},
- "node_modules/rimraf/node_modules/path-scurry": {
- "version": "2.0.1",
- "dev": true,
- "license": "BlueOak-1.0.0",
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "license": "MIT",
"dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">= 0.4"
}
},
- "node_modules/roarr": {
- "version": "2.15.4",
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
"dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
+ "license": "MIT",
"dependencies": {
- "boolean": "^3.0.1",
- "detect-node": "^2.0.4",
- "globalthis": "^1.0.1",
- "json-stringify-safe": "^5.0.1",
- "semver-compare": "^1.0.0",
- "sprintf-js": "^1.1.2"
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
- "node": ">=8.0"
+ "node": ">= 0.4"
}
},
- "node_modules/rollup": {
- "version": "4.50.2",
+ "node_modules/set-proto": {
+ "version": "1.0.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/estree": "1.0.8"
- },
- "bin": {
- "rollup": "dist/bin/rollup"
+ "dunder-proto": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
- "node": ">=18.0.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.50.2",
- "@rollup/rollup-android-arm64": "4.50.2",
- "@rollup/rollup-darwin-arm64": "4.50.2",
- "@rollup/rollup-darwin-x64": "4.50.2",
- "@rollup/rollup-freebsd-arm64": "4.50.2",
- "@rollup/rollup-freebsd-x64": "4.50.2",
- "@rollup/rollup-linux-arm-gnueabihf": "4.50.2",
- "@rollup/rollup-linux-arm-musleabihf": "4.50.2",
- "@rollup/rollup-linux-arm64-gnu": "4.50.2",
- "@rollup/rollup-linux-arm64-musl": "4.50.2",
- "@rollup/rollup-linux-loong64-gnu": "4.50.2",
- "@rollup/rollup-linux-ppc64-gnu": "4.50.2",
- "@rollup/rollup-linux-riscv64-gnu": "4.50.2",
- "@rollup/rollup-linux-riscv64-musl": "4.50.2",
- "@rollup/rollup-linux-s390x-gnu": "4.50.2",
- "@rollup/rollup-linux-x64-gnu": "4.50.2",
- "@rollup/rollup-linux-x64-musl": "4.50.2",
- "@rollup/rollup-openharmony-arm64": "4.50.2",
- "@rollup/rollup-win32-arm64-msvc": "4.50.2",
- "@rollup/rollup-win32-ia32-msvc": "4.50.2",
- "@rollup/rollup-win32-x64-msvc": "4.50.2",
- "fsevents": "~2.3.2"
+ "node": ">= 0.4"
}
},
- "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.50.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.50.2.tgz",
- "integrity": "sha512-9Jie/At6qk70dNIcopcL4p+1UirusEtznpNtcq/u/C5cC4HBX7qSGsYIcG6bdxj15EYWhHiu02YvmdPzylIZlA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/rollup/node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.50.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.2.tgz",
- "integrity": "sha512-APwKy6YUhvZaEoHyM+9xqmTpviEI+9eL7LoCH+aLcvWYHJ663qG5zx7WzWZY+a9qkg5JtzcMyJ9z0WtQBMDmgA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/rrweb-cssom": {
- "version": "0.6.0",
+ "node_modules/setimmediate": {
+ "version": "1.0.5",
"dev": true,
"license": "MIT"
},
- "node_modules/run-async": {
- "version": "2.4.1",
- "license": "MIT",
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "license": "ISC"
+ },
+ "node_modules/sha.js": {
+ "version": "2.4.12",
+ "license": "(MIT AND BSD-3-Clause)",
+ "dependencies": {
+ "inherits": "^2.0.4",
+ "safe-buffer": "^5.2.1",
+ "to-buffer": "^1.2.0"
+ },
+ "bin": {
+ "sha.js": "bin.js"
+ },
"engines": {
- "node": ">=0.12.0"
+ "node": ">= 0.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "dev": true,
+ "node_modules/sha.js/node_modules/safe-buffer": {
+ "version": "5.2.1",
"funding": [
{
"type": "github",
@@ -21884,44 +24031,62 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT"
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.8.3",
"license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/rungen": {
- "version": "0.3.2",
- "license": "MIT"
+ "node_modules/shimmer": {
+ "version": "1.2.1",
+ "license": "BSD-2-Clause"
},
- "node_modules/safe-array-concat": {
- "version": "1.1.3",
- "dev": true,
+ "node_modules/side-channel": {
+ "version": "1.1.0",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "get-intrinsic": "^1.2.6",
- "has-symbols": "^1.1.0",
- "isarray": "^2.0.5"
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
},
"engines": {
- "node": ">=0.4"
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "node_modules/safe-push-apply": {
+ "node_modules/side-channel-list": {
"version": "1.0.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
- "isarray": "^2.0.5"
+ "object-inspect": "^1.13.3"
},
"engines": {
"node": ">= 0.4"
@@ -21930,14 +24095,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/safe-regex-test": {
- "version": "1.1.0",
- "dev": true,
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
"license": "MIT",
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
- "is-regex": "^1.2.1"
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
},
"engines": {
"node": ">= 0.4"
@@ -21946,280 +24111,385 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "node_modules/saxes": {
- "version": "6.0.0",
- "dev": true,
- "license": "ISC",
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "license": "MIT",
"dependencies": {
- "xmlchars": "^2.2.0"
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
},
"engines": {
- "node": ">=v12.22.7"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/scheduler": {
- "version": "0.23.2",
+ "node_modules/siginfo": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "license": "ISC"
+ },
+ "node_modules/simple-concat": {
+ "version": "1.0.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/simple-get": {
+ "version": "4.0.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "loose-envify": "^1.1.0"
+ "decompress-response": "^6.0.0",
+ "once": "^1.3.1",
+ "simple-concat": "^1.0.0"
}
},
- "node_modules/schema-utils": {
- "version": "4.3.3",
+ "node_modules/simple-git": {
+ "version": "3.30.0",
+ "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz",
+ "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==",
+ "license": "MIT",
+ "dependencies": {
+ "@kwsites/file-exists": "^1.1.1",
+ "@kwsites/promise-deferred": "^1.1.1",
+ "debug": "^4.4.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/steveukx/git-js?sponsor=1"
+ }
+ },
+ "node_modules/sirv": {
+ "version": "3.0.2",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.9.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.1.0"
+ "@polka/url": "^1.0.0-next.24",
+ "mrmime": "^2.0.0",
+ "totalist": "^3.0.0"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=18"
+ }
+ },
+ "node_modules/slash": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+ "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.16"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/schema-utils/node_modules/ajv": {
- "version": "8.17.1",
+ "node_modules/slice-ansi": {
+ "version": "5.0.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
+ "ansi-styles": "^6.0.0",
+ "is-fullwidth-code-point": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
- "node_modules/schema-utils/node_modules/ajv-keywords": {
- "version": "5.1.0",
+ "node_modules/slice-ansi/node_modules/ansi-styles": {
+ "version": "6.2.1",
"dev": true,
"license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3"
+ "engines": {
+ "node": ">=12"
},
- "peerDependencies": {
- "ajv": "^8.8.2"
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/schema-utils/node_modules/json-schema-traverse": {
- "version": "1.0.0",
+ "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
+ "version": "4.0.0",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "node_modules/select": {
- "version": "1.1.2",
- "license": "MIT"
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
},
- "node_modules/selfsigned": {
- "version": "5.5.0",
- "dev": true,
+ "node_modules/snake-case": {
+ "version": "3.0.4",
"license": "MIT",
"dependencies": {
- "@peculiar/x509": "^1.14.2",
- "pkijs": "^3.3.3"
- },
- "engines": {
- "node": ">=18"
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
}
},
- "node_modules/semver": {
- "version": "7.7.3",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node_modules/socks": {
+ "version": "2.8.7",
+ "license": "MIT",
+ "dependencies": {
+ "ip-address": "^10.0.1",
+ "smart-buffer": "^4.2.0"
},
"engines": {
- "node": ">=10"
+ "node": ">= 10.0.0",
+ "npm": ">= 3.0.0"
}
},
- "node_modules/semver-compare": {
- "version": "1.0.0",
+ "node_modules/socks-proxy-agent": {
+ "version": "7.0.0",
"dev": true,
"license": "MIT",
- "optional": true
- },
- "node_modules/send": {
- "version": "0.19.0",
- "license": "MIT",
"dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
},
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 10"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
"license": "MIT",
"dependencies": {
- "ms": "2.0.0"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
}
},
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/sentence-case": {
- "version": "3.0.4",
+ "node_modules/space-separated-tokens": {
+ "version": "2.0.2",
"license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/spdx-correct": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case-first": "^2.0.2"
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
}
},
- "node_modules/serialize-error": {
- "version": "7.0.1",
+ "node_modules/spdx-exceptions": {
+ "version": "2.5.0",
+ "dev": true,
+ "license": "CC-BY-3.0"
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
"dev": true,
"license": "MIT",
- "optional": true,
"dependencies": {
- "type-fest": "^0.13.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
}
},
- "node_modules/serialize-error/node_modules/type-fest": {
- "version": "0.13.1",
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.22",
"dev": true,
- "license": "(MIT OR CC0-1.0)",
- "optional": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "license": "CC0-1.0"
},
- "node_modules/serialize-javascript": {
- "version": "6.0.2",
+ "node_modules/sprintf-js": {
+ "version": "1.1.3",
"dev": true,
"license": "BSD-3-Clause",
+ "optional": true
+ },
+ "node_modules/ssri": {
+ "version": "9.0.1",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "randombytes": "^2.1.0"
+ "minipass": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/serve-static": {
- "version": "1.16.2",
+ "node_modules/stable-hash-x": {
+ "version": "0.2.0",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.19.0"
- },
"engines": {
- "node": ">= 0.8.0"
+ "node": ">=12.0.0"
}
},
- "node_modules/serve-static/node_modules/encodeurl": {
- "version": "2.0.0",
+ "node_modules/stackback": {
+ "version": "0.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
"license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
- "node_modules/set-function-length": {
- "version": "1.2.2",
+ "node_modules/std-env": {
+ "version": "3.10.0",
"dev": true,
+ "license": "MIT"
+ },
+ "node_modules/stdin-discarder": {
+ "version": "0.2.2",
"license": "MIT",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2"
- },
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/set-function-name": {
- "version": "2.0.2",
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.1.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
- "functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.2"
+ "internal-slot": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
}
},
- "node_modules/set-proto": {
- "version": "1.0.0",
+ "node_modules/stream-buffers": {
+ "version": "2.2.0",
+ "license": "Unlicense",
+ "optional": true,
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/stream-meter": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz",
+ "integrity": "sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "dunder-proto": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
+ "readable-stream": "^2.1.4"
}
},
- "node_modules/setimmediate": {
- "version": "1.0.5",
+ "node_modules/stream-meter/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
"dev": true,
"license": "MIT"
},
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "license": "ISC"
+ "node_modules/stream-meter/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
},
- "node_modules/sha.js": {
- "version": "2.4.12",
+ "node_modules/stream-meter/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
- "license": "(MIT AND BSD-3-Clause)",
+ "license": "MIT",
"dependencies": {
- "inherits": "^2.0.4",
- "safe-buffer": "^5.2.1",
- "to-buffer": "^1.2.0"
- },
- "bin": {
- "sha.js": "bin.js"
- },
- "engines": {
- "node": ">= 0.10"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "safe-buffer": "~5.1.0"
}
},
- "node_modules/sha.js/node_modules/safe-buffer": {
+ "node_modules/streamx": {
+ "version": "2.23.0",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz",
+ "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==",
+ "license": "MIT",
+ "dependencies": {
+ "events-universal": "^1.0.0",
+ "fast-fifo": "^1.3.2",
+ "text-decoder": "^1.1.0"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string_decoder/node_modules/safe-buffer": {
"version": "5.2.1",
- "dev": true,
"funding": [
{
"type": "github",
@@ -22236,26 +24506,70 @@
],
"license": "MIT"
},
- "node_modules/shebang-command": {
- "version": "2.0.0",
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "shebang-regex": "^3.0.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
- "node_modules/shebang-regex": {
- "version": "3.0.0",
+ "node_modules/string-width/node_modules/strip-ansi": {
+ "version": "6.0.1",
"license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
"engines": {
"node": ">=8"
}
},
- "node_modules/shell-quote": {
- "version": "1.8.3",
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.10",
+ "dev": true,
"license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-data-property": "^1.1.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-object-atoms": "^1.0.0",
+ "has-property-descriptors": "^1.0.2"
+ },
"engines": {
"node": ">= 0.4"
},
@@ -22263,19 +24577,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/shimmer": {
- "version": "1.2.1",
- "license": "BSD-2-Clause"
- },
- "node_modules/side-channel": {
- "version": "1.1.0",
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.9",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "es-errors": "^1.3.0",
- "object-inspect": "^1.13.3",
- "side-channel-list": "^1.0.0",
- "side-channel-map": "^1.0.1",
- "side-channel-weakmap": "^1.0.2"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -22284,12 +24594,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/side-channel-list": {
- "version": "1.0.0",
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.8",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "es-errors": "^1.3.0",
- "object-inspect": "^1.13.3"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -22298,2064 +24610,2245 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/side-channel-map": {
- "version": "1.0.1",
+ "node_modules/stringify-entities": {
+ "version": "4.0.4",
"license": "MIT",
"dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.5",
- "object-inspect": "^1.13.3"
- },
- "engines": {
- "node": ">= 0.4"
+ "character-entities-html4": "^2.0.0",
+ "character-entities-legacy": "^3.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/side-channel-weakmap": {
- "version": "1.0.2",
+ "node_modules/strip-ansi": {
+ "version": "7.1.2",
"license": "MIT",
"dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.5",
- "object-inspect": "^1.13.3",
- "side-channel-map": "^1.0.1"
+ "ansi-regex": "^6.0.1"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=12"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/siginfo": {
- "version": "2.0.0",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "license": "ISC"
- },
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/simple-get": {
- "version": "4.0.1",
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
"license": "MIT",
"dependencies": {
- "decompress-response": "^6.0.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/sirv": {
- "version": "3.0.2",
- "dev": true,
+ "node_modules/strip-ansi/node_modules/ansi-regex": {
+ "version": "6.0.1",
"license": "MIT",
- "dependencies": {
- "@polka/url": "^1.0.0-next.24",
- "mrmime": "^2.0.0",
- "totalist": "^3.0.0"
+ "engines": {
+ "node": ">=12"
},
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/strip-eof": {
+ "version": "1.0.0",
+ "devOptional": true,
+ "license": "MIT",
"engines": {
- "node": ">=18"
+ "node": ">=0.10.0"
}
},
- "node_modules/slice-ansi": {
- "version": "5.0.0",
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-indent": {
+ "version": "3.0.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^6.0.0",
- "is-fullwidth-code-point": "^4.0.0"
+ "min-indent": "^1.0.0"
},
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ "node": ">=8"
}
},
- "node_modules/slice-ansi/node_modules/ansi-styles": {
- "version": "6.2.1",
- "dev": true,
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
"license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=8"
},
"funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
- "version": "4.0.0",
+ "node_modules/strip-outer": {
+ "version": "1.0.1",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=12"
+ "dependencies": {
+ "escape-string-regexp": "^1.0.2"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/smart-buffer": {
- "version": "4.2.0",
+ "node_modules/strip-outer/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 6.0.0",
- "npm": ">= 3.0.0"
+ "node": ">=0.8.0"
}
},
- "node_modules/snake-case": {
- "version": "3.0.4",
+ "node_modules/strnum": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz",
+ "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/stubborn-fs": {
+ "version": "2.0.0",
"license": "MIT",
"dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
+ "stubborn-utils": "^1.0.1"
}
},
- "node_modules/socks": {
- "version": "2.8.7",
- "dev": true,
+ "node_modules/stubborn-utils": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/studio-app": {
+ "resolved": "apps/studio",
+ "link": true
+ },
+ "node_modules/studio-cli": {
+ "resolved": "apps/cli",
+ "link": true
+ },
+ "node_modules/style-to-object": {
+ "version": "1.0.6",
"license": "MIT",
"dependencies": {
- "ip-address": "^10.0.1",
- "smart-buffer": "^4.2.0"
- },
- "engines": {
- "node": ">= 10.0.0",
- "npm": ">= 3.0.0"
+ "inline-style-parser": "0.2.3"
}
},
- "node_modules/socks-proxy-agent": {
- "version": "7.0.0",
+ "node_modules/stylis": {
+ "version": "4.2.0",
+ "license": "MIT"
+ },
+ "node_modules/sucrase": {
+ "version": "3.35.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "glob": "^10.3.10",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "bin": {
+ "sucrase": "bin/sucrase",
+ "sucrase-node": "bin/sucrase-node"
},
"engines": {
- "node": ">= 10"
+ "node": ">=16 || 14 >=14.17"
}
},
- "node_modules/source-map": {
- "version": "0.6.1",
+ "node_modules/sucrase/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
}
},
- "node_modules/source-map-js": {
- "version": "1.2.1",
+ "node_modules/sucrase/node_modules/commander": {
+ "version": "4.1.1",
"dev": true,
- "license": "BSD-3-Clause",
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 6"
}
},
- "node_modules/source-map-support": {
- "version": "0.5.21",
+ "node_modules/sucrase/node_modules/glob": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
+ "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",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/space-separated-tokens": {
- "version": "2.0.2",
- "license": "MIT",
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/spdx-correct": {
- "version": "3.2.0",
+ "node_modules/sucrase/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "ISC",
"dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/spdx-exceptions": {
- "version": "2.5.0",
+ "node_modules/sucrase/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
- "license": "CC-BY-3.0"
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
},
- "node_modules/spdx-expression-parse": {
+ "node_modules/sumchecker": {
"version": "3.0.1",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
+ "debug": "^4.1.0"
+ },
+ "engines": {
+ "node": ">= 8.0"
}
},
- "node_modules/spdx-license-ids": {
- "version": "3.0.22",
- "dev": true,
- "license": "CC0-1.0"
- },
- "node_modules/sprintf-js": {
- "version": "1.1.3",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true
- },
- "node_modules/ssri": {
- "version": "9.0.1",
- "dev": true,
- "license": "ISC",
+ "node_modules/superagent": {
+ "version": "10.2.3",
+ "license": "MIT",
"dependencies": {
- "minipass": "^3.1.1"
+ "component-emitter": "^1.3.1",
+ "cookiejar": "^2.1.4",
+ "debug": "^4.3.7",
+ "fast-safe-stringify": "^2.1.1",
+ "form-data": "^4.0.4",
+ "formidable": "^3.5.4",
+ "methods": "^1.1.2",
+ "mime": "2.6.0",
+ "qs": "^6.11.2"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": ">=14.18.0"
}
},
- "node_modules/stable-hash-x": {
- "version": "0.2.0",
- "dev": true,
+ "node_modules/superagent/node_modules/mime": {
+ "version": "2.6.0",
"license": "MIT",
+ "bin": {
+ "mime": "cli.js"
+ },
"engines": {
- "node": ">=12.0.0"
+ "node": ">=4.0.0"
}
},
- "node_modules/stackback": {
- "version": "0.0.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/statuses": {
- "version": "2.0.1",
+ "node_modules/supports-color": {
+ "version": "7.2.0",
"license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
"engines": {
- "node": ">= 0.8"
+ "node": ">=8"
}
},
- "node_modules/std-env": {
- "version": "3.10.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/stdin-discarder": {
- "version": "0.2.2",
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
"license": "MIT",
"engines": {
- "node": ">=18"
+ "node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/stop-iteration-iterator": {
- "version": "1.1.0",
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/synckit": {
+ "version": "0.11.12",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz",
+ "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "es-errors": "^1.3.0",
- "internal-slot": "^1.1.0"
+ "@pkgr/core": "^0.2.9"
},
"engines": {
- "node": ">= 0.4"
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/synckit"
}
},
- "node_modules/stream-buffers": {
- "version": "2.2.0",
- "license": "Unlicense",
+ "node_modules/systeminformation": {
+ "version": "5.30.7",
+ "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.30.7.tgz",
+ "integrity": "sha512-33B/cftpaWdpvH+Ho9U1b08ss8GQuLxrWHelbJT1yw4M48Taj8W3ezcPuaLoIHZz5V6tVHuQPr5BprEfnBLBMw==",
+ "license": "MIT",
"optional": true,
+ "os": [
+ "darwin",
+ "linux",
+ "win32",
+ "freebsd",
+ "openbsd",
+ "netbsd",
+ "sunos",
+ "android"
+ ],
+ "bin": {
+ "systeminformation": "lib/cli.js"
+ },
"engines": {
- "node": ">= 0.10.0"
+ "node": ">=8.0.0"
+ },
+ "funding": {
+ "type": "Buy me a coffee",
+ "url": "https://www.buymeacoffee.com/systeminfo"
}
},
- "node_modules/stream-meter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz",
- "integrity": "sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==",
+ "node_modules/tabbable": {
+ "version": "6.4.0",
+ "license": "MIT"
+ },
+ "node_modules/tailwindcss": {
+ "version": "3.4.1",
"dev": true,
"license": "MIT",
"dependencies": {
- "readable-stream": "^2.1.4"
+ "@alloc/quick-lru": "^5.2.0",
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.3.0",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "jiti": "^1.19.1",
+ "lilconfig": "^2.1.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.23",
+ "postcss-import": "^15.1.0",
+ "postcss-js": "^4.0.1",
+ "postcss-load-config": "^4.0.1",
+ "postcss-nested": "^6.0.1",
+ "postcss-selector-parser": "^6.0.11",
+ "resolve": "^1.22.2",
+ "sucrase": "^3.32.0"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
}
},
- "node_modules/stream-meter/node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true,
- "license": "MIT"
+ "node_modules/tannin": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@tannin/plural-forms": "^1.1.0"
+ }
},
- "node_modules/stream-meter/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "node_modules/tapable": {
+ "version": "2.3.0",
"dev": true,
"license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/tar": {
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz",
+ "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "@isaacs/fs-minipass": "^4.0.0",
+ "chownr": "^3.0.0",
+ "minipass": "^7.1.2",
+ "minizlib": "^3.1.0",
+ "yallist": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/stream-meter/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/tar-fs": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz",
+ "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "pump": "^3.0.0",
+ "tar-stream": "^3.1.5"
+ },
+ "optionalDependencies": {
+ "bare-fs": "^4.0.1",
+ "bare-path": "^3.0.0"
}
},
- "node_modules/streamx": {
- "version": "2.23.0",
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz",
- "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==",
+ "node_modules/tar-stream": {
+ "version": "3.1.7",
"license": "MIT",
"dependencies": {
- "events-universal": "^1.0.0",
- "fast-fifo": "^1.3.2",
- "text-decoder": "^1.1.0"
+ "b4a": "^1.6.4",
+ "fast-fifo": "^1.2.0",
+ "streamx": "^2.15.0"
}
},
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
+ "node_modules/tar/node_modules/chownr": {
+ "version": "3.0.0",
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/string_decoder/node_modules/safe-buffer": {
- "version": "5.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
+ "node_modules/tar/node_modules/minipass": {
+ "version": "7.1.2",
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
},
- "node_modules/string-width": {
- "version": "4.2.3",
+ "node_modules/tar/node_modules/minizlib": {
+ "version": "3.1.0",
"license": "MIT",
"dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
+ "minipass": "^7.1.2"
},
"engines": {
- "node": ">=8"
+ "node": ">= 18"
}
},
- "node_modules/string-width-cjs": {
- "name": "string-width",
- "version": "4.2.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
+ "node_modules/tar/node_modules/yallist": {
+ "version": "5.0.0",
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">=8"
+ "node": ">=18"
}
},
- "node_modules/string-width-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
+ "node_modules/temp": {
+ "version": "0.9.4",
"dev": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
- "ansi-regex": "^5.0.1"
+ "mkdirp": "^0.5.1",
+ "rimraf": "~2.6.2"
},
"engines": {
- "node": ">=8"
+ "node": ">=6.0.0"
}
},
- "node_modules/string-width/node_modules/strip-ansi": {
- "version": "6.0.1",
+ "node_modules/temp/node_modules/mkdirp": {
+ "version": "0.5.6",
+ "dev": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
- "ansi-regex": "^5.0.1"
+ "minimist": "^1.2.6"
},
- "engines": {
- "node": ">=8"
+ "bin": {
+ "mkdirp": "bin/cmd.js"
}
},
- "node_modules/string.prototype.trim": {
- "version": "1.2.10",
+ "node_modules/temp/node_modules/rimraf": {
+ "version": "2.6.3",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
+ "optional": true,
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "define-data-property": "^1.1.4",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-object-atoms": "^1.0.0",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
+ "glob": "^7.1.3"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "bin": {
+ "rimraf": "bin.js"
}
},
- "node_modules/string.prototype.trimend": {
- "version": "1.0.9",
+ "node_modules/terser": {
+ "version": "5.44.0",
"dev": true,
- "license": "MIT",
+ "license": "BSD-2-Clause",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.15.0",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
},
- "engines": {
- "node": ">= 0.4"
+ "bin": {
+ "terser": "bin/terser"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.8",
+ "node_modules/terser-webpack-plugin": {
+ "version": "5.3.16",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^4.3.0",
+ "serialize-javascript": "^6.0.2",
+ "terser": "^5.31.1"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">= 10.13.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/stringify-entities": {
- "version": "4.0.4",
- "license": "MIT",
- "dependencies": {
- "character-entities-html4": "^2.0.0",
- "character-entities-legacy": "^3.0.0"
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
}
},
- "node_modules/strip-ansi": {
- "version": "7.1.2",
+ "node_modules/terser-webpack-plugin/node_modules/jest-worker": {
+ "version": "27.5.1",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "ansi-regex": "^6.0.1"
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
},
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ "node": ">= 10.13.0"
}
},
- "node_modules/strip-ansi-cjs": {
- "name": "strip-ansi",
- "version": "6.0.1",
+ "node_modules/terser-webpack-plugin/node_modules/supports-color": {
+ "version": "8.1.1",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-regex": "^5.0.1"
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi/node_modules/ansi-regex": {
- "version": "6.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=12"
+ "node": ">=10"
},
"funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/strip-eof": {
- "version": "1.0.0",
- "devOptional": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
- "node_modules/strip-indent": {
- "version": "3.0.0",
+ "node_modules/terser/node_modules/commander": {
+ "version": "2.20.3",
"dev": true,
- "license": "MIT",
+ "license": "MIT"
+ },
+ "node_modules/text-decoder": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
+ "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
+ "license": "Apache-2.0",
"dependencies": {
- "min-indent": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
+ "b4a": "^1.6.4"
}
},
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
+ "node_modules/thenify": {
+ "version": "3.3.1",
+ "dev": true,
"license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "dependencies": {
+ "any-promise": "^1.0.0"
}
},
- "node_modules/strip-outer": {
- "version": "1.0.1",
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "escape-string-regexp": "^1.0.2"
+ "thenify": ">= 3.1.0 < 4"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.8"
}
},
- "node_modules/strip-outer/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
+ "node_modules/through": {
+ "version": "2.3.8",
+ "license": "MIT"
},
- "node_modules/stubborn-fs": {
- "version": "2.0.0",
+ "node_modules/tiny-each-async": {
+ "version": "2.0.3",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "stubborn-utils": "^1.0.1"
- }
+ "optional": true
},
- "node_modules/stubborn-utils": {
- "version": "1.0.2",
+ "node_modules/tiny-emitter": {
+ "version": "2.1.0",
"license": "MIT"
},
- "node_modules/style-to-object": {
- "version": "1.0.6",
- "license": "MIT",
- "dependencies": {
- "inline-style-parser": "0.2.3"
- }
+ "node_modules/tinybench": {
+ "version": "2.9.0",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/stylis": {
- "version": "4.2.0",
+ "node_modules/tinyexec": {
+ "version": "0.3.2",
+ "dev": true,
"license": "MIT"
},
- "node_modules/sucrase": {
- "version": "3.35.0",
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.2",
- "commander": "^4.0.0",
- "glob": "^10.3.10",
- "lines-and-columns": "^1.1.6",
- "mz": "^2.7.0",
- "pirates": "^4.0.1",
- "ts-interface-checker": "^0.1.9"
- },
- "bin": {
- "sucrase": "bin/sucrase",
- "sucrase-node": "bin/sucrase-node"
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/sucrase/node_modules/brace-expansion": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
}
},
- "node_modules/sucrase/node_modules/commander": {
- "version": "4.1.1",
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.5.0",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/sucrase/node_modules/glob": {
- "version": "10.3.10",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^2.3.5",
- "minimatch": "^9.0.1",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
- "path-scurry": "^1.10.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
+ "node": ">=12.0.0"
},
- "engines": {
- "node": ">=16 || 14 >=14.17"
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
}
},
- "node_modules/sucrase/node_modules/minimatch": {
- "version": "9.0.3",
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.3",
"dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
+ "license": "MIT",
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": ">=12"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/sucrase/node_modules/minipass": {
- "version": "7.0.4",
+ "node_modules/tinypool": {
+ "version": "1.1.1",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "^18.0.0 || >=20.0.0"
}
},
- "node_modules/sumchecker": {
- "version": "3.0.1",
+ "node_modules/tinyrainbow": {
+ "version": "1.2.0",
"dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "debug": "^4.1.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">= 8.0"
+ "node": ">=14.0.0"
}
},
- "node_modules/superagent": {
- "version": "10.2.3",
+ "node_modules/tinyspy": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
+ "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "component-emitter": "^1.3.1",
- "cookiejar": "^2.1.4",
- "debug": "^4.3.7",
- "fast-safe-stringify": "^2.1.1",
- "form-data": "^4.0.4",
- "formidable": "^3.5.4",
- "methods": "^1.1.2",
- "mime": "2.6.0",
- "qs": "^6.11.2"
- },
"engines": {
- "node": ">=14.18.0"
+ "node": ">=14.0.0"
}
},
- "node_modules/superagent/node_modules/mime": {
- "version": "2.6.0",
+ "node_modules/tmp": {
+ "version": "0.2.5",
"license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
"engines": {
- "node": ">=4.0.0"
+ "node": ">=14.14"
}
},
- "node_modules/supports-color": {
- "version": "7.2.0",
+ "node_modules/tmp-promise": {
+ "version": "3.0.3",
"license": "MIT",
"dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
+ "tmp": "^0.2.0"
}
},
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
+ "node_modules/tn1150": {
+ "version": "0.1.0",
"license": "MIT",
- "engines": {
- "node": ">= 0.4"
+ "optional": true,
+ "dependencies": {
+ "unorm": "^1.4.1"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "engines": {
+ "node": ">=0.12"
}
},
- "node_modules/symbol-tree": {
- "version": "3.2.4",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/synckit": {
- "version": "0.11.11",
- "dev": true,
+ "node_modules/to-buffer": {
+ "version": "1.2.2",
"license": "MIT",
"dependencies": {
- "@pkgr/core": "^0.2.9"
+ "isarray": "^2.0.5",
+ "safe-buffer": "^5.2.1",
+ "typed-array-buffer": "^1.0.3"
},
"engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/synckit"
+ "node": ">= 0.4"
}
},
- "node_modules/tabbable": {
- "version": "6.4.0",
- "license": "MIT"
- },
- "node_modules/tailwindcss": {
- "version": "3.4.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@alloc/quick-lru": "^5.2.0",
- "arg": "^5.0.2",
- "chokidar": "^3.5.3",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.3.0",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "jiti": "^1.19.1",
- "lilconfig": "^2.1.0",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "object-hash": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.23",
- "postcss-import": "^15.1.0",
- "postcss-js": "^4.0.1",
- "postcss-load-config": "^4.0.1",
- "postcss-nested": "^6.0.1",
- "postcss-selector-parser": "^6.0.11",
- "resolve": "^1.22.2",
- "sucrase": "^3.32.0"
- },
- "bin": {
- "tailwind": "lib/cli.js",
- "tailwindcss": "lib/cli.js"
+ "node_modules/to-buffer/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/to-data-view": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=8.0"
}
},
- "node_modules/tannin": {
- "version": "1.2.0",
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
"license": "MIT",
- "dependencies": {
- "@tannin/plural-forms": "^1.1.0"
+ "engines": {
+ "node": ">=0.6"
}
},
- "node_modules/tapable": {
- "version": "2.3.0",
+ "node_modules/totalist": {
+ "version": "3.0.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
}
},
- "node_modules/tar": {
- "version": "7.5.2",
- "license": "BlueOak-1.0.0",
+ "node_modules/tough-cookie": {
+ "version": "4.1.4",
+ "dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
- "@isaacs/fs-minipass": "^4.0.0",
- "chownr": "^3.0.0",
- "minipass": "^7.1.2",
- "minizlib": "^3.1.0",
- "yallist": "^5.0.0"
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
},
"engines": {
- "node": ">=18"
+ "node": ">=6"
}
},
- "node_modules/tar-fs": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz",
- "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==",
+ "node_modules/tough-cookie/node_modules/universalify": {
+ "version": "0.2.0",
"dev": true,
"license": "MIT",
- "dependencies": {
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- },
- "optionalDependencies": {
- "bare-fs": "^4.0.1",
- "bare-path": "^3.0.0"
+ "engines": {
+ "node": ">= 4.0.0"
}
},
- "node_modules/tar-stream": {
- "version": "3.1.7",
+ "node_modules/tr46": {
+ "version": "5.1.1",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
- }
- },
- "node_modules/tar/node_modules/chownr": {
- "version": "3.0.0",
- "license": "BlueOak-1.0.0",
+ "punycode": "^2.3.1"
+ },
"engines": {
"node": ">=18"
}
},
- "node_modules/tar/node_modules/minipass": {
- "version": "7.1.2",
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/tar/node_modules/minizlib": {
- "version": "3.1.0",
+ "node_modules/trash": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/trash/-/trash-10.1.0.tgz",
+ "integrity": "sha512-gOs9Hd1XMiJfORccP8KJNDmrSJ7YqO1CNt9lGOiBiydyBJab7Eaefkc/wj50b8lTtpB/4/VgezREs9NULOm42A==",
"license": "MIT",
"dependencies": {
- "minipass": "^7.1.2"
+ "@stroncium/procfs": "^1.2.1",
+ "chunkify": "^5.0.0",
+ "globby": "^14.1.0",
+ "is-path-inside": "^4.0.0",
+ "move-file": "^4.1.0",
+ "p-map": "^7.0.3",
+ "powershell-utils": "^0.2.0",
+ "wsl-utils": "^0.4.0",
+ "xdg-trashdir": "^3.1.0"
},
"engines": {
- "node": ">= 18"
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/tar/node_modules/yallist": {
- "version": "5.0.0",
- "license": "BlueOak-1.0.0",
+ "node_modules/trash/node_modules/p-map": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
+ "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
+ "license": "MIT",
"engines": {
"node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/temp": {
- "version": "0.9.4",
+ "node_modules/trim-lines": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/trim-repeated": {
+ "version": "1.0.0",
"dev": true,
"license": "MIT",
- "optional": true,
"dependencies": {
- "mkdirp": "^0.5.1",
- "rimraf": "~2.6.2"
+ "escape-string-regexp": "^1.0.2"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/temp/node_modules/mkdirp": {
- "version": "0.5.6",
+ "node_modules/trim-repeated/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
"dev": true,
"license": "MIT",
- "optional": true,
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
+ "engines": {
+ "node": ">=0.8.0"
}
},
- "node_modules/temp/node_modules/rimraf": {
- "version": "2.6.3",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
+ "node_modules/trough": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/terser": {
- "version": "5.44.0",
+ "node_modules/ts-api-utils": {
+ "version": "2.4.0",
"dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@jridgewell/source-map": "^0.3.3",
- "acorn": "^8.15.0",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=18.12"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4"
}
},
- "node_modules/terser-webpack-plugin": {
- "version": "5.3.16",
+ "node_modules/ts-interface-checker": {
+ "version": "0.1.13",
"dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/ts-node": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
+ "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
"license": "MIT",
"dependencies": {
- "@jridgewell/trace-mapping": "^0.3.25",
- "jest-worker": "^27.4.5",
- "schema-utils": "^4.3.0",
- "serialize-javascript": "^6.0.2",
- "terser": "^5.31.1"
- },
- "engines": {
- "node": ">= 10.13.0"
+ "@cspotcode/source-map-support": "^0.8.0",
+ "@tsconfig/node10": "^1.0.7",
+ "@tsconfig/node12": "^1.0.7",
+ "@tsconfig/node14": "^1.0.0",
+ "@tsconfig/node16": "^1.0.2",
+ "acorn": "^8.4.1",
+ "acorn-walk": "^8.1.1",
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "v8-compile-cache-lib": "^3.0.1",
+ "yn": "3.1.1"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-cwd": "dist/bin-cwd.js",
+ "ts-node-esm": "dist/bin-esm.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
},
"peerDependencies": {
- "webpack": "^5.1.0"
+ "@swc/core": ">=1.2.50",
+ "@swc/wasm": ">=1.2.50",
+ "@types/node": "*",
+ "typescript": ">=2.7"
},
"peerDependenciesMeta": {
"@swc/core": {
"optional": true
},
- "esbuild": {
- "optional": true
- },
- "uglify-js": {
- "optional": true
- }
- }
- },
- "node_modules/terser-webpack-plugin/node_modules/jest-worker": {
- "version": "27.5.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/terser-webpack-plugin/node_modules/supports-color": {
- "version": "8.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
+ "@swc/wasm": {
+ "optional": true
+ }
}
},
- "node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "dev": true,
+ "node_modules/ts-node/node_modules/arg": {
+ "version": "4.1.3",
"license": "MIT"
},
- "node_modules/text-decoder": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
- "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
- "license": "Apache-2.0",
- "dependencies": {
- "b4a": "^1.6.4"
- }
- },
- "node_modules/thenify": {
- "version": "3.3.1",
+ "node_modules/tsconfig-paths": {
+ "version": "3.15.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "any-promise": "^1.0.0"
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
}
},
- "node_modules/thenify-all": {
- "version": "1.6.0",
+ "node_modules/tsconfig-paths/node_modules/json5": {
+ "version": "1.0.2",
"dev": true,
"license": "MIT",
"dependencies": {
- "thenify": ">= 3.1.0 < 4"
+ "minimist": "^1.2.0"
},
- "engines": {
- "node": ">=0.8"
+ "bin": {
+ "json5": "lib/cli.js"
}
},
- "node_modules/through": {
- "version": "2.3.8",
- "license": "MIT"
- },
- "node_modules/tiny-each-async": {
- "version": "2.0.3",
+ "node_modules/tsconfig-paths/node_modules/strip-bom": {
+ "version": "3.0.0",
"dev": true,
"license": "MIT",
- "optional": true
+ "engines": {
+ "node": ">=4"
+ }
},
- "node_modules/tiny-emitter": {
- "version": "2.1.0",
- "license": "MIT"
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "license": "0BSD"
},
- "node_modules/tinybench": {
- "version": "2.9.0",
- "dev": true,
- "license": "MIT"
+ "node_modules/tsyringe": {
+ "version": "4.10.0",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^1.9.3"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
},
- "node_modules/tinyexec": {
- "version": "0.3.2",
- "dev": true,
- "license": "MIT"
+ "node_modules/tsyringe/node_modules/tslib": {
+ "version": "1.14.1",
+ "license": "0BSD"
},
- "node_modules/tinyglobby": {
- "version": "0.2.15",
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "fdir": "^6.5.0",
- "picomatch": "^4.0.3"
+ "safe-buffer": "^5.0.1"
},
"engines": {
- "node": ">=12.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/SuperchupuDev"
+ "node": "*"
}
},
- "node_modules/tinyglobby/node_modules/fdir": {
- "version": "6.5.0",
- "dev": true,
+ "node_modules/tus-js-client": {
+ "version": "4.3.1",
"license": "MIT",
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "picomatch": "^3 || ^4"
+ "dependencies": {
+ "buffer-from": "^1.1.2",
+ "combine-errors": "^3.0.3",
+ "is-stream": "^2.0.0",
+ "js-base64": "^3.7.2",
+ "lodash.throttle": "^4.1.1",
+ "proper-lockfile": "^4.1.2",
+ "url-parse": "^1.5.7"
},
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.3",
- "dev": true,
+ "node_modules/tus-js-client/node_modules/is-stream": {
+ "version": "2.0.1",
"license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=8"
},
"funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/tinypool": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT",
+ "node_modules/tv4": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.3.0.tgz",
+ "integrity": "sha512-afizzfpJgvPr+eDkREK4MxJ/+r8nEEHcmitwgnPUqpaP+FpwQyadnxNoSACbgc/b1LsZYtODGoPiFxQrgJgjvw==",
+ "license": [
+ {
+ "type": "Public Domain",
+ "url": "http://geraintluff.github.io/tv4/LICENSE.txt"
+ },
+ {
+ "type": "MIT",
+ "url": "http://jsonary.com/LICENSE.txt"
+ }
+ ],
"engines": {
- "node": "^18.0.0 || >=20.0.0"
+ "node": ">= 0.8.0"
}
},
- "node_modules/tinyrainbow": {
- "version": "1.2.0",
- "dev": true,
+ "node_modules/tx2": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tx2/-/tx2-1.0.5.tgz",
+ "integrity": "sha512-sJ24w0y03Md/bxzK4FU8J8JveYYUbSs2FViLJ2D/8bytSiyPRbuE3DyL/9UKYXTZlV3yXq0L8GLlhobTnekCVg==",
"license": "MIT",
- "engines": {
- "node": ">=14.0.0"
+ "optional": true,
+ "dependencies": {
+ "json-stringify-safe": "^5.0.1"
}
},
- "node_modules/tinyspy": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
- "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==",
- "dev": true,
+ "node_modules/type-check": {
+ "version": "0.4.0",
"license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
"engines": {
- "node": ">=14.0.0"
+ "node": ">= 0.8.0"
}
},
- "node_modules/tmp": {
- "version": "0.2.5",
- "dev": true,
+ "node_modules/type-is": {
+ "version": "1.6.18",
"license": "MIT",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
"engines": {
- "node": ">=14.14"
+ "node": ">= 0.6"
}
},
- "node_modules/tmp-promise": {
- "version": "3.0.3",
- "dev": true,
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.3",
"license": "MIT",
- "optional": true,
"dependencies": {
- "tmp": "^0.2.0"
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
- "node_modules/tn1150": {
- "version": "0.1.0",
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.3",
+ "dev": true,
"license": "MIT",
- "optional": true,
"dependencies": {
- "unorm": "^1.4.1"
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.14"
},
"engines": {
- "node": ">=0.12"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/to-buffer": {
- "version": "1.2.2",
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.4",
"dev": true,
"license": "MIT",
"dependencies": {
- "isarray": "^2.0.5",
- "safe-buffer": "^5.2.1",
- "typed-array-buffer": "^1.0.3"
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.15",
+ "reflect.getprototypeof": "^1.0.9"
},
"engines": {
"node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/to-buffer/node_modules/safe-buffer": {
- "version": "5.2.1",
+ "node_modules/typed-array-length": {
+ "version": "1.0.7",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/to-data-view": {
- "version": "1.1.0",
"license": "MIT",
- "optional": true
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0",
+ "reflect.getprototypeof": "^1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.9.3",
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
},
- "node_modules/to-regex-range": {
- "version": "5.0.1",
+ "node_modules/typescript-eslint": {
+ "version": "8.53.1",
"dev": true,
"license": "MIT",
"dependencies": {
- "is-number": "^7.0.0"
+ "@typescript-eslint/eslint-plugin": "8.53.1",
+ "@typescript-eslint/parser": "8.53.1",
+ "@typescript-eslint/typescript-estree": "8.53.1",
+ "@typescript-eslint/utils": "8.53.1"
},
"engines": {
- "node": ">=8.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
}
},
- "node_modules/toidentifier": {
- "version": "1.0.1",
+ "node_modules/unbox-primitive": {
+ "version": "1.1.0",
+ "dev": true,
"license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "which-boxed-primitive": "^1.1.1"
+ },
"engines": {
- "node": ">=0.6"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/totalist": {
- "version": "3.0.1",
+ "node_modules/undici-types": {
+ "version": "6.21.0",
+ "license": "MIT"
+ },
+ "node_modules/unicode-canonical-property-names-ecmascript": {
+ "version": "2.0.1",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=6"
+ "node": ">=4"
}
},
- "node_modules/tough-cookie": {
- "version": "4.1.4",
+ "node_modules/unicode-match-property-ecmascript": {
+ "version": "2.0.0",
"dev": true,
- "license": "BSD-3-Clause",
+ "license": "MIT",
"dependencies": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.2.0",
- "url-parse": "^1.5.3"
+ "unicode-canonical-property-names-ecmascript": "^2.0.0",
+ "unicode-property-aliases-ecmascript": "^2.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=4"
}
},
- "node_modules/tough-cookie/node_modules/universalify": {
- "version": "0.2.0",
+ "node_modules/unicode-match-property-value-ecmascript": {
+ "version": "2.2.0",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 4.0.0"
+ "node": ">=4"
}
},
- "node_modules/tr46": {
- "version": "5.1.1",
+ "node_modules/unicode-property-aliases-ecmascript": {
+ "version": "2.1.0",
"dev": true,
"license": "MIT",
- "dependencies": {
- "punycode": "^2.3.1"
- },
"engines": {
- "node": ">=18"
+ "node": ">=4"
}
},
- "node_modules/trim-lines": {
- "version": "3.0.1",
+ "node_modules/unicorn-magic": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
+ "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/trim-repeated": {
- "version": "1.0.0",
- "dev": true,
+ "node_modules/unified": {
+ "version": "11.0.4",
"license": "MIT",
"dependencies": {
- "escape-string-regexp": "^1.0.2"
+ "@types/unist": "^3.0.0",
+ "bail": "^2.0.0",
+ "devlop": "^1.0.0",
+ "extend": "^3.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^6.0.0"
},
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/trim-repeated/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "dev": true,
+ "node_modules/unified/node_modules/is-plain-obj": {
+ "version": "4.1.0",
"license": "MIT",
"engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/trough": {
- "version": "2.2.0",
- "license": "MIT",
+ "node": ">=12"
+ },
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/ts-api-utils": {
- "version": "2.4.0",
+ "node_modules/unique-filename": {
+ "version": "2.0.1",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18.12"
+ "license": "ISC",
+ "dependencies": {
+ "unique-slug": "^3.0.0"
},
- "peerDependencies": {
- "typescript": ">=4.8.4"
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/ts-interface-checker": {
- "version": "0.1.13",
+ "node_modules/unique-slug": {
+ "version": "3.0.0",
"dev": true,
- "license": "Apache-2.0"
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
},
- "node_modules/ts-node": {
- "version": "10.9.2",
+ "node_modules/unist-util-is": {
+ "version": "6.0.0",
"license": "MIT",
"dependencies": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-esm": "dist/bin-esm.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
+ "@types/unist": "^3.0.0"
},
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/ts-node/node_modules/arg": {
- "version": "4.1.3",
- "license": "MIT"
- },
- "node_modules/tsconfig-paths": {
- "version": "3.15.0",
- "dev": true,
+ "node_modules/unist-util-position": {
+ "version": "5.0.0",
"license": "MIT",
"dependencies": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/tsconfig-paths/node_modules/json5": {
- "version": "1.0.2",
- "dev": true,
+ "node_modules/unist-util-remove-position": {
+ "version": "5.0.0",
"license": "MIT",
"dependencies": {
- "minimist": "^1.2.0"
+ "@types/unist": "^3.0.0",
+ "unist-util-visit": "^5.0.0"
},
- "bin": {
- "json5": "lib/cli.js"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/tsconfig-paths/node_modules/strip-bom": {
- "version": "3.0.0",
- "dev": true,
+ "node_modules/unist-util-stringify-position": {
+ "version": "4.0.0",
"license": "MIT",
- "engines": {
- "node": ">=4"
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/tsyringe": {
- "version": "4.10.0",
- "dev": true,
+ "node_modules/unist-util-visit": {
+ "version": "5.0.0",
"license": "MIT",
"dependencies": {
- "tslib": "^1.9.3"
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit-parents": "^6.0.0"
},
- "engines": {
- "node": ">= 6.0.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/tsyringe/node_modules/tslib": {
- "version": "1.14.1",
- "dev": true,
- "license": "0BSD"
- },
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
- "license": "Apache-2.0",
+ "node_modules/unist-util-visit-parents": {
+ "version": "6.0.1",
+ "license": "MIT",
"dependencies": {
- "safe-buffer": "^5.0.1"
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0"
},
- "engines": {
- "node": "*"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/tus-js-client": {
- "version": "4.3.1",
+ "node_modules/universal-github-app-jwt": {
+ "version": "1.2.0",
"license": "MIT",
"dependencies": {
- "buffer-from": "^1.1.2",
- "combine-errors": "^3.0.3",
- "is-stream": "^2.0.0",
- "js-base64": "^3.7.2",
- "lodash.throttle": "^4.1.1",
- "proper-lockfile": "^4.1.2",
- "url-parse": "^1.5.7"
- },
- "engines": {
- "node": ">=18"
+ "@types/jsonwebtoken": "^9.0.0",
+ "jsonwebtoken": "^9.0.2"
}
},
- "node_modules/tus-js-client/node_modules/is-stream": {
+ "node_modules/universal-user-agent": {
+ "version": "6.0.1",
+ "license": "ISC"
+ },
+ "node_modules/universalify": {
"version": "2.0.1",
"license": "MIT",
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">= 10.0.0"
}
},
- "node_modules/type-check": {
- "version": "0.4.0",
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
+ "node_modules/unorm": {
+ "version": "1.6.0",
+ "license": "MIT or GPL-2.0",
+ "optional": true,
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 0.4.0"
}
},
- "node_modules/type-is": {
- "version": "1.6.18",
+ "node_modules/unpipe": {
+ "version": "1.0.0",
"license": "MIT",
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
"engines": {
- "node": ">= 0.6"
+ "node": ">= 0.8"
}
},
- "node_modules/typed-array-buffer": {
- "version": "1.0.3",
+ "node_modules/unplugin": {
+ "version": "1.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "is-typed-array": "^1.1.14"
- },
- "engines": {
- "node": ">= 0.4"
+ "acorn": "^8.8.1",
+ "chokidar": "^3.5.3",
+ "webpack-sources": "^3.2.3",
+ "webpack-virtual-modules": "^0.5.0"
}
},
- "node_modules/typed-array-byte-length": {
- "version": "1.0.3",
+ "node_modules/unrs-resolver": {
+ "version": "1.11.1",
"dev": true,
+ "hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "for-each": "^0.3.3",
- "gopd": "^1.2.0",
- "has-proto": "^1.2.0",
- "is-typed-array": "^1.1.14"
- },
- "engines": {
- "node": ">= 0.4"
+ "napi-postinstall": "^0.3.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://opencollective.com/unrs-resolver"
+ },
+ "optionalDependencies": {
+ "@unrs/resolver-binding-android-arm-eabi": "1.11.1",
+ "@unrs/resolver-binding-android-arm64": "1.11.1",
+ "@unrs/resolver-binding-darwin-arm64": "1.11.1",
+ "@unrs/resolver-binding-darwin-x64": "1.11.1",
+ "@unrs/resolver-binding-freebsd-x64": "1.11.1",
+ "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1",
+ "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1",
+ "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-arm64-musl": "1.11.1",
+ "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1",
+ "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-x64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-x64-musl": "1.11.1",
+ "@unrs/resolver-binding-wasm32-wasi": "1.11.1",
+ "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1",
+ "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1",
+ "@unrs/resolver-binding-win32-x64-msvc": "1.11.1"
}
},
- "node_modules/typed-array-byte-offset": {
- "version": "1.0.4",
+ "node_modules/unzip-crx-3": {
+ "version": "0.2.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
- "for-each": "^0.3.3",
- "gopd": "^1.2.0",
- "has-proto": "^1.2.0",
- "is-typed-array": "^1.1.15",
- "reflect.getprototypeof": "^1.0.9"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "jszip": "^3.1.0",
+ "mkdirp": "^0.5.1",
+ "yaku": "^0.16.6"
}
},
- "node_modules/typed-array-length": {
- "version": "1.0.7",
+ "node_modules/unzip-crx-3/node_modules/mkdirp": {
+ "version": "0.5.6",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "is-typed-array": "^1.1.13",
- "possible-typed-array-names": "^1.0.0",
- "reflect.getprototypeof": "^1.0.6"
- },
- "engines": {
- "node": ">= 0.4"
+ "minimist": "^1.2.6"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "bin": {
+ "mkdirp": "bin/cmd.js"
}
},
- "node_modules/typescript": {
- "version": "5.9.3",
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
+ "node_modules/unzipper": {
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.3.tgz",
+ "integrity": "sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bluebird": "~3.7.2",
+ "duplexer2": "~0.1.4",
+ "fs-extra": "^11.2.0",
+ "graceful-fs": "^4.2.2",
+ "node-int64": "^0.4.0"
}
},
- "node_modules/typescript-eslint": {
- "version": "8.53.1",
+ "node_modules/update-browserslist-db": {
+ "version": "1.2.3",
"dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.53.1",
- "@typescript-eslint/parser": "8.53.1",
- "@typescript-eslint/typescript-estree": "8.53.1",
- "@typescript-eslint/utils": "8.53.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "bin": {
+ "update-browserslist-db": "cli.js"
},
"peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
+ "browserslist": ">= 4.21.0"
}
},
- "node_modules/unbox-primitive": {
- "version": "1.1.0",
- "dev": true,
+ "node_modules/upper-case": {
+ "version": "2.0.2",
"license": "MIT",
"dependencies": {
- "call-bound": "^1.0.3",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.1.0",
- "which-boxed-primitive": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "tslib": "^2.0.3"
}
},
- "node_modules/undici-types": {
- "version": "6.21.0",
- "license": "MIT"
+ "node_modules/upper-case-first": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
},
- "node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "2.0.1",
- "dev": true,
+ "node_modules/uppercamelcase": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "camelcase": "^1.2.1"
+ }
+ },
+ "node_modules/uppercamelcase/node_modules/camelcase": {
+ "version": "1.2.1",
"license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
}
},
- "node_modules/unicode-match-property-ecmascript": {
- "version": "2.0.0",
- "dev": true,
+ "node_modules/url-parse": {
+ "version": "1.5.10",
"license": "MIT",
"dependencies": {
- "unicode-canonical-property-names-ecmascript": "^2.0.0",
- "unicode-property-aliases-ecmascript": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
}
},
- "node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.2.0",
- "dev": true,
+ "node_modules/use-memo-one": {
+ "version": "1.1.3",
"license": "MIT",
- "engines": {
- "node": ">=4"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/unicode-property-aliases-ecmascript": {
- "version": "2.1.0",
- "dev": true,
+ "node_modules/use-sync-external-store": {
+ "version": "1.6.0",
"license": "MIT",
- "engines": {
- "node": ">=4"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
- "node_modules/unified": {
- "version": "11.0.4",
+ "node_modules/user-home": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
+ "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==",
"license": "MIT",
"dependencies": {
- "@types/unist": "^3.0.0",
- "bail": "^2.0.0",
- "devlop": "^1.0.0",
- "extend": "^3.0.0",
- "is-plain-obj": "^4.0.0",
- "trough": "^2.0.0",
- "vfile": "^6.0.0"
+ "os-homedir": "^1.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/unified/node_modules/is-plain-obj": {
- "version": "4.1.0",
- "license": "MIT",
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=0.10.0"
}
},
- "node_modules/unique-filename": {
- "version": "2.0.1",
+ "node_modules/username": {
+ "version": "5.1.0",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "unique-slug": "^3.0.0"
+ "execa": "^1.0.0",
+ "mem": "^4.3.0"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": ">=8"
}
},
- "node_modules/unique-slug": {
- "version": "3.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4"
- },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/utility-types": {
+ "version": "3.11.0",
+ "license": "MIT",
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": ">= 4"
}
},
- "node_modules/unist-util-is": {
- "version": "6.0.0",
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
"license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "engines": {
+ "node": ">= 0.4.0"
}
},
- "node_modules/unist-util-position": {
- "version": "5.0.0",
+ "node_modules/uuid": {
+ "version": "9.0.1",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
"license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/v8-compile-cache-lib": {
+ "version": "3.0.1",
+ "license": "MIT"
+ },
+ "node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "@types/unist": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
}
},
- "node_modules/unist-util-remove-position": {
- "version": "5.0.0",
+ "node_modules/vary": {
+ "version": "1.1.2",
"license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "unist-util-visit": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "engines": {
+ "node": ">= 0.8"
}
},
- "node_modules/unist-util-stringify-position": {
- "version": "4.0.0",
+ "node_modules/vfile": {
+ "version": "6.0.1",
"license": "MIT",
"dependencies": {
- "@types/unist": "^3.0.0"
+ "@types/unist": "^3.0.0",
+ "unist-util-stringify-position": "^4.0.0",
+ "vfile-message": "^4.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/unist-util-visit": {
- "version": "5.0.0",
+ "node_modules/vfile-location": {
+ "version": "5.0.3",
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
- "unist-util-is": "^6.0.0",
- "unist-util-visit-parents": "^6.0.0"
+ "vfile": "^6.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/unist-util-visit-parents": {
- "version": "6.0.1",
+ "node_modules/vfile-message": {
+ "version": "4.0.2",
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
- "unist-util-is": "^6.0.0"
+ "unist-util-stringify-position": "^4.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/universal-github-app-jwt": {
- "version": "1.2.0",
+ "node_modules/vite": {
+ "version": "7.3.1",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/jsonwebtoken": "^9.0.0",
- "jsonwebtoken": "^9.0.2"
+ "esbuild": "^0.27.0",
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3",
+ "postcss": "^8.5.6",
+ "rollup": "^4.43.0",
+ "tinyglobby": "^0.2.15"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^20.19.0 || >=22.12.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.0",
+ "lightningcss": "^1.21.0",
+ "sass": "^1.70.0",
+ "sass-embedded": "^1.70.0",
+ "stylus": ">=0.54.8",
+ "sugarss": "^5.0.0",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
}
},
- "node_modules/universal-user-agent": {
- "version": "6.0.1",
+ "node_modules/vite-node": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz",
+ "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==",
"dev": true,
- "license": "ISC"
- },
- "node_modules/universalify": {
- "version": "2.0.1",
"license": "MIT",
+ "dependencies": {
+ "cac": "^6.7.14",
+ "debug": "^4.3.7",
+ "es-module-lexer": "^1.5.4",
+ "pathe": "^1.1.2",
+ "vite": "^5.0.0"
+ },
+ "bin": {
+ "vite-node": "vite-node.mjs"
+ },
"engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/unorm": {
- "version": "1.6.0",
- "license": "MIT or GPL-2.0",
- "optional": true,
- "engines": {
- "node": ">= 0.4.0"
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
}
},
- "node_modules/unpipe": {
- "version": "1.0.0",
+ "node_modules/vite-node/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
"engines": {
- "node": ">= 0.8"
+ "node": ">=12"
}
},
- "node_modules/unplugin": {
- "version": "1.0.1",
+ "node_modules/vite-node/node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "acorn": "^8.8.1",
- "chokidar": "^3.5.3",
- "webpack-sources": "^3.2.3",
- "webpack-virtual-modules": "^0.5.0"
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/unrs-resolver": {
- "version": "1.11.1",
+ "node_modules/vite-node/node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "hasInstallScript": true,
"license": "MIT",
- "dependencies": {
- "napi-postinstall": "^0.3.0"
- },
- "funding": {
- "url": "https://opencollective.com/unrs-resolver"
- },
- "optionalDependencies": {
- "@unrs/resolver-binding-android-arm-eabi": "1.11.1",
- "@unrs/resolver-binding-android-arm64": "1.11.1",
- "@unrs/resolver-binding-darwin-arm64": "1.11.1",
- "@unrs/resolver-binding-darwin-x64": "1.11.1",
- "@unrs/resolver-binding-freebsd-x64": "1.11.1",
- "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1",
- "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1",
- "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-arm64-musl": "1.11.1",
- "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1",
- "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-x64-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-x64-musl": "1.11.1",
- "@unrs/resolver-binding-wasm32-wasi": "1.11.1",
- "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1",
- "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1",
- "@unrs/resolver-binding-win32-x64-msvc": "1.11.1"
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/unzip-crx-3": {
- "version": "0.2.0",
+ "node_modules/vite-node/node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "jszip": "^3.1.0",
- "mkdirp": "^0.5.1",
- "yaku": "^0.16.6"
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/unzip-crx-3/node_modules/mkdirp": {
- "version": "0.5.6",
+ "node_modules/vite-node/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/unzipper": {
- "version": "0.12.3",
- "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.3.tgz",
- "integrity": "sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==",
+ "node_modules/vite-node/node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "bluebird": "~3.7.2",
- "duplexer2": "~0.1.4",
- "fs-extra": "^11.2.0",
- "graceful-fs": "^4.2.2",
- "node-int64": "^0.4.0"
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/update-browserslist-db": {
- "version": "1.2.3",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
+ "node_modules/vite-node/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "escalade": "^3.2.0",
- "picocolors": "^1.1.1"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/upper-case": {
- "version": "2.0.2",
+ "node_modules/vite-node/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/upper-case-first": {
- "version": "2.0.2",
+ "node_modules/vite-node/node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/uppercamelcase": {
- "version": "1.1.0",
+ "node_modules/vite-node/node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "camelcase": "^1.2.1"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/uppercamelcase/node_modules/camelcase": {
- "version": "1.2.1",
+ "node_modules/vite-node/node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=0.10.0"
+ "node": ">=12"
}
},
- "node_modules/uri-js": {
- "version": "4.4.1",
- "license": "BSD-2-Clause",
- "dependencies": {
- "punycode": "^2.1.0"
+ "node_modules/vite-node/node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/url-parse": {
- "version": "1.5.10",
+ "node_modules/vite-node/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/use-memo-one": {
- "version": "1.1.3",
+ "node_modules/vite-node/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
"license": "MIT",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/use-sync-external-store": {
- "version": "1.6.0",
+ "node_modules/vite-node/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
"license": "MIT",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/username": {
- "version": "5.1.0",
+ "node_modules/vite-node/node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "execa": "^1.0.0",
- "mem": "^4.3.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=12"
}
},
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "license": "MIT"
- },
- "node_modules/utility-types": {
- "version": "3.11.0",
+ "node_modules/vite-node/node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 4"
+ "node": ">=12"
}
},
- "node_modules/utils-merge": {
- "version": "1.0.1",
+ "node_modules/vite-node/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">= 0.4.0"
+ "node": ">=12"
}
},
- "node_modules/uuid": {
- "version": "9.0.1",
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
+ "node_modules/vite-node/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
],
+ "dev": true,
"license": "MIT",
- "bin": {
- "uuid": "dist/bin/uuid"
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/v8-compile-cache-lib": {
- "version": "3.0.1",
- "license": "MIT"
- },
- "node_modules/validate-npm-package-license": {
- "version": "3.0.4",
+ "node_modules/vite-node/node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/vary": {
- "version": "1.1.2",
+ "node_modules/vite-node/node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">= 0.8"
+ "node": ">=12"
}
},
- "node_modules/vfile": {
- "version": "6.0.1",
+ "node_modules/vite-node/node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "unist-util-stringify-position": "^4.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/vfile-location": {
- "version": "5.0.3",
+ "node_modules/vite-node/node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "vfile": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/vfile-message": {
- "version": "4.0.2",
+ "node_modules/vite-node/node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
"license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "unist-util-stringify-position": "^4.0.0"
+ "bin": {
+ "esbuild": "bin/esbuild"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
}
},
- "node_modules/vite": {
- "version": "7.3.1",
+ "node_modules/vite-node/node_modules/vite": {
+ "version": "5.4.21",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
+ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "esbuild": "^0.27.0",
- "fdir": "^6.5.0",
- "picomatch": "^4.0.3",
- "postcss": "^8.5.6",
- "rollup": "^4.43.0",
- "tinyglobby": "^0.2.15"
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
- "node": "^20.19.0 || >=22.12.0"
+ "node": "^18.0.0 || >=20.0.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
@@ -24364,25 +26857,19 @@
"fsevents": "~2.3.3"
},
"peerDependencies": {
- "@types/node": "^20.19.0 || >=22.12.0",
- "jiti": ">=1.21.0",
- "less": "^4.0.0",
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
"lightningcss": "^1.21.0",
- "sass": "^1.70.0",
- "sass-embedded": "^1.70.0",
- "stylus": ">=0.54.8",
- "sugarss": "^5.0.0",
- "terser": "^5.16.0",
- "tsx": "^4.8.1",
- "yaml": "^2.4.2"
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
},
"peerDependenciesMeta": {
"@types/node": {
"optional": true
},
- "jiti": {
- "optional": true
- },
"less": {
"optional": true
},
@@ -24403,258 +26890,434 @@
},
"terser": {
"optional": true
- },
- "tsx": {
- "optional": true
- },
- "yaml": {
- "optional": true
}
}
},
- "node_modules/vite-node": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz",
- "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==",
+ "node_modules/vite-plugin-static-copy": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chokidar": "^3.6.0",
+ "p-map": "^7.0.4",
+ "picocolors": "^1.1.1",
+ "tinyglobby": "^0.2.15"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/sapphi-red"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
+ "node_modules/vite-plugin-static-copy/node_modules/p-map": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/vite-plugin-top-level-await": {
+ "version": "1.6.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/plugin-virtual": "^3.0.2",
+ "@swc/core": "^1.12.14",
+ "@swc/wasm": "^1.12.14",
+ "uuid": "10.0.0"
+ },
+ "peerDependencies": {
+ "vite": ">=2.8"
+ }
+ },
+ "node_modules/vite-plugin-top-level-await/node_modules/uuid": {
+ "version": "10.0.0",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/vite-plugin-wasm": {
+ "version": "3.5.0",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "vite": "^2 || ^3 || ^4 || ^5 || ^6 || ^7"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.1.tgz",
+ "integrity": "sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-arm": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.1.tgz",
+ "integrity": "sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-arm64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.1.tgz",
+ "integrity": "sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-x64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.1.tgz",
+ "integrity": "sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.27.1",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/darwin-x64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.1.tgz",
+ "integrity": "sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.1.tgz",
+ "integrity": "sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.1.tgz",
+ "integrity": "sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-arm": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.1.tgz",
+ "integrity": "sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-arm64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.1.tgz",
+ "integrity": "sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "cac": "^6.7.14",
- "debug": "^4.3.7",
- "es-module-lexer": "^1.5.4",
- "pathe": "^1.1.2",
- "vite": "^5.0.0"
- },
- "bin": {
- "vite-node": "vite-node.mjs"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
+ "node": ">=18"
}
},
- "node_modules/vite-node/node_modules/@esbuild/darwin-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "node_modules/vite/node_modules/@esbuild/linux-ia32": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.1.tgz",
+ "integrity": "sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==",
"cpu": [
- "arm64"
+ "ia32"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "darwin"
+ "linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
- "node_modules/vite-node/node_modules/esbuild": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
- "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "node_modules/vite/node_modules/@esbuild/linux-loong64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.1.tgz",
+ "integrity": "sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==",
+ "cpu": [
+ "loong64"
+ ],
"dev": true,
- "hasInstallScript": true,
"license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.21.5",
- "@esbuild/android-arm": "0.21.5",
- "@esbuild/android-arm64": "0.21.5",
- "@esbuild/android-x64": "0.21.5",
- "@esbuild/darwin-arm64": "0.21.5",
- "@esbuild/darwin-x64": "0.21.5",
- "@esbuild/freebsd-arm64": "0.21.5",
- "@esbuild/freebsd-x64": "0.21.5",
- "@esbuild/linux-arm": "0.21.5",
- "@esbuild/linux-arm64": "0.21.5",
- "@esbuild/linux-ia32": "0.21.5",
- "@esbuild/linux-loong64": "0.21.5",
- "@esbuild/linux-mips64el": "0.21.5",
- "@esbuild/linux-ppc64": "0.21.5",
- "@esbuild/linux-riscv64": "0.21.5",
- "@esbuild/linux-s390x": "0.21.5",
- "@esbuild/linux-x64": "0.21.5",
- "@esbuild/netbsd-x64": "0.21.5",
- "@esbuild/openbsd-x64": "0.21.5",
- "@esbuild/sunos-x64": "0.21.5",
- "@esbuild/win32-arm64": "0.21.5",
- "@esbuild/win32-ia32": "0.21.5",
- "@esbuild/win32-x64": "0.21.5"
+ "node": ">=18"
}
},
- "node_modules/vite-node/node_modules/vite": {
- "version": "5.4.21",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
- "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
+ "node_modules/vite/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.1.tgz",
+ "integrity": "sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==",
+ "cpu": [
+ "mips64el"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "esbuild": "^0.21.3",
- "postcss": "^8.4.43",
- "rollup": "^4.20.0"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.3"
- },
- "peerDependencies": {
- "@types/node": "^18.0.0 || >=20.0.0",
- "less": "*",
- "lightningcss": "^1.21.0",
- "sass": "*",
- "sass-embedded": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
+ "node": ">=18"
}
},
- "node_modules/vite-plugin-static-copy": {
- "version": "3.2.0",
+ "node_modules/vite/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.1.tgz",
+ "integrity": "sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "chokidar": "^3.6.0",
- "p-map": "^7.0.4",
- "picocolors": "^1.1.1",
- "tinyglobby": "^0.2.15"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/sapphi-red"
- },
- "peerDependencies": {
- "vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ "node": ">=18"
}
},
- "node_modules/vite-plugin-static-copy/node_modules/p-map": {
- "version": "7.0.4",
+ "node_modules/vite/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.1.tgz",
+ "integrity": "sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/vite-plugin-top-level-await": {
- "version": "1.6.0",
+ "node_modules/vite/node_modules/@esbuild/linux-s390x": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.1.tgz",
+ "integrity": "sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@rollup/plugin-virtual": "^3.0.2",
- "@swc/core": "^1.12.14",
- "@swc/wasm": "^1.12.14",
- "uuid": "10.0.0"
- },
- "peerDependencies": {
- "vite": ">=2.8"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/vite-plugin-top-level-await/node_modules/uuid": {
- "version": "10.0.0",
+ "node_modules/vite/node_modules/@esbuild/linux-x64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.1.tgz",
+ "integrity": "sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.1.tgz",
+ "integrity": "sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
],
- "license": "MIT",
- "bin": {
- "uuid": "dist/bin/uuid"
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/vite-plugin-wasm": {
- "version": "3.5.0",
+ "node_modules/vite/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.1.tgz",
+ "integrity": "sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peerDependencies": {
- "vite": "^2 || ^3 || ^4 || ^5 || ^6 || ^7"
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/vite/node_modules/@esbuild/aix-ppc64": {
+ "node_modules/vite/node_modules/@esbuild/openbsd-arm64": {
"version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.1.tgz",
- "integrity": "sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.1.tgz",
+ "integrity": "sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==",
"cpu": [
- "ppc64"
+ "arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "aix"
+ "openbsd"
],
"engines": {
"node": ">=18"
}
},
- "node_modules/vite/node_modules/@esbuild/android-arm": {
+ "node_modules/vite/node_modules/@esbuild/openbsd-x64": {
"version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.1.tgz",
- "integrity": "sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.1.tgz",
+ "integrity": "sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==",
"cpu": [
- "arm"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "android"
+ "openbsd"
],
"engines": {
"node": ">=18"
}
},
- "node_modules/vite/node_modules/@esbuild/android-arm64": {
+ "node_modules/vite/node_modules/@esbuild/openharmony-arm64": {
"version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.1.tgz",
- "integrity": "sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.1.tgz",
+ "integrity": "sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==",
"cpu": [
"arm64"
],
@@ -24662,16 +27325,16 @@
"license": "MIT",
"optional": true,
"os": [
- "android"
+ "openharmony"
],
"engines": {
"node": ">=18"
}
},
- "node_modules/vite/node_modules/@esbuild/android-x64": {
+ "node_modules/vite/node_modules/@esbuild/sunos-x64": {
"version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.1.tgz",
- "integrity": "sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.1.tgz",
+ "integrity": "sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==",
"cpu": [
"x64"
],
@@ -24679,14 +27342,16 @@
"license": "MIT",
"optional": true,
"os": [
- "android"
+ "sunos"
],
"engines": {
"node": ">=18"
}
},
- "node_modules/vite/node_modules/@esbuild/darwin-arm64": {
+ "node_modules/vite/node_modules/@esbuild/win32-arm64": {
"version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.1.tgz",
+ "integrity": "sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==",
"cpu": [
"arm64"
],
@@ -24694,67 +27359,200 @@
"license": "MIT",
"optional": true,
"os": [
- "darwin"
+ "win32"
],
"engines": {
"node": ">=18"
}
},
- "node_modules/vite/node_modules/@esbuild/darwin-x64": {
+ "node_modules/vite/node_modules/@esbuild/win32-ia32": {
"version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.1.tgz",
- "integrity": "sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.1.tgz",
+ "integrity": "sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==",
"cpu": [
- "x64"
+ "ia32"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "darwin"
+ "win32"
],
"engines": {
"node": ">=18"
}
},
- "node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
+ "node_modules/vite/node_modules/@esbuild/win32-x64": {
"version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.1.tgz",
- "integrity": "sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.1.tgz",
+ "integrity": "sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==",
"cpu": [
- "arm64"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "freebsd"
+ "win32"
],
"engines": {
"node": ">=18"
}
},
- "node_modules/vite/node_modules/@esbuild/freebsd-x64": {
+ "node_modules/vite/node_modules/esbuild": {
"version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.1.tgz",
- "integrity": "sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.27.1",
+ "@esbuild/android-arm": "0.27.1",
+ "@esbuild/android-arm64": "0.27.1",
+ "@esbuild/android-x64": "0.27.1",
+ "@esbuild/darwin-arm64": "0.27.1",
+ "@esbuild/darwin-x64": "0.27.1",
+ "@esbuild/freebsd-arm64": "0.27.1",
+ "@esbuild/freebsd-x64": "0.27.1",
+ "@esbuild/linux-arm": "0.27.1",
+ "@esbuild/linux-arm64": "0.27.1",
+ "@esbuild/linux-ia32": "0.27.1",
+ "@esbuild/linux-loong64": "0.27.1",
+ "@esbuild/linux-mips64el": "0.27.1",
+ "@esbuild/linux-ppc64": "0.27.1",
+ "@esbuild/linux-riscv64": "0.27.1",
+ "@esbuild/linux-s390x": "0.27.1",
+ "@esbuild/linux-x64": "0.27.1",
+ "@esbuild/netbsd-arm64": "0.27.1",
+ "@esbuild/netbsd-x64": "0.27.1",
+ "@esbuild/openbsd-arm64": "0.27.1",
+ "@esbuild/openbsd-x64": "0.27.1",
+ "@esbuild/openharmony-arm64": "0.27.1",
+ "@esbuild/sunos-x64": "0.27.1",
+ "@esbuild/win32-arm64": "0.27.1",
+ "@esbuild/win32-ia32": "0.27.1",
+ "@esbuild/win32-x64": "0.27.1"
+ }
+ },
+ "node_modules/vite/node_modules/fdir": {
+ "version": "6.5.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite/node_modules/picomatch": {
+ "version": "4.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/vitest": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz",
+ "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/expect": "2.1.9",
+ "@vitest/mocker": "2.1.9",
+ "@vitest/pretty-format": "^2.1.9",
+ "@vitest/runner": "2.1.9",
+ "@vitest/snapshot": "2.1.9",
+ "@vitest/spy": "2.1.9",
+ "@vitest/utils": "2.1.9",
+ "chai": "^5.1.2",
+ "debug": "^4.3.7",
+ "expect-type": "^1.1.0",
+ "magic-string": "^0.30.12",
+ "pathe": "^1.1.2",
+ "std-env": "^3.8.0",
+ "tinybench": "^2.9.0",
+ "tinyexec": "^0.3.1",
+ "tinypool": "^1.0.1",
+ "tinyrainbow": "^1.2.0",
+ "vite": "^5.0.0",
+ "vite-node": "2.1.9",
+ "why-is-node-running": "^2.3.0"
+ },
+ "bin": {
+ "vitest": "vitest.mjs"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "@edge-runtime/vm": "*",
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "@vitest/browser": "2.1.9",
+ "@vitest/ui": "2.1.9",
+ "happy-dom": "*",
+ "jsdom": "*"
+ },
+ "peerDependenciesMeta": {
+ "@edge-runtime/vm": {
+ "optional": true
+ },
+ "@types/node": {
+ "optional": true
+ },
+ "@vitest/browser": {
+ "optional": true
+ },
+ "@vitest/ui": {
+ "optional": true
+ },
+ "happy-dom": {
+ "optional": true
+ },
+ "jsdom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitest/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
"cpu": [
- "x64"
+ "ppc64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "freebsd"
+ "aix"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/linux-arm": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.1.tgz",
- "integrity": "sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==",
+ "node_modules/vitest/node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
"cpu": [
"arm"
],
@@ -24762,16 +27560,16 @@
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "android"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/linux-arm64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.1.tgz",
- "integrity": "sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==",
+ "node_modules/vitest/node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
"cpu": [
"arm64"
],
@@ -24779,103 +27577,103 @@
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "android"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/linux-ia32": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.1.tgz",
- "integrity": "sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==",
+ "node_modules/vitest/node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
"cpu": [
- "ia32"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "android"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/linux-loong64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.1.tgz",
- "integrity": "sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==",
+ "node_modules/vitest/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
"cpu": [
- "loong64"
+ "arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "darwin"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/linux-mips64el": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.1.tgz",
- "integrity": "sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==",
+ "node_modules/vitest/node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
"cpu": [
- "mips64el"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "darwin"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/linux-ppc64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.1.tgz",
- "integrity": "sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==",
+ "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
"cpu": [
- "ppc64"
+ "arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "freebsd"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/linux-riscv64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.1.tgz",
- "integrity": "sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==",
+ "node_modules/vitest/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
"cpu": [
- "riscv64"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "freebsd"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/linux-s390x": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.1.tgz",
- "integrity": "sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==",
+ "node_modules/vitest/node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
"cpu": [
- "s390x"
+ "arm"
],
"dev": true,
"license": "MIT",
@@ -24884,15 +27682,15 @@
"linux"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/linux-x64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.1.tgz",
- "integrity": "sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==",
+ "node_modules/vitest/node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
"cpu": [
- "x64"
+ "arm64"
],
"dev": true,
"license": "MIT",
@@ -24901,149 +27699,149 @@
"linux"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/netbsd-arm64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.1.tgz",
- "integrity": "sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==",
+ "node_modules/vitest/node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
"cpu": [
- "arm64"
+ "ia32"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "netbsd"
+ "linux"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/netbsd-x64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.1.tgz",
- "integrity": "sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==",
+ "node_modules/vitest/node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
"cpu": [
- "x64"
+ "loong64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "netbsd"
+ "linux"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/openbsd-arm64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.1.tgz",
- "integrity": "sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==",
+ "node_modules/vitest/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
"cpu": [
- "arm64"
+ "mips64el"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "openbsd"
+ "linux"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/openbsd-x64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.1.tgz",
- "integrity": "sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==",
+ "node_modules/vitest/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
"cpu": [
- "x64"
+ "ppc64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "openbsd"
+ "linux"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/openharmony-arm64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.1.tgz",
- "integrity": "sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==",
+ "node_modules/vitest/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
"cpu": [
- "arm64"
+ "riscv64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "openharmony"
+ "linux"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/sunos-x64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.1.tgz",
- "integrity": "sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==",
+ "node_modules/vitest/node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
"cpu": [
- "x64"
+ "s390x"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "sunos"
+ "linux"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/win32-arm64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.1.tgz",
- "integrity": "sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==",
+ "node_modules/vitest/node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
"cpu": [
- "arm64"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "win32"
+ "linux"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/win32-ia32": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.1.tgz",
- "integrity": "sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==",
+ "node_modules/vitest/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
"cpu": [
- "ia32"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "win32"
+ "netbsd"
],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/@esbuild/win32-x64": {
- "version": "0.27.1",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.1.tgz",
- "integrity": "sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==",
+ "node_modules/vitest/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
"cpu": [
"x64"
],
@@ -25051,157 +27849,75 @@
"license": "MIT",
"optional": true,
"os": [
- "win32"
+ "openbsd"
],
"engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/esbuild": {
- "version": "0.27.1",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=18"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.27.1",
- "@esbuild/android-arm": "0.27.1",
- "@esbuild/android-arm64": "0.27.1",
- "@esbuild/android-x64": "0.27.1",
- "@esbuild/darwin-arm64": "0.27.1",
- "@esbuild/darwin-x64": "0.27.1",
- "@esbuild/freebsd-arm64": "0.27.1",
- "@esbuild/freebsd-x64": "0.27.1",
- "@esbuild/linux-arm": "0.27.1",
- "@esbuild/linux-arm64": "0.27.1",
- "@esbuild/linux-ia32": "0.27.1",
- "@esbuild/linux-loong64": "0.27.1",
- "@esbuild/linux-mips64el": "0.27.1",
- "@esbuild/linux-ppc64": "0.27.1",
- "@esbuild/linux-riscv64": "0.27.1",
- "@esbuild/linux-s390x": "0.27.1",
- "@esbuild/linux-x64": "0.27.1",
- "@esbuild/netbsd-arm64": "0.27.1",
- "@esbuild/netbsd-x64": "0.27.1",
- "@esbuild/openbsd-arm64": "0.27.1",
- "@esbuild/openbsd-x64": "0.27.1",
- "@esbuild/openharmony-arm64": "0.27.1",
- "@esbuild/sunos-x64": "0.27.1",
- "@esbuild/win32-arm64": "0.27.1",
- "@esbuild/win32-ia32": "0.27.1",
- "@esbuild/win32-x64": "0.27.1"
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/fdir": {
- "version": "6.5.0",
+ "node_modules/vitest/node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/vite/node_modules/picomatch": {
- "version": "4.0.3",
+ "node_modules/vitest/node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
"node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/vitest": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz",
- "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==",
+ "node_modules/vitest/node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@vitest/expect": "2.1.9",
- "@vitest/mocker": "2.1.9",
- "@vitest/pretty-format": "^2.1.9",
- "@vitest/runner": "2.1.9",
- "@vitest/snapshot": "2.1.9",
- "@vitest/spy": "2.1.9",
- "@vitest/utils": "2.1.9",
- "chai": "^5.1.2",
- "debug": "^4.3.7",
- "expect-type": "^1.1.0",
- "magic-string": "^0.30.12",
- "pathe": "^1.1.2",
- "std-env": "^3.8.0",
- "tinybench": "^2.9.0",
- "tinyexec": "^0.3.1",
- "tinypool": "^1.0.1",
- "tinyrainbow": "^1.2.0",
- "vite": "^5.0.0",
- "vite-node": "2.1.9",
- "why-is-node-running": "^2.3.0"
- },
- "bin": {
- "vitest": "vitest.mjs"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "@edge-runtime/vm": "*",
- "@types/node": "^18.0.0 || >=20.0.0",
- "@vitest/browser": "2.1.9",
- "@vitest/ui": "2.1.9",
- "happy-dom": "*",
- "jsdom": "*"
- },
- "peerDependenciesMeta": {
- "@edge-runtime/vm": {
- "optional": true
- },
- "@types/node": {
- "optional": true
- },
- "@vitest/browser": {
- "optional": true
- },
- "@vitest/ui": {
- "optional": true
- },
- "happy-dom": {
- "optional": true
- },
- "jsdom": {
- "optional": true
- }
+ "node": ">=12"
}
},
- "node_modules/vitest/node_modules/@esbuild/darwin-arm64": {
+ "node_modules/vitest/node_modules/@esbuild/win32-x64": {
"version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
"cpu": [
- "arm64"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "darwin"
+ "win32"
],
"engines": {
"node": ">=12"
@@ -25343,6 +28059,36 @@
}
}
},
+ "node_modules/vizion": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/vizion/-/vizion-2.2.1.tgz",
+ "integrity": "sha512-sfAcO2yeSU0CSPFI/DmZp3FsFE9T+8913nv1xWBOyzODv13fwkn6Vl7HqxGpkr9F608M+8SuFId3s+BlZqfXww==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "async": "^2.6.3",
+ "git-node-fs": "^1.0.0",
+ "ini": "^1.3.5",
+ "js-git": "^0.7.8"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/vizion/node_modules/async": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "node_modules/vizion/node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "license": "ISC"
+ },
"node_modules/w3c-xmlserializer": {
"version": "5.0.0",
"dev": true,
@@ -25356,7 +28102,6 @@
},
"node_modules/wasm-feature-detect": {
"version": "1.8.0",
- "dev": true,
"license": "Apache-2.0"
},
"node_modules/watchpack": {
@@ -25600,7 +28345,6 @@
},
"node_modules/which-typed-array": {
"version": "1.1.19",
- "dev": true,
"license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
@@ -25719,7 +28463,6 @@
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -25736,6 +28479,8 @@
"node_modules/wrap-ansi-cjs": {
"name": "wrap-ansi",
"version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -25752,6 +28497,8 @@
},
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
"version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -25763,7 +28510,6 @@
},
"node_modules/wrap-ansi/node_modules/strip-ansi": {
"version": "6.0.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -25778,7 +28524,6 @@
},
"node_modules/ws": {
"version": "8.18.3",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -25796,6 +28541,73 @@
}
}
},
+ "node_modules/wsl-utils": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.4.0.tgz",
+ "integrity": "sha512-9YmF+2sFEd+T7TkwlmE337F0IVzfDvDknhtpBQxxXzEOfgPphGlFYpyx0cTuCIFj8/p+sqwBYAeGxOMNSzPPDA==",
+ "license": "MIT",
+ "dependencies": {
+ "is-wsl": "^3.1.0",
+ "powershell-utils": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/wsl-utils/node_modules/is-wsl": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
+ "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
+ "license": "MIT",
+ "dependencies": {
+ "is-inside-container": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/wsl-utils/node_modules/powershell-utils": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz",
+ "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/xdg-basedir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
+ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/xdg-trashdir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/xdg-trashdir/-/xdg-trashdir-3.1.0.tgz",
+ "integrity": "sha512-N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@sindresorhus/df": "^3.1.1",
+ "mount-point": "^3.0.0",
+ "user-home": "^2.0.0",
+ "xdg-basedir": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/xml-name-validator": {
"version": "5.0.0",
"dev": true,
@@ -25804,6 +28616,28 @@
"node": ">=18"
}
},
+ "node_modules/xml2js": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
+ "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==",
+ "license": "MIT",
+ "dependencies": {
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~11.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/xml2js/node_modules/xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
"node_modules/xmlbuilder": {
"version": "15.1.1",
"dev": true,
@@ -25944,7 +28778,9 @@
}
},
"node_modules/zod": {
- "version": "4.3.5",
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz",
+ "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
@@ -25958,9 +28794,109 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "packages/eslint-plugin-studio": {
+ "tools/common": {
+ "name": "@studio/common",
+ "version": "1.0.0",
+ "dependencies": {
+ "@automattic/generate-password": "^0.1.0",
+ "@wordpress/i18n": "^6.9.0",
+ "cross-port-killer": "^1.4.0",
+ "date-fns": "^3.3.1",
+ "fast-deep-equal": "^3.1.3",
+ "fs-extra": "^11.3.2",
+ "lockfile": "^1.0.4",
+ "wpcom": "^7.1.1",
+ "wpcom-xhr-request": "^1.3.0",
+ "yauzl": "^3.2.0",
+ "zod": "^4.0.0"
+ },
+ "devDependencies": {
+ "@types/fs-extra": "^11.0.4",
+ "@types/lockfile": "^1.0.4",
+ "@types/yauzl": "^2.10.3",
+ "@wp-playground/blueprints": "3.0.46"
+ }
+ },
+ "tools/compare-perf": {
+ "version": "0.0.1",
+ "license": "GPLv2",
+ "dependencies": {
+ "chalk": "^4.1.2",
+ "commander": "^13.1.0",
+ "inquirer": "^12.5.0",
+ "simple-git": "^3.27.0",
+ "ts-node": "^10.9.2"
+ },
+ "devDependencies": {
+ "@types/node": "^20.0.0",
+ "typescript": "^5.0.0"
+ }
+ },
+ "tools/compare-perf/node_modules/@types/node": {
+ "version": "20.19.33",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.33.tgz",
+ "integrity": "sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==",
+ "devOptional": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.21.0"
+ }
+ },
+ "tools/compare-perf/node_modules/commander": {
+ "version": "13.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
+ "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "tools/compare-perf/node_modules/inquirer": {
+ "version": "12.11.1",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.11.1.tgz",
+ "integrity": "sha512-9VF7mrY+3OmsAfjH3yKz/pLbJ5z22E23hENKw3/LNSaA/sAt3v49bDRY+Ygct1xwuKT+U+cBfTzjCPySna69Qw==",
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/ansi": "^1.0.2",
+ "@inquirer/core": "^10.3.2",
+ "@inquirer/prompts": "^7.10.1",
+ "@inquirer/type": "^3.0.10",
+ "mute-stream": "^2.0.0",
+ "run-async": "^4.0.6",
+ "rxjs": "^7.8.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
+ }
+ },
+ "tools/compare-perf/node_modules/mute-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
+ "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "tools/compare-perf/node_modules/run-async": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-4.0.6.tgz",
+ "integrity": "sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "tools/eslint-plugin-studio": {
"version": "1.0.0",
- "dev": true,
"dependencies": {
"eslint": "^9.0.0"
}
diff --git a/package.json b/package.json
index 057e5f81dd..e4656a29f9 100644
--- a/package.json
+++ b/package.json
@@ -3,10 +3,8 @@
"author": "Automattic Inc.",
"private": true,
"productName": "Studio",
- "version": "1.7.4-beta2",
"description": "Local WordPress development environment using Playgrounds",
"license": "GPL-2.0-or-later",
- "main": "dist/main/index.js",
"packageManager": "npm@10.9.4",
"engines": {
"npm": ">=10.0.0",
@@ -17,154 +15,72 @@
"url": "https://github.com/Automattic/studio.git",
"directory": "/"
},
+ "workspaces": [
+ "apps/*",
+ "tools/*"
+ ],
"scripts": {
- "prestart": "npm run cli:build",
- "start": "electron-vite dev --outDir=dist --watch",
- "start-wayland": "npm run prestart && electron-forge start -- --enable-features=UseOzonePlatform --ozone-platform=wayland .",
- "postinstall": "cd cli && npm install && cd .. && patch-package && ts-node ./scripts/download-wp-server-files.ts && node ./scripts/download-available-site-translations.mjs && npx @electron/rebuild -o fs-ext",
- "package": "electron-vite build --outDir=dist && electron-forge package",
- "make": "electron-vite build --outDir=dist && electron-forge make",
- "make:windows-x64": "electron-vite build --outDir=dist && electron-forge make --arch=x64 --platform=win32",
- "make:windows-arm64": "electron-vite build --outDir=dist && electron-forge make --arch=arm64 --platform=win32",
- "make:macos-x64": "electron-vite build --outDir=dist && SKIP_DMG=true FILE_ARCHITECTURE=x64 electron-forge make --arch=x64 --platform=darwin",
- "make:macos-arm64": "electron-vite build --outDir=dist && SKIP_DMG=true FILE_ARCHITECTURE=arm64 electron-forge make --arch=arm64 --platform=darwin",
+ "start": "npm -w studio-app run start",
+ "start-wayland": "npm -w studio-app run start-wayland",
+ "postinstall": "patch-package --patch-dir apps/cli/patches && patch-package --patch-dir apps/studio/patches && ts-node ./scripts/download-wp-server-files.ts && node ./scripts/download-available-site-translations.mjs && npx @electron/rebuild -o fs-ext",
+ "package": "ts-node ./scripts/package-in-isolation.ts",
+ "package:windows-x64": "ts-node ./scripts/package-in-isolation.ts --platform=win32 --arch=x64",
+ "package:windows-arm64": "ts-node ./scripts/package-in-isolation.ts --platform=win32 --arch=arm64",
+ "package:macos-x64": "ts-node ./scripts/package-in-isolation.ts --platform=darwin --arch=x64",
+ "package:macos-arm64": "ts-node ./scripts/package-in-isolation.ts --platform=darwin --arch=arm64",
+ "make": "npm -w studio-app run make",
+ "make:windows-x64": "npm -w studio-app run make -- --platform=win32 --arch=x64",
+ "make:windows-arm64": "npm -w studio-app run make -- --platform=win32 --arch=arm64",
+ "make:macos-x64": "npm -w studio-app run make -- --platform=darwin --arch=x64",
+ "make:macos-arm64": "npm -w studio-app run make -- --platform=darwin --arch=arm64",
"make:dmg-x64": "FILE_ARCHITECTURE=x64 node ./scripts/make-dmg.mjs",
"make:dmg-arm64": "FILE_ARCHITECTURE=arm64 node ./scripts/make-dmg.mjs",
- "publish": "electron-forge publish",
- "cli:build": "vite build --config vite.cli.config.ts",
- "cli:watch": "vite build --config vite.cli.config.ts --watch",
- "lint": "eslint {cli,common,src,e2e}",
- "format": "prettier . --write",
+ "publish": "npm -w studio-app run publish",
+ "cli:build": "npm -w studio-cli run build",
+ "cli:package": "npm -w studio-cli run package",
+ "cli:watch": "npm -w studio-cli run watch",
+ "app:install:bundle": "npm -w studio-app run install:bundle",
+ "compare:perf": "npm -w compare-perf run compare",
+ "lint": "eslint {apps/cli,apps/studio/src,apps/studio/e2e,tools/common}",
+ "format": "npm run lint -- --fix",
"test": "vitest run",
"test:watch": "vitest",
"e2e": "npx playwright install && npx playwright test",
- "test:metrics": "npx playwright test --config=./metrics/playwright.metrics.config.ts",
+ "test:metrics": "npx playwright test --config=./tools/metrics/playwright.metrics.config.ts",
"make-pot": "node ./scripts/make-pot.mjs"
},
"devDependencies": {
- "@automattic/color-studio": "^4.1.0",
"@automattic/wp-babel-makepot": "^1.2.0",
- "@electron-forge/cli": "^7.11.1",
- "@electron-forge/maker-deb": "^7.11.1",
- "@electron-forge/maker-dmg": "^7.11.1",
- "@electron-forge/maker-squirrel": "^7.11.1",
- "@electron-forge/maker-zip": "^7.11.1",
- "@electron-forge/plugin-auto-unpack-natives": "^7.11.1",
"@eslint/js": "^9.39.2",
"@playwright/test": "^1.58.1",
- "@sentry/react": "^7.120.3",
- "@sentry/vite-plugin": "^4.3.0",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.1",
"@testing-library/user-event": "^14.6.1",
- "@types/archiver": "^6.0.4",
- "@types/follow-redirects": "^1.14.4",
"@types/fs-extra": "^11.0.4",
- "@types/http-proxy": "^1.17.17",
- "@types/lockfile": "^1.0.4",
- "@types/node-forge": "^1.3.14",
- "@types/react": "^18.3.27",
- "@types/react-dom": "^18.3.7",
- "@types/semver": "^7.7.1",
- "@types/shell-quote": "^1.7.5",
- "@types/winreg": "^1.2.36",
- "@types/yargs": "^17.0.35",
- "@types/yauzl": "^2.10.3",
- "@vitejs/plugin-react": "^5.1.4",
"@vitest/ui": "^2.1.8",
- "@wordpress/components": "^32.1.0",
- "@wordpress/element": "^6.39.0",
- "@wordpress/react-i18n": "^4.39.0",
- "@wp-playground/blueprints": "^3.0.46",
- "@yao-pkg/pkg": "^6.3.2",
- "electron": "^39.2.7",
- "electron-devtools-installer": "^4.0.0",
+ "@yao-pkg/pkg": "^6.13.1",
"electron-playwright-helpers": "^2.1.0",
- "electron-vite": "^5.0.0",
"eslint": "^9.39.2",
+ "eslint-config-prettier": "^9.1.2",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jest-dom": "^5.5.0",
- "eslint-plugin-prettier": "^5.5.4",
+ "eslint-plugin-prettier": "^5.5.5",
"eslint-plugin-react-hooks": "^7.0.1",
- "eslint-plugin-studio": "file:packages/eslint-plugin-studio",
+ "eslint-plugin-studio": "file:tools/eslint-plugin-studio",
+ "fs-extra": "^11.3.3",
"isomorphic-fetch": "^3.0.0",
"jsdom": "^24.0.0",
"nock": "^13.5.6",
- "patch-package": "^8.0.0",
- "postcss": "^8.4.32",
+ "patch-package": "^8.0.1",
"prettier": "npm:wp-prettier@3.0.3",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "resize-observer-polyfill": "^1.5.1",
"rimraf": "^6.1.2",
- "tailwindcss": "^3.3.6",
+ "ts-node": "^10.9.2",
"typescript": "~5.9.3",
"typescript-eslint": "^8.53.0",
- "vite": "^7.3.1",
- "vite-plugin-static-copy": "^3.1.5",
- "vite-plugin-top-level-await": "^1.6.0",
- "vite-plugin-wasm": "^3.5.0",
"vitest": "^2.1.9",
"web-streams-polyfill": "^4.2.0"
},
- "dependencies": {
- "@automattic/generate-password": "^0.1.0",
- "@automattic/interpolate-components": "^1.2.1",
- "@formatjs/intl-locale": "^3.4.5",
- "@formatjs/intl-localematcher": "^0.5.4",
- "@inquirer/prompts": "^7.10.1",
- "@reduxjs/toolkit": "^2.11.2",
- "@rive-app/react-canvas": "^4.12.0",
- "@sentry/electron": "^6.5.0",
- "@vscode/sudo-prompt": "^9.3.2",
- "@wordpress/compose": "^7.36.0",
- "@wordpress/dataviews": "^11.3.0",
- "@wordpress/i18n": "^6.9.0",
- "@wordpress/icons": "^11.4.0",
- "archiver": "^6.0.2",
- "atomically": "^2.1.0",
- "cli-table3": "^0.6.5",
- "compressible": "2.0.18",
- "compression": "^1.8.1",
- "cross-port-killer": "^1.4.0",
- "date-fns": "^3.3.1",
- "electron-squirrel-startup": "^1.0.1",
- "electron2appx": "^2.1.2",
- "eslint-config-prettier": "^10.1.8",
- "express": "4.21.2",
- "fast-deep-equal": "^3.1.3",
- "file-stream-rotator": "^1.0.0",
- "follow-redirects": "^1.15.11",
- "fs-extra": "^11.3.2",
- "hpagent": "1.2.0",
- "http-proxy": "^1.18.1",
- "lockfile": "^1.0.4",
- "node-forge": "^1.3.3",
- "ora": "^8.2.0",
- "react-markdown": "^9.0.1",
- "react-redux": "^9.2.0",
- "rehype-raw": "^7.0.0",
- "remark-gfm": "^4.0.1",
- "semver": "^7.7.3",
- "shell-quote": "^1.8.3",
- "strip-ansi": "^7.1.2",
- "tar": "^7.5.2",
- "ts-node": "^10.9.2",
- "tus-js-client": "^4.3.1",
- "winreg": "1.2.4",
- "wpcom": "^7.1.1",
- "wpcom-xhr-request": "^1.3.0",
- "yargs": "^18.0.0",
- "yargs-parser": "^22.0.0",
- "yauzl": "^3.2.0",
- "zod": "^4.0.0"
- },
- "optionalDependencies": {
- "@rollup/rollup-linux-x64-gnu": "^4.50.2",
- "@rollup/rollup-win32-x64-msvc": "^4.50.2",
- "appdmg": "^0.6.6"
- },
"overrides": {
"fs-ext": {
"nan": "2.24.0"
diff --git a/patches/@wp-playground+wordpress+3.0.46.patch b/patches/@wp-playground+wordpress+3.0.46.patch
deleted file mode 100644
index d4e8942d35..0000000000
--- a/patches/@wp-playground+wordpress+3.0.46.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/node_modules/@wp-playground/wordpress/index.cjs b/node_modules/@wp-playground/wordpress/index.cjs
-index 0cd5fbc..5ba580d 100644
---- a/node_modules/@wp-playground/wordpress/index.cjs
-+++ b/node_modules/@wp-playground/wordpress/index.cjs
-@@ -352,7 +352,7 @@ function skip_whitespace($tokens) {
- ob_clean();
- echo false === $return_value ? '0' : '1';
- ob_end_flush();
-- `})).text!=="1")throw new Error("Failed to rewrite constants in wp-config.php.")}async function $(e,n){const t=a.joinPaths(n,"wp-config.php"),i={DB_NAME:"wordpress"};!e.fileExists(t)&&e.fileExists(a.joinPaths(n,"wp-config-sample.php"))&&await e.writeFile(t,await e.readFileAsBuffer(a.joinPaths(n,"wp-config-sample.php"))),await g(e,t,i,"skip")}async function I(e){const n=await m(e);return await w(n,e),n}async function w(e,n){var d,s;const t=await e.getPrimaryPhp();if((d=n.hooks)!=null&&d.beforeWordPressFiles&&await n.hooks.beforeWordPressFiles(t),n.wordPressZip&&await S(t,await n.wordPressZip),n.constants)for(const l in n.constants)t.defineConstant(l,n.constants[l]);n.dataSqlPath&&(t.defineConstant("DB_DIR",a.dirname(n.dataSqlPath)),t.defineConstant("DB_FILE",a.basename(n.dataSqlPath))),t.defineConstant("WP_HOME",n.siteUrl),t.defineConstant("WP_SITEURL",n.siteUrl),await $(t,e.documentRoot),(s=n.hooks)!=null&&s.beforeDatabaseSetup&&await n.hooks.beforeDatabaseSetup(t);let i=!1;n.sqliteIntegrationPluginZip&&(i=!0,await T(t,await n.sqliteIntegrationPluginZip));const r=n.wordpressInstallMode??"download-and-install",o=!!n.dataSqlPath;if(["download-and-install","install-from-existing-files"].includes(r)){await f(e,{usesSqlite:i,hasCustomDatabasePath:o});try{await _(t)}catch(l){throw o||await p(e),l}o||await p(e)}else if(r==="install-from-existing-files-if-needed"){if(await f(e,{usesSqlite:i,hasCustomDatabasePath:o}),!await b(t))try{await _(t)}catch(l){throw o||await p(e),l}o||await p(e)}return e}async function f(e,{usesSqlite:n,hasCustomDatabasePath:t}){const i=await e.getPrimaryPhp();if(i.isFile("/internal/shared/preload/0-sqlite.php"))return;const r=a.joinPaths(e.documentRoot,"wp-content/mu-plugins/sqlite-database-integration");if(!i.isDir(r)&&!n&&!t)throw new Error("Error connecting to the MySQL database.")}async function p(e){const n=await e.getPrimaryPhp();if(await L(n))return;if(n.isFile("/internal/shared/preload/0-sqlite.php"))throw new Error("Error connecting to the SQLite database.");const i=a.joinPaths(e.documentRoot,"wp-content/mu-plugins/sqlite-database-integration");throw n.isDir(i)?new Error("Error connecting to the SQLite database."):new Error("Error connecting to the MySQL database.")}async function m(e){const n=e.spawnHandler??u.sandboxedSpawnHandlerFactory;async function t(r,o=!1){const d=await e.createPhpRuntime(o),s=new u.PHP(d);if(e.sapiName&&s.setSapiName(e.sapiName),r&&(s.requestHandler=r),e.phpIniEntries&&u.setPhpIniEntries(s,e.phpIniEntries),s.defineConstant("WP_SQLITE_AST_DRIVER",!0),e.constants)for(const l in e.constants)s.defineConstant(l,e.constants[l]);return o&&!s.isFile("/internal/.boot-files-written")&&(await E(s),await u.writeFiles(s,"/",e.createFiles||{}),await R(s,a.joinPaths(new URL(e.siteUrl).pathname,"phpinfo.php")),await u.writeFiles(s,"/internal",{".boot-files-written":""})),n&&await s.setSpawnHandler(n(r?()=>r.instanceManager.acquirePHPInstance({considerPrimary:!1}):void 0)),s.enableRuntimeRotation({recreateRuntime:e.createPhpRuntime,maxRequests:400}),e.onPHPInstanceCreated&&await e.onPHPInstanceCreated(s,{isPrimary:o}),s}const i=new u.PHPRequestHandler({documentRoot:e.documentRoot||"/wordpress",absoluteUrl:e.siteUrl,rewriteRules:k,getFileNotFoundAction:e.getFileNotFoundAction??P,cookieStore:e.cookieStore,php:e.maxPhpInstances===1?await t(void 0,!0):void 0,phpFactory:e.maxPhpInstances!==1?async({isPrimary:r})=>t(i,r):void 0,maxPhpInstances:e.maxPhpInstances});return i}async function b(e){return(await e.run({code:`r.instanceManager.acquirePHPInstance({considerPrimary:!1}):void 0)),s.enableRuntimeRotation({recreateRuntime:e.createPhpRuntime,maxRequests:400}),e.onPHPInstanceCreated&&await e.onPHPInstanceCreated(s,{isPrimary:o}),s}const i=new u.PHPRequestHandler({documentRoot:e.documentRoot||"/wordpress",absoluteUrl:e.siteUrl,rewriteRules:k,getFileNotFoundAction:e.getFileNotFoundAction??P,cookieStore:e.cookieStore,php:e.maxPhpInstances===1?await t(void 0,!0):void 0,phpFactory:e.maxPhpInstances!==1?async({isPrimary:r})=>t(i,r):void 0,maxPhpInstances:e.maxPhpInstances});return i}async function b(e){return(await e.run({code:`=12"
- }
- },
- "node_modules/@inquirer/checkbox": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.1.4.tgz",
- "integrity": "sha512-d30576EZdApjAMceijXA5jDzRQHT/MygbC+J8I7EqA6f/FRpYxlRtRJbHF8gHeWYeSdOuTEJqonn7QLB1ELezA==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/figures": "^1.0.11",
- "@inquirer/type": "^3.0.5",
- "ansi-escapes": "^4.3.2",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/confirm": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.8.tgz",
- "integrity": "sha512-dNLWCYZvXDjO3rnQfk2iuJNL4Ivwz/T2+C3+WnNfJKsNGSuOs3wAo2F6e0p946gtSAk31nZMfW+MRmYaplPKsg==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/type": "^3.0.5"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/core": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.0.tgz",
- "integrity": "sha512-NyDSjPqhSvpZEMZrLCYUquWNl+XC/moEcVFqS55IEYIYsY0a1cUCevSqk7ctOlnm/RaSBU5psFryNlxcmGrjaA==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/figures": "^1.0.13",
- "@inquirer/type": "^3.0.8",
- "ansi-escapes": "^4.3.2",
- "cli-width": "^4.1.0",
- "mute-stream": "^2.0.0",
- "signal-exit": "^4.1.0",
- "wrap-ansi": "^6.2.0",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/editor": {
- "version": "4.2.18",
- "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.18.tgz",
- "integrity": "sha512-yeQN3AXjCm7+Hmq5L6Dm2wEDeBRdAZuyZ4I7tWSSanbxDzqM0KqzoDbKM7p4ebllAYdoQuPJS6N71/3L281i6w==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.2.0",
- "@inquirer/external-editor": "^1.0.1",
- "@inquirer/type": "^3.0.8"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/expand": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.11.tgz",
- "integrity": "sha512-OZSUW4hFMW2TYvX/Sv+NnOZgO8CHT2TU1roUCUIF2T+wfw60XFRRp9MRUPCT06cRnKL+aemt2YmTWwt7rOrNEA==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/type": "^3.0.5",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/external-editor": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz",
- "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==",
- "license": "MIT",
- "dependencies": {
- "chardet": "^2.1.0",
- "iconv-lite": "^0.6.3"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/figures": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz",
- "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/input": {
- "version": "4.1.8",
- "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.8.tgz",
- "integrity": "sha512-WXJI16oOZ3/LiENCAxe8joniNp8MQxF6Wi5V+EBbVA0ZIOpFcL4I9e7f7cXse0HJeIPCWO8Lcgnk98juItCi7Q==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/type": "^3.0.5"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/number": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.11.tgz",
- "integrity": "sha512-pQK68CsKOgwvU2eA53AG/4npRTH2pvs/pZ2bFvzpBhrznh8Mcwt19c+nMO7LHRr3Vreu1KPhNBF3vQAKrjIulw==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/type": "^3.0.5"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/password": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.11.tgz",
- "integrity": "sha512-dH6zLdv+HEv1nBs96Case6eppkRggMe8LoOTl30+Gq5Wf27AO/vHFgStTVz4aoevLdNXqwE23++IXGw4eiOXTg==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/type": "^3.0.5",
- "ansi-escapes": "^4.3.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/prompts": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.4.0.tgz",
- "integrity": "sha512-EZiJidQOT4O5PYtqnu1JbF0clv36oW2CviR66c7ma4LsupmmQlUwmdReGKRp456OWPWMz3PdrPiYg3aCk3op2w==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/checkbox": "^4.1.4",
- "@inquirer/confirm": "^5.1.8",
- "@inquirer/editor": "^4.2.9",
- "@inquirer/expand": "^4.0.11",
- "@inquirer/input": "^4.1.8",
- "@inquirer/number": "^3.0.11",
- "@inquirer/password": "^4.0.11",
- "@inquirer/rawlist": "^4.0.11",
- "@inquirer/search": "^3.0.11",
- "@inquirer/select": "^4.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/rawlist": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.0.11.tgz",
- "integrity": "sha512-uAYtTx0IF/PqUAvsRrF3xvnxJV516wmR6YVONOmCWJbbt87HcDHLfL9wmBQFbNJRv5kCjdYKrZcavDkH3sVJPg==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/type": "^3.0.5",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/search": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.11.tgz",
- "integrity": "sha512-9CWQT0ikYcg6Ls3TOa7jljsD7PgjcsYEM0bYE+Gkz+uoW9u8eaJCRHJKkucpRE5+xKtaaDbrND+nPDoxzjYyew==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/figures": "^1.0.11",
- "@inquirer/type": "^3.0.5",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/select": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.1.0.tgz",
- "integrity": "sha512-z0a2fmgTSRN+YBuiK1ROfJ2Nvrpij5lVN3gPDkQGhavdvIVGHGW29LwYZfM/j42Ai2hUghTI/uoBuTbrJk42bA==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/figures": "^1.0.11",
- "@inquirer/type": "^3.0.5",
- "ansi-escapes": "^4.3.2",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/type": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz",
- "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "node_modules/@kwsites/file-exists": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
- "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.1.1"
- }
- },
- "node_modules/@kwsites/promise-deferred": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
- "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
- "license": "MIT"
- },
- "node_modules/@tsconfig/node10": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
- "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
- "license": "MIT"
- },
- "node_modules/@tsconfig/node12": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
- "license": "MIT"
- },
- "node_modules/@tsconfig/node14": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
- "license": "MIT"
- },
- "node_modules/@tsconfig/node16": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
- "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "20.19.19",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.19.tgz",
- "integrity": "sha512-pb1Uqj5WJP7wrcbLU7Ru4QtA0+3kAXrkutGiD26wUKzSMgNNaPARTUDQmElUXp64kh3cWdou3Q0C7qwwxqSFmg==",
- "license": "MIT",
- "dependencies": {
- "undici-types": "~6.21.0"
- }
- },
- "node_modules/acorn": {
- "version": "8.14.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
- "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "8.3.4",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
- "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
- "license": "MIT",
- "dependencies": {
- "acorn": "^8.11.0"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "license": "MIT",
- "dependencies": {
- "type-fest": "^0.21.3"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "license": "MIT"
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chardet": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz",
- "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==",
- "license": "MIT"
- },
- "node_modules/cli-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
- "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
- "license": "ISC",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "license": "MIT"
- },
- "node_modules/commander": {
- "version": "13.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
- "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "license": "MIT"
- },
- "node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/diff": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz",
- "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "license": "MIT"
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/inquirer": {
- "version": "12.5.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.5.0.tgz",
- "integrity": "sha512-aiBBq5aKF1k87MTxXDylLfwpRwToShiHrSv4EmB07EYyLgmnjEz5B3rn0aGw1X3JA/64Ngf2T54oGwc+BCsPIQ==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.9",
- "@inquirer/prompts": "^7.4.0",
- "@inquirer/type": "^3.0.5",
- "ansi-escapes": "^4.3.2",
- "mute-stream": "^2.0.0",
- "run-async": "^3.0.0",
- "rxjs": "^7.8.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "license": "ISC"
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
- },
- "node_modules/mute-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
- "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/run-async": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
- "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/rxjs": {
- "version": "7.8.2",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
- "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "license": "MIT"
- },
- "node_modules/signal-exit": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/simple-git": {
- "version": "3.27.0",
- "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz",
- "integrity": "sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==",
- "license": "MIT",
- "dependencies": {
- "@kwsites/file-exists": "^1.1.1",
- "@kwsites/promise-deferred": "^1.1.1",
- "debug": "^4.3.5"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/steveukx/git-js?sponsor=1"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ts-node": {
- "version": "10.9.2",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
- "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
- "license": "MIT",
- "dependencies": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-esm": "dist/bin-esm.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
- }
- },
- "node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "license": "0BSD"
- },
- "node_modules/type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/typescript": {
- "version": "5.8.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
- "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/undici-types": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
- "license": "MIT"
- },
- "node_modules/v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "license": "MIT"
- },
- "node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/yoctocolors-cjs": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz",
- "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- }
-}
diff --git a/scripts/download-node-binary.ts b/scripts/download-node-binary.ts
index 0a71939e0b..ea1402bc6c 100644
--- a/scripts/download-node-binary.ts
+++ b/scripts/download-node-binary.ts
@@ -9,7 +9,7 @@ import fs from 'fs';
import path from 'path';
import os from 'os';
import { extract } from 'tar';
-import { extractZip } from '../common/lib/extract-zip';
+import { extractZip } from '../tools/common/lib/extract-zip';
const LTS_FALLBACK = 'v24.13.1';
@@ -53,7 +53,7 @@ if ( ! nodeArch ) {
process.exit( 1 );
}
-const binDir = path.join( __dirname, '..', 'bin' );
+const binDir = path.join( __dirname, '..', 'apps', 'studio', 'bin' );
const tmpDir = os.tmpdir();
if ( ! fs.existsSync( binDir ) ) {
diff --git a/scripts/download-wp-server-files.ts b/scripts/download-wp-server-files.ts
index d79fbafa29..48973a317c 100644
--- a/scripts/download-wp-server-files.ts
+++ b/scripts/download-wp-server-files.ts
@@ -1,9 +1,9 @@
import os from 'os';
import path from 'path';
import fs from 'fs-extra';
-import { extractZip } from '../common/lib/extract-zip';
-import { getLatestSQLiteCommandRelease } from '../src/lib/sqlite-command-release';
-import { SQLITE_DATABASE_INTEGRATION_RELEASE_URL } from '../src/constants';
+import { extractZip } from '../tools/common/lib/extract-zip';
+import { getLatestSQLiteCommandRelease } from '../apps/studio/src/lib/sqlite-command-release';
+import { SQLITE_DATABASE_INTEGRATION_RELEASE_URL } from '../apps/studio/src/constants';
const WP_SERVER_FILES_PATH = path.join( __dirname, '..', 'wp-files' );
diff --git a/scripts/make-dmg.mjs b/scripts/make-dmg.mjs
index 3ecbf36885..12c24c1b60 100644
--- a/scripts/make-dmg.mjs
+++ b/scripts/make-dmg.mjs
@@ -5,22 +5,24 @@ import { fileURLToPath } from 'url';
import packageJson from '../package.json' with { type: 'json' };
const __dirname = path.dirname( fileURLToPath( import.meta.url ) );
+const fileArchitecture = process.env.FILE_ARCHITECTURE;
+
+if ( ! fileArchitecture ) {
+ throw new Error( 'FILE_ARCHITECTURE environment variable is required (for example: x64 or arm64).' );
+}
+
+const outDir = path.resolve( __dirname, '../apps/studio/out' );
const appPath = path.resolve(
- __dirname,
- '../out',
- `${ packageJson.productName }-darwin-${ process.env.FILE_ARCHITECTURE }`,
+ outDir,
+ `${ packageJson.productName }-darwin-${ fileArchitecture }`,
`${ packageJson.productName }.app`
);
-const dmgPath = path.resolve(
- __dirname,
- '../out',
- `${ packageJson.productName }-darwin-${ process.env.FILE_ARCHITECTURE }.dmg`
-);
+const dmgPath = path.resolve( outDir, `${ packageJson.productName }-darwin-${ fileArchitecture }.dmg` );
-const volumeIconPath = path.resolve( __dirname, '../assets/studio-app-icon.icns' );
-const backgroundPath = path.resolve( __dirname, '../assets/dmg-background.png' );
+const volumeIconPath = path.resolve( __dirname, '../apps/studio/assets/studio-app-icon.icns' );
+const backgroundPath = path.resolve( __dirname, '../apps/studio/assets/dmg-background.png' );
const dmgSpecs = {
title: packageJson.productName,
@@ -41,6 +43,7 @@ const dmgSpecs = {
if ( fs.existsSync( dmgPath ) ) {
fs.unlinkSync( dmgPath );
}
+fs.mkdirSync( path.dirname( dmgPath ), { recursive: true } );
const specsFile = path.resolve( __dirname, '..', 'appdmg-specs.json' );
fs.writeFileSync( specsFile, JSON.stringify( dmgSpecs ) );
diff --git a/scripts/make-pot.mjs b/scripts/make-pot.mjs
index 5b337f4732..079c784765 100755
--- a/scripts/make-pot.mjs
+++ b/scripts/make-pot.mjs
@@ -6,7 +6,8 @@ const __filename = fileURLToPath( import.meta.url );
const __dirname = dirname( __filename );
const projectRoot = dirname( __dirname );
-const POT_FILE = join( projectRoot, 'out', 'pots', 'bundle-strings.pot' );
+const POT_DIR = join( projectRoot, 'apps', 'studio', 'out', 'pots' );
+const POT_FILE = join( POT_DIR, 'bundle-strings.pot' );
const IMPORT_PAGE = 'https://translate.wordpress.com/projects/studio/import-originals/';
function executeCommand( command, description ) {
@@ -25,12 +26,12 @@ console.log( '✨ Starting pot files generation...\n' );
const commands = [
{
- command: 'rm -rf ./out/pots',
+ command: 'rm -rf ./apps/studio/out/pots',
description: 'Removing existing pot files',
},
{
command:
- 'npx wp-babel-makepot "{src,cli,common}/**/*.{js,jsx,ts,tsx}" --ignore "cli/node_modules/**/*,**/*.d.ts" --base "." --dir "./out/pots" --output "./out/pots/bundle-strings.pot"',
+ 'npx wp-babel-makepot "{apps/studio/src,apps/cli,tools/common}/**/*.{js,jsx,ts,tsx}" --ignore "apps/cli/node_modules/**/*,**/*.d.ts" --base "." --dir "./apps/studio/out/pots" --output "./apps/studio/out/pots/bundle-strings.pot"',
description: 'Generating pot file with wp-babel-makepot',
},
{
diff --git a/scripts/package-appx.mjs b/scripts/package-appx.mjs
index 5c88bafeee..fef5d3b6c0 100644
--- a/scripts/package-appx.mjs
+++ b/scripts/package-appx.mjs
@@ -48,8 +48,8 @@ const packageJsonPath = path.resolve( __dirname, '..', 'package.json' );
const packageJsonText = await fs.readFile( packageJsonPath, 'utf-8' );
const packageJson = JSON.parse( packageJsonText );
-const outPath = path.join( __dirname, '..', 'out' );
-const assetsPath = path.join( __dirname, '..', 'assets', 'appx' );
+const outPath = path.join( __dirname, '..', 'apps', 'studio', 'out' );
+const assetsPath = path.join( __dirname, '..', 'apps', 'studio', 'assets', 'appx' );
console.log( `~~~ Packaging AppX for architecture: ${ architecture }` );
diff --git a/scripts/package-in-isolation.ts b/scripts/package-in-isolation.ts
new file mode 100644
index 0000000000..df3095e285
--- /dev/null
+++ b/scripts/package-in-isolation.ts
@@ -0,0 +1,144 @@
+/**
+ * This script packages the Studio app in isolation by copying the repo to a temporary directory,
+ * installing dependencies, running studio-app's package script, copying output back to the repo,
+ * and cleaning up.
+ *
+ * Why is this needed? With npm workspaces, most dependencies are hoisted to the top-level
+ * `node_modules` directory, but there's no guarantee that all of them are. This behavior conflicts
+ * with our requirement of having self-contained `node_modules` directories for each package that
+ * are copied to the package output.
+ *
+ * In other words, when we run `npm run install:bundle` in `apps/studio`, that mutates the
+ * `apps/studio/node_modules` directory so the npm workspace-powered dependency tree gets messed
+ * up. We can't avoid running `npm run install:bundle`, because we need that self-contained
+ * `node_modules` directory for packaging, so that's why we do it in isolation.
+ *
+ * In CI, where we have a clean, ephemeral environment, we short-circuit the behavior and run the
+ * relevant script in place.
+ */
+
+import fs from 'fs';
+import os from 'os';
+import path from 'path';
+import { spawnSync, type SpawnSyncOptions } from 'child_process';
+import yargs from 'yargs';
+import { hideBin } from 'yargs/helpers';
+
+const REPO_ROOT = path.resolve( __dirname, '..' );
+
+function parseArgs( argv: string[] ) {
+ return yargs( hideBin( argv ) )
+ .scriptName( 'package-in-isolation' )
+ .usage( '$0 [--platform= --arch=]' )
+ .option( 'platform', {
+ type: 'string',
+ describe: 'Target platform',
+ choices: [ 'darwin', 'win32' ] as const,
+ } )
+ .option( 'arch', {
+ type: 'string',
+ describe: 'Target architecture',
+ choices: [ 'x64', 'arm64' ] as const,
+ } )
+ .strict()
+ .help( false )
+ .version( false )
+ .parseSync();
+}
+
+function runOrFail( command: string, args: string[], cwd: string ) {
+ const options: SpawnSyncOptions = {
+ cwd,
+ stdio: 'inherit',
+ shell: process.platform === 'win32',
+ };
+
+ const result = spawnSync( command, args, options );
+ if ( result.status !== 0 ) {
+ process.exit( result.status ?? 1 );
+ }
+}
+
+function runPackageScript( cwd: string, arch?: 'x64' | 'arm64', platform?: 'darwin' | 'win32' ) {
+ const args = [ '-w', 'studio-app', 'run', 'package', '--' ];
+
+ if ( arch ) {
+ args.push( `--arch=${ arch }` );
+ }
+
+ if ( platform ) {
+ args.push( `--platform=${ platform }` );
+ }
+
+ runOrFail( 'npm', args, cwd );
+}
+
+function shouldCopyToStaging( sourcePath: string ): boolean {
+ const relativePath = path.relative( REPO_ROOT, sourcePath );
+ if ( relativePath === '' ) return true;
+
+ const pathSegments = relativePath.split( path.sep );
+ if ( pathSegments.includes( '.git' ) ) return false;
+ if ( pathSegments.includes( 'node_modules' ) ) return false;
+
+ const topLevelDir = pathSegments[ 0 ];
+ return topLevelDir !== 'out' && topLevelDir !== 'dist' && topLevelDir !== 'test-results';
+}
+
+function copyArtifactsBack( stagingRoot: string ) {
+ const artifactPaths = [
+ [ path.join( stagingRoot, 'out' ), path.join( REPO_ROOT, 'out' ) ],
+ [
+ path.join( stagingRoot, 'apps', 'studio', 'out' ),
+ path.join( REPO_ROOT, 'apps', 'studio', 'out' ),
+ ],
+ [
+ path.join( stagingRoot, 'apps', 'studio', 'dist' ),
+ path.join( REPO_ROOT, 'apps', 'studio', 'dist' ),
+ ],
+ ] as const;
+
+ for ( const [ from, to ] of artifactPaths ) {
+ if ( ! fs.existsSync( from ) ) continue;
+ fs.rmSync( to, { recursive: true, force: true } );
+ fs.mkdirSync( path.dirname( to ), { recursive: true } );
+ fs.cpSync( from, to, { recursive: true, force: true } );
+ }
+}
+
+function main() {
+ const target = parseArgs( process.argv );
+
+ const isCi = process.env.CI && process.env.CI !== 'false';
+ if ( isCi ) {
+ console.log( 'Detected CI environment; running package in place.' );
+ runPackageScript( REPO_ROOT, target.arch, target.platform );
+ return;
+ }
+
+ const stagingParent = fs.mkdtempSync( path.join( os.tmpdir(), 'studio-package-' ) );
+ const stagingRoot = path.join( stagingParent, 'repo' );
+
+ try {
+ console.log( `Creating packaging directory at ${ stagingRoot }` );
+ fs.mkdirSync( stagingRoot, { recursive: true } );
+ fs.cpSync( REPO_ROOT, stagingRoot, {
+ recursive: true,
+ filter: shouldCopyToStaging,
+ } );
+
+ console.log( 'Installing workspace dependencies in packaging directory ...' );
+ runOrFail( 'npm', [ 'ci' ], stagingRoot );
+
+ console.log( 'Running package in packaging directory ...' );
+ runPackageScript( stagingRoot, target.arch, target.platform );
+
+ console.log( 'Syncing packaging artifacts back to workspace ...' );
+ copyArtifactsBack( stagingRoot );
+ } finally {
+ console.log( `Removing packaging directory ${ stagingParent }` );
+ fs.rmSync( stagingParent, { recursive: true, force: true } );
+ }
+}
+
+main();
diff --git a/scripts/prepare-dev-build-version.mjs b/scripts/prepare-dev-build-version.mjs
index 9617cc9e62..cd8bcfed8f 100644
--- a/scripts/prepare-dev-build-version.mjs
+++ b/scripts/prepare-dev-build-version.mjs
@@ -24,7 +24,7 @@ const packageJsonText = await fs.readFile( packageJsonPath, 'utf-8' );
const packageJson = JSON.parse( packageJsonText );
// Use version from latestTag (strip leading 'v' if present)
-const tagVersion = latestTag.startsWith('v') ? latestTag.slice(1) : latestTag;
+const tagVersion = latestTag.startsWith( 'v' ) ? latestTag.slice( 1 ) : latestTag;
const parsedVersion = semver.parse( tagVersion );
if ( ! parsedVersion ) {
throw new Error( `Invalid version in latestTag: ${ latestTag }` );
diff --git a/src/about-menu/about-menu.html b/src/about-menu/about-menu.html
deleted file mode 100644
index 9cc4ba9c05..0000000000
--- a/src/about-menu/about-menu.html
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
-
- About WordPress Studio
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/components/wordpress-styles.tsx b/src/components/wordpress-styles.tsx
deleted file mode 100644
index 8b6173d7d3..0000000000
--- a/src/components/wordpress-styles.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { useI18n } from '@wordpress/react-i18n';
-import { DynamicStylesheet } from 'src/components/dynamic-stylesheet';
-
-const WORDPRESS_STYLES_ID = 'wordpress-components-style';
-
-// @ts-expect-error - import.meta syntax is not supported by TypeScript's commonjs module setting,
-// but Vite handles this at build time and replaces it with the actual value
-const isDevelopment = import.meta.env.DEV;
-
-const WORDPRESS_STYLES_LTR = isDevelopment
- ? '/node_modules/@wordpress/components/build-style/style.css'
- : './main_window/styles/wordpress-components-style.css';
-
-const WORDPRESS_STYLES_RTL = isDevelopment
- ? '/node_modules/@wordpress/components/build-style/style-rtl.css'
- : './main_window/styles/wordpress-components-style-rtl.css';
-
-export const WordPressStyles = () => {
- const { isRTL } = useI18n();
- const isRtl = isRTL();
-
- const href = isRtl ? WORDPRESS_STYLES_RTL : WORDPRESS_STYLES_LTR;
-
- return ;
-};
diff --git a/common/constants.ts b/tools/common/constants.ts
similarity index 100%
rename from common/constants.ts
rename to tools/common/constants.ts
diff --git a/common/lib/blueprint-settings.ts b/tools/common/lib/blueprint-settings.ts
similarity index 100%
rename from common/lib/blueprint-settings.ts
rename to tools/common/lib/blueprint-settings.ts
diff --git a/common/lib/blueprint-validation.ts b/tools/common/lib/blueprint-validation.ts
similarity index 100%
rename from common/lib/blueprint-validation.ts
rename to tools/common/lib/blueprint-validation.ts
diff --git a/common/lib/bump-stat.ts b/tools/common/lib/bump-stat.ts
similarity index 97%
rename from common/lib/bump-stat.ts
rename to tools/common/lib/bump-stat.ts
index 65e513c684..d312208fe5 100644
--- a/common/lib/bump-stat.ts
+++ b/tools/common/lib/bump-stat.ts
@@ -1,5 +1,5 @@
+import { AggregateInterval, StatsGroup, StatsMetric } from '@studio/common/types/stats';
import { isSameDay, isSameMonth, isSameWeek } from 'date-fns';
-import { AggregateInterval, StatsGroup, StatsMetric } from 'common/types/stats';
// Database columns are varchar(32). Group limit is 27 to account for the '-a11n' suffix
// added by the backend for Automattic requests (27 + 5 = 32).
diff --git a/common/lib/cache-function-ttl.ts b/tools/common/lib/cache-function-ttl.ts
similarity index 100%
rename from common/lib/cache-function-ttl.ts
rename to tools/common/lib/cache-function-ttl.ts
diff --git a/common/lib/cli-error.ts b/tools/common/lib/cli-error.ts
similarity index 100%
rename from common/lib/cli-error.ts
rename to tools/common/lib/cli-error.ts
diff --git a/common/lib/domains.ts b/tools/common/lib/domains.ts
similarity index 94%
rename from common/lib/domains.ts
rename to tools/common/lib/domains.ts
index 195691345c..c954f1eeb6 100644
--- a/common/lib/domains.ts
+++ b/tools/common/lib/domains.ts
@@ -1,5 +1,5 @@
+import { DEFAULT_CUSTOM_DOMAIN_SUFFIX } from '@studio/common/constants';
import { __ } from '@wordpress/i18n';
-import { DEFAULT_CUSTOM_DOMAIN_SUFFIX } from 'common/constants';
import { sanitizeFolderName } from './sanitize-folder-name';
const DOMAIN_PATTERN =
diff --git a/common/lib/escape-regex.ts b/tools/common/lib/escape-regex.ts
similarity index 100%
rename from common/lib/escape-regex.ts
rename to tools/common/lib/escape-regex.ts
diff --git a/common/lib/extract-zip.ts b/tools/common/lib/extract-zip.ts
similarity index 100%
rename from common/lib/extract-zip.ts
rename to tools/common/lib/extract-zip.ts
diff --git a/common/lib/fs-utils.ts b/tools/common/lib/fs-utils.ts
similarity index 100%
rename from common/lib/fs-utils.ts
rename to tools/common/lib/fs-utils.ts
diff --git a/common/lib/get-wordpress-version.ts b/tools/common/lib/get-wordpress-version.ts
similarity index 100%
rename from common/lib/get-wordpress-version.ts
rename to tools/common/lib/get-wordpress-version.ts
diff --git a/common/lib/is-errno-exception.ts b/tools/common/lib/is-errno-exception.ts
similarity index 100%
rename from common/lib/is-errno-exception.ts
rename to tools/common/lib/is-errno-exception.ts
diff --git a/common/lib/locale.ts b/tools/common/lib/locale.ts
similarity index 94%
rename from common/lib/locale.ts
rename to tools/common/lib/locale.ts
index c827b14e04..ba3a1c0072 100644
--- a/common/lib/locale.ts
+++ b/tools/common/lib/locale.ts
@@ -1,5 +1,5 @@
// This file can be used in React and Node
-import { localeDataDictionary } from 'common/translations';
+import { localeDataDictionary } from '@studio/common/translations';
export const DEFAULT_LOCALE = 'en';
diff --git a/common/lib/lockfile.ts b/tools/common/lib/lockfile.ts
similarity index 100%
rename from common/lib/lockfile.ts
rename to tools/common/lib/lockfile.ts
diff --git a/common/lib/mu-plugins.ts b/tools/common/lib/mu-plugins.ts
similarity index 100%
rename from common/lib/mu-plugins.ts
rename to tools/common/lib/mu-plugins.ts
diff --git a/common/lib/network-utils.ts b/tools/common/lib/network-utils.ts
similarity index 100%
rename from common/lib/network-utils.ts
rename to tools/common/lib/network-utils.ts
diff --git a/common/lib/oauth.ts b/tools/common/lib/oauth.ts
similarity index 79%
rename from common/lib/oauth.ts
rename to tools/common/lib/oauth.ts
index 3407e99413..c935fa1c50 100644
--- a/common/lib/oauth.ts
+++ b/tools/common/lib/oauth.ts
@@ -1,5 +1,5 @@
-import { PROTOCOL_PREFIX, CLIENT_ID } from 'common/constants';
-import { SupportedLocale } from 'common/lib/locale';
+import { PROTOCOL_PREFIX, CLIENT_ID } from '@studio/common/constants';
+import { SupportedLocale } from '@studio/common/lib/locale';
const SCOPES = 'global';
const REDIRECT_URI = `${ PROTOCOL_PREFIX }://auth`;
diff --git a/common/lib/passwords.ts b/tools/common/lib/passwords.ts
similarity index 100%
rename from common/lib/passwords.ts
rename to tools/common/lib/passwords.ts
diff --git a/common/lib/php-output-parser.ts b/tools/common/lib/php-output-parser.ts
similarity index 100%
rename from common/lib/php-output-parser.ts
rename to tools/common/lib/php-output-parser.ts
diff --git a/common/lib/playground-cli-messages.ts b/tools/common/lib/playground-cli-messages.ts
similarity index 100%
rename from common/lib/playground-cli-messages.ts
rename to tools/common/lib/playground-cli-messages.ts
diff --git a/common/lib/port-finder.ts b/tools/common/lib/port-finder.ts
similarity index 100%
rename from common/lib/port-finder.ts
rename to tools/common/lib/port-finder.ts
diff --git a/src/migrations/remove-default-db-constants.ts b/tools/common/lib/remove-default-db-constants.ts
similarity index 100%
rename from src/migrations/remove-default-db-constants.ts
rename to tools/common/lib/remove-default-db-constants.ts
diff --git a/common/lib/sanitize-folder-name.ts b/tools/common/lib/sanitize-folder-name.ts
similarity index 100%
rename from common/lib/sanitize-folder-name.ts
rename to tools/common/lib/sanitize-folder-name.ts
diff --git a/common/lib/sequential.ts b/tools/common/lib/sequential.ts
similarity index 100%
rename from common/lib/sequential.ts
rename to tools/common/lib/sequential.ts
diff --git a/common/lib/site-events.ts b/tools/common/lib/site-events.ts
similarity index 100%
rename from common/lib/site-events.ts
rename to tools/common/lib/site-events.ts
diff --git a/common/lib/site-needs-restart.ts b/tools/common/lib/site-needs-restart.ts
similarity index 100%
rename from common/lib/site-needs-restart.ts
rename to tools/common/lib/site-needs-restart.ts
diff --git a/common/lib/sort-sites.ts b/tools/common/lib/sort-sites.ts
similarity index 100%
rename from common/lib/sort-sites.ts
rename to tools/common/lib/sort-sites.ts
diff --git a/common/lib/sqlite-integration.ts b/tools/common/lib/sqlite-integration.ts
similarity index 100%
rename from common/lib/sqlite-integration.ts
rename to tools/common/lib/sqlite-integration.ts
diff --git a/common/lib/suppress-punycode-warning.ts b/tools/common/lib/suppress-punycode-warning.ts
similarity index 100%
rename from common/lib/suppress-punycode-warning.ts
rename to tools/common/lib/suppress-punycode-warning.ts
diff --git a/common/lib/tests/blueprint-settings.test.ts b/tools/common/lib/tests/blueprint-settings.test.ts
similarity index 100%
rename from common/lib/tests/blueprint-settings.test.ts
rename to tools/common/lib/tests/blueprint-settings.test.ts
diff --git a/common/lib/tests/blueprint-validation.test.ts b/tools/common/lib/tests/blueprint-validation.test.ts
similarity index 100%
rename from common/lib/tests/blueprint-validation.test.ts
rename to tools/common/lib/tests/blueprint-validation.test.ts
diff --git a/common/lib/tests/cache-function-ttl.test.ts b/tools/common/lib/tests/cache-function-ttl.test.ts
similarity index 99%
rename from common/lib/tests/cache-function-ttl.test.ts
rename to tools/common/lib/tests/cache-function-ttl.test.ts
index ac4060c2d0..3633065c44 100644
--- a/common/lib/tests/cache-function-ttl.test.ts
+++ b/tools/common/lib/tests/cache-function-ttl.test.ts
@@ -1,5 +1,5 @@
+import { cacheFunctionTTL, clearCache } from '@studio/common/lib/cache-function-ttl';
import { vi } from 'vitest';
-import { cacheFunctionTTL, clearCache } from 'common/lib/cache-function-ttl';
describe( 'cacheFunctionTTL', () => {
beforeEach( () => {
diff --git a/common/lib/tests/oauth.test.ts b/tools/common/lib/tests/oauth.test.ts
similarity index 100%
rename from common/lib/tests/oauth.test.ts
rename to tools/common/lib/tests/oauth.test.ts
diff --git a/common/lib/tests/passwords.test.ts b/tools/common/lib/tests/passwords.test.ts
similarity index 89%
rename from common/lib/tests/passwords.test.ts
rename to tools/common/lib/tests/passwords.test.ts
index 0eabd17567..2a0bd1da0a 100644
--- a/common/lib/tests/passwords.test.ts
+++ b/tools/common/lib/tests/passwords.test.ts
@@ -1,5 +1,5 @@
// Removed: globals are now available via vitest/globals in tsconfig
-import { createPassword, decodePassword } from 'common/lib/passwords';
+import { createPassword, decodePassword } from '@studio/common/lib/passwords';
describe( 'createPassword', () => {
it( 'should return a Base64-encoded string', () => {
diff --git a/src/migrations/tests/remove-default-db-constants.test.ts b/tools/common/lib/tests/remove-default-db-constants.test.ts
similarity index 99%
rename from src/migrations/tests/remove-default-db-constants.test.ts
rename to tools/common/lib/tests/remove-default-db-constants.test.ts
index e033165d26..d858169a87 100644
--- a/src/migrations/tests/remove-default-db-constants.test.ts
+++ b/tools/common/lib/tests/remove-default-db-constants.test.ts
@@ -2,7 +2,7 @@ import {
hasDefaultDbBlock,
normalizeLineEndings,
removeDbConstants,
-} from 'src/migrations/remove-default-db-constants';
+} from '../remove-default-db-constants';
const WP_CONFIG_WITH_DEFAULTS = normalizeLineEndings( ` {
describe( 'concurrency', () => {
diff --git a/common/lib/tests/site-needs-restart.test.ts b/tools/common/lib/tests/site-needs-restart.test.ts
similarity index 100%
rename from common/lib/tests/site-needs-restart.test.ts
rename to tools/common/lib/tests/site-needs-restart.test.ts
diff --git a/common/lib/tests/sort-sites.test.ts b/tools/common/lib/tests/sort-sites.test.ts
similarity index 89%
rename from common/lib/tests/sort-sites.test.ts
rename to tools/common/lib/tests/sort-sites.test.ts
index d8e487e0e4..bf89b88f24 100644
--- a/common/lib/tests/sort-sites.test.ts
+++ b/tools/common/lib/tests/sort-sites.test.ts
@@ -2,7 +2,7 @@
* @vitest-environment node
*/
// To run tests, execute `npm run test -- common/lib/tests/sort-sites.test.ts` from the root directory
-import { sortSites } from 'common/lib/sort-sites';
+import { sortSites } from '@studio/common/lib/sort-sites';
describe( 'sortSites', () => {
it( 'should sort sites by name in ascending order', () => {
diff --git a/common/lib/tests/sqlite-integration.test.ts b/tools/common/lib/tests/sqlite-integration.test.ts
similarity index 95%
rename from common/lib/tests/sqlite-integration.test.ts
rename to tools/common/lib/tests/sqlite-integration.test.ts
index aa05b9a43b..30f50d2361 100644
--- a/common/lib/tests/sqlite-integration.test.ts
+++ b/tools/common/lib/tests/sqlite-integration.test.ts
@@ -1,16 +1,12 @@
import fs from 'fs-extra';
import { vi } from 'vitest';
-import { SqliteIntegrationProvider } from 'common/lib/sqlite-integration';
-import { platformTestSuite } from 'src/tests/utils/platform-test-suite';
+import { SqliteIntegrationProvider } from '../sqlite-integration';
+import { platformTestSuite } from './utils/platform-test-suite';
const SQLITE_DIRNAME = 'sqlite-database-integration';
const MOCK_SITE_PATH = 'mock-site-path';
-// Use the global fs-extra mock from src/__mocks__/fs-extra.ts
-vi.mock( 'fs-extra', async () => {
- const mockModule = await import( 'src/__mocks__/fs-extra' );
- return mockModule;
-} );
+vi.mock( 'fs-extra', async () => await import( './utils/fs-extra-mock' ) );
// Import the mock helpers directly from the mocked fs-extra module
const mockFs = fs as typeof fs & {
diff --git a/tools/common/lib/tests/utils/fs-extra-mock.ts b/tools/common/lib/tests/utils/fs-extra-mock.ts
new file mode 100644
index 0000000000..c6d488edd2
--- /dev/null
+++ b/tools/common/lib/tests/utils/fs-extra-mock.ts
@@ -0,0 +1,78 @@
+import { vi } from 'vitest';
+
+// Extend globalThis to include our mock file system
+declare global {
+ var __fsExtraMockFiles: Record< string, string | string[] > | undefined;
+}
+
+// Use globalThis to share state between mock and tests
+// This allows tests to directly access and modify the mock file system
+if ( ! globalThis.__fsExtraMockFiles ) {
+ globalThis.__fsExtraMockFiles = {};
+}
+const mockFiles = globalThis.__fsExtraMockFiles;
+
+const readFile = vi.fn( async ( path: string ): Promise< string > => {
+ const fileContents = mockFiles[ path ];
+ if ( typeof fileContents === 'string' ) {
+ return fileContents;
+ }
+ return '';
+} );
+
+const readFileSync = vi.fn( ( path: string ): string => {
+ const fileContents = mockFiles[ path ];
+ if ( typeof fileContents === 'string' ) {
+ return fileContents;
+ }
+ return '';
+} );
+
+const readdir = vi.fn( async ( path: string ): Promise< Array< string > > => {
+ const dirContents = mockFiles[ path ];
+ if ( Array.isArray( dirContents ) ) {
+ return dirContents;
+ }
+ return [];
+} );
+
+const pathExists = vi.fn( async ( path: string ): Promise< boolean > => {
+ return !! mockFiles[ path ];
+} );
+
+const mkdir = vi.fn();
+const writeFile = vi.fn();
+const copy = vi.fn();
+
+const __setFileContents = ( path: string, fileContents: string | string[] ) => {
+ mockFiles[ path ] = fileContents;
+};
+
+const __clearMockFiles = () => {
+ Object.keys( mockFiles ).forEach( ( key ) => delete mockFiles[ key ] );
+};
+
+export default {
+ __mockFiles: mockFiles,
+ __setFileContents,
+ __clearMockFiles,
+ readFile,
+ readFileSync,
+ readdir,
+ pathExists,
+ mkdir,
+ writeFile,
+ copy,
+};
+
+export {
+ readFile,
+ readFileSync,
+ readdir,
+ pathExists,
+ mkdir,
+ writeFile,
+ copy,
+ __setFileContents,
+ __clearMockFiles,
+};
diff --git a/src/tests/utils/platform-test-suite.ts b/tools/common/lib/tests/utils/platform-test-suite.ts
similarity index 100%
rename from src/tests/utils/platform-test-suite.ts
rename to tools/common/lib/tests/utils/platform-test-suite.ts
diff --git a/common/lib/tests/wordpress-version-utils.test.ts b/tools/common/lib/tests/wordpress-version-utils.test.ts
similarity index 100%
rename from common/lib/tests/wordpress-version-utils.test.ts
rename to tools/common/lib/tests/wordpress-version-utils.test.ts
diff --git a/common/lib/wordpress-version-utils.ts b/tools/common/lib/wordpress-version-utils.ts
similarity index 100%
rename from common/lib/wordpress-version-utils.ts
rename to tools/common/lib/wordpress-version-utils.ts
diff --git a/src/lib/wpcom-factory.ts b/tools/common/lib/wpcom-factory.ts
similarity index 100%
rename from src/lib/wpcom-factory.ts
rename to tools/common/lib/wpcom-factory.ts
diff --git a/src/lib/wpcom-xhr-request-factory.ts b/tools/common/lib/wpcom-xhr-request-factory.ts
similarity index 100%
rename from src/lib/wpcom-xhr-request-factory.ts
rename to tools/common/lib/wpcom-xhr-request-factory.ts
diff --git a/common/logger-actions.ts b/tools/common/logger-actions.ts
similarity index 100%
rename from common/logger-actions.ts
rename to tools/common/logger-actions.ts
diff --git a/tools/common/package.json b/tools/common/package.json
new file mode 100644
index 0000000000..8c57b0aef7
--- /dev/null
+++ b/tools/common/package.json
@@ -0,0 +1,29 @@
+{
+ "name": "@studio/common",
+ "private": true,
+ "version": "1.0.0",
+ "description": "Shared code between Studio app and CLI",
+ "scripts": {
+ "build": "tsc -p tsconfig.json",
+ "typecheck": "tsc -p tsconfig.json --noEmit"
+ },
+ "dependencies": {
+ "@automattic/generate-password": "^0.1.0",
+ "@wordpress/i18n": "^6.9.0",
+ "cross-port-killer": "^1.4.0",
+ "date-fns": "^3.3.1",
+ "fast-deep-equal": "^3.1.3",
+ "fs-extra": "^11.3.2",
+ "lockfile": "^1.0.4",
+ "wpcom": "^7.1.1",
+ "wpcom-xhr-request": "^1.3.0",
+ "yauzl": "^3.2.0",
+ "zod": "^4.0.0"
+ },
+ "devDependencies": {
+ "@types/fs-extra": "^11.0.4",
+ "@types/lockfile": "^1.0.4",
+ "@types/yauzl": "^2.10.3",
+ "@wp-playground/blueprints": "3.0.46"
+ }
+}
diff --git a/tools/common/translations/index.ts b/tools/common/translations/index.ts
new file mode 100644
index 0000000000..b7ced55645
--- /dev/null
+++ b/tools/common/translations/index.ts
@@ -0,0 +1,44 @@
+import { locale_data as ar } from '@studio/common/translations/studio-ar.jed.json';
+import { locale_data as de } from '@studio/common/translations/studio-de.jed.json';
+import { locale_data as es } from '@studio/common/translations/studio-es.jed.json';
+import { locale_data as fr } from '@studio/common/translations/studio-fr.jed.json';
+import { locale_data as he } from '@studio/common/translations/studio-he.jed.json';
+import { locale_data as hu } from '@studio/common/translations/studio-hu.jed.json';
+import { locale_data as id } from '@studio/common/translations/studio-id.jed.json';
+import { locale_data as it } from '@studio/common/translations/studio-it.jed.json';
+import { locale_data as ja } from '@studio/common/translations/studio-ja.jed.json';
+import { locale_data as ko } from '@studio/common/translations/studio-ko.jed.json';
+import { locale_data as nl } from '@studio/common/translations/studio-nl.jed.json';
+import { locale_data as pl } from '@studio/common/translations/studio-pl.jed.json';
+import { locale_data as ptBR } from '@studio/common/translations/studio-pt-br.jed.json';
+import { locale_data as ru } from '@studio/common/translations/studio-ru.jed.json';
+import { locale_data as sv } from '@studio/common/translations/studio-sv.jed.json';
+import { locale_data as tr } from '@studio/common/translations/studio-tr.jed.json';
+import { locale_data as uk } from '@studio/common/translations/studio-uk.jed.json';
+import { locale_data as vi } from '@studio/common/translations/studio-vi.jed.json';
+import { locale_data as zhCN } from '@studio/common/translations/studio-zh-cn.jed.json';
+import { locale_data as zhTW } from '@studio/common/translations/studio-zh-tw.jed.json';
+
+export const localeDataDictionary = {
+ ar,
+ de,
+ en: null,
+ es,
+ fr,
+ he,
+ hu,
+ id,
+ it,
+ ja,
+ ko,
+ nl,
+ pl,
+ 'pt-br': ptBR,
+ ru,
+ sv,
+ tr,
+ uk,
+ vi,
+ 'zh-cn': zhCN,
+ 'zh-tw': zhTW,
+} as const;
diff --git a/common/translations/studio-ar.jed.json b/tools/common/translations/studio-ar.jed.json
similarity index 100%
rename from common/translations/studio-ar.jed.json
rename to tools/common/translations/studio-ar.jed.json
diff --git a/common/translations/studio-de.jed.json b/tools/common/translations/studio-de.jed.json
similarity index 100%
rename from common/translations/studio-de.jed.json
rename to tools/common/translations/studio-de.jed.json
diff --git a/common/translations/studio-es.jed.json b/tools/common/translations/studio-es.jed.json
similarity index 100%
rename from common/translations/studio-es.jed.json
rename to tools/common/translations/studio-es.jed.json
diff --git a/common/translations/studio-fr.jed.json b/tools/common/translations/studio-fr.jed.json
similarity index 100%
rename from common/translations/studio-fr.jed.json
rename to tools/common/translations/studio-fr.jed.json
diff --git a/common/translations/studio-he.jed.json b/tools/common/translations/studio-he.jed.json
similarity index 100%
rename from common/translations/studio-he.jed.json
rename to tools/common/translations/studio-he.jed.json
diff --git a/common/translations/studio-hu.jed.json b/tools/common/translations/studio-hu.jed.json
similarity index 100%
rename from common/translations/studio-hu.jed.json
rename to tools/common/translations/studio-hu.jed.json
diff --git a/common/translations/studio-id.jed.json b/tools/common/translations/studio-id.jed.json
similarity index 100%
rename from common/translations/studio-id.jed.json
rename to tools/common/translations/studio-id.jed.json
diff --git a/common/translations/studio-it.jed.json b/tools/common/translations/studio-it.jed.json
similarity index 100%
rename from common/translations/studio-it.jed.json
rename to tools/common/translations/studio-it.jed.json
diff --git a/common/translations/studio-ja.jed.json b/tools/common/translations/studio-ja.jed.json
similarity index 100%
rename from common/translations/studio-ja.jed.json
rename to tools/common/translations/studio-ja.jed.json
diff --git a/common/translations/studio-ko.jed.json b/tools/common/translations/studio-ko.jed.json
similarity index 100%
rename from common/translations/studio-ko.jed.json
rename to tools/common/translations/studio-ko.jed.json
diff --git a/common/translations/studio-nl.jed.json b/tools/common/translations/studio-nl.jed.json
similarity index 100%
rename from common/translations/studio-nl.jed.json
rename to tools/common/translations/studio-nl.jed.json
diff --git a/common/translations/studio-pl.jed.json b/tools/common/translations/studio-pl.jed.json
similarity index 100%
rename from common/translations/studio-pl.jed.json
rename to tools/common/translations/studio-pl.jed.json
diff --git a/common/translations/studio-pt-br.jed.json b/tools/common/translations/studio-pt-br.jed.json
similarity index 100%
rename from common/translations/studio-pt-br.jed.json
rename to tools/common/translations/studio-pt-br.jed.json
diff --git a/common/translations/studio-ru.jed.json b/tools/common/translations/studio-ru.jed.json
similarity index 100%
rename from common/translations/studio-ru.jed.json
rename to tools/common/translations/studio-ru.jed.json
diff --git a/common/translations/studio-sv.jed.json b/tools/common/translations/studio-sv.jed.json
similarity index 100%
rename from common/translations/studio-sv.jed.json
rename to tools/common/translations/studio-sv.jed.json
diff --git a/common/translations/studio-tr.jed.json b/tools/common/translations/studio-tr.jed.json
similarity index 100%
rename from common/translations/studio-tr.jed.json
rename to tools/common/translations/studio-tr.jed.json
diff --git a/common/translations/studio-uk.jed.json b/tools/common/translations/studio-uk.jed.json
similarity index 100%
rename from common/translations/studio-uk.jed.json
rename to tools/common/translations/studio-uk.jed.json
diff --git a/common/translations/studio-vi.jed.json b/tools/common/translations/studio-vi.jed.json
similarity index 100%
rename from common/translations/studio-vi.jed.json
rename to tools/common/translations/studio-vi.jed.json
diff --git a/common/translations/studio-zh-cn.jed.json b/tools/common/translations/studio-zh-cn.jed.json
similarity index 100%
rename from common/translations/studio-zh-cn.jed.json
rename to tools/common/translations/studio-zh-cn.jed.json
diff --git a/common/translations/studio-zh-tw.jed.json b/tools/common/translations/studio-zh-tw.jed.json
similarity index 100%
rename from common/translations/studio-zh-tw.jed.json
rename to tools/common/translations/studio-zh-tw.jed.json
diff --git a/tools/common/tsconfig.json b/tools/common/tsconfig.json
new file mode 100644
index 0000000000..ee0df91243
--- /dev/null
+++ b/tools/common/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "composite": true,
+ "baseUrl": "../..",
+ "paths": {
+ "*": [ "node_modules/*" ],
+ "cli/*": [ "apps/cli/*" ],
+ "src/*": [ "apps/studio/src/*" ],
+ "vendor/*": [ "vendor/*" ],
+ "@studio/common/*": [ "tools/common/*" ]
+ },
+ "outDir": "dist",
+ "declaration": true,
+ "emitDeclarationOnly": true
+ },
+ "include": [ "**/*" ],
+ "exclude": [ "**/__mocks__/**/*", "**/node_modules/**/*", "**/dist/**/*", "**/out/**/*" ]
+}
diff --git a/common/types/php-versions.ts b/tools/common/types/php-versions.ts
similarity index 100%
rename from common/types/php-versions.ts
rename to tools/common/types/php-versions.ts
diff --git a/common/types/snapshot.ts b/tools/common/types/snapshot.ts
similarity index 100%
rename from common/types/snapshot.ts
rename to tools/common/types/snapshot.ts
diff --git a/common/types/stats.ts b/tools/common/types/stats.ts
similarity index 100%
rename from common/types/stats.ts
rename to tools/common/types/stats.ts
diff --git a/scripts/compare-perf/config.ts b/tools/compare-perf/config.ts
similarity index 66%
rename from scripts/compare-perf/config.ts
rename to tools/compare-perf/config.ts
index 767d53a5c9..6c52d25005 100644
--- a/scripts/compare-perf/config.ts
+++ b/tools/compare-perf/config.ts
@@ -1,14 +1,15 @@
import path from 'path';
-const metricsPath = path.resolve( __dirname, '../../metrics' );
+const metricsPath = path.resolve( __dirname, '../metrics' );
const artifactsPath = process.env.ARTIFACTS_PATH ?? path.join( metricsPath, 'artifacts' );
const config = {
gitRepositoryURL: 'https://github.com/Automattic/studio.git',
setupTestRunner: 'npm ci && npx playwright install chromium',
testCommand: 'npm run test:metrics',
- setupCommand: 'npm ci && npm ci --prefix cli && npm run package',
- testsPath: 'metrics/tests',
+ setupCommand:
+ 'npm ci && npm -w studio-cli run install:bundle && npm -w studio-app run install:bundle && npm run package',
+ testsPath: 'tools/metrics/tests',
testFileSuffix: '.test.ts',
artifactsPath,
resultsFileSuffix: '.results.json',
diff --git a/scripts/compare-perf/index.ts b/tools/compare-perf/index.ts
similarity index 100%
rename from scripts/compare-perf/index.ts
rename to tools/compare-perf/index.ts
diff --git a/scripts/compare-perf/log-to-codevitals.ts b/tools/compare-perf/log-to-codevitals.ts
similarity index 100%
rename from scripts/compare-perf/log-to-codevitals.ts
rename to tools/compare-perf/log-to-codevitals.ts
diff --git a/scripts/compare-perf/package.json b/tools/compare-perf/package.json
similarity index 97%
rename from scripts/compare-perf/package.json
rename to tools/compare-perf/package.json
index 741aa7b978..cc74482cc9 100644
--- a/scripts/compare-perf/package.json
+++ b/tools/compare-perf/package.json
@@ -1,5 +1,6 @@
{
"name": "compare-perf",
+ "private": true,
"version": "0.0.1",
"description": "A tool to compare performance accross tow branches in Studio Monorepo.",
"author": "Automattic",
diff --git a/scripts/compare-perf/performance.ts b/tools/compare-perf/performance.ts
similarity index 86%
rename from scripts/compare-perf/performance.ts
rename to tools/compare-perf/performance.ts
index 2c469d77ff..3a18c98930 100644
--- a/scripts/compare-perf/performance.ts
+++ b/tools/compare-perf/performance.ts
@@ -29,6 +29,41 @@ interface PerformanceCommandOptions {
testsBranch?: string;
}
+interface PrebuiltArtifacts {
+ branch?: string;
+ outDir?: string;
+}
+
+const CURRENT_BRANCH_PREBUILT: PrebuiltArtifacts = {
+ branch: process.env.COMPARE_PERF_PREBUILT_BRANCH,
+ outDir: process.env.COMPARE_PERF_PREBUILT_OUT_DIR,
+};
+
+const BASE_BRANCH_PREBUILT: PrebuiltArtifacts = {
+ branch: process.env.COMPARE_PERF_PREBUILT_BRANCH_BASE,
+ outDir: process.env.COMPARE_PERF_PREBUILT_OUT_DIR_BASE,
+};
+
+function getPrebuiltOutDirForBranch( branch: string ): string | undefined {
+ if (
+ CURRENT_BRANCH_PREBUILT.branch === branch &&
+ CURRENT_BRANCH_PREBUILT.outDir &&
+ fs.existsSync( CURRENT_BRANCH_PREBUILT.outDir )
+ ) {
+ return CURRENT_BRANCH_PREBUILT.outDir;
+ }
+
+ if (
+ BASE_BRANCH_PREBUILT.branch === branch &&
+ BASE_BRANCH_PREBUILT.outDir &&
+ fs.existsSync( BASE_BRANCH_PREBUILT.outDir )
+ ) {
+ return BASE_BRANCH_PREBUILT.outDir;
+ }
+
+ return undefined;
+}
+
/**
* A logging helper for printing steps and their substeps.
*
@@ -219,12 +254,24 @@ export async function runPerformanceTests(
logAtIndent( 3, 'Checking out:', formats.success( branch ) );
await simpleGit( buildDir ).raw( 'checkout', branch );
- logAtIndent( 3, 'Installing dependencies and building' );
- await runShellScript( config.setupCommand, buildDir, {
- GITHUB_TOKEN: process.env.GITHUB_TOKEN,
- SKIP_WORKER_THREAD_BUILD: process.env.SKIP_WORKER_THREAD_BUILD,
- IS_DEV_BUILD: 'true',
- } );
+ const prebuiltOutDir = getPrebuiltOutDirForBranch( branch );
+
+ if ( prebuiltOutDir ) {
+ const prebuiltTargetDir = path.join( buildDir, 'out' );
+ logAtIndent( 3, 'Using prebuilt app artifacts from:', formats.success( prebuiltOutDir ) );
+
+ if ( fs.existsSync( prebuiltTargetDir ) ) {
+ fs.rmSync( prebuiltTargetDir, { recursive: true } );
+ }
+ fs.cpSync( prebuiltOutDir, prebuiltTargetDir, { recursive: true } );
+ } else {
+ logAtIndent( 3, 'Installing dependencies and building' );
+ await runShellScript( config.setupCommand, buildDir, {
+ GITHUB_TOKEN: process.env.GITHUB_TOKEN,
+ SKIP_WORKER_THREAD_BUILD: process.env.SKIP_WORKER_THREAD_BUILD,
+ IS_DEV_BUILD: 'true',
+ } );
+ }
}
logAtIndent( 0, 'Looking for test files' );
diff --git a/scripts/compare-perf/post-to-github.ts b/tools/compare-perf/post-to-github.ts
similarity index 100%
rename from scripts/compare-perf/post-to-github.ts
rename to tools/compare-perf/post-to-github.ts
diff --git a/scripts/compare-perf/tsconfig.json b/tools/compare-perf/tsconfig.json
similarity index 67%
rename from scripts/compare-perf/tsconfig.json
rename to tools/compare-perf/tsconfig.json
index d8adec6c0d..b964aa883b 100644
--- a/scripts/compare-perf/tsconfig.json
+++ b/tools/compare-perf/tsconfig.json
@@ -1,17 +1,15 @@
{
"compilerOptions": {
"target": "ES2017",
- "lib": ["ES2017"],
+ "lib": [ "ES2017" ],
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"skipLibCheck": true,
"strict": true,
"resolveJsonModule": true,
- "types": ["node"]
+ "types": [ "node" ]
},
- "include": ["*.ts"],
- "exclude": ["node_modules"]
+ "include": [ "*.ts" ],
+ "exclude": [ "node_modules" ]
}
-
-
diff --git a/scripts/compare-perf/utils.ts b/tools/compare-perf/utils.ts
similarity index 100%
rename from scripts/compare-perf/utils.ts
rename to tools/compare-perf/utils.ts
diff --git a/packages/eslint-plugin-studio/package.json b/tools/eslint-plugin-studio/package.json
similarity index 100%
rename from packages/eslint-plugin-studio/package.json
rename to tools/eslint-plugin-studio/package.json
diff --git a/packages/eslint-plugin-studio/src/index.js b/tools/eslint-plugin-studio/src/index.js
similarity index 100%
rename from packages/eslint-plugin-studio/src/index.js
rename to tools/eslint-plugin-studio/src/index.js
diff --git a/packages/eslint-plugin-studio/src/rules/require-lock-before-save.js b/tools/eslint-plugin-studio/src/rules/require-lock-before-save.js
similarity index 100%
rename from packages/eslint-plugin-studio/src/rules/require-lock-before-save.js
rename to tools/eslint-plugin-studio/src/rules/require-lock-before-save.js
diff --git a/packages/eslint-plugin-studio/tests/require-lock-before-save.test.ts b/tools/eslint-plugin-studio/tests/require-lock-before-save.test.ts
similarity index 100%
rename from packages/eslint-plugin-studio/tests/require-lock-before-save.test.ts
rename to tools/eslint-plugin-studio/tests/require-lock-before-save.test.ts
diff --git a/metrics/README.md b/tools/metrics/README.md
similarity index 90%
rename from metrics/README.md
rename to tools/metrics/README.md
index be95dcb15c..0ffddf57e5 100644
--- a/metrics/README.md
+++ b/tools/metrics/README.md
@@ -18,7 +18,7 @@ This will:
1. Package the application (to ensure testing against the production build)
2. Run the performance tests using Playwright
-3. Generate a performance reports in `artifacts/performance-metrics.json` at the project root and output the results to the console
+3. Generate a performance reports in `tools/metrics/artifacts/performance-metrics.json` and output the results to the console
## How It Works
@@ -33,7 +33,7 @@ The performance tests simulate key user workflows and measure the time they take
You can compare performance metrics between different commits or branches:
```bash
-cd scripts/compare-perf && npm run compare -- perf
+npm -w compare-perf run compare -- perf
```
This tool is useful for:
@@ -60,7 +60,7 @@ The `performance-metrics.json` output file contains a summary of the results, ex
```json
{
"siteCreation": 6150,
- "siteStartup": 3946,
+ "siteStartup": 3946
}
```
diff --git a/metrics/performance-reporter.ts b/tools/metrics/performance-reporter.ts
similarity index 100%
rename from metrics/performance-reporter.ts
rename to tools/metrics/performance-reporter.ts
diff --git a/metrics/playwright.metrics.config.ts b/tools/metrics/playwright.metrics.config.ts
similarity index 100%
rename from metrics/playwright.metrics.config.ts
rename to tools/metrics/playwright.metrics.config.ts
diff --git a/metrics/tests/site-editor.test.ts b/tools/metrics/tests/site-editor.test.ts
similarity index 81%
rename from metrics/tests/site-editor.test.ts
rename to tools/metrics/tests/site-editor.test.ts
index 35587e668a..77c2bdfaa1 100644
--- a/metrics/tests/site-editor.test.ts
+++ b/tools/metrics/tests/site-editor.test.ts
@@ -1,9 +1,9 @@
import { test, expect, chromium } from '@playwright/test';
-import { E2ESession } from '../../e2e/e2e-helpers';
-import Onboarding from '../../e2e/page-objects/onboarding';
-import SiteContent from '../../e2e/page-objects/site-content';
-import WhatsNewModal from '../../e2e/page-objects/whats-new-modal';
-import { getUrlWithAutoLogin } from '../../e2e/utils';
+import { E2ESession } from '../../../apps/studio/e2e/e2e-helpers';
+import Onboarding from '../../../apps/studio/e2e/page-objects/onboarding';
+import SiteContent from '../../../apps/studio/e2e/page-objects/site-content';
+import WhatsNewModal from '../../../apps/studio/e2e/page-objects/whats-new-modal';
+import { getUrlWithAutoLogin } from '../../../apps/studio/e2e/utils';
import { median } from '../utils';
test.describe( 'Site Editor Load Metrics', () => {
@@ -72,7 +72,7 @@ test.describe( 'Site Editor Load Metrics', () => {
// First wait for the iframe to appear with explicit timeout
await page.waitForSelector( 'iframe[name="editor-canvas"]', {
state: 'visible',
- timeout: 120_000 // 2 minutes, half of the default action timeout
+ timeout: 120_000, // 2 minutes, half of the default action timeout
} );
const frame = page.frame( { name: 'editor-canvas' } );
if ( ! frame ) {
@@ -84,14 +84,17 @@ test.describe( 'Site Editor Load Metrics', () => {
await frame.waitForSelector( '[data-block]', { timeout: 60_000 } );
// Make sure blocks are loaded and spinners are gone
- await frame.waitForFunction( () => {
- return (
- document.querySelectorAll( '[data-block]' ).length > 0 &&
- ! document.querySelector( '.components-spinner' ) &&
- ! document.querySelector( '.is-loading' ) &&
- ! document.querySelector( '.wp-block-editor__loading' )
- );
- }, { timeout: 60_000 } );
+ await frame.waitForFunction(
+ () => {
+ return (
+ document.querySelectorAll( '[data-block]' ).length > 0 &&
+ ! document.querySelector( '.components-spinner' ) &&
+ ! document.querySelector( '.is-loading' ) &&
+ ! document.querySelector( '.wp-block-editor__loading' )
+ );
+ },
+ { timeout: 60_000 }
+ );
const endTime = Date.now();
const duration = endTime - startTime;
diff --git a/metrics/tests/site-startup.test.ts b/tools/metrics/tests/site-startup.test.ts
similarity index 90%
rename from metrics/tests/site-startup.test.ts
rename to tools/metrics/tests/site-startup.test.ts
index 16cf057054..440385efb4 100644
--- a/metrics/tests/site-startup.test.ts
+++ b/tools/metrics/tests/site-startup.test.ts
@@ -1,8 +1,8 @@
import { test, expect } from '@playwright/test';
-import { E2ESession } from '../../e2e/e2e-helpers';
-import Onboarding from '../../e2e/page-objects/onboarding';
-import SiteContent from '../../e2e/page-objects/site-content';
-import WhatsNewModal from '../../e2e/page-objects/whats-new-modal';
+import { E2ESession } from '../../../apps/studio/e2e/e2e-helpers';
+import Onboarding from '../../../apps/studio/e2e/page-objects/onboarding';
+import SiteContent from '../../../apps/studio/e2e/page-objects/site-content';
+import WhatsNewModal from '../../../apps/studio/e2e/page-objects/whats-new-modal';
import { median } from '../utils';
test.describe( 'Startup Metrics', () => {
diff --git a/metrics/utils.ts b/tools/metrics/utils.ts
similarity index 100%
rename from metrics/utils.ts
rename to tools/metrics/utils.ts
diff --git a/tsconfig.base.json b/tsconfig.base.json
new file mode 100644
index 0000000000..e8f2cfc57c
--- /dev/null
+++ b/tsconfig.base.json
@@ -0,0 +1,16 @@
+{
+ "compilerOptions": {
+ "target": "ES6",
+ "allowJs": true,
+ "module": "commonjs",
+ "skipLibCheck": true,
+ "esModuleInterop": true,
+ "noImplicitAny": true,
+ "sourceMap": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "jsx": "react-jsx",
+ "strict": true,
+ "types": [ "vitest/globals" ]
+ }
+}
diff --git a/tsconfig.json b/tsconfig.json
index 526747147a..e1c3f05619 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,27 +1,22 @@
{
+ "extends": "./tsconfig.base.json",
"compilerOptions": {
- "target": "ES6",
- "allowJs": true,
- "module": "commonjs",
- "skipLibCheck": true,
- "esModuleInterop": true,
- "noImplicitAny": true,
- "sourceMap": true,
"baseUrl": ".",
"outDir": "dist",
- "moduleResolution": "node",
- "resolveJsonModule": true,
- "jsx": "react-jsx",
- "strict": true,
- "types": [ "vitest/globals" ],
"paths": {
"*": [ "node_modules/*" ],
- "cli/*": [ "cli/*" ],
- "src/*": [ "src/*" ],
+ "cli/*": [ "apps/cli/*" ],
+ "src/*": [ "apps/studio/src/*" ],
"vendor/*": [ "vendor/*" ],
- "common/*": [ "common/*" ]
+ "@studio/common/*": [ "tools/common/*" ]
}
},
- "include": [ "src/**/*", "cli/**/*", "common/**/*", "e2e/**/*", "./vitest.setup.ts" ],
+ "include": [
+ "apps/studio/src/**/*",
+ "apps/studio/e2e/**/*",
+ "apps/cli/**/*",
+ "tools/common/**/*",
+ "./vitest.setup.ts"
+ ],
"exclude": [ "**/__mocks__/**/*", "**/node_modules/**/*", "**/dist/**/*", "**/out/**/*" ]
}
diff --git a/vitest.config.mts b/vitest.config.mts
index 2fd0b146e1..cd23a78642 100644
--- a/vitest.config.mts
+++ b/vitest.config.mts
@@ -2,6 +2,7 @@ import { defineConfig } from 'vitest/config';
import path from 'path';
export default defineConfig( {
+ assetsInclude: [ '**/*.riv' ],
test: {
pool: 'threads',
globals: true,
@@ -10,16 +11,17 @@ export default defineConfig( {
customExportConditions: [ 'node', 'node-addons' ],
},
include: [
- 'src/**/*.{test,spec}.{ts,tsx}',
- 'cli/**/*.{test,spec}.{ts,tsx}',
- 'common/**/*.{test,spec}.{ts,tsx}',
- 'packages/**/*.{test,spec}.{ts,tsx,js}',
+ 'apps/studio/src/**/*.{test,spec}.{ts,tsx}',
+ 'apps/cli/**/*.{test,spec}.{ts,tsx}',
+ 'tools/common/**/*.{test,spec}.{ts,tsx}',
+ 'tools/**/*.{test,spec}.{ts,tsx,js}',
],
exclude: [
'**/node_modules/**',
'**/tests/utils/**',
'**/stores/tests/utils/**',
'**/vendor/**',
+ 'tools/metrics/tests/**',
],
globalSetup: './vitest.global-setup.ts',
setupFiles: [ './vitest.setup.ts' ],
@@ -39,11 +41,11 @@ export default defineConfig( {
},
resolve: {
alias: {
- pm2: path.resolve( __dirname, './__mocks__/pm2.ts' ),
- cli: path.resolve( __dirname, './cli' ),
- src: path.resolve( __dirname, './src' ),
+ pm2: path.resolve( __dirname, './apps/cli/__mocks__/pm2.ts' ),
+ cli: path.resolve( __dirname, './apps/cli' ),
+ src: path.resolve( __dirname, './apps/studio/src' ),
vendor: path.resolve( __dirname, './vendor' ),
- common: path.resolve( __dirname, './common' ),
+ '@studio/common': path.resolve( __dirname, './tools/common' ),
'@wp-playground/blueprints/blueprint-schema-validator': path.resolve(
__dirname,
'./node_modules/@wp-playground/blueprints/blueprint-schema-validator.js'
diff --git a/vitest.setup.ts b/vitest.setup.ts
index 8131bd3df5..92fe136d63 100644
--- a/vitest.setup.ts
+++ b/vitest.setup.ts
@@ -126,7 +126,7 @@ vi.mock( './src/hooks/use-offline', () => ( {
useOffline: vi.fn().mockReturnValue( false ),
} ) );
-vi.mock( './src/hooks/use-ai-icon', () => ( {
+vi.mock( 'src/hooks/use-ai-icon', () => ( {
__esModule: true,
default: () => ( {
rive: null,