task-script-support-cli 0.1.1 → 0.2.4

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 (246) hide show
  1. package/assets/yargs-template/task-runner/.prettierignore +3 -0
  2. package/assets/yargs-template/task-runner/.prettierrc +1 -0
  3. package/assets/yargs-template/task-runner/.vscode/launch.json +34 -0
  4. package/assets/yargs-template/task-runner/eslint.config.ts +11 -0
  5. package/assets/yargs-template/task-runner/install-link.sh +21 -0
  6. package/assets/yargs-template/task-runner/package-lock.json +3387 -0
  7. package/assets/yargs-template/task-runner/package.json +51 -0
  8. package/assets/yargs-template/task-runner/src/commands/verify.ts +10 -0
  9. package/assets/yargs-template/task-runner/src/index.ts +46 -0
  10. package/assets/yargs-template/task-runner/src/services/banner-service.ts +38 -0
  11. package/assets/yargs-template/task-runner/src/services/log-service.ts +48 -0
  12. package/assets/yargs-template/task-runner/src/services/spawn-service.ts +87 -0
  13. package/assets/yargs-template/task-runner/src/services/util-service.ts +28 -0
  14. package/assets/yargs-template/task-runner/src/tasks/check-env.ts +49 -0
  15. package/assets/yargs-template/task-runner/src/tasks/log-state.ts +22 -0
  16. package/assets/yargs-template/task-runner/src/tasks/print-banner.ts +73 -0
  17. package/assets/yargs-template/task-runner/src/types/process.ts +9 -0
  18. package/assets/yargs-template/task-runner/src/types/state.ts +31 -0
  19. package/assets/yargs-template/task-runner/src/wrappers/app-task.ts +42 -0
  20. package/assets/yargs-template/task-runner/src/wrappers/command.ts +20 -0
  21. package/assets/yargs-template/task-runner/src/wrappers/dependencies.ts +24 -0
  22. package/assets/yargs-template/task-runner/task-runner +3 -0
  23. package/assets/yargs-template/task-runner/templater.sh +57 -0
  24. package/assets/yargs-template/task-runner/tests/commands/verify.test.ts +42 -0
  25. package/assets/yargs-template/task-runner/tests/services/spawn-service.test.ts +132 -0
  26. package/assets/yargs-template/task-runner/tests/services/util-service.test.ts +36 -0
  27. package/assets/yargs-template/task-runner/tests/setup.ts +1 -0
  28. package/assets/yargs-template/task-runner/tests/tasks/check-env.test.ts +30 -0
  29. package/assets/yargs-template/task-runner/tsconfig.json +27 -0
  30. package/assets/yargs-template/task-runner/vitest.config.ts +14 -0
  31. package/dist/assets/yargs-template/task-runner/.prettierignore +3 -0
  32. package/dist/assets/yargs-template/task-runner/.prettierrc +1 -0
  33. package/dist/assets/yargs-template/task-runner/.vscode/launch.json +34 -0
  34. package/dist/assets/yargs-template/task-runner/eslint.config.ts +11 -0
  35. package/dist/assets/yargs-template/task-runner/install-link.sh +21 -0
  36. package/dist/assets/yargs-template/task-runner/package-lock.json +3387 -0
  37. package/dist/assets/yargs-template/task-runner/package.json +51 -0
  38. package/dist/assets/yargs-template/task-runner/src/commands/verify.ts +10 -0
  39. package/dist/assets/yargs-template/task-runner/src/index.ts +46 -0
  40. package/dist/assets/yargs-template/task-runner/src/services/banner-service.ts +38 -0
  41. package/dist/assets/yargs-template/task-runner/src/services/log-service.ts +48 -0
  42. package/dist/assets/yargs-template/task-runner/src/services/spawn-service.ts +87 -0
  43. package/dist/assets/yargs-template/task-runner/src/services/util-service.ts +28 -0
  44. package/dist/assets/yargs-template/task-runner/src/tasks/check-env.ts +49 -0
  45. package/dist/assets/yargs-template/task-runner/src/tasks/log-state.ts +22 -0
  46. package/dist/assets/yargs-template/task-runner/src/tasks/print-banner.ts +73 -0
  47. package/dist/assets/yargs-template/task-runner/src/types/process.ts +9 -0
  48. package/dist/assets/yargs-template/task-runner/src/types/state.ts +31 -0
  49. package/dist/assets/yargs-template/task-runner/src/wrappers/app-task.ts +42 -0
  50. package/dist/assets/yargs-template/task-runner/src/wrappers/command.ts +20 -0
  51. package/dist/assets/yargs-template/task-runner/src/wrappers/dependencies.ts +24 -0
  52. package/dist/assets/yargs-template/task-runner/task-runner +3 -0
  53. package/dist/assets/yargs-template/task-runner/templater.sh +57 -0
  54. package/dist/assets/yargs-template/task-runner/tests/commands/verify.test.ts +42 -0
  55. package/dist/assets/yargs-template/task-runner/tests/services/spawn-service.test.ts +132 -0
  56. package/dist/assets/yargs-template/task-runner/tests/services/util-service.test.ts +36 -0
  57. package/dist/assets/yargs-template/task-runner/tests/setup.ts +1 -0
  58. package/dist/assets/yargs-template/task-runner/tests/tasks/check-env.test.ts +30 -0
  59. package/dist/assets/yargs-template/task-runner/tsconfig.json +27 -0
  60. package/dist/assets/yargs-template/task-runner/vitest.config.ts +14 -0
  61. package/dist/package.json +9 -3
  62. package/dist/src/commands/about.d.ts +2 -2
  63. package/dist/src/commands/about.d.ts.map +1 -1
  64. package/dist/src/commands/about.js +2 -2
  65. package/dist/src/commands/about.js.map +1 -1
  66. package/dist/src/commands/configure.d.ts +8 -0
  67. package/dist/src/commands/configure.d.ts.map +1 -0
  68. package/dist/src/commands/configure.js +25 -0
  69. package/dist/src/commands/configure.js.map +1 -0
  70. package/dist/src/commands/gen.d.ts +9 -7
  71. package/dist/src/commands/gen.d.ts.map +1 -1
  72. package/dist/src/commands/gen.js +10 -6
  73. package/dist/src/commands/gen.js.map +1 -1
  74. package/dist/src/commands/new.d.ts +8 -0
  75. package/dist/src/commands/new.d.ts.map +1 -0
  76. package/dist/src/commands/new.js +25 -0
  77. package/dist/src/commands/new.js.map +1 -0
  78. package/dist/src/index.js +10 -0
  79. package/dist/src/index.js.map +1 -1
  80. package/dist/src/services/cache-service.d.ts +11 -0
  81. package/dist/src/services/cache-service.d.ts.map +1 -0
  82. package/dist/src/services/cache-service.js +64 -0
  83. package/dist/src/services/cache-service.js.map +1 -0
  84. package/dist/src/services/file-service.d.ts +8 -2
  85. package/dist/src/services/file-service.d.ts.map +1 -1
  86. package/dist/src/services/file-service.js +38 -6
  87. package/dist/src/services/file-service.js.map +1 -1
  88. package/dist/src/services/log-service.d.ts +1 -0
  89. package/dist/src/services/log-service.d.ts.map +1 -1
  90. package/dist/src/services/log-service.js +14 -1
  91. package/dist/src/services/log-service.js.map +1 -1
  92. package/dist/src/services/project-service.d.ts +3 -3
  93. package/dist/src/services/project-service.d.ts.map +1 -1
  94. package/dist/src/services/project-service.js +10 -10
  95. package/dist/src/services/project-service.js.map +1 -1
  96. package/dist/src/services/prompt-service.d.ts +34 -0
  97. package/dist/src/services/prompt-service.d.ts.map +1 -0
  98. package/dist/src/services/prompt-service.js +80 -0
  99. package/dist/src/services/prompt-service.js.map +1 -0
  100. package/dist/src/services/spawn-service.d.ts +2 -1
  101. package/dist/src/services/spawn-service.d.ts.map +1 -1
  102. package/dist/src/services/spawn-service.js +16 -1
  103. package/dist/src/services/spawn-service.js.map +1 -1
  104. package/dist/src/services/util-service.d.ts +2 -0
  105. package/dist/src/services/util-service.d.ts.map +1 -1
  106. package/dist/src/services/util-service.js +4 -0
  107. package/dist/src/services/util-service.js.map +1 -1
  108. package/dist/src/tasks/check-env.d.ts +3 -2
  109. package/dist/src/tasks/check-env.d.ts.map +1 -1
  110. package/dist/src/tasks/check-env.js +11 -3
  111. package/dist/src/tasks/check-env.js.map +1 -1
  112. package/dist/src/tasks/configure.d.ts +44 -0
  113. package/dist/src/tasks/configure.d.ts.map +1 -0
  114. package/dist/src/tasks/configure.js +102 -0
  115. package/dist/src/tasks/configure.js.map +1 -0
  116. package/dist/src/tasks/create-new-project.d.ts +26 -0
  117. package/dist/src/tasks/create-new-project.d.ts.map +1 -0
  118. package/dist/src/tasks/create-new-project.js +76 -0
  119. package/dist/src/tasks/create-new-project.js.map +1 -0
  120. package/dist/src/tasks/generate/generate-command.d.ts +35 -0
  121. package/dist/src/tasks/generate/generate-command.d.ts.map +1 -0
  122. package/dist/src/tasks/generate/generate-command.js +128 -0
  123. package/dist/src/tasks/generate/generate-command.js.map +1 -0
  124. package/dist/src/tasks/generate/generate-service.d.ts +30 -0
  125. package/dist/src/tasks/generate/generate-service.d.ts.map +1 -0
  126. package/dist/src/tasks/{generate-service.js → generate/generate-service.js} +32 -31
  127. package/dist/src/tasks/generate/generate-service.js.map +1 -0
  128. package/dist/src/tasks/generate/generate-task.d.ts +30 -0
  129. package/dist/src/tasks/generate/generate-task.d.ts.map +1 -0
  130. package/dist/src/tasks/{generate-task.js → generate/generate-task.js} +32 -31
  131. package/dist/src/tasks/generate/generate-task.js.map +1 -0
  132. package/dist/src/tasks/generate/select-gen-target-name.d.ts +15 -0
  133. package/dist/src/tasks/generate/select-gen-target-name.d.ts.map +1 -0
  134. package/dist/src/tasks/generate/select-gen-target-name.js +59 -0
  135. package/dist/src/tasks/generate/select-gen-target-name.js.map +1 -0
  136. package/dist/src/tasks/generate/select-gen-target.d.ts +14 -0
  137. package/dist/src/tasks/generate/select-gen-target.d.ts.map +1 -0
  138. package/dist/src/tasks/generate/select-gen-target.js +60 -0
  139. package/dist/src/tasks/generate/select-gen-target.js.map +1 -0
  140. package/dist/src/tasks/{print-about-information.d.ts → stdout/print-about-information.d.ts} +1 -1
  141. package/dist/src/tasks/stdout/print-about-information.d.ts.map +1 -0
  142. package/dist/src/tasks/{print-about-information.js → stdout/print-about-information.js} +2 -2
  143. package/dist/src/tasks/stdout/print-about-information.js.map +1 -0
  144. package/dist/src/tasks/stdout/print-banner.d.ts +12 -0
  145. package/dist/src/tasks/stdout/print-banner.d.ts.map +1 -0
  146. package/dist/src/tasks/{print-banner.js → stdout/print-banner.js} +15 -11
  147. package/dist/src/tasks/stdout/print-banner.js.map +1 -0
  148. package/dist/src/tasks/{print-generated-results.d.ts → stdout/print-generated-results.d.ts} +2 -2
  149. package/dist/src/tasks/stdout/print-generated-results.d.ts.map +1 -0
  150. package/dist/src/tasks/{print-generated-results.js → stdout/print-generated-results.js} +16 -12
  151. package/dist/src/tasks/stdout/print-generated-results.js.map +1 -0
  152. package/dist/src/tasks/sync-configuration.d.ts +38 -0
  153. package/dist/src/tasks/sync-configuration.d.ts.map +1 -0
  154. package/dist/src/tasks/sync-configuration.js +121 -0
  155. package/dist/src/tasks/sync-configuration.js.map +1 -0
  156. package/dist/src/tasks/test-task.d.ts +10 -0
  157. package/dist/src/tasks/test-task.d.ts.map +1 -0
  158. package/dist/src/tasks/test-task.js +36 -0
  159. package/dist/src/tasks/test-task.js.map +1 -0
  160. package/dist/src/templates/command.js +2 -2
  161. package/dist/src/templates/command.js.map +1 -1
  162. package/dist/src/templates/service.js +1 -1
  163. package/dist/src/templates/service.js.map +1 -1
  164. package/dist/src/types/process.d.ts +2 -1
  165. package/dist/src/types/process.d.ts.map +1 -1
  166. package/dist/src/types/process.js +1 -0
  167. package/dist/src/types/process.js.map +1 -1
  168. package/dist/src/types/project.d.ts +12 -0
  169. package/dist/src/types/project.d.ts.map +1 -0
  170. package/dist/src/types/project.js +3 -0
  171. package/dist/src/types/project.js.map +1 -0
  172. package/dist/src/types/state.d.ts +5 -1
  173. package/dist/src/types/state.d.ts.map +1 -1
  174. package/dist/src/types/state.js +1 -0
  175. package/dist/src/types/state.js.map +1 -1
  176. package/dist/src/wrappers/app-task.d.ts +1 -0
  177. package/dist/src/wrappers/app-task.d.ts.map +1 -1
  178. package/dist/src/wrappers/app-task.js +4 -0
  179. package/dist/src/wrappers/app-task.js.map +1 -1
  180. package/dist/vitest.config.d.ts +3 -0
  181. package/dist/vitest.config.d.ts.map +1 -0
  182. package/dist/vitest.config.js +16 -0
  183. package/dist/vitest.config.js.map +1 -0
  184. package/package.json +9 -3
  185. package/src/commands/about.ts +2 -2
  186. package/src/commands/configure.ts +10 -0
  187. package/src/commands/gen.ts +10 -6
  188. package/src/commands/new.ts +10 -0
  189. package/src/index.ts +12 -0
  190. package/src/services/cache-service.ts +50 -0
  191. package/src/services/file-service.ts +46 -5
  192. package/src/services/log-service.ts +14 -1
  193. package/src/services/project-service.ts +8 -5
  194. package/src/services/prompt-service.ts +71 -0
  195. package/src/services/spawn-service.ts +15 -1
  196. package/src/services/util-service.ts +5 -0
  197. package/src/tasks/check-env.ts +10 -2
  198. package/src/tasks/configure.ts +105 -0
  199. package/src/tasks/create-new-project.ts +66 -0
  200. package/src/tasks/generate/generate-command.ts +136 -0
  201. package/src/tasks/generate/generate-service.ts +78 -0
  202. package/src/tasks/generate/generate-task.ts +79 -0
  203. package/src/tasks/generate/select-gen-target-name.ts +44 -0
  204. package/src/tasks/generate/select-gen-target.ts +46 -0
  205. package/src/tasks/{print-about-information.ts → stdout/print-about-information.ts} +2 -2
  206. package/src/tasks/stdout/print-banner.ts +41 -0
  207. package/src/tasks/stdout/print-generated-results.ts +37 -0
  208. package/src/tasks/sync-configuration.ts +129 -0
  209. package/src/tasks/test-task.ts +20 -0
  210. package/src/templates/command.ts +2 -2
  211. package/src/templates/service.ts +1 -1
  212. package/src/types/process.ts +1 -0
  213. package/src/types/project.ts +12 -0
  214. package/src/types/state.ts +7 -1
  215. package/src/wrappers/app-task.ts +5 -0
  216. package/tests/index.spec.ts +8 -0
  217. package/tests/setup.ts +1 -0
  218. package/tsconfig.json +1 -1
  219. package/vitest.config.ts +14 -0
  220. package/dist/src/tasks/generate-command.d.ts +0 -23
  221. package/dist/src/tasks/generate-command.d.ts.map +0 -1
  222. package/dist/src/tasks/generate-command.js +0 -91
  223. package/dist/src/tasks/generate-command.js.map +0 -1
  224. package/dist/src/tasks/generate-service.d.ts +0 -26
  225. package/dist/src/tasks/generate-service.d.ts.map +0 -1
  226. package/dist/src/tasks/generate-service.js.map +0 -1
  227. package/dist/src/tasks/generate-task.d.ts +0 -26
  228. package/dist/src/tasks/generate-task.d.ts.map +0 -1
  229. package/dist/src/tasks/generate-task.js.map +0 -1
  230. package/dist/src/tasks/print-about-information.d.ts.map +0 -1
  231. package/dist/src/tasks/print-about-information.js.map +0 -1
  232. package/dist/src/tasks/print-banner.d.ts +0 -12
  233. package/dist/src/tasks/print-banner.d.ts.map +0 -1
  234. package/dist/src/tasks/print-banner.js.map +0 -1
  235. package/dist/src/tasks/print-generated-results.d.ts.map +0 -1
  236. package/dist/src/tasks/print-generated-results.js.map +0 -1
  237. package/dist/src/tasks/select-gen-target.d.ts +0 -9
  238. package/dist/src/tasks/select-gen-target.d.ts.map +0 -1
  239. package/dist/src/tasks/select-gen-target.js +0 -44
  240. package/dist/src/tasks/select-gen-target.js.map +0 -1
  241. package/src/tasks/generate-command.ts +0 -87
  242. package/src/tasks/generate-service.ts +0 -82
  243. package/src/tasks/generate-task.ts +0 -83
  244. package/src/tasks/print-banner.ts +0 -37
  245. package/src/tasks/print-generated-results.ts +0 -36
  246. package/src/tasks/select-gen-target.ts +0 -29
@@ -1 +0,0 @@
1
- {"version":3,"file":"print-generated-results.js","sourceRoot":"./src/","sources":["src/tasks/print-generated-results.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mDAA+C;AAC/C,uCAA0C;AAE1C,2DAAuD;AAEvD;;GAEG;AAEY,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,kBAAO;IAGpC;IAFpB,UAAU,GAAG,eAAe,CAAC;IAE7B,YAAoB,WAAwB;QAC1C,KAAK,EAAE,CAAC;QADU,gBAAW,GAAX,WAAW,CAAa;IAE5C,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAc,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,eAAK,CAAC,UAAU,CACd,yBAAyB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAC7D,CACF,CAAC;QAEF,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,GAAG,CAAC;;;;YAIN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,QAAQ;;SAEhD,CAAC,CAAC;QACP,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;CACF,CAAA;AAzBoB,qBAAqB;IADzC,IAAA,yBAAc,GAAE;qCAIkB,0BAAW;GAHzB,qBAAqB,CAyBzC;kBAzBoB,qBAAqB"}
@@ -1,9 +0,0 @@
1
- import { AppTask } from "../wrappers/app-task";
2
- /**
3
- * Sets the genTargetType based on input
4
- */
5
- export default class SelectGenTarget extends AppTask {
6
- loggerName: string;
7
- run(): Promise<void>;
8
- }
9
- //# sourceMappingURL=select-gen-target.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-gen-target.d.ts","sourceRoot":"./src/","sources":["src/tasks/select-gen-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,UAAU,SAAmB;IACvB,GAAG;CAiBV"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const chalk_1 = __importDefault(require("chalk"));
13
- const app_task_1 = require("../wrappers/app-task");
14
- const tsyringe_1 = require("tsyringe");
15
- const state_1 = require("../types/state");
16
- /**
17
- * Sets the genTargetType based on input
18
- */
19
- let SelectGenTarget = class SelectGenTarget extends app_task_1.AppTask {
20
- loggerName = "Select Target";
21
- async run() {
22
- let target = state_1.GenTargetType.Command;
23
- this.logger.info(chalk_1.default.blueBright("Checking Target"));
24
- if (this.argService.hasFlag("service")) {
25
- target = state_1.GenTargetType.Service;
26
- }
27
- else if (this.argService.hasFlag("task")) {
28
- target = state_1.GenTargetType.Task;
29
- }
30
- else if (this.argService.hasFlag("command")) {
31
- target = state_1.GenTargetType.Command;
32
- }
33
- else {
34
- this.logger.warn(`Using default target: ${target}`);
35
- }
36
- this.logger.debug(`Target selected: ${chalk_1.default.magentaBright(target)}`);
37
- this.setData({ genTargetType: target });
38
- }
39
- };
40
- SelectGenTarget = __decorate([
41
- (0, tsyringe_1.autoInjectable)()
42
- ], SelectGenTarget);
43
- exports.default = SelectGenTarget;
44
- //# sourceMappingURL=select-gen-target.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-gen-target.js","sourceRoot":"./src/","sources":["src/tasks/select-gen-target.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,kDAA0B;AAC1B,mDAA+C;AAC/C,uCAA0C;AAC1C,0CAA+C;AAE/C;;GAEG;AAEY,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,kBAAO;IAClD,UAAU,GAAG,eAAe,CAAC;IAC7B,KAAK,CAAC,GAAG;QACP,IAAI,MAAM,GAAkB,qBAAa,CAAC,OAAO,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,GAAG,qBAAa,CAAC,OAAO,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,qBAAa,CAAC,IAAI,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,qBAAa,CAAC,OAAO,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,eAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAnBoB,eAAe;IADnC,IAAA,yBAAc,GAAE;GACI,eAAe,CAmBnC;kBAnBoB,eAAe"}
@@ -1,87 +0,0 @@
1
- import chalk from "chalk";
2
- import { AppTask } from "../wrappers/app-task";
3
- import { autoInjectable } from "tsyringe";
4
- import { AppState, GenTargetType } from "../types/state";
5
- import FileService from "../services/file-service";
6
- import { UtilService } from "../services/util-service";
7
- import { CaseType } from "../types/format";
8
- import path from "path";
9
- import { getCommandTemplate } from "../templates/command";
10
- import ProjectService from "../services/project-service";
11
-
12
- /**
13
- * Generates a new command class
14
- */
15
- @autoInjectable()
16
- export default class GenerateCommand extends AppTask {
17
- loggerName = "Generate Command";
18
-
19
- constructor(
20
- private fileService: FileService,
21
- private utilService: UtilService,
22
- private projectService: ProjectService,
23
- ) {
24
- super();
25
- }
26
-
27
- async run(): Promise<void | Partial<AppState>> {
28
- const { utilService, fileService, argService, projectService } = this;
29
-
30
- if (this.state.data.genTargetType !== GenTargetType.Command) {
31
- return;
32
- }
33
-
34
- this.logger.info(chalk.blueBright("Generating Command"));
35
-
36
- let targetName = argService.getTargetName();
37
- if (!targetName) {
38
- // TODO: Should we prompt for target name here?
39
- targetName = argService.cleanTargetName(
40
- ProjectService.defaults.targetName,
41
- );
42
- }
43
-
44
- const targetDirectory = this.getTargetDirectory();
45
- if (!targetDirectory) {
46
- throw new Error("Unable to determine target Directory");
47
- }
48
-
49
- // detect case between commands and task files
50
- const taskFiles = projectService.getTaskFiles();
51
- const convention = projectService.getConvention();
52
- this.logger.debug(`Using convention: ${chalk.magentaBright(convention)}`);
53
-
54
- this.logger.debug(`Found ${taskFiles.length} task files`);
55
- const className = utilService.titleizedToCase(
56
- targetName,
57
- CaseType.PASCAL_CASE,
58
- );
59
- // TODO: prompt for tasks to use in the new command?
60
- const taskMappings = new Map();
61
-
62
- const rendered = getCommandTemplate(className, taskMappings);
63
- const filename = `${utilService.titleizedToCase(targetName, convention)}${ProjectService.defaults.extention}`;
64
- const destination = path.join(targetDirectory, filename);
65
-
66
- // write contents
67
- fileService.writeFile(destination, rendered);
68
- return { data: { outputDestination: destination } };
69
- }
70
-
71
- /**
72
- * Get the target directory to save the generated file.
73
- *
74
- * @returns the destination path of the parent folder to save the new file in.
75
- */
76
- getTargetDirectory() {
77
- const runnerRoot = this.fileService.getRunnerRootDir();
78
- const commandFolders = this.fileService.getCommandDirs(runnerRoot);
79
-
80
- if (commandFolders.length === 1) {
81
- return commandFolders[0];
82
- }
83
-
84
- // TODO: prompt to select destination from available commandFolders
85
- return commandFolders[0];
86
- }
87
- }
@@ -1,82 +0,0 @@
1
- import chalk from "chalk";
2
- import { AppTask } from "../wrappers/app-task";
3
- import { autoInjectable } from "tsyringe";
4
- import { GenTargetType } from "../types/state";
5
- import ProjectService from "../services/project-service";
6
- import { UtilService } from "../services/util-service";
7
- import FileService from "../services/file-service";
8
- import { CaseType } from "../types/format";
9
- import path from "path";
10
- import { getServiceTemplate } from "../templates/service";
11
-
12
- /**
13
- * Generates a new service class
14
- */
15
- @autoInjectable()
16
- export default class GenerateService extends AppTask {
17
- loggerName = "Generate Service";
18
-
19
- constructor(
20
- private projectService: ProjectService,
21
- private utilService: UtilService,
22
- private fileService: FileService,
23
- ) {
24
- super();
25
- }
26
-
27
- async run() {
28
- if (this.state.data.genTargetType !== GenTargetType.Service) {
29
- return;
30
- }
31
-
32
- this.logger.info(chalk.blueBright("Generating Service"));
33
- const { argService, utilService, projectService } = this;
34
-
35
- let targetName = argService.getTargetName();
36
- if (!targetName) {
37
- // TODO: Prompt for target name?
38
- targetName = argService.cleanTargetName(
39
- ProjectService.defaults.targetName,
40
- );
41
- }
42
-
43
- const targetDirectory = this.getTargetDirectory();
44
- if (!targetDirectory) {
45
- throw new Error("Unable to determine target Directory");
46
- }
47
-
48
- // detect case
49
- const convention = projectService.getConvention();
50
- this.logger.debug(`Using convention: ${chalk.magentaBright(convention)}`);
51
- const className = utilService.titleizedToCase(
52
- targetName,
53
- CaseType.PASCAL_CASE,
54
- );
55
-
56
- const rendered = getServiceTemplate(className);
57
- const filename = `${utilService.titleizedToCase(targetName, convention)}${ProjectService.defaults.extention}`;
58
- const destination = path.join(targetDirectory, filename);
59
-
60
- // write contents
61
- this.fileService.writeFile(destination, rendered);
62
- return { data: { outputDestination: destination } };
63
- }
64
-
65
- /**
66
- * Get the target directory to save the generated file.
67
- *
68
- * @returns the destination path of the parent folder to save the new file in.
69
- */
70
- getTargetDirectory() {
71
- const runnerRoot = this.fileService.getRunnerRootDir();
72
- const servicesFolders = this.fileService.getServiceDirs(runnerRoot);
73
-
74
- if (servicesFolders.length === 1) {
75
- return servicesFolders[0];
76
- }
77
-
78
- // TODO: prompt to select destination from available servicesFolders
79
- this.logger.warn(`Multiple service folders detected. Using first found.`);
80
- return servicesFolders[0];
81
- }
82
- }
@@ -1,83 +0,0 @@
1
- import chalk from "chalk";
2
- import { AppTask } from "../wrappers/app-task";
3
- import { autoInjectable } from "tsyringe";
4
- import { GenTargetType } from "../types/state";
5
- import { getTaskTemplate } from "../templates/task";
6
- import { CaseType } from "../types/format";
7
- import { UtilService } from "../services/util-service";
8
- import FileService from "../services/file-service";
9
- import ProjectService from "../services/project-service";
10
- import path from "path";
11
-
12
- /**
13
- * Generates a new task class
14
- */
15
- @autoInjectable()
16
- export default class GenerateTask extends AppTask {
17
- loggerName = "Generate Task";
18
-
19
- constructor(
20
- private utilService: UtilService,
21
- private fileService: FileService,
22
- private projectService: ProjectService,
23
- ) {
24
- super();
25
- }
26
-
27
- async run() {
28
- if (this.state.data.genTargetType !== GenTargetType.Task) {
29
- return;
30
- }
31
-
32
- const { utilService, argService } = this;
33
-
34
- this.logger.info(chalk.blueBright("Generating Task"));
35
-
36
- let targetName = argService.getTargetName();
37
- if (!targetName) {
38
- // TODO: Prompt for target name?
39
- targetName = argService.cleanTargetName(
40
- ProjectService.defaults.targetName,
41
- );
42
- }
43
-
44
- const targetDirectory = this.getTargetDirectory();
45
- if (!targetDirectory) {
46
- throw new Error("Unable to determine target Directory");
47
- }
48
-
49
- // detect case
50
- const convention = this.projectService.getConvention();
51
- this.logger.debug(`Using convention: ${chalk.magentaBright(convention)}`);
52
- const className = utilService.titleizedToCase(
53
- targetName,
54
- CaseType.PASCAL_CASE,
55
- );
56
-
57
- const rendered = getTaskTemplate(className);
58
- const filename = `${utilService.titleizedToCase(targetName, convention)}${ProjectService.defaults.extention}`;
59
- const destination = path.join(targetDirectory, filename);
60
-
61
- // write contents
62
- this.fileService.writeFile(destination, rendered);
63
- return { data: { outputDestination: destination } };
64
- }
65
-
66
- /**
67
- * Get the target directory to save the generated file.
68
- *
69
- * @returns the destination path of the parent folder to save the new file in.
70
- */
71
- getTargetDirectory() {
72
- const runnerRoot = this.fileService.getRunnerRootDir();
73
- const tasksFolders = this.fileService.getTaskDirs(runnerRoot);
74
-
75
- if (tasksFolders.length === 1) {
76
- return tasksFolders[0];
77
- }
78
-
79
- // TODO: prompt to select destination from available tasksFolders
80
- this.logger.warn(`Multiple task folders detected. Using first found.`);
81
- return tasksFolders[0];
82
- }
83
- }
@@ -1,37 +0,0 @@
1
- import { autoInjectable } from "tsyringe";
2
- import { AppState } from "../types/state";
3
- import { AppTask } from "../wrappers/app-task";
4
- import { BannerService } from "../services/banner-service";
5
- import { UtilService } from "../services/util-service";
6
- import chalk from "chalk";
7
-
8
- @autoInjectable()
9
- export default class PrintBanner extends AppTask {
10
- loggerName = "Print Banner";
11
-
12
- constructor(
13
- private bannnerSvc: BannerService,
14
- private utilSvc: UtilService,
15
- ) {
16
- super();
17
- }
18
-
19
- async run(): Promise<Partial<AppState> | void> {
20
- let font = "";
21
-
22
- if (this.argService.hasFlag("randomFont")) {
23
- font = await this.bannnerSvc.getRandomFont();
24
- console.log(`Using random font ${font}`);
25
- }
26
-
27
- console.log(
28
- chalk.blueBright(
29
- await this.bannnerSvc.toBanner(this.utilSvc.getAppName(), font),
30
- ),
31
- );
32
-
33
- this.setData({
34
- banner: { font: font || this.bannnerSvc.defaultFontFamily },
35
- });
36
- }
37
- }
@@ -1,36 +0,0 @@
1
- import chalk from "chalk";
2
- import { AppTask } from "../wrappers/app-task";
3
- import { autoInjectable } from "tsyringe";
4
- import { GenTargetType } from "../types/state";
5
- import { UtilService } from "../services/util-service";
6
-
7
- /**
8
- * Prints the generated output results
9
- */
10
- @autoInjectable()
11
- export default class PrintGeneratedResults extends AppTask {
12
- loggerName = "Print Results";
13
-
14
- constructor(private utilService: UtilService) {
15
- super();
16
- }
17
-
18
- async run() {
19
- const target: GenTargetType = this.state.data.genTargetType!;
20
- this.logger.info(
21
- chalk.blueBright(
22
- `Generated Results for ${this.utilService.titleize(target)}`,
23
- ),
24
- );
25
-
26
- setTimeout(() => {
27
- console.log(`
28
-
29
- Generated new file:
30
-
31
- ${this.state.data.outputDestination || "<None>"}
32
-
33
- `);
34
- }, 1000);
35
- }
36
- }
@@ -1,29 +0,0 @@
1
- import chalk from "chalk";
2
- import { AppTask } from "../wrappers/app-task";
3
- import { autoInjectable } from "tsyringe";
4
- import { GenTargetType } from "../types/state";
5
-
6
- /**
7
- * Sets the genTargetType based on input
8
- */
9
- @autoInjectable()
10
- export default class SelectGenTarget extends AppTask {
11
- loggerName = "Select Target";
12
- async run() {
13
- let target: GenTargetType = GenTargetType.Command;
14
- this.logger.info(chalk.blueBright("Checking Target"));
15
-
16
- if (this.argService.hasFlag("service")) {
17
- target = GenTargetType.Service;
18
- } else if (this.argService.hasFlag("task")) {
19
- target = GenTargetType.Task;
20
- } else if (this.argService.hasFlag("command")) {
21
- target = GenTargetType.Command;
22
- } else {
23
- this.logger.warn(`Using default target: ${target}`);
24
- }
25
-
26
- this.logger.debug(`Target selected: ${chalk.magentaBright(target)}`);
27
- this.setData({ genTargetType: target });
28
- }
29
- }