chore: clean up dead barrels, duplicate config, and orphaned frontend components

Gateway:
- Remove dead barrels (ai-moderation/index, attachment-upload/index, message-capture/index) — all consumers import files directly
- Remove orphaned schema/ split dir (analytics/cache/messages/meta) — schema.ts is monolithic
- Merge duplicate config singleton: delete shared/config/config.ts, point all 44 imports at shared/config/index

Backend:
- Remove dead commandHelper.ts (voice-era fallback), ws/index.ts barrel, health.schema.ts, moderationMetrics.ts, analysis.schema.ts (0 importers; metrics/handlers route directly)

Frontend:
- Remove orphaned CategoryDrilldown/CoverageTiles/TopicTrends, primitives/slot, use-mobile, use-mounted
- Remove unused charts donut/sparkline (TopicTrends was only consumer)

Kept (verified active): shared/database/index.ts facade (11 importers), hooks/index + lib/api/index barrels (10 importers), orpc/ws.ts, charts/index.ts barrel.
Verified: tsc + biome + vitest per service (backend e2e 3 failures pre-existing on main); frontend next build 8 routes.
This commit is contained in:
asepharyana
2026-09-24 13:23:38 +07:00
parent a59f3132ee
commit f9fecfc144
63 changed files with 43 additions and 950 deletions
@@ -45,7 +45,7 @@ describe("tinyFishSearch fallback", () => {
// Pin the live config object to a known-disabled state: the shell may
// export a real TINYFISH_API_KEY (dev box), which would flip
// isTinyFishEnabled() and let tests hit the network.
const { config } = await import("../../src/shared/config/config.js");
const { config } = await import("../../src/shared/config/index.js");
prevKey = config.TINYFISH_API_KEY;
prevEnabled = config.TINYFISH_SEARCH_ENABLED;
(config as Record<string, unknown>).TINYFISH_API_KEY = "";
@@ -54,7 +54,7 @@ describe("tinyFishSearch fallback", () => {
afterEach(async () => {
vi.restoreAllMocks();
const { config } = await import("../../src/shared/config/config.js");
const { config } = await import("../../src/shared/config/index.js");
(config as Record<string, unknown>).TINYFISH_API_KEY = prevKey;
(config as Record<string, unknown>).TINYFISH_SEARCH_ENABLED = prevEnabled;
});
@@ -63,7 +63,7 @@ describe("tinyFishSearch fallback", () => {
config: Record<string, unknown>;
prev: string;
}> {
const { config } = await import("../../src/shared/config/config.js");
const { config } = await import("../../src/shared/config/index.js");
const prev = config.TINYFISH_API_KEY;
(config as Record<string, unknown>).TINYFISH_API_KEY = "sk-test-key";
return { config: config as unknown as Record<string, unknown>, prev };