package.json 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. {
  2. "name": "saas-voc-server",
  3. "version": "0.1.0",
  4. "private": true,
  5. "type": "module",
  6. "description": "Independent domestic ecommerce VOC backend template",
  7. "engines": {
  8. "node": ">=22.13.0 <23"
  9. },
  10. "scripts": {
  11. "build": "tsc -p tsconfig.json",
  12. "dev": "tsx watch src/server.ts",
  13. "dev:local": "tsx watch src/local-server.ts",
  14. "start": "node dist/src/server.js",
  15. "start:local": "tsx src/local-server.ts",
  16. "migrate": "tsx scripts/migrate.ts",
  17. "bootstrap:parse-rest": "tsx scripts/bootstrap-parse-rest.ts",
  18. "verify:parse-rest": "tsx scripts/verify-parse-rest.ts",
  19. "import:workbook:parse-rest": "tsx scripts/import-workbook-parse-rest.ts",
  20. "sync:competitors:parse-rest": "tsx scripts/sync-parse-rest-competitors.ts",
  21. "refresh:competitor-listings": "tsx scripts/refresh-competitor-listings.ts",
  22. "sync:jd-listings": "tsx scripts/sync-jd-listings.ts",
  23. "sync:jd-listing-reviews": "tsx scripts/sync-jd-listing-reviews.ts",
  24. "backfill:voc-products": "tsx scripts/backfill-voc-products-from-listing-sources.ts",
  25. "enrich:listing-context": "tsx scripts/enrich-listing-context.ts",
  26. "score:jd-listings": "tsx scripts/score-listings.ts",
  27. "score:jd-listings:ai": "tsx scripts/score-listings-ai.ts",
  28. "score:jd-listings:codex": "tsx scripts/score-listings-codex.ts",
  29. "score:jd-voc:codex": "tsx scripts/score-jd-voc-codex.ts",
  30. "migrate:listing-current-scores": "tsx scripts/migrate-listing-current-scores.ts",
  31. "migrate:jd-voc-slots": "tsx scripts/migrate-jd-voc-score-slots.ts",
  32. "verify:listing-rollout": "tsx scripts/verify-listing-rollout.ts",
  33. "benchmark:jd-voc-migration": "tsx scripts/benchmark-jd-voc-migration.ts",
  34. "benchmark:jd-voc-images": "tsx scripts/benchmark-jd-voc-image-review.ts",
  35. "set:listing-cohort": "tsx scripts/set-listing-catalog-cohort.ts",
  36. "reset:listing-formal-ai": "tsx scripts/reset-listing-formal-ai-scores.ts",
  37. "publish:listing-simulation": "tsx scripts/publish-listing-simulated-scores.ts",
  38. "seed:knowledge:parse-rest": "tsx scripts/seed-product-knowledge.ts",
  39. "enrich:competitors:local": "tsx scripts/enrich-local-competitors.ts",
  40. "import:dataset": "tsx scripts/import-dataset.ts",
  41. "test": "tsx --test test/**/*.test.ts",
  42. "test:coverage": "tsx --test --experimental-test-coverage test/**/*.test.ts",
  43. "typecheck": "tsc -p tsconfig.json --noEmit"
  44. ,"deploy:cloud-function": "node scripts/deploy-cloud-function.mjs",
  45. "bootstrap:managed-user": "node scripts/bootstrap-managed-user.mjs"
  46. },
  47. "dependencies": {
  48. "cors": "^2.8.6",
  49. "dotenv": "^17.2.3",
  50. "exceljs": "^4.4.0",
  51. "express": "^5.2.1",
  52. "parse-server": "^9.10.0",
  53. "pg": "^8.22.0",
  54. "zod": "^4.4.3"
  55. },
  56. "devDependencies": {
  57. "@types/cors": "^2.8.19",
  58. "@types/express": "^5.0.6",
  59. "@types/node": "^24.10.0",
  60. "@types/pg": "^8.16.0",
  61. "tsx": "^4.23.1",
  62. "typescript": "^7.0.2"
  63. },
  64. "overrides": {
  65. "ws": "8.21.0"
  66. }
  67. }