diff --git a/benchmark/package.json b/benchmark/package.json
index 2a19a5cdb..3c1246496 100644
--- a/benchmark/package.json
+++ b/benchmark/package.json
@@ -7,7 +7,7 @@
"build": "rimraf bin && tsc",
"generate": "ts-node src/generate",
"start": "npm run build && node bin",
- "prepare": "ts-patch install"
+ "prepare": "ts-patch install && typia patch"
},
"repository": {
"type": "git",
@@ -24,8 +24,8 @@
},
"homepage": "https://nestia.io",
"dependencies": {
- "@nestia/core": "^2.2.1-dev.20231012",
- "typia": "^5.2.6"
+ "@nestia/core": "^2.4.0",
+ "typia": "^5.3.0"
},
"devDependencies": {
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
@@ -47,6 +47,6 @@
"ts-node": "^10.9.1",
"ts-patch": "^3.0.2",
"tstl": "^2.5.13",
- "typescript": "^5.2.2"
+ "typescript": "^5.3.2"
}
}
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 98c062756..ac145a6ad 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "nestia",
- "version": "5.0.3",
+ "version": "5.1.0",
"description": "Nestia CLI tool",
"main": "bin/index.js",
"bin": {
@@ -37,14 +37,14 @@
"inquirer": "^8.2.5"
},
"devDependencies": {
- "@nestia/core": "^2.3.4",
- "@nestia/sdk": "^2.3.4",
+ "@nestia/core": "^2.4.0",
+ "@nestia/sdk": "^2.4.0",
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
"@types/inquirer": "^9.0.3",
"@types/node": "^18.11.16",
"prettier": "^2.8.7",
"rimraf": "^3.0.2",
- "typescript": "^5.2.2"
+ "typescript": "^5.3.2"
},
"files": [
"bin",
diff --git a/packages/cli/src/NestiaSetupWizard.ts b/packages/cli/src/NestiaSetupWizard.ts
index 1012aa83e..0eeb900db 100644
--- a/packages/cli/src/NestiaSetupWizard.ts
+++ b/packages/cli/src/NestiaSetupWizard.ts
@@ -18,7 +18,7 @@ export namespace NestiaSetupWizard {
// INSTALL TYPESCRIPT COMPILERS
pack.install({ dev: true, modulo: "ts-patch", version: "latest" });
pack.install({ dev: true, modulo: "ts-node", version: "latest" });
- pack.install({ dev: true, modulo: "typescript", version: "5.2.2" });
+ pack.install({ dev: true, modulo: "typescript", version: "5.3.2" });
args.project ??= (() => {
const runner: string =
pack.manager === "npm" ? "npx" : pack.manager;
@@ -34,10 +34,24 @@ export namespace NestiaSetupWizard {
typeof data.scripts.prepare === "string" &&
data.scripts.prepare.trim().length
) {
- if (data.scripts.prepare.indexOf("ts-patch install") === -1)
+ if (
+ data.scripts.prepare.indexOf("ts-patch install") === -1 &&
+ data.scripts.prepare.indexOf("typia patch") === -1
+ )
+ data.scripts.prepare =
+ "ts-patch install && typia patch && " +
+ data.scripts.prepare;
+ else if (
+ data.scripts.prepare.indexOf("ts-patch install") === -1
+ )
data.scripts.prepare =
"ts-patch install && " + data.scripts.prepare;
- } else data.scripts.prepare = "ts-patch install";
+ else if (data.scripts.prepare.indexOf("typia patch") === -1)
+ data.scripts.prepare = data.scripts.prepare.replace(
+ "ts-patch install",
+ "ts-patch install && typia patch",
+ );
+ } else data.scripts.prepare = "ts-patch install && typia patch";
// FOR OLDER VERSIONS
if (typeof data.scripts.postinstall === "string") {
@@ -50,13 +64,15 @@ export namespace NestiaSetupWizard {
delete data.scripts.postinstall;
}
});
- CommandExecutor.run(`${pack.manager} run prepare`);
// INSTALL AND CONFIGURE NESTIA
pack.install({ dev: false, modulo: "@nestia/core", version: "latest" });
pack.install({ dev: true, modulo: "@nestia/e2e", version: "latest" });
pack.install({ dev: true, modulo: "@nestia/sdk", version: "latest" });
pack.install({ dev: true, modulo: "nestia", version: "latest" });
+ pack.install({ dev: false, modulo: "typia" });
+
await PluginConfigurator.configure(args);
+ CommandExecutor.run(`${pack.manager} run prepare`);
}
}
diff --git a/packages/cli/src/internal/PackageManager.ts b/packages/cli/src/internal/PackageManager.ts
index dec2b0a4a..cb461e298 100644
--- a/packages/cli/src/internal/PackageManager.ts
+++ b/packages/cli/src/internal/PackageManager.ts
@@ -38,7 +38,7 @@ export class PackageManager {
public install(props: {
dev: boolean;
modulo: string;
- version: `latest` | `${number}.${number}.${number}`;
+ version?: `latest` | `next` | `${number}.${number}.${number}`;
}): boolean {
const middle: string =
this.manager === "yarn"
diff --git a/packages/core/package.json b/packages/core/package.json
index 9a59b1891..a3aa1b855 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@nestia/core",
- "version": "2.3.12",
+ "version": "2.4.0",
"description": "Super-fast validation decorators of NestJS",
"main": "lib/index.js",
"typings": "lib/index.d.ts",
@@ -12,7 +12,7 @@
"package:latest": "npm run build && npm publish --access public",
"package:next": "npm run package:latest -- --tag next",
"prettier": "prettier ./**/*.ts --write",
- "prepare": "ts-patch install"
+ "prepare": "ts-patch install && typia patch"
},
"repository": {
"type": "git",
@@ -34,7 +34,7 @@
},
"homepage": "https://nestia.io",
"dependencies": {
- "@nestia/fetcher": "^2.3.12",
+ "@nestia/fetcher": "^2.4.0",
"@nestjs/common": ">=7.0.1",
"@nestjs/core": ">=7.0.1",
"@nestjs/platform-express": ">=7.0.1",
@@ -44,10 +44,10 @@
"raw-body": ">=2.0.0",
"reflect-metadata": ">=0.1.12",
"rxjs": ">=6.0.0",
- "typia": "^5.2.6"
+ "typia": "^5.3.0"
},
"peerDependencies": {
- "@nestia/fetcher": ">=2.3.12",
+ "@nestia/fetcher": ">=2.4.0",
"@nestjs/common": ">=7.0.1",
"@nestjs/core": ">=7.0.1",
"@nestjs/platform-express": ">=7.0.1",
@@ -55,8 +55,8 @@
"raw-body": ">=2.0.0",
"reflect-metadata": ">=0.1.12",
"rxjs": ">=6.0.0",
- "typescript": ">=4.8.0 <5.3.0",
- "typia": ">=5.2.6 <6.0.0"
+ "typescript": ">=4.8.0 <5.4.0",
+ "typia": ">=5.3.0 <6.0.0"
},
"devDependencies": {
"@trivago/prettier-plugin-sort-imports": "^4.0.0",
@@ -76,7 +76,7 @@
"ts-node": "^10.9.1",
"ts-patch": "^3.0.2",
"tstl": "^2.5.13",
- "typescript": "^5.2.2",
+ "typescript": "^5.3.2",
"typescript-transform-paths": "^3.4.6"
},
"files": [
diff --git a/packages/e2e/package.json b/packages/e2e/package.json
index 4be81b903..00574d156 100644
--- a/packages/e2e/package.json
+++ b/packages/e2e/package.json
@@ -8,7 +8,7 @@
"dev": "npm run build -- --watch",
"eslint": "eslint src",
"prettier": "prettier --write ./src/**/*.ts",
- "prepare": "ts-patch install",
+ "prepare": "ts-patch install && typia patch",
"test": "node lib/test"
},
"repository": {
@@ -39,8 +39,8 @@
"rimraf": "^4.1.2",
"ts-node": "^10.9.1",
"ts-patch": "^3.0.2",
- "typescript": "^5.2.2",
- "typia": "^5.2.6"
+ "typescript": "^5.3.2",
+ "typia": "^5.3.0"
},
"dependencies": {
"chalk": "^4.1.2",
diff --git a/packages/fetcher/package.json b/packages/fetcher/package.json
index 42710934c..708a26c3b 100644
--- a/packages/fetcher/package.json
+++ b/packages/fetcher/package.json
@@ -1,6 +1,6 @@
{
"name": "@nestia/fetcher",
- "version": "2.3.12",
+ "version": "2.4.0",
"description": "Fetcher library of Nestia SDK",
"main": "lib/index.js",
"typings": "lib/index.d.ts",
@@ -32,7 +32,7 @@
"@typescript-eslint/parser": "^5.46.1",
"prettier": "^2.8.1",
"rimraf": "^3.0.2",
- "typescript": "^5.2.2"
+ "typescript": "^5.3.2"
},
"peerDependencies": {
"typescript": ">= 4.8.0"
diff --git a/packages/migrate/package.json b/packages/migrate/package.json
index d3d19166c..fde19ba28 100644
--- a/packages/migrate/package.json
+++ b/packages/migrate/package.json
@@ -44,11 +44,11 @@
"ts-node": "^10.9.1",
"ts-patch": "^3.0.2",
"tstl": "^2.5.13",
- "typescript": "^5.2.2",
+ "typescript": "^5.3.2",
"typescript-transform-paths": "^3.4.6"
},
"dependencies": {
- "typia": "^5.2.6"
+ "typia": "^5.3.0"
},
"files": [
"lib",
diff --git a/packages/sdk/package.json b/packages/sdk/package.json
index 79f783470..c19958462 100644
--- a/packages/sdk/package.json
+++ b/packages/sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@nestia/sdk",
- "version": "2.3.12",
+ "version": "2.4.0",
"description": "Nestia SDK and Swagger generator",
"main": "lib/index.js",
"typings": "lib/index.d.ts",
@@ -13,7 +13,7 @@
"eslint": "eslint ./**/*.ts",
"package:latest": "npm run build && npm publish --access public",
"package:next": "npm run package:latest -- --tag next",
- "prepare": "ts-patch install",
+ "prepare": "ts-patch install && typia patch",
"prettier": "prettier --write ./**/*.ts"
},
"repository": {
@@ -35,7 +35,7 @@
},
"homepage": "https://nestia.io",
"dependencies": {
- "@nestia/fetcher": "^2.3.12",
+ "@nestia/fetcher": "^2.4.0",
"cli": "^1.0.1",
"get-function-location": "^2.0.0",
"glob": "^7.2.0",
@@ -44,16 +44,16 @@
"tsconfck": "^2.0.1",
"tsconfig-paths": "^4.1.1",
"tstl": "^2.5.13",
- "typia": "^5.2.6"
+ "typia": "^5.3.0"
},
"peerDependencies": {
- "@nestia/fetcher": ">=2.3.12",
+ "@nestia/fetcher": ">=2.4.0",
"@nestjs/common": ">=7.0.1",
"@nestjs/core": ">=7.0.1",
"reflect-metadata": ">=0.1.12",
"ts-node": ">=10.6.0",
- "typescript": ">=4.8.0 <5.3.0",
- "typia": ">=5.2.6 <6.0.0"
+ "typescript": ">=4.8.0 <5.4.0",
+ "typia": ">=5.3.0 <6.0.0"
},
"devDependencies": {
"@nestia/e2e": "^0.3.7",
diff --git a/test/features/distribute-assert/packages/api/package.json b/test/features/distribute-assert/packages/api/package.json
index 982293002..7720dbe65 100644
--- a/test/features/distribute-assert/packages/api/package.json
+++ b/test/features/distribute-assert/packages/api/package.json
@@ -9,7 +9,7 @@
"build:sdk": "rimraf ../../src/api/functional && cd ../.. && npx nestia sdk && cd packages/api",
"compile": "rimraf lib && tsc",
"deploy": "npm run build && npm publish",
- "prepare": "ts-patch install"
+ "prepare": "ts-patch install && typia patch"
},
"repository": {
"type": "git",
@@ -30,10 +30,10 @@
"rimraf": "^5.0.5",
"ts-node": "^10.9.1",
"ts-patch": "^3.0.2",
- "typescript": "^5.2.2"
+ "typescript": "^5.3.2"
},
"dependencies": {
"@nestia/fetcher": "file:../../../../../packages/fetcher/nestia-fetcher-0.0.0-dev.20991231.tgz",
- "typia": "^5.2.6"
+ "typia": "^5.3.0"
}
}
\ No newline at end of file
diff --git a/test/features/distribute-json/packages/api/package.json b/test/features/distribute-json/packages/api/package.json
index 982293002..7720dbe65 100644
--- a/test/features/distribute-json/packages/api/package.json
+++ b/test/features/distribute-json/packages/api/package.json
@@ -9,7 +9,7 @@
"build:sdk": "rimraf ../../src/api/functional && cd ../.. && npx nestia sdk && cd packages/api",
"compile": "rimraf lib && tsc",
"deploy": "npm run build && npm publish",
- "prepare": "ts-patch install"
+ "prepare": "ts-patch install && typia patch"
},
"repository": {
"type": "git",
@@ -30,10 +30,10 @@
"rimraf": "^5.0.5",
"ts-node": "^10.9.1",
"ts-patch": "^3.0.2",
- "typescript": "^5.2.2"
+ "typescript": "^5.3.2"
},
"dependencies": {
"@nestia/fetcher": "file:../../../../../packages/fetcher/nestia-fetcher-0.0.0-dev.20991231.tgz",
- "typia": "^5.2.6"
+ "typia": "^5.3.0"
}
}
\ No newline at end of file
diff --git a/test/features/distribute/packages/api/package.json b/test/features/distribute/packages/api/package.json
index 982293002..7720dbe65 100644
--- a/test/features/distribute/packages/api/package.json
+++ b/test/features/distribute/packages/api/package.json
@@ -9,7 +9,7 @@
"build:sdk": "rimraf ../../src/api/functional && cd ../.. && npx nestia sdk && cd packages/api",
"compile": "rimraf lib && tsc",
"deploy": "npm run build && npm publish",
- "prepare": "ts-patch install"
+ "prepare": "ts-patch install && typia patch"
},
"repository": {
"type": "git",
@@ -30,10 +30,10 @@
"rimraf": "^5.0.5",
"ts-node": "^10.9.1",
"ts-patch": "^3.0.2",
- "typescript": "^5.2.2"
+ "typescript": "^5.3.2"
},
"dependencies": {
"@nestia/fetcher": "file:../../../../../packages/fetcher/nestia-fetcher-0.0.0-dev.20991231.tgz",
- "typia": "^5.2.6"
+ "typia": "^5.3.0"
}
}
\ No newline at end of file
diff --git a/test/package.json b/test/package.json
index 84d81c40a..1677fcc65 100644
--- a/test/package.json
+++ b/test/package.json
@@ -1,7 +1,7 @@
{
"private": true,
"name": "@nestia/test",
- "version": "2.3.12",
+ "version": "2.4.0",
"description": "Test program of Nestia",
"main": "index.js",
"scripts": {
@@ -9,7 +9,7 @@
"errors": "node executable/errors",
"generate": "node executable/generate",
"start": "node executable/start",
- "prepare": "ts-patch install"
+ "prepare": "ts-patch install && typia patch"
},
"repository": {
"type": "git",
@@ -34,12 +34,12 @@
"ts-patch": "v3.0.2",
"typescript": "^5.3.0-beta",
"typescript-transform-paths": "^3.4.4",
- "typia": "^5.2.6",
+ "typia": "^5.3.0",
"uuid": "^9.0.0",
"nestia": "^4.5.0",
- "@nestia/core": "^2.3.12",
+ "@nestia/core": "^2.4.0",
"@nestia/e2e": "^0.3.6",
- "@nestia/fetcher": "^2.3.12",
- "@nestia/sdk": "^2.3.12"
+ "@nestia/fetcher": "^2.4.0",
+ "@nestia/sdk": "^2.4.0"
}
}
\ No newline at end of file
diff --git a/website/package.json b/website/package.json
index 3023bcf89..e39003cdc 100644
--- a/website/package.json
+++ b/website/package.json
@@ -33,6 +33,6 @@
"gh-pages": "^5.0.0",
"next-sitemap": "^4.0.7",
"rimraf": "^5.0.0",
- "typescript": "^4.9.3"
+ "typescript": "^5.3.2"
}
}
diff --git a/website/pages/docs/sdk/sdk.mdx b/website/pages/docs/sdk/sdk.mdx
index 7ddca9469..6cc1791c9 100644
--- a/website/pages/docs/sdk/sdk.mdx
+++ b/website/pages/docs/sdk/sdk.mdx
@@ -1063,12 +1063,12 @@ Also, if your SDK library utilize special alias `paths`, you also need to custom
"homepage": "https://nestia.io",
"devDependencies": {
"rimraf": "^5.0.0",
- "typescript": "^5.2.2",
+ "typescript": "^5.3.2",
"ts-patch": "^3.0.2"
},
"dependencies": {
"@nestia/fetcher": "^2.3.4",
- "typia": "^5.2.6"
+ "typia": "^5.3.0"
},
"files": [
"lib",
diff --git a/website/pages/docs/setup.mdx b/website/pages/docs/setup.mdx
index 1b30006dc..3be37f0b5 100644
--- a/website/pages/docs/setup.mdx
+++ b/website/pages/docs/setup.mdx
@@ -1,6 +1,7 @@
import { Tabs, Tab } from 'nextra-theme-docs'
import Alert from '@mui/material/Alert';
+import AlertTitle from '@mui/material/AlertTitle';
import Stack from '@mui/material/Stack';
# Setup
@@ -417,7 +418,7 @@ Also, never forget to configure `strict` (or `strictNullChecks`) as `true`. It i
```json filename="package.json" showLineNumbers copy
{
"scripts": {
- "prepare": "ts-patch install"
+ "prepare": "ts-patch install && typia patch"
}
}
```
@@ -447,11 +448,19 @@ Of course, you've to run the `npm run prepare` command after configuration.
For reference, [`ts-patch`](https://github.com/nonara/ts-patch) is an helper library of TypeScript compiler that supporting custom transformations by plugins. With the [`ts-patch`](https://github.com/nonara/ts-patch) setup and plugin configurations, whenever you run `tsc` command, your `@nestia/core` decorator function call statements would be transformed to the optimal operation codes in the compiled JavaScript files.
-
-
-If manual setup is difficult, just use the [Setup Wizard](#setup-wizard) \o/.
-
-
+
+
+
+ **`npx typia patch`**
+
+
+Since TypeScript v5.3 update, `tsc` no more parses `JSDocComment`s. Therefore, (`@nestia/core`) `typia` also cannot utilize those `JSDocComment` related features too, especially ["Comment Tags"](https://typia.io/docs/validators/tags/#comment-tags) and ["JSON schema generator"](https://typia.io/docs/json/schema).
+
+The `npx typia patch` command has been developed to revive the `JSDocComment` parsing feature of `tsc`. It is temporary solution for the TypeScript v5.3 update instead of [`ts-patch`](https://github.com/nonara/ts-patch), and will be disabled after [`ts-patch`](https://github.com/nonara/ts-patch) starts supporting such TypeScript v5.3 update.
+
+Of course, if you don't use any ["Comment Tags"](https://typia.io/docs/validators/tags/#comment-tags) and ["JSON schema generator"](https://typia.io/docs/json/schema), you don't need to run `npx typia patch` command. This is not mandatory command, but just optional command.
+
+
diff --git a/website/public/sitemap-0.xml b/website/public/sitemap-0.xml
index 58d839e2f..2c0f7a9b3 100644
--- a/website/public/sitemap-0.xml
+++ b/website/public/sitemap-0.xml
@@ -1,19 +1,19 @@
-https://nestia.io/2023-11-17T07:07:56.058Zdaily0.7
-https://nestia.io/docs/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/core/TypedBody/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/core/TypedException/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/core/TypedHeaders/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/core/TypedParam/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/core/TypedQuery/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/core/TypedRoute/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/migrate/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/pure/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/sdk/e2e/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/sdk/sdk/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/sdk/simulator/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/sdk/swagger/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/docs/setup/2023-11-17T07:07:56.059Zdaily0.7
-https://nestia.io/playground/2023-11-17T07:07:56.059Zdaily0.7
+https://nestia.io/2023-11-26T18:27:07.060Zdaily0.7
+https://nestia.io/docs/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/core/TypedBody/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/core/TypedException/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/core/TypedHeaders/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/core/TypedParam/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/core/TypedQuery/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/core/TypedRoute/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/migrate/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/pure/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/sdk/e2e/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/sdk/sdk/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/sdk/simulator/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/sdk/swagger/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/docs/setup/2023-11-26T18:27:07.061Zdaily0.7
+https://nestia.io/playground/2023-11-26T18:27:07.061Zdaily0.7
\ No newline at end of file