forked from wangziqi/gongxue-base
139 lines
14 KiB
JSON
139 lines
14 KiB
JSON
{
|
|
"name": "tiku-supabase",
|
|
"version": "0.1.0",
|
|
"description": "商用 SaaS 题库系统的 Supabase/PostgreSQL 重构工程",
|
|
"author": "工学教育",
|
|
"private": true,
|
|
"type": "module",
|
|
"homepage": "./",
|
|
"workspaces": [
|
|
"apps/*",
|
|
"packages/*",
|
|
"scripts/import-pocketbase"
|
|
],
|
|
"overrides": {
|
|
"lodash-es": "4.18.1",
|
|
"swiper": "12.1.2"
|
|
},
|
|
"devDependencies": {
|
|
"pg": "^8.16.3",
|
|
"selfsigned": "2.4.1",
|
|
"supabase": "^2.107.0",
|
|
"write-excel-file": "^4.1.1"
|
|
},
|
|
"scripts": {
|
|
"dev:api": "npm --workspace @tiku-saas/api run dev",
|
|
"build:api": "npm --workspace @tiku-saas/api run build",
|
|
"build:worker": "npm --workspace @tiku-saas/worker run build",
|
|
"check:api": "npm --workspace @tiku-saas/api run check",
|
|
"check:importer": "npm --workspace @tiku-saas/import-pocketbase run check",
|
|
"check:taro": "npm --workspace @tiku-saas/taro run check",
|
|
"check:worker": "npm --workspace @tiku-saas/worker run check",
|
|
"check:refactor": "npm run check:api && npm run check:worker && npm run check:importer && npm run pb:import:validate && npm run test:readiness && npm run test:pb:dry-run && npm run test:api",
|
|
"audit:runtime": "npm audit --registry=${NPM_AUDIT_REGISTRY:-https://registry.npmjs.org/} --omit=dev --audit-level=high",
|
|
"audit:taro:toolchain": "npm audit --registry=${NPM_AUDIT_REGISTRY:-https://registry.npmjs.org/} --workspace @tiku-saas/taro --audit-level=high",
|
|
"audit:taro:supply-chain": "node scripts/taro-supply-chain-audit.js",
|
|
"security:repo": "node scripts/repo-security-scan.js",
|
|
"docker:api:build": "docker compose -f docker-compose.api.yml build",
|
|
"docker:api:up": "docker compose -f docker-compose.api.yml up api",
|
|
"docker:api:down": "docker compose -f docker-compose.api.yml down",
|
|
"supabase:start": "supabase start",
|
|
"supabase:stop": "supabase stop",
|
|
"supabase:status": "supabase status",
|
|
"supabase:reset": "supabase db reset",
|
|
"db:smoke-seed": "node scripts/smoke-seed.js",
|
|
"db:smoke-seed:test": "node scripts/smoke-seed.js --confirm=SMOKE_SEED_LOCAL_OR_CI_ONLY",
|
|
"smoke:core-api": "node scripts/smoke-core-api.js",
|
|
"smoke:auth:remote": "node scripts/remote-auth-jwt-smoke.js",
|
|
"test:api": "npm run db:smoke-seed:test && npm run build:api && node scripts/api-integration-test.js --start-server --confirm=SMOKE_SEED_LOCAL_OR_CI_ONLY",
|
|
"perf:api:local": "npm run build:api && node scripts/api-performance-benchmark.js",
|
|
"perf:api:docker-4c16g": "node scripts/run-docker-4c16g-benchmark.js",
|
|
"perf:postgres:evidence": "node scripts/postgres-tuning-evidence.js",
|
|
"perf:postgres:sql": "node scripts/postgres-tuning-evidence.js --print-sql",
|
|
"perf:tenant-students:plan": "node scripts/tenant-student-capacity.js --mode=plan",
|
|
"perf:tenant-students:seed": "node scripts/tenant-student-capacity.js --mode=seed",
|
|
"perf:tenant-students:run": "node scripts/tenant-student-capacity.js --mode=run",
|
|
"perf:tenant-students:evidence": "node scripts/tenant-student-capacity.js --mode=evidence",
|
|
"perf:tenant-students:benchmark": "node scripts/tenant-student-capacity.js --mode=benchmark",
|
|
"perf:tenant-students:cleanup": "node scripts/tenant-student-capacity.js --mode=cleanup",
|
|
"test:worker:crm": "npm run db:smoke-seed:test && npm run build:worker && node scripts/crm-worker-integration-test.js",
|
|
"test:worker:commerce": "npm run db:smoke-seed:test && npm run build:worker && node scripts/commerce-worker-integration-test.js",
|
|
"test:worker:platform-billing": "npm run db:smoke-seed:test && npm run build:worker && node scripts/platform-billing-worker-integration-test.js",
|
|
"test:worker:platform-usage": "npm run db:smoke-seed:test && npm run build:worker && node scripts/platform-usage-worker-integration-test.js",
|
|
"test:worker:platform-usage-overage": "npm run db:smoke-seed:test && npm run build:worker && node scripts/platform-usage-overage-worker-integration-test.js",
|
|
"test:worker:platform-dunning": "npm run db:smoke-seed:test && npm run build:worker && node scripts/platform-dunning-worker-integration-test.js",
|
|
"test:worker:platform-dunning-notifications": "npm run db:smoke-seed:test && npm run build:worker && node scripts/platform-dunning-notification-worker-integration-test.js",
|
|
"test:worker:platform-audit-alerts": "npm run db:smoke-seed:test && npm run build:worker && node scripts/platform-audit-alert-worker-integration-test.js",
|
|
"test:worker:platform-audit-notifications": "npm run db:smoke-seed:test && npm run build:worker && node scripts/platform-audit-notification-worker-integration-test.js",
|
|
"test:worker:assets": "npm run db:smoke-seed:test && npm run build:worker && node scripts/asset-worker-integration-test.js",
|
|
"test:worker:exports": "npm run db:smoke-seed:test && npm run build:worker && node scripts/export-worker-integration-test.js",
|
|
"test:worker:imports": "npm run db:smoke-seed:test && npm run build:worker && node scripts/import-worker-integration-test.js --confirm=SMOKE_SEED_LOCAL_OR_CI_ONLY",
|
|
"test:worker:public-banks": "npm run db:smoke-seed:test && npm run build:worker && node scripts/public-bank-worker-integration-test.js",
|
|
"test:worker:student-supervision": "npm run db:smoke-seed:test && npm run build:worker && node scripts/student-supervision-worker-integration-test.js",
|
|
"test:rls": "npm run db:smoke-seed:test && node scripts/rls-tenant-isolation-test.js --confirm=SMOKE_SEED_LOCAL_OR_CI_ONLY",
|
|
"test:readiness": "node scripts/production-readiness-check-test.js && node scripts/production-config-failfast-test.js && node --import tsx scripts/api-cors-policy-test.js && node scripts/destructive-test-database-guard-test.js && node scripts/bootstrap-backend-runtime-roles-test.js && node scripts/backend-runtime-role-contract-test.js && node scripts/tenant-foreign-key-audit-test.js && node scripts/tenant-student-capacity-contract-test.js && node scripts/aliyun-pnvs-provider-contract-test.js && node scripts/configure-aliyun-pnvs-provider-test.js && node scripts/diagnose-aliyun-pnvs-provider-test.js && node scripts/disable-legacy-sms-providers-test.js && node scripts/sms-rate-limit-contract-test.js && node scripts/audit-log-capacity-contract-test.js && node scripts/data-api-security-contract-test.js && node --import tsx scripts/auth-context-platform-admin-test.js && node --import tsx scripts/tenant-permission-resolution-test.js && node --import tsx scripts/tenant-student-cursor-test.js && node scripts/bootstrap-platform-admin-test.js && node --import tsx scripts/taro-runtime-config-test.js && node --import tsx scripts/taro-api-auth-mode-test.js && node --import tsx scripts/taro-app-foundation-test.js && node scripts/taro-student-product-guardrails-test.js && node scripts/product-scope-guardrails-test.js && node --import tsx scripts/taro-route-contract-test.js && node --import tsx scripts/taro-build-matrix-contract-test.js && node scripts/taro-api-contract-test.js && node scripts/taro-api-compatibility-contract-test.js && node scripts/taro-components-h5-runtime-patch-test.js && node scripts/taro-supply-chain-audit-test.js && node --import tsx scripts/taro-persona-contract-test.js && node scripts/taro-h5-release-guardrails-test.js && node scripts/taro-h5-release-manifest-test.js && node scripts/taro-visual-guardrails-test.js && node --import tsx scripts/auto-badge-concurrency-test.js --confirm=SMOKE_SEED_LOCAL_OR_CI_ONLY && node scripts/postgres-tuning-evidence-test.js && node scripts/docker-benchmark-resource-evidence-test.js && node scripts/api-docker-runtime-contract-test.js && node scripts/repo-security-scan-test.js && node scripts/remote-auth-jwt-smoke-test.js && node scripts/remote-sms-login-smoke-test.js && node scripts/remote-tenant-cors-smoke-test.js && node scripts/launch-persona-smoke-test.js && node scripts/production-launch-gate-test.js && node scripts/deploy-contract-test.js",
|
|
"test:destructive-db-guard": "node scripts/destructive-test-database-guard-test.js",
|
|
"test:tenant-students:capacity:contract": "node scripts/tenant-student-capacity-contract-test.js",
|
|
"audit:tenant-foreign-keys": "node scripts/tenant-foreign-key-audit.js",
|
|
"test:tenant-foreign-keys": "node scripts/tenant-foreign-key-audit-test.js",
|
|
"test:tenant-students:capacity:smoke": "node scripts/tenant-student-capacity.js --mode=smoke --tenant-slug=capacity-test-students-smoke --count=250 --batch-size=250 --iterations=2 --warmup-iterations=1 --confirm=SMOKE_SEED_LOCAL_OR_CI_ONLY",
|
|
"test:deploy:contract": "node scripts/deploy-contract-test.js && node --import tsx scripts/worker-scheduling-contract-test.js",
|
|
"test:worker:scheduling": "node --import tsx scripts/worker-scheduling-contract-test.js",
|
|
"test:api:operations": "npm run build:api && node scripts/api-server-operations-contract-test.js",
|
|
"test:nest:migration": "node scripts/nest-migration-contract-test.js",
|
|
"test:nest:runtime": "npm run build:api && node scripts/nest-api-runtime-test.js",
|
|
"test:openapi:docs": "node scripts/openapi-documentation-contract-test.js",
|
|
"test:api:cors": "node --import tsx scripts/api-cors-policy-test.js && npm run test:api:operations",
|
|
"test:auth:foundation": "node --import tsx scripts/auth-context-platform-admin-test.js && node --import tsx scripts/tenant-permission-resolution-test.js && node --import tsx scripts/tenant-resolve-contract-test.js && node scripts/bootstrap-platform-admin-test.js",
|
|
"test:data-api:security": "node scripts/data-api-security-contract-test.js",
|
|
"test:audit-log:capacity": "node scripts/audit-log-capacity-contract-test.js",
|
|
"test:taro:foundation": "node --import tsx scripts/taro-runtime-config-test.js && node --import tsx scripts/taro-api-auth-mode-test.js && node --import tsx scripts/taro-app-foundation-test.js && node --import tsx scripts/taro-route-contract-test.js && node --import tsx scripts/taro-build-matrix-contract-test.js && node --import tsx scripts/taro-persona-contract-test.js",
|
|
"test:taro:api-compatibility": "node scripts/taro-api-compatibility-contract-test.js",
|
|
"test:taro:supply-chain": "node scripts/taro-components-h5-runtime-patch-test.js && node scripts/taro-supply-chain-audit-test.js",
|
|
"check:taro:h5-runtime-patches": "node scripts/taro-components-h5-runtime-patch.js --check",
|
|
"patch:taro:h5-runtime": "node scripts/taro-components-h5-runtime-patch.js --apply",
|
|
"test:auth:remote-smoke": "node scripts/remote-auth-jwt-smoke-test.js",
|
|
"bootstrap:platform-admin": "node scripts/bootstrap-platform-admin.js",
|
|
"bootstrap:db-runtime-roles": "node scripts/bootstrap-backend-runtime-roles.js",
|
|
"configure:aliyun-pnvs": "node scripts/configure-aliyun-pnvs-provider.js",
|
|
"diagnose:aliyun-pnvs": "node scripts/diagnose-aliyun-pnvs-provider.js",
|
|
"disable:legacy-sms-providers": "node scripts/disable-legacy-sms-providers.js",
|
|
"smoke:sms-login:remote": "node scripts/remote-sms-login-smoke.js",
|
|
"smoke:tenant-cors:remote": "node scripts/remote-tenant-cors-smoke.js",
|
|
"test:launch-gate": "node scripts/production-launch-gate-test.js",
|
|
"smoke:launch-persona": "npm run build:api && node scripts/launch-persona-smoke.js",
|
|
"smoke:taro:h5": "node scripts/taro-h5-static-smoke.js",
|
|
"smoke:taro:h5:interaction": "node scripts/taro-h5-interaction-smoke.js",
|
|
"serve:taro:h5:qa": "node scripts/taro-h5-interaction-smoke.js --serve-only",
|
|
"manifest:taro:h5": "node scripts/taro-h5-release-manifest.js",
|
|
"guard:taro:visual": "node scripts/taro-visual-guardrails.js",
|
|
"test:pb:dry-run": "node scripts/pb-dry-run-report-test.js",
|
|
"test:pb:sqlite-export": "node scripts/pb-sqlite-export-test.js",
|
|
"test:perf:summary": "node scripts/performance-summary-test.js",
|
|
"readiness:production": "node scripts/production-readiness-check.js --skip-db",
|
|
"readiness:production:db": "node scripts/production-readiness-check.js --check-db",
|
|
"launch:gate": "node scripts/production-launch-gate.js",
|
|
"perf:summary": "node scripts/performance-summary.js",
|
|
"dev:taro:h5": "npm --workspace @tiku-saas/taro run dev:h5",
|
|
"build:taro:h5": "npm --workspace @tiku-saas/taro run build:h5",
|
|
"build:taro:h5:student": "npm --workspace @tiku-saas/taro run build:h5:student",
|
|
"build:taro:h5:tenant": "npm --workspace @tiku-saas/taro run build:h5:tenant",
|
|
"build:taro:h5:platform": "npm --workspace @tiku-saas/taro run build:h5:platform",
|
|
"build:taro:h5:preview": "npm run build:taro:h5:student:preview && npm run build:taro:h5:tenant:preview && npm run build:taro:h5:platform:preview",
|
|
"build:taro:h5:student:preview": "npm --workspace @tiku-saas/taro run build:h5:student:preview",
|
|
"build:taro:h5:tenant:preview": "npm --workspace @tiku-saas/taro run build:h5:tenant:preview",
|
|
"build:taro:h5:platform:preview": "npm --workspace @tiku-saas/taro run build:h5:platform:preview",
|
|
"dev:taro:weapp:student": "npm --workspace @tiku-saas/taro run dev:weapp:student",
|
|
"build:taro:weapp:student": "npm --workspace @tiku-saas/taro run build:weapp:student",
|
|
"build:taro:weapp:student:production": "npm --workspace @tiku-saas/taro run build:weapp:student:production",
|
|
"guard:taro:weapp": "node scripts/taro-weapp-release-guardrails.js",
|
|
"pb:schema:summary": "npm --workspace @tiku-saas/import-pocketbase run schema:summary",
|
|
"pb:schema:risk": "npm --workspace @tiku-saas/import-pocketbase run schema:risk",
|
|
"pb:export:sqlite": "npm --workspace @tiku-saas/import-pocketbase run export:sqlite --",
|
|
"pb:import:dry-run": "npm --workspace @tiku-saas/import-pocketbase run import:dry-run --",
|
|
"pb:import:json": "npm --workspace @tiku-saas/import-pocketbase run import:json",
|
|
"pb:import:validate": "npm --workspace @tiku-saas/import-pocketbase run import:validate",
|
|
"pb:import:sample": "node scripts/pb-import-business-sample.js"
|
|
}
|
|
}
|