{ "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" ] }