package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "capgo-app",
"type": "module",
"version": "22.38.1",
"private": true,
"workspaces": [
"cli",
"packages/*"
],
"license": "GPL-3.0",
"scripts": {
"build:snippet": "bun scripts/snippet/build-snippet.ts",
"check:snippet": "bun scripts/snippet/build-snippet.ts --check",
"readreplicate:setup-source": "bash read_replicate/replicate_setup_source.sh",
"readreplicate:prepare": "bash read_replicate/replicate_prepare.sh",
"readreplicate:replica": "bash read_replicate/replicate_to_replica.sh",
"readreplicate:indexes": "bash read_replicate/replicate_ensure_indexes.sh",
"readreplicate:status": "bash read_replicate/replicate_status.sh",
"readreplicate:upgrade:teardown": "bash read_replicate/replicate_upgrade_teardown.sh",
"readreplicate:upgrade:reconnect": "READ_REPLICA_FULL_RESET=1 bash read_replicate/replicate_to_replica.sh",
"readreplicate:check-schema": "bash scripts/check-read-replica-schema.sh",
"readreplicate:sync-schema": "bun scripts/sync-read-replica-schema.ts",
"supabase:reset-postgres-config": "bash scripts/reset_supabase_postgres_config_defaults.sh",
"cloudsql:allow-cloudflare": "bash scripts/update_cloudsql_authorized_networks.sh",
"supabase:start": "bun scripts/supabase-worktree.ts start",
"supabase:stop": "bun scripts/supabase-worktree.ts stop",
"supabase:cleanup": "bun scripts/supabase-worktree.ts stop --no-backup --yes",
"supabase:stop:all": "bun scripts/supabase-stop-all-worktrees.ts",
"supabase:status": "bun scripts/supabase-worktree.ts status",
"supabase:db:reset": "bun scripts/supabase-worktree.ts db reset",
"supabase:functions:serve": "bun scripts/supabase-worktree.ts functions serve",
"supabase:with-env": "bun scripts/supabase-worktree.ts with-env",
"env:hard-setup": "bun run supabase:stop && bun run supabase:start && bun run supabase:db:reset",
"readreplicate:add-table": "bash read_replicate/replicate_add_table.sh",
"readreplicate:repair": "bash read_replicate/replicate_repair.sh",
"readreplicate:set-connection": "bash read_replicate/replicate_set_connection.sh",
"preview": "vite preview",
"preview:https": "serve dist",
"build": "vite build",
"build:mobile": "vite build && cap copy",
"build:dev": "BRANCH=development vite build",
"build:preprod": "BRANCH=preprod vite build",
"build:dev:mobile": "BRANCH=development vite build && cap copy",
"brand:assets": "./scripts/generate-brand-assets.sh && bun run capacitor:assets",
"capacitor:assets": "bunx @capacitor/assets generate --assetPath assets --ios --android",
"resources": "cordova-res --skip-config --copy --icon-background-source '#ffffff'",
"sync": "cap sync",
"sync:ios": "cap sync ios",
"sync:android": "cap sync android",
"dev": "vite",
"serve": "vite",
"serve:local": "ENV=local vite",
"serve:prod-no-cors": "ENV=prod CHOKIDAR_USEPOLLING=true vite",
"serve:worktree": "bun run supabase:with-env -- bun -e \"const supabaseUrl = process.env.SUPABASE_URL || ''; process.env.SUPA_URL = supabaseUrl; process.env.SUPA_ANON = process.env.SUPABASE_ANON_KEY || ''; process.env.API_DOMAIN = supabaseUrl.replace(/^https?:\\/\\//, '') + '/functions/v1'; process.env.ENV = 'local'; const { spawnSync } = require('node:child_process'); const result = spawnSync('bun', ['run', 'serve:local'], { stdio: 'inherit', env: process.env }); process.exit(result.status ?? 1)\"",
"serve:dev": "BRANCH=development vite",
"screenshots:marketing": "bun run supabase:with-env -- bun scripts/marketing-screenshots/capture.ts",
"serve:preprod": "BRANCH=preprod vite",
"ios:dev": "cap sync && cap run ios",
"appstore:screenshots": "bun scripts/generate-app-store-screenshots.ts",
"backend": "bun run supabase:start && bun run supabase:functions:serve",
"backend:playwright": "bun scripts/serve-backend-playwright.ts",
"backend:workers": "./scripts/start-cloudflare-workers.sh",
"reset": "bun run supabase:db:reset",
"cli:build": "bun run --cwd cli build",
"cli:lint": "bun run --cwd cli lint",
"cli:typecheck": "bun run --cwd cli typecheck",
"cli:test": "bun run --cwd cli test",
"cli:check": "bun run cli:lint && bun run cli:typecheck && bun run cli:build && bun run cli:test",
"cli:test:capgo": "bun run test:cli",
"api:dev": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/api/wrangler.jsonc --env=dev --env-file=internal/cloudflare/.env.local",
"plugin:dev": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/plugin/wrangler.jsonc --env=dev --env-file=internal/cloudflare/.env.local",
"files:dev": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/files/wrangler.jsonc --env=dev --env-file=internal/cloudflare/.env.local",
"api:preprod": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/api/wrangler.jsonc --env=preprod --env-file=internal/cloudflare/.env.preprod",
"plugin:preprod": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/plugin/wrangler.jsonc --env=preprod --env-file=internal/cloudflare/.env.preprod",
"files:preprod": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/files/wrangler.jsonc --env=preprod --env-file=internal/cloudflare/.env.preprod",
"api:prod": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/api/wrangler.jsonc --env=prod --env-file=internal/cloudflare/.env.prod",
"plugin:prod": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/plugin/wrangler.jsonc --env=prod --env-file=internal/cloudflare/.env.prod",
"plugin_a:prod": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/plugin/wrangler.jsonc --env=prod_a --env-file=internal/cloudflare/.env.prod",
"plugin_b:prod": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/plugin/wrangler.jsonc --env=prod_b --env-file=internal/cloudflare/.env.prod",
"files:prod": "bash scripts/wrangler-dev-compat.sh -c cloudflare_workers/files/wrangler.jsonc --env=prod --env-file=internal/cloudflare/.env.prod",
"stripe:emulator": "bun scripts/serve-stripe-emulator.ts",
"init:playwright": "bunx playwright install",
"visual:capture:before": "bun scripts/visual-diff.ts capture --phase before",
"visual:capture:after": "bun scripts/visual-diff.ts capture --phase after",
"visual:diff": "bun scripts/visual-diff.ts diff",
"visual:run": "bun scripts/visual-diff.ts run",
"test:front": "bun scripts/run-playwright-tests.ts",
"test:local": "bun run test:all",
"test:coverage:all": "bun run cli:build && bun run supabase:with-env -- bunx vitest run --coverage.enabled=true tests/*",
"test:all": "bun run cli:build && bun run supabase:with-env -- bunx vitest run tests/*",
"check:plugin-runtime": "bun scripts/check_plugin_runtime_isolation.mjs",
"check:plugin-worker-size": "bun scripts/check_plugin_worker_size.ts",
"test:unit": "vitest run tests/*.unit.test.ts",
"security:sync-headers": "bun scripts/sync-console-headers.ts",
"security:compute-integrity": "bun scripts/compute-external-integrity.ts",
"test:db": "bash scripts/test-db-tinbase.sh",
"test:backend:integration": "bun run supabase:with-env -- bunx vitest run --exclude=tests/*.unit.test.ts --exclude=tests/cli*",
"test:cloudflare:integration": "vitest run --exclude=tests/cli* --exclude=tests/*.unit.test.ts --config vitest.config.cloudflare.ts",
"test:updates": "bun run supabase:with-env -- bunx vitest run tests/updates*",
"test:all:local": "bun run test:all",
"test:backend": "bun run supabase:with-env -- bunx vitest run --exclude=tests/cli*",
"test:plugin": "bun run supabase:with-env -- bunx vitest run tests/updates*.test.ts tests/stats*.test.ts tests/channel_self*.test.ts",
"test:api": "bun run supabase:with-env -- bunx vitest run --exclude=tests/cli* --exclude=tests/updates* --exclude=tests/stats* --exclude=tests/channel_self* --exclude=tests/channel-rate-limit.test.ts",
"test:channel_devices": "bun run supabase:with-env -- bunx vitest run tests/channel_devices/*.test.ts",
"test:cli": "bun run cli:build && bun run supabase:with-env -- bunx vitest run tests/cli*",
"test:cli:local": "bun run test:cli",
"test:cloudflare:all": "vitest run tests/* --config vitest.config.cloudflare.ts",
"test:cloudflare:backend": "vitest run --exclude=tests/cli* --config vitest.config.cloudflare.ts",
"test:cloudflare:plugin": "USE_CLOUDFLARE_WORKERS=true vitest run tests/updates*.test.ts tests/stats*.test.ts tests/channel_self*.test.ts tests/channel-rate-limit.test.ts --exclude=tests/*.unit.test.ts --exclude=tests/stats-export-cors.test.ts --config vitest.config.cloudflare-plugin.ts",
"test:cloudflare:api": "vitest run --exclude=tests/cli* --exclude=tests/updates* --exclude=tests/stats* --exclude=tests/channel_self* --exclude=tests/channel-rate-limit.test.ts --config vitest.config.cloudflare.ts",
"test:cloudflare:updates": "vitest run tests/updates* --config vitest.config.cloudflare.ts",
"bench": "vitest bench --config vitest.config.bench.ts --run",
"bench:plugin-worker-runtime": "bun scripts/bench_plugin_worker_runtime.ts --compare scripts/bench/plugin_worker_runtime_baseline.json --save scripts/bench/plugin_worker_runtime_results.json",
"admin:backfill-credit-usage-posthog": "bun scripts/backfill_credit_usage_posthog_events.ts",
"admin:backfill-missing-app-icons": "bun scripts/backfill_missing_app_icons.ts",
"admin:migrate-legacy-bare-image-paths": "bun scripts/migrate_legacy_bare_image_paths.ts",
"admin:migrate-supabase-images-to-r2": "bun scripts/migrate_supabase_images_to_r2.ts",
"admin:backfill-missing-store-urls": "bun scripts/backfill_missing_store_urls.ts",
"admin:backfill-github-user-ids": "bun scripts/backfill_github_user_ids.ts",
"admin:backfill-legacy-download-fail": "bun scripts/backfill_legacy_download_fail_daily_version.ts",
"stripe:backfill-customer-countries": "bun scripts/backfill_stripe_customer_countries.ts",
"stripe:backfill-subscription-end-dates": "bun scripts/backfill_stripe_subscription_end_dates.ts",
"stripe:export-six-month-org-emails": "bun scripts/export_stripe_six_month_org_emails.ts",
"stripe:cleanup-orphaned-stripe-info": "bun scripts/cleanup_orphaned_stripe_info.ts",
"stripe:sync-org-names": "bun scripts/sync_stripe_org_names.ts",
"lint": "bun run lint:ox && eslint \"src/**/*.vue\"",
"lint:ox": "oxlint-vize -c .oxlintrc.frontend.json src",
"lint:ox:backend": "oxlint supabase",
"fmt": "bun run lint:fix && bun run lint:sql",
"lint:fix": "oxlint-vize -c .oxlintrc.frontend.json --fix src; oxlint-vize -c .oxlintrc.frontend.json --fix src; eslint \"src/**/*.vue\" --fix",
"lint:backend": "bun run lint:ox:backend",
"lint:deadcode": "knip --exports --reporter compact",
"lint:sql": "sqlfluff fix --dialect postgres",
"schemas": "bunx supabase db dump > supabase/schemas/prod.sql",
"schemas:local": "bunx supabase db dump --local > supabase/schemas/prod.sql",
"types": "bun ./scripts/getTypes.mjs",
"generate:plugin-route-hosts": "bun scripts/generate-plugin-route-hosts.ts",
"updates-edge-cache:set": "bun scripts/set-updates-edge-cache.ts",
"snippet-edge-answer:set": "bun scripts/set-updates-edge-cache.ts --secret=SNIPPET_EDGE_ANSWER",
"snippet-edge-answer:purge": "bun scripts/set-updates-edge-cache.ts --secret=SNIPPET_EDGE_ANSWER --purge-only",
"snippet-edge-stats:setup": "bun scripts/setup-snippet-edge-stats.ts",
"types:dev": "BRANCH=development bun ./scripts/getTypes.mjs",
"types:local": "BRANCH=local bun ./scripts/getTypes.mjs",
"typecheck:backend": "tsc --project tsconfig.backend.json --noEmit",
"typecheck:frontend": "vue-tsc --project tsconfig.frontend.json --noEmit",
"typecheck": "bun run cli:typecheck && bun run typecheck:backend && bun run typecheck:frontend",
"deploy:cloudflare:console:prod": "wrangler deploy --env=prod",
"deploy:cloudflare:console:preprod": "wrangler deploy --env=preprod",
"deploy:cloudflare:console:dev": "wrangler deploy --env=dev",
"deploy:cloudflare:prod": "bun run deploy:cloudflare:api:prod && bun run deploy:cloudflare:translation:prod && bun run deploy:cloudflare:files:prod && bun run deploy:cloudflare:plugins:prod",
"deploy:cloudflare:api:prod": "bun scripts/ensure-posthog-queues.ts prod && bunx wrangler deploy --config cloudflare_workers/api/wrangler.jsonc --env=prod --minify --outdir dist --upload-source-maps",
"deploy:cloudflare:translation:prod": "bunx wrangler deploy --config cloudflare_workers/translation/wrangler.jsonc --env=prod --minify --outdir dist --upload-source-maps",
"deploy:cloudflare:files:prod": "bunx wrangler deploy --config cloudflare_workers/files/wrangler.jsonc --env=prod --minify",
"deploy:cloudflare:preprod": "bun run deploy:cloudflare:api:preprod && bun run deploy:cloudflare:translation:preprod && bun run deploy:cloudflare:files:preprod && bun run deploy:cloudflare:plugin:preprod",
"deploy:cloudflare:api:preprod": "bun scripts/ensure-posthog-queues.ts preprod && bunx wrangler deploy --config cloudflare_workers/api/wrangler.jsonc --env=preprod --minify",
"deploy:cloudflare:translation:preprod": "bunx wrangler deploy --config cloudflare_workers/translation/wrangler.jsonc --env=preprod --minify",
"deploy:cloudflare:files:preprod": "bunx wrangler deploy --config cloudflare_workers/files/wrangler.jsonc --env=preprod --minify",
"deploy:cloudflare:plugin:preprod": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=preprod --minify",
"deploy:cloudflare:api:dev": "bun scripts/ensure-posthog-queues.ts alpha && bunx wrangler deploy --config cloudflare_workers/api/wrangler.jsonc --env=alpha --minify",
"deploy:cloudflare:translation:dev": "bunx wrangler deploy --config cloudflare_workers/translation/wrangler.jsonc --env=alpha --minify",
"deploy:cloudflare:files:dev": "bunx wrangler deploy --config cloudflare_workers/files/wrangler.jsonc --env=alpha --minify",
"deploy:cloudflare:plugin:dev": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=alpha --minify",
"deploy:cloudflare:plugins:prod": "bun run deploy:cloudflare:plugin_as:prod && bun run deploy:cloudflare:plugin_na:prod && bun run deploy:cloudflare:plugin_eu:prod && bun run deploy:cloudflare:plugin_af:prod && bun run deploy:cloudflare:plugin_oc:prod && bun run deploy:cloudflare:plugin_sa:prod && bun run deploy:cloudflare:plugin_me:prod && bun run deploy:cloudflare:plugin_hk:prod && bun run deploy:cloudflare:plugin_jp:prod",
"deploy:cloudflare:plugin_as:prod": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_as --minify",
"deploy:cloudflare:plugin_na:prod": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_na --minify",
"deploy:cloudflare:plugin_eu:prod": "bun scripts/deploy-plugin-eu.ts",
"deploy:cloudflare:plugin_af:prod": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_af --minify",
"deploy:cloudflare:plugin_oc:prod": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_oc --minify",
"deploy:cloudflare:plugin_sa:prod": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_sa --minify",
"deploy:cloudflare:plugin_me:prod": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_me --minify",
"deploy:cloudflare:plugin_hk:prod": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_hk --minify",
"deploy:cloudflare:plugin_jp:prod": "bunx wrangler deploy --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_jp --minify",
"deploy:cloudflare:plugin_jp:dev": "bun run deploy:cloudflare:plugin:dev",
"deploy:cloudflare_env:api:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/api/wrangler.jsonc --env=prod",
"deploy:cloudflare_env:api:preprod": "bunx wrangler secret bulk internal/cloudflare/.env.preprod --config cloudflare_workers/api/wrangler.jsonc --env=preprod",
"deploy:cloudflare_env:api:dev": "bunx wrangler secret bulk internal/cloudflare/.env.alpha --config cloudflare_workers/api/wrangler.jsonc --env=alpha",
"deploy:cloudflare:posthog:queues": "bun scripts/ensure-posthog-queues.ts",
"deploy:cloudflare:notifications:queues": "bun scripts/ensure-native-notification-queues.ts",
"deploy:cloudflare_env:files:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/files/wrangler.jsonc --env=prod",
"deploy:cloudflare_env:files:preprod": "bunx wrangler secret bulk internal/cloudflare/.env.preprod --config cloudflare_workers/files/wrangler.jsonc --env=preprod",
"deploy:cloudflare_env:files:dev": "bunx wrangler secret bulk internal/cloudflare/.env.alpha --config cloudflare_workers/files/wrangler.jsonc --env=alpha",
"deploy:cloudflare_env:plugin:preprod": "bunx wrangler secret bulk internal/cloudflare/.env.preprod --config cloudflare_workers/plugin/wrangler.jsonc --env=preprod",
"deploy:cloudflare_env:plugin:dev": "bunx wrangler secret bulk internal/cloudflare/.env.alpha --config cloudflare_workers/plugin/wrangler.jsonc --env=alpha",
"deploy:cloudflare_env:plugins:prod": "bun run deploy:cloudflare_env:plugin_as:prod && bun run deploy:cloudflare_env:plugin_na:prod && bun run deploy:cloudflare_env:plugin_eu:prod && bun run deploy:cloudflare_env:plugin_af:prod && bun run deploy:cloudflare_env:plugin_oc:prod && bun run deploy:cloudflare_env:plugin_sa:prod && bun run deploy:cloudflare_env:plugin_me:prod && bun run deploy:cloudflare_env:plugin_hk:prod && bun run deploy:cloudflare_env:plugin_jp:prod",
"deploy:cloudflare_env:plugin_as:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_as",
"deploy:cloudflare_env:plugin_na:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_na",
"deploy:cloudflare_env:plugin_eu:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_eu",
"deploy:cloudflare_env:plugin_af:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_af",
"deploy:cloudflare_env:plugin_oc:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_oc",
"deploy:cloudflare_env:plugin_sa:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_sa",
"deploy:cloudflare_env:plugin_me:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_me",
"deploy:cloudflare_env:plugin_hk:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_hk",
"deploy:cloudflare_env:plugin_jp:prod": "bunx wrangler secret bulk internal/cloudflare/.env.prod --config cloudflare_workers/plugin/wrangler.jsonc --env=prod_jp",
"deploy:supabase:prod": "FUNCTIONS=$(bun scripts/supabase-cloud-functions.ts deploy-args) && test -n \"$FUNCTIONS\" && bunx supabase functions deploy $FUNCTIONS --project-ref xvwzpoazmxkqosrdewyv && for fn in $(bun scripts/supabase-cloud-functions.ts skip-list); do out=$(bunx supabase functions delete $fn --project-ref xvwzpoazmxkqosrdewyv 2>&1) || { echo \"$out\" | grep -qiE \"not found|does not exist|404|Function not found\" || { echo \"$out\" >&2; exit 1; }; }; done",
"deploy:supabase:preprod": "FUNCTIONS=$(bun scripts/supabase-cloud-functions.ts deploy-args) && test -n \"$FUNCTIONS\" && bunx supabase functions deploy $FUNCTIONS --project-ref ibwjdnhknbkcqfbabwei && for fn in $(bun scripts/supabase-cloud-functions.ts skip-list); do out=$(bunx supabase functions delete $fn --project-ref ibwjdnhknbkcqfbabwei 2>&1) || { echo \"$out\" | grep -qiE \"not found|does not exist|404|Function not found\" || { echo \"$out\" >&2; exit 1; }; }; done",
"deploy:supabase_env:prod": "bunx supabase secrets set --project-ref xvwzpoazmxkqosrdewyv --env-file internal/cloudflare/.env.prod",
"deploy:supabase_env:preprod": "bunx supabase secrets set --project-ref ibwjdnhknbkcqfbabwei --env-file internal/cloudflare/.env.preprod",
"deploy:supabase_env:dev": "bunx supabase secrets set --project-ref aucsybvnhavogdmzwtcw --env-file internal/cloudflare/.env.alpha",
"size": "bunx vite-bundle-visualizer",
"test:analytics-sql": "vitest run tests/analytics-engine-sql.unit.test.ts",
"test:analytics-sql:live": "bun --env-file=internal/cloudflare/.env.prod scripts/validate-analytics-engine-sql.ts",
"changelog:ai": "node scripts/generate-ai-changelog.mjs",
"i18n:contexts": "node scripts/generate-translation-contexts.mjs",
"bench:plugin-validation-cpu": "bun scripts/bench_plugin_validation_cpu.ts --save scripts/bench/plugin_validation_cpu_results.json",
"bench:plugin-worker-cpu": "bun scripts/bench_plugin_worker_cpu.ts --save scripts/bench/plugin_worker_cpu_results.json",
"bench:plugin-har-inspect": "bun scripts/bench_plugin_har_inspect.ts --save scripts/bench/plugin_har_inspect_results.json --har scripts/bench/plugin_endpoints.har",
"bench:updates-manifest-path": "bun scripts/bench_updates_manifest_path.ts --files 5000 --noise-versions 40 --concurrency 50 --requests 800 --save scripts/bench/updates_manifest_path_results.json",
"bench:plugin-all": "bun run bench:plugin-worker-runtime && bun run bench:plugin-validation-cpu && bun run bench:plugin-worker-cpu && bun run bench:plugin-har-inspect",
"plugin:schemas:compile": "bunx zod-compiler generate supabase/functions/_backend/plugin_runtime/utils/plugin_schemas/update_request.zod.ts -o scripts/bench/validation/update_request.zod.compiled.ts --emit bag && bunx zod-compiler generate scripts/bench/validation/plugin_schemas.zod.ts -o scripts/bench/validation/plugin_schemas.zod.compiled.ts --emit bag"
},
"dependencies": {
"@aws-sdk/xml-builder": "3.972.36",
"@bradenmacdonald/s3-lite-client": "npm:@jsr/bradenmacdonald__s3-lite-client@0.9.6",
"@capacitor/action-sheet": "^8.1.1",
"@capacitor/android": "^8.5.2",
"@capacitor/app": "^8.1.1",
"@capacitor/app-launcher": "^8.0.1",
"@capacitor/browser": "^8.0.4",
"@capacitor/camera": "^8.2.4",
"@capacitor/clipboard": "^8.0.1",
"@capacitor/device": "^8.0.3",
"@capacitor/dialog": "^8.0.1",
"@capacitor/filesystem": "^8.1.3",
"@capacitor/geolocation": "^8.2.2",
"@capacitor/haptics": "^8.0.2",
"@capacitor/ios": "^8.5.2",
"@capacitor/keyboard": "^8.0.5",
"@capacitor/local-notifications": "^8.3.1",
"@capacitor/motion": "^8.0.1",
"@capacitor/network": "^8.0.1",
"@capacitor/preferences": "^8.0.1",
"@capacitor/push-notifications": "^8.1.2",
"@capacitor/screen-reader": "^8.0.1",
"@capacitor/share": "^8.0.2",
"@capacitor/splash-screen": "^8.0.2",
"@capacitor/status-bar": "^8.0.3",
"@capacitor/text-zoom": "^8.0.1",
"@capacitor/toast": "^8.0.1",
"@capgo/camera-preview": "8.11.6",
"@capgo/capacitor-accelerometer": "^8.0.44",
"@capgo/capacitor-age-range": "^8.1.15",
"@capgo/capacitor-alarm": "^8.1.10",
"@capgo/capacitor-android-age-signals": "^8.1.20",
"@capgo/capacitor-android-inline-install": "^8.0.15",
"@capgo/capacitor-android-kiosk": "^8.2.10",
"@capgo/capacitor-android-sms-retriever": "^8.0.12",
"@capgo/capacitor-app-attest": "^8.2.9",
"@capgo/capacitor-asset-cache": "^8.1.4",
"@capgo/capacitor-audio-recorder": "^8.2.9",
"@capgo/capacitor-audio-session": "^8.0.54",
"@capgo/capacitor-autofill-save-password": "^8.1.4",
"@capgo/capacitor-background-task": "^8.1.8",
"@capgo/capacitor-barometer": "^8.0.19",
"@capgo/capacitor-bluetooth-low-energy": "^8.2.2",
"@capgo/capacitor-brightness": "^8.0.20",
"@capgo/capacitor-calendar": "^8.0.9",
"@capgo/capacitor-compass": "^8.1.20",
"@capgo/capacitor-contacts": "^8.1.5",
"@capgo/capacitor-crisp": "^8.2.4",
"@capgo/capacitor-data-storage-sqlite": "^8.0.50",
"@capgo/capacitor-date-picker": "^8.1.7",
"@capgo/capacitor-device-info": "^8.0.12",
"@capgo/capacitor-device-integrity": "^8.0.10",
"@capgo/capacitor-document-scanner": "^8.4.6",
"@capgo/capacitor-downloader": "^8.3.7",
"@capgo/capacitor-env": "^8.1.42",
"@capgo/capacitor-fast-sql": "8.2.13",
"@capgo/capacitor-file": "^8.0.19",
"@capgo/capacitor-file-compressor": "^8.1.8",
"@capgo/capacitor-file-picker": "^8.2.2",
"@capgo/capacitor-file-sharer": "^8.1.10",
"@capgo/capacitor-flash": "^8.0.42",
"@capgo/capacitor-home-indicator": "^8.0.45",
"@capgo/capacitor-in-app-review": "^8.2.4",
"@capgo/capacitor-inappbrowser": "^8.21.1",
"@capgo/capacitor-install-referrer": "^8.1.11",
"@capgo/capacitor-intent-launcher": "^8.3.33",
"@capgo/capacitor-intercom": "^8.1.13",
"@capgo/capacitor-is-root": "^8.1.19",
"@capgo/capacitor-ivs-player": "^8.0.38",
"@capgo/capacitor-jw-player": "^8.0.52",
"@capgo/capacitor-keep-awake": "^8.1.16",
"@capgo/capacitor-launch-navigator": "^8.0.38",
"@capgo/capacitor-light-sensor": "^8.1.18",
"@capgo/capacitor-llm": "^8.1.6",
"@capgo/capacitor-media-session": "^8.0.32",
"@capgo/capacitor-mock-location-detector": "^8.0.6",
"@capgo/capacitor-mqtt": "^8.1.12",
"@capgo/capacitor-mute": "^8.1.8",
"@capgo/capacitor-mux-player": "^8.0.19",
"@capgo/capacitor-native-audio": "^8.4.30",
"@capgo/capacitor-native-biometric": "^8.7.0",
"@capgo/capacitor-native-loader": "^8.1.7",
"@capgo/capacitor-native-market": "^8.0.47",
"@capgo/capacitor-native-navigation": "^8.13.0",
"@capgo/capacitor-nativegeocoder": "^8.0.51",
"@capgo/capacitor-navigation-bar": "^8.2.10",
"@capgo/capacitor-network-diagnostics": "^8.0.11",
"@capgo/capacitor-nfc": "^8.2.10",
"@capgo/capacitor-notifications": "workspace:*",
"@capgo/capacitor-pdf-generator": "^8.0.39",
"@capgo/capacitor-pdf-viewer": "^8.2.4",
"@capgo/capacitor-pedometer": "^8.0.43",
"@capgo/capacitor-permissions": "^8.2.4",
"@capgo/capacitor-persistent-account": "^8.0.41",
"@capgo/capacitor-pretty-toast": "^8.1.19",
"@capgo/capacitor-printer": "^8.1.4",
"@capgo/capacitor-privacy-screen": "^8.3.10",
"@capgo/capacitor-proximity": "^8.1.11",
"@capgo/capacitor-recaptcha": "^8.1.12",
"@capgo/capacitor-ricoh360": "^8.0.21",
"@capgo/capacitor-rudderstack": "^8.1.12",
"@capgo/capacitor-screen-orientation": "^8.2.0",
"@capgo/capacitor-screen-recorder": "^8.3.14",
"@capgo/capacitor-shake": "^8.0.44",
"@capgo/capacitor-sheets": "^8.1.0",
"@capgo/capacitor-sim": "^8.0.39",
"@capgo/capacitor-speech-recognition": "^8.3.2",
"@capgo/capacitor-speech-synthesis": "^8.0.22",
"@capgo/capacitor-textinteraction": "^8.0.40",
"@capgo/capacitor-transitions": "^8.2.4",
"@capgo/capacitor-updater": "8.53.0",
"@capgo/capacitor-uploader": "^8.3.18",
"@capgo/capacitor-uwb": "^8.0.6",
"@capgo/capacitor-video-player": "^8.2.10",
"@capgo/capacitor-video-thumbnails": "^8.1.20",
"@capgo/capacitor-volume-buttons": "^8.1.2",
"@capgo/capacitor-webview-crash": "^8.1.10",
"@capgo/capacitor-webview-guardian": "^8.0.25",
"@capgo/capacitor-webview-version-checker": "^8.2.14",
"@capgo/capacitor-wifi": "^8.5.4",
"@capgo/capacitor-youtube-player": "^8.3.5",
"@capgo/capacitor-zebra-datawedge": "^8.1.10",
"@capgo/capacitor-zip": "^8.1.20",
"@fontsource-variable/inter": "^5.3.0",
"@hono/standard-validator": "^0.3.0",
"@pinia/colada": "1.4.8",
"@std/semver": "npm:@jsr/std__semver@1.0.8",
"@stripe/stripe-js": "^10.1.0",
"@supabase/supabase-js": "2.110.8",
"@vuepic/vue-datepicker": "^14.0.0",
"@vueuse/core": "^14.3.0",
"better-qr": "^0.1.2",
"chart.js": "^4.5.1",
"country-code-to-flag-emoji": "^2.1.0",
"cron-schedule": "^6.0.0",
"dayjs": "1.11.21",
"dompurify": "^3.4.12",
"drizzle-orm": "1.0.0-rc.4",
"gsap": "^3.15.0",
"hono": "4.12.34",
"mime": "^4.1.0",
"pg": "^8.22.0",
"pinia": "4.0.2",
"semver": "^7.8.5",
"stripe": "^22.3.2",
"vue": "3.5.44",
"vue-chartjs": "^5.3.4",
"vue-demi": "0.14.10",
"vue-i18n": "^11.4.7",
"vue-router": "^5.2.0",
"vue-sonner": "^2.0.9"
},
"devDependencies": {
"@antfu/eslint-config": "9.2.0",
"@aws-sdk/client-s3": "^3.1092.0",
"@capacitor/cli": "^8.5.2",
"@capacitor/core": "^8.5.2",
"@capgo/cli": "workspace:*",
"@cloudflare/workers-types": "5.20261001.1",
"@codspeed/vitest-plugin": "^5.7.1",
"@e18e/eslint-plugin": "0.5.1",
"@eslint-community/eslint-plugin-eslint-comments": "4.7.2",
"@iconify-json/simple-icons": "^1.2.91",
"@iconify/json": "^2.2.504",
"@intlify/unplugin-vue-i18n": "^11.2.4",
"@playwright/test": "1.61.1",
"@smithy/fetch-http-handler": "5.6.9",
"@standard-schema/spec": "^1.1.0",
"@stylistic/eslint-plugin": "5.10.0",
"@tailwindcss/aspect-ratio": "^0.4.2",
"@tailwindcss/vite": "^4.3.3",
"@types/adm-zip": "^0.5.8",
"@types/bun": "^1.3.14",
"@types/dompurify": "3.2.0",
"@types/node": "^26.1.1",
"@types/pg": "^8.20.0",
"@types/semver": "^7.7.1",
"@typescript/native": "npm:typescript@7.1.0-beta",
"@vitejs/plugin-vue": "6.0.8",
"@vitest/coverage-v8": "^4.1.10",
"@vitest/ui": "^4.1.10",
"@vue/compiler-sfc": "3.5.44",
"@vue/server-renderer": "3.5.44",
"adm-zip": "^0.6.0",
"bun-types": "^1.3.14",
"daisyui": "^5.7.0",
"discord-api-types": "^0.38.50",
"dotenv": "^17.4.2",
"emulate": "0.9.0",
"eslint": "10.7.0",
"eslint-plugin-antfu": "3.2.3",
"eslint-plugin-command": "3.5.3",
"eslint-plugin-format": "^2.0.1",
"eslint-plugin-jsdoc": "63.2.0",
"eslint-plugin-n": "18.2.2",
"eslint-plugin-perfectionist": "5.10.0",
"eslint-plugin-regexp": "3.1.1",
"eslint-plugin-unused-imports": "4.4.1",
"happy-dom": "^21.0.4",
"jose": "^6.2.4",
"knip": "^6.29.0",
"miniflare": "^5.20260930.0-alpha",
"oxlint": "^1.75.0",
"oxlint-plugin-vize": "0.511.0",
"pixelmatch": "^7.2.0",
"pngjs": "^7.0.0",
"sass": "1.101.3",
"simple-git-hooks": "^2.13.1",
"supabase": "^2.109.1",
"tailwindcss": "^4.3.3",
"tinbase": "^0.10.0",
"typescript": "npm:@typescript/typescript6@6.0.2",
"unplugin-auto-import": "^21.0.0",
"unplugin-icons": "23.0.1",
"unplugin-vue-components": "^32.1.0",
"unplugin-vue-macros": "^2.14.5",
"vite": "8.1.5",
"vite-plugin-devtools-json": "^1.1.0",
"vite-plugin-environment": "1.1.3",
"vite-plugin-vue-devtools": "^8.1.5",
"vite-plugin-vue-layouts": "0.11.0",
"vitest": "^4.1.10",
"vue-tsc": "3.3.11",
"wrangler": "^4.158.0",
"yaml": "^2.9.0",
"zod": "4.5.4",
"zod-compiler": "^1.15.0"
},
"gitmoji": {
"autoAdd": false,
"emojiFormat": "emoji",
"scopePrompt": true,
"messagePrompt": true,
"capitalizeTitle": true,
"gitmojisUrl": "https://gitmoji.dev/api/gitmojis"
},
"simple-git-hooks": {
"pre-commit": "bun typecheck"
},
"trustedDependencies": [
"supabase",
"core-js"
]
}