diff --git a/bun.lock b/bun.lock index 60ca6d6..1730ad7 100644 --- a/bun.lock +++ b/bun.lock @@ -158,6 +158,19 @@ "vite": "^4.4.5", }, }, + "libs/core/cache": { + "name": "@stock-bot/cache", + "version": "1.0.0", + "dependencies": { + "@stock-bot/logger": "*", + "ioredis": "^5.3.2", + }, + "devDependencies": { + "@types/node": "^20.11.0", + "bun-types": "^1.2.15", + "typescript": "^5.3.0", + }, + }, "libs/core/config": { "name": "@stock-bot/config", "version": "1.0.0", @@ -179,19 +192,35 @@ "dependencies": { "@stock-bot/config": "workspace:*", "@stock-bot/logger": "workspace:*", + "@stock-bot/types": "workspace:*", }, "devDependencies": { "@types/pg": "^8.10.7", }, }, + "libs/core/event-bus": { + "name": "@stock-bot/event-bus", + "version": "1.0.0", + "dependencies": { + "@stock-bot/logger": "*", + "eventemitter3": "^5.0.1", + "ioredis": "^5.3.2", + }, + "devDependencies": { + "@types/node": "^20.11.0", + "bun-types": "^1.2.15", + "typescript": "^5.3.0", + }, + }, "libs/core/handlers": { "name": "@stock-bot/handlers", "version": "1.0.0", "dependencies": { + "@stock-bot/cache": "workspace:*", "@stock-bot/config": "workspace:*", - "@stock-bot/di": "workspace:*", "@stock-bot/logger": "workspace:*", "@stock-bot/types": "workspace:*", + "@stock-bot/utils": "workspace:*", }, "devDependencies": { "@types/node": "^20.11.0", @@ -214,22 +243,35 @@ "typescript": "^5.3.0", }, }, - "libs/core/types": { - "name": "@stock-bot/types", + "libs/core/queue": { + "name": "@stock-bot/queue", "version": "1.0.0", + "dependencies": { + "@stock-bot/cache": "*", + "@stock-bot/handlers": "*", + "@stock-bot/logger": "*", + "@stock-bot/types": "*", + "bullmq": "^5.0.0", + "ioredis": "^5.3.0", + "rate-limiter-flexible": "^3.0.0", + }, "devDependencies": { - "@types/node": "^20.11.0", - "bun-types": "^1.2.15", + "@types/node": "^20.0.0", + "testcontainers": "^10.0.0", "typescript": "^5.3.0", }, }, - "libs/data/cache": { - "name": "@stock-bot/cache", + "libs/core/shutdown": { + "name": "@stock-bot/shutdown", "version": "1.0.0", - "dependencies": { - "@stock-bot/logger": "*", - "ioredis": "^5.3.2", + "devDependencies": { + "@types/node": "^20.0.0", + "typescript": "^5.0.0", }, + }, + "libs/core/types": { + "name": "@stock-bot/types", + "version": "1.0.0", "devDependencies": { "@types/node": "^20.11.0", "bun-types": "^1.2.15", @@ -303,20 +345,6 @@ "@stock-bot/logger": "workspace:*", }, }, - "libs/services/event-bus": { - "name": "@stock-bot/event-bus", - "version": "1.0.0", - "dependencies": { - "@stock-bot/logger": "*", - "eventemitter3": "^5.0.1", - "ioredis": "^5.3.2", - }, - "devDependencies": { - "@types/node": "^20.11.0", - "bun-types": "^1.2.15", - "typescript": "^5.3.0", - }, - }, "libs/services/proxy": { "name": "@stock-bot/proxy", "version": "0.1.0", @@ -328,31 +356,6 @@ "typescript": "^5.0.0", }, }, - "libs/services/queue": { - "name": "@stock-bot/queue", - "version": "1.0.0", - "dependencies": { - "@stock-bot/cache": "*", - "@stock-bot/logger": "*", - "@stock-bot/types": "*", - "bullmq": "^5.0.0", - "ioredis": "^5.3.0", - "rate-limiter-flexible": "^3.0.0", - }, - "devDependencies": { - "@types/node": "^20.0.0", - "testcontainers": "^10.0.0", - "typescript": "^5.3.0", - }, - }, - "libs/services/shutdown": { - "name": "@stock-bot/shutdown", - "version": "1.0.0", - "devDependencies": { - "@types/node": "^20.0.0", - "typescript": "^5.0.0", - }, - }, "libs/utils": { "name": "@stock-bot/utils", "version": "1.0.0", @@ -781,7 +784,7 @@ "@stock-bot/browser": ["@stock-bot/browser@workspace:libs/services/browser"], - "@stock-bot/cache": ["@stock-bot/cache@workspace:libs/data/cache"], + "@stock-bot/cache": ["@stock-bot/cache@workspace:libs/core/cache"], "@stock-bot/config": ["@stock-bot/config@workspace:libs/core/config"], @@ -791,7 +794,7 @@ "@stock-bot/di": ["@stock-bot/di@workspace:libs/core/di"], - "@stock-bot/event-bus": ["@stock-bot/event-bus@workspace:libs/services/event-bus"], + "@stock-bot/event-bus": ["@stock-bot/event-bus@workspace:libs/core/event-bus"], "@stock-bot/handlers": ["@stock-bot/handlers@workspace:libs/core/handlers"], @@ -805,9 +808,9 @@ "@stock-bot/questdb": ["@stock-bot/questdb@workspace:libs/data/questdb"], - "@stock-bot/queue": ["@stock-bot/queue@workspace:libs/services/queue"], + "@stock-bot/queue": ["@stock-bot/queue@workspace:libs/core/queue"], - "@stock-bot/shutdown": ["@stock-bot/shutdown@workspace:libs/services/shutdown"], + "@stock-bot/shutdown": ["@stock-bot/shutdown@workspace:libs/core/shutdown"], "@stock-bot/stock-app": ["@stock-bot/stock-app@workspace:apps/stock"], diff --git a/libs/data/cache/package.json b/libs/core/cache/package.json similarity index 100% rename from libs/data/cache/package.json rename to libs/core/cache/package.json diff --git a/libs/data/cache/src/cache-factory.ts b/libs/core/cache/src/cache-factory.ts similarity index 100% rename from libs/data/cache/src/cache-factory.ts rename to libs/core/cache/src/cache-factory.ts diff --git a/libs/data/cache/src/connection-manager.ts b/libs/core/cache/src/connection-manager.ts similarity index 100% rename from libs/data/cache/src/connection-manager.ts rename to libs/core/cache/src/connection-manager.ts diff --git a/libs/data/cache/src/index.ts b/libs/core/cache/src/index.ts similarity index 100% rename from libs/data/cache/src/index.ts rename to libs/core/cache/src/index.ts diff --git a/libs/data/cache/src/key-generator.ts b/libs/core/cache/src/key-generator.ts similarity index 100% rename from libs/data/cache/src/key-generator.ts rename to libs/core/cache/src/key-generator.ts diff --git a/libs/data/cache/src/namespaced-cache.ts b/libs/core/cache/src/namespaced-cache.ts similarity index 100% rename from libs/data/cache/src/namespaced-cache.ts rename to libs/core/cache/src/namespaced-cache.ts diff --git a/libs/data/cache/src/redis-cache.ts b/libs/core/cache/src/redis-cache.ts similarity index 100% rename from libs/data/cache/src/redis-cache.ts rename to libs/core/cache/src/redis-cache.ts diff --git a/libs/data/cache/src/types.ts b/libs/core/cache/src/types.ts similarity index 100% rename from libs/data/cache/src/types.ts rename to libs/core/cache/src/types.ts diff --git a/libs/data/cache/tsconfig.json b/libs/core/cache/tsconfig.json similarity index 100% rename from libs/data/cache/tsconfig.json rename to libs/core/cache/tsconfig.json diff --git a/libs/core/di/tsconfig.json b/libs/core/di/tsconfig.json index 23f0683..cd2db06 100644 --- a/libs/core/di/tsconfig.json +++ b/libs/core/di/tsconfig.json @@ -10,5 +10,5 @@ }, "include": ["src/**/*.ts"], "exclude": ["node_modules", "dist", "test"], - "references": [{ "path": "../config" }, { "path": "../logger" }, { "path": "../../services/queue" }] + "references": [{ "path": "../config" }, { "path": "../logger" }, { "path": "../queue" }] } diff --git a/libs/services/event-bus/README.md b/libs/core/event-bus/README.md similarity index 100% rename from libs/services/event-bus/README.md rename to libs/core/event-bus/README.md diff --git a/libs/services/event-bus/package.json b/libs/core/event-bus/package.json similarity index 100% rename from libs/services/event-bus/package.json rename to libs/core/event-bus/package.json diff --git a/libs/services/event-bus/src/event-bus.ts b/libs/core/event-bus/src/event-bus.ts similarity index 100% rename from libs/services/event-bus/src/event-bus.ts rename to libs/core/event-bus/src/event-bus.ts diff --git a/libs/services/event-bus/src/index.ts b/libs/core/event-bus/src/index.ts similarity index 100% rename from libs/services/event-bus/src/index.ts rename to libs/core/event-bus/src/index.ts diff --git a/libs/services/event-bus/src/types.ts b/libs/core/event-bus/src/types.ts similarity index 100% rename from libs/services/event-bus/src/types.ts rename to libs/core/event-bus/src/types.ts diff --git a/libs/services/event-bus/tsconfig.json b/libs/core/event-bus/tsconfig.json similarity index 100% rename from libs/services/event-bus/tsconfig.json rename to libs/core/event-bus/tsconfig.json diff --git a/libs/core/handlers/package.json b/libs/core/handlers/package.json index 49edc1d..3314981 100644 --- a/libs/core/handlers/package.json +++ b/libs/core/handlers/package.json @@ -12,7 +12,9 @@ "dependencies": { "@stock-bot/config": "workspace:*", "@stock-bot/logger": "workspace:*", - "@stock-bot/types": "workspace:*" + "@stock-bot/types": "workspace:*", + "@stock-bot/cache": "workspace:*", + "@stock-bot/utils": "workspace:*" }, "devDependencies": { "@types/node": "^20.11.0", diff --git a/libs/core/handlers/tsconfig.json b/libs/core/handlers/tsconfig.json index f7867c2..6007caa 100644 --- a/libs/core/handlers/tsconfig.json +++ b/libs/core/handlers/tsconfig.json @@ -9,7 +9,8 @@ "references": [ { "path": "../config" }, { "path": "../logger" }, - { "path": "../di" }, + { "path": "../cache" }, + { "path": "../types" }, { "path": "../../utils" } ] } diff --git a/libs/services/queue/README.md b/libs/core/queue/README.md similarity index 100% rename from libs/services/queue/README.md rename to libs/core/queue/README.md diff --git a/libs/services/queue/package.json b/libs/core/queue/package.json similarity index 100% rename from libs/services/queue/package.json rename to libs/core/queue/package.json diff --git a/libs/services/queue/src/batch-processor.ts b/libs/core/queue/src/batch-processor.ts similarity index 100% rename from libs/services/queue/src/batch-processor.ts rename to libs/core/queue/src/batch-processor.ts diff --git a/libs/services/queue/src/dlq-handler.ts b/libs/core/queue/src/dlq-handler.ts similarity index 100% rename from libs/services/queue/src/dlq-handler.ts rename to libs/core/queue/src/dlq-handler.ts diff --git a/libs/services/queue/src/index.ts b/libs/core/queue/src/index.ts similarity index 100% rename from libs/services/queue/src/index.ts rename to libs/core/queue/src/index.ts diff --git a/libs/services/queue/src/queue-manager.ts b/libs/core/queue/src/queue-manager.ts similarity index 100% rename from libs/services/queue/src/queue-manager.ts rename to libs/core/queue/src/queue-manager.ts diff --git a/libs/services/queue/src/queue-metrics.ts b/libs/core/queue/src/queue-metrics.ts similarity index 100% rename from libs/services/queue/src/queue-metrics.ts rename to libs/core/queue/src/queue-metrics.ts diff --git a/libs/services/queue/src/queue.ts b/libs/core/queue/src/queue.ts similarity index 100% rename from libs/services/queue/src/queue.ts rename to libs/core/queue/src/queue.ts diff --git a/libs/services/queue/src/rate-limiter.ts b/libs/core/queue/src/rate-limiter.ts similarity index 100% rename from libs/services/queue/src/rate-limiter.ts rename to libs/core/queue/src/rate-limiter.ts diff --git a/libs/services/queue/src/service-cache.ts b/libs/core/queue/src/service-cache.ts similarity index 100% rename from libs/services/queue/src/service-cache.ts rename to libs/core/queue/src/service-cache.ts diff --git a/libs/services/queue/src/service-registry.ts b/libs/core/queue/src/service-registry.ts similarity index 100% rename from libs/services/queue/src/service-registry.ts rename to libs/core/queue/src/service-registry.ts diff --git a/libs/services/queue/src/smart-queue-manager.ts b/libs/core/queue/src/smart-queue-manager.ts similarity index 100% rename from libs/services/queue/src/smart-queue-manager.ts rename to libs/core/queue/src/smart-queue-manager.ts diff --git a/libs/services/queue/src/types.ts b/libs/core/queue/src/types.ts similarity index 100% rename from libs/services/queue/src/types.ts rename to libs/core/queue/src/types.ts diff --git a/libs/services/queue/src/utils.ts b/libs/core/queue/src/utils.ts similarity index 100% rename from libs/services/queue/src/utils.ts rename to libs/core/queue/src/utils.ts diff --git a/libs/services/queue/test/batch-processor.test.ts b/libs/core/queue/test/batch-processor.test.ts similarity index 100% rename from libs/services/queue/test/batch-processor.test.ts rename to libs/core/queue/test/batch-processor.test.ts diff --git a/libs/services/queue/test/dlq-handler.test.ts b/libs/core/queue/test/dlq-handler.test.ts similarity index 100% rename from libs/services/queue/test/dlq-handler.test.ts rename to libs/core/queue/test/dlq-handler.test.ts diff --git a/libs/services/queue/test/queue-integration.test.ts b/libs/core/queue/test/queue-integration.test.ts similarity index 100% rename from libs/services/queue/test/queue-integration.test.ts rename to libs/core/queue/test/queue-integration.test.ts diff --git a/libs/services/queue/test/queue-manager.test.ts b/libs/core/queue/test/queue-manager.test.ts similarity index 100% rename from libs/services/queue/test/queue-manager.test.ts rename to libs/core/queue/test/queue-manager.test.ts diff --git a/libs/services/queue/test/queue-metrics.test.ts b/libs/core/queue/test/queue-metrics.test.ts similarity index 100% rename from libs/services/queue/test/queue-metrics.test.ts rename to libs/core/queue/test/queue-metrics.test.ts diff --git a/libs/services/queue/test/queue-simple.test.ts b/libs/core/queue/test/queue-simple.test.ts similarity index 100% rename from libs/services/queue/test/queue-simple.test.ts rename to libs/core/queue/test/queue-simple.test.ts diff --git a/libs/services/queue/test/rate-limiter.test.ts b/libs/core/queue/test/rate-limiter.test.ts similarity index 100% rename from libs/services/queue/test/rate-limiter.test.ts rename to libs/core/queue/test/rate-limiter.test.ts diff --git a/libs/services/queue/tsconfig.json b/libs/core/queue/tsconfig.json similarity index 56% rename from libs/services/queue/tsconfig.json rename to libs/core/queue/tsconfig.json index b684cdd..8a95639 100644 --- a/libs/services/queue/tsconfig.json +++ b/libs/core/queue/tsconfig.json @@ -7,9 +7,9 @@ }, "include": ["src/**/*"], "references": [ - { "path": "../../data/cache" }, - { "path": "../../core/handlers" }, - { "path": "../../core/logger" }, - { "path": "../../core/types" } + { "path": "../cache" }, + { "path": "../handlers" }, + { "path": "../logger" }, + { "path": "../types" } ] } diff --git a/libs/services/queue/turbo.json b/libs/core/queue/turbo.json similarity index 100% rename from libs/services/queue/turbo.json rename to libs/core/queue/turbo.json diff --git a/libs/services/shutdown/README.md b/libs/core/shutdown/README.md similarity index 100% rename from libs/services/shutdown/README.md rename to libs/core/shutdown/README.md diff --git a/libs/services/shutdown/package.json b/libs/core/shutdown/package.json similarity index 100% rename from libs/services/shutdown/package.json rename to libs/core/shutdown/package.json diff --git a/libs/services/shutdown/src/index.ts b/libs/core/shutdown/src/index.ts similarity index 100% rename from libs/services/shutdown/src/index.ts rename to libs/core/shutdown/src/index.ts diff --git a/libs/services/shutdown/src/shutdown.ts b/libs/core/shutdown/src/shutdown.ts similarity index 100% rename from libs/services/shutdown/src/shutdown.ts rename to libs/core/shutdown/src/shutdown.ts diff --git a/libs/services/shutdown/src/types.ts b/libs/core/shutdown/src/types.ts similarity index 100% rename from libs/services/shutdown/src/types.ts rename to libs/core/shutdown/src/types.ts diff --git a/libs/services/shutdown/tsconfig.json b/libs/core/shutdown/tsconfig.json similarity index 100% rename from libs/services/shutdown/tsconfig.json rename to libs/core/shutdown/tsconfig.json diff --git a/libs/utils/tsconfig.json b/libs/utils/tsconfig.json index bb002c9..7a56502 100644 --- a/libs/utils/tsconfig.json +++ b/libs/utils/tsconfig.json @@ -11,7 +11,7 @@ "exclude": ["node_modules", "dist"], "references": [ { "path": "../core/types" }, - { "path": "../data/cache" }, + { "path": "../core/cache" }, { "path": "../core/config" }, { "path": "../core/logger" } ] diff --git a/scripts/build-libs.sh b/scripts/build-libs.sh index df0c3e4..287e4d5 100755 --- a/scripts/build-libs.sh +++ b/scripts/build-libs.sh @@ -37,19 +37,19 @@ libs=( "core/logger" # Logging utilities - depends on types # Data access libraries - "data/cache" # Cache - depends on core libs "data/mongodb" # MongoDB client - depends on core libs "data/postgres" # PostgreSQL client - depends on core libs "data/questdb" # QuestDB client - depends on core libs - # Core handlers - must be built before services that depend on it + # Core infrastructure services + "core/shutdown" # Shutdown - no dependencies + "core/cache" # Cache - depends on core libs + "core/event-bus" # Event bus - depends on core libs "core/handlers" # Handlers - depends on core libs + "core/queue" # Queue - depends on core libs, cache, and handlers - # Service libraries - "services/event-bus" # Event bus - depends on core libs - "services/shutdown" # Shutdown - depends on core libs + # Application services "services/browser" # Browser - depends on core libs - "services/queue" # Queue - depends on core libs, cache, and handlers "services/proxy" # Proxy manager - depends on core libs and cache # Utils