@warlock.js/core 2.8.9 → 3.0.0

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 (240) 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 +39 -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/esbuild/plugins.d.ts +3 -0
  63. package/cjs/esbuild/plugins.d.ts.map +1 -1
  64. package/cjs/esbuild/plugins.js +10 -53
  65. package/cjs/esbuild/plugins.js.map +1 -1
  66. package/cjs/http/plugins.js +8 -6
  67. package/cjs/http/plugins.js.map +1 -1
  68. package/cjs/http/request.d.ts +4 -0
  69. package/cjs/http/request.d.ts.map +1 -1
  70. package/cjs/http/request.js +16 -1
  71. package/cjs/http/request.js.map +1 -1
  72. package/cjs/http/response.d.ts.map +1 -1
  73. package/cjs/http/response.js +15 -3
  74. package/cjs/http/response.js.map +1 -1
  75. package/cjs/index.d.ts +2 -0
  76. package/cjs/index.d.ts.map +1 -1
  77. package/cjs/index.js +1 -1
  78. package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.d.ts.map +1 -1
  79. package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.js +19 -2
  80. package/cjs/modules/uploads/controllers/get-uploaded-file-with-hash.js.map +1 -1
  81. package/cjs/modules/uploads/controllers/get-uploaded-file.d.ts.map +1 -1
  82. package/cjs/modules/uploads/controllers/get-uploaded-file.js.map +1 -1
  83. package/cjs/modules/uploads/events/compress-uploaded-file.d.ts.map +1 -1
  84. package/cjs/modules/uploads/events/compress-uploaded-file.js +28 -3
  85. package/cjs/modules/uploads/events/compress-uploaded-file.js.map +1 -1
  86. package/cjs/modules/uploads/events/index.js +1 -1
  87. package/cjs/modules/uploads/events/index.js.map +1 -1
  88. package/cjs/modules/uploads/utils/get-watermark-options.js +1 -1
  89. package/cjs/modules/uploads/utils/get-watermark-options.js.map +1 -1
  90. package/cjs/output/output.js +1 -1
  91. package/cjs/output/output.js.map +1 -1
  92. package/cjs/react/vite-config.d.ts.map +1 -1
  93. package/cjs/react/vite-config.js +2 -1
  94. package/cjs/react/vite-config.js.map +1 -1
  95. package/cjs/router/router.d.ts.map +1 -1
  96. package/cjs/router/router.js +9 -1
  97. package/cjs/router/router.js.map +1 -1
  98. package/cjs/starters/http-server-starter.d.ts +5 -0
  99. package/cjs/starters/http-server-starter.d.ts.map +1 -0
  100. package/cjs/starters/http-server-starter.js +27 -0
  101. package/cjs/starters/http-server-starter.js.map +1 -0
  102. package/cjs/starters/serve-log.d.ts +8 -0
  103. package/cjs/starters/serve-log.d.ts.map +1 -0
  104. package/cjs/starters/serve-log.js +43 -0
  105. package/cjs/starters/serve-log.js.map +1 -0
  106. package/cjs/starters/start-http-server.d.ts +1 -0
  107. package/cjs/starters/start-http-server.d.ts.map +1 -1
  108. package/cjs/starters/start-http-server.js +70 -53
  109. package/cjs/starters/start-http-server.js.map +1 -1
  110. package/cjs/utils/_database-log.d.ts +3 -3
  111. package/cjs/utils/_database-log.d.ts.map +1 -1
  112. package/cjs/utils/glob.d.ts +4 -0
  113. package/cjs/utils/glob.d.ts.map +1 -0
  114. package/cjs/utils/glob.js +53 -0
  115. package/cjs/utils/glob.js.map +1 -0
  116. package/cjs/utils/internal.d.ts +1 -0
  117. package/cjs/utils/internal.d.ts.map +1 -1
  118. package/cjs/validator/validateAll.d.ts.map +1 -1
  119. package/cjs/validator/validateAll.js +1 -1
  120. package/cjs/validator/validateAll.js.map +1 -1
  121. package/esm/application.js +1 -1
  122. package/esm/application.js.map +1 -1
  123. package/esm/aws/get-aws-configurations.js +1 -1
  124. package/esm/aws/get-aws-configurations.js.map +1 -1
  125. package/esm/aws/index.d.ts.map +1 -1
  126. package/esm/aws/index.js +73 -13
  127. package/esm/aws/index.js.map +1 -1
  128. package/esm/builder/app-builder.d.ts.map +1 -1
  129. package/esm/builder/app-builder.js +12 -1
  130. package/esm/builder/app-builder.js.map +1 -1
  131. package/esm/builder/build-http-app.d.ts +39 -1
  132. package/esm/builder/build-http-app.d.ts.map +1 -1
  133. package/esm/builder/build-http-app.js +148 -7
  134. package/esm/builder/build-http-app.js.map +1 -1
  135. package/esm/builder/config-types-generator.d.ts +6 -0
  136. package/esm/builder/config-types-generator.d.ts.map +1 -0
  137. package/esm/builder/config-types-generator.js +67 -0
  138. package/esm/builder/config-types-generator.js.map +1 -0
  139. package/esm/code-quality/checkers/eslint-checker.d.ts +14 -0
  140. package/esm/code-quality/checkers/eslint-checker.d.ts.map +1 -0
  141. package/esm/code-quality/checkers/eslint-checker.js +39 -0
  142. package/esm/code-quality/checkers/eslint-checker.js.map +1 -0
  143. package/esm/code-quality/checkers/typescript-checker.d.ts +16 -0
  144. package/esm/code-quality/checkers/typescript-checker.d.ts.map +1 -0
  145. package/esm/code-quality/checkers/typescript-checker.js +76 -0
  146. package/esm/code-quality/checkers/typescript-checker.js.map +1 -0
  147. package/esm/code-quality/config.d.ts +29 -0
  148. package/esm/code-quality/config.d.ts.map +1 -0
  149. package/esm/code-quality/config.js +25 -0
  150. package/esm/code-quality/config.js.map +1 -0
  151. package/esm/code-quality/formatters/eslint-formatter.d.ts +12 -0
  152. package/esm/code-quality/formatters/eslint-formatter.d.ts.map +1 -0
  153. package/esm/code-quality/formatters/eslint-formatter.js +56 -0
  154. package/esm/code-quality/formatters/eslint-formatter.js.map +1 -0
  155. package/esm/code-quality/formatters/summary-formatter.d.ts +33 -0
  156. package/esm/code-quality/formatters/summary-formatter.d.ts.map +1 -0
  157. package/esm/code-quality/formatters/summary-formatter.js +54 -0
  158. package/esm/code-quality/formatters/summary-formatter.js.map +1 -0
  159. package/esm/code-quality/formatters/typescript-formatter.d.ts +9 -0
  160. package/esm/code-quality/formatters/typescript-formatter.d.ts.map +1 -0
  161. package/esm/code-quality/formatters/typescript-formatter.js +64 -0
  162. package/esm/code-quality/formatters/typescript-formatter.js.map +1 -0
  163. package/esm/code-quality/index.d.ts +16 -0
  164. package/esm/code-quality/index.d.ts.map +1 -0
  165. package/esm/code-quality/project-scanner.d.ts +6 -0
  166. package/esm/code-quality/project-scanner.d.ts.map +1 -0
  167. package/esm/code-quality/project-scanner.js +72 -0
  168. package/esm/code-quality/project-scanner.js.map +1 -0
  169. package/esm/code-quality/single-file-checker.d.ts +6 -0
  170. package/esm/code-quality/single-file-checker.d.ts.map +1 -0
  171. package/esm/code-quality/single-file-checker.js +76 -0
  172. package/esm/code-quality/single-file-checker.js.map +1 -0
  173. package/esm/config/index.d.ts +1 -1
  174. package/esm/config/index.d.ts.map +1 -1
  175. package/esm/config/typed-config.d.ts +38 -0
  176. package/esm/config/typed-config.d.ts.map +1 -0
  177. package/esm/config/typed-config.js +27 -0
  178. package/esm/config/typed-config.js.map +1 -0
  179. package/esm/console/commander.js +1 -1
  180. package/esm/console/commander.js.map +1 -1
  181. package/esm/esbuild/plugins.d.ts +3 -0
  182. package/esm/esbuild/plugins.d.ts.map +1 -1
  183. package/esm/esbuild/plugins.js +10 -53
  184. package/esm/esbuild/plugins.js.map +1 -1
  185. package/esm/http/plugins.js +8 -6
  186. package/esm/http/plugins.js.map +1 -1
  187. package/esm/http/request.d.ts +4 -0
  188. package/esm/http/request.d.ts.map +1 -1
  189. package/esm/http/request.js +17 -2
  190. package/esm/http/request.js.map +1 -1
  191. package/esm/http/response.d.ts.map +1 -1
  192. package/esm/http/response.js +15 -3
  193. package/esm/http/response.js.map +1 -1
  194. package/esm/index.d.ts +2 -0
  195. package/esm/index.d.ts.map +1 -1
  196. package/esm/index.js +1 -1
  197. package/esm/modules/uploads/controllers/get-uploaded-file-with-hash.d.ts.map +1 -1
  198. package/esm/modules/uploads/controllers/get-uploaded-file-with-hash.js +19 -2
  199. package/esm/modules/uploads/controllers/get-uploaded-file-with-hash.js.map +1 -1
  200. package/esm/modules/uploads/controllers/get-uploaded-file.d.ts.map +1 -1
  201. package/esm/modules/uploads/controllers/get-uploaded-file.js.map +1 -1
  202. package/esm/modules/uploads/events/compress-uploaded-file.d.ts.map +1 -1
  203. package/esm/modules/uploads/events/compress-uploaded-file.js +28 -3
  204. package/esm/modules/uploads/events/compress-uploaded-file.js.map +1 -1
  205. package/esm/modules/uploads/events/index.js +1 -1
  206. package/esm/modules/uploads/events/index.js.map +1 -1
  207. package/esm/modules/uploads/utils/get-watermark-options.js +1 -1
  208. package/esm/modules/uploads/utils/get-watermark-options.js.map +1 -1
  209. package/esm/output/output.js +1 -1
  210. package/esm/output/output.js.map +1 -1
  211. package/esm/react/vite-config.d.ts.map +1 -1
  212. package/esm/react/vite-config.js +2 -1
  213. package/esm/react/vite-config.js.map +1 -1
  214. package/esm/router/router.d.ts.map +1 -1
  215. package/esm/router/router.js +9 -1
  216. package/esm/router/router.js.map +1 -1
  217. package/esm/starters/http-server-starter.d.ts +5 -0
  218. package/esm/starters/http-server-starter.d.ts.map +1 -0
  219. package/esm/starters/http-server-starter.js +27 -0
  220. package/esm/starters/http-server-starter.js.map +1 -0
  221. package/esm/starters/serve-log.d.ts +8 -0
  222. package/esm/starters/serve-log.d.ts.map +1 -0
  223. package/esm/starters/serve-log.js +43 -0
  224. package/esm/starters/serve-log.js.map +1 -0
  225. package/esm/starters/start-http-server.d.ts +1 -0
  226. package/esm/starters/start-http-server.d.ts.map +1 -1
  227. package/esm/starters/start-http-server.js +70 -53
  228. package/esm/starters/start-http-server.js.map +1 -1
  229. package/esm/utils/_database-log.d.ts +3 -3
  230. package/esm/utils/_database-log.d.ts.map +1 -1
  231. package/esm/utils/glob.d.ts +4 -0
  232. package/esm/utils/glob.d.ts.map +1 -0
  233. package/esm/utils/glob.js +53 -0
  234. package/esm/utils/glob.js.map +1 -0
  235. package/esm/utils/internal.d.ts +1 -0
  236. package/esm/utils/internal.d.ts.map +1 -1
  237. package/esm/validator/validateAll.d.ts.map +1 -1
  238. package/esm/validator/validateAll.js +1 -1
  239. package/esm/validator/validateAll.js.map +1 -1
  240. package/package.json +3 -3
@@ -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
+ 'use strict';var copper=require('@mongez/copper'),path=require('path');require('typescript');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);/**
2
+ * Display project scan summary
3
+ */
4
+ function displayScanSummary(summary) {
5
+ console.log(copper.colors.cyanBright(`\n${"=".repeat(60)}\n${copper.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${copper.colors.bold("⚡ TypeScript")} ${copper.colors.dim("→")} ${summary.typescript.errorCount > 0 ? copper.colors.red(`${summary.typescript.errorCount} errors`) : copper.colors.green("0 errors")}${copper.colors.dim(", ")}${summary.typescript.warningCount > 0 ? copper.colors.yellow(`${summary.typescript.warningCount} warnings`) : copper.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__default.default.relative(process.cwd(), file.file);
14
+ const issues = [];
15
+ if (file.errors > 0)
16
+ issues.push(copper.colors.red(`${file.errors} errors`));
17
+ if (file.warnings > 0)
18
+ issues.push(copper.colors.yellow(`${file.warnings} warnings`));
19
+ console.log(` ${copper.colors.dim("├─")} ${copper.colors.cyan(fileName)} ${copper.colors.dim("→")} ${issues.join(copper.colors.dim(", "))}`);
20
+ }
21
+ if (summary.typescript.filesWithIssues.length > 5) {
22
+ console.log(copper.colors.dim(` └─ ... and ${summary.typescript.filesWithIssues.length - 5} more files`));
23
+ }
24
+ }
25
+ // ESLint section
26
+ console.log(`\n${copper.colors.bold("📏 ESLint")} ${copper.colors.dim("→")} ${summary.eslint.errorCount > 0 ? copper.colors.red(`${summary.eslint.errorCount} errors`) : copper.colors.green("0 errors")}${copper.colors.dim(", ")}${summary.eslint.warningCount > 0 ? copper.colors.yellow(`${summary.eslint.warningCount} warnings`) : copper.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__default.default.relative(process.cwd(), file.file);
31
+ const issues = [];
32
+ if (file.errors > 0)
33
+ issues.push(copper.colors.red(`${file.errors} errors`));
34
+ if (file.warnings > 0)
35
+ issues.push(copper.colors.yellow(`${file.warnings} warnings`));
36
+ console.log(` ${copper.colors.dim("├─")} ${copper.colors.cyan(fileName)} ${copper.colors.dim("→")} ${issues.join(copper.colors.dim(", "))}`);
37
+ }
38
+ if (summary.eslint.filesWithIssues.length > 5) {
39
+ console.log(copper.colors.dim(` └─ ... and ${summary.eslint.filesWithIssues.length - 5} more files`));
40
+ }
41
+ }
42
+ // Overall summary
43
+ console.log(`\n${copper.colors.dim("═".repeat(60))}`);
44
+ if (totalErrors === 0 && totalWarnings === 0) {
45
+ console.log(copper.colors.greenBright(`${copper.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(`${copper.colors.bold("Summary")} ${copper.colors.dim("→")} ${totalErrors > 0 ? copper.colors.red(`${totalErrors} errors`) : copper.colors.green("0 errors")}${copper.colors.dim(", ")}${totalWarnings > 0 ? copper.colors.yellow(`${totalWarnings} warnings`) : copper.colors.dim("0 warnings")} ${copper.colors.dim(`in ${totalFilesWithIssues} files`)}`);
51
+ }
52
+ console.log(copper.colors.dim(`Scan completed in ${(summary.scanTime / 1000).toFixed(2)}s`));
53
+ console.log(copper.colors.dim("═".repeat(60) + "\n"));
54
+ }exports.displayScanSummary=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":["colors","path"],"mappings":"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"}
@@ -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
+ 'use strict';var copper=require('@mongez/copper'),path=require('path'),ts=require('typescript'),config=require('../config.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);var ts__default=/*#__PURE__*/_interopDefault(ts);/**
2
+ * Display TypeScript errors for a single file
3
+ */
4
+ function displayErrors(result) {
5
+ const config$1 = config.getConfig();
6
+ const { diagnostics, filePath } = result;
7
+ const fileName = path__default.default.relative(process.cwd(), filePath).replace(/\\/g, "/");
8
+ if (diagnostics.length === 0) {
9
+ if (config$1.showSuccessMessages) {
10
+ console.log(copper.colors.green(`\n✓ ${copper.colors.bold("TypeScript")} ${copper.colors.dim("→")} ${copper.colors.greenBright("No errors")} ${copper.colors.dim(`in ${path__default.default.basename(filePath)}`)}`));
11
+ }
12
+ return;
13
+ }
14
+ for (const diagnostic of diagnostics) {
15
+ const message = ts__default.default.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
16
+ if (!diagnostic.file || diagnostic.start === undefined) {
17
+ console.log(copper.colors.redBright(`\n${message}`));
18
+ continue;
19
+ }
20
+ const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
21
+ const isError = diagnostic.category === ts__default.default.DiagnosticCategory.Error;
22
+ const isWarning = diagnostic.category === ts__default.default.DiagnosticCategory.Warning;
23
+ if (isError && !config$1.showErrors)
24
+ continue;
25
+ if (isWarning && !config$1.showWarnings)
26
+ continue;
27
+ const level = isError ? "ERROR" : "WARNING";
28
+ const levelColor = isError ? copper.colors.redBright : copper.colors.yellowBright;
29
+ const icon = isError ? "✖" : "⚠";
30
+ console.log(`\n${levelColor(icon)} ${levelColor(copper.colors.bold(level))} ${copper.colors.dim("in")} ${copper.colors.cyanBright(fileName)}${copper.colors.dim(`(${line + 1},${character + 1})`)}`);
31
+ console.log(` ${copper.colors.blueBright("TS" + diagnostic.code)} ${copper.colors.dim("→")} ${message}`);
32
+ if (config$1.showCodeSnippets) {
33
+ const lines = diagnostic.file.text.split("\n");
34
+ const startLine = Math.max(0, line - config$1.contextLines);
35
+ const endLine = Math.min(lines.length - 1, line + config$1.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 ? copper.colors.redBright(">") : " ";
41
+ if (isErrorLine) {
42
+ console.log(`${prefix} ${copper.colors.dim(lineNum)} ${copper.colors.dim("│")} ${copper.colors.redBright(lines[i])}`);
43
+ const padding = " ".repeat(character + lineNum.length + 4);
44
+ const pointer = copper.colors.red("~".repeat(Math.max(1, errorLength)));
45
+ console.log(` ${padding}${pointer}`);
46
+ }
47
+ else {
48
+ console.log(`${prefix} ${copper.colors.dim(lineNum)} ${copper.colors.dim("│")} ${copper.colors.dim(lines[i])}`);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ // Summary
54
+ const errorCount = diagnostics.filter(d => d.category === ts__default.default.DiagnosticCategory.Error).length;
55
+ const warningCount = diagnostics.filter(d => d.category === ts__default.default.DiagnosticCategory.Warning).length;
56
+ const summary = [];
57
+ if (errorCount > 0) {
58
+ summary.push(copper.colors.red(`${errorCount} error${errorCount > 1 ? "s" : ""}`));
59
+ }
60
+ if (warningCount > 0) {
61
+ summary.push(copper.colors.yellow(`${warningCount} warning${warningCount > 1 ? "s" : ""}`));
62
+ }
63
+ console.log(`\n${copper.colors.dim("╰─")} ${copper.colors.bold("TypeScript")} ${copper.colors.dim("→")} ${summary.join(copper.colors.dim(" and "))}`);
64
+ }exports.displayErrors=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":["config","getConfig","path","colors","ts"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Warlock Code Quality System
3
+ *
4
+ * Provides TypeScript and ESLint checking with beautiful formatting
5
+ * Supports both single-file checks (on change) and full project scans (on startup)
6
+ */
7
+ export { configure, getConfig, resetConfig } from "./config";
8
+ export type { CodeQualityConfig, DisplayStrategy } from "./config";
9
+ export { checkSingleFile } from "./single-file-checker";
10
+ export { scanProject } from "./project-scanner";
11
+ export * as ESLintChecker from "./checkers/eslint-checker";
12
+ export * as TypeScriptChecker from "./checkers/typescript-checker";
13
+ export * as ESLintFormatter from "./formatters/eslint-formatter";
14
+ export * as SummaryFormatter from "./formatters/summary-formatter";
15
+ export * as TypeScriptFormatter from "./formatters/typescript-formatter";
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/code-quality/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AAGnE,OAAO,KAAK,eAAe,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,gBAAgB,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,mBAAmB,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Run a full project scan (async, background process)
3
+ * Called once on server startup
4
+ */
5
+ export declare function scanProject(projectPath: string): Promise<void>;
6
+ //# sourceMappingURL=project-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-scanner.d.ts","sourceRoot":"","sources":["../../src/code-quality/project-scanner.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAmGpD"}
@@ -0,0 +1,72 @@
1
+ 'use strict';var copper=require('@mongez/copper'),ts=require('typescript'),eslintChecker=require('./checkers/eslint-checker.js'),typescriptChecker=require('./checkers/typescript-checker.js'),config=require('./config.js'),summaryFormatter=require('./formatters/summary-formatter.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ts__default=/*#__PURE__*/_interopDefault(ts);/**
2
+ * Run a full project scan (async, background process)
3
+ * Called once on server startup
4
+ */
5
+ async function scanProject(projectPath) {
6
+ // Fire and forget - run in background
7
+ setTimeout(async () => {
8
+ const config$1 = config.getConfig();
9
+ if (!config$1.enableInitialScan || config$1.displayStrategy === "silent") {
10
+ return;
11
+ }
12
+ const startTime = Date.now();
13
+ console.log(copper.colors.cyanBright(`\n🔍 ${copper.colors.bold("Code quality scan started...")} ${copper.colors.dim("(running in background)")}`));
14
+ try {
15
+ // Run both checks in parallel for speed
16
+ const [tsResults, eslintResults] = await Promise.all([
17
+ typescriptChecker.checkProject(projectPath),
18
+ eslintChecker.checkProject(projectPath),
19
+ ]);
20
+ const scanTime = Date.now() - startTime;
21
+ // Build summary
22
+ const summary = {
23
+ typescript: {
24
+ errorCount: 0,
25
+ warningCount: 0,
26
+ filesWithIssues: [],
27
+ },
28
+ eslint: {
29
+ errorCount: 0,
30
+ warningCount: 0,
31
+ filesWithIssues: [],
32
+ },
33
+ totalFiles: tsResults.length + eslintResults.length,
34
+ scanTime,
35
+ };
36
+ // Process TypeScript results
37
+ for (const result of tsResults) {
38
+ const errors = result.diagnostics.filter(d => d.category === ts__default.default.DiagnosticCategory.Error).length;
39
+ const warnings = result.diagnostics.filter(d => d.category === ts__default.default.DiagnosticCategory.Warning).length;
40
+ summary.typescript.errorCount += errors;
41
+ summary.typescript.warningCount += warnings;
42
+ if (errors > 0 || warnings > 0) {
43
+ summary.typescript.filesWithIssues.push({
44
+ file: result.filePath,
45
+ errors,
46
+ warnings,
47
+ });
48
+ }
49
+ }
50
+ // Process ESLint results
51
+ for (const result of eslintResults) {
52
+ summary.eslint.errorCount += result.results.errorCount;
53
+ summary.eslint.warningCount += result.results.warningCount;
54
+ if (result.results.errorCount > 0 || result.results.warningCount > 0) {
55
+ summary.eslint.filesWithIssues.push({
56
+ file: result.filePath,
57
+ errors: result.results.errorCount,
58
+ warnings: result.results.warningCount,
59
+ });
60
+ }
61
+ }
62
+ // Sort files by errors (most errors first)
63
+ summary.typescript.filesWithIssues.sort((a, b) => b.errors - a.errors);
64
+ summary.eslint.filesWithIssues.sort((a, b) => b.errors - a.errors);
65
+ // Display summary
66
+ summaryFormatter.displayScanSummary(summary);
67
+ }
68
+ catch (error) {
69
+ console.log(copper.colors.red(`\n❌ Code quality scan failed: ${error instanceof Error ? error.message : String(error)}\n`));
70
+ }
71
+ }, 2000); // Wait 2 seconds after server starts
72
+ }exports.scanProject=scanProject;//# sourceMappingURL=project-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-scanner.js","sources":["../../src/code-quality/project-scanner.ts"],"sourcesContent":[null],"names":["config","getConfig","colors","tsChecker.checkProject","eslintChecker.checkProject","ts","summaryFormatter.displayScanSummary"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Check a single file for code quality issues
3
+ * This runs on every file change (fast, async, non-blocking)
4
+ */
5
+ export declare function checkSingleFile(filePath: string): Promise<void>;
6
+ //# sourceMappingURL=single-file-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-file-checker.d.ts","sourceRoot":"","sources":["../../src/code-quality/single-file-checker.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,iBAkDrD"}
@@ -0,0 +1,76 @@
1
+ 'use strict';var copper=require('@mongez/copper'),path=require('path'),eslintChecker=require('./checkers/eslint-checker.js'),typescriptChecker=require('./checkers/typescript-checker.js'),config=require('./config.js'),eslintFormatter=require('./formatters/eslint-formatter.js'),typescriptFormatter=require('./formatters/typescript-formatter.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);/**
2
+ * Check a single file for code quality issues
3
+ * This runs on every file change (fast, async, non-blocking)
4
+ */
5
+ async function checkSingleFile(filePath) {
6
+ // Fire and forget - don't block
7
+ setTimeout(async () => {
8
+ try {
9
+ const config$1 = config.getConfig();
10
+ if (config$1.displayStrategy === "silent") {
11
+ return;
12
+ }
13
+ // Run checks based on strategy
14
+ let tsResult = null;
15
+ let eslintResult = null;
16
+ if (config$1.displayStrategy === "sequential" ||
17
+ config$1.displayStrategy === "typescript-only" ||
18
+ config$1.displayStrategy === "combined") {
19
+ tsResult = await typescriptChecker.checkSingleFile(filePath);
20
+ }
21
+ if (config$1.displayStrategy === "sequential" ||
22
+ config$1.displayStrategy === "eslint-only" ||
23
+ config$1.displayStrategy === "combined") {
24
+ eslintResult = await eslintChecker.checkSingleFile(filePath);
25
+ }
26
+ // Display based on strategy
27
+ if (config$1.displayStrategy === "sequential") {
28
+ // Display TypeScript first (more important)
29
+ if (tsResult)
30
+ typescriptFormatter.displayErrors(tsResult);
31
+ if (eslintResult)
32
+ eslintFormatter.displayErrors(eslintResult);
33
+ }
34
+ else if (config$1.displayStrategy === "combined") {
35
+ displayCombinedSummary(tsResult, eslintResult);
36
+ }
37
+ else if (config$1.displayStrategy === "typescript-only" && tsResult) {
38
+ typescriptFormatter.displayErrors(tsResult);
39
+ }
40
+ else if (config$1.displayStrategy === "eslint-only" && eslintResult) {
41
+ eslintFormatter.displayErrors(eslintResult);
42
+ }
43
+ }
44
+ catch (error) {
45
+ console.log(copper.colors.dim(`⚠️ Code quality check failed: ${error instanceof Error ? error.message : String(error)}`));
46
+ }
47
+ }, 0);
48
+ }
49
+ /**
50
+ * Display combined summary for single file
51
+ */
52
+ function displayCombinedSummary(tsResult, eslintResult) {
53
+ const fileName = path__default.default
54
+ .basename(tsResult?.filePath || eslintResult?.filePath)
55
+ .replace(/\\/g, "/");
56
+ console.log(`\n${copper.colors.dim("╭─")} ${copper.colors.bold(copper.colors.cyanBright("Code Quality"))} ${copper.colors.dim("→")} ${copper.colors.cyan(fileName)}`);
57
+ let totalErrors = 0;
58
+ let totalWarnings = 0;
59
+ if (tsResult && tsResult.diagnostics.length > 0) {
60
+ const errors = tsResult.diagnostics.filter((d) => d.category === 3).length;
61
+ const warnings = tsResult.diagnostics.filter((d) => d.category === 0).length;
62
+ totalErrors += errors;
63
+ totalWarnings += warnings;
64
+ console.log(`\n${copper.colors.dim("├─")} ${copper.colors.bold("TypeScript")} ${copper.colors.dim("→")} ${errors > 0 ? copper.colors.red(`${errors} error${errors !== 1 ? "s" : ""}`) : copper.colors.green("0 errors")}${copper.colors.dim(", ")}${warnings > 0 ? copper.colors.yellow(`${warnings} warning${warnings !== 1 ? "s" : ""}`) : copper.colors.dim("0 warnings")}`);
65
+ typescriptFormatter.displayErrors(tsResult);
66
+ }
67
+ if (eslintResult &&
68
+ (eslintResult.results.errorCount > 0 ||
69
+ eslintResult.results.warningCount > 0)) {
70
+ totalErrors += eslintResult.results.errorCount;
71
+ totalWarnings += eslintResult.results.warningCount;
72
+ console.log(`\n${copper.colors.dim("├─")} ${copper.colors.bold("ESLint")} ${copper.colors.dim("→")} ${eslintResult.results.errorCount > 0 ? copper.colors.red(`${eslintResult.results.errorCount} error${eslintResult.results.errorCount !== 1 ? "s" : ""}`) : copper.colors.green("0 errors")}${copper.colors.dim(", ")}${eslintResult.results.warningCount > 0 ? copper.colors.yellow(`${eslintResult.results.warningCount} warning${eslintResult.results.warningCount !== 1 ? "s" : ""}`) : copper.colors.dim("0 warnings")}`);
73
+ eslintFormatter.displayErrors(eslintResult);
74
+ }
75
+ console.log(`\n${copper.colors.dim("╰─")} ${copper.colors.bold("Summary")} ${copper.colors.dim("→")} ${totalErrors > 0 ? copper.colors.red(`${totalErrors} error${totalErrors !== 1 ? "s" : ""}`) : copper.colors.green("✓ No errors")}${copper.colors.dim(", ")}${totalWarnings > 0 ? copper.colors.yellow(`${totalWarnings} warning${totalWarnings !== 1 ? "s" : ""}`) : copper.colors.dim("0 warnings")}\n`);
76
+ }exports.checkSingleFile=checkSingleFile;//# sourceMappingURL=single-file-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-file-checker.js","sources":["../../src/code-quality/single-file-checker.ts"],"sourcesContent":[null],"names":["config","getConfig","tsChecker.checkSingleFile","eslintChecker.checkSingleFile","tsFormatter.displayErrors","eslintFormatter.displayErrors","colors","path"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export * from "./define-config";
2
2
  export * from "./get-warlock-config";
3
3
  export * from "./types";
4
- export * from "./utils";
4
+ export * from "./typed-config";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Default config keys type
3
+ * This will be overridden by module augmentation in user's project
4
+ */
5
+ export type ConfigKeys = string;
6
+ /**
7
+ * Config type mapping interface
8
+ * Users can augment this to add return types for specific config keys
9
+ *
10
+ * Example:
11
+ * declare module "@warlock.js/core" {
12
+ * interface ConfigTypeMap {
13
+ * database: import("@warlock.js/cascade").DatabaseConfigurations;
14
+ * app: import("@warlock.js/core").AppConfigurations;
15
+ * }
16
+ * }
17
+ */
18
+ export interface ConfigTypeMap {
19
+ }
20
+ /**
21
+ * Typed configuration wrapper with autocomplete support
22
+ *
23
+ * This wraps @mongez/config with type-safe keys that are
24
+ * auto-generated from your src/config/ directory.
25
+ *
26
+ * Usage:
27
+ * import { config } from "@warlock.js/core";
28
+ * const dbConfig = config.get("database"); // ✅ Autocomplete!
29
+ * const appName = config.get("app"); // ✅ Type-safe!
30
+ */
31
+ export declare const config: {
32
+ get<K extends string>(key: K, defaultValue?: any): K extends never ? ConfigTypeMap[K] : any;
33
+ set<K_1 extends string>(key: K_1, value: any): void;
34
+ has(key: ConfigKeys): boolean;
35
+ all(): Record<string, any>;
36
+ };
37
+ export default config;
38
+ //# sourceMappingURL=typed-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-config.d.ts","sourceRoot":"","sources":["../../src/config/typed-config.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;CAE7B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM;iDAGA,GAAG;6CAKqB,GAAG,GAAG,IAAI;aAI1C,UAAU,GAAG,OAAO;WAKtB,OAAO,MAAM,EAAE,GAAG,CAAC;CAI3B,CAAC;AAGF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,27 @@
1
+ 'use strict';var config$1=require('@mongez/config');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var config__default=/*#__PURE__*/_interopDefault(config$1);/**
2
+ * Typed configuration wrapper with autocomplete support
3
+ *
4
+ * This wraps @mongez/config with type-safe keys that are
5
+ * auto-generated from your src/config/ directory.
6
+ *
7
+ * Usage:
8
+ * import { config } from "@warlock.js/core";
9
+ * const dbConfig = config.get("database"); // ✅ Autocomplete!
10
+ * const appName = config.get("app"); // ✅ Type-safe!
11
+ */
12
+ const config = {
13
+ get(key, defaultValue) {
14
+ return config__default.default.get(key, defaultValue);
15
+ },
16
+ set(key, value) {
17
+ config__default.default.set(key, value);
18
+ },
19
+ has(key) {
20
+ // mongez/config doesn't have has(), so we check if value exists
21
+ return config__default.default.get(key) !== undefined;
22
+ },
23
+ all() {
24
+ // mongez/config uses list() instead of all()
25
+ return config__default.default.list();
26
+ },
27
+ };exports.config=config;exports.default=config;//# sourceMappingURL=typed-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-config.js","sources":["../../src/config/typed-config.ts"],"sourcesContent":[null],"names":["baseConfig"],"mappings":"gLAwBA;;;;;;;;;;AAUG;AACU,MAAA,MAAM,GAAG;IACpB,GAAG,CACD,GAAM,EACN,YAAkB,EAAA;QAElB,OAAOA,uBAAU,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;KAC1C;IAED,GAAG,CAAuB,GAAM,EAAE,KAAU,EAAA;AAC1C,QAAAA,uBAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAC5B;AAED,IAAA,GAAG,CAAC,GAAe,EAAA;;QAEjB,OAAOA,uBAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;KAC1C;IAED,GAAG,GAAA;;AAED,QAAA,OAAOA,uBAAU,CAAC,IAAI,EAAE,CAAC;KAC1B;"}
@@ -1,4 +1,4 @@
1
- 'use strict';var commander=require('commander'),setup=require('../bootstrap/setup.js');require('@mongez/fs'),require('@mongez/reinforcements'),require('crypto'),require('fs/promises'),require('path'),require('@mongez/http'),require('sharp'),require('@mongez/config');var createHttpApplication=require('../http/createHttpApplication.js');require('@warlock.js/cascade'),require('@warlock.js/cache'),require('../http/middleware/inject-request-context.js'),require('@fastify/multipart'),require('react'),require('react-dom/server'),require('../react/vite-config.js'),require('@warlock.js/logger'),require('../utils/date-output.js'),require('@mongez/slug'),require('@mongez/supportive-is'),require('@mongez/copper'),require('@mongez/events'),require('@mongez/localization'),require('../validator/locales.js'),require('../modules/uploads/models/upload.js'),require('dayjs'),require('net'),require('../http/response.js'),require('fastify');commander.program.name("Warlock JS").description("Warlock JS CLI Tool");
1
+ 'use strict';var commander=require('commander'),setup=require('../bootstrap/setup.js');require('@mongez/fs'),require('@mongez/reinforcements'),require('crypto'),require('fs/promises'),require('path'),require('@mongez/http'),require('sharp'),require('@mongez/config');var createHttpApplication=require('../http/createHttpApplication.js');require('@warlock.js/cascade'),require('@warlock.js/cache'),require('../http/middleware/inject-request-context.js'),require('@fastify/multipart'),require('@warlock.js/logger'),require('../utils/date-output.js'),require('@mongez/slug'),require('@mongez/supportive-is'),require('@mongez/copper'),require('@mongez/events'),require('@mongez/localization'),require('../validator/locales.js'),require('../modules/uploads/models/upload.js'),require('dayjs'),require('net'),require('../http/response.js'),require('fastify');commander.program.name("Warlock JS").description("Warlock JS CLI Tool");
2
2
  function registerCommands(commands) {
3
3
  commands.forEach(registerCommand);
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commander.js","sources":["../../src/console/commander.ts"],"sourcesContent":[null],"names":["program","Command","setupDatabase","setupCache","createHttpApplication","disconnectDatabase","disconnectCache","stopHttpApplication"],"mappings":"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"}
1
+ {"version":3,"file":"commander.js","sources":["../../src/console/commander.ts"],"sourcesContent":[null],"names":["program","Command","setupDatabase","setupCache","createHttpApplication","disconnectDatabase","disconnectCache","stopHttpApplication"],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ /// <reference types="node" />
2
+ import type { ChildProcess } from "child_process";
1
3
  import type { Plugin } from "esbuild";
2
4
  export declare const startServerPlugin: Plugin;
5
+ export declare function startHttpServerDev(): ChildProcess;
3
6
  //# sourceMappingURL=plugins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/esbuild/plugins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,SAAS,CAAC;AAuBnD,eAAO,MAAM,iBAAiB,EAAE,MAyD/B,CAAC"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/esbuild/plugins.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,SAAS,CAAC;AAOnD,eAAO,MAAM,iBAAiB,EAAE,MAgB/B,CAAC;AAEF,wBAAgB,kBAAkB,iBAyBjC"}
@@ -1,18 +1,5 @@
1
- 'use strict';var child_process=require('child_process'),path=require('path');require('@warlock.js/logger'),require('../utils/date-output.js'),require('../http/middleware/inject-request-context.js');var paths=require('../utils/paths.js');require('@mongez/slug'),require('@mongez/supportive-is'),require('@mongez/reinforcements');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__default=/*#__PURE__*/_interopDefault(path);// Keep track of the active server process
1
+ 'use strict';var child_process=require('child_process');require('@warlock.js/logger'),require('../utils/date-output.js'),require('../http/middleware/inject-request-context.js');var paths=require('../utils/paths.js');require('@mongez/slug'),require('@mongez/supportive-is'),require('@mongez/reinforcements');// Keep track of the active server process
2
2
  let serverProcess = null;
3
- // Core files that require server restart
4
- const CORE_PATTERNS = [
5
- /src\/config\//,
6
- /src\/bootstrap\//,
7
- /src\/warlock\/environment/,
8
- /\.env$/,
9
- /warlock\.config\.ts$/,
10
- ];
11
- // Files that should be hot reloaded
12
- const HOT_RELOAD_PATTERNS = [
13
- /src\/app\/.*\/routes\.ts$/,
14
- /src\/app\/.*\/controllers\//,
15
- ];
16
3
  // This plugin manages the build process and server
17
4
  const startServerPlugin = {
18
5
  name: "start-server",
@@ -24,47 +11,16 @@ const startServerPlugin = {
24
11
  }
25
12
  if (!result.metafile)
26
13
  return;
27
- // Get changed files from metafile
28
- const changedFiles = Object.keys(result.metafile.inputs);
29
- // Check if any core files changed
30
- const requiresRestart = changedFiles.some(file => CORE_PATTERNS.some(pattern => pattern.test(file)));
31
- if (requiresRestart) {
32
- if (serverProcess) {
33
- serverProcess.kill();
34
- serverProcess = null;
35
- }
36
- startServer();
37
- }
38
- else {
39
- // Check for hot reloadable files
40
- const hotReloadFiles = changedFiles.filter(file => HOT_RELOAD_PATTERNS.some(pattern => pattern.test(file)));
41
- if (hotReloadFiles.length > 0) {
42
- console.log("Hot reloading files:", hotReloadFiles);
43
- for (const [outputFile, info] of Object.entries(result.metafile.outputs)) {
44
- if (!info.inputs)
45
- continue;
46
- const inputFile = Object.keys(info.inputs)[0];
47
- if (hotReloadFiles.includes(inputFile)) {
48
- try {
49
- const modulePath = path__default.default.resolve(outputFile);
50
- if (require.cache[modulePath]) {
51
- delete require.cache[modulePath];
52
- }
53
- (function(t){return Promise.resolve().then(function(){return /*#__PURE__*/_interopNamespace(require(t))})})(`${modulePath}?update=${Date.now()}`).catch(err => {
54
- console.error(`Error hot reloading ${outputFile}:`, err);
55
- });
56
- }
57
- catch (error) {
58
- console.error(`Failed to hot reload ${outputFile}:`, error);
59
- }
60
- }
61
- }
62
- }
63
- }
14
+ if (serverProcess)
15
+ return;
16
+ startHttpServerDev();
64
17
  });
65
18
  },
66
19
  };
67
- function startServer() {
20
+ function startHttpServerDev() {
21
+ if (serverProcess) {
22
+ serverProcess.kill();
23
+ }
68
24
  serverProcess = child_process.spawn("node", ["--enable-source-maps", paths.warlockPath("http.js")], {
69
25
  stdio: "inherit",
70
26
  cwd: process.cwd(),
@@ -77,4 +33,5 @@ function startServer() {
77
33
  process.exit(state);
78
34
  }
79
35
  });
80
- }exports.startServerPlugin=startServerPlugin;//# sourceMappingURL=plugins.js.map
36
+ return serverProcess;
37
+ }exports.startHttpServerDev=startHttpServerDev;exports.startServerPlugin=startServerPlugin;//# sourceMappingURL=plugins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sources":["../../src/esbuild/plugins.ts"],"sourcesContent":[null],"names":["path","spawn","warlockPath"],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sources":["../../src/esbuild/plugins.ts"],"sourcesContent":[null],"names":["spawn","warlockPath"],"mappings":"mTAKA;AACA,IAAI,aAAa,GAAwB,IAAI,CAAC;AAE9C;AACa,MAAA,iBAAiB,GAAW;AACvC,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,KAAK,CAAC,KAAkB,EAAA;AACtB,QAAA,KAAK,CAAC,KAAK,CAAC,MAAM,IAAG;AACnB,YAAA,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9C,OAAO;AACR,aAAA;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO;AAE7B,YAAA,IAAI,aAAa;gBAAE,OAAO;AAE1B,YAAA,kBAAkB,EAAE,CAAC;AACvB,SAAC,CAAC,CAAC;KACJ;EACD;SAEc,kBAAkB,GAAA;AAChC,IAAA,IAAI,aAAa,EAAE;QACjB,aAAa,CAAC,IAAI,EAAE,CAAC;AACtB,KAAA;AAED,IAAA,aAAa,GAAGA,mBAAK,CACnB,MAAM,EACN,CAAC,sBAAsB,EAAEC,iBAAW,CAAC,SAAS,CAAC,CAAC,EAChD;AACE,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;AACnB,KAAA,CACF,CAAC;AAEF,IAAA,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAG;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AAC9C,KAAC,CAAC,CAAC;AAEH,IAAA,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAG;QAC/B,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,SAAA;AACH,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,aAAa,CAAC;AACvB"}