diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json index f9ca9f15ff11ac..fd5c6968b09e64 100644 --- a/apps/web/tsconfig.json +++ b/apps/web/tsconfig.json @@ -16,6 +16,7 @@ } ], "strictNullChecks": true, + "emitDecoratorMetadata": true, "experimentalDecorators": true }, "include": [ diff --git a/package.json b/package.json index 555af04a33ba8d..978b30fe1667a7 100644 --- a/package.json +++ b/package.json @@ -89,6 +89,7 @@ "@testing-library/react": "^16.0.1", "@types/jsdom": "^21.1.3", "@types/jsonwebtoken": "^9.0.3", + "@types/reflect-metadata": "^0.1.0", "@vitest/ui": "^2.1.1", "c8": "^7.13.0", "checkly": "latest", @@ -117,6 +118,8 @@ "@vercel/functions": "^1.4.0", "city-timezones": "^1.2.1", "eslint": "^8.34.0", + "inversify": "^6.0.2", + "reflect-metadata": "^0.2.2", "turbo": "^1.10.1" }, "resolutions": { diff --git a/packages/di/package.json b/packages/di/package.json index fc1c06b82457d2..694d8e48ba7809 100644 --- a/packages/di/package.json +++ b/packages/di/package.json @@ -4,6 +4,9 @@ "authors": "zomars", "version": "1.0.0", "main": "index.ts", + "devDependencies": { + "@types/reflect-metadata": "^0.1.0" + }, "dependencies": { "inversify": "^6.0.2", "reflect-metadata": "^0.2.2" diff --git a/packages/trpc/tsconfig.json b/packages/trpc/tsconfig.json index e75cc122266758..714dfaf2ad22ee 100644 --- a/packages/trpc/tsconfig.json +++ b/packages/trpc/tsconfig.json @@ -33,6 +33,7 @@ "noEmit": false, "declaration": true, "emitDeclarationOnly": true, + "emitDecoratorMetadata": true, "experimentalDecorators": true, "declarationMap": false, "resolveJsonModule": true, diff --git a/packages/tsconfig/base.json b/packages/tsconfig/base.json index 067aae8043a1ec..931e1214b9b79f 100644 --- a/packages/tsconfig/base.json +++ b/packages/tsconfig/base.json @@ -5,6 +5,8 @@ "composite": false, "declaration": true, "declarationMap": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "inlineSources": false, diff --git a/setupVitest.ts b/setupVitest.ts index 5fdcc0be08791f..e82a7983afcc9f 100644 --- a/setupVitest.ts +++ b/setupVitest.ts @@ -1,3 +1,4 @@ +import "reflect-metadata"; import matchers from "@testing-library/jest-dom/matchers"; import ResizeObserver from "resize-observer-polyfill"; import { vi, expect } from "vitest"; diff --git a/vitest.config.ts b/vitest.config.ts index 1cd76c39835d1a..6fca7c02c0e094 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -9,6 +9,7 @@ export default defineConfig({ }, passWithNoTests: true, testTimeout: 500000, + setupFiles: ["setupVitest.ts"], }, }); diff --git a/yarn.lock b/yarn.lock index 8d677c97922313..e433811b848047 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3905,10 +3905,11 @@ __metadata: languageName: unknown linkType: soft -"@calcom/di@workspace:packages/di": +"@calcom/di@*, @calcom/di@workspace:packages/di": version: 0.0.0-use.local resolution: "@calcom/di@workspace:packages/di" dependencies: + "@types/reflect-metadata": ^0.1.0 inversify: ^6.0.2 reflect-metadata: ^0.2.2 languageName: unknown @@ -4137,6 +4138,7 @@ __metadata: resolution: "@calcom/features@workspace:packages/features" dependencies: "@calcom/dayjs": "*" + "@calcom/di": "*" "@calcom/lib": "*" "@calcom/trpc": "*" "@calcom/ui": "*" @@ -16103,6 +16105,15 @@ __metadata: languageName: node linkType: hard +"@types/reflect-metadata@npm:^0.1.0": + version: 0.1.0 + resolution: "@types/reflect-metadata@npm:0.1.0" + dependencies: + reflect-metadata: "*" + checksum: 9325a43186aafdf72f14977bdaed95b4a40005a919c8a96622de14bb2f2dbf41d9882e50bfcff4169f9a00df0d9dcee931fdd999d15776f8e5485fba40ff5b99 + languageName: node + linkType: hard + "@types/remove-markdown@npm:^0.3.1": version: 0.3.1 resolution: "@types/remove-markdown@npm:0.3.1" @@ -19514,6 +19525,7 @@ __metadata: "@testing-library/react": ^16.0.1 "@types/jsdom": ^21.1.3 "@types/jsonwebtoken": ^9.0.3 + "@types/reflect-metadata": ^0.1.0 "@vercel/functions": ^1.4.0 "@vitest/ui": ^2.1.1 c8: ^7.13.0 @@ -19523,6 +19535,7 @@ __metadata: eslint: ^8.34.0 husky: ^8.0.0 i18n-unused: ^0.13.0 + inversify: ^6.0.2 jest-diff: ^29.5.0 jest-summarizing-reporter: ^1.1.4 jsdom: ^22.0.0 @@ -19532,6 +19545,7 @@ __metadata: node-ical: ^0.16.1 prettier: ^2.8.6 prismock: ^1.21.1 + reflect-metadata: ^0.2.2 resize-observer-polyfill: ^1.5.1 tsc-absolute: ^1.0.0 turbo: ^1.10.1 @@ -37298,6 +37312,13 @@ __metadata: languageName: node linkType: hard +"reflect-metadata@npm:*, reflect-metadata@npm:^0.2.2": + version: 0.2.2 + resolution: "reflect-metadata@npm:0.2.2" + checksum: a66c7b583e4efdd8f3c3124fbff33da2d0c86d8280617516308b32b2159af7a3698c961db3246387f56f6316b1d33a608f39bb2b49d813316dfc58f6d3bf3210 + languageName: node + linkType: hard + "reflect-metadata@npm:0.2.1, reflect-metadata@npm:^0.2.1": version: 0.2.1 resolution: "reflect-metadata@npm:0.2.1" @@ -37312,13 +37333,6 @@ __metadata: languageName: node linkType: hard -"reflect-metadata@npm:^0.2.2": - version: 0.2.2 - resolution: "reflect-metadata@npm:0.2.2" - checksum: a66c7b583e4efdd8f3c3124fbff33da2d0c86d8280617516308b32b2159af7a3698c961db3246387f56f6316b1d33a608f39bb2b49d813316dfc58f6d3bf3210 - languageName: node - linkType: hard - "reflect.getprototypeof@npm:^1.0.4": version: 1.0.5 resolution: "reflect.getprototypeof@npm:1.0.5"