@antelopejs/core 1.10.3 → 1.12.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 (272) hide show
  1. package/README.md +1 -1
  2. package/dist/core/cli/cancellation.d.ts +4 -0
  3. package/dist/core/cli/cancellation.js +19 -0
  4. package/dist/core/cli/cancellation.js.map +1 -0
  5. package/dist/core/cli/cli-ui.d.ts +8 -13
  6. package/dist/core/cli/cli-ui.js +36 -116
  7. package/dist/core/cli/cli-ui.js.map +1 -1
  8. package/dist/core/cli/command.d.ts +11 -0
  9. package/dist/core/cli/command.js +30 -4
  10. package/dist/core/cli/command.js.map +1 -1
  11. package/dist/core/cli/commands/config/get-action.d.ts +6 -0
  12. package/dist/core/cli/commands/config/get-action.js +39 -0
  13. package/dist/core/cli/commands/config/get-action.js.map +1 -0
  14. package/dist/core/cli/commands/config/get.d.ts +2 -1
  15. package/dist/core/cli/commands/config/get.js +50 -33
  16. package/dist/core/cli/commands/config/get.js.map +1 -1
  17. package/dist/core/cli/commands/config/index.js +2 -2
  18. package/dist/core/cli/commands/config/index.js.map +1 -1
  19. package/dist/core/cli/commands/config/keys.d.ts +3 -0
  20. package/dist/core/cli/commands/config/keys.js +13 -0
  21. package/dist/core/cli/commands/config/keys.js.map +1 -0
  22. package/dist/core/cli/commands/config/reset-action.d.ts +5 -0
  23. package/dist/core/cli/commands/config/reset-action.js +45 -0
  24. package/dist/core/cli/commands/config/reset-action.js.map +1 -0
  25. package/dist/core/cli/commands/config/reset.js +13 -49
  26. package/dist/core/cli/commands/config/reset.js.map +1 -1
  27. package/dist/core/cli/commands/config/set-action.d.ts +1 -0
  28. package/dist/core/cli/commands/config/set-action.js +24 -0
  29. package/dist/core/cli/commands/config/set-action.js.map +1 -0
  30. package/dist/core/cli/commands/config/set.js +48 -34
  31. package/dist/core/cli/commands/config/set.js.map +1 -1
  32. package/dist/core/cli/commands/config/show-action.d.ts +6 -0
  33. package/dist/core/cli/commands/config/show-action.js +38 -0
  34. package/dist/core/cli/commands/config/show-action.js.map +1 -0
  35. package/dist/core/cli/commands/config/show.d.ts +2 -1
  36. package/dist/core/cli/commands/config/show.js +45 -23
  37. package/dist/core/cli/commands/config/show.js.map +1 -1
  38. package/dist/core/cli/commands/module/index.js +2 -1
  39. package/dist/core/cli/commands/module/index.js.map +1 -1
  40. package/dist/core/cli/commands/module/init-action.d.ts +20 -0
  41. package/dist/core/cli/commands/module/init-action.js +311 -0
  42. package/dist/core/cli/commands/module/init-action.js.map +1 -0
  43. package/dist/core/cli/commands/module/init.d.ts +0 -5
  44. package/dist/core/cli/commands/module/init.js +29 -168
  45. package/dist/core/cli/commands/module/init.js.map +1 -1
  46. package/dist/core/cli/commands/module/test-action.d.ts +5 -0
  47. package/dist/core/cli/commands/module/test-action.js +45 -0
  48. package/dist/core/cli/commands/module/test-action.js.map +1 -0
  49. package/dist/core/cli/commands/module/test.d.ts +0 -5
  50. package/dist/core/cli/commands/module/test.js +51 -30
  51. package/dist/core/cli/commands/module/test.js.map +1 -1
  52. package/dist/core/cli/commands/plugins-action.d.ts +7 -0
  53. package/dist/core/cli/commands/plugins-action.js +17 -0
  54. package/dist/core/cli/commands/plugins-action.js.map +1 -0
  55. package/dist/core/cli/commands/plugins.d.ts +2 -1
  56. package/dist/core/cli/commands/plugins.js +58 -25
  57. package/dist/core/cli/commands/plugins.js.map +1 -1
  58. package/dist/core/cli/commands/project/build-action.d.ts +7 -0
  59. package/dist/core/cli/commands/project/build-action.js +54 -0
  60. package/dist/core/cli/commands/project/build-action.js.map +1 -0
  61. package/dist/core/cli/commands/project/build.js +48 -64
  62. package/dist/core/cli/commands/project/build.js.map +1 -1
  63. package/dist/core/cli/commands/project/dev-action.d.ts +13 -0
  64. package/dist/core/cli/commands/project/dev-action.js +231 -0
  65. package/dist/core/cli/commands/project/dev-action.js.map +1 -0
  66. package/dist/core/cli/commands/project/dev.d.ts +1 -2
  67. package/dist/core/cli/commands/project/dev.js +28 -206
  68. package/dist/core/cli/commands/project/dev.js.map +1 -1
  69. package/dist/core/cli/commands/project/index.js +2 -2
  70. package/dist/core/cli/commands/project/index.js.map +1 -1
  71. package/dist/core/cli/commands/project/init-action.d.ts +10 -0
  72. package/dist/core/cli/commands/project/init-action.js +183 -0
  73. package/dist/core/cli/commands/project/init-action.js.map +1 -0
  74. package/dist/core/cli/commands/project/init.js +62 -111
  75. package/dist/core/cli/commands/project/init.js.map +1 -1
  76. package/dist/core/cli/commands/project/logging/index.js +2 -2
  77. package/dist/core/cli/commands/project/logging/index.js.map +1 -1
  78. package/dist/core/cli/commands/project/logging/logging-draft.d.ts +14 -0
  79. package/dist/core/cli/commands/project/logging/logging-draft.js +34 -0
  80. package/dist/core/cli/commands/project/logging/logging-draft.js.map +1 -0
  81. package/dist/core/cli/commands/project/logging/set-action.d.ts +2 -0
  82. package/dist/core/cli/commands/project/logging/set-action.js +217 -0
  83. package/dist/core/cli/commands/project/logging/set-action.js.map +1 -0
  84. package/dist/core/cli/commands/project/logging/set-operations.d.ts +24 -0
  85. package/dist/core/cli/commands/project/logging/set-operations.js +115 -0
  86. package/dist/core/cli/commands/project/logging/set-operations.js.map +1 -0
  87. package/dist/core/cli/commands/project/logging/set-usage.d.ts +8 -0
  88. package/dist/core/cli/commands/project/logging/set-usage.js +71 -0
  89. package/dist/core/cli/commands/project/logging/set-usage.js.map +1 -0
  90. package/dist/core/cli/commands/project/logging/set.js +98 -355
  91. package/dist/core/cli/commands/project/logging/set.js.map +1 -1
  92. package/dist/core/cli/commands/project/logging/show-action.d.ts +8 -0
  93. package/dist/core/cli/commands/project/logging/show-action.js +71 -0
  94. package/dist/core/cli/commands/project/logging/show-action.js.map +1 -0
  95. package/dist/core/cli/commands/project/logging/show.d.ts +2 -1
  96. package/dist/core/cli/commands/project/logging/show.js +54 -89
  97. package/dist/core/cli/commands/project/logging/show.js.map +1 -1
  98. package/dist/core/cli/commands/project/modules/add-action.d.ts +17 -0
  99. package/dist/core/cli/commands/project/modules/add-action.js +240 -0
  100. package/dist/core/cli/commands/project/modules/add-action.js.map +1 -0
  101. package/dist/core/cli/commands/project/modules/add.d.ts +1 -15
  102. package/dist/core/cli/commands/project/modules/add.js +56 -261
  103. package/dist/core/cli/commands/project/modules/add.js.map +1 -1
  104. package/dist/core/cli/commands/project/modules/index.js +2 -2
  105. package/dist/core/cli/commands/project/modules/index.js.map +1 -1
  106. package/dist/core/cli/commands/project/modules/install-action.d.ts +17 -0
  107. package/dist/core/cli/commands/project/modules/install-action.js +265 -0
  108. package/dist/core/cli/commands/project/modules/install-action.js.map +1 -0
  109. package/dist/core/cli/commands/project/modules/install.d.ts +0 -9
  110. package/dist/core/cli/commands/project/modules/install.js +54 -240
  111. package/dist/core/cli/commands/project/modules/install.js.map +1 -1
  112. package/dist/core/cli/commands/project/modules/list-action.d.ts +8 -0
  113. package/dist/core/cli/commands/project/modules/list-action.js +85 -0
  114. package/dist/core/cli/commands/project/modules/list-action.js.map +1 -0
  115. package/dist/core/cli/commands/project/modules/list.d.ts +2 -1
  116. package/dist/core/cli/commands/project/modules/list.js +54 -116
  117. package/dist/core/cli/commands/project/modules/list.js.map +1 -1
  118. package/dist/core/cli/commands/project/modules/remove-action.d.ts +7 -0
  119. package/dist/core/cli/commands/project/modules/remove-action.js +81 -0
  120. package/dist/core/cli/commands/project/modules/remove-action.js.map +1 -0
  121. package/dist/core/cli/commands/project/modules/remove.d.ts +0 -7
  122. package/dist/core/cli/commands/project/modules/remove.js +50 -100
  123. package/dist/core/cli/commands/project/modules/remove.js.map +1 -1
  124. package/dist/core/cli/commands/project/modules/update-action.d.ts +7 -0
  125. package/dist/core/cli/commands/project/modules/update-action.js +117 -0
  126. package/dist/core/cli/commands/project/modules/update-action.js.map +1 -0
  127. package/dist/core/cli/commands/project/modules/update.js +54 -86
  128. package/dist/core/cli/commands/project/modules/update.js.map +1 -1
  129. package/dist/core/cli/commands/project/run.js +2 -2
  130. package/dist/core/cli/commands/project/run.js.map +1 -1
  131. package/dist/core/cli/commands/project/start-action.d.ts +8 -0
  132. package/dist/core/cli/commands/project/start-action.js +47 -0
  133. package/dist/core/cli/commands/project/start-action.js.map +1 -0
  134. package/dist/core/cli/commands/project/start.js +53 -55
  135. package/dist/core/cli/commands/project/start.js.map +1 -1
  136. package/dist/core/cli/commands/shared/names.d.ts +1 -0
  137. package/dist/core/cli/commands/shared/names.js +10 -0
  138. package/dist/core/cli/commands/shared/names.js.map +1 -0
  139. package/dist/core/cli/commands/shared/next-steps.d.ts +5 -0
  140. package/dist/core/cli/commands/shared/next-steps.js +26 -0
  141. package/dist/core/cli/commands/shared/next-steps.js.map +1 -0
  142. package/dist/core/cli/commands/shared/project-command.d.ts +9 -0
  143. package/dist/core/cli/commands/shared/project-command.js +79 -14
  144. package/dist/core/cli/commands/shared/project-command.js.map +1 -1
  145. package/dist/core/cli/commands/update.js +47 -9
  146. package/dist/core/cli/commands/update.js.map +1 -1
  147. package/dist/core/cli/common.d.ts +3 -8
  148. package/dist/core/cli/common.js +26 -32
  149. package/dist/core/cli/common.js.map +1 -1
  150. package/dist/core/cli/exit-codes.d.ts +2 -0
  151. package/dist/core/cli/exit-codes.js +4 -1
  152. package/dist/core/cli/exit-codes.js.map +1 -1
  153. package/dist/core/cli/full-cli.js +62 -41
  154. package/dist/core/cli/full-cli.js.map +1 -1
  155. package/dist/core/cli/git-operations.js +10 -17
  156. package/dist/core/cli/git-operations.js.map +1 -1
  157. package/dist/core/cli/help.d.ts +8 -0
  158. package/dist/core/cli/help.js +34 -0
  159. package/dist/core/cli/help.js.map +1 -0
  160. package/dist/core/cli/index.js +9 -16
  161. package/dist/core/cli/index.js.map +1 -1
  162. package/dist/core/cli/lazy-action.d.ts +4 -0
  163. package/dist/core/cli/lazy-action.js +10 -0
  164. package/dist/core/cli/lazy-action.js.map +1 -0
  165. package/dist/core/cli/logging-utils.js +18 -14
  166. package/dist/core/cli/logging-utils.js.map +1 -1
  167. package/dist/core/cli/options.d.ts +20 -0
  168. package/dist/core/cli/options.js +51 -0
  169. package/dist/core/cli/options.js.map +1 -0
  170. package/dist/core/cli/output/boundary.d.ts +7 -0
  171. package/dist/core/cli/output/boundary.js +78 -0
  172. package/dist/core/cli/output/boundary.js.map +1 -0
  173. package/dist/core/cli/output/capabilities.d.ts +10 -0
  174. package/dist/core/cli/output/capabilities.js +114 -0
  175. package/dist/core/cli/output/capabilities.js.map +1 -0
  176. package/dist/core/cli/output/data.d.ts +7 -0
  177. package/dist/core/cli/output/data.js +11 -0
  178. package/dist/core/cli/output/data.js.map +1 -0
  179. package/dist/core/cli/output/errors.d.ts +14 -0
  180. package/dist/core/cli/output/errors.js +67 -0
  181. package/dist/core/cli/output/errors.js.map +1 -0
  182. package/dist/core/cli/output/failures.d.ts +3 -0
  183. package/dist/core/cli/output/failures.js +97 -0
  184. package/dist/core/cli/output/failures.js.map +1 -0
  185. package/dist/core/cli/output/format.d.ts +7 -0
  186. package/dist/core/cli/output/format.js +64 -0
  187. package/dist/core/cli/output/format.js.map +1 -0
  188. package/dist/core/cli/output/index.d.ts +13 -0
  189. package/dist/core/cli/output/index.js +30 -0
  190. package/dist/core/cli/output/index.js.map +1 -0
  191. package/dist/core/cli/output/prompt.d.ts +15 -0
  192. package/dist/core/cli/output/prompt.js +145 -0
  193. package/dist/core/cli/output/prompt.js.map +1 -0
  194. package/dist/core/cli/output/symbols.d.ts +4 -0
  195. package/dist/core/cli/output/symbols.js +44 -0
  196. package/dist/core/cli/output/symbols.js.map +1 -0
  197. package/dist/core/cli/output/tasks.d.ts +57 -0
  198. package/dist/core/cli/output/tasks.js +310 -0
  199. package/dist/core/cli/output/tasks.js.map +1 -0
  200. package/dist/core/cli/output/translations.d.ts +4 -0
  201. package/dist/core/cli/output/translations.js +109 -0
  202. package/dist/core/cli/output/translations.js.map +1 -0
  203. package/dist/core/cli/output/types.d.ts +140 -0
  204. package/dist/core/cli/output/types.js +3 -0
  205. package/dist/core/cli/output/types.js.map +1 -0
  206. package/dist/core/cli/output/ui.d.ts +2 -0
  207. package/dist/core/cli/output/ui.js +155 -0
  208. package/dist/core/cli/output/ui.js.map +1 -0
  209. package/dist/core/cli/output/verbosity.d.ts +8 -0
  210. package/dist/core/cli/output/verbosity.js +19 -0
  211. package/dist/core/cli/output/verbosity.js.map +1 -0
  212. package/dist/core/cli/package-manager.js +2 -2
  213. package/dist/core/cli/package-manager.js.map +1 -1
  214. package/dist/core/cli/plugin-arguments.d.ts +5 -0
  215. package/dist/core/cli/plugin-arguments.js +40 -0
  216. package/dist/core/cli/plugin-arguments.js.map +1 -0
  217. package/dist/core/cli/plugin-compatibility.d.ts +5 -2
  218. package/dist/core/cli/plugin-compatibility.js +22 -15
  219. package/dist/core/cli/plugin-compatibility.js.map +1 -1
  220. package/dist/core/cli/plugin-management.d.ts +19 -1
  221. package/dist/core/cli/plugin-management.js +102 -48
  222. package/dist/core/cli/plugin-management.js.map +1 -1
  223. package/dist/core/cli/plugin-registry.d.ts +0 -1
  224. package/dist/core/cli/plugin-registry.js +2 -3
  225. package/dist/core/cli/plugin-registry.js.map +1 -1
  226. package/dist/core/cli/plugin.js +54 -59
  227. package/dist/core/cli/plugin.js.map +1 -1
  228. package/dist/core/cli/process-runner.d.ts +2 -0
  229. package/dist/core/cli/process-runner.js +3 -0
  230. package/dist/core/cli/process-runner.js.map +1 -1
  231. package/dist/core/cli/production-start.d.ts +0 -1
  232. package/dist/core/cli/production-start.js +12 -21
  233. package/dist/core/cli/production-start.js.map +1 -1
  234. package/dist/core/cli/public.d.ts +13 -0
  235. package/dist/core/cli/public.js +42 -0
  236. package/dist/core/cli/public.js.map +1 -0
  237. package/dist/core/cli/usage-errors.d.ts +2 -0
  238. package/dist/core/cli/usage-errors.js +50 -0
  239. package/dist/core/cli/usage-errors.js.map +1 -0
  240. package/dist/core/cli/version-check.d.ts +22 -3
  241. package/dist/core/cli/version-check.js +140 -16
  242. package/dist/core/cli/version-check.js.map +1 -1
  243. package/dist/core/config/config-loader.d.ts +2 -1
  244. package/dist/core/config/config-loader.js +6 -2
  245. package/dist/core/config/config-loader.js.map +1 -1
  246. package/dist/core/downloaders/git.js +26 -20
  247. package/dist/core/downloaders/git.js.map +1 -1
  248. package/dist/core/downloaders/local.js +0 -1
  249. package/dist/core/downloaders/local.js.map +1 -1
  250. package/dist/core/downloaders/package.js +4 -5
  251. package/dist/core/downloaders/package.js.map +1 -1
  252. package/dist/core/downloaders/utils.d.ts +3 -1
  253. package/dist/core/downloaders/utils.js +39 -29
  254. package/dist/core/downloaders/utils.js.map +1 -1
  255. package/dist/core/runtime/launch-sequence.js +4 -4
  256. package/dist/core/runtime/launch-sequence.js.map +1 -1
  257. package/dist/core/runtime/module-loading.js +43 -36
  258. package/dist/core/runtime/module-loading.js.map +1 -1
  259. package/dist/core/version-checker.js +19 -13
  260. package/dist/core/version-checker.js.map +1 -1
  261. package/dist/logging/index.js +31 -7
  262. package/dist/logging/index.js.map +1 -1
  263. package/dist/logging/log-template.d.ts +8 -0
  264. package/dist/logging/log-template.js +45 -0
  265. package/dist/logging/log-template.js.map +1 -0
  266. package/dist/utils/object.d.ts +1 -0
  267. package/dist/utils/object.js +12 -0
  268. package/dist/utils/object.js.map +1 -1
  269. package/package.json +12 -6
  270. package/dist/core/cli/terminal-display.d.ts +0 -17
  271. package/dist/core/cli/terminal-display.js +0 -113
  272. package/dist/core/cli/terminal-display.js.map +0 -1
@@ -0,0 +1,311 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.GIT_INIT_FLAG = exports.YES_FLAG = exports.PACKAGE_MANAGER_FLAG = exports.TEMPLATE_FLAG = void 0;
40
+ exports.moduleInitCommand = moduleInitCommand;
41
+ exports.runModuleInit = runModuleInit;
42
+ const node_path_1 = __importDefault(require("node:path"));
43
+ const childProcess = __importStar(require("node:child_process"));
44
+ const node_fs_1 = require("node:fs");
45
+ const command_1 = require("../../command");
46
+ const exit_codes_1 = require("../../exit-codes");
47
+ const cancellation_1 = require("../../cancellation");
48
+ const common_1 = require("../../common");
49
+ const package_manager_name_1 = require("../../package-manager-name");
50
+ const cli_ui_1 = require("../../cli-ui");
51
+ const package_manager_1 = require("../../package-manager");
52
+ const git_operations_1 = require("../../git-operations");
53
+ const output_1 = require("../../output");
54
+ const TEMPLATE_OPTION = "--template";
55
+ const INTERFACES_OPTION = "--interfaces";
56
+ exports.TEMPLATE_FLAG = `${TEMPLATE_OPTION} <name>`;
57
+ exports.PACKAGE_MANAGER_FLAG = `--pm <${package_manager_name_1.PACKAGE_MANAGER_NAMES.join("|")}>`;
58
+ const INTERFACES_FLAG = `${INTERFACES_OPTION} <names>`;
59
+ exports.YES_FLAG = "--yes";
60
+ exports.GIT_INIT_FLAG = "--[no-]git-init";
61
+ const MODULE_INIT_COMMAND = "ajs module init";
62
+ const CURRENT_DIRECTORY = ".";
63
+ const LATEST_VERSION = "latest";
64
+ const JSON_INDENTATION = 2;
65
+ const CHECK_REPOSITORY_FIX = "Check the URL passed with --git or saved with ajs config set git";
66
+ const RESET_REPOSITORY_FIX = "Or go back to the default repository: ajs config reset";
67
+ const MODULE_ANSWER_FLAGS = [
68
+ { option: "template", flag: exports.TEMPLATE_FLAG },
69
+ { option: "pm", flag: exports.PACKAGE_MANAGER_FLAG },
70
+ { option: "gitInit", flag: exports.GIT_INIT_FLAG },
71
+ ];
72
+ async function loadTemplates(git) {
73
+ try {
74
+ return await (0, git_operations_1.loadManifestFromGit)(git);
75
+ }
76
+ catch (err) {
77
+ const cause = (0, output_1.translateFailure)(err);
78
+ throw new output_1.CliError({
79
+ title: `Could not fetch templates from ${git}`,
80
+ reason: cause?.reason ?? cause?.title,
81
+ fixes: [
82
+ ...(cause?.fixes ?? [CHECK_REPOSITORY_FIX]),
83
+ RESET_REPOSITORY_FIX,
84
+ ],
85
+ }, { cause: err });
86
+ }
87
+ }
88
+ function quote(name) {
89
+ return `'${name}'`;
90
+ }
91
+ function unknownChoiceError(choice) {
92
+ const [example] = choice.known;
93
+ return new output_1.CliError({
94
+ title: `Unknown ${choice.kind} ${choice.names.map(quote).join(", ")}`,
95
+ reason: `Available: ${choice.known.join(", ") || "none"}`,
96
+ fixes: example
97
+ ? [`Pass one of them, e.g. ${choice.flagName} ${quote(example)}`]
98
+ : [],
99
+ exitCode: exit_codes_1.USAGE_EXIT_CODE,
100
+ });
101
+ }
102
+ async function isDirectoryUsable(modulePath, isFromProject) {
103
+ const palette = (0, output_1.getProcessPalette)();
104
+ const dirSpinner = new cli_ui_1.Spinner(`Checking directory ${palette.dim(modulePath)}`);
105
+ await dirSpinner.start();
106
+ const isOccupied = (0, node_fs_1.existsSync)(modulePath) &&
107
+ modulePath !== CURRENT_DIRECTORY &&
108
+ (0, node_fs_1.readdirSync)(modulePath).length > 0;
109
+ if (isOccupied && !isFromProject) {
110
+ await dirSpinner.fail(`Directory is not empty`);
111
+ (0, cli_ui_1.error)(`Directory ${palette.bold(modulePath)} is not empty. Please use an empty directory.`);
112
+ process.exitCode = 1;
113
+ return false;
114
+ }
115
+ await dirSpinner.succeed(`Directory is valid`);
116
+ return true;
117
+ }
118
+ async function askTemplate(prompter, options, templates) {
119
+ const name = await prompter.select({
120
+ message: "Choose a template for your module",
121
+ flag: exports.TEMPLATE_FLAG,
122
+ answer: options.template,
123
+ defaultAnswer: templates[0]?.name,
124
+ choices: templates.map((template) => ({
125
+ value: template.name,
126
+ label: template.name,
127
+ })),
128
+ });
129
+ const template = templates.find((candidate) => candidate.name === name);
130
+ if (!template) {
131
+ throw unknownChoiceError({
132
+ kind: "template",
133
+ flagName: TEMPLATE_OPTION,
134
+ names: [name],
135
+ known: templates.map((candidate) => candidate.name),
136
+ });
137
+ }
138
+ return template;
139
+ }
140
+ async function loadInterfaceCatalog(git, manifest) {
141
+ const interfaceSpinner = new cli_ui_1.Spinner("Loading available interfaces");
142
+ await interfaceSpinner.start();
143
+ const catalog = await (0, git_operations_1.loadInterfacesFromGit)(git, manifest.starredInterfaces);
144
+ await interfaceSpinner.succeed(`Found ${Object.keys(catalog).length} available interfaces`);
145
+ return catalog;
146
+ }
147
+ async function askInterfaces(prompter, options, catalog) {
148
+ const known = Object.keys(catalog);
149
+ if (known.length === 0 && options.interfaces === undefined) {
150
+ return [];
151
+ }
152
+ const names = await prompter.multiselect({
153
+ message: "Select interfaces to install (optional)",
154
+ flag: INTERFACES_FLAG,
155
+ answer: options.interfaces,
156
+ defaultAnswer: [],
157
+ isOptional: true,
158
+ choices: Object.entries(catalog).map(([name, entry]) => ({
159
+ value: name,
160
+ label: name,
161
+ hint: entry.manifest.description,
162
+ })),
163
+ });
164
+ const unknown = names.filter((name) => !catalog[name]);
165
+ if (unknown.length > 0) {
166
+ throw unknownChoiceError({
167
+ kind: "interface",
168
+ flagName: INTERFACES_OPTION,
169
+ names: unknown,
170
+ known,
171
+ });
172
+ }
173
+ return names.map((name) => catalog[name]);
174
+ }
175
+ function askPackageManager(prompter, options) {
176
+ return prompter.select({
177
+ message: "Which package manager would you like to use?",
178
+ flag: exports.PACKAGE_MANAGER_FLAG,
179
+ answer: options.pm,
180
+ defaultAnswer: package_manager_name_1.DEFAULT_PACKAGE_MANAGER,
181
+ choices: package_manager_name_1.PACKAGE_MANAGER_NAMES.map((name) => ({
182
+ value: name,
183
+ label: name,
184
+ })),
185
+ });
186
+ }
187
+ function askGitInit(prompter, options) {
188
+ return prompter.confirm({
189
+ message: "Initialize a git repository in the module?",
190
+ flag: exports.GIT_INIT_FLAG,
191
+ answer: options.gitInit,
192
+ defaultAnswer: true,
193
+ });
194
+ }
195
+ function displayWizardWelcome(prompter) {
196
+ if (!prompter.isInteractive) {
197
+ return;
198
+ }
199
+ (0, output_1.getProcessUi)().message("info", "Welcome to the AntelopeJS module creation wizard!", {
200
+ detail: "Please select a template and provide the required information.",
201
+ });
202
+ }
203
+ async function askModuleAnswers(prompter, options, git, manifest) {
204
+ displayWizardWelcome(prompter);
205
+ const template = await askTemplate(prompter, options, manifest.templates);
206
+ const catalog = await loadInterfaceCatalog(git, manifest);
207
+ const interfaces = await askInterfaces(prompter, options, catalog);
208
+ const packageManager = await askPackageManager(prompter, options);
209
+ const isGitInitialized = await askGitInit(prompter, options);
210
+ return { template, interfaces, packageManager, isGitInitialized };
211
+ }
212
+ function addInterfaceDependencies(modulePath, interfaces) {
213
+ const packages = interfaces
214
+ .map((entry) => entry.manifest.package)
215
+ .filter((name) => Boolean(name));
216
+ if (packages.length === 0) {
217
+ return;
218
+ }
219
+ const pkgJsonPath = node_path_1.default.resolve(modulePath, "package.json");
220
+ const pkgJson = JSON.parse((0, node_fs_1.readFileSync)(pkgJsonPath, "utf8"));
221
+ pkgJson.dependencies ??= {};
222
+ packages.forEach((name) => {
223
+ pkgJson.dependencies[name] = LATEST_VERSION;
224
+ });
225
+ (0, node_fs_1.writeFileSync)(pkgJsonPath, `${JSON.stringify(pkgJson, null, JSON_INDENTATION)}\n`);
226
+ (0, cli_ui_1.success)(`Added ${interfaces.length} interface(s) to dependencies`);
227
+ }
228
+ async function installDependencies(modulePath, packageManager) {
229
+ const moduleRoot = node_path_1.default.resolve(modulePath);
230
+ (0, package_manager_1.savePackageManagerToPackageJson)(packageManager, moduleRoot);
231
+ const installSpinner = new cli_ui_1.Spinner("Installing dependencies");
232
+ await installSpinner.start();
233
+ const installCmd = await (0, package_manager_1.getInstallCommand)(moduleRoot, false, undefined, "update");
234
+ await (0, command_1.ExecuteCMD)(installCmd, { cwd: moduleRoot });
235
+ await installSpinner.succeed("Dependencies installed");
236
+ }
237
+ async function initializeGitRepository(modulePath) {
238
+ const gitInitSpinner = new cli_ui_1.Spinner("Initializing git repository");
239
+ await gitInitSpinner.start();
240
+ try {
241
+ childProcess.execSync("git init", {
242
+ cwd: node_path_1.default.resolve(modulePath),
243
+ stdio: "ignore",
244
+ });
245
+ await gitInitSpinner.succeed("Git repository initialized");
246
+ }
247
+ catch (gitErr) {
248
+ await gitInitSpinner.fail("Failed to initialize git repository");
249
+ (0, cli_ui_1.warning)("Could not initialize git repository. You can do it manually later.");
250
+ if (gitErr instanceof Error) {
251
+ (0, cli_ui_1.warning)(gitErr);
252
+ }
253
+ }
254
+ }
255
+ async function createModule(modulePath, answers) {
256
+ const copySpinner = new cli_ui_1.Spinner(`Creating module from template`);
257
+ await copySpinner.start();
258
+ await (0, git_operations_1.copyTemplate)(answers.template, modulePath);
259
+ await copySpinner.succeed(`Module created successfully at ${(0, output_1.getProcessPalette)().dim(node_path_1.default.resolve(modulePath))}`);
260
+ addInterfaceDependencies(modulePath, answers.interfaces);
261
+ await installDependencies(modulePath, answers.packageManager);
262
+ if (answers.isGitInitialized) {
263
+ await initializeGitRepository(modulePath);
264
+ }
265
+ }
266
+ function displayModuleCreated(modulePath, answers, context) {
267
+ if (context.isFromProject) {
268
+ return;
269
+ }
270
+ const template = (0, output_1.getProcessPalette)().bold(answers.template.name);
271
+ (0, output_1.getProcessUi)().summary({
272
+ headline: `Created module from template ${template}`,
273
+ artifact: (0, output_1.displayPath)(node_path_1.default.resolve(modulePath)),
274
+ });
275
+ }
276
+ function modulePrompter(modulePath, options, context) {
277
+ return (context.prompter ??
278
+ (0, output_1.createPrompter)({
279
+ command: `${MODULE_INIT_COMMAND} ${modulePath}`,
280
+ acceptsDefaults: options.yes,
281
+ defaultsFlag: exports.YES_FLAG,
282
+ }));
283
+ }
284
+ async function moduleInitCommand(modulePath, options, context = {}) {
285
+ const prompter = modulePrompter(modulePath, options, context);
286
+ prompter.requireAnswers((0, output_1.missingFlags)(options, MODULE_ANSWER_FLAGS));
287
+ if (!(await isDirectoryUsable(modulePath, Boolean(context.isFromProject)))) {
288
+ return;
289
+ }
290
+ const gitSpinner = new cli_ui_1.Spinner("Loading templates");
291
+ await gitSpinner.start();
292
+ const git = options.git || (await (0, common_1.readUserConfig)()).git;
293
+ (0, common_1.displayNonDefaultGitWarning)(git);
294
+ try {
295
+ const manifest = await loadTemplates(git);
296
+ await gitSpinner.succeed(`Found ${manifest.templates.length} templates`);
297
+ const answers = await askModuleAnswers(prompter, options, git, manifest);
298
+ await createModule(modulePath, answers);
299
+ displayModuleCreated(modulePath, answers, context);
300
+ }
301
+ catch (err) {
302
+ if (!(0, cancellation_1.isPromptCancellation)(err)) {
303
+ await gitSpinner.fail("Failed to initialize your module");
304
+ }
305
+ throw err;
306
+ }
307
+ }
308
+ function runModuleInit(modulePath, options) {
309
+ return moduleInitCommand(modulePath, options);
310
+ }
311
+ //# sourceMappingURL=init-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-action.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/module/init-action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2YA,8CA4BC;AAED,sCAEC;AA3aD,0DAA6B;AAC7B,iEAAmD;AACnD,qCAA+E;AAE/E,2CAA2C;AAC3C,iDAAmD;AACnD,qDAA0D;AAC1D,yCAA2E;AAC3E,qEAIoC;AACpC,yCAAgE;AAChE,2DAG+B;AAC/B,yDAO8B;AAC9B,yCAUsB;AAyBtB,MAAM,eAAe,GAAG,YAAY,CAAC;AACrC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAC5B,QAAA,aAAa,GAAG,GAAG,eAAe,SAAS,CAAC;AAC5C,QAAA,oBAAoB,GAAG,SAAS,4CAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAChF,MAAM,eAAe,GAAG,GAAG,iBAAiB,UAAU,CAAC;AAC1C,QAAA,QAAQ,GAAG,OAAO,CAAC;AACnB,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAC/C,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAC9C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,cAAc,GAAG,QAAQ,CAAC;AAChC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,MAAM,oBAAoB,GACxB,kEAAkE,CAAC;AACrE,MAAM,oBAAoB,GACxB,wDAAwD,CAAC;AAE3D,MAAM,mBAAmB,GAAoC;IAC3D,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAa,EAAE;IAC3C,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,4BAAoB,EAAE;IAC5C,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAa,EAAE;CAC3C,CAAC;AAEF,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,oCAAmB,EAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAA,yBAAgB,EAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,iBAAQ,CAChB;YACE,KAAK,EAAE,kCAAkC,GAAG,EAAE;YAC9C,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,KAAK;YACrC,KAAK,EAAE;gBACL,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAC3C,oBAAoB;aACrB;SACF,EACD,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AASD,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,IAAI,IAAI,GAAG,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAqB;IAC/C,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IAC/B,OAAO,IAAI,iBAAQ,CAAC;QAClB,KAAK,EAAE,WAAW,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACrE,MAAM,EAAE,cAAc,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;QACzD,KAAK,EAAE,OAAO;YACZ,CAAC,CAAC,CAAC,0BAA0B,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,CAAC,CAAC,EAAE;QACN,QAAQ,EAAE,4BAAe;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,UAAkB,EAClB,aAAsB;IAEtB,MAAM,OAAO,GAAG,IAAA,0BAAiB,GAAE,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,gBAAO,CAC5B,sBAAsB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAChD,CAAC;IACF,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAEzB,MAAM,UAAU,GACd,IAAA,oBAAU,EAAC,UAAU,CAAC;QACtB,UAAU,KAAK,iBAAiB;QAChC,IAAA,qBAAW,EAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,IAAI,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChD,IAAA,cAAK,EACH,aAAa,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,+CAA+C,CACrF,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,QAAkB,EAClB,OAA0B,EAC1B,SAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACjC,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,qBAAa;QACnB,MAAM,EAAE,OAAO,CAAC,QAAQ;QACxB,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI;QACjC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK,EAAE,QAAQ,CAAC,IAAI;YACpB,KAAK,EAAE,QAAQ,CAAC,IAAI;SACrB,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,kBAAkB,CAAC;YACvB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,GAAW,EACX,QAAqB;IAErB,MAAM,gBAAgB,GAAG,IAAI,gBAAO,CAAC,8BAA8B,CAAC,CAAC;IACrE,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,IAAA,sCAAqB,EAAC,GAAG,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,gBAAgB,CAAC,OAAO,CAC5B,SAAS,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,uBAAuB,CAC5D,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,QAAkB,EAClB,OAA0B,EAC1B,OAAyB;IAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3D,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC;QACvC,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,OAAO,CAAC,UAAU;QAC1B,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;SACjC,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,kBAAkB,CAAC;YACvB,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,OAAO;YACd,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAkB,EAClB,OAA0B;IAE1B,OAAO,QAAQ,CAAC,MAAM,CAAqB;QACzC,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,4BAAoB;QAC1B,MAAM,EAAE,OAAO,CAAC,EAAE;QAClB,aAAa,EAAE,8CAAuB;QACtC,OAAO,EAAE,4CAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5C,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CACjB,QAAkB,EAClB,OAA0B;IAE1B,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,OAAO,EAAE,4CAA4C;QACrD,IAAI,EAAE,qBAAa;QACnB,MAAM,EAAE,OAAO,CAAC,OAAO;QACvB,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAkB;IAC9C,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,IAAA,qBAAY,GAAE,CAAC,OAAO,CACpB,MAAM,EACN,mDAAmD,EACnD;QACE,MAAM,EAAE,gEAAgE;KACzE,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAkB,EAClB,OAA0B,EAC1B,GAAW,EACX,QAAqB;IAErB,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAkB,EAClB,UAA2B;IAE3B,MAAM,QAAQ,GAAG,UAAU;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;SACtC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,YAAY,KAAK,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,IAAA,uBAAa,EACX,WAAW,EACX,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,CACvD,CAAC;IACF,IAAA,gBAAO,EAAC,SAAS,UAAU,CAAC,MAAM,+BAA+B,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,UAAkB,EAClB,cAAkC;IAElC,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAA,iDAA+B,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,IAAI,gBAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9D,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,MAAM,IAAA,mCAAiB,EACxC,UAAU,EACV,KAAK,EACL,SAAS,EACT,QAAQ,CACT,CAAC;IACF,MAAM,IAAA,oBAAU,EAAC,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAClD,MAAM,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,UAAkB;IACvD,MAAM,cAAc,GAAG,IAAI,gBAAO,CAAC,6BAA6B,CAAC,CAAC;IAClE,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE;YAChC,GAAG,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7B,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,MAAM,cAAc,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,MAAM,cAAc,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACjE,IAAA,gBAAO,EACL,oEAAoE,CACrE,CAAC;QACF,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;YAC5B,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,UAAkB,EAClB,OAA0B;IAE1B,MAAM,WAAW,GAAG,IAAI,gBAAO,CAAC,+BAA+B,CAAC,CAAC;IACjE,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;IAC1B,MAAM,IAAA,6BAAY,EAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,WAAW,CAAC,OAAO,CACvB,kCAAkC,IAAA,0BAAiB,GAAE,CAAC,GAAG,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CACtF,CAAC;IACF,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAAkB,EAClB,OAA0B,EAC1B,OAA0B;IAE1B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,0BAAiB,GAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjE,IAAA,qBAAY,GAAE,CAAC,OAAO,CAAC;QACrB,QAAQ,EAAE,gCAAgC,QAAQ,EAAE;QACpD,QAAQ,EAAE,IAAA,oBAAW,EAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,UAAkB,EAClB,OAA0B,EAC1B,OAA0B;IAE1B,OAAO,CACL,OAAO,CAAC,QAAQ;QAChB,IAAA,uBAAc,EAAC;YACb,OAAO,EAAE,GAAG,mBAAmB,IAAI,UAAU,EAAE;YAC/C,eAAe,EAAE,OAAO,CAAC,GAAG;YAC5B,YAAY,EAAE,gBAAQ;SACvB,CAAC,CACH,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,OAA0B,EAC1B,UAA6B,EAAE;IAE/B,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,QAAQ,CAAC,cAAc,CAAC,IAAA,qBAAY,EAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,gBAAO,CAAC,mBAAmB,CAAC,CAAC;IACpD,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAA,uBAAc,GAAE,CAAC,CAAC,GAAG,CAAC;IACxD,IAAA,oCAA2B,EAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,MAAM,YAAY,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxC,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAA,mCAAoB,EAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,UAAU,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,UAAkB,EAAE,OAA0B;IAC1E,OAAO,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC"}
@@ -1,7 +1,2 @@
1
1
  import { Command } from "commander";
2
- interface InitOptions {
3
- git?: string;
4
- }
5
- export declare function moduleInitCommand(modulePath: string, options: InitOptions, fromProject?: boolean): Promise<void>;
6
2
  export default function (): Command;
7
- export {};
@@ -32,177 +32,38 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
35
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.moduleInitCommand = moduleInitCommand;
40
36
  exports.default = default_1;
41
- const chalk_1 = __importDefault(require("chalk"));
42
- const node_path_1 = __importDefault(require("node:path"));
43
- const inquirer_1 = __importDefault(require("inquirer"));
44
37
  const commander_1 = require("commander");
45
- const childProcess = __importStar(require("node:child_process"));
46
- const node_fs_1 = require("node:fs");
47
- const command_1 = require("../../command");
48
- const common_1 = require("../../common");
49
- const cli_ui_1 = require("../../cli-ui");
50
- const package_manager_1 = require("../../package-manager");
51
- const git_operations_1 = require("../../git-operations");
52
- async function moduleInitCommand(modulePath, options, fromProject = false) {
53
- console.log("");
54
- const dirSpinner = new cli_ui_1.Spinner(`Checking directory ${chalk_1.default.cyan(modulePath)}`);
55
- await dirSpinner.start();
56
- if ((0, node_fs_1.existsSync)(node_path_1.default.join(modulePath)) &&
57
- modulePath !== "." &&
58
- (0, node_fs_1.readdirSync)(node_path_1.default.join(modulePath)).length > 0 &&
59
- !fromProject) {
60
- await dirSpinner.fail(`Directory is not empty`);
61
- (0, cli_ui_1.error)(`Directory ${chalk_1.default.bold(modulePath)} is not empty. Please use an empty directory.`);
62
- process.exitCode = 1;
63
- return;
64
- }
65
- await dirSpinner.succeed(`Directory is valid`);
66
- const gitSpinner = new cli_ui_1.Spinner("Loading templates");
67
- await gitSpinner.start();
68
- const userConfig = await (0, common_1.readUserConfig)();
69
- const git = options.git || userConfig.git;
70
- await (0, common_1.displayNonDefaultGitWarning)(git);
71
- try {
72
- const gitManifest = await (0, git_operations_1.loadManifestFromGit)(git);
73
- await gitSpinner.succeed(`Found ${gitManifest.templates.length} templates`);
74
- console.log("");
75
- (0, cli_ui_1.info)("Welcome to the AntelopeJS module creation wizard!");
76
- console.log(chalk_1.default.dim("Please select a template and provide the required information."));
77
- console.log("");
78
- const templates = gitManifest.templates;
79
- const { template: selectedTemplate } = await inquirer_1.default.prompt([
80
- {
81
- type: "list",
82
- name: "template",
83
- message: "Choose a template for your module",
84
- choices: templates.map((template) => ({
85
- name: `${template.name} - ${chalk_1.default.dim("Module template")}`,
86
- value: template.name,
87
- })),
88
- },
89
- ]);
90
- const template = templates.find((template) => template.name === selectedTemplate);
91
- if (!template) {
92
- (0, cli_ui_1.error)(`Template ${chalk_1.default.bold(selectedTemplate)} does not exist`);
93
- process.exitCode = 1;
94
- return;
95
- }
96
- console.log("");
97
- (0, cli_ui_1.info)(`Template: ${chalk_1.default.cyan(template.name)}`);
98
- console.log("");
99
- const copySpinner = new cli_ui_1.Spinner(`Creating module from template`);
100
- await copySpinner.start();
101
- await (0, git_operations_1.copyTemplate)(template, node_path_1.default.join(modulePath));
102
- await copySpinner.succeed(`Module created successfully at ${chalk_1.default.cyan(node_path_1.default.resolve(modulePath))}`);
103
- const interfaceSpinner = new cli_ui_1.Spinner("Loading available interfaces");
104
- await interfaceSpinner.start();
105
- const interfacesInfo = await (0, git_operations_1.loadInterfacesFromGit)(git, gitManifest.starredInterfaces);
106
- await interfaceSpinner.succeed(`Found ${Object.keys(interfacesInfo).length} available interfaces`);
107
- if (Object.keys(interfacesInfo).length > 0) {
108
- console.log("");
109
- const { selectedInterfaces } = await inquirer_1.default.prompt([
110
- {
111
- type: "checkbox",
112
- name: "selectedInterfaces",
113
- message: "Select interfaces to install (optional)",
114
- choices: Object.entries(interfacesInfo).map(([name, info]) => ({
115
- name: `${name} - ${chalk_1.default.dim(info.manifest.description)}`,
116
- value: name,
117
- })),
118
- },
119
- ]);
120
- if (selectedInterfaces.length > 0) {
121
- const pkgJsonPath = node_path_1.default.resolve(modulePath, "package.json");
122
- const pkgJson = JSON.parse((0, node_fs_1.readFileSync)(pkgJsonPath, "utf8"));
123
- if (!pkgJson.dependencies)
124
- pkgJson.dependencies = {};
125
- for (const ifaceName of selectedInterfaces) {
126
- const ifaceInfo = interfacesInfo[ifaceName];
127
- if (ifaceInfo?.manifest.package) {
128
- pkgJson.dependencies[ifaceInfo.manifest.package] = "latest";
129
- }
130
- }
131
- (0, node_fs_1.writeFileSync)(pkgJsonPath, JSON.stringify(pkgJson, null, 2) + "\n");
132
- (0, cli_ui_1.success)(`Added ${selectedInterfaces.length} interface(s) to dependencies`);
133
- }
134
- }
135
- console.log("");
136
- const { packageManager } = await inquirer_1.default.prompt([
137
- {
138
- type: "list",
139
- name: "packageManager",
140
- message: "Which package manager would you like to use?",
141
- choices: [
142
- { name: "npm", value: "npm" },
143
- { name: "yarn", value: "yarn" },
144
- { name: "pnpm", value: "pnpm" },
145
- ],
146
- default: "npm",
147
- },
148
- ]);
149
- const packageJsonPath = node_path_1.default.resolve(modulePath);
150
- (0, package_manager_1.savePackageManagerToPackageJson)(packageManager, packageJsonPath);
151
- const installSpinner = new cli_ui_1.Spinner("Installing dependencies");
152
- await installSpinner.start();
153
- const installCmd = await (0, package_manager_1.getInstallCommand)(packageJsonPath, false, undefined, "update");
154
- await (0, command_1.ExecuteCMD)(installCmd, { cwd: packageJsonPath });
155
- await installSpinner.succeed("Dependencies installed");
156
- console.log("");
157
- const { initGit } = await inquirer_1.default.prompt([
158
- {
159
- type: "confirm",
160
- name: "initGit",
161
- message: "Initialize a git repository in the module?",
162
- default: true,
163
- },
164
- ]);
165
- if (initGit) {
166
- const gitInitSpinner = new cli_ui_1.Spinner("Initializing git repository");
167
- await gitInitSpinner.start();
168
- try {
169
- childProcess.execSync("git init", {
170
- cwd: node_path_1.default.resolve(modulePath),
171
- stdio: "ignore",
172
- });
173
- await gitInitSpinner.succeed("Git repository initialized");
174
- }
175
- catch (gitErr) {
176
- await gitInitSpinner.fail("Failed to initialize git repository");
177
- (0, cli_ui_1.warning)("Could not initialize git repository. You can do it manually later.");
178
- if (gitErr instanceof Error) {
179
- (0, cli_ui_1.warning)(gitErr);
180
- }
181
- }
182
- }
183
- console.log("");
184
- await (0, cli_ui_1.displayBox)(`Your AntelopeJS module has been successfully created!\n\n` +
185
- `Template: ${chalk_1.default.green(template.name)}\n` +
186
- `Location: ${chalk_1.default.cyan(node_path_1.default.resolve(modulePath))}\n` +
187
- `Package Manager: ${chalk_1.default.green(packageManager)}` +
188
- (initGit ? `\nGit Repository: ${chalk_1.default.green("Initialized")}` : ""), "\u{f12e} Module Created", { borderColor: "green" });
189
- }
190
- catch (err) {
191
- await gitSpinner.fail("Failed to initialize your module");
192
- if (fromProject) {
193
- throw err;
194
- }
195
- (0, cli_ui_1.error)(err instanceof Error ? err : `Unknown error: ${String(err)}`);
196
- process.exitCode = 1;
197
- return;
198
- }
199
- }
38
+ const options_1 = require("../../options");
39
+ const help_1 = require("../../help");
40
+ const lazy_action_1 = require("../../lazy-action");
200
41
  function default_1() {
201
- return new commander_1.Command("init")
202
- .description(`Create a new AntelopeJS module\n` +
203
- `Walks you through setting up a new module using templates.`)
204
- .argument("<path>", "Directory path for the new module")
205
- .addOption(common_1.Options.git)
206
- .action(moduleInitCommand);
42
+ const command = new commander_1.Command("init")
43
+ .summary("Create a module from a template")
44
+ .description("Create a module from one of the templates of the interface repository, with the interfaces it depends on, its package manager and an optional git repository. Every question can be answered with a flag, so the command also runs in scripts and CI.")
45
+ .argument("<path>", "Directory of the new module")
46
+ .addOption(options_1.Options.git)
47
+ .addOption(options_1.Options.template)
48
+ .addOption(options_1.Options.interfaces)
49
+ .addOption(options_1.Options.packageManager)
50
+ .addOption(options_1.Options.gitInit)
51
+ .addOption(options_1.Options.noGitInit)
52
+ .addOption(options_1.Options.yes)
53
+ .action((0, lazy_action_1.lazyAction)(async () => (await Promise.resolve().then(() => __importStar(require("./init-action")))).runModuleInit));
54
+ return (0, help_1.withExamples)(command, [
55
+ {
56
+ description: "Answer the questions interactively",
57
+ command: "ajs module init ./modules/my-module",
58
+ },
59
+ {
60
+ description: "Accept every default",
61
+ command: "ajs module init ./modules/my-module --yes",
62
+ },
63
+ {
64
+ description: "Answer every question with a flag, for scripts and CI",
65
+ command: 'ajs module init ./modules/my-module --template "Blank Typescript" --pm pnpm --no-git-init',
66
+ },
67
+ ]);
207
68
  }
208
69
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/module/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/module/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,4BAgCC;AAtCD,yCAAoC;AAEpC,2CAAwC;AACxC,qCAA0C;AAC1C,mDAA+C;AAE/C;IACE,MAAM,OAAO,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;SAChC,OAAO,CAAC,iCAAiC,CAAC;SAC1C,WAAW,CACV,uPAAuP,CACxP;SACA,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SACjD,SAAS,CAAC,iBAAO,CAAC,GAAG,CAAC;SACtB,SAAS,CAAC,iBAAO,CAAC,QAAQ,CAAC;SAC3B,SAAS,CAAC,iBAAO,CAAC,UAAU,CAAC;SAC7B,SAAS,CAAC,iBAAO,CAAC,cAAc,CAAC;SACjC,SAAS,CAAC,iBAAO,CAAC,OAAO,CAAC;SAC1B,SAAS,CAAC,iBAAO,CAAC,SAAS,CAAC;SAC5B,SAAS,CAAC,iBAAO,CAAC,GAAG,CAAC;SACtB,MAAM,CACL,IAAA,wBAAU,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC,wDAAa,eAAe,GAAC,CAAC,CAAC,aAAa,CAAC,CACtE,CAAC;IACJ,OAAO,IAAA,mBAAY,EAAC,OAAO,EAAE;QAC3B;YACE,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE,qCAAqC;SAC/C;QACD;YACE,WAAW,EAAE,sBAAsB;YACnC,OAAO,EAAE,2CAA2C;SACrD;QACD;YACE,WAAW,EAAE,uDAAuD;YACpE,OAAO,EACL,2FAA2F;SAC9F;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ interface TestOptions {
2
+ file?: string[];
3
+ }
4
+ export declare function moduleTestCommand(modulePath: string | undefined, options: TestOptions): Promise<void>;
5
+ export {};
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.moduleTestCommand = moduleTestCommand;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const promises_1 = require("node:fs/promises");
9
+ const __1 = require("../../../..");
10
+ const common_1 = require("../../common");
11
+ const output_1 = require("../../output");
12
+ const TEST_COMMAND = "ajs module test <path>";
13
+ function isDirectory(target) {
14
+ return (0, promises_1.stat)(target).then((stats) => stats.isDirectory(), () => false);
15
+ }
16
+ function moduleDirectoryFix() {
17
+ return `Run it from a module directory, or pass its path: ${(0, output_1.getProcessPalette)().cyan(TEST_COMMAND)}`;
18
+ }
19
+ async function invalidModuleError(modulePath) {
20
+ const shownPath = (0, output_1.displayPath)(modulePath);
21
+ if (!(await isDirectory(modulePath))) {
22
+ return new output_1.CliError({
23
+ title: `Directory ${shownPath} does not exist`,
24
+ fixes: [moduleDirectoryFix()],
25
+ });
26
+ }
27
+ return new output_1.CliError({
28
+ title: `No AntelopeJS module in ${shownPath}`,
29
+ reason: "The directory has no readable package.json.",
30
+ fixes: [moduleDirectoryFix()],
31
+ });
32
+ }
33
+ async function moduleTestCommand(modulePath = ".", options) {
34
+ const resolvedPath = node_path_1.default.resolve(modulePath);
35
+ const moduleManifest = await (0, common_1.readModuleManifest)(resolvedPath);
36
+ if (!moduleManifest) {
37
+ throw await invalidModuleError(resolvedPath);
38
+ }
39
+ (0, output_1.getProcessUi)().message("success", `Valid module found: ${(0, output_1.getProcessPalette)().bold(moduleManifest.name)}`);
40
+ const failures = await (0, __1.TestModule)(resolvedPath, options.file);
41
+ if (failures > 0) {
42
+ process.exitCode = 1;
43
+ }
44
+ }
45
+ //# sourceMappingURL=test-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-action.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/module/test-action.ts"],"names":[],"mappings":";;;;;AA4CA,8CAkBC;AA9DD,0DAA6B;AAC7B,+CAAwC;AAExC,mCAAyC;AACzC,yCAAkD;AAClD,yCAKsB;AAMtB,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,IAAA,eAAI,EAAC,MAAM,CAAC,CAAC,IAAI,CACtB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAC9B,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,qDAAqD,IAAA,0BAAiB,GAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;AACvG,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAClD,MAAM,SAAS,GAAG,IAAA,oBAAW,EAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,iBAAQ,CAAC;YAClB,KAAK,EAAE,aAAa,SAAS,iBAAiB;YAC9C,KAAK,EAAE,CAAC,kBAAkB,EAAE,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,iBAAQ,CAAC;QAClB,KAAK,EAAE,2BAA2B,SAAS,EAAE;QAC7C,MAAM,EAAE,6CAA6C;QACrD,KAAK,EAAE,CAAC,kBAAkB,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,UAAU,GAAG,GAAG,EAChB,OAAoB;IAEpB,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,MAAM,IAAA,2BAAkB,EAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IACD,IAAA,qBAAY,GAAE,CAAC,OAAO,CACpB,SAAS,EACT,uBAAuB,IAAA,0BAAiB,GAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CACvE,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAU,EAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -1,7 +1,2 @@
1
1
  import { Command } from "commander";
2
- interface TestOptions {
3
- file?: string[];
4
- }
5
- export declare function moduleTestCommand(modulePath: string | undefined, options: TestOptions): Promise<void>;
6
2
  export default function (): Command;
7
- export {};