@warlock.js/core 2.8.10 → 3.0.2

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 (236) hide show
  1. package/bin/warlock-loader.mjs +256 -0
  2. package/cjs/application.js +1 -1
  3. package/cjs/application.js.map +1 -1
  4. package/cjs/aws/get-aws-configurations.js +1 -1
  5. package/cjs/aws/get-aws-configurations.js.map +1 -1
  6. package/cjs/aws/index.d.ts.map +1 -1
  7. package/cjs/aws/index.js +73 -13
  8. package/cjs/aws/index.js.map +1 -1
  9. package/cjs/builder/app-builder.d.ts.map +1 -1
  10. package/cjs/builder/app-builder.js +12 -1
  11. package/cjs/builder/app-builder.js.map +1 -1
  12. package/cjs/builder/build-http-app.d.ts +27 -1
  13. package/cjs/builder/build-http-app.d.ts.map +1 -1
  14. package/cjs/builder/build-http-app.js +148 -7
  15. package/cjs/builder/build-http-app.js.map +1 -1
  16. package/cjs/builder/config-types-generator.d.ts +6 -0
  17. package/cjs/builder/config-types-generator.d.ts.map +1 -0
  18. package/cjs/builder/config-types-generator.js +67 -0
  19. package/cjs/builder/config-types-generator.js.map +1 -0
  20. package/cjs/code-quality/checkers/eslint-checker.d.ts +14 -0
  21. package/cjs/code-quality/checkers/eslint-checker.d.ts.map +1 -0
  22. package/cjs/code-quality/checkers/eslint-checker.js +39 -0
  23. package/cjs/code-quality/checkers/eslint-checker.js.map +1 -0
  24. package/cjs/code-quality/checkers/typescript-checker.d.ts +16 -0
  25. package/cjs/code-quality/checkers/typescript-checker.d.ts.map +1 -0
  26. package/cjs/code-quality/checkers/typescript-checker.js +76 -0
  27. package/cjs/code-quality/checkers/typescript-checker.js.map +1 -0
  28. package/cjs/code-quality/config.d.ts +29 -0
  29. package/cjs/code-quality/config.d.ts.map +1 -0
  30. package/cjs/code-quality/config.js +25 -0
  31. package/cjs/code-quality/config.js.map +1 -0
  32. package/cjs/code-quality/formatters/eslint-formatter.d.ts +12 -0
  33. package/cjs/code-quality/formatters/eslint-formatter.d.ts.map +1 -0
  34. package/cjs/code-quality/formatters/eslint-formatter.js +56 -0
  35. package/cjs/code-quality/formatters/eslint-formatter.js.map +1 -0
  36. package/cjs/code-quality/formatters/summary-formatter.d.ts +33 -0
  37. package/cjs/code-quality/formatters/summary-formatter.d.ts.map +1 -0
  38. package/cjs/code-quality/formatters/summary-formatter.js +54 -0
  39. package/cjs/code-quality/formatters/summary-formatter.js.map +1 -0
  40. package/cjs/code-quality/formatters/typescript-formatter.d.ts +9 -0
  41. package/cjs/code-quality/formatters/typescript-formatter.d.ts.map +1 -0
  42. package/cjs/code-quality/formatters/typescript-formatter.js +64 -0
  43. package/cjs/code-quality/formatters/typescript-formatter.js.map +1 -0
  44. package/cjs/code-quality/index.d.ts +16 -0
  45. package/cjs/code-quality/index.d.ts.map +1 -0
  46. package/cjs/code-quality/project-scanner.d.ts +6 -0
  47. package/cjs/code-quality/project-scanner.d.ts.map +1 -0
  48. package/cjs/code-quality/project-scanner.js +72 -0
  49. package/cjs/code-quality/project-scanner.js.map +1 -0
  50. package/cjs/code-quality/single-file-checker.d.ts +6 -0
  51. package/cjs/code-quality/single-file-checker.d.ts.map +1 -0
  52. package/cjs/code-quality/single-file-checker.js +76 -0
  53. package/cjs/code-quality/single-file-checker.js.map +1 -0
  54. package/cjs/config/index.d.ts +1 -1
  55. package/cjs/config/index.d.ts.map +1 -1
  56. package/cjs/config/typed-config.d.ts +38 -0
  57. package/cjs/config/typed-config.d.ts.map +1 -0
  58. package/cjs/config/typed-config.js +27 -0
  59. package/cjs/config/typed-config.js.map +1 -0
  60. package/cjs/console/commander.js +1 -1
  61. package/cjs/console/commander.js.map +1 -1
  62. package/cjs/http/plugins.js +8 -6
  63. package/cjs/http/plugins.js.map +1 -1
  64. package/cjs/http/request.d.ts +4 -0
  65. package/cjs/http/request.d.ts.map +1 -1
  66. package/cjs/http/request.js +16 -1
  67. package/cjs/http/request.js.map +1 -1
  68. package/cjs/http/response.d.ts.map +1 -1
  69. package/cjs/http/response.js +15 -3
  70. package/cjs/http/response.js.map +1 -1
  71. package/cjs/index.d.ts +2 -0
  72. package/cjs/index.d.ts.map +1 -1
  73. package/cjs/index.js +1 -1
  74. package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.d.ts.map +1 -1
  75. package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.js +19 -2
  76. package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.js.map +1 -1
  77. package/cjs/modules/uploads/controllers/get-uploaded-file.d.ts.map +1 -1
  78. package/cjs/modules/uploads/controllers/get-uploaded-file.js.map +1 -1
  79. package/cjs/modules/uploads/events/compress-uploaded-file.d.ts.map +1 -1
  80. package/cjs/modules/uploads/events/compress-uploaded-file.js +28 -3
  81. package/cjs/modules/uploads/events/compress-uploaded-file.js.map +1 -1
  82. package/cjs/modules/uploads/events/index.js +1 -1
  83. package/cjs/modules/uploads/events/index.js.map +1 -1
  84. package/cjs/modules/uploads/utils/get-watermark-options.js +1 -1
  85. package/cjs/modules/uploads/utils/get-watermark-options.js.map +1 -1
  86. package/cjs/output/output.js +1 -1
  87. package/cjs/output/output.js.map +1 -1
  88. package/cjs/react/vite-config.d.ts.map +1 -1
  89. package/cjs/react/vite-config.js +2 -1
  90. package/cjs/react/vite-config.js.map +1 -1
  91. package/cjs/router/router.d.ts.map +1 -1
  92. package/cjs/router/router.js +9 -1
  93. package/cjs/router/router.js.map +1 -1
  94. package/cjs/starters/http-server-starter.d.ts +5 -0
  95. package/cjs/starters/http-server-starter.d.ts.map +1 -0
  96. package/cjs/starters/http-server-starter.js +27 -0
  97. package/cjs/starters/http-server-starter.js.map +1 -0
  98. package/cjs/starters/serve-log.d.ts +8 -0
  99. package/cjs/starters/serve-log.d.ts.map +1 -0
  100. package/cjs/starters/serve-log.js +43 -0
  101. package/cjs/starters/serve-log.js.map +1 -0
  102. package/cjs/starters/start-http-server.d.ts +1 -0
  103. package/cjs/starters/start-http-server.d.ts.map +1 -1
  104. package/cjs/starters/start-http-server.js +66 -62
  105. package/cjs/starters/start-http-server.js.map +1 -1
  106. package/cjs/utils/_database-log.d.ts +3 -3
  107. package/cjs/utils/_database-log.d.ts.map +1 -1
  108. package/cjs/utils/glob.d.ts +4 -0
  109. package/cjs/utils/glob.d.ts.map +1 -0
  110. package/cjs/utils/glob.js +53 -0
  111. package/cjs/utils/glob.js.map +1 -0
  112. package/cjs/utils/internal.d.ts +1 -0
  113. package/cjs/utils/internal.d.ts.map +1 -1
  114. package/cjs/utils/internal.js +3 -0
  115. package/cjs/utils/internal.js.map +1 -0
  116. package/cjs/validator/validateAll.d.ts.map +1 -1
  117. package/cjs/validator/validateAll.js +1 -1
  118. package/cjs/validator/validateAll.js.map +1 -1
  119. package/esm/application.js +1 -1
  120. package/esm/application.js.map +1 -1
  121. package/esm/aws/get-aws-configurations.js +1 -1
  122. package/esm/aws/get-aws-configurations.js.map +1 -1
  123. package/esm/aws/index.d.ts.map +1 -1
  124. package/esm/aws/index.js +73 -13
  125. package/esm/aws/index.js.map +1 -1
  126. package/esm/builder/app-builder.d.ts.map +1 -1
  127. package/esm/builder/app-builder.js +12 -1
  128. package/esm/builder/app-builder.js.map +1 -1
  129. package/esm/builder/build-http-app.d.ts +27 -1
  130. package/esm/builder/build-http-app.d.ts.map +1 -1
  131. package/esm/builder/build-http-app.js +148 -7
  132. package/esm/builder/build-http-app.js.map +1 -1
  133. package/esm/builder/config-types-generator.d.ts +6 -0
  134. package/esm/builder/config-types-generator.d.ts.map +1 -0
  135. package/esm/builder/config-types-generator.js +67 -0
  136. package/esm/builder/config-types-generator.js.map +1 -0
  137. package/esm/code-quality/checkers/eslint-checker.d.ts +14 -0
  138. package/esm/code-quality/checkers/eslint-checker.d.ts.map +1 -0
  139. package/esm/code-quality/checkers/eslint-checker.js +39 -0
  140. package/esm/code-quality/checkers/eslint-checker.js.map +1 -0
  141. package/esm/code-quality/checkers/typescript-checker.d.ts +16 -0
  142. package/esm/code-quality/checkers/typescript-checker.d.ts.map +1 -0
  143. package/esm/code-quality/checkers/typescript-checker.js +76 -0
  144. package/esm/code-quality/checkers/typescript-checker.js.map +1 -0
  145. package/esm/code-quality/config.d.ts +29 -0
  146. package/esm/code-quality/config.d.ts.map +1 -0
  147. package/esm/code-quality/config.js +25 -0
  148. package/esm/code-quality/config.js.map +1 -0
  149. package/esm/code-quality/formatters/eslint-formatter.d.ts +12 -0
  150. package/esm/code-quality/formatters/eslint-formatter.d.ts.map +1 -0
  151. package/esm/code-quality/formatters/eslint-formatter.js +56 -0
  152. package/esm/code-quality/formatters/eslint-formatter.js.map +1 -0
  153. package/esm/code-quality/formatters/summary-formatter.d.ts +33 -0
  154. package/esm/code-quality/formatters/summary-formatter.d.ts.map +1 -0
  155. package/esm/code-quality/formatters/summary-formatter.js +54 -0
  156. package/esm/code-quality/formatters/summary-formatter.js.map +1 -0
  157. package/esm/code-quality/formatters/typescript-formatter.d.ts +9 -0
  158. package/esm/code-quality/formatters/typescript-formatter.d.ts.map +1 -0
  159. package/esm/code-quality/formatters/typescript-formatter.js +64 -0
  160. package/esm/code-quality/formatters/typescript-formatter.js.map +1 -0
  161. package/esm/code-quality/index.d.ts +16 -0
  162. package/esm/code-quality/index.d.ts.map +1 -0
  163. package/esm/code-quality/project-scanner.d.ts +6 -0
  164. package/esm/code-quality/project-scanner.d.ts.map +1 -0
  165. package/esm/code-quality/project-scanner.js +72 -0
  166. package/esm/code-quality/project-scanner.js.map +1 -0
  167. package/esm/code-quality/single-file-checker.d.ts +6 -0
  168. package/esm/code-quality/single-file-checker.d.ts.map +1 -0
  169. package/esm/code-quality/single-file-checker.js +76 -0
  170. package/esm/code-quality/single-file-checker.js.map +1 -0
  171. package/esm/config/index.d.ts +1 -1
  172. package/esm/config/index.d.ts.map +1 -1
  173. package/esm/config/typed-config.d.ts +38 -0
  174. package/esm/config/typed-config.d.ts.map +1 -0
  175. package/esm/config/typed-config.js +27 -0
  176. package/esm/config/typed-config.js.map +1 -0
  177. package/esm/console/commander.js +1 -1
  178. package/esm/console/commander.js.map +1 -1
  179. package/esm/http/plugins.js +8 -6
  180. package/esm/http/plugins.js.map +1 -1
  181. package/esm/http/request.d.ts +4 -0
  182. package/esm/http/request.d.ts.map +1 -1
  183. package/esm/http/request.js +17 -2
  184. package/esm/http/request.js.map +1 -1
  185. package/esm/http/response.d.ts.map +1 -1
  186. package/esm/http/response.js +15 -3
  187. package/esm/http/response.js.map +1 -1
  188. package/esm/index.d.ts +2 -0
  189. package/esm/index.d.ts.map +1 -1
  190. package/esm/index.js +1 -1
  191. package/esm/modules/uploads/controllers/get-uploaded-file-with-hash.d.ts.map +1 -1
  192. package/esm/modules/uploads/controllers/get-uploaded-file-with-hash.js +19 -2
  193. package/esm/modules/uploads/controllers/get-uploaded-file-with-hash.js.map +1 -1
  194. package/esm/modules/uploads/controllers/get-uploaded-file.d.ts.map +1 -1
  195. package/esm/modules/uploads/controllers/get-uploaded-file.js.map +1 -1
  196. package/esm/modules/uploads/events/compress-uploaded-file.d.ts.map +1 -1
  197. package/esm/modules/uploads/events/compress-uploaded-file.js +28 -3
  198. package/esm/modules/uploads/events/compress-uploaded-file.js.map +1 -1
  199. package/esm/modules/uploads/events/index.js +1 -1
  200. package/esm/modules/uploads/events/index.js.map +1 -1
  201. package/esm/modules/uploads/utils/get-watermark-options.js +1 -1
  202. package/esm/modules/uploads/utils/get-watermark-options.js.map +1 -1
  203. package/esm/output/output.js +1 -1
  204. package/esm/output/output.js.map +1 -1
  205. package/esm/react/vite-config.d.ts.map +1 -1
  206. package/esm/react/vite-config.js +2 -1
  207. package/esm/react/vite-config.js.map +1 -1
  208. package/esm/router/router.d.ts.map +1 -1
  209. package/esm/router/router.js +9 -1
  210. package/esm/router/router.js.map +1 -1
  211. package/esm/starters/http-server-starter.d.ts +5 -0
  212. package/esm/starters/http-server-starter.d.ts.map +1 -0
  213. package/esm/starters/http-server-starter.js +27 -0
  214. package/esm/starters/http-server-starter.js.map +1 -0
  215. package/esm/starters/serve-log.d.ts +8 -0
  216. package/esm/starters/serve-log.d.ts.map +1 -0
  217. package/esm/starters/serve-log.js +43 -0
  218. package/esm/starters/serve-log.js.map +1 -0
  219. package/esm/starters/start-http-server.d.ts +1 -0
  220. package/esm/starters/start-http-server.d.ts.map +1 -1
  221. package/esm/starters/start-http-server.js +66 -62
  222. package/esm/starters/start-http-server.js.map +1 -1
  223. package/esm/utils/_database-log.d.ts +3 -3
  224. package/esm/utils/_database-log.d.ts.map +1 -1
  225. package/esm/utils/glob.d.ts +4 -0
  226. package/esm/utils/glob.d.ts.map +1 -0
  227. package/esm/utils/glob.js +53 -0
  228. package/esm/utils/glob.js.map +1 -0
  229. package/esm/utils/internal.d.ts +1 -0
  230. package/esm/utils/internal.d.ts.map +1 -1
  231. package/esm/utils/internal.js +3 -0
  232. package/esm/utils/internal.js.map +1 -0
  233. package/esm/validator/validateAll.d.ts.map +1 -1
  234. package/esm/validator/validateAll.js +1 -1
  235. package/esm/validator/validateAll.js.map +1 -1
  236. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"build-http-app.js","sources":["../../src/builder/build-http-app.ts"],"sourcesContent":[null],"names":[],"mappings":"sUAaA;AACa,MAAA,cAAc,GAAG;AAC5B,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,WAAW,EAAE,gCAAgC;AAC7C,IAAA,MAAM,EAAE,kBAAkB;AAC1B,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,MAAM,EAAE,cAAc;AACtB,IAAA,MAAM,EAAE,eAAe;AACvB,IAAA,OAAO,EAAE,4BAA4B;EACrC;AAEK,eAAe,YAAY,GAAA;AAChC,IAAA,MAAM,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAC;;AAG1C,IAAA,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QAC5D,IAAI;YACF,MAAM,OAAO,EAAE,CAAC;AACjB,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAAG,CAAA,CAAA,EAAE,KAAK,CAAC,CAAC;AACxD,YAAA,MAAM,KAAK,CAAC;AACb,SAAA;AACF,KAAA;;AAGD,IAAA,MAAM,gBAAgB,GAAG,CAAA;;;;;;;;;;;;;;;mCAeQ,CAAC;AAElC,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;AACzC,IAAA,MAAM,YAAY,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAEhD,IAAA,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,eAAe,4BAA4B,GAAA;IAChD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE7D,SAAS,CAAC,CAAyD,uDAAA,CAAA,CAAC,CAAC;IAErE,UAAU,CAAC,CAAyB,uBAAA,CAAA,CAAC,CAAC;AAEtC,IAAA,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEvC,IAAA,OAAO,mCAAmC,CAAC;AAC7C"}
1
+ {"version":3,"file":"build-http-app.js","sources":["../../src/builder/build-http-app.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generate TypeScript types for config keys using module augmentation
3
+ * This enables autocomplete and type safety for config.get()
4
+ */
5
+ export declare function generateConfigTypes(): Promise<string[]>;
6
+ //# sourceMappingURL=config-types-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-types-generator.d.ts","sourceRoot":"","sources":["../../src/builder/config-types-generator.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAsB,mBAAmB,sBAwExC"}
@@ -0,0 +1,67 @@
1
+ import {ensureDirectoryAsync,putFileAsync}from'@mongez/fs';import path from'path';import {globFiles}from'../utils/glob.js';import {rootPath,warlockPath}from'../utils/paths.js';/**
2
+ * Generate TypeScript types for config keys using module augmentation
3
+ * This enables autocomplete and type safety for config.get()
4
+ */
5
+ async function generateConfigTypes() {
6
+ try {
7
+ // Find all config files in src/config/
8
+ const configDir = rootPath("src/config");
9
+ const configFiles = await globFiles(configDir, {
10
+ extensions: [".ts", ".tsx", ".js"],
11
+ });
12
+ // Extract config keys from file names
13
+ const configKeys = configFiles
14
+ .map(filePath => {
15
+ const fileName = path.basename(filePath);
16
+ // Remove extension (.ts, .tsx, .js)
17
+ return fileName.replace(/\.(ts|tsx|js)$/, "");
18
+ })
19
+ .filter(key => key !== "index") // Skip index files
20
+ .sort(); // Alphabetical order for consistency
21
+ // Generate module augmentation file
22
+ const typeDefinition = `/**
23
+ * Auto-generated config types via Module Augmentation
24
+ * DO NOT EDIT MANUALLY - This file is regenerated on every build
25
+ *
26
+ * Add new config files to src/config/ and they will be automatically detected
27
+ *
28
+ * For deep type inference, augment ConfigTypeMap:
29
+ *
30
+ * declare module "@warlock.js/core" {
31
+ * interface ConfigTypeMap {
32
+ * database: import("@warlock.js/cascade").DatabaseConfigurations;
33
+ * app: import("@warlock.js/core").AppConfigurations;
34
+ * }
35
+ * }
36
+ */
37
+
38
+ declare module "@warlock.js/core" {
39
+ /**
40
+ * Project-specific config keys (autocomplete in config.get())
41
+ */
42
+ export type ConfigKeys = ${configKeys.map(key => `"${key}"`).join(" | ")};
43
+
44
+ /**
45
+ * Augment this interface to add return types for config.get()
46
+ *
47
+ * Example:
48
+ * interface ConfigTypeMap {
49
+ * database: import("@warlock.js/cascade").DatabaseConfigurations;
50
+ * }
51
+ */
52
+ // interface ConfigTypeMap {} // Uncomment and add your types here
53
+ }
54
+ `;
55
+ // Ensure .warlock directory exists
56
+ await ensureDirectoryAsync(warlockPath());
57
+ // Write type augmentation file
58
+ const outputPath = warlockPath("config-augmentation.d.ts");
59
+ await putFileAsync(outputPath, typeDefinition);
60
+ console.log(`āœ“ Generated config types for ${configKeys.length} configurations: ${configKeys.join(", ")}`);
61
+ return configKeys;
62
+ }
63
+ catch (error) {
64
+ console.warn("āš ļø Failed to generate config types:", error instanceof Error ? error.message : String(error));
65
+ return [];
66
+ }
67
+ }export{generateConfigTypes};//# sourceMappingURL=config-types-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-types-generator.js","sources":["../../src/builder/config-types-generator.ts"],"sourcesContent":[null],"names":[],"mappings":"gLAKA;;;AAGG;AACI,eAAe,mBAAmB,GAAA;IACvC,IAAI;;AAEF,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AACzC,QAAA,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE;AAC7C,YAAA,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;AACnC,SAAA,CAAC,CAAC;;QAGH,MAAM,UAAU,GAAG,WAAW;aAC3B,GAAG,CAAC,QAAQ,IAAG;YACd,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;;YAEzC,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAChD,SAAC,CAAC;aACD,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,OAAO,CAAC;aAC9B,IAAI,EAAE,CAAC;;AAGV,QAAA,MAAM,cAAc,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;AAoBE,2BAAA,EAAA,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAI,CAAA,EAAA,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;;;;;;;;;;;CAYzE,CAAC;;AAGE,QAAA,MAAM,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAC;;AAG1C,QAAA,MAAM,UAAU,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAC3D,QAAA,MAAM,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAE/C,QAAA,OAAO,CAAC,GAAG,CACT,CAAgC,6BAAA,EAAA,UAAU,CAAC,MAAM,CAAA,iBAAA,EAAoB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CAC7F,CAAC;AAEF,QAAA,OAAO,UAAU,CAAC;AACnB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,IAAI,CACV,qCAAqC,EACrC,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;AACF,QAAA,OAAO,EAAE,CAAC;AACX,KAAA;AACH"}
@@ -0,0 +1,14 @@
1
+ export type ESLintResult = {
2
+ tool: "ESLint";
3
+ filePath: string;
4
+ results: any;
5
+ };
6
+ /**
7
+ * Check a single file for ESLint errors
8
+ */
9
+ export declare function checkSingleFile(filePath: string): Promise<ESLintResult | null>;
10
+ /**
11
+ * Check entire project for ESLint errors
12
+ */
13
+ export declare function checkProject(projectPath: string): Promise<ESLintResult[]>;
14
+ //# sourceMappingURL=eslint-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-checker.d.ts","sourceRoot":"","sources":["../../../src/code-quality/checkers/eslint-checker.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAa9B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,EAAE,CAAC,CAoBzB"}
@@ -0,0 +1,39 @@
1
+ import {ESLint}from'eslint';// eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
+ // @ts-ignore - ESLint types not available
3
+ /**
4
+ * Check a single file for ESLint errors
5
+ */
6
+ async function checkSingleFile(filePath) {
7
+ try {
8
+ const eslint = new ESLint();
9
+ const results = await eslint.lintFiles([filePath]);
10
+ return {
11
+ tool: "ESLint",
12
+ filePath,
13
+ results: results[0],
14
+ };
15
+ }
16
+ catch (error) {
17
+ return null;
18
+ }
19
+ }
20
+ /**
21
+ * Check entire project for ESLint errors
22
+ */
23
+ async function checkProject(projectPath) {
24
+ try {
25
+ const eslint = new ESLint();
26
+ // ESLint will automatically use .eslintrc and scan the directory
27
+ const results = await eslint.lintFiles([`${projectPath}/**/*.{ts,tsx}`]);
28
+ // Filter out files with no issues for cleaner results
29
+ const resultsWithIssues = results.filter((result) => result.errorCount > 0 || result.warningCount > 0);
30
+ return resultsWithIssues.map((result) => ({
31
+ tool: "ESLint",
32
+ filePath: result.filePath.replace(/\\/g, "/"),
33
+ results: result,
34
+ }));
35
+ }
36
+ catch (error) {
37
+ return [];
38
+ }
39
+ }export{checkProject,checkSingleFile};//# sourceMappingURL=eslint-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-checker.js","sources":["../../../src/code-quality/checkers/eslint-checker.ts"],"sourcesContent":[null],"names":[],"mappings":"4BAAA;AACA;AASA;;AAEG;AACI,eAAe,eAAe,CACnC,QAAgB,EAAA;IAEhB,IAAI;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEnD,OAAO;AACL,YAAA,IAAI,EAAE,QAAQ;YACd,QAAQ;AACR,YAAA,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;SACpB,CAAC;AACH,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACH,CAAC;AAED;;AAEG;AACI,eAAe,YAAY,CAChC,WAAmB,EAAA;IAEnB,IAAI;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;;AAG5B,QAAA,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAG,EAAA,WAAW,CAAgB,cAAA,CAAA,CAAC,CAAC,CAAC;;QAGzE,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CACtC,CAAC,MAAW,KAAK,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,CAClE,CAAC;QAEF,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAW,MAAM;AAC7C,YAAA,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AAC7C,YAAA,OAAO,EAAE,MAAM;AAChB,SAAA,CAAC,CAAC,CAAC;AACL,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,EAAE,CAAC;AACX,KAAA;AACH"}
@@ -0,0 +1,16 @@
1
+ import ts from "typescript";
2
+ export type TypeScriptResult = {
3
+ tool: "TypeScript";
4
+ filePath: string;
5
+ diagnostics: ts.Diagnostic[];
6
+ sourceFile: ts.SourceFile;
7
+ };
8
+ /**
9
+ * Check a single file for TypeScript errors
10
+ */
11
+ export declare function checkSingleFile(filePath: string): Promise<TypeScriptResult | null>;
12
+ /**
13
+ * Check entire project for TypeScript errors
14
+ */
15
+ export declare function checkProject(projectPath: string): Promise<TypeScriptResult[]>;
16
+ //# sourceMappingURL=typescript-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-checker.d.ts","sourceRoot":"","sources":["../../../src/code-quality/checkers/typescript-checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;IAC7B,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAwClC;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4D7B"}
@@ -0,0 +1,76 @@
1
+ import ts from'typescript';/**
2
+ * Check a single file for TypeScript errors
3
+ */
4
+ async function checkSingleFile(filePath) {
5
+ try {
6
+ const configPath = ts.findConfigFile(process.cwd(), ts.sys.fileExists, "tsconfig.json");
7
+ if (!configPath) {
8
+ return null;
9
+ }
10
+ const configFile = ts.readConfigFile(configPath, ts.sys.readFile);
11
+ const parsedConfig = ts.parseJsonConfigFileContent(configFile.config, ts.sys, process.cwd());
12
+ const program = ts.createProgram([filePath], parsedConfig.options);
13
+ const sourceFile = program.getSourceFile(filePath);
14
+ if (!sourceFile) {
15
+ return null;
16
+ }
17
+ const diagnostics = [
18
+ ...program.getSyntacticDiagnostics(sourceFile),
19
+ ...program.getSemanticDiagnostics(sourceFile),
20
+ ];
21
+ return {
22
+ tool: "TypeScript",
23
+ filePath: filePath.replace(/\\/g, "/"),
24
+ diagnostics,
25
+ sourceFile,
26
+ };
27
+ }
28
+ catch (error) {
29
+ return null;
30
+ }
31
+ }
32
+ /**
33
+ * Check entire project for TypeScript errors
34
+ */
35
+ async function checkProject(projectPath) {
36
+ try {
37
+ const configPath = ts.findConfigFile(projectPath, ts.sys.fileExists, "tsconfig.json");
38
+ if (!configPath) {
39
+ return [];
40
+ }
41
+ const configFile = ts.readConfigFile(configPath, ts.sys.readFile);
42
+ const parsedConfig = ts.parseJsonConfigFileContent(configFile.config, ts.sys, projectPath);
43
+ // Create program with entire project
44
+ const program = ts.createProgram(parsedConfig.fileNames, parsedConfig.options);
45
+ // Get all diagnostics for all files
46
+ const allDiagnostics = ts.getPreEmitDiagnostics(program);
47
+ // Group diagnostics by file
48
+ const diagnosticsByFile = new Map();
49
+ for (const diagnostic of allDiagnostics) {
50
+ if (diagnostic.file) {
51
+ const fileName = diagnostic.file.fileName;
52
+ if (!diagnosticsByFile.has(fileName)) {
53
+ diagnosticsByFile.set(fileName, []);
54
+ }
55
+ diagnosticsByFile.get(fileName).push(diagnostic);
56
+ }
57
+ }
58
+ // Convert to results array
59
+ const results = [];
60
+ for (const [fileName, diagnostics] of diagnosticsByFile) {
61
+ const sourceFile = program.getSourceFile(fileName);
62
+ if (sourceFile) {
63
+ results.push({
64
+ tool: "TypeScript",
65
+ filePath: fileName,
66
+ diagnostics,
67
+ sourceFile,
68
+ });
69
+ }
70
+ }
71
+ return results;
72
+ }
73
+ catch (error) {
74
+ return [];
75
+ }
76
+ }export{checkProject,checkSingleFile};//# sourceMappingURL=typescript-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-checker.js","sources":["../../../src/code-quality/checkers/typescript-checker.ts"],"sourcesContent":[null],"names":[],"mappings":"2BASA;;AAEG;AACI,eAAe,eAAe,CACnC,QAAgB,EAAA;IAEhB,IAAI;AACF,QAAA,MAAM,UAAU,GAAG,EAAE,CAAC,cAAc,CAClC,OAAO,CAAC,GAAG,EAAE,EACb,EAAE,CAAC,GAAG,CAAC,UAAU,EACjB,eAAe,CAChB,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,MAAM,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClE,QAAA,MAAM,YAAY,GAAG,EAAE,CAAC,0BAA0B,CAChD,UAAU,CAAC,MAAM,EACjB,EAAE,CAAC,GAAG,EACN,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;AAEF,QAAA,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,GAAG,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC;AAC9C,YAAA,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC;SAC9C,CAAC;QAEF,OAAO;AACL,YAAA,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACtC,WAAW;YACX,UAAU;SACX,CAAC;AACH,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACH,CAAC;AAED;;AAEG;AACI,eAAe,YAAY,CAChC,WAAmB,EAAA;IAEnB,IAAI;AACF,QAAA,MAAM,UAAU,GAAG,EAAE,CAAC,cAAc,CAClC,WAAW,EACX,EAAE,CAAC,GAAG,CAAC,UAAU,EACjB,eAAe,CAChB,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;AAED,QAAA,MAAM,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClE,QAAA,MAAM,YAAY,GAAG,EAAE,CAAC,0BAA0B,CAChD,UAAU,CAAC,MAAM,EACjB,EAAE,CAAC,GAAG,EACN,WAAW,CACZ,CAAC;;AAGF,QAAA,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAC9B,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,OAAO,CACrB,CAAC;;QAGF,MAAM,cAAc,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;;AAGzD,QAAA,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA2B,CAAC;AAE7D,QAAA,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE;YACvC,IAAI,UAAU,CAAC,IAAI,EAAE;AACnB,gBAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AACpC,oBAAA,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACrC,iBAAA;gBACD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACnD,aAAA;AACF,SAAA;;QAGD,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,iBAAiB,EAAE;YACvD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACnD,YAAA,IAAI,UAAU,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC;AACX,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,QAAQ,EAAE,QAAQ;oBAClB,WAAW;oBACX,UAAU;AACX,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;AAED,QAAA,OAAO,OAAO,CAAC;AAChB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,EAAE,CAAC;AACX,KAAA;AACH"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Display strategies for code quality results
3
+ */
4
+ export type DisplayStrategy = "sequential" | "combined" | "typescript-only" | "eslint-only" | "silent";
5
+ /**
6
+ * Configuration for code quality checks
7
+ */
8
+ export type CodeQualityConfig = {
9
+ displayStrategy: DisplayStrategy;
10
+ showSuccessMessages: boolean;
11
+ showWarnings: boolean;
12
+ showErrors: boolean;
13
+ showCodeSnippets: boolean;
14
+ contextLines: number;
15
+ enableInitialScan: boolean;
16
+ };
17
+ /**
18
+ * Configure the code quality checker
19
+ */
20
+ export declare function configure(newConfig: Partial<CodeQualityConfig>): void;
21
+ /**
22
+ * Get current configuration
23
+ */
24
+ export declare function getConfig(): CodeQualityConfig;
25
+ /**
26
+ * Reset configuration to defaults
27
+ */
28
+ export declare function resetConfig(): void;
29
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/code-quality/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,aAAa,GACb,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAiBF;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAE9D;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,iBAAiB,CAE7C;AAED;;GAEG;AACH,wBAAgB,WAAW,SAE1B"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Default configuration
3
+ */
4
+ const defaultConfig = {
5
+ displayStrategy: "sequential",
6
+ showSuccessMessages: true,
7
+ showWarnings: true,
8
+ showErrors: true,
9
+ showCodeSnippets: true,
10
+ contextLines: 2,
11
+ enableInitialScan: true,
12
+ };
13
+ let config = { ...defaultConfig };
14
+ /**
15
+ * Configure the code quality checker
16
+ */
17
+ function configure(newConfig) {
18
+ config = { ...config, ...newConfig };
19
+ }
20
+ /**
21
+ * Get current configuration
22
+ */
23
+ function getConfig() {
24
+ return { ...config };
25
+ }export{configure,getConfig};//# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sources":["../../src/code-quality/config.ts"],"sourcesContent":[null],"names":[],"mappings":"AAuBA;;AAEG;AACH,MAAM,aAAa,GAAsB;AACvC,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,iBAAiB,EAAE,IAAI;CACxB,CAAC;AAEF,IAAI,MAAM,GAAsB,EAAE,GAAG,aAAa,EAAE,CAAC;AAErD;;AAEG;AACG,SAAU,SAAS,CAAC,SAAqC,EAAA;IAC7D,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;AACvC,CAAC;AAED;;AAEG;SACa,SAAS,GAAA;AACvB,IAAA,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACvB"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Display ESLint errors for a single file
3
+ */
4
+ export declare function displayErrors(result: {
5
+ filePath: string;
6
+ results: any;
7
+ }): void;
8
+ /**
9
+ * Display compact file list (for project scan)
10
+ */
11
+ export declare function displayCompactSummary(results: any, filePath: string): void;
12
+ //# sourceMappingURL=eslint-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-formatter.d.ts","sourceRoot":"","sources":["../../../src/code-quality/formatters/eslint-formatter.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,QA0FvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,QAsBnE"}
@@ -0,0 +1,56 @@
1
+ import {colors}from'@mongez/copper';import path from'path';import {getConfig}from'../config.js';/**
2
+ * Display ESLint errors for a single file
3
+ */
4
+ function displayErrors(result) {
5
+ const config = getConfig();
6
+ const { results, filePath } = result;
7
+ const fileName = path.relative(process.cwd(), filePath).replace(/\\/g, "/");
8
+ if (results.errorCount === 0 && results.warningCount === 0) {
9
+ if (config.showSuccessMessages) {
10
+ console.log(colors.green(`\nāœ“ ${colors.bold("ESLint")} ${colors.dim("→")} ${colors.greenBright("No issues")} ${colors.dim(`in ${path.basename(filePath)}`)}`));
11
+ }
12
+ return;
13
+ }
14
+ for (const message of results.messages) {
15
+ const isError = message.severity === 2;
16
+ const isWarning = message.severity === 1;
17
+ if (isError && !config.showErrors)
18
+ continue;
19
+ if (isWarning && !config.showWarnings)
20
+ continue;
21
+ const level = isError ? "ERROR" : "WARNING";
22
+ const levelColor = isError ? colors.redBright : colors.yellowBright;
23
+ const icon = isError ? "āœ–" : "⚠";
24
+ console.log(`\n${levelColor(icon)} ${levelColor(colors.bold(level))} ${colors.dim("in")} ${colors.cyanBright(fileName)}${colors.dim(`(${message.line},${message.column})`)}`);
25
+ console.log(` ${colors.magentaBright(message.ruleId || "eslint")} ${colors.dim("→")} ${message.message}`);
26
+ if (config.showCodeSnippets && results.source) {
27
+ const lines = results.source.split("\n");
28
+ const line = message.line - 1;
29
+ const startLine = Math.max(0, line - config.contextLines);
30
+ const endLine = Math.min(lines.length - 1, line + config.contextLines);
31
+ for (let i = startLine; i <= endLine; i++) {
32
+ const lineNum = (i + 1).toString().padStart(4, " ");
33
+ const isErrorLine = i === line;
34
+ const prefix = isErrorLine ? levelColor(">") : " ";
35
+ if (isErrorLine) {
36
+ console.log(`${prefix} ${colors.dim(lineNum)} ${colors.dim("│")} ${levelColor(lines[i])}`);
37
+ const padding = " ".repeat((message.column || 1) + lineNum.length + 3);
38
+ const pointer = levelColor("~".repeat(Math.max(1, message.endColumn ? message.endColumn - message.column : 1)));
39
+ console.log(` ${padding}${pointer}`);
40
+ }
41
+ else {
42
+ console.log(`${prefix} ${colors.dim(lineNum)} ${colors.dim("│")} ${colors.dim(lines[i])}`);
43
+ }
44
+ }
45
+ }
46
+ }
47
+ // Summary
48
+ const summary = [];
49
+ if (results.errorCount > 0) {
50
+ summary.push(colors.red(`${results.errorCount} error${results.errorCount > 1 ? "s" : ""}`));
51
+ }
52
+ if (results.warningCount > 0) {
53
+ summary.push(colors.yellow(`${results.warningCount} warning${results.warningCount > 1 ? "s" : ""}`));
54
+ }
55
+ console.log(`\n${colors.dim("╰─")} ${colors.bold("ESLint")} ${colors.dim("→")} ${summary.join(colors.dim(" and "))}`);
56
+ }export{displayErrors};//# sourceMappingURL=eslint-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-formatter.js","sources":["../../../src/code-quality/formatters/eslint-formatter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import ts from "typescript";
2
+ type ScanSummary = {
3
+ typescript: {
4
+ errorCount: number;
5
+ warningCount: number;
6
+ filesWithIssues: Array<{
7
+ file: string;
8
+ errors: number;
9
+ warnings: number;
10
+ }>;
11
+ };
12
+ eslint: {
13
+ errorCount: number;
14
+ warningCount: number;
15
+ filesWithIssues: Array<{
16
+ file: string;
17
+ errors: number;
18
+ warnings: number;
19
+ }>;
20
+ };
21
+ totalFiles: number;
22
+ scanTime: number;
23
+ };
24
+ /**
25
+ * Display project scan summary
26
+ */
27
+ export declare function displayScanSummary(summary: ScanSummary): void;
28
+ /**
29
+ * Display compact file list (for project scan)
30
+ */
31
+ export declare function displayCompactSummary(diagnostics: ts.Diagnostic[], filePath: string): void;
32
+ export {};
33
+ //# sourceMappingURL=summary-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-formatter.d.ts","sourceRoot":"","sources":["../../../src/code-quality/formatters/summary-formatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC5E,CAAC;IACF,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC5E,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,QA0FtD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,EAAE,CAAC,UAAU,EAAE,EAC5B,QAAQ,EAAE,MAAM,QAyBjB"}
@@ -0,0 +1,54 @@
1
+ import {colors}from'@mongez/copper';import path from'path';import'typescript';/**
2
+ * Display project scan summary
3
+ */
4
+ function displayScanSummary(summary) {
5
+ console.log(colors.cyanBright(`\n${"=".repeat(60)}\n${colors.bold("šŸ“Š Code Quality Scan Complete")}\n${"=".repeat(60)}`));
6
+ const totalErrors = summary.typescript.errorCount + summary.eslint.errorCount;
7
+ const totalWarnings = summary.typescript.warningCount + summary.eslint.warningCount;
8
+ // TypeScript section
9
+ console.log(`\n${colors.bold("⚔ TypeScript")} ${colors.dim("→")} ${summary.typescript.errorCount > 0 ? colors.red(`${summary.typescript.errorCount} errors`) : colors.green("0 errors")}${colors.dim(", ")}${summary.typescript.warningCount > 0 ? colors.yellow(`${summary.typescript.warningCount} warnings`) : colors.dim("0 warnings")}`);
10
+ if (summary.typescript.filesWithIssues.length > 0) {
11
+ const topFiles = summary.typescript.filesWithIssues.slice(0, 5);
12
+ for (const file of topFiles) {
13
+ const fileName = path.relative(process.cwd(), file.file);
14
+ const issues = [];
15
+ if (file.errors > 0)
16
+ issues.push(colors.red(`${file.errors} errors`));
17
+ if (file.warnings > 0)
18
+ issues.push(colors.yellow(`${file.warnings} warnings`));
19
+ console.log(` ${colors.dim("ā”œā”€")} ${colors.cyan(fileName)} ${colors.dim("→")} ${issues.join(colors.dim(", "))}`);
20
+ }
21
+ if (summary.typescript.filesWithIssues.length > 5) {
22
+ console.log(colors.dim(` └─ ... and ${summary.typescript.filesWithIssues.length - 5} more files`));
23
+ }
24
+ }
25
+ // ESLint section
26
+ console.log(`\n${colors.bold("šŸ“ ESLint")} ${colors.dim("→")} ${summary.eslint.errorCount > 0 ? colors.red(`${summary.eslint.errorCount} errors`) : colors.green("0 errors")}${colors.dim(", ")}${summary.eslint.warningCount > 0 ? colors.yellow(`${summary.eslint.warningCount} warnings`) : colors.dim("0 warnings")}`);
27
+ if (summary.eslint.filesWithIssues.length > 0) {
28
+ const topFiles = summary.eslint.filesWithIssues.slice(0, 5);
29
+ for (const file of topFiles) {
30
+ const fileName = path.relative(process.cwd(), file.file);
31
+ const issues = [];
32
+ if (file.errors > 0)
33
+ issues.push(colors.red(`${file.errors} errors`));
34
+ if (file.warnings > 0)
35
+ issues.push(colors.yellow(`${file.warnings} warnings`));
36
+ console.log(` ${colors.dim("ā”œā”€")} ${colors.cyan(fileName)} ${colors.dim("→")} ${issues.join(colors.dim(", "))}`);
37
+ }
38
+ if (summary.eslint.filesWithIssues.length > 5) {
39
+ console.log(colors.dim(` └─ ... and ${summary.eslint.filesWithIssues.length - 5} more files`));
40
+ }
41
+ }
42
+ // Overall summary
43
+ console.log(`\n${colors.dim("═".repeat(60))}`);
44
+ if (totalErrors === 0 && totalWarnings === 0) {
45
+ console.log(colors.greenBright(`${colors.bold("āœ“ Perfect!")} No issues found in ${summary.totalFiles} files`));
46
+ }
47
+ else {
48
+ const totalFilesWithIssues = summary.typescript.filesWithIssues.length +
49
+ summary.eslint.filesWithIssues.length;
50
+ console.log(`${colors.bold("Summary")} ${colors.dim("→")} ${totalErrors > 0 ? colors.red(`${totalErrors} errors`) : colors.green("0 errors")}${colors.dim(", ")}${totalWarnings > 0 ? colors.yellow(`${totalWarnings} warnings`) : colors.dim("0 warnings")} ${colors.dim(`in ${totalFilesWithIssues} files`)}`);
51
+ }
52
+ console.log(colors.dim(`Scan completed in ${(summary.scanTime / 1000).toFixed(2)}s`));
53
+ console.log(colors.dim("═".repeat(60) + "\n"));
54
+ }export{displayScanSummary};//# sourceMappingURL=summary-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-formatter.js","sources":["../../../src/code-quality/formatters/summary-formatter.ts"],"sourcesContent":[null],"names":[],"mappings":"8EAmBA;;AAEG;AACG,SAAU,kBAAkB,CAAC,OAAoB,EAAA;AACrD,IAAA,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,UAAU,CACf,CAAA,EAAA,EAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,EAAA,EAAK,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAE,CAAA,CAC1F,CACF,CAAC;AAEF,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;AAC9E,IAAA,MAAM,aAAa,GACjB,OAAO,CAAC,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;;AAGhE,IAAA,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,EAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAA,OAAA,CAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA,EAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,WAAW,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA,CAAE,CACjU,CAAC;IAEF,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChE,QAAA,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;AAC3B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,YAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;AAAE,gBAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAG,EAAA,IAAI,CAAC,MAAM,CAAS,OAAA,CAAA,CAAC,CAAC,CAAC;AACtE,YAAA,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;AACnB,gBAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAW,SAAA,CAAA,CAAC,CAAC,CAAC;AAE1D,YAAA,OAAO,CAAC,GAAG,CACT,CAAK,EAAA,EAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA,CAAE,CACrG,CAAC;AACH,SAAA;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACjD,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,GAAG,CACR,gBAAgB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAa,WAAA,CAAA,CAC3E,CACF,CAAC;AACH,SAAA;AACF,KAAA;;AAGD,IAAA,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,EAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAA,OAAA,CAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA,EAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,WAAW,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA,CAAE,CAC9S,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5D,QAAA,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;AAC3B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,YAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;AAAE,gBAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAG,EAAA,IAAI,CAAC,MAAM,CAAS,OAAA,CAAA,CAAC,CAAC,CAAC;AACtE,YAAA,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;AACnB,gBAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAW,SAAA,CAAA,CAAC,CAAC,CAAC;AAE1D,YAAA,OAAO,CAAC,GAAG,CACT,CAAK,EAAA,EAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA,CAAE,CACrG,CAAC;AACH,SAAA;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,GAAG,CACR,gBAAgB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAa,WAAA,CAAA,CACvE,CACF,CAAC;AACH,SAAA;AACF,KAAA;;AAGD,IAAA,OAAO,CAAC,GAAG,CAAC,CAAK,EAAA,EAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE,CAAC,CAAC;AAE/C,IAAA,IAAI,WAAW,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,EAAE;QAC5C,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,WAAW,CAChB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAuB,oBAAA,EAAA,OAAO,CAAC,UAAU,CAAA,MAAA,CAAQ,CAC9E,CACF,CAAC;AACH,KAAA;AAAM,SAAA;QACL,MAAM,oBAAoB,GACxB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM;AACzC,YAAA,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;AAExC,QAAA,OAAO,CAAC,GAAG,CACT,CAAG,EAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAI,CAAA,EAAA,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAG,EAAA,WAAW,CAAS,OAAA,CAAA,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAG,EAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,EAAG,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA,EAAG,aAAa,CAAW,SAAA,CAAA,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,GAAG,CAAC,CAAM,GAAA,EAAA,oBAAoB,QAAQ,CAAC,CAAA,CAAE,CACpS,CAAC;AACH,KAAA;IAED,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,GAAG,CAAC,CAAqB,kBAAA,EAAA,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CACzE,CAAC;AACF,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACjD"}
@@ -0,0 +1,9 @@
1
+ import ts from "typescript";
2
+ /**
3
+ * Display TypeScript errors for a single file
4
+ */
5
+ export declare function displayErrors(result: {
6
+ filePath: string;
7
+ diagnostics: ts.Diagnostic[];
8
+ }): void;
9
+ //# sourceMappingURL=typescript-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-formatter.d.ts","sourceRoot":"","sources":["../../../src/code-quality/formatters/typescript-formatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;CAC9B,QAgGA"}
@@ -0,0 +1,64 @@
1
+ import {colors}from'@mongez/copper';import path from'path';import ts from'typescript';import {getConfig}from'../config.js';/**
2
+ * Display TypeScript errors for a single file
3
+ */
4
+ function displayErrors(result) {
5
+ const config = getConfig();
6
+ const { diagnostics, filePath } = result;
7
+ const fileName = path.relative(process.cwd(), filePath).replace(/\\/g, "/");
8
+ if (diagnostics.length === 0) {
9
+ if (config.showSuccessMessages) {
10
+ console.log(colors.green(`\nāœ“ ${colors.bold("TypeScript")} ${colors.dim("→")} ${colors.greenBright("No errors")} ${colors.dim(`in ${path.basename(filePath)}`)}`));
11
+ }
12
+ return;
13
+ }
14
+ for (const diagnostic of diagnostics) {
15
+ const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
16
+ if (!diagnostic.file || diagnostic.start === undefined) {
17
+ console.log(colors.redBright(`\n${message}`));
18
+ continue;
19
+ }
20
+ const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
21
+ const isError = diagnostic.category === ts.DiagnosticCategory.Error;
22
+ const isWarning = diagnostic.category === ts.DiagnosticCategory.Warning;
23
+ if (isError && !config.showErrors)
24
+ continue;
25
+ if (isWarning && !config.showWarnings)
26
+ continue;
27
+ const level = isError ? "ERROR" : "WARNING";
28
+ const levelColor = isError ? colors.redBright : colors.yellowBright;
29
+ const icon = isError ? "āœ–" : "⚠";
30
+ console.log(`\n${levelColor(icon)} ${levelColor(colors.bold(level))} ${colors.dim("in")} ${colors.cyanBright(fileName)}${colors.dim(`(${line + 1},${character + 1})`)}`);
31
+ console.log(` ${colors.blueBright("TS" + diagnostic.code)} ${colors.dim("→")} ${message}`);
32
+ if (config.showCodeSnippets) {
33
+ const lines = diagnostic.file.text.split("\n");
34
+ const startLine = Math.max(0, line - config.contextLines);
35
+ const endLine = Math.min(lines.length - 1, line + config.contextLines);
36
+ const errorLength = diagnostic.length || 1;
37
+ for (let i = startLine; i <= endLine; i++) {
38
+ const lineNum = (i + 1).toString().padStart(4, " ");
39
+ const isErrorLine = i === line;
40
+ const prefix = isErrorLine ? colors.redBright(">") : " ";
41
+ if (isErrorLine) {
42
+ console.log(`${prefix} ${colors.dim(lineNum)} ${colors.dim("│")} ${colors.redBright(lines[i])}`);
43
+ const padding = " ".repeat(character + lineNum.length + 4);
44
+ const pointer = colors.red("~".repeat(Math.max(1, errorLength)));
45
+ console.log(` ${padding}${pointer}`);
46
+ }
47
+ else {
48
+ console.log(`${prefix} ${colors.dim(lineNum)} ${colors.dim("│")} ${colors.dim(lines[i])}`);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ // Summary
54
+ const errorCount = diagnostics.filter(d => d.category === ts.DiagnosticCategory.Error).length;
55
+ const warningCount = diagnostics.filter(d => d.category === ts.DiagnosticCategory.Warning).length;
56
+ const summary = [];
57
+ if (errorCount > 0) {
58
+ summary.push(colors.red(`${errorCount} error${errorCount > 1 ? "s" : ""}`));
59
+ }
60
+ if (warningCount > 0) {
61
+ summary.push(colors.yellow(`${warningCount} warning${warningCount > 1 ? "s" : ""}`));
62
+ }
63
+ console.log(`\n${colors.dim("╰─")} ${colors.bold("TypeScript")} ${colors.dim("→")} ${summary.join(colors.dim(" and "))}`);
64
+ }export{displayErrors};//# sourceMappingURL=typescript-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-formatter.js","sources":["../../../src/code-quality/formatters/typescript-formatter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}