From d93ca97082c87c6ec54ee897aff4e1e9d82399e0 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Sun, 31 Dec 2023 00:44:01 +0900 Subject: [PATCH 1/2] Enhance setup guide documents --- website/package-lock.json | 8 +++--- website/package.json | 2 +- website/pages/docs/setup.mdx | 55 ++++++++++++++++++++++++++++++++++-- website/public/sitemap-0.xml | 40 +++++++++++++------------- 4 files changed, 77 insertions(+), 28 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index adac609833..3cbbe316a5 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -31,7 +31,7 @@ "prettier": "^2.8.8", "rimraf": "^5.0.0", "ts-node": "^10.9.1", - "typia": "^5.3.7-dev.20231230" + "typia": "^5.3.7" } }, "node_modules/@babel/code-frame": { @@ -7642,9 +7642,9 @@ } }, "node_modules/typia": { - "version": "5.3.7-dev.20231230", - "resolved": "https://registry.npmjs.org/typia/-/typia-5.3.7-dev.20231230.tgz", - "integrity": "sha512-M/csVAnFyeyLQvkyciyMpp2Q0/2En/6zdXGR0/XEj6hc1sz012h054Y9Lz3T74HM0MEQDFGSwU24wGNBVTFrXw==", + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/typia/-/typia-5.3.7.tgz", + "integrity": "sha512-w49IgRXh8g3O2hRVBbLlXF6pcoIN7nTlFF/qr/x3gFfnDVtJPeOL03F0p8WOAOxi6vTrQn8EW9lzAp3ZlibbBg==", "dev": true, "dependencies": { "commander": "^10.0.0", diff --git a/website/package.json b/website/package.json index 27f4039f5e..4335382051 100644 --- a/website/package.json +++ b/website/package.json @@ -41,6 +41,6 @@ "prettier": "^2.8.8", "rimraf": "^5.0.0", "ts-node": "^10.9.1", - "typia": "^5.3.7-dev.20231230" + "typia": "^5.3.7" } } diff --git a/website/pages/docs/setup.mdx b/website/pages/docs/setup.mdx index 55d7ba2299..322ea1c92e 100644 --- a/website/pages/docs/setup.mdx +++ b/website/pages/docs/setup.mdx @@ -440,9 +440,7 @@ pnpm install --save-dev webpack webpack-cli ```bash filename="Terminal" copy showLineNumbers -############################## # YARN BERRY IS NOT SUPPORTED -############################## # TYPIA yarn add typia yarn typia setup --manager yarn @@ -456,7 +454,7 @@ yarn add -D webpack webpack-cli When you're using `webpack` as a bundler, you can still utilize the [transformation](#transformation) mode. -Just install `ts-loader` as well as `webpack`, and configure `webpack.config.js` file like below, that's all. +Just install `ts-loader` as well as `webpack`, and configure `webpack.config.js` file like below. ```javascript filename="webpack.config.js" copy showLineNumbers const path = require("path"); @@ -490,3 +488,54 @@ module.exports = { }, }; ``` + +From now on, you can build the single JS file just by running the `npx webpack` command. By the way, when removing `devDependencies` for `--production` install, never forget to add the `--ignore-scripts` option to prevent the `prepare` script. + +Additionally, if you're using `typia` in the NodeJS project especially for the backend development, *Setup Guide Documents* of [`nestia`](https://github.com/samchon/nestia) would be helpful. Even though you're not using NestJS, you can still utilize below documents, and "Single JS file only" mode would be especially helpful for you. + + - [Nestia > Setup > Webpack](https://nestia.io/docs/setup/#webpack) + - [With `node_modules`](https://nestia.io/docs/setup/#with-node_modules) + - [Single JS file only](https://nestia.io/docs/setup/#single-js-file-only) + + +## NX + + +```bash filename="Terminal" copy showLineNumbers +npm install --save typia +npx typia setup +``` + + +```bash filename="Terminal" copy showLineNumbers +pnpm install --save typia +pnpm typia setup --manager pnpm +``` + + +```bash filename="Terminal" copy showLineNumbers +# YARN BERRY IS NOT SUPPORTED +yarn add typia +yarn typia setup --manager yarn +``` + + + +After install `typia` like above, you have to modify `project.json` on each app like below. + +```javascript filename="project.json" showLineNumbers copy + "targets": { + "build": { + ... + "options": { + ... + "target": "node", + "compiler": "tsc", + "transformers": [ + "typia/lib/transform", + ] + } + }, + ... + } +``` \ No newline at end of file diff --git a/website/public/sitemap-0.xml b/website/public/sitemap-0.xml index 570368906f..6c10261a9c 100644 --- a/website/public/sitemap-0.xml +++ b/website/public/sitemap-0.xml @@ -1,23 +1,23 @@ -https://typia.io/2023-12-29T05:39:38.586Zdaily0.7 -https://typia.io/docs/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/json/parse/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/json/schema/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/json/stringify/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/misc/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/protobuf/decode/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/protobuf/encode/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/protobuf/message/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/pure/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/random/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/setup/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/utilization/nestjs/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/utilization/prisma/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/utilization/trpc/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/validators/assert/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/validators/is/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/validators/tags/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/docs/validators/validate/2023-12-29T05:39:38.587Zdaily0.7 -https://typia.io/playground/2023-12-29T05:39:38.587Zdaily0.7 +https://typia.io/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/json/parse/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/json/schema/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/json/stringify/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/misc/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/protobuf/decode/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/protobuf/encode/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/protobuf/message/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/pure/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/random/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/setup/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/utilization/nestjs/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/utilization/prisma/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/utilization/trpc/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/validators/assert/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/validators/is/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/validators/tags/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/docs/validators/validate/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/playground/2023-12-30T15:43:33.287Zdaily0.7 \ No newline at end of file From 9ff73ef92ef61192cf530827c8e88e77a8fbe0e9 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Sun, 31 Dec 2023 00:49:12 +0900 Subject: [PATCH 2/2] Add prune description --- website/pages/docs/setup.mdx | 24 ++++++++++++++++++++++ website/public/sitemap-0.xml | 40 ++++++++++++++++++------------------ 2 files changed, 44 insertions(+), 20 deletions(-) diff --git a/website/pages/docs/setup.mdx b/website/pages/docs/setup.mdx index 322ea1c92e..2159af6d47 100644 --- a/website/pages/docs/setup.mdx +++ b/website/pages/docs/setup.mdx @@ -440,7 +440,9 @@ pnpm install --save-dev webpack webpack-cli ```bash filename="Terminal" copy showLineNumbers +########################################### # YARN BERRY IS NOT SUPPORTED +########################################### # TYPIA yarn add typia yarn typia setup --manager yarn @@ -491,6 +493,28 @@ module.exports = { From now on, you can build the single JS file just by running the `npx webpack` command. By the way, when removing `devDependencies` for `--production` install, never forget to add the `--ignore-scripts` option to prevent the `prepare` script. + + +```bash filename="Terminal" copy showLineNumbers +npx webpack +npm ci --omit=dev --ignore-scripts +``` + + +```bash filename="Terminal" copy showLineNumbers +pnpm webpack +pnpm install --production --ignore-scripts +``` + + +```bash filename="Terminal" copy showLineNumbers +yarn webpack +rm -rf node_modules +yarn install --production --ignore-scripts --immutable +``` + + + Additionally, if you're using `typia` in the NodeJS project especially for the backend development, *Setup Guide Documents* of [`nestia`](https://github.com/samchon/nestia) would be helpful. Even though you're not using NestJS, you can still utilize below documents, and "Single JS file only" mode would be especially helpful for you. - [Nestia > Setup > Webpack](https://nestia.io/docs/setup/#webpack) diff --git a/website/public/sitemap-0.xml b/website/public/sitemap-0.xml index 6c10261a9c..391fe660d8 100644 --- a/website/public/sitemap-0.xml +++ b/website/public/sitemap-0.xml @@ -1,23 +1,23 @@ -https://typia.io/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/json/parse/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/json/schema/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/json/stringify/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/misc/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/protobuf/decode/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/protobuf/encode/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/protobuf/message/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/pure/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/random/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/setup/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/utilization/nestjs/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/utilization/prisma/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/utilization/trpc/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/validators/assert/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/validators/is/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/validators/tags/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/docs/validators/validate/2023-12-30T15:43:33.287Zdaily0.7 -https://typia.io/playground/2023-12-30T15:43:33.287Zdaily0.7 +https://typia.io/2023-12-30T15:49:02.590Zdaily0.7 +https://typia.io/docs/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/json/parse/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/json/schema/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/json/stringify/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/misc/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/protobuf/decode/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/protobuf/encode/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/protobuf/message/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/pure/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/random/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/setup/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/utilization/nestjs/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/utilization/prisma/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/utilization/trpc/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/validators/assert/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/validators/is/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/validators/tags/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/docs/validators/validate/2023-12-30T15:49:02.591Zdaily0.7 +https://typia.io/playground/2023-12-30T15:49:02.591Zdaily0.7 \ No newline at end of file