You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
refactor(importer): make @repo/crawlers the single source of truth for Rate-Services #103
DOS/Rate-Services does not depend on DOS/Rate. It carries hand-copied versions of the open-core engine (src/shopee/{types,product-normalizer,entity-matcher,ai-spec-enricher,ai-review-analyzer,shopee-to-supabase,flagship-seed-data}.ts and src/schemas/*.schema.ts), synced manually by agents. The copies have drifted both ways:
File
only in Rate
only in Rate-Services
ai-review-analyzer.ts
78 lines
50 lines
shopee-to-supabase.ts
55 lines
31 lines (price/review insert race handling)
flagship-seed-data.ts
1961 lines
0
specs.schema.ts
6 lines
0
Plan (this repo)
Port the Rate-Services-only logic in ai-review-analyzer.ts / shopee-to-supabase.ts into apps/importer, so nothing is lost when the copies are deleted.
Make @repo/crawlers / @repo/shared-data consumable from a sibling repo checkout (built dist entry points that do not need the Rate pnpm workspace at runtime).
Keep all existing CI steps green.
Companion issue: DOS/Rate-Services (consume these packages through a DOS/Rate git submodule and delete the copies).
✅ Done in #105, squash-merged into dev as 94a2a2b.
Finding: the Rate-Services copies had no unique logic (after prettier they are identical to, or strict subsets of, the files here), so nothing needed porting.
@repo/crawlers now has a working dist/index.js entry, .d.ts output and an exports map (., ./shopee/arena-spec-syncer, ./shopee/flagship-seed-data).
✅ [Agent: Core] Follow-up merged in #107 (679e9ab): CI now runs pnpm --filter @repo/crawlers test:dist. It checks the @repo/crawlers / @repo/shared-data dist entry points that DOS/Rate-Services depends on, and that the scripts executing on import stay unexported. AGENTS.md / CLAUDE.md now carry the "do not copy engine files, use the vendor/rate submodule" rule and the pnpm commands for Rate-Services.
Note: this session was working on the same task in parallel with the session that merged #105 / DOS/Rate-Services#15. The duplicated part was dropped, and only the follow-up above was kept.
Activity
fix(importer): unbreak @repo/crawlers build and make it consumable (F…
JOY commentedon Oct 16, 2026
🤖 [Agent: Core] Bắt đầu thực hiện task này trên branch
claude/nifty-carson-w2lyqn(Status: In Progress). Companion: DOS/Rate-Services#14.Generated by Claude Code
fix(importer): unbreak @repo/crawlers build and make it consumable fr…
JOY commentedon Oct 16, 2026
✅ Done in #105, squash-merged into
devas94a2a2b.@repo/crawlersnow has a workingdist/index.jsentry,.d.tsoutput and anexportsmap (.,./shopee/arena-spec-syncer,./shopee/flagship-seed-data).devCI red since 06:17.Consumer side: DOS/Rate-Services#15.
[Agent: Core]
Generated by Claude Code
ci(importer): guard @repo/crawlers dist entry points used by Rate-Ser…
JOY commentedon Oct 16, 2026
✅ [Agent: Core] Follow-up merged in #107 (
679e9ab): CI now runspnpm --filter @repo/crawlers test:dist. It checks the@repo/crawlers/@repo/shared-datadist entry points that DOS/Rate-Services depends on, and that the scripts executing on import stay unexported. AGENTS.md / CLAUDE.md now carry the "do not copy engine files, use thevendor/ratesubmodule" rule and the pnpm commands for Rate-Services.Note: this session was working on the same task in parallel with the session that merged #105 / DOS/Rate-Services#15. The duplicated part was dropped, and only the follow-up above was kept.
Generated by Claude Code