ts-openapi-codegen 2.1.0-beta.5 → 2.1.0-beta.7

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 (210) hide show
  1. package/README.md +3 -0
  2. package/README.rus.md +3 -0
  3. package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.js +9 -0
  4. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.js +9 -0
  5. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.js +9 -0
  6. package/dist/cli/analyzeUsage/analyzeUsage.d.ts +4 -0
  7. package/dist/cli/analyzeUsage/analyzeUsage.d.ts.map +1 -0
  8. package/dist/cli/analyzeUsage/analyzeUsage.js +62 -0
  9. package/dist/cli/analyzeUsage/core/Analyzer.d.ts +9 -0
  10. package/dist/cli/analyzeUsage/core/Analyzer.d.ts.map +1 -0
  11. package/dist/cli/analyzeUsage/core/Analyzer.js +29 -0
  12. package/dist/cli/analyzeUsage/core/ProjectContext.d.ts +10 -0
  13. package/dist/cli/analyzeUsage/core/ProjectContext.d.ts.map +1 -0
  14. package/dist/cli/analyzeUsage/core/ProjectContext.js +63 -0
  15. package/dist/cli/analyzeUsage/core/Scanner.d.ts +15 -0
  16. package/dist/cli/analyzeUsage/core/Scanner.d.ts.map +1 -0
  17. package/dist/cli/analyzeUsage/core/Scanner.js +115 -0
  18. package/dist/cli/analyzeUsage/rules/ClientRule.d.ts +6 -0
  19. package/dist/cli/analyzeUsage/rules/ClientRule.d.ts.map +1 -0
  20. package/dist/cli/analyzeUsage/rules/ClientRule.js +78 -0
  21. package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts +7 -0
  22. package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts.map +1 -0
  23. package/dist/cli/analyzeUsage/rules/CoverageRule.js +63 -0
  24. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts +6 -0
  25. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts.map +1 -0
  26. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.js +60 -0
  27. package/dist/cli/analyzeUsage/rules/ImportRule.d.ts +6 -0
  28. package/dist/cli/analyzeUsage/rules/ImportRule.d.ts.map +1 -0
  29. package/dist/cli/analyzeUsage/rules/ImportRule.js +52 -0
  30. package/dist/cli/analyzeUsage/rules/ModelRule.d.ts +6 -0
  31. package/dist/cli/analyzeUsage/rules/ModelRule.d.ts.map +1 -0
  32. package/dist/cli/analyzeUsage/rules/ModelRule.js +38 -0
  33. package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts +6 -0
  34. package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts.map +1 -0
  35. package/dist/cli/analyzeUsage/rules/SchemaRule.js +48 -0
  36. package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts +7 -0
  37. package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts.map +1 -0
  38. package/dist/cli/analyzeUsage/rules/ServiceRule.js +92 -0
  39. package/dist/cli/analyzeUsage/types.d.ts +52 -0
  40. package/dist/cli/analyzeUsage/types.d.ts.map +1 -0
  41. package/dist/cli/analyzeUsage/types.js +2 -0
  42. package/dist/cli/analyzeUsage/utils/fuzzy.d.ts +5 -0
  43. package/dist/cli/analyzeUsage/utils/fuzzy.d.ts.map +1 -0
  44. package/dist/cli/analyzeUsage/utils/fuzzy.js +38 -0
  45. package/dist/cli/analyzeUsage/utils/report.d.ts +16 -0
  46. package/dist/cli/analyzeUsage/utils/report.d.ts.map +1 -0
  47. package/dist/cli/analyzeUsage/utils/report.js +85 -0
  48. package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.d.ts +2 -0
  49. package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.d.ts.map +1 -0
  50. package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.js +53 -0
  51. package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.d.ts +2 -0
  52. package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.d.ts.map +1 -0
  53. package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.js +52 -0
  54. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +2 -1
  55. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
  56. package/dist/cli/checkAndUpdateConfig/checkConfig.js +8 -4
  57. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +2 -1
  58. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
  59. package/dist/cli/checkAndUpdateConfig/updateConfig.js +6 -3
  60. package/dist/cli/checkAndUpdateConfig/utils/__tests__/prepareConfigData.test.d.ts +2 -0
  61. package/dist/cli/checkAndUpdateConfig/utils/__tests__/prepareConfigData.test.d.ts.map +1 -0
  62. package/dist/cli/checkAndUpdateConfig/utils/__tests__/prepareConfigData.test.js +20 -0
  63. package/dist/cli/checkAndUpdateConfig/utils/__tests__/removeDefaultConfigValues.test.d.ts +2 -0
  64. package/dist/cli/checkAndUpdateConfig/utils/__tests__/removeDefaultConfigValues.test.d.ts.map +1 -0
  65. package/dist/cli/checkAndUpdateConfig/utils/__tests__/removeDefaultConfigValues.test.js +35 -0
  66. package/dist/cli/checkAndUpdateConfig/utils/__tests__/validateAndMigrateConfigData.test.d.ts +2 -0
  67. package/dist/cli/checkAndUpdateConfig/utils/__tests__/validateAndMigrateConfigData.test.d.ts.map +1 -0
  68. package/dist/cli/checkAndUpdateConfig/utils/__tests__/validateAndMigrateConfigData.test.js +59 -0
  69. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
  70. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +19 -1
  71. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.js +18 -9
  72. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts +2 -5
  73. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  74. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +12 -16
  75. package/dist/cli/index.js +41 -7
  76. package/dist/cli/initOpenApiConfig/__tests__/init.test.d.ts +2 -0
  77. package/dist/cli/initOpenApiConfig/__tests__/init.test.d.ts.map +1 -0
  78. package/dist/cli/initOpenApiConfig/__tests__/init.test.js +20 -0
  79. package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.d.ts +2 -0
  80. package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.d.ts.map +1 -0
  81. package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.js +49 -0
  82. package/dist/cli/initOpenApiConfig/init.d.ts +2 -1
  83. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
  84. package/dist/cli/initOpenApiConfig/init.js +3 -1
  85. package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.d.ts +2 -0
  86. package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.d.ts.map +1 -0
  87. package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.js +99 -0
  88. package/dist/cli/initOpenApiConfig/utils/__tests__/findSpecFiles.test.d.ts +2 -0
  89. package/dist/cli/initOpenApiConfig/utils/__tests__/findSpecFiles.test.d.ts.map +1 -0
  90. package/dist/cli/initOpenApiConfig/utils/__tests__/findSpecFiles.test.js +45 -0
  91. package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.d.ts +2 -0
  92. package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.d.ts.map +1 -0
  93. package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.js +61 -0
  94. package/dist/cli/previewChanges/previewChanges.d.ts +2 -1
  95. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  96. package/dist/cli/previewChanges/previewChanges.js +6 -6
  97. package/dist/cli/previewChanges/utils/__tests__/compareFiles.test.d.ts +2 -0
  98. package/dist/cli/previewChanges/utils/__tests__/compareFiles.test.d.ts.map +1 -0
  99. package/dist/cli/previewChanges/utils/__tests__/compareFiles.test.js +52 -0
  100. package/dist/cli/previewChanges/utils/__tests__/isDirectoryEmpty.test.d.ts +2 -0
  101. package/dist/cli/previewChanges/utils/__tests__/isDirectoryEmpty.test.d.ts.map +1 -0
  102. package/dist/cli/previewChanges/utils/__tests__/isDirectoryEmpty.test.js +43 -0
  103. package/dist/cli/previewChanges/utils/__tests__/readDirectoryRecursive.test.d.ts +2 -0
  104. package/dist/cli/previewChanges/utils/__tests__/readDirectoryRecursive.test.d.ts.map +1 -0
  105. package/dist/cli/previewChanges/utils/__tests__/readDirectoryRecursive.test.js +32 -0
  106. package/dist/cli/previewChanges/utils/__tests__/updateOutputPaths.test.d.ts +2 -0
  107. package/dist/cli/previewChanges/utils/__tests__/updateOutputPaths.test.d.ts.map +1 -0
  108. package/dist/cli/previewChanges/utils/__tests__/updateOutputPaths.test.js +68 -0
  109. package/dist/cli/schemas/__tests__/checkConfigAndUpdate.test.d.ts +2 -0
  110. package/dist/cli/schemas/__tests__/checkConfigAndUpdate.test.d.ts.map +1 -0
  111. package/dist/cli/schemas/__tests__/checkConfigAndUpdate.test.js +36 -0
  112. package/dist/cli/schemas/__tests__/generateOptionsSchema.test.d.ts +2 -0
  113. package/dist/cli/schemas/__tests__/generateOptionsSchema.test.d.ts.map +1 -0
  114. package/dist/cli/schemas/__tests__/generateOptionsSchema.test.js +59 -0
  115. package/dist/cli/schemas/__tests__/initOptionsSchema.test.d.ts +2 -0
  116. package/dist/cli/schemas/__tests__/initOptionsSchema.test.d.ts.map +1 -0
  117. package/dist/cli/schemas/__tests__/initOptionsSchema.test.js +43 -0
  118. package/dist/cli/schemas/__tests__/previewChangesSchema.test.d.ts +2 -0
  119. package/dist/cli/schemas/__tests__/previewChangesSchema.test.d.ts.map +1 -0
  120. package/dist/cli/schemas/__tests__/previewChangesSchema.test.js +31 -0
  121. package/dist/cli/schemas/analyzeUsage.d.ts +13 -0
  122. package/dist/cli/schemas/analyzeUsage.d.ts.map +1 -0
  123. package/dist/cli/schemas/analyzeUsage.js +38 -0
  124. package/dist/cli/schemas/generate.d.ts +7 -0
  125. package/dist/cli/schemas/generate.d.ts.map +1 -1
  126. package/dist/cli/schemas/generate.js +4 -0
  127. package/dist/cli/schemas/index.d.ts +2 -2
  128. package/dist/cli/schemas/index.d.ts.map +1 -1
  129. package/dist/cli/schemas/index.js +1 -1
  130. package/dist/cli/types.d.ts +6 -0
  131. package/dist/cli/types.d.ts.map +1 -0
  132. package/dist/cli/types.js +2 -0
  133. package/dist/common/Consts.d.ts +1 -0
  134. package/dist/common/Consts.d.ts.map +1 -1
  135. package/dist/common/Consts.js +6 -1
  136. package/dist/common/Logger.js +2 -2
  137. package/dist/common/LoggerMessages.d.ts +59 -12
  138. package/dist/common/LoggerMessages.d.ts.map +1 -1
  139. package/dist/common/LoggerMessages.js +62 -15
  140. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +7 -0
  141. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -1
  142. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +5 -1
  143. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +14 -0
  144. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
  145. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
  146. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +6 -1
  147. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  148. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +1 -1
  149. package/dist/core/OpenApiClient.d.ts +12 -1
  150. package/dist/core/OpenApiClient.d.ts.map +1 -1
  151. package/dist/core/OpenApiClient.js +192 -10
  152. package/dist/core/WriteClient.d.ts +11 -0
  153. package/dist/core/WriteClient.d.ts.map +1 -1
  154. package/dist/core/WriteClient.js +23 -2
  155. package/dist/core/plugins/getBuiltinPlugins.d.ts.map +1 -1
  156. package/dist/core/plugins/loadGeneratorPlugins.d.ts.map +1 -1
  157. package/dist/core/plugins/loadGeneratorPlugins.js +1 -1
  158. package/dist/core/types/shared/Client.model.d.ts +1 -1
  159. package/dist/core/types/shared/Client.model.d.ts.map +1 -1
  160. package/dist/core/types/shared/Model.model.d.ts +1 -1
  161. package/dist/core/types/shared/Model.model.d.ts.map +1 -1
  162. package/dist/core/utils/GenerationCache.d.ts +18 -0
  163. package/dist/core/utils/GenerationCache.d.ts.map +1 -0
  164. package/dist/core/utils/GenerationCache.js +41 -0
  165. package/dist/core/utils/__tests__/GenerationCache.test.d.ts +2 -0
  166. package/dist/core/utils/__tests__/GenerationCache.test.d.ts.map +1 -0
  167. package/dist/core/utils/__tests__/GenerationCache.test.js +37 -0
  168. package/dist/core/utils/__tests__/loadDiffReport.test.d.ts +2 -0
  169. package/dist/core/utils/__tests__/loadDiffReport.test.d.ts.map +1 -0
  170. package/dist/core/utils/__tests__/loadDiffReport.test.js +97 -0
  171. package/dist/core/utils/__tests__/prepareDtoModels.test.js +95 -0
  172. package/dist/core/utils/__tests__/templateRendering.test.d.ts +2 -0
  173. package/dist/core/utils/__tests__/templateRendering.test.d.ts.map +1 -0
  174. package/dist/core/utils/__tests__/templateRendering.test.js +119 -0
  175. package/dist/core/utils/__tests__/writeFileIfChanged.test.d.ts +2 -0
  176. package/dist/core/utils/__tests__/writeFileIfChanged.test.d.ts.map +1 -0
  177. package/dist/core/utils/__tests__/writeFileIfChanged.test.js +30 -0
  178. package/dist/core/utils/loadDiffReport.d.ts.map +1 -1
  179. package/dist/core/utils/loadDiffReport.js +5 -4
  180. package/dist/core/utils/precompileTemplates.js +3 -2
  181. package/dist/core/utils/prepareDtoModels.d.ts.map +1 -1
  182. package/dist/core/utils/prepareDtoModels.js +1 -7
  183. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  184. package/dist/core/utils/writeClientCore.js +18 -16
  185. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
  186. package/dist/core/utils/writeClientCoreIndex.js +14 -4
  187. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
  188. package/dist/core/utils/writeClientExecutor.js +4 -4
  189. package/dist/core/utils/writeClientFullIndex.js +4 -4
  190. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  191. package/dist/core/utils/writeClientModels.js +10 -10
  192. package/dist/core/utils/writeClientModelsIndex.d.ts +1 -1
  193. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
  194. package/dist/core/utils/writeClientModelsIndex.js +14 -4
  195. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  196. package/dist/core/utils/writeClientSchemas.js +7 -7
  197. package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -1
  198. package/dist/core/utils/writeClientSchemasIndex.js +14 -4
  199. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  200. package/dist/core/utils/writeClientServices.js +6 -6
  201. package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -1
  202. package/dist/core/utils/writeClientServicesIndex.js +14 -4
  203. package/dist/core/utils/writeClientSimpleIndex.js +4 -4
  204. package/dist/core/utils/writeFileIfChanged.d.ts +3 -0
  205. package/dist/core/utils/writeFileIfChanged.d.ts.map +1 -0
  206. package/dist/core/utils/writeFileIfChanged.js +22 -0
  207. package/dist/test/helpers/silenceLoggers.d.ts +11 -0
  208. package/dist/test/helpers/silenceLoggers.d.ts.map +1 -0
  209. package/dist/test/helpers/silenceLoggers.js +88 -0
  210. package/package.json +4 -4
@@ -8,6 +8,7 @@ const handlebars_1 = __importDefault(require("handlebars"));
8
8
  const path_1 = require("path");
9
9
  const Enums_1 = require("../../common/Enums");
10
10
  const Logger_1 = require("../../common/Logger");
11
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
11
12
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
12
13
  const Consts_1 = require("../../core/types/Consts");
13
14
  const templatesDir = (0, pathHelpers_1.resolveHelper)(__dirname, '../../templates');
@@ -83,10 +84,10 @@ const precompileTemplates = () => {
83
84
  });
84
85
  };
85
86
  walk(templatesDir);
86
- logger.info('The templates have been successfully precompiled and saved!');
87
+ logger.info(LoggerMessages_1.LOGGER_MESSAGES.TEMPLATES.PRECOMPILE_SUCCESS);
87
88
  }
88
89
  catch (error) {
89
- logger.error(`Error during pre-compilation of templates: ${error.message}`);
90
+ logger.error(LoggerMessages_1.LOGGER_MESSAGES.TEMPLATES.PRECOMPILE_ERROR(error.message));
90
91
  }
91
92
  };
92
93
  precompileTemplates();
@@ -1 +1 @@
1
- {"version":3,"file":"prepareDtoModels.d.ts","sourceRoot":"","sources":["../../../src/core/utils/prepareDtoModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAyL3D,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAqCjD,CAAC"}
1
+ {"version":3,"file":"prepareDtoModels.d.ts","sourceRoot":"","sources":["../../../src/core/utils/prepareDtoModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAkL3D,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAqCjD,CAAC"}
@@ -1,14 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prepareDtoModels = void 0;
4
- const unique_1 = require("./unique");
5
4
  const escapeName_1 = require("./escapeName");
6
- const stripQuotes = (name) => {
7
- if (name.startsWith("'") && name.endsWith("'")) {
8
- return name.slice(1, -1);
9
- }
10
- return name;
11
- };
5
+ const unique_1 = require("./unique");
12
6
  const buildPropertyTarget = (name, prefix) => {
13
7
  if (name.startsWith("'") && name.endsWith("'")) {
14
8
  return `${prefix}[${name}]`;
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientCore.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;GAOG;AACH,UAAU,gBAAgB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CjG"}
1
+ {"version":3,"file":"writeClientCore.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCore.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;GAOG;AACH,UAAU,gBAAgB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CjG"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientCore = writeClientCore;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
4
5
  const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
5
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
6
7
  const ModelsMode_enum_1 = require("../types/enums/ModelsMode.enum");
@@ -22,26 +23,26 @@ async function writeClientCore(options) {
22
23
  useCancelableRequest,
23
24
  useSeparatedIndexes,
24
25
  };
25
- this.logger.info("The recording of the kernel files begins");
26
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.CORE_START);
26
27
  const hasCustomRequest = !!request;
27
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'OpenAPI.ts'), templates.core.settings(context));
28
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiError.ts'), templates.core.apiError({}));
29
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiRequestOptions.ts'), templates.core.apiRequestOptions({}));
30
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiResult.ts'), templates.core.apiResult({}));
28
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'OpenAPI.ts'), templates.core.settings(context));
29
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiError.ts'), templates.core.apiError({}));
30
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiRequestOptions.ts'), templates.core.apiRequestOptions({}));
31
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiResult.ts'), templates.core.apiResult({}));
31
32
  if (modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES) {
32
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'BaseDto.ts'), templates.core.baseDto({}));
33
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'dtoUtils.ts'), templates.core.dtoUtils({}));
33
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'BaseDto.ts'), templates.core.baseDto({}));
34
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'dtoUtils.ts'), templates.core.dtoUtils({}));
34
35
  }
35
36
  if (useCancelableRequest) {
36
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'CancelablePromise.ts'), templates.core.cancelablePromise({}));
37
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'CancelablePromise.ts'), templates.core.cancelablePromise({}));
37
38
  }
38
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'HttpStatusCode.ts'), templates.core.httpStatusCode({}));
39
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'request.ts'), templates.core.request(context));
40
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'executor/requestExecutor.ts'), templates.core.requestExecutor({}));
41
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'executor/createExecutorAdapter.ts'), templates.core.createExecutorAdapter({ useCustomRequest: hasCustomRequest }));
42
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/interceptors.ts'), templates.core.interceptors({}));
43
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/apiErrorInterceptor.ts'), templates.core.apiErrorInterceptor({}));
44
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/withInterceptors.ts'), templates.core.withInterceptors({}));
39
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'HttpStatusCode.ts'), templates.core.httpStatusCode({}));
40
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'request.ts'), templates.core.request(context));
41
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'executor/requestExecutor.ts'), templates.core.requestExecutor({}));
42
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'executor/createExecutorAdapter.ts'), templates.core.createExecutorAdapter({ useCustomRequest: hasCustomRequest }));
43
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/interceptors.ts'), templates.core.interceptors({}));
44
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/apiErrorInterceptor.ts'), templates.core.apiErrorInterceptor({}));
45
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/withInterceptors.ts'), templates.core.withInterceptors({}));
45
46
  if (hasCustomRequest) {
46
47
  const requestFile = (0, pathHelpers_1.resolveHelper)(process.cwd(), request);
47
48
  const requestFileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(requestFile);
@@ -49,6 +50,7 @@ async function writeClientCore(options) {
49
50
  throw new Error(`Custom request file "${requestFile}" does not exists`);
50
51
  }
51
52
  await fileSystemHelpers_1.fileSystemHelpers.copyFile(requestFile, (0, pathHelpers_1.resolveHelper)(outputCorePath, 'request.ts'));
53
+ this.registerOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'request.ts'));
52
54
  }
53
- this.logger.info("The writing of the kernel files has been completed successfully");
55
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.CORE_FINISH);
54
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientCoreIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCoreIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,UAAU,aAAa;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,gCAAgC,EAAE,UAAU,CAAC;CACpE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAcnF"}
1
+ {"version":3,"file":"writeClientCoreIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCoreIndex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,aAAa;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,gCAAgC,EAAE,UAAU,CAAC;CACpE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAuBnF"}
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientCoreIndex = writeClientCoreIndex;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
- const appendUniqueLinesToFile_1 = require("./appendUniqueLinesToFile");
6
7
  async function writeClientCoreIndex(options) {
7
8
  const { templates, outputCorePath, useCancelableRequest, useSeparatedIndexes, modelsMode } = options;
8
9
  if (!useSeparatedIndexes) {
9
10
  return;
10
11
  }
11
12
  const filePath = (0, pathHelpers_1.resolveHelper)(outputCorePath, 'index.ts');
12
- this.logger.info(`Data has been written to a file: ${filePath}`);
13
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(filePath));
13
14
  const content = templates.indexes.core({ useCancelableRequest, modelsMode });
14
- await (0, appendUniqueLinesToFile_1.appendUniqueLinesToFile)(filePath, content);
15
- this.logger.info(`Writing to the file is completed: ${filePath}`);
15
+ let existingContent = '';
16
+ const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
17
+ if (fileExists) {
18
+ existingContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, 'utf8');
19
+ }
20
+ const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
21
+ const dataLines = content.split(/\r?\n/).filter(Boolean);
22
+ const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
23
+ const updatedContent = linesToAdd.length > 0 ? existingContent + linesToAdd.join('\n') + '\n' : existingContent;
24
+ await this.writeOutputFile(filePath, updatedContent);
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(filePath));
16
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientExecutor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,mBAAmB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,iBAAS,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CASjE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBxG;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"writeClientExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientExecutor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,mBAAmB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,iBAAS,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CASjE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBxG;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientExecutor = writeClientExecutor;
4
4
  exports.deduplicateServicesByName = deduplicateServicesByName;
5
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
6
  const eslintFix_1 = require("../../common/utils/eslintFix");
6
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
7
7
  const format_1 = require("../../common/utils/format");
8
8
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
9
9
  function deduplicateServicesByName(services) {
@@ -21,7 +21,7 @@ async function writeClientExecutor(options) {
21
21
  const file = (0, pathHelpers_1.resolveHelper)(outputPath, 'createClient.ts');
22
22
  const uniqueServices = deduplicateServicesByName(services);
23
23
  const hasCustomRequest = !!request;
24
- this.logger.info(`Началась запись файла ${file}`);
24
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.EXECUTOR_START(file));
25
25
  const templateResult = templates.exports.client({
26
26
  outputCore: outputCorePath,
27
27
  useCustomRequest: hasCustomRequest,
@@ -29,9 +29,9 @@ async function writeClientExecutor(options) {
29
29
  services: uniqueServices,
30
30
  });
31
31
  const formattedValue = await (0, format_1.format)(templateResult, undefined, useProjectPrettier);
32
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
32
+ await this.writeOutputFile(file, formattedValue);
33
33
  if (useEslintFix) {
34
34
  await (0, eslintFix_1.eslintFix)(file);
35
35
  }
36
- this.logger.info(`File recording completed: ${file}`);
36
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
37
37
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientFullIndex = writeClientFullIndex;
4
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
5
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
6
6
  /**
7
7
  * Generate the OpenAPI client index file using the Handlebar template and write it to disk.
@@ -11,8 +11,8 @@ const pathHelpers_1 = require("../../common/utils/pathHelpers");
11
11
  async function writeClientFullIndex(options) {
12
12
  const { templates, outputPath, core, models, schemas, services, modelsMode, modelsPackage } = options;
13
13
  const resolvePathIndex = (0, pathHelpers_1.resolveHelper)(outputPath, 'index.ts');
14
- this.logger.info(`Data has been written to a file: ${resolvePathIndex}`);
15
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(resolvePathIndex, templates.indexes.full({
14
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(resolvePathIndex));
15
+ await this.writeOutputFile(resolvePathIndex, templates.indexes.full({
16
16
  core,
17
17
  models,
18
18
  schemas,
@@ -20,5 +20,5 @@ async function writeClientFullIndex(options) {
20
20
  modelsMode,
21
21
  modelsPackage,
22
22
  }));
23
- this.logger.info(`Writing to the file is completed: ${resolvePathIndex}`);
23
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(resolvePathIndex));
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientModels.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientModels.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,UAAU,kBAAkB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDrG"}
1
+ {"version":3,"file":"writeClientModels.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientModels.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,UAAU,kBAAkB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDrG"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientModels = writeClientModels;
4
4
  const fs_1 = require("fs");
5
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
6
  const eslintFix_1 = require("../../common/utils/eslintFix");
6
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
7
7
  const format_1 = require("../../common/utils/format");
8
8
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
9
9
  const ModelsMode_enum_1 = require("../types/enums/ModelsMode.enum");
@@ -17,7 +17,7 @@ const ModelsMode_enum_1 = require("../types/enums/ModelsMode.enum");
17
17
  */
18
18
  async function writeClientModels(options) {
19
19
  const { models, templates, outputModelsPath, httpClient, useUnionTypes, modelsMode, outputCorePath, useOptions, useProjectPrettier, useEslintFix } = options;
20
- this.logger.info('Recording of model files begins');
20
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.MODELS_START);
21
21
  if (modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES) {
22
22
  const file = (0, pathHelpers_1.resolveHelper)(outputModelsPath, 'models.ts');
23
23
  const templateResult = templates.exports.models({
@@ -29,9 +29,9 @@ async function writeClientModels(options) {
29
29
  modelsMode,
30
30
  });
31
31
  const formattedValue = await (0, format_1.format)(templateResult);
32
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
33
- this.logger.info(`File recording completed: ${file}`);
34
- this.logger.info('Model file recording completed successfully');
32
+ await this.writeOutputFile(file, formattedValue);
33
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
34
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.MODELS_FINISH);
35
35
  return;
36
36
  }
37
37
  for (const model of models) {
@@ -42,22 +42,22 @@ async function writeClientModels(options) {
42
42
  const dir = (0, pathHelpers_1.dirNameHelper)(modelFolderPath);
43
43
  if (dir) {
44
44
  const directory = (0, pathHelpers_1.resolveHelper)(outputModelsPath, dir);
45
- this.logger.info(`A directory is being created: ${directory}`);
45
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DIRECTORY_CREATING(directory));
46
46
  (0, fs_1.mkdirSync)(directory, { recursive: true });
47
47
  }
48
48
  const file = (0, pathHelpers_1.resolveHelper)(outputModelsPath, `${modelFolderPath}.ts`);
49
- this.logger.info(`The recording of the file data begins: ${file}`);
49
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DATA_WRITE_START(file));
50
50
  const templateResult = templates.exports.model({
51
51
  ...model,
52
52
  httpClient,
53
53
  useUnionTypes,
54
54
  });
55
55
  const formattedValue = await (0, format_1.format)(templateResult, undefined, useProjectPrettier);
56
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
56
+ await this.writeOutputFile(file, formattedValue);
57
57
  if (useEslintFix) {
58
58
  await (0, eslintFix_1.eslintFix)(file);
59
59
  }
60
- this.logger.info(`File recording completed: ${file}`);
60
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
61
61
  }
62
- this.logger.info('Model file recording completed successfully');
62
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.MODELS_FINISH);
63
63
  }
@@ -1,7 +1,7 @@
1
1
  import { Templates } from '../types/base/Templates.model';
2
+ import { ModelsMode } from '../types/enums/ModelsMode.enum';
2
3
  import { Model } from '../types/shared/Model.model';
3
4
  import { WriteClient } from '../WriteClient';
4
- import { ModelsMode } from '../types/enums/ModelsMode.enum';
5
5
  interface IOptionsProps {
6
6
  models: Model[];
7
7
  templates: Templates;
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientModelsIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientModelsIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,UAAU,aAAa;IACnB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAcrF"}
1
+ {"version":3,"file":"writeClientModelsIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientModelsIndex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,aAAa;IACnB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAuBrF"}
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientModelsIndex = writeClientModelsIndex;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
- const appendUniqueLinesToFile_1 = require("./appendUniqueLinesToFile");
6
7
  async function writeClientModelsIndex(options) {
7
8
  const { models, templates, outputModelsPath, useSeparatedIndexes, modelsMode } = options;
8
9
  if (!useSeparatedIndexes) {
9
10
  return;
10
11
  }
11
12
  const filePath = (0, pathHelpers_1.resolveHelper)(outputModelsPath, 'index.ts');
12
- this.logger.info(`Data has been written to a file: ${filePath}`);
13
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(filePath));
13
14
  const content = templates.indexes.models({ models, modelsMode });
14
- await (0, appendUniqueLinesToFile_1.appendUniqueLinesToFile)(filePath, content);
15
- this.logger.info(`Writing to the file is completed: ${filePath}`);
15
+ let existingContent = '';
16
+ const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
17
+ if (fileExists) {
18
+ existingContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, 'utf8');
19
+ }
20
+ const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
21
+ const dataLines = content.split(/\r?\n/).filter(Boolean);
22
+ const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
23
+ const updatedContent = linesToAdd.length > 0 ? existingContent + linesToAdd.join('\n') + '\n' : existingContent;
24
+ await this.writeOutputFile(filePath, updatedContent);
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(filePath));
16
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientSchemas.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientSchemas.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,UAAU,mBAAmB;IACzB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAExD;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA2C1G"}
1
+ {"version":3,"file":"writeClientSchemas.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientSchemas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,UAAU,mBAAmB;IACzB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAExD;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA2C1G"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isEmptySchemaModel = isEmptySchemaModel;
4
4
  exports.writeClientSchemas = writeClientSchemas;
5
5
  const fs_1 = require("fs");
6
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
6
7
  const eslintFix_1 = require("../../common/utils/eslintFix");
7
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
8
8
  const format_1 = require("../../common/utils/format");
9
9
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
10
10
  const EmptySchemaStrategy_enum_1 = require("../types/enums/EmptySchemaStrategy.enum");
@@ -22,18 +22,18 @@ function isEmptySchemaModel(model) {
22
22
  async function writeClientSchemas(options) {
23
23
  const { models, templates, outputSchemasPath, httpClient, useUnionTypes, validationLibrary, emptySchemaStrategy, useProjectPrettier, useEslintFix } = options;
24
24
  if (templates.exports.schema) {
25
- this.logger.info('The recording of model validation schema files begins.');
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.SCHEMAS_START);
26
26
  const modelsToWrite = emptySchemaStrategy === EmptySchemaStrategy_enum_1.EmptySchemaStrategy.SKIP ? models.filter(model => !isEmptySchemaModel(model)) : models;
27
27
  for (const model of modelsToWrite) {
28
28
  const modelFolderPath = model?.path;
29
29
  const dir = (0, pathHelpers_1.dirNameHelper)(modelFolderPath);
30
30
  if (dir) {
31
31
  const directory = (0, pathHelpers_1.resolveHelper)(outputSchemasPath, dir);
32
- this.logger.info(`A directory is being created: ${directory}`);
32
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DIRECTORY_CREATING(directory));
33
33
  (0, fs_1.mkdirSync)(directory, { recursive: true });
34
34
  }
35
35
  const file = (0, pathHelpers_1.resolveHelper)(outputSchemasPath, `${modelFolderPath}Schema.ts`);
36
- this.logger.info(`The recording of the file data begins: ${file}`);
36
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DATA_WRITE_START(file));
37
37
  const templateResult = templates.exports.schema({
38
38
  ...model,
39
39
  httpClient,
@@ -42,13 +42,13 @@ async function writeClientSchemas(options) {
42
42
  emptySchemaStrategy,
43
43
  });
44
44
  const formattedValue = await (0, format_1.format)(templateResult, undefined, useProjectPrettier);
45
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
45
+ await this.writeOutputFile(file, formattedValue);
46
46
  if (useEslintFix) {
47
47
  await (0, eslintFix_1.eslintFix)(file);
48
48
  }
49
- this.logger.info(`File recording completed: ${file}`);
49
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
50
50
  }
51
- this.logger.info('The recording of model validation schema files has been completed successfully');
51
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.SCHEMAS_FINISH);
52
52
  return modelsToWrite;
53
53
  }
54
54
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientSchemasIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientSchemasIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,UAAU,aAAa;IACnB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBActF"}
1
+ {"version":3,"file":"writeClientSchemasIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientSchemasIndex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,aAAa;IACnB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAuBtF"}
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientSchemasIndex = writeClientSchemasIndex;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
- const appendUniqueLinesToFile_1 = require("./appendUniqueLinesToFile");
6
7
  async function writeClientSchemasIndex(options) {
7
8
  const { models, templates, outputSchemasPath, useSeparatedIndexes } = options;
8
9
  if (!useSeparatedIndexes) {
9
10
  return;
10
11
  }
11
12
  const filePath = (0, pathHelpers_1.resolveHelper)(outputSchemasPath, 'index.ts');
12
- this.logger.info(`Data has been written to a file: ${filePath}`);
13
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(filePath));
13
14
  const content = templates.indexes.schemas({ schemas: models });
14
- await (0, appendUniqueLinesToFile_1.appendUniqueLinesToFile)(filePath, content);
15
- this.logger.info(`Writing to the file is completed: ${filePath}`);
15
+ let existingContent = '';
16
+ const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
17
+ if (fileExists) {
18
+ existingContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, 'utf8');
19
+ }
20
+ const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
21
+ const dataLines = content.split(/\r?\n/).filter(Boolean);
22
+ const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
23
+ const updatedContent = linesToAdd.length > 0 ? existingContent + linesToAdd.join('\n') + '\n' : existingContent;
24
+ await this.writeOutputFile(filePath, updatedContent);
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(filePath));
16
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientServices.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientServices.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,KAAK,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC;AAEzE;;;;;;;;GAQG;AACH,UAAU,oBAAoB;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BzG"}
1
+ {"version":3,"file":"writeClientServices.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientServices.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,KAAK,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC;AAEzE;;;;;;;;GAQG;AACH,UAAU,oBAAoB;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BzG"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientServices = writeClientServices;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
4
5
  const eslintFix_1 = require("../../common/utils/eslintFix");
5
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
6
6
  const format_1 = require("../../common/utils/format");
7
7
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
8
8
  /**
@@ -16,10 +16,10 @@ const pathHelpers_1 = require("../../common/utils/pathHelpers");
16
16
  */
17
17
  async function writeClientServices(options) {
18
18
  const { services, templates, outputPaths, httpClient, useUnionTypes, useOptions, useCancelableRequest, useProjectPrettier, useEslintFix } = options;
19
- this.logger.info('Recording of service files begins');
19
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.SERVICES_START);
20
20
  for (const service of services) {
21
21
  const file = (0, pathHelpers_1.resolveHelper)(outputPaths.outputServices, `${service.name}.ts`);
22
- this.logger.info(`The recording of the file data begins: ${file}`);
22
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DATA_WRITE_START(file));
23
23
  const templateResult = templates.exports.service({
24
24
  ...service,
25
25
  httpClient,
@@ -30,11 +30,11 @@ async function writeClientServices(options) {
30
30
  useCancelableRequest,
31
31
  });
32
32
  const formattedValue = await (0, format_1.format)(templateResult, undefined, useProjectPrettier);
33
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
33
+ await this.writeOutputFile(file, formattedValue);
34
34
  if (useEslintFix) {
35
35
  await (0, eslintFix_1.eslintFix)(file);
36
36
  }
37
- this.logger.info(`File recording completed: ${file}`);
37
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
38
38
  }
39
- this.logger.info('Service file recording completed successfully');
39
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.SERVICES_FINISH);
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientServicesIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientServicesIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,UAAU,aAAa;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAcvF"}
1
+ {"version":3,"file":"writeClientServicesIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientServicesIndex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,aAAa;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAuBvF"}
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientServicesIndex = writeClientServicesIndex;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
- const appendUniqueLinesToFile_1 = require("./appendUniqueLinesToFile");
6
7
  async function writeClientServicesIndex(options) {
7
8
  const { services, templates, outputServices, useSeparatedIndexes } = options;
8
9
  if (!useSeparatedIndexes) {
9
10
  return;
10
11
  }
11
12
  const filePath = (0, pathHelpers_1.resolveHelper)(outputServices, 'index.ts');
12
- this.logger.info(`Data has been written to a file: ${filePath}`);
13
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(filePath));
13
14
  const content = templates.indexes.services({ services });
14
- await (0, appendUniqueLinesToFile_1.appendUniqueLinesToFile)(filePath, content);
15
- this.logger.info(`Writing to the file is completed: ${filePath}`);
15
+ let existingContent = '';
16
+ const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
17
+ if (fileExists) {
18
+ existingContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, 'utf8');
19
+ }
20
+ const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
21
+ const dataLines = content.split(/\r?\n/).filter(Boolean);
22
+ const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
23
+ const updatedContent = linesToAdd.length > 0 ? existingContent + linesToAdd.join('\n') + '\n' : existingContent;
24
+ await this.writeOutputFile(filePath, updatedContent);
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(filePath));
16
26
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientSimpleIndex = writeClientSimpleIndex;
4
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
5
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
6
6
  /**
7
7
  * Generate the OpenAPI client index file using the Handlebar template and write it to disk.
@@ -11,12 +11,12 @@ const pathHelpers_1 = require("../../common/utils/pathHelpers");
11
11
  async function writeClientSimpleIndex(options) {
12
12
  const { templates, outputPath, core, models, schemas, services } = options;
13
13
  const resolvePathIndex = (0, pathHelpers_1.resolveHelper)(outputPath, 'index.ts');
14
- this.logger.info(`The recording of the file data begins: ${resolvePathIndex}`);
15
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(resolvePathIndex, templates.indexes.simple({
14
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DATA_WRITE_START(resolvePathIndex));
15
+ await this.writeOutputFile(resolvePathIndex, templates.indexes.simple({
16
16
  core,
17
17
  models,
18
18
  schemas,
19
19
  services,
20
20
  }));
21
- this.logger.info(`File recording completed: ${resolvePathIndex}`);
21
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(resolvePathIndex));
22
22
  }
@@ -0,0 +1,3 @@
1
+ export type WriteFileIfChangedResult = 'written' | 'unchanged';
2
+ export declare function writeFileIfChanged(filePath: string, nextContent: string): Promise<WriteFileIfChangedResult>;
3
+ //# sourceMappingURL=writeFileIfChanged.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeFileIfChanged.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeFileIfChanged.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,WAAW,CAAC;AAE/D,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAiBjH"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeFileIfChanged = writeFileIfChanged;
4
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
5
+ async function writeFileIfChanged(filePath, nextContent) {
6
+ try {
7
+ const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
8
+ if (fileExists) {
9
+ const currentContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, 'utf8');
10
+ if (currentContent === nextContent) {
11
+ return 'unchanged';
12
+ }
13
+ }
14
+ }
15
+ catch (error) {
16
+ if (error?.code !== 'ENOENT') {
17
+ throw error;
18
+ }
19
+ }
20
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile(filePath, nextContent);
21
+ return 'written';
22
+ }
@@ -0,0 +1,11 @@
1
+ import type { TestContext } from 'node:test';
2
+ /** Replaces APP_LOGGER public methods with no-ops. */
3
+ export declare function installSilenceAppLogger(): () => void;
4
+ /** Replaces Logger prototype public methods with no-ops (OpenApiClient `client` logger). */
5
+ export declare function installSilenceLoggerPrototype(): () => void;
6
+ /** Replaces APP_LOGGER and Logger public methods with no-ops. */
7
+ export declare function installSilenceLoggers(): () => void;
8
+ export declare function silenceAppLogger(t: TestContext): void;
9
+ export declare function silenceLoggerPrototype(t: TestContext): void;
10
+ export declare function silenceLoggers(t: TestContext): void;
11
+ //# sourceMappingURL=silenceLoggers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"silenceLoggers.d.ts","sourceRoot":"","sources":["../../../src/test/helpers/silenceLoggers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQ7C,sDAAsD;AACtD,wBAAgB,uBAAuB,IAAI,MAAM,IAAI,CA6BpD;AAED,4FAA4F;AAC5F,wBAAgB,6BAA6B,IAAI,MAAM,IAAI,CA6B1D;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,IAAI,MAAM,IAAI,CAQlD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAErD;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAE3D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAEnD"}