diff --git a/.vscode/settings.json b/.vscode/settings.json index 563ca807782..14188a449f1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,4 +10,5 @@ "[mdx]": { "editor.wordWrap": "on" }, + "js/ts.tsdk.path": "node_modules\\typescript\\lib", } \ No newline at end of file diff --git a/benchmark/package.json b/benchmark/package.json index 77da344a94b..2fc989d409c 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/benchmark", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Benchmark program of typia performance", "main": "bin/index.js", "scripts": { diff --git a/benchmark/tsconfig.json b/benchmark/tsconfig.json index eee49d63655..4749d81bcc3 100644 --- a/benchmark/tsconfig.json +++ b/benchmark/tsconfig.json @@ -28,13 +28,14 @@ /* Modules */ "module": "CommonJS", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + "rootDir": "./src", /* Specify the root folder within your source files. */ + "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + "ignoreDeprecations": "6.0", // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + "types": ["*"], /* Specify type package names to be included without being referenced in a source file. */ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ // "resolveJsonModule": true, /* Enable importing .json files */ // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ diff --git a/config/package.json b/config/package.json index edfdbadb8c1..6d1c9c85e6e 100644 --- a/config/package.json +++ b/config/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/config", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Shared build configuration for typia packages", "devDependencies": { "@rollup/plugin-commonjs": "catalog:rollup", diff --git a/config/tsconfig.json b/config/tsconfig.json index 6c670e9193c..41fa3ea5431 100644 --- a/config/tsconfig.json +++ b/config/tsconfig.json @@ -29,14 +29,15 @@ // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ /* Modules */ - "module": "commonjs" /* Specify what module code is generated. */, + "module": "nodenext" /* Specify what module code is generated. */, + "moduleResolution": "nodenext", /* Specify how TypeScript looks up a file from a given module specifier. */ // "rootDir": "./", /* Specify the root folder within your source files. */ - "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "ignoreDeprecations": "6.0", // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + "types": ["*"], /* Specify type package names to be included without being referenced in a source file. */ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ @@ -65,7 +66,7 @@ // "outDir": "./lib" /* Specify an output folder for all emitted files. */, // "removeComments": true, /* Disable emitting comments. */ // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ diff --git a/examples/package.json b/examples/package.json index f53c46641cd..f27c60d2b41 100644 --- a/examples/package.json +++ b/examples/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/examples", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Example codes for typia website", "scripts": { "build": "rimraf bin && cross-env NODE_OPTIONS=\"--no-experimental-strip-types -r ts-node/register\" tsc && prettier --write bin/**/*.js", diff --git a/examples/tsconfig.json b/examples/tsconfig.json index 6bf11983e74..142cd7d8bc9 100644 --- a/examples/tsconfig.json +++ b/examples/tsconfig.json @@ -28,8 +28,8 @@ /* Modules */ "module": "esnext", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + "rootDir": "./src", /* Specify the root folder within your source files. */ + // "moduleResolution": "node16", /* Specify how TypeScript looks up a file from a given module specifier. */ // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ diff --git a/experiments/unplugin/tsconfig.json b/experiments/unplugin/tsconfig.json index 49814f8e1a7..74d1a1d34c6 100644 --- a/experiments/unplugin/tsconfig.json +++ b/experiments/unplugin/tsconfig.json @@ -4,8 +4,9 @@ "lib": ["esnext", "DOM"], "module": "NodeNext", "moduleResolution": "NodeNext", + "rootDir": "src", "resolveJsonModule": true, - "types": ["vitest/globals"], + "types": ["*", "vitest/globals"], "strict": true, "esModuleInterop": true, "skipLibCheck": true, diff --git a/package.json b/package.json index 4cae1838184..0590f781d65 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/station", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Typia Station", "scripts": { "build": "pnpm --filter=./packages/* -r build", diff --git a/packages/core/package.json b/packages/core/package.json index d74f98d79f6..e0cab9f1454 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@typia/core", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Superfast runtime validators with only one line", "main": "src/index.ts", "exports": { diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 1c1c19ddf6d..21b4f744847 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../config/tsconfig.json", "compilerOptions": { + "rootDir": "src", "outDir": "lib", }, "include": ["src"], diff --git a/packages/interface/package.json b/packages/interface/package.json index d2b60678c2a..61b6512496a 100644 --- a/packages/interface/package.json +++ b/packages/interface/package.json @@ -1,6 +1,6 @@ { "name": "@typia/interface", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Superfast runtime validators with only one line", "main": "src/index.ts", "exports": { diff --git a/packages/interface/tsconfig.json b/packages/interface/tsconfig.json index 1c1c19ddf6d..21b4f744847 100644 --- a/packages/interface/tsconfig.json +++ b/packages/interface/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../config/tsconfig.json", "compilerOptions": { + "rootDir": "src", "outDir": "lib", }, "include": ["src"], diff --git a/packages/langchain/package.json b/packages/langchain/package.json index f4b987c3253..1962712e41d 100644 --- a/packages/langchain/package.json +++ b/packages/langchain/package.json @@ -1,6 +1,6 @@ { "name": "@typia/langchain", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "LangChain.js integration for typia", "main": "src/index.ts", "exports": { diff --git a/packages/langchain/tsconfig.json b/packages/langchain/tsconfig.json index 084cc871d69..798b2a122e6 100644 --- a/packages/langchain/tsconfig.json +++ b/packages/langchain/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../config/tsconfig.json", "compilerOptions": { + "rootDir": "src", "outDir": "lib" }, "include": ["src"] diff --git a/packages/mcp/package.json b/packages/mcp/package.json index d28e8f6719d..7c80b6a1a33 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@typia/mcp", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "MCP (Model Context Protocol) integration for typia", "main": "src/index.ts", "exports": { diff --git a/packages/mcp/tsconfig.json b/packages/mcp/tsconfig.json index 1c1c19ddf6d..21b4f744847 100644 --- a/packages/mcp/tsconfig.json +++ b/packages/mcp/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../config/tsconfig.json", "compilerOptions": { + "rootDir": "src", "outDir": "lib", }, "include": ["src"], diff --git a/packages/transform/package.json b/packages/transform/package.json index 74ecf9910bd..45233abf6e9 100644 --- a/packages/transform/package.json +++ b/packages/transform/package.json @@ -1,6 +1,6 @@ { "name": "@typia/transform", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Superfast runtime validators with only one line", "main": "src/index.ts", "exports": { diff --git a/packages/transform/src/FileTransformer.ts b/packages/transform/src/FileTransformer.ts index 2a2425dbe03..4c88659c7a8 100644 --- a/packages/transform/src/FileTransformer.ts +++ b/packages/transform/src/FileTransformer.ts @@ -82,12 +82,14 @@ export namespace FileTransformer { if (!isTransformerError(exp)) throw exp; // REPORT DIAGNOSTIC - const diagnostic = ts.createDiagnosticForNode(props.node, { - key: exp.code, + const diagnostic: ts.Diagnostic = { + file: props.node.getSourceFile(), + start: props.node.getStart(), + length: props.node.getWidth(), + messageText: exp.message, category: ts.DiagnosticCategory.Error, - message: exp.message, code: `(${exp.code})` as any, - }); + }; props.context.extras.addDiagnostic(diagnostic); return null; } @@ -118,26 +120,24 @@ const isTransformerError = (error: any): error is TransformerError => const checkJsDocParsingMode = new Singleton( (context: ITypiaContext, file: ts.SourceFile) => { - if ( - typeof file.jsDocParsingMode === "number" && - file.jsDocParsingMode !== 0 - ) { - context.extras.addDiagnostic( - ts.createDiagnosticForNode(file, { - code: `(typia setup)` as any, - key: "jsDocParsingMode", - category: ts.DiagnosticCategory.Warning, - message: [ - `Run "npx typia setup" or "npx typia patch" command again.`, - ``, - `Since TypeScript v5.3 update, "tsc" no more parses JSDoc comments. Therefore, "typia" also cannot utilize those JSDoc comments too, and it damages on some features of "typia" like "comment tags" or "JSON schema" generator.`, - ``, - `To solve this problem, run "npx typia setup" or "npx typia patch" command to hack the TypeScript compiler to revive the JSDoc parsing feature.`, - ``, - ` - reference: https://github.com/microsoft/TypeScript/pull/55739`, - ].join("\n"), - }), - ); + const jsDocParsingMode = (file as any).jsDocParsingMode; + if (typeof jsDocParsingMode === "number" && jsDocParsingMode !== 0) { + context.extras.addDiagnostic({ + file, + start: 0, + length: 0, + messageText: [ + `Run "npx typia setup" or "npx typia patch" command again.`, + ``, + `Since TypeScript v5.3 update, "tsc" no more parses JSDoc comments. Therefore, "typia" also cannot utilize those JSDoc comments too, and it damages on some features of "typia" like "comment tags" or "JSON schema" generator.`, + ``, + `To solve this problem, run "npx typia setup" or "npx typia patch" command to hack the TypeScript compiler to revive the JSDoc parsing feature.`, + ``, + ` - reference: https://github.com/microsoft/TypeScript/pull/55739`, + ].join("\n"), + category: ts.DiagnosticCategory.Warning, + code: `(typia setup)` as any, + }); } }, ); diff --git a/packages/transform/tsconfig.json b/packages/transform/tsconfig.json index 1c1c19ddf6d..21b4f744847 100644 --- a/packages/transform/tsconfig.json +++ b/packages/transform/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../config/tsconfig.json", "compilerOptions": { + "rootDir": "src", "outDir": "lib", }, "include": ["src"], diff --git a/packages/typia/package.json b/packages/typia/package.json index 3b7d989f8b7..29f2b115c97 100644 --- a/packages/typia/package.json +++ b/packages/typia/package.json @@ -1,12 +1,13 @@ { "name": "typia", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Superfast runtime validators with only one line", "main": "src/index.ts", "exports": { ".": "./src/index.ts", "./lib/transform": "./src/transform.ts", "./lib/internal/*": "./src/internal/*.ts", + "./src/transform.ts": "./src/transform.ts", "./package.json": "./package.json" }, "bin": { @@ -45,7 +46,7 @@ "randexp": "^0.5.3" }, "peerDependencies": { - "typescript": ">=4.8.0 <5.10.0" + "typescript": ">=4.8.0 <7.0.0" }, "devDependencies": { "@rollup/plugin-commonjs": "catalog:rollup", diff --git a/packages/typia/tsconfig.json b/packages/typia/tsconfig.json index 1c1c19ddf6d..21b4f744847 100644 --- a/packages/typia/tsconfig.json +++ b/packages/typia/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../config/tsconfig.json", "compilerOptions": { + "rootDir": "src", "outDir": "lib", }, "include": ["src"], diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json index 412286062bd..9863b545764 100644 --- a/packages/unplugin/package.json +++ b/packages/unplugin/package.json @@ -1,7 +1,7 @@ { "name": "@typia/unplugin", "type": "module", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "unplugin for typia", "author": "ryoppippi", "license": "MIT", diff --git a/packages/utils/package.json b/packages/utils/package.json index 888dc3109d6..41ac02672ff 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typia/utils", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Superfast runtime validators with only one line", "main": "src/index.ts", "exports": { diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 1c1c19ddf6d..21b4f744847 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../config/tsconfig.json", "compilerOptions": { + "rootDir": "src", "outDir": "lib", }, "include": ["src"], diff --git a/packages/vercel/package.json b/packages/vercel/package.json index dc2d01d014f..065a404a037 100644 --- a/packages/vercel/package.json +++ b/packages/vercel/package.json @@ -1,6 +1,6 @@ { "name": "@typia/vercel", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Vercel AI SDK integration for typia", "main": "src/index.ts", "exports": { diff --git a/packages/vercel/tsconfig.json b/packages/vercel/tsconfig.json index 1c1c19ddf6d..21b4f744847 100644 --- a/packages/vercel/tsconfig.json +++ b/packages/vercel/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../config/tsconfig.json", "compilerOptions": { + "rootDir": "src", "outDir": "lib", }, "include": ["src"], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0c3c824760b..0554a7c928c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,11 +32,11 @@ catalogs: specifier: ^10.9.2 version: 10.9.2 ts-patch: - specifier: ^3.3.0 - version: 3.3.0 + specifier: ^4.0.1 + version: 4.0.1 typescript: - specifier: ~5.9.3 - version: 5.9.3 + specifier: ~6.0.3 + version: 6.0.3 utils: '@nestia/e2e': specifier: ^10.0.2 @@ -81,10 +81,10 @@ importers: version: 1.8.0(prettier@3.8.1) ts-patch: specifier: catalog:typescript - version: 3.3.0 + version: 4.0.1 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 benchmark: dependencies: @@ -205,13 +205,13 @@ importers: version: 0.10.3 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) ts-patch: specifier: catalog:typescript - version: 3.3.0 + version: 4.0.1 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 zod: specifier: ^3.19.1 version: 3.25.76 @@ -226,7 +226,7 @@ importers: version: 16.0.3(rollup@4.59.0) '@rollup/plugin-typescript': specifier: catalog:rollup - version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@5.9.3) + version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@6.0.3) rollup: specifier: catalog:rollup version: 4.59.0 @@ -241,7 +241,7 @@ importers: version: 0.2.15 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 examples: dependencies: @@ -272,10 +272,10 @@ importers: version: 6.1.3 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 packages/core: dependencies: @@ -294,7 +294,7 @@ importers: version: 16.0.3(rollup@4.59.0) '@rollup/plugin-typescript': specifier: catalog:rollup - version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@5.9.3) + version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@6.0.3) '@types/node': specifier: catalog:utils version: 25.3.1 @@ -318,7 +318,7 @@ importers: version: 0.2.15 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 packages/interface: devDependencies: @@ -327,7 +327,7 @@ importers: version: 6.1.3 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 packages/langchain: dependencies: @@ -349,7 +349,7 @@ importers: version: 16.0.3(rollup@4.59.0) '@rollup/plugin-typescript': specifier: catalog:rollup - version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@5.9.3) + version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@6.0.3) rimraf: specifier: catalog:utils version: 6.1.3 @@ -367,7 +367,7 @@ importers: version: 0.2.15 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 packages/mcp: dependencies: @@ -392,7 +392,7 @@ importers: version: 16.0.3(rollup@4.59.0) '@rollup/plugin-typescript': specifier: catalog:rollup - version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@5.9.3) + version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@6.0.3) rimraf: specifier: catalog:utils version: 6.1.3 @@ -410,7 +410,7 @@ importers: version: 0.2.15 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 zod: specifier: ^3.25.0 version: 3.25.76 @@ -435,7 +435,7 @@ importers: version: 16.0.3(rollup@4.59.0) '@rollup/plugin-typescript': specifier: catalog:rollup - version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@5.9.3) + version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@6.0.3) '@types/node': specifier: catalog:utils version: 25.3.1 @@ -459,7 +459,7 @@ importers: version: 0.2.15 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 packages/typia: dependencies: @@ -502,7 +502,7 @@ importers: version: 16.0.3(rollup@4.59.0) '@rollup/plugin-typescript': specifier: catalog:rollup - version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@5.9.3) + version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@6.0.3) '@types/inquirer': specifier: ^8.2.5 version: 8.2.12 @@ -514,16 +514,16 @@ importers: version: ts-expose-internals@5.6.3 '@typescript-eslint/eslint-plugin': specifier: ^8.1.0 - version: 8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3))(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3) '@typescript-eslint/parser': specifier: ^8.1.0 - version: 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3) chalk: specifier: ^4.0.0 version: 4.1.2 eslint-plugin-deprecation: specifier: ^3.0.0 - version: 3.0.0(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) + version: 3.0.0(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3) rimraf: specifier: catalog:utils version: 6.1.3 @@ -544,10 +544,10 @@ importers: version: 0.2.15 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 packages/unplugin: dependencies: @@ -614,10 +614,10 @@ importers: version: 0.3.18 tsdown: specifier: ^0.12.7 - version: 0.12.9(publint@0.3.18)(typescript@5.9.3)(unplugin-unused@0.5.7) + version: 0.12.9(publint@0.3.18)(typescript@6.0.3)(unplugin-unused@0.5.7) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 typia: specifier: workspace:^ version: link:../typia @@ -642,7 +642,7 @@ importers: version: 16.0.3(rollup@4.59.0) '@rollup/plugin-typescript': specifier: catalog:rollup - version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@5.9.3) + version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@6.0.3) rimraf: specifier: catalog:utils version: 6.1.3 @@ -660,7 +660,7 @@ importers: version: 0.2.15 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 packages/vercel: dependencies: @@ -679,7 +679,7 @@ importers: version: 16.0.3(rollup@4.59.0) '@rollup/plugin-typescript': specifier: catalog:rollup - version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@5.9.3) + version: 12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@6.0.3) '@types/json-schema': specifier: ^7.0.15 version: 7.0.15 @@ -703,7 +703,7 @@ importers: version: 0.2.15 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/debug: dependencies: @@ -743,10 +743,10 @@ importers: version: 6.1.3 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/template: dependencies: @@ -780,10 +780,10 @@ importers: version: 11.0.0 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/test-error: dependencies: @@ -799,10 +799,10 @@ importers: version: 6.1.3 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/test-langchain: dependencies: @@ -848,10 +848,10 @@ importers: version: ts-expose-internals@5.6.3 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/test-mcp: dependencies: @@ -888,10 +888,10 @@ importers: version: ts-expose-internals@5.6.3 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/test-typia-automated: dependencies: @@ -937,10 +937,10 @@ importers: version: 11.0.0 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/test-typia-generate: dependencies: @@ -953,10 +953,10 @@ importers: version: 7.0.3 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/test-typia-schema: dependencies: @@ -999,10 +999,10 @@ importers: version: 11.0.0 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/test-unplugin: dependencies: @@ -1030,7 +1030,7 @@ importers: version: 4.59.0 typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 unplugin: specifier: ^2.2.2 version: 2.3.11 @@ -1079,10 +1079,10 @@ importers: version: 11.0.0 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/test-utils-automated: dependencies: @@ -1119,10 +1119,10 @@ importers: version: 11.0.0 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 tests/test-vercel: dependencies: @@ -1165,10 +1165,10 @@ importers: version: ts-expose-internals@5.6.3 ts-node: specifier: catalog:typescript - version: 10.9.2(@types/node@25.3.1)(typescript@5.9.3) + version: 10.9.2(@types/node@25.3.1)(typescript@6.0.3) typescript: specifier: catalog:typescript - version: 5.9.3 + version: 6.0.3 packages: @@ -4982,6 +4982,11 @@ packages: engines: {node: '>= 0.4'} hasBin: true + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} + hasBin: true + restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -5408,8 +5413,9 @@ packages: '@swc/wasm': optional: true - ts-patch@3.3.0: - resolution: {integrity: sha512-zAOzDnd5qsfEnjd9IGy1IRuvA7ygyyxxdxesbhMdutt8AHFjD8Vw8hU2rMF89HX1BKRWFYqKHrO8Q6lw0NeUZg==} + ts-patch@4.0.1: + resolution: {integrity: sha512-pzXS6vZlsBwq3U+CUiPJfCAh0MJGco1j1C8bWsLgvtzDZLGZ7II1Usjtwm09mZ8Uoma+sg6sO3BlWHd6apCUww==} + engines: {node: '>=22.15.0'} hasBin: true tsdown@0.12.9: @@ -5460,8 +5466,8 @@ packages: resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} engines: {node: '>= 0.6'} - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} hasBin: true @@ -7025,11 +7031,11 @@ snapshots: optionalDependencies: rollup: 4.59.0 - '@rollup/plugin-typescript@12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@5.9.3)': + '@rollup/plugin-typescript@12.3.0(rollup@4.59.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.59.0) resolve: 1.22.11 - typescript: 5.9.3 + typescript: 6.0.3 optionalDependencies: rollup: 4.59.0 tslib: 2.8.1 @@ -7752,40 +7758,40 @@ snapshots: dependencies: '@types/node': 20.19.34 - '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3))(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3) '@typescript-eslint/scope-manager': 8.56.1 - '@typescript-eslint/type-utils': 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/utils': 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3) '@typescript-eslint/visitor-keys': 8.56.1 eslint: 9.23.0(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.4.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.4.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3)': dependencies: '@typescript-eslint/scope-manager': 8.56.1 '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.3) '@typescript-eslint/visitor-keys': 8.56.1 debug: 4.4.3 eslint: 9.23.0(jiti@2.6.1) - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.56.1(typescript@5.9.3)': + '@typescript-eslint/project-service@8.56.1(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@6.0.3) '@typescript-eslint/types': 8.56.1 debug: 4.4.3 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -7799,19 +7805,19 @@ snapshots: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 - '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@6.0.3)': dependencies: - typescript: 5.9.3 + typescript: 6.0.3 - '@typescript-eslint/type-utils@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3)': dependencies: '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3) debug: 4.4.3 eslint: 9.23.0(jiti@2.6.1) - ts-api-utils: 2.4.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.4.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -7819,7 +7825,7 @@ snapshots: '@typescript-eslint/types@8.56.1': {} - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@7.18.0(typescript@6.0.3)': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 @@ -7828,46 +7834,46 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.8 semver: 7.7.4 - ts-api-utils: 1.4.3(typescript@5.9.3) + ts-api-utils: 1.4.3(typescript@6.0.3) optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.56.1(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.56.1(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/project-service': 8.56.1(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@6.0.3) '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 debug: 4.4.3 minimatch: 10.2.4 semver: 7.7.4 tinyglobby: 0.2.15 - ts-api-utils: 2.4.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.4.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@7.18.0(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.23.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@6.0.3) eslint: 9.23.0(jiti@2.6.1) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.1(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.23.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.56.1 '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.3) eslint: 9.23.0(jiti@2.6.1) - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -8780,13 +8786,13 @@ snapshots: escape-string-regexp@5.0.0: optional: true - eslint-plugin-deprecation@3.0.0(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-deprecation@3.0.0(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3): dependencies: - '@typescript-eslint/utils': 7.18.0(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.23.0(jiti@2.6.1))(typescript@6.0.3) eslint: 9.23.0(jiti@2.6.1) - ts-api-utils: 1.4.3(typescript@5.9.3) + ts-api-utils: 1.4.3(typescript@6.0.3) tslib: 2.8.1 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -10198,6 +10204,13 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + resolve@1.22.12: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -10222,7 +10235,7 @@ snapshots: glob: 13.0.6 package-json-from-dist: 1.0.1 - rolldown-plugin-dts@0.13.14(rolldown@1.0.0-rc.7)(typescript@5.9.3): + rolldown-plugin-dts@0.13.14(rolldown@1.0.0-rc.7)(typescript@6.0.3): dependencies: '@babel/generator': 7.29.1 '@babel/parser': 7.29.0 @@ -10234,7 +10247,7 @@ snapshots: get-tsconfig: 4.13.6 rolldown: 1.0.0-rc.7 optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - oxc-resolver - supports-color @@ -10689,17 +10702,17 @@ snapshots: dependencies: punycode: 2.3.1 - ts-api-utils@1.4.3(typescript@5.9.3): + ts-api-utils@1.4.3(typescript@6.0.3): dependencies: - typescript: 5.9.3 + typescript: 6.0.3 - ts-api-utils@2.4.0(typescript@5.9.3): + ts-api-utils@2.4.0(typescript@6.0.3): dependencies: - typescript: 5.9.3 + typescript: 6.0.3 ts-expose-internals@5.6.3: {} - ts-node@10.9.2(@types/node@25.3.1)(typescript@5.9.3): + ts-node@10.9.2(@types/node@25.3.1)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 @@ -10713,20 +10726,20 @@ snapshots: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 5.9.3 + typescript: 6.0.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-patch@3.3.0: + ts-patch@4.0.1: dependencies: chalk: 4.1.2 global-prefix: 4.0.0 minimist: 1.2.8 - resolve: 1.22.11 + resolve: 1.22.12 semver: 7.7.4 strip-ansi: 6.0.1 - tsdown@0.12.9(publint@0.3.18)(typescript@5.9.3)(unplugin-unused@0.5.7): + tsdown@0.12.9(publint@0.3.18)(typescript@6.0.3)(unplugin-unused@0.5.7): dependencies: ansis: 4.2.0 cac: 6.7.14 @@ -10736,14 +10749,14 @@ snapshots: empathic: 2.0.0 hookable: 5.5.3 rolldown: 1.0.0-rc.7 - rolldown-plugin-dts: 0.13.14(rolldown@1.0.0-rc.7)(typescript@5.9.3) + rolldown-plugin-dts: 0.13.14(rolldown@1.0.0-rc.7)(typescript@6.0.3) semver: 7.7.4 tinyexec: 1.0.2 tinyglobby: 0.2.15 unconfig: 7.5.0 optionalDependencies: publint: 0.3.18 - typescript: 5.9.3 + typescript: 6.0.3 unplugin-unused: 0.5.7 transitivePeerDependencies: - '@typescript/native-preview' @@ -10774,7 +10787,7 @@ snapshots: media-typer: 1.1.0 mime-types: 3.0.2 - typescript@5.9.3: {} + typescript@6.0.3: {} unconfig-core@7.5.0: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 7bd408b5286..a0476dc6d04 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -8,8 +8,8 @@ catalogs: typescript: '@types/ts-expose-internals': npm:ts-expose-internals@5.6.3 ts-node: ^10.9.2 - ts-patch: ^3.3.0 - typescript: ~5.9.3 + ts-patch: ^4.0.1 + typescript: ~6.0.3 rollup: rollup: ^4.56.0 rollup-plugin-auto-external: ^2.0.0 diff --git a/tests/config/tsconfig.json b/tests/config/tsconfig.json index 75ad4a1871f..80e6e22b9ab 100644 --- a/tests/config/tsconfig.json +++ b/tests/config/tsconfig.json @@ -27,16 +27,17 @@ // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + "module": "nodenext", /* Specify what module code is generated. */ + "moduleResolution": "nodenext", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "ignoreDeprecations": "6.0", + "rootDir": "../..", // "baseUrl": "./", - "paths": { - "typia/lib/internal/*": ["../../packages/typia/src/internal/*"] - }, + // "paths": { + // "typia/lib/internal/*": ["../../packages/typia/src/internal/*"], + // }, // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + "types": ["*"], /* Specify type package names to be included without being referenced in a source file. */ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ // "resolveJsonModule": true, /* Enable importing .json files */ // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ @@ -56,7 +57,7 @@ "noEmit": true, /* Disable emitting files from a compilation. */ // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ - "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ diff --git a/tests/debug/package.json b/tests/debug/package.json index bf4e5e70480..956785e2751 100644 --- a/tests/debug/package.json +++ b/tests/debug/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/debug", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Convenient debug program for typia", "scripts": { "start": "ts-node src/index.ts" diff --git a/tests/template/package.json b/tests/template/package.json index f3fc5965961..4b557d1710f 100644 --- a/tests/template/package.json +++ b/tests/template/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/template", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Template structures for typia testing.", "main": "src/index.ts", "repository": { diff --git a/tests/test-error/package.json b/tests/test-error/package.json index 626827e6ad3..3c9990c7f5d 100644 --- a/tests/test-error/package.json +++ b/tests/test-error/package.json @@ -1,11 +1,12 @@ { "private": true, "name": "@typia/test-error", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Test program of typia generated error", "main": "index.js", "scripts": { - "build": "rimraf bin && cross-env NODE_OPTIONS=\"--no-experimental-strip-types -r ts-node/register\" tsc", + "build": "rimraf bin && pnpm run tsc", + "tsc": "cross-env NODE_OPTIONS=\"--no-experimental-strip-types -r ts-node/register\" tsc", "start": "node index.js" }, "repository": { @@ -32,4 +33,4 @@ "dependencies": { "typia": "workspace:^" } -} \ No newline at end of file +} diff --git a/tests/test-error/tsconfig.json b/tests/test-error/tsconfig.json index f72085c312d..13d37eacd90 100644 --- a/tests/test-error/tsconfig.json +++ b/tests/test-error/tsconfig.json @@ -1,13 +1,16 @@ { "extends": "../config/tsconfig.json", "compilerOptions": { - "noEmit": false, "outDir": "bin", + "rootDir": "src", + "noEmit": false, }, "ts-node": { "transpileOnly": true, + "ignoreDiagnostics": [5110], "compilerOptions": { "module": "commonjs", + "moduleResolution": "nodenext", "plugins": [] } }, diff --git a/tests/test-langchain/package.json b/tests/test-langchain/package.json index 16bd9b84dec..401e007e763 100644 --- a/tests/test-langchain/package.json +++ b/tests/test-langchain/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/test-langchain", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Test suite for @typia/langchain package", "scripts": { "start": "ts-node src/index.ts", diff --git a/tests/test-langchain/tsconfig.json b/tests/test-langchain/tsconfig.json index be2fc1fc57f..e84954bc19b 100644 --- a/tests/test-langchain/tsconfig.json +++ b/tests/test-langchain/tsconfig.json @@ -1,4 +1,7 @@ { "extends": "../config/tsconfig.json", - "include": ["src"] + "include": ["src"], + "compilerOptions": { + "rootDir": "src", + }, } diff --git a/tests/test-mcp/package.json b/tests/test-mcp/package.json index ad45f9dfbf4..223f2ccde25 100644 --- a/tests/test-mcp/package.json +++ b/tests/test-mcp/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/test-mcp", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Test suite for @typia/mcp package", "scripts": { "start": "ts-node src/index.ts" diff --git a/tests/test-mcp/tsconfig.json b/tests/test-mcp/tsconfig.json index 24f734440e5..7dcfe7d6289 100644 --- a/tests/test-mcp/tsconfig.json +++ b/tests/test-mcp/tsconfig.json @@ -1,4 +1,7 @@ { "extends": "../config/tsconfig.json", - "include": ["src"] + "include": ["src"], + "compilerOptions": { + "rootDir": "src", + }, } \ No newline at end of file diff --git a/tests/test-typia-automated/package.json b/tests/test-typia-automated/package.json index a82ab3b4974..4c93caacfa5 100644 --- a/tests/test-typia-automated/package.json +++ b/tests/test-typia-automated/package.json @@ -1,10 +1,10 @@ { "private": true, "name": "@typia/test-typia-automated", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Automated test features of typia.", "scripts": { - "start": "ts-node src/index.ts" + "start": "NODE_OPTIONS=\"--no-experimental-strip-types -r ./register.cjs\" node src/index.ts" }, "repository": { "type": "git", diff --git a/tests/test-typia-automated/register.cjs b/tests/test-typia-automated/register.cjs new file mode 100644 index 00000000000..5094e1e3b5f --- /dev/null +++ b/tests/test-typia-automated/register.cjs @@ -0,0 +1,108 @@ +const fs = require("fs"); +const path = require("path"); +const ts = require("typescript"); + +const configPath = path.join(__dirname, "tsconfig.json"); +const parsed = ts.parseJsonConfigFileContent( + ts.readConfigFile(configPath, ts.sys.readFile).config, + ts.sys, + __dirname, +); + +const repoRoot = path.resolve(__dirname, "../.."); +const pkgEntries = (() => { + const entries = {}; + for (const name of fs.readdirSync(path.join(repoRoot, "packages"))) { + const dir = path.join(repoRoot, "packages", name); + const pkg = JSON.parse( + fs.readFileSync(path.join(dir, "package.json"), "utf8"), + ); + entries[pkg.name] = [path.join(dir, "src/index.ts")]; + entries[`${pkg.name}/*`] = [path.join(dir, "src/*")]; + if (pkg.exports) { + for (const [key, val] of Object.entries(pkg.exports)) { + if (typeof val !== "string" || key === "./package.json") continue; + const k = key === "." ? pkg.name : `${pkg.name}/${key.slice(2)}`; + entries[k] = [path.resolve(dir, val)]; + } + } + } + for (const name of ["template", "utils"]) { + const dir = path.join(repoRoot, "tests", name); + entries[`@typia/${name}`] = [path.join(dir, "src/index.ts")]; + entries[`@typia/${name}/*`] = [path.join(dir, "src/*")]; + } + return entries; +})(); + +const compilerOptions = { + ...parsed.options, + module: ts.ModuleKind.CommonJS, + moduleResolution: ts.ModuleResolutionKind.Node10, + sourceMap: false, + declaration: false, + declarationMap: false, + inlineSourceMap: false, + noEmit: false, + skipLibCheck: true, + rootDir: undefined, + outDir: undefined, + baseUrl: __dirname, + paths: { ...(parsed.options.paths || {}), ...pkgEntries }, +}; + +const sourceCache = new Map(); +const baseHost = ts.createCompilerHost(compilerOptions); +const origGetSourceFile = baseHost.getSourceFile.bind(baseHost); +baseHost.getSourceFile = (fname, ...args) => { + const cached = sourceCache.get(fname); + if (cached) return cached; + const sf = origGetSourceFile(fname, ...args); + if (sf) sourceCache.set(fname, sf); + return sf; +}; + +const entryFile = path.resolve(__dirname, "src/index.ts"); +const servantFile = path.resolve(__dirname, "src/servant/index.ts"); +const rootSet = new Set([entryFile, servantFile]); +let program = ts.createProgram([...rootSet], compilerOptions, baseHost); + +const transpileFallback = (m, filename) => { + const source = fs.readFileSync(filename, "utf8"); + const { outputText } = ts.transpileModule(source, { + fileName: filename, + compilerOptions, + }); + m._compile(outputText, filename); +}; + +const compile = (m, filename) => { + let sourceFile = program.getSourceFile(filename); + if (!sourceFile) { + rootSet.add(filename); + program = ts.createProgram( + [...rootSet], + compilerOptions, + baseHost, + program, + ); + sourceFile = program.getSourceFile(filename); + if (!sourceFile) return transpileFallback(m, filename); + } + + if (program.isSourceFileFromExternalLibrary(sourceFile)) + return transpileFallback(m, filename); + + let outputText; + const writeFile = (fname, data) => { + if (/\.[cm]?js$/.test(fname)) outputText = data; + }; + program.emit(sourceFile, writeFile); + if (outputText === undefined) + return transpileFallback(m, filename); + + m._compile(outputText, filename); +}; + +require.extensions[".ts"] = compile; +require.extensions[".tsx"] = compile; diff --git a/tests/test-typia-automated/tsconfig.json b/tests/test-typia-automated/tsconfig.json index b617feb7bc5..715a00b3d8c 100644 --- a/tests/test-typia-automated/tsconfig.json +++ b/tests/test-typia-automated/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../config/tsconfig.json", "compilerOptions": { + "rootDir": "src", "plugins": [ { "transform": "typia/lib/transform", diff --git a/tests/test-typia-generate/package.json b/tests/test-typia-generate/package.json index e08da7be99c..eb15e5618c2 100644 --- a/tests/test-typia-generate/package.json +++ b/tests/test-typia-generate/package.json @@ -1,10 +1,10 @@ { "private": true, "name": "@typia/test-typia-generate", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Test typia generation command", "scripts": { - "build": "cross-env NODE_OPTIONS=\"--no-experimental-strip-types -r ts-node/register\" tsc", + "build": "cross-env NODE_OPTIONS=\"--no-experimental-strip-types -r ./register.cjs\" tsc", "generate": "node -r ./register.cjs node_modules/typia/src/executable/typia.ts generate --input src/input --output src/output", "start": "pnpm run generate && pnpm run build" }, diff --git a/tests/test-typia-generate/register.cjs b/tests/test-typia-generate/register.cjs index b54022c9fef..87cee1e1eb0 100644 --- a/tests/test-typia-generate/register.cjs +++ b/tests/test-typia-generate/register.cjs @@ -1,28 +1,112 @@ -const Module = require("module"); +const fs = require("fs"); +const path = require("path"); const ts = require("typescript"); -// Workaround: ts-node v10.9.2 + TypeScript 5.9 source map assertion bug -// ts-node's transpileModule expects a single source map output, but TS 5.9 -// emits multiple for files containing namespaces. -const originalAssertEqual = ts.Debug.assertEqual; -ts.Debug.assertEqual = function (a, b, msg) { - if (typeof msg === "string" && msg.includes("Unexpected multiple")) { - return; +const repoRoot = path.resolve(__dirname, "../.."); +const pkgEntries = (() => { + const entries = {}; + for (const name of fs.readdirSync(path.join(repoRoot, "packages"))) { + const dir = path.join(repoRoot, "packages", name); + const pkg = JSON.parse( + fs.readFileSync(path.join(dir, "package.json"), "utf8"), + ); + entries[pkg.name] = [path.join(dir, "src/index.ts")]; + entries[`${pkg.name}/*`] = [path.join(dir, "src/*")]; + if (pkg.exports) { + for (const [key, val] of Object.entries(pkg.exports)) { + if (typeof val !== "string" || key === "./package.json") continue; + const k = key === "." ? pkg.name : `${pkg.name}/${key.slice(2)}`; + entries[k] = [path.resolve(dir, val)]; + } + } + } + for (const name of ["template", "utils"]) { + const dir = path.join(repoRoot, "tests", name); + if (!fs.existsSync(path.join(dir, "src/index.ts"))) continue; + entries[`@typia/${name}`] = [path.join(dir, "src/index.ts")]; + entries[`@typia/${name}/*`] = [path.join(dir, "src/*")]; + } + return entries; +})(); + +const compilerOptions = { + target: ts.ScriptTarget.ESNext, + module: ts.ModuleKind.CommonJS, + moduleResolution: ts.ModuleResolutionKind.Node10, + esModuleInterop: true, + experimentalDecorators: true, + emitDecoratorMetadata: true, + skipLibCheck: true, + strict: true, + sourceMap: false, + declaration: false, + declarationMap: false, + inlineSourceMap: false, + noEmit: false, + baseUrl: __dirname, + paths: pkgEntries, +}; + +const sourceCache = new Map(); +const baseHost = ts.createCompilerHost(compilerOptions); +const origGetSourceFile = baseHost.getSourceFile.bind(baseHost); +baseHost.getSourceFile = (fname, ...args) => { + const cached = sourceCache.get(fname); + if (cached) return cached; + const sf = origGetSourceFile(fname, ...args); + if (sf) sourceCache.set(fname, sf); + return sf; +}; + +const rootSet = new Set(); +let program = ts.createProgram([], compilerOptions, baseHost); + +const transpileFallback = (m, filename) => { + const source = fs.readFileSync(filename, "utf8"); + const { outputText } = ts.transpileModule(source, { + fileName: filename, + compilerOptions, + }); + m._compile(outputText, filename); +}; + +const compile = (m, filename) => { + let sourceFile = program.getSourceFile(filename); + if (!sourceFile) { + rootSet.add(filename); + program = ts.createProgram( + [...rootSet], + compilerOptions, + baseHost, + program, + ); + sourceFile = program.getSourceFile(filename); + if (!sourceFile) return transpileFallback(m, filename); } - return originalAssertEqual.apply(this, arguments); + + if (program.isSourceFileFromExternalLibrary(sourceFile)) + return transpileFallback(m, filename); + + let outputText; + const writeFile = (fname, data) => { + if (/\.[cm]?js$/.test(fname)) outputText = data; + }; + program.emit(sourceFile, writeFile); + if (outputText === undefined) return transpileFallback(m, filename); + + m._compile(outputText, filename); }; -require("ts-node").register({ - transpileOnly: true, -}); +require.extensions[".ts"] = compile; +require.extensions[".tsx"] = compile; -// Remap .js imports to .ts for workspace source resolution +const Module = require("module"); const originalResolveFilename = Module._resolveFilename; Module._resolveFilename = function (request, parent) { try { return originalResolveFilename.apply(this, arguments); } catch (e) { - if (request.endsWith(".js")) { + if (typeof request === "string" && request.endsWith(".js")) { const args = Array.from(arguments); args[0] = request.replace(/\.js$/, ".ts"); return originalResolveFilename.apply(this, args); diff --git a/tests/test-typia-generate/tsconfig.json b/tests/test-typia-generate/tsconfig.json index fd2d1dc6ffc..a4d973b7b0b 100644 --- a/tests/test-typia-generate/tsconfig.json +++ b/tests/test-typia-generate/tsconfig.json @@ -1,15 +1,9 @@ { "extends": "../config/tsconfig.json", + "include": ["src"], "compilerOptions": { + "rootDir": "src", "noUnusedLocals": false, "noUnusedParameters": false, }, - "include": ["src"], - "ts-node": { - "transpileOnly": true, - "compilerOptions": { - "module": "commonjs", - "plugins": [] - } - }, } diff --git a/tests/test-typia-schema/package.json b/tests/test-typia-schema/package.json index 5439436512b..6213c73c448 100644 --- a/tests/test-typia-schema/package.json +++ b/tests/test-typia-schema/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/test-typia-schema", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Test features for JSON schema, LLM schema and protobuf message of typia.", "scripts": { "dev": "tsc --watch", diff --git a/tests/test-typia-schema/tsconfig.json b/tests/test-typia-schema/tsconfig.json index be2fc1fc57f..e84954bc19b 100644 --- a/tests/test-typia-schema/tsconfig.json +++ b/tests/test-typia-schema/tsconfig.json @@ -1,4 +1,7 @@ { "extends": "../config/tsconfig.json", - "include": ["src"] + "include": ["src"], + "compilerOptions": { + "rootDir": "src", + }, } diff --git a/tests/test-unplugin/package.json b/tests/test-unplugin/package.json index 8743721c8e5..78a4ca59737 100644 --- a/tests/test-unplugin/package.json +++ b/tests/test-unplugin/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/test-unplugin", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "type": "module", "description": "Test for @typia/unplugin package", "repository": { diff --git a/tests/test-unplugin/tsconfig.json b/tests/test-unplugin/tsconfig.json index f7bc2bfa812..e09f637d75c 100644 --- a/tests/test-unplugin/tsconfig.json +++ b/tests/test-unplugin/tsconfig.json @@ -5,10 +5,10 @@ "module": "NodeNext", "moduleResolution": "NodeNext", "resolveJsonModule": true, - "types": ["vitest/importMeta", "vitest/globals"], + "types": ["*", "vitest/importMeta", "vitest/globals"], "strict": true, "esModuleInterop": true, - "skipLibCheck": true + "skipLibCheck": true, }, "include": ["tests"], "exclude": ["tests/fixtures"] diff --git a/tests/test-utils-automated/package.json b/tests/test-utils-automated/package.json index fa72f4590c4..b9331206cef 100644 --- a/tests/test-utils-automated/package.json +++ b/tests/test-utils-automated/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/test-openapiautomated", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Automated test features of openapi.", "scripts": { "start": "node -r ts-node/register src/index.ts" diff --git a/tests/test-utils-automated/tsconfig.json b/tests/test-utils-automated/tsconfig.json index 0678e0e8f3e..7dcfe7d6289 100644 --- a/tests/test-utils-automated/tsconfig.json +++ b/tests/test-utils-automated/tsconfig.json @@ -1,4 +1,7 @@ { "extends": "../config/tsconfig.json", "include": ["src"], + "compilerOptions": { + "rootDir": "src", + }, } \ No newline at end of file diff --git a/tests/test-utils/package.json b/tests/test-utils/package.json index 85ecea419a4..ece63c35b3b 100644 --- a/tests/test-utils/package.json +++ b/tests/test-utils/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/test-utils", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Automated test features of typia.", "scripts": { "dev": "tsc --watch", diff --git a/tests/test-utils/tsconfig.json b/tests/test-utils/tsconfig.json index 0678e0e8f3e..7dcfe7d6289 100644 --- a/tests/test-utils/tsconfig.json +++ b/tests/test-utils/tsconfig.json @@ -1,4 +1,7 @@ { "extends": "../config/tsconfig.json", "include": ["src"], + "compilerOptions": { + "rootDir": "src", + }, } \ No newline at end of file diff --git a/tests/test-vercel/package.json b/tests/test-vercel/package.json index bfe34778800..593ef5a5065 100644 --- a/tests/test-vercel/package.json +++ b/tests/test-vercel/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@typia/test-vercel", - "version": "12.0.2", + "version": "12.1.0-dev.20260325", "description": "Test suite for @typia/vercel package", "scripts": { "start": "ts-node src/index.ts", diff --git a/tests/test-vercel/tsconfig.json b/tests/test-vercel/tsconfig.json index be2fc1fc57f..e84954bc19b 100644 --- a/tests/test-vercel/tsconfig.json +++ b/tests/test-vercel/tsconfig.json @@ -1,4 +1,7 @@ { "extends": "../config/tsconfig.json", - "include": ["src"] + "include": ["src"], + "compilerOptions": { + "rootDir": "src", + }, } diff --git a/website/package.json b/website/package.json index 722e5243287..5dc43277949 100644 --- a/website/package.json +++ b/website/package.json @@ -14,7 +14,8 @@ "build:tgz": "node build/tgz", "build:typedoc": "node build/typedoc", "deploy": "node build/deploy", - "dev": "npm run build:compiler && next dev" + "dev": "npm run build:compiler && next dev", + "postinstall": "patch-package" }, "repository": { "type": "git", @@ -60,12 +61,13 @@ "gh-pages": "^5.0.0", "next-sitemap": "^4.2.3", "pagefind": "^1.3.0", + "patch-package": "^8.0.1", "process": "^0.11.10", "rimraf": "^5.0.0", "ts-loader": "^9.5.1", "ts-node": "^10.9.1", - "typedoc": "^0.28.9", - "typescript": "~5.9.2", + "typedoc": "^0.28.18", + "typescript": "~6.0.2", "write-file-webpack-plugin": "^4.5.1" } } diff --git a/website/src/compiler/COMPILER_OPTIONS.ts b/website/src/compiler/COMPILER_OPTIONS.ts index 425709350c9..c53c00c36ad 100644 --- a/website/src/compiler/COMPILER_OPTIONS.ts +++ b/website/src/compiler/COMPILER_OPTIONS.ts @@ -5,7 +5,6 @@ export const COMPILER_OPTIONS: ts.CompilerOptions = { module: ts.ModuleKind.ESNext, // lib: ["DOM", "ES2015"], esModuleInterop: true, - downlevelIteration: true, forceConsistentCasingInFileNames: true, moduleResolution: ts.ModuleResolutionKind.Bundler, strict: true, diff --git a/website/src/compiler/index.ts b/website/src/compiler/index.ts index 3ad6384c2ff..a4e08ec86b5 100644 --- a/website/src/compiler/index.ts +++ b/website/src/compiler/index.ts @@ -94,14 +94,17 @@ const main = async (): Promise => { props: ICompilerService.IProps, ): Promise => { const result: ICompilerService.IResult = await provider.compile(props); - if (result.type !== "success") return result; + if (result.type === "error") return result; try { const value: string = await RollupBundler.build(result.value); return { - type: "success", + type: result.type, target: "javascript", value, - }; + ...(result.type === "failure" + ? { diagnostics: result.diagnostics } + : {}), + } as ICompilerService.IResult; } catch (error) { return { type: "error", diff --git a/website/tsconfig.json b/website/tsconfig.json index c7b0617d008..f56d176b1fd 100644 --- a/website/tsconfig.json +++ b/website/tsconfig.json @@ -1,6 +1,7 @@ { "compilerOptions": { - "target": "es5", + "ignoreDeprecations": "6.0", + "target": "es2015", "lib": [ "dom", "dom.iterable", @@ -10,6 +11,7 @@ "skipLibCheck": true, "strict": true, "forceConsistentCasingInFileNames": true, + // "downlevelIteration": true, "noEmit": true, "incremental": true, "esModuleInterop": true, @@ -18,7 +20,6 @@ "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve", - "downlevelIteration": true, "plugins": [ { "name": "next" diff --git a/website/tsconfig.rspack.json b/website/tsconfig.rspack.json index 261b7aa66e9..a690382e096 100644 --- a/website/tsconfig.rspack.json +++ b/website/tsconfig.rspack.json @@ -19,6 +19,7 @@ "isolatedModules": true, "jsx": "preserve", "downlevelIteration": true, + "ignoreDeprecations": "6.0", }, "include": ["src/compiler"], }