refactor: break monorepo into 3 standalone services (gateway, backend, frontend)
Build & Deploy / build-and-push (backend) (push) Failing after 35s
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 25s
Build & Deploy / build-and-push (proxy) (push) Failing after 25s

- Remove pnpm workspace, moon repo, and all monorepo tooling
- Delete packages/shared/, embed shared code directly into each service
- Copy packages/shared/src/* -> services/backend/src/shared/ and services/discord-gateway/src/shared/
- Replace all @bete/shared imports with @/shared/ path alias
- Remove @bete/shared workspace dependency from both services
- Update root package.json scripts from --filter to --prefix
- Rewrite Dockerfiles to build each service standalone
- Clean up biome.json, .gitignore, remove root drizzle.config.ts
This commit is contained in:
Developer
2026-07-30 11:50:48 +07:00
parent 8eb7fa49e4
commit dcd13482c2
167 changed files with 1886 additions and 533 deletions
@@ -1,5 +1,5 @@
import { pgMessagesTable } from "@bete/shared";
import { createChildLogger } from "@bete/shared/logger";
import { pgMessagesTable } from "../../shared/index.js";
import { createChildLogger } from "../../shared/logger/index.js";
import { and, desc, eq, ilike, type SQL } from "drizzle-orm";
import { getDatabase } from "../../shared/database/index.js";
import {
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response, Router } from "express";
import express from "express";
import { asyncHandler } from "../../shared/middlewares/index.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import { config } from "../../shared/config/index.js";
import type { AnalysisSearchQuery } from "./analysis.repository.js";
import { analysisRepository } from "./analysis.repository.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response } from "express";
import { asyncHandler } from "../../shared/middlewares/index.js";
import { chatbotService } from "./chatbot.service.js";
@@ -1,5 +1,5 @@
import { pgChatbotMessagesTable, pgMessagesTable } from "@bete/shared";
import { createChildLogger } from "@bete/shared/logger";
import { pgChatbotMessagesTable, pgMessagesTable } from "../../shared/index.js";
import { createChildLogger } from "../../shared/logger/index.js";
import { and, desc, eq, type SQL, sql } from "drizzle-orm";
import { getDatabase } from "../../shared/database/index.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import { config } from "../../shared/config/index.js";
import type {
ChatbotContext,
@@ -4,7 +4,7 @@ import {
pgUserProfilesTable,
pgUserReputationsTable,
pgVoiceRecordingsTable,
} from "@bete/shared";
} from "../../shared/index.js";
import type { SQL } from "drizzle-orm";
import { sql } from "drizzle-orm";
import { getDatabase } from "../../shared/database/index.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response, Router } from "express";
import express from "express";
import { asyncHandler } from "../../shared/middlewares/index.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import { dashboardRepository } from "./dashboard.repository.js";
const logger = createChildLogger("dashboard.service");
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import { sql } from "drizzle-orm";
import { getDatabase } from "../../shared/database/index.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response, Router } from "express";
import express from "express";
import { asyncHandler, validateBody } from "../../shared/middlewares/index.js";
@@ -4,7 +4,7 @@ import {
COMMAND_MEDIA_STOP,
COMMAND_MEDIA_VOLUME,
MEDIA_STATUS_KEY,
} from "@bete/shared";
} from "../../shared/index.js";
import {
createChildLogger,
tryCommandThenFallback,
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response } from "express";
import { asyncHandler } from "../../shared/middlewares/index.js";
import { messageQuerySchema } from "./messages.schema.js";
@@ -1,6 +1,6 @@
import type { PageResult } from "@bete/shared";
import { pgAttachmentsTable, pgMessagesTable } from "@bete/shared";
import { createChildLogger } from "@bete/shared/logger";
import type { PageResult } from "../../shared/index.js";
import { pgAttachmentsTable, pgMessagesTable } from "../../shared/index.js";
import { createChildLogger } from "../../shared/logger/index.js";
import {
and,
desc,
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response, Router } from "express";
import express from "express";
import { asyncHandler, validateBody } from "../../shared/middlewares/index.js";
@@ -1,5 +1,5 @@
import { NotFoundError, ValidationError } from "@bete/shared/errors";
import { createChildLogger } from "@bete/shared/logger";
import { NotFoundError, ValidationError } from "@/shared/errors/index";
import { createChildLogger } from "@/shared/logger/index";
import { messagesRepository } from "./messages.repository.js";
import type { MessageQuery } from "./messages.schema.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response, Router } from "express";
import express from "express";
import { asyncHandler } from "../../shared/middlewares/index.js";
@@ -1,5 +1,5 @@
import { pgVoiceRecordingsTable } from "@bete/shared";
import { createChildLogger } from "@bete/shared/logger";
import { pgVoiceRecordingsTable } from "../../shared/index.js";
import { createChildLogger } from "../../shared/logger/index.js";
import { and, desc, eq, lt, type SQL } from "drizzle-orm";
import { getDatabase } from "../../shared/database/index.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response, Router } from "express";
import express from "express";
import { asyncHandler } from "../../shared/middlewares/index.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import { sql } from "drizzle-orm";
import { getDatabase } from "../../shared/database/index.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response } from "express";
import { asyncHandler } from "../../shared/middlewares/index.js";
import { publishCommandNoReply } from "../../shared/redis/index.js";
@@ -1,4 +1,4 @@
import { createChildLogger } from "@bete/shared/logger";
import { createChildLogger } from "@/shared/logger/index";
import type { Request, Response, Router } from "express";
import express from "express";
import { asyncHandler, validateBody } from "../../shared/middlewares/index.js";
@@ -7,7 +7,7 @@ import {
type CommandReply,
pgMessagesTable,
VOICE_STATUS_KEY,
} from "@bete/shared";
} from "../../shared/index.js";
import { eq } from "drizzle-orm";
import {
createChildLogger,