From 72d551391645a68a77b37dcbdbe5349cf41dcb03 Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Fri, 8 May 2026 09:44:00 +0200 Subject: [PATCH] chore(tsconfig): migrate off deprecated baseUrl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TypeScript 6 deprecates `baseUrl` in favor of resolving `paths` relative to the file that defines them. Earlier commit (bde40e4) silenced the warning via `ignoreDeprecations`; this commit does the actual migration so the warning goes away on its merits. Changes: 1. tsconfig.base.json: drop `baseUrl: "."`. Add an explicit `./` prefix to every `paths` entry so they resolve relative to the base config's location (the repo root) — same behavior as before, but no baseUrl needed. (TypeScript requires path entries to be relative or absolute when baseUrl is absent; bare paths like "packages/..." are not allowed.) 2. apps/web-next/tsconfig.json: drop baseUrl. The `@/*` mapping's target was already "./src/*" — relative-from-tsconfig-file is the new default, so no other change. 3. apps/cms/tsconfig.json: same — drop baseUrl, paths already use "./" prefix. 4. apps/storybook/tsconfig.json: same. 5. apps/web-tanstack/tsconfig.json: same. Generator templates (turbo/generators/templates/feature/tsconfig.json.hbs) already omit baseUrl, so future-generated features inherit the new posture. Reverts the ignoreDeprecations setting added in bde40e4 — no longer needed. Verified: - pnpm typecheck 14/14 - pnpm lint 15/15 - pnpm test 26/26 Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/cms/tsconfig.json | 1 - apps/storybook/tsconfig.json | 1 - apps/web-next/tsconfig.json | 1 - apps/web-tanstack/tsconfig.json | 1 - tsconfig.base.json | 66 ++++++++++++++++----------------- 5 files changed, 32 insertions(+), 38 deletions(-) diff --git a/apps/cms/tsconfig.json b/apps/cms/tsconfig.json index 5105090..9eff878 100644 --- a/apps/cms/tsconfig.json +++ b/apps/cms/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/core-typescript/nextjs.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": [ "./src/*" diff --git a/apps/storybook/tsconfig.json b/apps/storybook/tsconfig.json index 82946ba..99326ef 100644 --- a/apps/storybook/tsconfig.json +++ b/apps/storybook/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/core-typescript/react-library.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": ["./src/*"] } diff --git a/apps/web-next/tsconfig.json b/apps/web-next/tsconfig.json index 64b2c19..8ca1734 100644 --- a/apps/web-next/tsconfig.json +++ b/apps/web-next/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@repo/core-typescript/nextjs.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": [ "./src/*" diff --git a/apps/web-tanstack/tsconfig.json b/apps/web-tanstack/tsconfig.json index c310251..15a8983 100644 --- a/apps/web-tanstack/tsconfig.json +++ b/apps/web-tanstack/tsconfig.json @@ -3,7 +3,6 @@ "compilerOptions": { "lib": ["ES2022", "DOM", "DOM.Iterable"], "jsx": "react-jsx", - "baseUrl": ".", "paths": { "@/*": ["./src/*"] }, diff --git a/tsconfig.base.json b/tsconfig.base.json index 449470c..184e636 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,41 +1,39 @@ { "$schema": "https://json.schemastore.org/tsconfig", "compilerOptions": { - "ignoreDeprecations": "6.0", - "baseUrl": ".", "paths": { - "@repo/core-shared": ["packages/core-shared/src/index.ts"], - "@repo/core-shared/payload": ["packages/core-shared/src/payload/index.ts"], - "@repo/core-shared/trpc/init": ["packages/core-shared/src/trpc/init.ts"], - "@repo/core-shared/trpc/context": ["packages/core-shared/src/trpc/context.ts"], - "@repo/core-cms": ["packages/core-cms/src/index.ts"], - "@repo/core-cms/generated-types": ["packages/core-cms/src/generated-types.ts"], - "@repo/blog": ["packages/blog/src/index.ts"], - "@repo/blog/cms": ["packages/blog/src/integrations/cms/index.ts"], - "@repo/blog/api": ["packages/blog/src/integrations/api/router.ts"], - "@repo/core-api": ["packages/core-api/src/index.ts"], - "@repo/core-trpc": ["packages/core-trpc/src/index.ts"], - "@repo/core-ui": ["packages/core-ui/src/index.ts"], - "@repo/auth": ["packages/auth/src/index.ts"], - "@repo/auth/cms": ["packages/auth/src/integrations/cms/index.ts"], - "@repo/auth/api": ["packages/auth/src/integrations/api/router.ts"], - "@repo/media": ["packages/media/src/index.ts"], - "@repo/media/cms": ["packages/media/src/integrations/cms/index.ts"], - "@repo/media/api": ["packages/media/src/integrations/api/index.ts"], - "@repo/media/di/bind-production": ["packages/media/src/di/bind-production.ts"], - "@repo/marketing-pages": ["packages/marketing-pages/src/index.ts"], - "@repo/marketing-pages/cms": ["packages/marketing-pages/src/integrations/cms/index.ts"], - "@repo/marketing-pages/api": ["packages/marketing-pages/src/integrations/api/router.ts"], - "@repo/navigation": ["packages/navigation/src/index.ts"], - "@repo/navigation/cms": ["packages/navigation/src/integrations/cms/index.ts"], - "@repo/navigation/api": ["packages/navigation/src/integrations/api/router.ts"], - "@repo/core-testing": ["packages/core-testing/src/index.ts"], - "@repo/core-testing/factory": ["packages/core-testing/src/factory/index.ts"], - "@repo/core-testing/contract": ["packages/core-testing/src/contract/index.ts"], - "@repo/core-testing/react": ["packages/core-testing/src/react/index.ts"], - "@repo/core-testing/payload": ["packages/core-testing/src/payload/index.ts"], - "@repo/core-testing/setup/jsdom": ["packages/core-testing/src/setup/jsdom.ts"], - "@repo/core-testing/setup/node": ["packages/core-testing/src/setup/node.ts"] + "@repo/core-shared": ["./packages/core-shared/src/index.ts"], + "@repo/core-shared/payload": ["./packages/core-shared/src/payload/index.ts"], + "@repo/core-shared/trpc/init": ["./packages/core-shared/src/trpc/init.ts"], + "@repo/core-shared/trpc/context": ["./packages/core-shared/src/trpc/context.ts"], + "@repo/core-cms": ["./packages/core-cms/src/index.ts"], + "@repo/core-cms/generated-types": ["./packages/core-cms/src/generated-types.ts"], + "@repo/blog": ["./packages/blog/src/index.ts"], + "@repo/blog/cms": ["./packages/blog/src/integrations/cms/index.ts"], + "@repo/blog/api": ["./packages/blog/src/integrations/api/router.ts"], + "@repo/core-api": ["./packages/core-api/src/index.ts"], + "@repo/core-trpc": ["./packages/core-trpc/src/index.ts"], + "@repo/core-ui": ["./packages/core-ui/src/index.ts"], + "@repo/auth": ["./packages/auth/src/index.ts"], + "@repo/auth/cms": ["./packages/auth/src/integrations/cms/index.ts"], + "@repo/auth/api": ["./packages/auth/src/integrations/api/router.ts"], + "@repo/media": ["./packages/media/src/index.ts"], + "@repo/media/cms": ["./packages/media/src/integrations/cms/index.ts"], + "@repo/media/api": ["./packages/media/src/integrations/api/index.ts"], + "@repo/media/di/bind-production": ["./packages/media/src/di/bind-production.ts"], + "@repo/marketing-pages": ["./packages/marketing-pages/src/index.ts"], + "@repo/marketing-pages/cms": ["./packages/marketing-pages/src/integrations/cms/index.ts"], + "@repo/marketing-pages/api": ["./packages/marketing-pages/src/integrations/api/router.ts"], + "@repo/navigation": ["./packages/navigation/src/index.ts"], + "@repo/navigation/cms": ["./packages/navigation/src/integrations/cms/index.ts"], + "@repo/navigation/api": ["./packages/navigation/src/integrations/api/router.ts"], + "@repo/core-testing": ["./packages/core-testing/src/index.ts"], + "@repo/core-testing/factory": ["./packages/core-testing/src/factory/index.ts"], + "@repo/core-testing/contract": ["./packages/core-testing/src/contract/index.ts"], + "@repo/core-testing/react": ["./packages/core-testing/src/react/index.ts"], + "@repo/core-testing/payload": ["./packages/core-testing/src/payload/index.ts"], + "@repo/core-testing/setup/jsdom": ["./packages/core-testing/src/setup/jsdom.ts"], + "@repo/core-testing/setup/node": ["./packages/core-testing/src/setup/node.ts"] } } }