diff --git a/packages/core/package.json b/packages/core/package.json index 5e492b6..b020c0c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -19,6 +19,7 @@ "devDependencies": { "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", + "@types/node": "^25.5.2", "vitest": "^3.1.0" } } diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index b2cb5e7..195f5b8 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,3 +1,22 @@ // @repo/core — Clean Architecture core package -// Layers: entities, application, infrastructure, interface-adapters, di -export {}; +export * from "./entities/index.js"; +export * from "./application/repositories/index.js"; +export * from "./application/services/index.js"; +export { signInUseCase } from "./application/use-cases/auth/sign-in.use-case.js"; +export { signUpUseCase } from "./application/use-cases/auth/sign-up.use-case.js"; +export { signOutUseCase } from "./application/use-cases/auth/sign-out.use-case.js"; +export { createArticleUseCase } from "./application/use-cases/content/create-article.use-case.js"; +export { getArticlesUseCase } from "./application/use-cases/content/get-articles.use-case.js"; +export { signInController } from "./interface-adapters/controllers/auth/sign-in.controller.js"; +export { signUpController } from "./interface-adapters/controllers/auth/sign-up.controller.js"; +export { signOutController } from "./interface-adapters/controllers/auth/sign-out.controller.js"; +export { + createArticleController, + getArticlesController, +} from "./interface-adapters/controllers/content/articles.controller.js"; +export { + getInjection, + initializeContainer, + destroyContainer, +} from "./di/container.js"; +export { DI_SYMBOLS } from "./di/types.js"; diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index fd3ed84..498e915 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -5,7 +5,7 @@ "paths": { "@/*": ["./src/*"] }, - "types": ["reflect-metadata"] + "types": ["reflect-metadata", "node"] }, "include": ["src/**/*.ts"], "exclude": ["node_modules", "dist"] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2a6b75d..17aac34 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -130,9 +130,12 @@ importers: '@repo/typescript-config': specifier: workspace:* version: link:../typescript-config + '@types/node': + specifier: ^25.5.2 + version: 25.5.2 vitest: specifier: ^3.1.0 - version: 3.2.4 + version: 3.2.4(@types/node@25.5.2) packages/eslint-config: devDependencies: @@ -562,6 +565,9 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/node@25.5.2': + resolution: {integrity: sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==} + '@typescript-eslint/eslint-plugin@8.58.0': resolution: {integrity: sha512-RLkVSiNuUP1C2ROIWfqX+YcUfLaSnxGE/8M+Y57lopVwg9VTYYfhuz15Yf1IzCKgZj6/rIbYTmJCUSqr76r0Wg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1107,6 +1113,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -1460,6 +1469,10 @@ snapshots: '@types/json-schema@7.0.15': {} + '@types/node@25.5.2': + dependencies: + undici-types: 7.18.2 + '@typescript-eslint/eslint-plugin@8.58.0(@typescript-eslint/parser@8.58.0(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 @@ -1559,13 +1572,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.3.2)': + '@vitest/mocker@3.2.4(vite@7.3.2(@types/node@25.5.2))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.2 + vite: 7.3.2(@types/node@25.5.2) '@vitest/pretty-format@3.2.4': dependencies: @@ -2047,17 +2060,19 @@ snapshots: typescript@5.9.3: {} + undici-types@7.18.2: {} + uri-js@4.4.1: dependencies: punycode: 2.3.1 - vite-node@3.2.4: + vite-node@3.2.4(@types/node@25.5.2): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.2 + vite: 7.3.2(@types/node@25.5.2) transitivePeerDependencies: - '@types/node' - jiti @@ -2072,7 +2087,7 @@ snapshots: - tsx - yaml - vite@7.3.2: + vite@7.3.2(@types/node@25.5.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -2081,13 +2096,14 @@ snapshots: rollup: 4.60.1 tinyglobby: 0.2.15 optionalDependencies: + '@types/node': 25.5.2 fsevents: 2.3.3 - vitest@3.2.4: + vitest@3.2.4(@types/node@25.5.2): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.3.2) + '@vitest/mocker': 3.2.4(vite@7.3.2(@types/node@25.5.2)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -2105,9 +2121,11 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.3.2 - vite-node: 3.2.4 + vite: 7.3.2(@types/node@25.5.2) + vite-node: 3.2.4(@types/node@25.5.2) why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 25.5.2 transitivePeerDependencies: - jiti - less