@nestia/migrate 6.0.3 → 6.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/lib/MigrateApplication.d.ts +4 -0
  2. package/lib/MigrateApplication.js +9 -2
  3. package/lib/MigrateApplication.js.map +1 -1
  4. package/lib/bundles/NEST_TEMPLATE.js +3 -3
  5. package/lib/bundles/NEST_TEMPLATE.js.map +1 -1
  6. package/lib/bundles/SDK_TEMPLATE.js +1 -1
  7. package/lib/index.mjs +26 -20
  8. package/lib/index.mjs.map +1 -1
  9. package/lib/internal/MigrateCommander.d.ts +1 -0
  10. package/lib/internal/MigrateCommander.js +10 -2
  11. package/lib/internal/MigrateCommander.js.map +1 -1
  12. package/lib/programmers/MigrateApiFileProgrammer.js +2 -0
  13. package/lib/programmers/MigrateApiFileProgrammer.js.map +1 -1
  14. package/lib/programmers/MigrateApiFunctionProgrammer.js +9 -6
  15. package/lib/programmers/MigrateApiFunctionProgrammer.js.map +1 -1
  16. package/lib/programmers/MigrateApiProgrammer.js +2 -1
  17. package/lib/programmers/MigrateApiProgrammer.js.map +1 -1
  18. package/lib/programmers/MigrateNestControllerProgrammer.d.ts +2 -1
  19. package/lib/programmers/MigrateNestControllerProgrammer.js +7 -2
  20. package/lib/programmers/MigrateNestControllerProgrammer.js.map +1 -1
  21. package/lib/programmers/MigrateNestMethodProgrammer.d.ts +2 -1
  22. package/lib/programmers/MigrateNestMethodProgrammer.js +9 -6
  23. package/lib/programmers/MigrateNestMethodProgrammer.js.map +1 -1
  24. package/lib/programmers/MigrateNestProgrammer.js +2 -1
  25. package/lib/programmers/MigrateNestProgrammer.js.map +1 -1
  26. package/lib/programmers/MigrateSchemaProgrammer.js +10 -3
  27. package/lib/programmers/MigrateSchemaProgrammer.js.map +1 -1
  28. package/lib/structures/IHttpMigrateProgram.d.ts +8 -0
  29. package/lib/utils/FilePrinter.js +3 -1
  30. package/lib/utils/FilePrinter.js.map +1 -1
  31. package/package.json +11 -10
  32. package/src/MigrateApplication.ts +19 -2
  33. package/src/bundles/NEST_TEMPLATE.ts +3 -3
  34. package/src/bundles/SDK_TEMPLATE.ts +1 -1
  35. package/src/internal/MigrateCommander.ts +9 -1
  36. package/src/programmers/MigrateApiFileProgrammer.ts +2 -0
  37. package/src/programmers/MigrateApiFunctionProgrammer.ts +10 -7
  38. package/src/programmers/MigrateApiProgrammer.ts +2 -1
  39. package/src/programmers/MigrateNestControllerProgrammer.ts +10 -3
  40. package/src/programmers/MigrateNestMethodProgrammer.ts +10 -6
  41. package/src/programmers/MigrateNestProgrammer.ts +2 -1
  42. package/src/programmers/MigrateSchemaProgrammer.ts +11 -6
  43. package/src/structures/IHttpMigrateProgram.ts +8 -0
  44. package/src/utils/FilePrinter.ts +3 -1
@@ -20,5 +20,9 @@ export declare namespace MigrateApplication {
20
20
  simulate: boolean;
21
21
  e2e: boolean;
22
22
  package?: string;
23
+ author?: {
24
+ tag: string;
25
+ value: string;
26
+ };
23
27
  }
24
28
  }
@@ -7938,11 +7938,15 @@ class MigrateApplication {
7938
7938
  document: this.document,
7939
7939
  simulate: config.simulate,
7940
7940
  e2e: config.e2e,
7941
+ author: config.author,
7941
7942
  });
7942
7943
  const output = {
7943
7944
  program,
7944
7945
  files: [
7945
- ...NEST_TEMPLATE_1.NEST_TEMPLATE,
7946
+ ...NEST_TEMPLATE_1.NEST_TEMPLATE.filter((f) => f.location.startsWith("src/api/structures") === false &&
7947
+ f.location.startsWith("src/api/functional") === false &&
7948
+ f.location.startsWith("src/api/controllers") === false &&
7949
+ f.location.startsWith("test/features") === false),
7946
7950
  ...MigrateNestProgrammer_1.MigrateNestProgrammer.write(program),
7947
7951
  ...MigrateApiProgrammer_1.MigrateApiProgrammer.write(program),
7948
7952
  ...(config.e2e ? MigrateE2eProgrammer_1.MigrateE2eProgrammer.write(program) : []),
@@ -7957,11 +7961,14 @@ class MigrateApplication {
7957
7961
  document: this.document,
7958
7962
  simulate: config.simulate,
7959
7963
  e2e: config.e2e,
7964
+ author: config.author,
7960
7965
  });
7961
7966
  const output = {
7962
7967
  program,
7963
7968
  files: [
7964
- ...SDK_TEMPLATE_1.SDK_TEMPLATE,
7969
+ ...SDK_TEMPLATE_1.SDK_TEMPLATE.filter((f) => f.location.startsWith("src/structures") === false &&
7970
+ f.location.startsWith("src/functional") === false &&
7971
+ f.location.startsWith("test/features") === false),
7965
7972
  ...MigrateApiProgrammer_1.MigrateApiProgrammer.write(program),
7966
7973
  MigrateApiStartProgrammer_1.MigrateApiStartProgrammer.write(program),
7967
7974
  ...(config.e2e ? MigrateE2eProgrammer_1.MigrateE2eProgrammer.write(program) : []),
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateApplication.js","sourceRoot":"","sources":["../src/MigrateApplication.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA8E;AAC9E,kDAA2C;AAE3C,uFAAoF;AACpF,2DAAwD;AACxD,yDAAsD;AACtD,6EAA0E;AAC1E,uFAAoF;AACpF,6EAA0E;AAC1E,+EAA4E;AAI5E,MAAa,kBAAkB;IAC7B,YAAoC,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAE5D,MAAM,CAAC,MAAM,CAClB,QAIqB;QAErB,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"MigrateApplication.js","sourceRoot":"","sources":["../src/MigrateApplication.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA8E;AAC9E,kDAA2C;AAE3C,uFAAoF;AACpF,2DAAwD;AACxD,yDAAsD;AACtD,6EAA0E;AAC1E,uFAAoF;AACpF,6EAA0E;AAC1E,+EAA4E;AAI5E,MAAa,kBAAkB;IAC7B,YAAoC,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAE5D,MAAM,CAAC,MAAM,CAClB,QAIqB;QAErB,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -50,7 +50,7 @@ exports.NEST_TEMPLATE = [
50
50
  {
51
51
  "location": "",
52
52
  "file": "README.md",
53
- "content": "# Nestia Template\n## Outline\n[![Build Status](https://github.com/samchon/nestia-start/workflows/build/badge.svg)](https://github.com/samchon/nestia-start/actions?query=workflow%3Abuild)\n\nA template repository for backend projects using [nestia](https://github.com/samchon/nestia).\n\nYou can create a new project from this boilerplate by running below command:\n\n```bash\nnpx nestia start <directory>\n```\n\nFor reference, this is a minimal boilerplate project concentrating only on [nestia](https://github.com/samchon/nestia) SDK generation. \n\nIf you wanna much detailed boilerplate project, visit [`@samchon/backend`](https://github.com/samchon/backend).\n\n\n\n\n## Directories and Files\nThis template project has categorized directories like below.\n\nAs you can see from the below, all of the Backend source files are placed into the [src](src/) directory. When you build the TypeScript source files, compiled files would be placed into the `lib` directory following the [tsconfig.json](tsconfig.json) configuration. Otherwise you build client [SDK](#32-sdk) library for npm publishing and their compiled files would be placed into the [packages](packages) directory.\n\n - [packages/api/](packages/api): SDK module built by `npm run build:api`\n - [src/](src): Backend source directory\n - [src/api/](src/api/): Client SDK that would be published to the `@ORGANIZATION/PROJECT-api`\n - [**src/api/functional/**](src/api/functional/): API functions generated by the [`nestia`](https://github.com/samchon/nestia)\n - [**src/api/structures/**](src/api/structures/): DTO structures\n - [src/controllers/](src/controllers/): Controller classes of the Main Program\n - [**test/**](test): Test Automation Program\n - [nestia.config.ts](nestia.config.ts): Configuration file of [`nestia`](https://github.com/samchon/nestia)\n - [package.json](package.json): NPM configuration\n - [tsconfig.json](tsconfig.json): TypeScript configuration for the main program\n - [tsconfig.api.json](tsconfig.api.json): TypeScript configuration for the SDK generation\n\n\n\n\n## NPM Run Commands\nList of the run commands defined in the [package.json](package.json) are like below:\n\n - Test\n - **`test`**: Run test automation program\n - `benchmark`: Run performance benchmark program\n - Build\n - `build`: Build everything\n - `build:main`: Build main program (`src` directory)\n - `build:test` Build test automation program (`test` directory)\n - `build:sdk`: Build SDK into main program only\n - `build:swagger`: Build Swagger Documents\n - **`dev`**: Incremental build for development (test program)\n - Deploy\n - `package:api`: Build and deploy the SDK library to the NPM\n - `start`: Start the backend server\n - `start:dev`: Start the backend server with incremental build and reload\n - Webpack\n - `webpack`: Run webpack bundler\n - `webpack:start`: Start the backend server built by webpack\n - `webpack:test`: Run test program to the webpack built\n\n\n\n\n## Specialization\nTransform this template project to be yours.\n\nWhen you've created a new backend project through this template project, you can specialize it to be suitable for you by changing some words. Replace below words through IDE specific function like `Edit > Replace in Files` (*Ctrl + Shift + H*), who've been supported by the VSCode.\n\n| Before | After\n|-----------------|----------------------------------------\n| ORGANIZATION | Your account or corporation name\n| PROJECT | Your own project name\n| AUTHOR | Author name\n| https://github.com/samchon/nestia-start | Your repository URL\n\n\n\n\n## Test Driven Development\nWith [nestia](https://github.com/samchon/nestia) helps to accomplish TDD (Test Driven Development). \n\nJust define DTOs and API controllers' methods (only declarations) first. After the definitions, and build SDK (Software Development Kit) through [nestia](https://github.com/samchon/nestia) (`npm run build:sdk`). After buildling those SDK, develop test automation program using the SDK, following use-case scenarios in the framework of client side.\n\nDuring the test automation program development, you can find that which API is miss-designed or which requirement analysis is not exact. Development of the main program must be the last step after such validation process during TDD.\n\n> Visit the [samchon/backend](https://github.com/samchon/backend), then you may find much detailed story about this TDD.\n>\n> 1. Definitions\n> 2. SDK\n> 3. Test Automation Program\n> 4. Main Program\n\n```typescript\nimport {\n ArrayUtil,\n GaffComparator,\n RandomGenerator,\n TestValidator,\n} from \"@nestia/e2e\";\n\nimport api from \"@ORGANIZATION/PROJECT-api/lib/index\";\nimport { IBbsArticle } from \"@ORGANIZATION/PROJECT-api/lib/structures/bbs/IBbsArticle\";\nimport { IPage } from \"@ORGANIZATION/PROJECT-api/lib/structures/common/IPage\";\n\nexport async function test_api_bbs_article_index_sort(\n connection: api.IConnection,\n): Promise<void> {\n // GENERATE 100 ARTICLES\n const section: string = \"general\";\n await ArrayUtil.asyncRepeat(100)(() =>\n api.functional.bbs.articles.create(connection, section, {\n writer: RandomGenerator.name(),\n title: RandomGenerator.paragraph(5)(),\n body: RandomGenerator.content(8)()(),\n format: \"txt\",\n files: [],\n password: RandomGenerator.alphabets(8),\n }),\n );\n\n // PREPARE VALIDATOR\n const validator = TestValidator.sort(\"BbsArticleProvider.index()\")(async (\n sort: IPage.Sort<IBbsArticle.IRequest.SortableColumns>,\n ) => {\n const page: IPage<IBbsArticle.ISummary> =\n await api.functional.bbs.articles.index(connection, section, {\n limit: 100,\n sort,\n });\n return page.data;\n });\n\n // DO VALIDATE\n const components = [\n validator(\"created_at\")(GaffComparator.dates((x) => x.created_at)),\n validator(\"updated_at\")(GaffComparator.dates((x) => x.updated_at)),\n validator(\"title\")(GaffComparator.strings((x) => x.title)),\n validator(\"writer\")(GaffComparator.strings((x) => x.writer)),\n validator(\n \"writer\",\n \"title\",\n )(GaffComparator.strings((x) => [x.writer, x.title])),\n ];\n for (const comp of components) {\n await comp(\"+\", false);\n await comp(\"-\", false);\n }\n}\n```\n\nFor reference, if you run `npm run benchmark` command, your test functions defined in the [test/features/api](test/features/api) directory would be utilized for performance benchmarking. If you want to see the performance bench result earlier, visit below link please:\n\n - [docs/benchmarks/AMD Ryzen 9 7940HS w Radeon 780M Graphics.md](https://github.com/samchon/nestia-start/blob/master/docs/benchmarks/AMD%20Ryzen%209%207940HS%20w%20Radeon%20780M%20Graphics.md)"
53
+ "content": "# Nestia Template\n## Outline\n[![Build Status](https://github.com/samchon/nestia-start/workflows/build/badge.svg)](https://github.com/samchon/nestia-start/actions?query=workflow%3Abuild)\n\nA template repository for backend projects using [nestia](https://github.com/samchon/nestia).\n\nYou can create a new project from this boilerplate by running below command:\n\n```bash\nnpx nestia start <directory>\n```\n\nFor reference, this is a minimal boilerplate project concentrating only on [nestia](https://github.com/samchon/nestia) SDK generation. \n\nIf you wanna much detailed boilerplate project, visit [`@samchon/backend`](https://github.com/samchon/backend).\n\n\n\n\n## Directories and Files\nThis template project has categorized directories like below.\n\nAs you can see from the below, all of the Backend source files are placed into the [src](src/) directory. When you build the TypeScript source files, compiled files would be placed into the `lib` directory following the [tsconfig.json](tsconfig.json) configuration. Otherwise you build client [SDK](#32-sdk) library for npm publishing and their compiled files would be placed into the [packages](packages) directory.\n\n - [packages/api/](packages/api): SDK module built by `npm run build:api`\n - [src/](src): Backend source directory\n - [src/api/](src/api/): Client SDK that would be published to the `@ORGANIZATION/PROJECT-api`\n - [**src/api/functional/**](src/api/functional/): API functions generated by the [`nestia`](https://github.com/samchon/nestia)\n - [**src/api/structures/**](src/api/structures/): DTO structures\n - [src/controllers/](src/controllers/): Controller classes of the Main Program\n - [**test/**](test): Test Automation Program\n - [nestia.config.ts](nestia.config.ts): Configuration file of [`nestia`](https://github.com/samchon/nestia)\n - [package.json](package.json): NPM configuration\n - [tsconfig.json](tsconfig.json): TypeScript configuration for the main program\n\n\n\n\n## NPM Run Commands\nList of the run commands defined in the [package.json](package.json) are like below:\n\n - Test\n - **`test`**: Run test automation program\n - `benchmark`: Run performance benchmark program\n - Build\n - `build`: Build everything\n - `build:main`: Build main program (`src` directory)\n - `build:test` Build test automation program (`test` directory)\n - `build:sdk`: Build SDK into main program only\n - `build:swagger`: Build Swagger Documents\n - **`dev`**: Incremental build for development (test program)\n - Deploy\n - `package:api`: Build and deploy the SDK library to the NPM\n - `start`: Start the backend server\n - `start:dev`: Start the backend server with incremental build and reload\n - Webpack\n - `webpack`: Run webpack bundler\n - `webpack:start`: Start the backend server built by webpack\n - `webpack:test`: Run test program to the webpack built\n\n\n\n\n## Specialization\nTransform this template project to be yours.\n\nWhen you've created a new backend project through this template project, you can specialize it to be suitable for you by changing some words. Replace below words through IDE specific function like `Edit > Replace in Files` (*Ctrl + Shift + H*), who've been supported by the VSCode.\n\n| Before | After\n|-----------------|----------------------------------------\n| ORGANIZATION | Your account or corporation name\n| PROJECT | Your own project name\n| AUTHOR | Author name\n| https://github.com/samchon/nestia-start | Your repository URL\n\n\n\n\n## Test Driven Development\nWith [nestia](https://github.com/samchon/nestia) helps to accomplish TDD (Test Driven Development). \n\nJust define DTOs and API controllers' methods (only declarations) first. After the definitions, and build SDK (Software Development Kit) through [nestia](https://github.com/samchon/nestia) (`npm run build:sdk`). After buildling those SDK, develop test automation program using the SDK, following use-case scenarios in the framework of client side.\n\nDuring the test automation program development, you can find that which API is miss-designed or which requirement analysis is not exact. Development of the main program must be the last step after such validation process during TDD.\n\n> Visit the [samchon/backend](https://github.com/samchon/backend), then you may find much detailed story about this TDD.\n>\n> 1. Definitions\n> 2. SDK\n> 3. Test Automation Program\n> 4. Main Program\n\n```typescript\nimport {\n ArrayUtil,\n GaffComparator,\n RandomGenerator,\n TestValidator,\n} from \"@nestia/e2e\";\n\nimport api from \"@ORGANIZATION/PROJECT-api/lib/index\";\nimport { IBbsArticle } from \"@ORGANIZATION/PROJECT-api/lib/structures/bbs/IBbsArticle\";\nimport { IPage } from \"@ORGANIZATION/PROJECT-api/lib/structures/common/IPage\";\n\nexport async function test_api_bbs_article_index_sort(\n connection: api.IConnection,\n): Promise<void> {\n // GENERATE 100 ARTICLES\n const section: string = \"general\";\n await ArrayUtil.asyncRepeat(100)(() =>\n api.functional.bbs.articles.create(connection, section, {\n writer: RandomGenerator.name(),\n title: RandomGenerator.paragraph(5)(),\n body: RandomGenerator.content(8)()(),\n format: \"txt\",\n files: [],\n password: RandomGenerator.alphabets(8),\n }),\n );\n\n // PREPARE VALIDATOR\n const validator = TestValidator.sort(\"BbsArticleProvider.index()\")(async (\n sort: IPage.Sort<IBbsArticle.IRequest.SortableColumns>,\n ) => {\n const page: IPage<IBbsArticle.ISummary> =\n await api.functional.bbs.articles.index(connection, section, {\n limit: 100,\n sort,\n });\n return page.data;\n });\n\n // DO VALIDATE\n const components = [\n validator(\"created_at\")(GaffComparator.dates((x) => x.created_at)),\n validator(\"updated_at\")(GaffComparator.dates((x) => x.updated_at)),\n validator(\"title\")(GaffComparator.strings((x) => x.title)),\n validator(\"writer\")(GaffComparator.strings((x) => x.writer)),\n validator(\n \"writer\",\n \"title\",\n )(GaffComparator.strings((x) => [x.writer, x.title])),\n ];\n for (const comp of components) {\n await comp(\"+\", false);\n await comp(\"-\", false);\n }\n}\n```\n\nFor reference, if you run `npm run benchmark` command, your test functions defined in the [test/features/api](test/features/api) directory would be utilized for performance benchmarking. If you want to see the performance bench result earlier, visit below link please:\n\n - [docs/benchmarks/AMD Ryzen 9 7940HS w Radeon 780M Graphics.md](https://github.com/samchon/nestia-start/blob/master/docs/benchmarks/AMD%20Ryzen%209%207940HS%20w%20Radeon%20780M%20Graphics.md)"
54
54
  },
55
55
  {
56
56
  "location": "build",
@@ -75,7 +75,7 @@ exports.NEST_TEMPLATE = [
75
75
  {
76
76
  "location": "",
77
77
  "file": "package.json",
78
- "content": "{\n \"private\": true,\n \"name\": \"@ORGANIZATION/PROJECT\",\n \"version\": \"0.1.0\",\n \"description\": \"Starter kit of Nestia\",\n \"main\": \"lib/index.js\",\n \"scripts\": {\n \"benchmark\": \"node bin/test/benchmark\",\n \"test\": \"node bin/test\",\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------BUILDS------------------------\": \"\",\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\n \"build:api\": \"rimraf packages/api/lib && nestia all && rimraf packages/api/lib && tsc -p packages/api/tsconfig.json && rollup -c packages/api/rollup.config.js\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\n \"build:swagger\": \"npx nestia swagger\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\n \"prepare\": \"ts-patch install && ts-node build/env.ts\",\n \"prettier\": \"prettier src --write && prettier test --write\",\n \"------------------------WEBPACK------------------------\": \"\",\n \"webpack\": \"rimraf dist && webpack\",\n \"webpack:start\": \"cd dist && node dist/server\",\n \"webpack:test\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------DEPLOYS------------------------\": \"\",\n \"package:api\": \"npm run build:api && cd packages/api && npm publish\",\n \"start\": \"node lib/executable/server\",\n \"start:dev\": \"nest start --watch\",\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia-start\"\n },\n \"keywords\": [\n \"nestia\",\n \"template\",\n \"boilerplate\"\n ],\n \"author\": \"AUTHOR\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\n },\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\n \"devDependencies\": {\n \"@nestia/benchmark\": \"^6.0.1\",\n \"@nestia/e2e\": \"^6.0.1\",\n \"@nestia/sdk\": \"^6.0.3\",\n \"@nestjs/cli\": \"^11.0.7\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/cli\": \"^0.11.21\",\n \"@types/cli-progress\": \"^3.11.5\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/node\": \"^18.11.0\",\n \"@types/uuid\": \"^8.3.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.1.2\",\n \"cli\": \"^1.0.1\",\n \"cli-progress\": \"^3.12.0\",\n \"copy-webpack-plugin\": \"^11.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"express\": \"^4.18.2\",\n \"nestia\": \"^7.0.0\",\n \"prettier\": \"^3.2.4\",\n \"prettier-plugin-prisma\": \"^5.0.0\",\n \"rimraf\": \"^3.0.2\",\n \"rollup\": \"^4.18.0\",\n \"source-map-support\": \"^0.5.21\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"ts-loader\": \"^9.5.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.5.5\",\n \"webpack\": \"^5.89.0\",\n \"webpack-cli\": \"^5.1.4\",\n \"write-file-webpack-plugin\": \"^4.5.1\"\n },\n \"dependencies\": {\n \"@nestia/core\": \"^6.0.3\",\n \"@nestia/fetcher\": \"^6.0.3\",\n \"@nestjs/common\": \"^11.1.0\",\n \"@nestjs/core\": \"^11.1.0\",\n \"@nestjs/platform-express\": \"^11.1.0\",\n \"commander\": \"10.0.0\",\n \"dotenv\": \"^16.3.1\",\n \"dotenv-expand\": \"^10.0.0\",\n \"inquirer\": \"8.2.5\",\n \"serialize-error\": \"^4.1.0\",\n \"tgrid\": \"^1.1.0\",\n \"tstl\": \"^3.0.0\",\n \"typia\": \"^9.1.1\",\n \"uuid\": \"^9.0.0\"\n },\n \"stackblitz\": {\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test\"\n }\n}"
78
+ "content": "{\n \"private\": true,\n \"name\": \"@ORGANIZATION/PROJECT\",\n \"version\": \"0.1.0\",\n \"description\": \"Starter kit of Nestia\",\n \"main\": \"lib/index.js\",\n \"scripts\": {\n \"benchmark\": \"node bin/test/benchmark\",\n \"test\": \"node bin/test\",\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------BUILDS------------------------\": \"\",\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\n \"build:api\": \"rimraf packages/api/lib && nestia all && rimraf packages/api/lib && tsc -p packages/api/tsconfig.json && rollup -c packages/api/rollup.config.js\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\n \"build:swagger\": \"npx nestia swagger\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\n \"prepare\": \"ts-patch install && ts-node build/env.ts\",\n \"prettier\": \"prettier src --write && prettier test --write\",\n \"------------------------WEBPACK------------------------\": \"\",\n \"webpack\": \"rimraf dist && webpack\",\n \"webpack:start\": \"cd dist && node dist/server\",\n \"webpack:test\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------DEPLOYS------------------------\": \"\",\n \"package:api\": \"npm run build:api && cd packages/api && npm publish\",\n \"start\": \"node lib/executable/server\",\n \"start:dev\": \"nest start --watch\",\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia-start\"\n },\n \"keywords\": [\n \"nestia\",\n \"template\",\n \"boilerplate\"\n ],\n \"author\": \"AUTHOR\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\n },\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\n \"devDependencies\": {\n \"@nestia/benchmark\": \"^6.0.4\",\n \"@nestia/e2e\": \"^6.0.4\",\n \"@nestia/sdk\": \"^6.0.5\",\n \"@nestjs/cli\": \"^11.0.7\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/cli\": \"^0.11.21\",\n \"@types/cli-progress\": \"^3.11.5\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/node\": \"^18.11.0\",\n \"@types/uuid\": \"^8.3.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.1.2\",\n \"cli\": \"^1.0.1\",\n \"cli-progress\": \"^3.12.0\",\n \"copy-webpack-plugin\": \"^11.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"express\": \"^4.18.2\",\n \"nestia\": \"^7.0.0\",\n \"prettier\": \"^3.2.4\",\n \"prettier-plugin-prisma\": \"^5.0.0\",\n \"rimraf\": \"^3.0.2\",\n \"rollup\": \"^4.18.0\",\n \"source-map-support\": \"^0.5.21\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"ts-loader\": \"^9.5.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.5.5\",\n \"webpack\": \"^5.89.0\",\n \"webpack-cli\": \"^5.1.4\",\n \"write-file-webpack-plugin\": \"^4.5.1\"\n },\n \"dependencies\": {\n \"@nestia/core\": \"^6.0.5\",\n \"@nestia/fetcher\": \"^6.0.5\",\n \"@nestjs/common\": \"^11.1.1\",\n \"@nestjs/core\": \"^11.1.1\",\n \"@nestjs/platform-express\": \"^11.1.1\",\n \"commander\": \"10.0.0\",\n \"dotenv\": \"^16.3.1\",\n \"dotenv-expand\": \"^10.0.0\",\n \"inquirer\": \"8.2.5\",\n \"serialize-error\": \"^4.1.0\",\n \"tgrid\": \"^1.1.0\",\n \"tstl\": \"^3.0.0\",\n \"typia\": \"^9.3.1\",\n \"uuid\": \"^9.0.0\"\n },\n \"stackblitz\": {\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test -- --simultaneous 1\"\n }\n}"
79
79
  },
80
80
  {
81
81
  "location": "packages/api",
@@ -95,7 +95,7 @@ exports.NEST_TEMPLATE = [
95
95
  {
96
96
  "location": "packages/api",
97
97
  "file": "package.json",
98
- "content": "{\n \"name\": \"@ORGANIZATION/PROJECT-api\",\n \"version\": \"0.1.0\",\n \"description\": \"SDK library generated by Nestia\",\n \"main\": \"lib/index.js\",\n \"module\": \"lib/index.mjs\",\n \"typings\": \"lib/index.d.ts\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"files\": [\n \"lib\",\n \"package.json\",\n \"swagger.json\",\n \"openai.json\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"@nestia/fetcher\": \"^6.0.3\",\n \"tgrid\": \"^1.1.0\",\n \"typia\": \"^9.1.1\"\n }\n}"
98
+ "content": "{\n \"name\": \"@ORGANIZATION/PROJECT-api\",\n \"version\": \"0.1.0\",\n \"description\": \"SDK library generated by Nestia\",\n \"main\": \"lib/index.js\",\n \"module\": \"lib/index.mjs\",\n \"typings\": \"lib/index.d.ts\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"files\": [\n \"lib\",\n \"package.json\",\n \"swagger.json\",\n \"openai.json\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"@nestia/fetcher\": \"^6.0.5\",\n \"tgrid\": \"^1.1.0\",\n \"typia\": \"^9.3.1\"\n }\n}"
99
99
  },
100
100
  {
101
101
  "location": "packages/api",
@@ -1 +1 @@
1
- {"version":3,"file":"NEST_TEMPLATE.js","sourceRoot":"","sources":["../../src/bundles/NEST_TEMPLATE.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,gBAAgB;KAC5B;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,wmCAAwmC;KACpnC;IACD;QACE,UAAU,EAAE,mBAAmB;QAC/B,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,wvBAAwvB;KACpwB;IACD;QACE,UAAU,EAAE,mBAAmB;QAC/B,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,oQAAoQ;KAChR;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,uGAAuG;KACnH;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,iBAAiB;QACzB,SAAS,EAAE,mHAAmH;KAC/H;IACD;QACE,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,6mCAA6mC;KACznC;IACD;QACE,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,mQAAmQ;KAC/Q;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,ukCAAukC;KACnlC;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,6sNAA6sN;KACztN;IACD;QACE,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,4JAA4J;KACxK;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,MAAM,EAAE,8CAA8C;QACtD,SAAS,EAAE,4pGAA4pG;KACxqG;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,8OAA8O;KAC1P;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,kBAAkB;QAC1B,SAAS,EAAE,wlBAAwlB;KACpmB;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,0jIAA0jI;KACtkI;IACD;QACE,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,kDAAkD;KAC9D;IACD;QACE,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,skCAAskC;KACllC;IACD;QACE,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,6gEAA6gE;KACzhE;IACD;QACE,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,uvBAAuvB;KACnwB;IACD;QACE,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,SAAS,EAAE,upBAAupB;KACnqB;IACD;QACE,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,qmWAAqmW;KACjnW;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,oBAAoB;QAC5B,SAAS,EAAE,mfAAmf;KAC/f;IACD;QACE,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,qpCAAqpC;KACjqC;IACD;QACE,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,oBAAoB;QAC5B,SAAS,EAAE,8gBAA8gB;KAC1hB;IACD;QACE,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,6lBAA6lB;KACzmB;IACD;QACE,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,kDAAkD;KAC9D;IACD;QACE,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,yDAAyD;KACrE;IACD;QACE,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,6CAA6C;KACzD;IACD;QACE,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,4CAA4C;KACxD;IACD;QACE,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,0FAA0F;KACtG;IACD;QACE,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,0HAA0H;KACtI;IACD;QACE,UAAU,EAAE,wBAAwB;QACpC,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,spFAAspF;KAClqF;IACD;QACE,UAAU,EAAE,2BAA2B;QACvC,MAAM,EAAE,oBAAoB;QAC5B,SAAS,EAAE,8PAA8P;KAC1Q;IACD;QACE,UAAU,EAAE,2BAA2B;QACvC,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,24CAA24C;KACv5C;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,0hBAA0hB;KACtiB;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,s7BAAs7B;KACl8B;IACD;QACE,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,4PAA4P;KACxQ;IACD;QACE,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,sTAAsT;KAClU;IACD;QACE,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,mBAAmB;QAC3B,SAAS,EAAE,g3GAAg3G;KAC53G;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,iuHAAiuH;KAC7uH;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,yaAAya;KACrb;IACD;QACE,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,mBAAmB;QAC3B,SAAS,EAAE,s7EAAs7E;KACl8E;IACD;QACE,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,wgBAAwgB;KACphB;IACD;QACE,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,6IAA6I;KACzJ;IACD;QACE,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,m9BAAm9B;KAC/9B;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,qvZAAqvZ;KACjwZ;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,yVAAyV;KACrW;IACD;QACE,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,mBAAmB;QAC3B,SAAS,EAAE,0rDAA0rD;KACtsD;CACF,CAAA"}
1
+ {"version":3,"file":"NEST_TEMPLATE.js","sourceRoot":"","sources":["../../src/bundles/NEST_TEMPLATE.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ exports.SDK_TEMPLATE = [
35
35
  {
36
36
  "location": "",
37
37
  "file": "package.json",
38
- "content": "{\n \"name\": \"@ORGANIZATION/PROJECT-api\",\n \"version\": \"0.1.0\",\n \"description\": \"SDK library generated by Nestia\",\n \"main\": \"lib/index.js\",\n \"module\": \"lib/index.mjs\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"rimraf lib && tsc && rollup -c\",\n \"build:test\": \"rimraf bin && tsc --project test/tsconfig.json\",\n \"deploy\": \"npm run build && npm publish\",\n \"dev\": \"npm run build:test -- --watch\",\n \"hello\": \"node hello\",\n \"prepare\": \"ts-patch install && typia patch\",\n \"start\": \"ts-node test/start.ts\",\n \"swagger\": \"ts-node test/swagger.ts\",\n \"test\": \"ts-node test/index.ts\",\n \"test:simulate\": \"ts-node test/index.ts --simulate true\",\n \"test:manual\": \"ts-node test/manual.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"files\": [\n \"lib\",\n \"swagger.json\",\n \"package.json\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"@nestia/fetcher\": \"^6.0.3\",\n \"tgrid\": \"^1.1.0\",\n \"typia\": \"^9.1.1\"\n },\n \"devDependencies\": {\n \"@nestia/e2e\": \"^6.0.1\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"8.2.5\",\n \"@types/swagger-ui-express\": \"^4.1.6\",\n \"chalk\": \"4.1.2\",\n \"commander\": \"^10.0.0\",\n \"express\": \"^4.19.2\",\n \"inquirer\": \"8.2.5\",\n \"prettier\": \"^3.2.5\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.13.2\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"ts-node\": \"^10.9.2\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.5.5\"\n }\n}"
38
+ "content": "{\n \"name\": \"@ORGANIZATION/PROJECT-api\",\n \"version\": \"0.1.0\",\n \"description\": \"SDK library generated by Nestia\",\n \"main\": \"lib/index.js\",\n \"module\": \"lib/index.mjs\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"rimraf lib && tsc && rollup -c\",\n \"build:test\": \"rimraf bin && tsc --project test/tsconfig.json\",\n \"deploy\": \"npm run build && npm publish\",\n \"dev\": \"npm run build:test -- --watch\",\n \"hello\": \"node hello\",\n \"prepare\": \"ts-patch install && typia patch\",\n \"start\": \"ts-node test/start.ts\",\n \"swagger\": \"ts-node test/swagger.ts\",\n \"test\": \"ts-node test/index.ts\",\n \"test:simulate\": \"ts-node test/index.ts --simulate true\",\n \"test:manual\": \"ts-node test/manual.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"files\": [\n \"lib\",\n \"swagger.json\",\n \"package.json\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"@nestia/fetcher\": \"^6.0.5\",\n \"tgrid\": \"^1.1.0\",\n \"typia\": \"^9.3.1\"\n },\n \"devDependencies\": {\n \"@nestia/e2e\": \"^6.0.4\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"8.2.5\",\n \"@types/swagger-ui-express\": \"^4.1.6\",\n \"chalk\": \"4.1.2\",\n \"commander\": \"^10.0.0\",\n \"express\": \"^4.19.2\",\n \"inquirer\": \"8.2.5\",\n \"prettier\": \"^3.2.5\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.13.2\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"ts-node\": \"^10.9.2\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.5.5\"\n }\n}"
39
39
  },
40
40
  {
41
41
  "location": "",
package/lib/index.mjs CHANGED
@@ -76,7 +76,7 @@ const NEST_TEMPLATE = [ {
76
76
  }, {
77
77
  location: "",
78
78
  file: "README.md",
79
- content: '# Nestia Template\n## Outline\n[![Build Status](https://github.com/samchon/nestia-start/workflows/build/badge.svg)](https://github.com/samchon/nestia-start/actions?query=workflow%3Abuild)\n\nA template repository for backend projects using [nestia](https://github.com/samchon/nestia).\n\nYou can create a new project from this boilerplate by running below command:\n\n```bash\nnpx nestia start <directory>\n```\n\nFor reference, this is a minimal boilerplate project concentrating only on [nestia](https://github.com/samchon/nestia) SDK generation. \n\nIf you wanna much detailed boilerplate project, visit [`@samchon/backend`](https://github.com/samchon/backend).\n\n\n\n\n## Directories and Files\nThis template project has categorized directories like below.\n\nAs you can see from the below, all of the Backend source files are placed into the [src](src/) directory. When you build the TypeScript source files, compiled files would be placed into the `lib` directory following the [tsconfig.json](tsconfig.json) configuration. Otherwise you build client [SDK](#32-sdk) library for npm publishing and their compiled files would be placed into the [packages](packages) directory.\n\n - [packages/api/](packages/api): SDK module built by `npm run build:api`\n - [src/](src): Backend source directory\n - [src/api/](src/api/): Client SDK that would be published to the `@ORGANIZATION/PROJECT-api`\n - [**src/api/functional/**](src/api/functional/): API functions generated by the [`nestia`](https://github.com/samchon/nestia)\n - [**src/api/structures/**](src/api/structures/): DTO structures\n - [src/controllers/](src/controllers/): Controller classes of the Main Program\n - [**test/**](test): Test Automation Program\n - [nestia.config.ts](nestia.config.ts): Configuration file of [`nestia`](https://github.com/samchon/nestia)\n - [package.json](package.json): NPM configuration\n - [tsconfig.json](tsconfig.json): TypeScript configuration for the main program\n - [tsconfig.api.json](tsconfig.api.json): TypeScript configuration for the SDK generation\n\n\n\n\n## NPM Run Commands\nList of the run commands defined in the [package.json](package.json) are like below:\n\n - Test\n - **`test`**: Run test automation program\n - `benchmark`: Run performance benchmark program\n - Build\n - `build`: Build everything\n - `build:main`: Build main program (`src` directory)\n - `build:test` Build test automation program (`test` directory)\n - `build:sdk`: Build SDK into main program only\n - `build:swagger`: Build Swagger Documents\n - **`dev`**: Incremental build for development (test program)\n - Deploy\n - `package:api`: Build and deploy the SDK library to the NPM\n - `start`: Start the backend server\n - `start:dev`: Start the backend server with incremental build and reload\n - Webpack\n - `webpack`: Run webpack bundler\n - `webpack:start`: Start the backend server built by webpack\n - `webpack:test`: Run test program to the webpack built\n\n\n\n\n## Specialization\nTransform this template project to be yours.\n\nWhen you\'ve created a new backend project through this template project, you can specialize it to be suitable for you by changing some words. Replace below words through IDE specific function like `Edit > Replace in Files` (*Ctrl + Shift + H*), who\'ve been supported by the VSCode.\n\n| Before | After\n|-----------------|----------------------------------------\n| ORGANIZATION | Your account or corporation name\n| PROJECT | Your own project name\n| AUTHOR | Author name\n| https://github.com/samchon/nestia-start | Your repository URL\n\n\n\n\n## Test Driven Development\nWith [nestia](https://github.com/samchon/nestia) helps to accomplish TDD (Test Driven Development). \n\nJust define DTOs and API controllers\' methods (only declarations) first. After the definitions, and build SDK (Software Development Kit) through [nestia](https://github.com/samchon/nestia) (`npm run build:sdk`). After buildling those SDK, develop test automation program using the SDK, following use-case scenarios in the framework of client side.\n\nDuring the test automation program development, you can find that which API is miss-designed or which requirement analysis is not exact. Development of the main program must be the last step after such validation process during TDD.\n\n> Visit the [samchon/backend](https://github.com/samchon/backend), then you may find much detailed story about this TDD.\n>\n> 1. Definitions\n> 2. SDK\n> 3. Test Automation Program\n> 4. Main Program\n\n```typescript\nimport {\n ArrayUtil,\n GaffComparator,\n RandomGenerator,\n TestValidator,\n} from "@nestia/e2e";\n\nimport api from "@ORGANIZATION/PROJECT-api/lib/index";\nimport { IBbsArticle } from "@ORGANIZATION/PROJECT-api/lib/structures/bbs/IBbsArticle";\nimport { IPage } from "@ORGANIZATION/PROJECT-api/lib/structures/common/IPage";\n\nexport async function test_api_bbs_article_index_sort(\n connection: api.IConnection,\n): Promise<void> {\n // GENERATE 100 ARTICLES\n const section: string = "general";\n await ArrayUtil.asyncRepeat(100)(() =>\n api.functional.bbs.articles.create(connection, section, {\n writer: RandomGenerator.name(),\n title: RandomGenerator.paragraph(5)(),\n body: RandomGenerator.content(8)()(),\n format: "txt",\n files: [],\n password: RandomGenerator.alphabets(8),\n }),\n );\n\n // PREPARE VALIDATOR\n const validator = TestValidator.sort("BbsArticleProvider.index()")(async (\n sort: IPage.Sort<IBbsArticle.IRequest.SortableColumns>,\n ) => {\n const page: IPage<IBbsArticle.ISummary> =\n await api.functional.bbs.articles.index(connection, section, {\n limit: 100,\n sort,\n });\n return page.data;\n });\n\n // DO VALIDATE\n const components = [\n validator("created_at")(GaffComparator.dates((x) => x.created_at)),\n validator("updated_at")(GaffComparator.dates((x) => x.updated_at)),\n validator("title")(GaffComparator.strings((x) => x.title)),\n validator("writer")(GaffComparator.strings((x) => x.writer)),\n validator(\n "writer",\n "title",\n )(GaffComparator.strings((x) => [x.writer, x.title])),\n ];\n for (const comp of components) {\n await comp("+", false);\n await comp("-", false);\n }\n}\n```\n\nFor reference, if you run `npm run benchmark` command, your test functions defined in the [test/features/api](test/features/api) directory would be utilized for performance benchmarking. If you want to see the performance bench result earlier, visit below link please:\n\n - [docs/benchmarks/AMD Ryzen 9 7940HS w Radeon 780M Graphics.md](https://github.com/samchon/nestia-start/blob/master/docs/benchmarks/AMD%20Ryzen%209%207940HS%20w%20Radeon%20780M%20Graphics.md)'
79
+ content: '# Nestia Template\n## Outline\n[![Build Status](https://github.com/samchon/nestia-start/workflows/build/badge.svg)](https://github.com/samchon/nestia-start/actions?query=workflow%3Abuild)\n\nA template repository for backend projects using [nestia](https://github.com/samchon/nestia).\n\nYou can create a new project from this boilerplate by running below command:\n\n```bash\nnpx nestia start <directory>\n```\n\nFor reference, this is a minimal boilerplate project concentrating only on [nestia](https://github.com/samchon/nestia) SDK generation. \n\nIf you wanna much detailed boilerplate project, visit [`@samchon/backend`](https://github.com/samchon/backend).\n\n\n\n\n## Directories and Files\nThis template project has categorized directories like below.\n\nAs you can see from the below, all of the Backend source files are placed into the [src](src/) directory. When you build the TypeScript source files, compiled files would be placed into the `lib` directory following the [tsconfig.json](tsconfig.json) configuration. Otherwise you build client [SDK](#32-sdk) library for npm publishing and their compiled files would be placed into the [packages](packages) directory.\n\n - [packages/api/](packages/api): SDK module built by `npm run build:api`\n - [src/](src): Backend source directory\n - [src/api/](src/api/): Client SDK that would be published to the `@ORGANIZATION/PROJECT-api`\n - [**src/api/functional/**](src/api/functional/): API functions generated by the [`nestia`](https://github.com/samchon/nestia)\n - [**src/api/structures/**](src/api/structures/): DTO structures\n - [src/controllers/](src/controllers/): Controller classes of the Main Program\n - [**test/**](test): Test Automation Program\n - [nestia.config.ts](nestia.config.ts): Configuration file of [`nestia`](https://github.com/samchon/nestia)\n - [package.json](package.json): NPM configuration\n - [tsconfig.json](tsconfig.json): TypeScript configuration for the main program\n\n\n\n\n## NPM Run Commands\nList of the run commands defined in the [package.json](package.json) are like below:\n\n - Test\n - **`test`**: Run test automation program\n - `benchmark`: Run performance benchmark program\n - Build\n - `build`: Build everything\n - `build:main`: Build main program (`src` directory)\n - `build:test` Build test automation program (`test` directory)\n - `build:sdk`: Build SDK into main program only\n - `build:swagger`: Build Swagger Documents\n - **`dev`**: Incremental build for development (test program)\n - Deploy\n - `package:api`: Build and deploy the SDK library to the NPM\n - `start`: Start the backend server\n - `start:dev`: Start the backend server with incremental build and reload\n - Webpack\n - `webpack`: Run webpack bundler\n - `webpack:start`: Start the backend server built by webpack\n - `webpack:test`: Run test program to the webpack built\n\n\n\n\n## Specialization\nTransform this template project to be yours.\n\nWhen you\'ve created a new backend project through this template project, you can specialize it to be suitable for you by changing some words. Replace below words through IDE specific function like `Edit > Replace in Files` (*Ctrl + Shift + H*), who\'ve been supported by the VSCode.\n\n| Before | After\n|-----------------|----------------------------------------\n| ORGANIZATION | Your account or corporation name\n| PROJECT | Your own project name\n| AUTHOR | Author name\n| https://github.com/samchon/nestia-start | Your repository URL\n\n\n\n\n## Test Driven Development\nWith [nestia](https://github.com/samchon/nestia) helps to accomplish TDD (Test Driven Development). \n\nJust define DTOs and API controllers\' methods (only declarations) first. After the definitions, and build SDK (Software Development Kit) through [nestia](https://github.com/samchon/nestia) (`npm run build:sdk`). After buildling those SDK, develop test automation program using the SDK, following use-case scenarios in the framework of client side.\n\nDuring the test automation program development, you can find that which API is miss-designed or which requirement analysis is not exact. Development of the main program must be the last step after such validation process during TDD.\n\n> Visit the [samchon/backend](https://github.com/samchon/backend), then you may find much detailed story about this TDD.\n>\n> 1. Definitions\n> 2. SDK\n> 3. Test Automation Program\n> 4. Main Program\n\n```typescript\nimport {\n ArrayUtil,\n GaffComparator,\n RandomGenerator,\n TestValidator,\n} from "@nestia/e2e";\n\nimport api from "@ORGANIZATION/PROJECT-api/lib/index";\nimport { IBbsArticle } from "@ORGANIZATION/PROJECT-api/lib/structures/bbs/IBbsArticle";\nimport { IPage } from "@ORGANIZATION/PROJECT-api/lib/structures/common/IPage";\n\nexport async function test_api_bbs_article_index_sort(\n connection: api.IConnection,\n): Promise<void> {\n // GENERATE 100 ARTICLES\n const section: string = "general";\n await ArrayUtil.asyncRepeat(100)(() =>\n api.functional.bbs.articles.create(connection, section, {\n writer: RandomGenerator.name(),\n title: RandomGenerator.paragraph(5)(),\n body: RandomGenerator.content(8)()(),\n format: "txt",\n files: [],\n password: RandomGenerator.alphabets(8),\n }),\n );\n\n // PREPARE VALIDATOR\n const validator = TestValidator.sort("BbsArticleProvider.index()")(async (\n sort: IPage.Sort<IBbsArticle.IRequest.SortableColumns>,\n ) => {\n const page: IPage<IBbsArticle.ISummary> =\n await api.functional.bbs.articles.index(connection, section, {\n limit: 100,\n sort,\n });\n return page.data;\n });\n\n // DO VALIDATE\n const components = [\n validator("created_at")(GaffComparator.dates((x) => x.created_at)),\n validator("updated_at")(GaffComparator.dates((x) => x.updated_at)),\n validator("title")(GaffComparator.strings((x) => x.title)),\n validator("writer")(GaffComparator.strings((x) => x.writer)),\n validator(\n "writer",\n "title",\n )(GaffComparator.strings((x) => [x.writer, x.title])),\n ];\n for (const comp of components) {\n await comp("+", false);\n await comp("-", false);\n }\n}\n```\n\nFor reference, if you run `npm run benchmark` command, your test functions defined in the [test/features/api](test/features/api) directory would be utilized for performance benchmarking. If you want to see the performance bench result earlier, visit below link please:\n\n - [docs/benchmarks/AMD Ryzen 9 7940HS w Radeon 780M Graphics.md](https://github.com/samchon/nestia-start/blob/master/docs/benchmarks/AMD%20Ryzen%209%207940HS%20w%20Radeon%20780M%20Graphics.md)'
80
80
  }, {
81
81
  location: "build",
82
82
  file: "env.ts",
@@ -96,7 +96,7 @@ const NEST_TEMPLATE = [ {
96
96
  }, {
97
97
  location: "",
98
98
  file: "package.json",
99
- content: '{\n "private": true,\n "name": "@ORGANIZATION/PROJECT",\n "version": "0.1.0",\n "description": "Starter kit of Nestia",\n "main": "lib/index.js",\n "scripts": {\n "benchmark": "node bin/test/benchmark",\n "test": "node bin/test",\n "test:webpack": "npm run webpack && node bin/test/webpack.js",\n "------------------------BUILDS------------------------": "",\n "build": "npm run build:sdk && npm run build:main && npm run build:test",\n "build:api": "rimraf packages/api/lib && nestia all && rimraf packages/api/lib && tsc -p packages/api/tsconfig.json && rollup -c packages/api/rollup.config.js",\n "build:main": "rimraf lib && tsc",\n "build:sdk": "rimraf src/api/functional && nestia sdk",\n "build:swagger": "npx nestia swagger",\n "build:test": "rimraf bin && tsc -p test/tsconfig.json",\n "dev": "npm run build:test -- --watch",\n "eslint": "eslint src && eslint test",\n "eslint:fix": "eslint --fix src && eslint --fix test",\n "prepare": "ts-patch install && ts-node build/env.ts",\n "prettier": "prettier src --write && prettier test --write",\n "------------------------WEBPACK------------------------": "",\n "webpack": "rimraf dist && webpack",\n "webpack:start": "cd dist && node dist/server",\n "webpack:test": "npm run webpack && node bin/test/webpack.js",\n "------------------------DEPLOYS------------------------": "",\n "package:api": "npm run build:api && cd packages/api && npm publish",\n "start": "node lib/executable/server",\n "start:dev": "nest start --watch",\n "start:swagger": "ts-node src/executable/swagger.ts"\n },\n "repository": {\n "type": "git",\n "url": "https://github.com/samchon/nestia-start"\n },\n "keywords": [\n "nestia",\n "template",\n "boilerplate"\n ],\n "author": "AUTHOR",\n "license": "MIT",\n "bugs": {\n "url": "https://github.com/samchon/nestia-start/issues"\n },\n "homepage": "https://github.com/samchon/nestia-start#readme",\n "devDependencies": {\n "@nestia/benchmark": "^6.0.1",\n "@nestia/e2e": "^6.0.1",\n "@nestia/sdk": "^6.0.3",\n "@nestjs/cli": "^11.0.7",\n "@rollup/plugin-terser": "^0.4.4",\n "@rollup/plugin-typescript": "^11.1.6",\n "@trivago/prettier-plugin-sort-imports": "^4.3.0",\n "@types/cli": "^0.11.21",\n "@types/cli-progress": "^3.11.5",\n "@types/express": "^4.17.21",\n "@types/inquirer": "^8.2.5",\n "@types/node": "^18.11.0",\n "@types/uuid": "^8.3.4",\n "@typescript-eslint/eslint-plugin": "^8.1.0",\n "@typescript-eslint/parser": "^8.1.0",\n "chalk": "^4.1.2",\n "cli": "^1.0.1",\n "cli-progress": "^3.12.0",\n "copy-webpack-plugin": "^11.0.0",\n "eslint-plugin-deprecation": "^3.0.0",\n "express": "^4.18.2",\n "nestia": "^7.0.0",\n "prettier": "^3.2.4",\n "prettier-plugin-prisma": "^5.0.0",\n "rimraf": "^3.0.2",\n "rollup": "^4.18.0",\n "source-map-support": "^0.5.21",\n "swagger-ui-express": "^5.0.0",\n "ts-loader": "^9.5.1",\n "ts-node": "^10.9.1",\n "ts-patch": "^3.3.0",\n "typescript": "~5.8.3",\n "typescript-transform-paths": "^3.5.5",\n "webpack": "^5.89.0",\n "webpack-cli": "^5.1.4",\n "write-file-webpack-plugin": "^4.5.1"\n },\n "dependencies": {\n "@nestia/core": "^6.0.3",\n "@nestia/fetcher": "^6.0.3",\n "@nestjs/common": "^11.1.0",\n "@nestjs/core": "^11.1.0",\n "@nestjs/platform-express": "^11.1.0",\n "commander": "10.0.0",\n "dotenv": "^16.3.1",\n "dotenv-expand": "^10.0.0",\n "inquirer": "8.2.5",\n "serialize-error": "^4.1.0",\n "tgrid": "^1.1.0",\n "tstl": "^3.0.0",\n "typia": "^9.1.1",\n "uuid": "^9.0.0"\n },\n "stackblitz": {\n "startCommand": "npm run prepare && npm run build:test && npm run test"\n }\n}'
99
+ content: '{\n "private": true,\n "name": "@ORGANIZATION/PROJECT",\n "version": "0.1.0",\n "description": "Starter kit of Nestia",\n "main": "lib/index.js",\n "scripts": {\n "benchmark": "node bin/test/benchmark",\n "test": "node bin/test",\n "test:webpack": "npm run webpack && node bin/test/webpack.js",\n "------------------------BUILDS------------------------": "",\n "build": "npm run build:sdk && npm run build:main && npm run build:test",\n "build:api": "rimraf packages/api/lib && nestia all && rimraf packages/api/lib && tsc -p packages/api/tsconfig.json && rollup -c packages/api/rollup.config.js",\n "build:main": "rimraf lib && tsc",\n "build:sdk": "rimraf src/api/functional && nestia sdk",\n "build:swagger": "npx nestia swagger",\n "build:test": "rimraf bin && tsc -p test/tsconfig.json",\n "dev": "npm run build:test -- --watch",\n "eslint": "eslint src && eslint test",\n "eslint:fix": "eslint --fix src && eslint --fix test",\n "prepare": "ts-patch install && ts-node build/env.ts",\n "prettier": "prettier src --write && prettier test --write",\n "------------------------WEBPACK------------------------": "",\n "webpack": "rimraf dist && webpack",\n "webpack:start": "cd dist && node dist/server",\n "webpack:test": "npm run webpack && node bin/test/webpack.js",\n "------------------------DEPLOYS------------------------": "",\n "package:api": "npm run build:api && cd packages/api && npm publish",\n "start": "node lib/executable/server",\n "start:dev": "nest start --watch",\n "start:swagger": "ts-node src/executable/swagger.ts"\n },\n "repository": {\n "type": "git",\n "url": "https://github.com/samchon/nestia-start"\n },\n "keywords": [\n "nestia",\n "template",\n "boilerplate"\n ],\n "author": "AUTHOR",\n "license": "MIT",\n "bugs": {\n "url": "https://github.com/samchon/nestia-start/issues"\n },\n "homepage": "https://github.com/samchon/nestia-start#readme",\n "devDependencies": {\n "@nestia/benchmark": "^6.0.4",\n "@nestia/e2e": "^6.0.4",\n "@nestia/sdk": "^6.0.5",\n "@nestjs/cli": "^11.0.7",\n "@rollup/plugin-terser": "^0.4.4",\n "@rollup/plugin-typescript": "^11.1.6",\n "@trivago/prettier-plugin-sort-imports": "^4.3.0",\n "@types/cli": "^0.11.21",\n "@types/cli-progress": "^3.11.5",\n "@types/express": "^4.17.21",\n "@types/inquirer": "^8.2.5",\n "@types/node": "^18.11.0",\n "@types/uuid": "^8.3.4",\n "@typescript-eslint/eslint-plugin": "^8.1.0",\n "@typescript-eslint/parser": "^8.1.0",\n "chalk": "^4.1.2",\n "cli": "^1.0.1",\n "cli-progress": "^3.12.0",\n "copy-webpack-plugin": "^11.0.0",\n "eslint-plugin-deprecation": "^3.0.0",\n "express": "^4.18.2",\n "nestia": "^7.0.0",\n "prettier": "^3.2.4",\n "prettier-plugin-prisma": "^5.0.0",\n "rimraf": "^3.0.2",\n "rollup": "^4.18.0",\n "source-map-support": "^0.5.21",\n "swagger-ui-express": "^5.0.0",\n "ts-loader": "^9.5.1",\n "ts-node": "^10.9.1",\n "ts-patch": "^3.3.0",\n "typescript": "~5.8.3",\n "typescript-transform-paths": "^3.5.5",\n "webpack": "^5.89.0",\n "webpack-cli": "^5.1.4",\n "write-file-webpack-plugin": "^4.5.1"\n },\n "dependencies": {\n "@nestia/core": "^6.0.5",\n "@nestia/fetcher": "^6.0.5",\n "@nestjs/common": "^11.1.1",\n "@nestjs/core": "^11.1.1",\n "@nestjs/platform-express": "^11.1.1",\n "commander": "10.0.0",\n "dotenv": "^16.3.1",\n "dotenv-expand": "^10.0.0",\n "inquirer": "8.2.5",\n "serialize-error": "^4.1.0",\n "tgrid": "^1.1.0",\n "tstl": "^3.0.0",\n "typia": "^9.3.1",\n "uuid": "^9.0.0"\n },\n "stackblitz": {\n "startCommand": "npm run prepare && npm run build:test && npm run test -- --simultaneous 1"\n }\n}'
100
100
  }, {
101
101
  location: "packages/api",
102
102
  file: ".gitignore",
@@ -112,7 +112,7 @@ const NEST_TEMPLATE = [ {
112
112
  }, {
113
113
  location: "packages/api",
114
114
  file: "package.json",
115
- content: '{\n "name": "@ORGANIZATION/PROJECT-api",\n "version": "0.1.0",\n "description": "SDK library generated by Nestia",\n "main": "lib/index.js",\n "module": "lib/index.mjs",\n "typings": "lib/index.d.ts",\n "repository": {\n "type": "git",\n "url": "https://github.com/samchon/nestia"\n },\n "author": "Jeongho Nam",\n "license": "MIT",\n "bugs": {\n "url": "https://github.com/samchon/nestia/issues"\n },\n "homepage": "https://nestia.io",\n "files": [\n "lib",\n "package.json",\n "swagger.json",\n "openai.json",\n "README.md"\n ],\n "dependencies": {\n "@nestia/fetcher": "^6.0.3",\n "tgrid": "^1.1.0",\n "typia": "^9.1.1"\n }\n}'
115
+ content: '{\n "name": "@ORGANIZATION/PROJECT-api",\n "version": "0.1.0",\n "description": "SDK library generated by Nestia",\n "main": "lib/index.js",\n "module": "lib/index.mjs",\n "typings": "lib/index.d.ts",\n "repository": {\n "type": "git",\n "url": "https://github.com/samchon/nestia"\n },\n "author": "Jeongho Nam",\n "license": "MIT",\n "bugs": {\n "url": "https://github.com/samchon/nestia/issues"\n },\n "homepage": "https://nestia.io",\n "files": [\n "lib",\n "package.json",\n "swagger.json",\n "openai.json",\n "README.md"\n ],\n "dependencies": {\n "@nestia/fetcher": "^6.0.5",\n "tgrid": "^1.1.0",\n "typia": "^9.3.1"\n }\n}'
116
116
  }, {
117
117
  location: "packages/api",
118
118
  file: "rollup.config.js",
@@ -258,7 +258,7 @@ const SDK_TEMPLATE = [ {
258
258
  }, {
259
259
  location: "",
260
260
  file: "package.json",
261
- content: '{\n "name": "@ORGANIZATION/PROJECT-api",\n "version": "0.1.0",\n "description": "SDK library generated by Nestia",\n "main": "lib/index.js",\n "module": "lib/index.mjs",\n "typings": "lib/index.d.ts",\n "scripts": {\n "build": "rimraf lib && tsc && rollup -c",\n "build:test": "rimraf bin && tsc --project test/tsconfig.json",\n "deploy": "npm run build && npm publish",\n "dev": "npm run build:test -- --watch",\n "hello": "node hello",\n "prepare": "ts-patch install && typia patch",\n "start": "ts-node test/start.ts",\n "swagger": "ts-node test/swagger.ts",\n "test": "ts-node test/index.ts",\n "test:simulate": "ts-node test/index.ts --simulate true",\n "test:manual": "ts-node test/manual.ts"\n },\n "repository": {\n "type": "git",\n "url": "https://github.com/samchon/nestia"\n },\n "author": "Jeongho Nam",\n "license": "MIT",\n "bugs": {\n "url": "https://github.com/samchon/nestia/issues"\n },\n "homepage": "https://nestia.io",\n "files": [\n "lib",\n "swagger.json",\n "package.json",\n "README.md"\n ],\n "dependencies": {\n "@nestia/fetcher": "^6.0.3",\n "tgrid": "^1.1.0",\n "typia": "^9.1.1"\n },\n "devDependencies": {\n "@nestia/e2e": "^6.0.1",\n "@rollup/plugin-terser": "^0.4.4",\n "@rollup/plugin-typescript": "^11.1.6",\n "@trivago/prettier-plugin-sort-imports": "^4.3.0",\n "@types/express": "^4.17.21",\n "@types/inquirer": "8.2.5",\n "@types/swagger-ui-express": "^4.1.6",\n "chalk": "4.1.2",\n "commander": "^10.0.0",\n "express": "^4.19.2",\n "inquirer": "8.2.5",\n "prettier": "^3.2.5",\n "rimraf": "^5.0.5",\n "rollup": "^4.13.2",\n "swagger-ui-express": "^5.0.0",\n "ts-node": "^10.9.2",\n "ts-patch": "^3.3.0",\n "typescript": "~5.8.3",\n "typescript-transform-paths": "^3.5.5"\n }\n}'
261
+ content: '{\n "name": "@ORGANIZATION/PROJECT-api",\n "version": "0.1.0",\n "description": "SDK library generated by Nestia",\n "main": "lib/index.js",\n "module": "lib/index.mjs",\n "typings": "lib/index.d.ts",\n "scripts": {\n "build": "rimraf lib && tsc && rollup -c",\n "build:test": "rimraf bin && tsc --project test/tsconfig.json",\n "deploy": "npm run build && npm publish",\n "dev": "npm run build:test -- --watch",\n "hello": "node hello",\n "prepare": "ts-patch install && typia patch",\n "start": "ts-node test/start.ts",\n "swagger": "ts-node test/swagger.ts",\n "test": "ts-node test/index.ts",\n "test:simulate": "ts-node test/index.ts --simulate true",\n "test:manual": "ts-node test/manual.ts"\n },\n "repository": {\n "type": "git",\n "url": "https://github.com/samchon/nestia"\n },\n "author": "Jeongho Nam",\n "license": "MIT",\n "bugs": {\n "url": "https://github.com/samchon/nestia/issues"\n },\n "homepage": "https://nestia.io",\n "files": [\n "lib",\n "swagger.json",\n "package.json",\n "README.md"\n ],\n "dependencies": {\n "@nestia/fetcher": "^6.0.5",\n "tgrid": "^1.1.0",\n "typia": "^9.3.1"\n },\n "devDependencies": {\n "@nestia/e2e": "^6.0.4",\n "@rollup/plugin-terser": "^0.4.4",\n "@rollup/plugin-typescript": "^11.1.6",\n "@trivago/prettier-plugin-sort-imports": "^4.3.0",\n "@types/express": "^4.17.21",\n "@types/inquirer": "8.2.5",\n "@types/swagger-ui-express": "^4.1.6",\n "chalk": "4.1.2",\n "commander": "^10.0.0",\n "express": "^4.19.2",\n "inquirer": "8.2.5",\n "prettier": "^3.2.5",\n "rimraf": "^5.0.5",\n "rollup": "^4.13.2",\n "swagger-ui-express": "^5.0.0",\n "ts-node": "^10.9.2",\n "ts-patch": "^3.3.0",\n "typescript": "~5.8.3",\n "typescript-transform-paths": "^3.5.5"\n }\n}'
262
262
  }, {
263
263
  location: "",
264
264
  file: "prettier.config.js",
@@ -327,7 +327,9 @@ var FilePrinter;
327
327
  };
328
328
  FilePrinter.newLine = () => ts.factory.createExpressionStatement(ts.factory.createIdentifier("\n"));
329
329
  FilePrinter.write = props => {
330
- const script = ts.createPrinter().printFile(ts.factory.createSourceFile(props.statements, ts.factory.createToken(ts.SyntaxKind.EndOfFileToken), ts.NodeFlags.None));
330
+ const script = ts.createPrinter({
331
+ newLine: ts.NewLineKind.LineFeed
332
+ }).printFile(ts.factory.createSourceFile(props.statements, ts.factory.createToken(ts.SyntaxKind.EndOfFileToken), ts.NodeFlags.None));
331
333
  return (props.top ?? "") + script;
332
334
  };
333
335
  })(FilePrinter || (FilePrinter = {}));
@@ -464,7 +466,7 @@ var MigrateSchemaProgrammer;
464
466
  return intersection.length === 1 ? intersection[0] : ts.factory.createIntersectionTypeNode(intersection);
465
467
  };
466
468
  const writeObject = components => importer => schema => {
467
- const regular = () => ts.factory.createTypeLiteralNode(Object.entries(schema.properties ?? []).map((([key, value]) => writeRegularProperty(components)(importer)(schema.required ?? [])(key, value))));
469
+ const regular = () => ts.factory.createTypeLiteralNode(Object.entries(schema.properties ?? []).map((([key, value], index) => [ ...index !== 0 ? [ ts.factory.createIdentifier("\n") ] : [], writeRegularProperty(components)(importer)(schema.required ?? [])(key, value) ])).flat());
468
470
  const dynamic = () => ts.factory.createTypeLiteralNode([ writeDynamicProperty(components)(importer)(schema.additionalProperties) ]);
469
471
  return !!schema.properties?.length && typeof schema.additionalProperties === "object" ? ts.factory.createIntersectionTypeNode([ regular(), dynamic() ]) : typeof schema.additionalProperties === "object" ? dynamic() : regular();
470
472
  };
@@ -492,13 +494,13 @@ const writePlugin = props => schema => {
492
494
  var MigrateApiFunctionProgrammer;
493
495
 
494
496
  (function(MigrateApiFunctionProgrammer) {
495
- MigrateApiFunctionProgrammer.write = config => components => importer => route => FilePrinter.description(ts.factory.createFunctionDeclaration([ ts.factory.createModifier(ts.SyntaxKind.ExportKeyword), ts.factory.createModifier(ts.SyntaxKind.AsyncKeyword) ], undefined, route.accessor.at(-1), undefined, MigrateApiFunctionProgrammer.writeParameterDeclarations(components)(importer)(route), ts.factory.createTypeReferenceNode("Promise", [ ts.factory.createTypeReferenceNode(route.success === null ? "void" : `${route.accessor.at(-1)}.Output`) ]), ts.factory.createBlock(writeBody(config)(importer)(route), true)), writeDescription(route));
497
+ MigrateApiFunctionProgrammer.write = config => components => importer => route => FilePrinter.description(ts.factory.createFunctionDeclaration([ ts.factory.createModifier(ts.SyntaxKind.ExportKeyword), ts.factory.createModifier(ts.SyntaxKind.AsyncKeyword) ], undefined, route.accessor.at(-1), undefined, MigrateApiFunctionProgrammer.writeParameterDeclarations(components)(importer)(route), ts.factory.createTypeReferenceNode("Promise", [ ts.factory.createTypeReferenceNode(route.success === null ? "void" : `${route.accessor.at(-1)}.Output`) ]), ts.factory.createBlock(writeBody(config)(importer)(route), true)), writeDescription(config)(route));
496
498
  MigrateApiFunctionProgrammer.writeParameterDeclarations = components => importer => route => [ IdentifierFactory.parameter("connection", ts.factory.createTypeReferenceNode(importer.external({
497
499
  type: "instance",
498
500
  library: "@nestia/fetcher",
499
501
  name: "IConnection"
500
502
  }), route.headers ? [ ts.factory.createTypeReferenceNode(`${route.accessor.at(-1)}.Headers`) ] : undefined)), ...route.parameters.map((p => IdentifierFactory.parameter(p.key, MigrateSchemaProgrammer.write(components)(importer)(p.schema)))), ...route.query ? [ IdentifierFactory.parameter(route.query.key, ts.factory.createTypeReferenceNode(`${route.accessor.at(-1)}.Query`)) ] : [], ...route.body ? [ IdentifierFactory.parameter(route.body.key, ts.factory.createTypeReferenceNode(`${route.accessor.at(-1)}.Input`), (route.body.type === "application/json" || route.body.type === "text/plain") && route.operation().requestBody?.required === false ? ts.factory.createToken(ts.SyntaxKind.QuestionToken) : undefined) ] : [] ];
501
- const writeDescription = route => [ route.comment(), `@path ${route.emendedPath}`, "@nestia Generated by Nestia - https://github.com/samchon/nestia" ].join("\n");
503
+ const writeDescription = config => route => [ route.comment(), `@path ${route.emendedPath}`, `@${config.author?.tag ?? "nestia"} ${config.author?.value ?? "Generated by Nestia - https://github.com/samchon/nestia"}` ].join("\n");
502
504
  const writeBody = config => importer => route => {
503
505
  const encrypted = !!route.success?.["x-nestia-encrypted"];
504
506
  const contentType = route.body?.type ?? "application/json";
@@ -694,7 +696,7 @@ var MigrateApiFileProgrammer;
694
696
  (function(MigrateApiFileProgrammer) {
695
697
  MigrateApiFileProgrammer.write = config => components => props => {
696
698
  const importer = new MigrateImportProgrammer;
697
- const statements = props.routes.map((route => [ MigrateApiFunctionProgrammer.write(config)(components)(importer)(route), MigrateApiNamespaceProgrammer.write(config)(components)(importer)(route) ])).flat();
699
+ const statements = props.routes.map((route => [ FilePrinter.newLine(), MigrateApiFunctionProgrammer.write(config)(components)(importer)(route), MigrateApiNamespaceProgrammer.write(config)(components)(importer)(route) ])).flat();
698
700
  return [ ...importer.toStatements((ref => `../${"../".repeat(props.namespace.length)}structures/${ref}`)), ...[ ...props.children ].map((child => ts.factory.createExportDeclaration(undefined, false, ts.factory.createNamespaceExport(ts.factory.createIdentifier(child)), ts.factory.createStringLiteral(`./${child}`), undefined))), ...statements ];
699
701
  };
700
702
  })(MigrateApiFileProgrammer || (MigrateApiFileProgrammer = {}));
@@ -780,11 +782,12 @@ var MigrateApiProgrammer;
780
782
  const iterate = importer => modulo => {
781
783
  const output = [];
782
784
  if (modulo.programmer !== null) output.push(modulo.programmer(importer));
783
- if (modulo.children.size) {
785
+ if (modulo.children.size !== 0) {
784
786
  const internal = [];
785
787
  for (const child of modulo.children.values()) internal.push(...iterate(importer)(child));
786
788
  output.push(ts.factory.createModuleDeclaration([ ts.factory.createModifier(ts.SyntaxKind.ExportKeyword) ], ts.factory.createIdentifier(modulo.name), ts.factory.createModuleBlock(internal), ts.NodeFlags.Namespace));
787
789
  }
790
+ output.push(FilePrinter.newLine());
788
791
  return output;
789
792
  };
790
793
  })(MigrateApiProgrammer || (MigrateApiProgrammer = {}));
@@ -900,16 +903,16 @@ const getSplitIndex = (x, y) => {
900
903
  var MigrateNestMethodProgrammer;
901
904
 
902
905
  (function(MigrateNestMethodProgrammer) {
903
- MigrateNestMethodProgrammer.write = components => importer => controller => route => {
906
+ MigrateNestMethodProgrammer.write = config => components => importer => controller => route => {
904
907
  const output = route.success ? MigrateSchemaProgrammer.write(components)(importer)(route.success.schema) : TypeFactory.keyword("void");
905
908
  const method = ts.factory.createMethodDeclaration([ ...writeMethodDecorators(components)(importer)(controller)(route), ts.factory.createToken(ts.SyntaxKind.PublicKeyword), ts.factory.createToken(ts.SyntaxKind.AsyncKeyword) ], undefined, route.accessor.at(-1), undefined, undefined, writeParameters(components)(importer)(route), ts.factory.createTypeReferenceNode("Promise", [ output ]), ts.factory.createBlock([ ...[ ...route.parameters.map((p => p.key)), ...route.headers ? [ "headers" ] : [], ...route.query ? [ "query" ] : [], ...route.body ? [ "body" ] : [] ].map((str => ts.factory.createExpressionStatement(ts.factory.createIdentifier(str)))), ts.factory.createReturnStatement(ts.factory.createCallExpression(IdentifierFactory.access(ts.factory.createIdentifier(importer.external({
906
909
  type: "default",
907
910
  library: "typia",
908
911
  name: "typia"
909
912
  })), "random"), [ output ], undefined)) ], true));
910
- return FilePrinter.description(method, writeDescription(route));
913
+ return FilePrinter.description(method, writeDescription(config)(route));
911
914
  };
912
- const writeDescription = method => [ method.comment(), "@nestia Generated by Nestia - https://github.com/samchon/nestia" ].join("\n");
915
+ const writeDescription = config => method => [ method.comment(), `@${config.author?.tag ?? "nestia"} ${config.author?.value ?? "Generated by Nestia - https://github.com/samchon/nestia"}` ].join("\n");
913
916
  const writeMethodDecorators = components => importer => controller => route => {
914
917
  const external = lib => instance => ts.factory.createIdentifier(importer.external({
915
918
  type: "instance",
@@ -983,13 +986,13 @@ var MigrateNestMethodProgrammer;
983
986
  var MigrateNestControllerProgrammer;
984
987
 
985
988
  (function(MigrateNestControllerProgrammer) {
986
- MigrateNestControllerProgrammer.write = components => controller => {
989
+ MigrateNestControllerProgrammer.write = config => components => controller => {
987
990
  const importer = new MigrateImportProgrammer;
988
991
  const $class = ts.factory.createClassDeclaration([ ts.factory.createDecorator(ts.factory.createCallExpression(ts.factory.createIdentifier(importer.external({
989
992
  type: "instance",
990
993
  library: "@nestjs/common",
991
994
  name: "Controller"
992
- })), [], [ ts.factory.createStringLiteral(controller.path) ])), ts.factory.createToken(ts.SyntaxKind.ExportKeyword) ], controller.name, [], [], controller.routes.map(MigrateNestMethodProgrammer.write(components)(importer)(controller)));
995
+ })), [], [ ts.factory.createStringLiteral(controller.path) ])), ts.factory.createToken(ts.SyntaxKind.ExportKeyword) ], controller.name, [], [], controller.routes.map(((route, index) => [ ...index !== 0 ? [ FilePrinter.newLine() ] : [], MigrateNestMethodProgrammer.write(config)(components)(importer)(controller)(route) ])).flat());
993
996
  return [ ...importer.toStatements((ref => `${"../".repeat(StringUtil.splitWithNormalization(controller.location).length - 1)}api/structures/${ref}`)), ...importer.empty() ? [] : [ FilePrinter.newLine() ], $class ];
994
997
  };
995
998
  })(MigrateNestControllerProgrammer || (MigrateNestControllerProgrammer = {}));
@@ -1016,7 +1019,7 @@ var MigrateNestProgrammer;
1016
1019
  }, ...controllers.map((c => ({
1017
1020
  location: c.location,
1018
1021
  file: `${c.name}.ts`,
1019
- statements: MigrateNestControllerProgrammer.write(program.document.components)(c)
1022
+ statements: MigrateNestControllerProgrammer.write(program)(program.document.components)(c)
1020
1023
  }))), ...[ ...MigrateDtoProgrammer.compose(program.document.components).entries() ].map((([key, value]) => ({
1021
1024
  location: "src/api/structures",
1022
1025
  file: `${key}.ts`,
@@ -1043,6 +1046,7 @@ var MigrateNestProgrammer;
1043
1046
  for (const child of modulo.children.values()) internal.push(...iterate(importer)(child));
1044
1047
  output.push(ts.factory.createModuleDeclaration([ ts.factory.createModifier(ts.SyntaxKind.ExportKeyword) ], ts.factory.createIdentifier(modulo.name), ts.factory.createModuleBlock(internal), ts.NodeFlags.Namespace));
1045
1048
  }
1049
+ output.push(FilePrinter.newLine());
1046
1050
  return output;
1047
1051
  };
1048
1052
  })(MigrateNestProgrammer || (MigrateNestProgrammer = {}));
@@ -8744,11 +8748,12 @@ class MigrateApplication {
8744
8748
  mode: "nest",
8745
8749
  document: this.document,
8746
8750
  simulate: config.simulate,
8747
- e2e: config.e2e
8751
+ e2e: config.e2e,
8752
+ author: config.author
8748
8753
  });
8749
8754
  const output = {
8750
8755
  program,
8751
- files: [ ...NEST_TEMPLATE, ...MigrateNestProgrammer.write(program), ...MigrateApiProgrammer.write(program), ...config.e2e ? MigrateE2eProgrammer.write(program) : [] ],
8756
+ files: [ ...NEST_TEMPLATE.filter((f => f.location.startsWith("src/api/structures") === false && f.location.startsWith("src/api/functional") === false && f.location.startsWith("src/api/controllers") === false && f.location.startsWith("test/features") === false)), ...MigrateNestProgrammer.write(program), ...MigrateApiProgrammer.write(program), ...config.e2e ? MigrateE2eProgrammer.write(program) : [] ],
8752
8757
  errors: program.errors
8753
8758
  };
8754
8759
  return this.finalize(config, output);
@@ -8758,11 +8763,12 @@ class MigrateApplication {
8758
8763
  mode: "sdk",
8759
8764
  document: this.document,
8760
8765
  simulate: config.simulate,
8761
- e2e: config.e2e
8766
+ e2e: config.e2e,
8767
+ author: config.author
8762
8768
  });
8763
8769
  const output = {
8764
8770
  program,
8765
- files: [ ...SDK_TEMPLATE, ...MigrateApiProgrammer.write(program), MigrateApiStartProgrammer.write(program), ...config.e2e ? MigrateE2eProgrammer.write(program) : [], {
8771
+ files: [ ...SDK_TEMPLATE.filter((f => f.location.startsWith("src/structures") === false && f.location.startsWith("src/functional") === false && f.location.startsWith("test/features") === false)), ...MigrateApiProgrammer.write(program), MigrateApiStartProgrammer.write(program), ...config.e2e ? MigrateE2eProgrammer.write(program) : [], {
8766
8772
  location: "",
8767
8773
  file: "swagger.json",
8768
8774
  content: JSON.stringify(this.document, null, 2)