diff --git a/CLAUDE.md b/CLAUDE.md index 52b6b51de2..20d4e5efee 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -213,8 +213,10 @@ The framework follows a specific loading order: - **`pnpm-workspace.yaml`** - pnpm workspace configuration with catalog dependencies - **`package.json`** - Root monorepo configuration with pnpm scripts +- **`tsconfig.json`** - Root TypeScript configuration for all packages (extends @eggjs/tsconfig) +- **`tsconfig.build.json`** - Root build configuration (extends tsconfig.json) - **`packages/egg/package.json`** - Main egg package with hybrid CommonJS/ESM exports -- **`packages/egg/tsconfig.json`** - Extends @eggjs/tsconfig with strict mode enabled +- **`packages/egg/tsconfig.json`** - Extends workspace root tsconfig.json - **`packages/egg/tsdown.config.ts`** - tsdown build configuration for unbundled ESM output - **`packages/egg/src/config/plugin.ts`** - Built-in plugin configurations - **`packages/egg/src/config/config.default.ts`** - Default framework configuration @@ -276,7 +278,9 @@ The framework extends Koa's context with Egg-specific features: - `plugins/` - for Egg plugins - `tools/` - for development tools 2. Add package.json with workspace dependencies using `workspace:*` -3. Create tsconfig.json that extends from root: `"extends": "../../tsconfig.json"` +3. Create minimal TypeScript config files: + - `tsconfig.json` → `{"extends": "../../tsconfig.json"}` + - `tsconfig.build.json` → `{"extends": "../../tsconfig.build.json"}` 4. Add package reference to root tsconfig.json `references` array 5. Update root pnpm-workspace.yaml if needed (plugins/\* is already included) 6. Use `pnpm --filter=` for package-specific commands @@ -488,11 +492,52 @@ Tool packages (like egg-bin) should be placed in the `tools/` directory: #### TypeScript Configuration Requirements -- **IMPORTANT: All sub-project tsconfig.json files MUST extend from the root project tsconfig.json** -- Use `"extends": "../../tsconfig.json"` in package tsconfig.json files -- Include `"baseUrl": "./"` in compilerOptions for proper path resolution -- Root tsconfig.json must include all packages in the `references` array -- This ensures consistent TypeScript configuration across the entire monorepo +**IMPORTANT: The monorepo uses a standardized TypeScript configuration pattern where all sub-projects extend from the workspace root.** + +**Root Configuration Files:** + +- `tsconfig.json` - Base TypeScript configuration for all packages + - Extends from `@eggjs/tsconfig` with common compiler options + - Uses `${configDir}` variable for dynamic path resolution + - Includes project `references` array listing all sub-packages + - Sets `composite: true` and `incremental: true` for project references +- `tsconfig.build.json` - Build-specific configuration + - Extends from root `tsconfig.json` + - Defines `rootDir` as `${configDir}/src` and `outDir` as `${configDir}/dist` + - Excludes test files, dist directories, and config files + +**Sub-Project Configuration Pattern:** + +All packages, plugins, and tools MUST follow this minimal pattern: + +```json +// packages/*/tsconfig.json, plugins/*/tsconfig.json, tools/*/tsconfig.json +{ + "extends": "../../tsconfig.json" +} +``` + +```json +// packages/*/tsconfig.build.json, plugins/*/tsconfig.build.json +{ + "extends": "../../tsconfig.build.json" +} +``` + +**Key Requirements:** + +- **Keep it minimal** - Sub-project configs should ONLY contain the `extends` field +- **No additional options** - Don't add `compilerOptions`, `baseUrl`, or other settings +- **Centralized configuration** - All settings are managed at the workspace root +- **Use ${configDir}** - Root configs use this variable for per-package path resolution +- **Update references** - When adding new packages, add them to root tsconfig.json `references` array + +This approach ensures: + +- Consistent TypeScript configuration across all 31+ sub-projects +- Easy maintenance (change once at root, applies everywhere) +- Proper TypeScript project references for fast builds +- Clean and readable per-package configuration files ### Documentation diff --git a/packages/cluster/tsconfig.build.json b/packages/cluster/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/packages/cluster/tsconfig.build.json +++ b/packages/cluster/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/cluster/tsconfig.json b/packages/cluster/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/cluster/tsconfig.json +++ b/packages/cluster/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/packages/cookies/tsconfig.build.json b/packages/cookies/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/packages/cookies/tsconfig.build.json +++ b/packages/cookies/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/cookies/tsconfig.json b/packages/cookies/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/cookies/tsconfig.json +++ b/packages/cookies/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/packages/core/test/egg-ts.test.ts b/packages/core/test/egg-ts.test.ts index 2b426a36a7..ba29ce33b6 100644 --- a/packages/core/test/egg-ts.test.ts +++ b/packages/core/test/egg-ts.test.ts @@ -5,8 +5,8 @@ import { mm } from 'mm'; import { request } from '@eggjs/supertest'; import coffee from 'coffee'; -import { utils } from '../src/index.js'; -import { createApp, getFilepath, type Application } from './helper.js'; +import { utils } from '../src/index.ts'; +import { createApp, getFilepath, type Application } from './helper.ts'; describe('test/egg-ts.test.ts', () => { let app: Application | undefined; diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json index ba3562e7be..77cad4f9bb 100644 --- a/packages/core/tsconfig.build.json +++ b/packages/core/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts", "example"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index c2c3ee3234..8eb1027aa4 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,7 +1,4 @@ { "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - }, "exclude": ["test/fixtures/**/*.ts"] } diff --git a/packages/egg/tsconfig.build.json b/packages/egg/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/packages/egg/tsconfig.build.json +++ b/packages/egg/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/egg/tsconfig.json b/packages/egg/tsconfig.json index c2c3ee3234..8eb1027aa4 100644 --- a/packages/egg/tsconfig.json +++ b/packages/egg/tsconfig.json @@ -1,7 +1,4 @@ { "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - }, "exclude": ["test/fixtures/**/*.ts"] } diff --git a/packages/errors/tsconfig.json b/packages/errors/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/errors/tsconfig.json +++ b/packages/errors/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/packages/extend2/tsconfig.build.json b/packages/extend2/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/packages/extend2/tsconfig.build.json +++ b/packages/extend2/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/extend2/tsconfig.json b/packages/extend2/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/extend2/tsconfig.json +++ b/packages/extend2/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/packages/koa-static-cache/tsconfig.build.json b/packages/koa-static-cache/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/packages/koa-static-cache/tsconfig.build.json +++ b/packages/koa-static-cache/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/koa-static-cache/tsconfig.json b/packages/koa-static-cache/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/koa-static-cache/tsconfig.json +++ b/packages/koa-static-cache/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/packages/koa/tsconfig.build.json b/packages/koa/tsconfig.build.json index ba3562e7be..77cad4f9bb 100644 --- a/packages/koa/tsconfig.build.json +++ b/packages/koa/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts", "example"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/koa/tsconfig.json b/packages/koa/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/koa/tsconfig.json +++ b/packages/koa/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/packages/path-matching/tsconfig.json b/packages/path-matching/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/path-matching/tsconfig.json +++ b/packages/path-matching/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/packages/router/tsconfig.build.json b/packages/router/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/packages/router/tsconfig.build.json +++ b/packages/router/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/router/tsconfig.json b/packages/router/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/router/tsconfig.json +++ b/packages/router/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/packages/supertest/tsconfig.build.json b/packages/supertest/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/packages/supertest/tsconfig.build.json +++ b/packages/supertest/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/supertest/tsconfig.json b/packages/supertest/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/supertest/tsconfig.json +++ b/packages/supertest/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/packages/utils/tsconfig.build.json b/packages/utils/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/packages/utils/tsconfig.build.json +++ b/packages/utils/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/development/tsconfig.build.json b/plugins/development/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/development/tsconfig.build.json +++ b/plugins/development/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/development/tsconfig.json b/plugins/development/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/development/tsconfig.json +++ b/plugins/development/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/i18n/tsconfig.build.json b/plugins/i18n/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/i18n/tsconfig.build.json +++ b/plugins/i18n/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/i18n/tsconfig.json b/plugins/i18n/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/i18n/tsconfig.json +++ b/plugins/i18n/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/jsonp/tsconfig.build.json b/plugins/jsonp/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/jsonp/tsconfig.build.json +++ b/plugins/jsonp/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/jsonp/tsconfig.json b/plugins/jsonp/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/jsonp/tsconfig.json +++ b/plugins/jsonp/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/logrotator/tsconfig.build.json b/plugins/logrotator/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/logrotator/tsconfig.build.json +++ b/plugins/logrotator/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/logrotator/tsconfig.json b/plugins/logrotator/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/logrotator/tsconfig.json +++ b/plugins/logrotator/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/mock/tsconfig.build.json b/plugins/mock/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/mock/tsconfig.build.json +++ b/plugins/mock/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/mock/tsconfig.json b/plugins/mock/tsconfig.json index c2c3ee3234..8eb1027aa4 100644 --- a/plugins/mock/tsconfig.json +++ b/plugins/mock/tsconfig.json @@ -1,7 +1,4 @@ { "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - }, "exclude": ["test/fixtures/**/*.ts"] } diff --git a/plugins/multipart/tsconfig.build.json b/plugins/multipart/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/multipart/tsconfig.build.json +++ b/plugins/multipart/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/multipart/tsconfig.json b/plugins/multipart/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/multipart/tsconfig.json +++ b/plugins/multipart/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/onerror/tsconfig.build.json b/plugins/onerror/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/onerror/tsconfig.build.json +++ b/plugins/onerror/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/onerror/tsconfig.json b/plugins/onerror/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/onerror/tsconfig.json +++ b/plugins/onerror/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/redis/tsconfig.build.json b/plugins/redis/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/redis/tsconfig.build.json +++ b/plugins/redis/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/redis/tsconfig.json b/plugins/redis/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/redis/tsconfig.json +++ b/plugins/redis/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/schedule/tsconfig.build.json b/plugins/schedule/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/schedule/tsconfig.build.json +++ b/plugins/schedule/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/schedule/tsconfig.json b/plugins/schedule/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/schedule/tsconfig.json +++ b/plugins/schedule/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/schedule/vitest.config.ts b/plugins/schedule/vitest.config.ts index 6bb2b5296e..1e4c3eb6be 100644 --- a/plugins/schedule/vitest.config.ts +++ b/plugins/schedule/vitest.config.ts @@ -1,8 +1,9 @@ -import { defineConfig } from 'vitest/config'; +import { defineProject } from 'vitest/config'; -export default defineConfig({ +export default defineProject({ test: { testTimeout: 20000, + hookTimeout: 20000, include: ['test/**/*.test.ts'], }, }); diff --git a/plugins/security/tsconfig.build.json b/plugins/security/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/security/tsconfig.build.json +++ b/plugins/security/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/security/tsconfig.json b/plugins/security/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/security/tsconfig.json +++ b/plugins/security/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/session/tsconfig.build.json b/plugins/session/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/session/tsconfig.build.json +++ b/plugins/session/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/session/tsconfig.json b/plugins/session/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/session/tsconfig.json +++ b/plugins/session/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/static/tsconfig.build.json b/plugins/static/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/static/tsconfig.build.json +++ b/plugins/static/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/static/tsconfig.json b/plugins/static/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/static/tsconfig.json +++ b/plugins/static/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/tracer/tsconfig.build.json b/plugins/tracer/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/tracer/tsconfig.build.json +++ b/plugins/tracer/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/tracer/tsconfig.json b/plugins/tracer/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/tracer/tsconfig.json +++ b/plugins/tracer/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/typebox-validate/tsconfig.build.json b/plugins/typebox-validate/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/typebox-validate/tsconfig.build.json +++ b/plugins/typebox-validate/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/typebox-validate/tsconfig.json b/plugins/typebox-validate/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/typebox-validate/tsconfig.json +++ b/plugins/typebox-validate/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/view/tsconfig.build.json b/plugins/view/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/view/tsconfig.build.json +++ b/plugins/view/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/view/tsconfig.json b/plugins/view/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/view/tsconfig.json +++ b/plugins/view/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/plugins/watcher/tsconfig.build.json b/plugins/watcher/tsconfig.build.json index 4e2e468f4a..77cad4f9bb 100644 --- a/plugins/watcher/tsconfig.build.json +++ b/plugins/watcher/tsconfig.build.json @@ -1,9 +1,3 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "baseUrl": "./", - "rootDir": "./src", - "outDir": "./dist" - }, - "exclude": ["test", "dist", "tsdown.config.ts", "vitest.config.ts"] + "extends": "../../tsconfig.build.json" } diff --git a/plugins/watcher/tsconfig.json b/plugins/watcher/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/plugins/watcher/tsconfig.json +++ b/plugins/watcher/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3ee8221bd3..827463e41f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -487,8 +487,8 @@ catalogs: specifier: ^4.2.0 version: 4.2.0 tsdown: - specifier: ^0.15.4 - version: 0.15.4 + specifier: ^0.15.6 + version: 0.15.6 type-fest: specifier: ^5.0.1 version: 5.0.1 @@ -628,7 +628,7 @@ importers: version: link:../../packages/tsconfig tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -692,7 +692,7 @@ importers: version: 5.5.1 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -732,7 +732,7 @@ importers: version: 1.19.0(oxlint-tsgolint@0.2.0) tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -817,7 +817,7 @@ importers: version: 3.6.2 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -971,7 +971,7 @@ importers: version: 1.0.0 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -989,7 +989,7 @@ importers: version: 1.19.0(oxlint-tsgolint@0.2.0) tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1007,7 +1007,7 @@ importers: version: 1.19.0(oxlint-tsgolint@0.2.0) tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1125,7 +1125,7 @@ importers: version: 4.0.2 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1177,7 +1177,7 @@ importers: version: 6.0.1 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1211,7 +1211,7 @@ importers: version: 6.0.1 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1269,7 +1269,7 @@ importers: version: 1.19.25 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1306,7 +1306,7 @@ importers: version: 4.21.2 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1336,7 +1336,7 @@ importers: version: 2.0.1 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1367,7 +1367,7 @@ importers: version: link:../../packages/tsconfig tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1413,7 +1413,7 @@ importers: version: 2.3.0(chokidar@3.6.0) tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1441,7 +1441,7 @@ importers: version: 24.6.2 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1481,7 +1481,7 @@ importers: version: 11.0.3 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1557,7 +1557,7 @@ importers: version: 1.1.4 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1606,7 +1606,7 @@ importers: version: 2.0.1 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1646,7 +1646,7 @@ importers: version: 0.0.33 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1683,7 +1683,7 @@ importers: version: 6.0.1 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1732,7 +1732,7 @@ importers: version: 1.19.0(oxlint-tsgolint@0.2.0) tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1820,7 +1820,7 @@ importers: version: 1.0.0 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1857,7 +1857,7 @@ importers: version: 24.6.2 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1900,7 +1900,7 @@ importers: version: 1.19.0(oxlint-tsgolint@0.2.0) tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1922,7 +1922,7 @@ importers: version: link:../../packages/tsconfig tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1968,7 +1968,7 @@ importers: version: 7.7.2 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -1996,7 +1996,7 @@ importers: version: link:../../packages/tsconfig tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -2027,7 +2027,7 @@ importers: version: link:../../packages/tsconfig tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -2071,7 +2071,7 @@ importers: version: 9.6.0 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) tools/egg-bin: dependencies: @@ -2162,7 +2162,7 @@ importers: version: 6.0.1 tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -2211,7 +2211,7 @@ importers: version: 1.19.0(oxlint-tsgolint@0.2.0) tsdown: specifier: 'catalog:' - version: 0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) + version: 0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -11042,8 +11042,8 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} - tsdown@0.15.4: - resolution: {integrity: sha512-aoFE8disBg8BgYcOgradr/5Yd+QDBRQ+6z8mXo/Ib7+GIaJwJsI5l/ppve05CZGcSDqwdhF4gdrA0HPHBtbBqA==} + tsdown@0.15.6: + resolution: {integrity: sha512-W6++O3JeV9gm3JY6P/vLiC7zzTcJbZhQxXb+p3AvRMpDOPBIg82yXULyZCcwjsihY/bFG+Qw37HkezZbP7fzUg==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: @@ -21909,7 +21909,7 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tsdown@0.15.4(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3): + tsdown@0.15.6(oxc-resolver@11.8.3)(typescript@5.9.3)(unplugin-unused@0.5.3): dependencies: ansis: 4.2.0 cac: 6.7.14 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2471497792..04be5f62cd 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -175,7 +175,7 @@ catalog: terminal-link: ^5.0.0 ts-node: ^10.9.2 tsconfig-paths: ^4.2.0 - tsdown: ^0.15.4 + tsdown: ^0.15.6 type-fest: ^5.0.1 type-is: ^2.0.0 typescript: ^5.9.3 diff --git a/tools/create-egg/tsconfig.json b/tools/create-egg/tsconfig.json index bcab5431aa..4082f16a5d 100644 --- a/tools/create-egg/tsconfig.json +++ b/tools/create-egg/tsconfig.json @@ -1,6 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - } + "extends": "../../tsconfig.json" } diff --git a/tools/egg-bin/tsconfig.json b/tools/egg-bin/tsconfig.json index 68c6b2935e..914030c445 100644 --- a/tools/egg-bin/tsconfig.json +++ b/tools/egg-bin/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": "./", "types": ["mocha", "node"] }, "exclude": ["test/fixtures/**/*.ts"] diff --git a/tools/scripts/tsconfig.json b/tools/scripts/tsconfig.json index c2c3ee3234..8eb1027aa4 100644 --- a/tools/scripts/tsconfig.json +++ b/tools/scripts/tsconfig.json @@ -1,7 +1,4 @@ { "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "./" - }, "exclude": ["test/fixtures/**/*.ts"] } diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 0000000000..65496b699d --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "${configDir}/src", + "outDir": "${configDir}/dist" + }, + "include": ["${configDir}/src"], + "exclude": [ + "${configDir}/test", + "${configDir}/dist", + "${configDir}/tsdown.config.ts", + "${configDir}/vitest.config.ts" + ] +} diff --git a/tsconfig.json b/tsconfig.json index 2a6e08e00a..e57878bdbd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "@eggjs/tsconfig", "compilerOptions": { + "baseUrl": "${configDir}", "target": "ES2022", "composite": true, "incremental": true,