@antelopejs/core 0.0.1

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 (330) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +52 -0
  3. package/dist/cli/common.d.ts +21 -0
  4. package/dist/cli/common.js +86 -0
  5. package/dist/cli/common.js.map +1 -0
  6. package/dist/cli/config/get.d.ts +2 -0
  7. package/dist/cli/config/get.js +36 -0
  8. package/dist/cli/config/get.js.map +1 -0
  9. package/dist/cli/config/index.d.ts +2 -0
  10. package/dist/cli/config/index.js +20 -0
  11. package/dist/cli/config/index.js.map +1 -0
  12. package/dist/cli/config/reset.d.ts +2 -0
  13. package/dist/cli/config/reset.js +88 -0
  14. package/dist/cli/config/reset.js.map +1 -0
  15. package/dist/cli/config/set.d.ts +2 -0
  16. package/dist/cli/config/set.js +46 -0
  17. package/dist/cli/config/set.js.map +1 -0
  18. package/dist/cli/config/show.d.ts +2 -0
  19. package/dist/cli/config/show.js +27 -0
  20. package/dist/cli/config/show.js.map +1 -0
  21. package/dist/cli/git.d.ts +49 -0
  22. package/dist/cli/git.js +248 -0
  23. package/dist/cli/git.js.map +1 -0
  24. package/dist/cli/index.d.ts +2 -0
  25. package/dist/cli/index.js +61 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/cli/module/exports/generate.d.ts +2 -0
  28. package/dist/cli/module/exports/generate.js +178 -0
  29. package/dist/cli/module/exports/generate.js.map +1 -0
  30. package/dist/cli/module/exports/index.d.ts +2 -0
  31. package/dist/cli/module/exports/index.js +16 -0
  32. package/dist/cli/module/exports/index.js.map +1 -0
  33. package/dist/cli/module/exports/set.d.ts +2 -0
  34. package/dist/cli/module/exports/set.js +43 -0
  35. package/dist/cli/module/exports/set.js.map +1 -0
  36. package/dist/cli/module/imports/add.d.ts +9 -0
  37. package/dist/cli/module/imports/add.js +127 -0
  38. package/dist/cli/module/imports/add.js.map +1 -0
  39. package/dist/cli/module/imports/index.d.ts +2 -0
  40. package/dist/cli/module/imports/index.js +20 -0
  41. package/dist/cli/module/imports/index.js.map +1 -0
  42. package/dist/cli/module/imports/list.d.ts +2 -0
  43. package/dist/cli/module/imports/list.js +89 -0
  44. package/dist/cli/module/imports/list.js.map +1 -0
  45. package/dist/cli/module/imports/remove.d.ts +2 -0
  46. package/dist/cli/module/imports/remove.js +97 -0
  47. package/dist/cli/module/imports/remove.js.map +1 -0
  48. package/dist/cli/module/imports/update.d.ts +2 -0
  49. package/dist/cli/module/imports/update.js +157 -0
  50. package/dist/cli/module/imports/update.js.map +1 -0
  51. package/dist/cli/module/index.d.ts +2 -0
  52. package/dist/cli/module/index.js +20 -0
  53. package/dist/cli/module/index.js.map +1 -0
  54. package/dist/cli/module/init.d.ts +7 -0
  55. package/dist/cli/module/init.js +120 -0
  56. package/dist/cli/module/init.js.map +1 -0
  57. package/dist/cli/module/test.d.ts +3 -0
  58. package/dist/cli/module/test.js +33 -0
  59. package/dist/cli/module/test.js.map +1 -0
  60. package/dist/cli/project/index.d.ts +2 -0
  61. package/dist/cli/project/index.js +20 -0
  62. package/dist/cli/project/index.js.map +1 -0
  63. package/dist/cli/project/init.d.ts +2 -0
  64. package/dist/cli/project/init.js +122 -0
  65. package/dist/cli/project/init.js.map +1 -0
  66. package/dist/cli/project/logging/index.d.ts +2 -0
  67. package/dist/cli/project/logging/index.js +16 -0
  68. package/dist/cli/project/logging/index.js.map +1 -0
  69. package/dist/cli/project/logging/set.d.ts +2 -0
  70. package/dist/cli/project/logging/set.js +352 -0
  71. package/dist/cli/project/logging/set.js.map +1 -0
  72. package/dist/cli/project/logging/show.d.ts +2 -0
  73. package/dist/cli/project/logging/show.js +92 -0
  74. package/dist/cli/project/logging/show.js.map +1 -0
  75. package/dist/cli/project/modules/add.d.ts +11 -0
  76. package/dist/cli/project/modules/add.js +157 -0
  77. package/dist/cli/project/modules/add.js.map +1 -0
  78. package/dist/cli/project/modules/fix.d.ts +2 -0
  79. package/dist/cli/project/modules/fix.js +201 -0
  80. package/dist/cli/project/modules/fix.js.map +1 -0
  81. package/dist/cli/project/modules/index.d.ts +2 -0
  82. package/dist/cli/project/modules/index.js +20 -0
  83. package/dist/cli/project/modules/index.js.map +1 -0
  84. package/dist/cli/project/modules/remove.d.ts +9 -0
  85. package/dist/cli/project/modules/remove.js +102 -0
  86. package/dist/cli/project/modules/remove.js.map +1 -0
  87. package/dist/cli/project/modules/update.d.ts +2 -0
  88. package/dist/cli/project/modules/update.js +117 -0
  89. package/dist/cli/project/modules/update.js.map +1 -0
  90. package/dist/cli/project/run.d.ts +2 -0
  91. package/dist/cli/project/run.js +107 -0
  92. package/dist/cli/project/run.js.map +1 -0
  93. package/dist/common/cache.d.ts +14 -0
  94. package/dist/common/cache.js +100 -0
  95. package/dist/common/cache.js.map +1 -0
  96. package/dist/common/config.d.ts +54 -0
  97. package/dist/common/config.js +160 -0
  98. package/dist/common/config.js.map +1 -0
  99. package/dist/common/downloader/git.d.ts +8 -0
  100. package/dist/common/downloader/git.js +61 -0
  101. package/dist/common/downloader/git.js.map +1 -0
  102. package/dist/common/downloader/index.d.ts +10 -0
  103. package/dist/common/downloader/index.js +57 -0
  104. package/dist/common/downloader/index.js.map +1 -0
  105. package/dist/common/downloader/local.d.ts +11 -0
  106. package/dist/common/downloader/local.js +58 -0
  107. package/dist/common/downloader/local.js.map +1 -0
  108. package/dist/common/downloader/package.d.ts +6 -0
  109. package/dist/common/downloader/package.js +53 -0
  110. package/dist/common/downloader/package.js.map +1 -0
  111. package/dist/common/manifest.d.ts +45 -0
  112. package/dist/common/manifest.js +116 -0
  113. package/dist/common/manifest.js.map +1 -0
  114. package/dist/eslint.config.d.mts +2 -0
  115. package/dist/eslint.config.mjs +85 -0
  116. package/dist/eslint.config.mjs.map +1 -0
  117. package/dist/index.d.ts +6 -0
  118. package/dist/index.js +118 -0
  119. package/dist/index.js.map +1 -0
  120. package/dist/interfaces/core/1/decorators.d.ts +29 -0
  121. package/dist/interfaces/core/1/decorators.js +72 -0
  122. package/dist/interfaces/core/1/decorators.js.map +1 -0
  123. package/dist/interfaces/core/1/index.d.ts +54 -0
  124. package/dist/interfaces/core/1/index.js +237 -0
  125. package/dist/interfaces/core/1/index.js.map +1 -0
  126. package/dist/interfaces/core/1/modules.d.ts +26 -0
  127. package/dist/interfaces/core/1/modules.js +31 -0
  128. package/dist/interfaces/core/1/modules.js.map +1 -0
  129. package/dist/interfaces/core/beta/decorators.d.ts +29 -0
  130. package/dist/interfaces/core/beta/decorators.js +72 -0
  131. package/dist/interfaces/core/beta/decorators.js.map +1 -0
  132. package/dist/interfaces/core/beta/index.d.ts +54 -0
  133. package/dist/interfaces/core/beta/index.js +237 -0
  134. package/dist/interfaces/core/beta/index.js.map +1 -0
  135. package/dist/interfaces/core/beta/modules.d.ts +26 -0
  136. package/dist/interfaces/core/beta/modules.js +31 -0
  137. package/dist/interfaces/core/beta/modules.js.map +1 -0
  138. package/dist/interfaces/logging/1/index.d.ts +16 -0
  139. package/dist/interfaces/logging/1/index.js +49 -0
  140. package/dist/interfaces/logging/1/index.js.map +1 -0
  141. package/dist/interfaces/logging/1/listener.d.ts +9 -0
  142. package/dist/interfaces/logging/1/listener.js +5 -0
  143. package/dist/interfaces/logging/1/listener.js.map +1 -0
  144. package/dist/interfaces/logging/beta/index.d.ts +16 -0
  145. package/dist/interfaces/logging/beta/index.js +49 -0
  146. package/dist/interfaces/logging/beta/index.js.map +1 -0
  147. package/dist/interfaces/logging/beta/listener.d.ts +9 -0
  148. package/dist/interfaces/logging/beta/listener.js +5 -0
  149. package/dist/interfaces/logging/beta/listener.js.map +1 -0
  150. package/dist/loader/index.d.ts +45 -0
  151. package/dist/loader/index.js +472 -0
  152. package/dist/loader/index.js.map +1 -0
  153. package/dist/loader/module.d.ts +29 -0
  154. package/dist/loader/module.js +142 -0
  155. package/dist/loader/module.js.map +1 -0
  156. package/dist/logging/index.d.ts +5 -0
  157. package/dist/logging/index.js +124 -0
  158. package/dist/logging/index.js.map +1 -0
  159. package/dist/src/cli/common.d.ts +18 -0
  160. package/dist/src/cli/common.js +105 -0
  161. package/dist/src/cli/common.js.map +1 -0
  162. package/dist/src/cli/config/get.d.ts +2 -0
  163. package/dist/src/cli/config/get.js +36 -0
  164. package/dist/src/cli/config/get.js.map +1 -0
  165. package/dist/src/cli/config/index.d.ts +2 -0
  166. package/dist/src/cli/config/index.js +20 -0
  167. package/dist/src/cli/config/index.js.map +1 -0
  168. package/dist/src/cli/config/reset.d.ts +2 -0
  169. package/dist/src/cli/config/reset.js +88 -0
  170. package/dist/src/cli/config/reset.js.map +1 -0
  171. package/dist/src/cli/config/set.d.ts +2 -0
  172. package/dist/src/cli/config/set.js +42 -0
  173. package/dist/src/cli/config/set.js.map +1 -0
  174. package/dist/src/cli/config/show.d.ts +2 -0
  175. package/dist/src/cli/config/show.js +27 -0
  176. package/dist/src/cli/config/show.js.map +1 -0
  177. package/dist/src/cli/git.d.ts +43 -0
  178. package/dist/src/cli/git.js +227 -0
  179. package/dist/src/cli/git.js.map +1 -0
  180. package/dist/src/cli/index.d.ts +2 -0
  181. package/dist/src/cli/index.js +43 -0
  182. package/dist/src/cli/index.js.map +1 -0
  183. package/dist/src/cli/module/exports/generate.d.ts +2 -0
  184. package/dist/src/cli/module/exports/generate.js +71 -0
  185. package/dist/src/cli/module/exports/generate.js.map +1 -0
  186. package/dist/src/cli/module/exports/index.d.ts +2 -0
  187. package/dist/src/cli/module/exports/index.js +16 -0
  188. package/dist/src/cli/module/exports/index.js.map +1 -0
  189. package/dist/src/cli/module/exports/set.d.ts +2 -0
  190. package/dist/src/cli/module/exports/set.js +43 -0
  191. package/dist/src/cli/module/exports/set.js.map +1 -0
  192. package/dist/src/cli/module/imports/add.d.ts +9 -0
  193. package/dist/src/cli/module/imports/add.js +98 -0
  194. package/dist/src/cli/module/imports/add.js.map +1 -0
  195. package/dist/src/cli/module/imports/index.d.ts +2 -0
  196. package/dist/src/cli/module/imports/index.js +20 -0
  197. package/dist/src/cli/module/imports/index.js.map +1 -0
  198. package/dist/src/cli/module/imports/list.d.ts +2 -0
  199. package/dist/src/cli/module/imports/list.js +89 -0
  200. package/dist/src/cli/module/imports/list.js.map +1 -0
  201. package/dist/src/cli/module/imports/remove.d.ts +2 -0
  202. package/dist/src/cli/module/imports/remove.js +97 -0
  203. package/dist/src/cli/module/imports/remove.js.map +1 -0
  204. package/dist/src/cli/module/imports/update.d.ts +2 -0
  205. package/dist/src/cli/module/imports/update.js +129 -0
  206. package/dist/src/cli/module/imports/update.js.map +1 -0
  207. package/dist/src/cli/module/index.d.ts +2 -0
  208. package/dist/src/cli/module/index.js +20 -0
  209. package/dist/src/cli/module/index.js.map +1 -0
  210. package/dist/src/cli/module/init.d.ts +7 -0
  211. package/dist/src/cli/module/init.js +136 -0
  212. package/dist/src/cli/module/init.js.map +1 -0
  213. package/dist/src/cli/module/test.d.ts +6 -0
  214. package/dist/src/cli/module/test.js +20 -0
  215. package/dist/src/cli/module/test.js.map +1 -0
  216. package/dist/src/cli/project/index.d.ts +2 -0
  217. package/dist/src/cli/project/index.js +20 -0
  218. package/dist/src/cli/project/index.js.map +1 -0
  219. package/dist/src/cli/project/init.d.ts +2 -0
  220. package/dist/src/cli/project/init.js +116 -0
  221. package/dist/src/cli/project/init.js.map +1 -0
  222. package/dist/src/cli/project/logging/index.d.ts +2 -0
  223. package/dist/src/cli/project/logging/index.js +16 -0
  224. package/dist/src/cli/project/logging/index.js.map +1 -0
  225. package/dist/src/cli/project/logging/set.d.ts +2 -0
  226. package/dist/src/cli/project/logging/set.js +353 -0
  227. package/dist/src/cli/project/logging/set.js.map +1 -0
  228. package/dist/src/cli/project/logging/show.d.ts +2 -0
  229. package/dist/src/cli/project/logging/show.js +93 -0
  230. package/dist/src/cli/project/logging/show.js.map +1 -0
  231. package/dist/src/cli/project/modules/add.d.ts +11 -0
  232. package/dist/src/cli/project/modules/add.js +161 -0
  233. package/dist/src/cli/project/modules/add.js.map +1 -0
  234. package/dist/src/cli/project/modules/fix.d.ts +2 -0
  235. package/dist/src/cli/project/modules/fix.js +224 -0
  236. package/dist/src/cli/project/modules/fix.js.map +1 -0
  237. package/dist/src/cli/project/modules/index.d.ts +2 -0
  238. package/dist/src/cli/project/modules/index.js +20 -0
  239. package/dist/src/cli/project/modules/index.js.map +1 -0
  240. package/dist/src/cli/project/modules/remove.d.ts +9 -0
  241. package/dist/src/cli/project/modules/remove.js +102 -0
  242. package/dist/src/cli/project/modules/remove.js.map +1 -0
  243. package/dist/src/cli/project/modules/update.d.ts +2 -0
  244. package/dist/src/cli/project/modules/update.js +117 -0
  245. package/dist/src/cli/project/modules/update.js.map +1 -0
  246. package/dist/src/cli/project/run.d.ts +2 -0
  247. package/dist/src/cli/project/run.js +60 -0
  248. package/dist/src/cli/project/run.js.map +1 -0
  249. package/dist/src/common/cache.d.ts +14 -0
  250. package/dist/src/common/cache.js +99 -0
  251. package/dist/src/common/cache.js.map +1 -0
  252. package/dist/src/common/config.d.ts +58 -0
  253. package/dist/src/common/config.js +159 -0
  254. package/dist/src/common/config.js.map +1 -0
  255. package/dist/src/common/downloader/git.d.ts +8 -0
  256. package/dist/src/common/downloader/git.js +64 -0
  257. package/dist/src/common/downloader/git.js.map +1 -0
  258. package/dist/src/common/downloader/index.d.ts +10 -0
  259. package/dist/src/common/downloader/index.js +50 -0
  260. package/dist/src/common/downloader/index.js.map +1 -0
  261. package/dist/src/common/downloader/local.d.ts +11 -0
  262. package/dist/src/common/downloader/local.js +39 -0
  263. package/dist/src/common/downloader/local.js.map +1 -0
  264. package/dist/src/common/downloader/package.d.ts +6 -0
  265. package/dist/src/common/downloader/package.js +79 -0
  266. package/dist/src/common/downloader/package.js.map +1 -0
  267. package/dist/src/common/manifest.d.ts +45 -0
  268. package/dist/src/common/manifest.js +114 -0
  269. package/dist/src/common/manifest.js.map +1 -0
  270. package/dist/src/index.d.ts +5 -0
  271. package/dist/src/index.js +117 -0
  272. package/dist/src/index.js.map +1 -0
  273. package/dist/src/interfaces/core/1/decorators.d.ts +29 -0
  274. package/dist/src/interfaces/core/1/decorators.js +72 -0
  275. package/dist/src/interfaces/core/1/decorators.js.map +1 -0
  276. package/dist/src/interfaces/core/1/index.d.ts +54 -0
  277. package/dist/src/interfaces/core/1/index.js +237 -0
  278. package/dist/src/interfaces/core/1/index.js.map +1 -0
  279. package/dist/src/interfaces/core/1/modules.d.ts +26 -0
  280. package/dist/src/interfaces/core/1/modules.js +31 -0
  281. package/dist/src/interfaces/core/1/modules.js.map +1 -0
  282. package/dist/src/interfaces/logging/1/index.d.ts +16 -0
  283. package/dist/src/interfaces/logging/1/index.js +49 -0
  284. package/dist/src/interfaces/logging/1/index.js.map +1 -0
  285. package/dist/src/interfaces/logging/1/listener.d.ts +9 -0
  286. package/dist/src/interfaces/logging/1/listener.js +5 -0
  287. package/dist/src/interfaces/logging/1/listener.js.map +1 -0
  288. package/dist/src/loader/index.d.ts +42 -0
  289. package/dist/src/loader/index.js +428 -0
  290. package/dist/src/loader/index.js.map +1 -0
  291. package/dist/src/loader/module.d.ts +29 -0
  292. package/dist/src/loader/module.js +139 -0
  293. package/dist/src/loader/module.js.map +1 -0
  294. package/dist/src/logging/index.d.ts +5 -0
  295. package/dist/src/logging/index.js +118 -0
  296. package/dist/src/logging/index.js.map +1 -0
  297. package/dist/src/utils/cli-ui.d.ts +34 -0
  298. package/dist/src/utils/cli-ui.js +173 -0
  299. package/dist/src/utils/cli-ui.js.map +1 -0
  300. package/dist/src/utils/command.d.ts +3 -0
  301. package/dist/src/utils/command.js +33 -0
  302. package/dist/src/utils/command.js.map +1 -0
  303. package/dist/src/utils/object.d.ts +2 -0
  304. package/dist/src/utils/object.js +26 -0
  305. package/dist/src/utils/object.js.map +1 -0
  306. package/dist/src/utils/promise.d.ts +3 -0
  307. package/dist/src/utils/promise.js +24 -0
  308. package/dist/src/utils/promise.js.map +1 -0
  309. package/dist/utils/antelope-runner.d.ts +1 -0
  310. package/dist/utils/antelope-runner.js +29 -0
  311. package/dist/utils/antelope-runner.js.map +1 -0
  312. package/dist/utils/cli-ui.d.ts +34 -0
  313. package/dist/utils/cli-ui.js +173 -0
  314. package/dist/utils/cli-ui.js.map +1 -0
  315. package/dist/utils/command.d.ts +2 -0
  316. package/dist/utils/command.js +19 -0
  317. package/dist/utils/command.js.map +1 -0
  318. package/dist/utils/logger.d.ts +5 -0
  319. package/dist/utils/logger.js +14 -0
  320. package/dist/utils/logger.js.map +1 -0
  321. package/dist/utils/object.d.ts +2 -0
  322. package/dist/utils/object.js +26 -0
  323. package/dist/utils/object.js.map +1 -0
  324. package/dist/utils/package-manager.d.ts +3 -0
  325. package/dist/utils/package-manager.js +39 -0
  326. package/dist/utils/package-manager.js.map +1 -0
  327. package/dist/utils/promise.d.ts +3 -0
  328. package/dist/utils/promise.js +24 -0
  329. package/dist/utils/promise.js.map +1 -0
  330. package/package.json +77 -0
@@ -0,0 +1,227 @@
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.loadInterfaceFromGit = loadInterfaceFromGit;
40
+ exports.loadInterfacesFromGit = loadInterfacesFromGit;
41
+ exports.installInterface = installInterface;
42
+ exports.removeInterface = removeInterface;
43
+ exports.loadManifestFromGit = loadManifestFromGit;
44
+ exports.copyTemplate = copyTemplate;
45
+ const os_1 = require("os");
46
+ const command_1 = require("../utils/command");
47
+ const path_1 = __importDefault(require("path"));
48
+ const promises_1 = require("fs/promises");
49
+ const fs_1 = __importStar(require("fs"));
50
+ const cli_ui_1 = require("../utils/cli-ui");
51
+ async function setupGit(cachePath, git, folderName) {
52
+ const spinner = new cli_ui_1.Spinner(`Cloning interfaces repository ${git}`);
53
+ await spinner.start();
54
+ try {
55
+ await (0, command_1.ExecuteCMD)(`git clone --filter=blob:none --no-checkout --depth 1 --sparse ${git} ${folderName}`, {
56
+ cwd: cachePath,
57
+ });
58
+ await spinner.update(`Setting up sparse checkout for ${git}`);
59
+ await (0, command_1.ExecuteCMD)('git sparse-checkout add manifest.json --skip-checks', {
60
+ cwd: path_1.default.join(cachePath, folderName),
61
+ });
62
+ await (0, command_1.ExecuteCMD)('git checkout', { cwd: path_1.default.join(cachePath, folderName) });
63
+ await spinner.succeed(`Git interfaces repository set up successfully`);
64
+ }
65
+ catch (error) {
66
+ await spinner.fail(`Failed to set up Git interfaces repository: ${error.message}`);
67
+ throw error;
68
+ }
69
+ }
70
+ async function loadGit(git) {
71
+ const folderName = git.replace(/[^a-zA-Z0-9_]/g, '_');
72
+ const cachePath = path_1.default.join((0, os_1.homedir)(), '.antelopejs', 'cache');
73
+ if (!(await (0, promises_1.stat)(cachePath).catch(() => false))) {
74
+ (0, fs_1.mkdirSync)(cachePath, { recursive: true });
75
+ }
76
+ const folderPath = path_1.default.join(cachePath, folderName);
77
+ if (!(await (0, promises_1.stat)(folderPath).catch(() => false))) {
78
+ await setupGit(cachePath, git, folderName);
79
+ }
80
+ else {
81
+ await (0, command_1.ExecuteCMD)('git pull', { cwd: folderPath });
82
+ }
83
+ return folderPath;
84
+ }
85
+ async function getInterfaceInfo(gitPath, interface_) {
86
+ const iFolderPath = path_1.default.join(gitPath, 'interfaces', interface_);
87
+ if (!(await (0, promises_1.stat)(iFolderPath).catch(() => false))) {
88
+ return undefined;
89
+ }
90
+ return {
91
+ name: interface_,
92
+ folderPath: iFolderPath,
93
+ gitPath,
94
+ manifest: require(path_1.default.join(iFolderPath, 'interface.json')),
95
+ };
96
+ }
97
+ async function loadInterfaceFromGit(git, interface_) {
98
+ const spinner = new cli_ui_1.Spinner(`Loading interface ${interface_} from interfaces repository`);
99
+ await spinner.start();
100
+ try {
101
+ const folderPath = await loadGit(git);
102
+ await (0, command_1.ExecuteCMD)(`git sparse-checkout add interfaces/${interface_}/interface.json --skip-checks`, {
103
+ cwd: folderPath,
104
+ });
105
+ const interfaceInfo = await getInterfaceInfo(folderPath, interface_);
106
+ if (interfaceInfo) {
107
+ await spinner.succeed(`Interface ${interface_} loaded successfully`);
108
+ }
109
+ else {
110
+ await spinner.fail(`Interface ${interface_} not found`);
111
+ }
112
+ return interfaceInfo;
113
+ }
114
+ catch (error) {
115
+ await spinner.fail(`Failed to load interface: ${error.message}`);
116
+ throw error;
117
+ }
118
+ }
119
+ async function loadInterfacesFromGit(git, interfaces) {
120
+ const spinner = new cli_ui_1.Spinner(`Loading ${interfaces.length} interfaces from interfaces repository`);
121
+ await spinner.start();
122
+ try {
123
+ const folderPath = await loadGit(git);
124
+ const sparseCheckoutPaths = interfaces.map((interface_) => `interfaces/${interface_}/interface.json`).join(' ');
125
+ await (0, command_1.ExecuteCMD)(`git sparse-checkout add ${sparseCheckoutPaths} --skip-checks`, { cwd: folderPath });
126
+ const interfacesInfo = {};
127
+ let loadedCount = 0;
128
+ for (const interface_ of interfaces) {
129
+ await spinner.update(`Loading interface ${interface_} (${++loadedCount}/${interfaces.length})`);
130
+ const interfaceInfo = await getInterfaceInfo(folderPath, interface_);
131
+ if (interfaceInfo) {
132
+ interfacesInfo[interface_] = interfaceInfo;
133
+ }
134
+ }
135
+ await spinner.succeed(`Loaded ${Object.keys(interfacesInfo).length} interfaces successfully`);
136
+ return interfacesInfo;
137
+ }
138
+ catch (error) {
139
+ await spinner.fail(`Failed to load interfaces: ${error.message}`);
140
+ throw error;
141
+ }
142
+ }
143
+ async function installInterface(module, interfaceInfo, version) {
144
+ const spinner = new cli_ui_1.Spinner(`Installing interface ${interfaceInfo.name}@${version}`);
145
+ await spinner.start();
146
+ try {
147
+ const interfacePathBase = `interfaces/${interfaceInfo.name}`;
148
+ const checkoutPaths = [`${interfacePathBase}/${version}`, `${interfacePathBase}/${version}.d.ts`].join(' ');
149
+ await (0, command_1.ExecuteCMD)(`git sparse-checkout add ${checkoutPaths} --skip-checks`, {
150
+ cwd: interfaceInfo.gitPath,
151
+ });
152
+ const antelopePath = path_1.default.join(module, '.antelope');
153
+ const interfacesPath = path_1.default.join(antelopePath, 'interfaces.d');
154
+ const interfacePath = path_1.default.join(interfacesPath, interfaceInfo.name, version);
155
+ if (!(await (0, promises_1.stat)(interfacePath).catch(() => false))) {
156
+ (0, fs_1.mkdirSync)(interfacePath, { recursive: true });
157
+ }
158
+ (0, fs_1.cpSync)(path_1.default.join(interfaceInfo.folderPath, version), interfacePath, { recursive: true });
159
+ await spinner.succeed(`Interface ${interfaceInfo.name}@${version} installed successfully`);
160
+ }
161
+ catch (error) {
162
+ await spinner.fail(`Failed to install interface: ${error.message}`);
163
+ throw error;
164
+ }
165
+ }
166
+ function removeInterface(module, name, version) {
167
+ const antelopePath = path_1.default.join(module, '.antelope');
168
+ const interfacesPath = path_1.default.join(antelopePath, 'interfaces.d');
169
+ const interfaceRootPath = path_1.default.join(interfacesPath, name);
170
+ const interfacePath = path_1.default.join(interfaceRootPath, version);
171
+ (0, fs_1.rmSync)(interfacePath, { recursive: true });
172
+ if ((0, fs_1.readdirSync)(interfaceRootPath).length <= 0) {
173
+ (0, fs_1.rmSync)(interfaceRootPath, { recursive: true });
174
+ }
175
+ if ((0, fs_1.readdirSync)(interfacesPath).length <= 0) {
176
+ (0, fs_1.rmSync)(interfacesPath, { recursive: true });
177
+ }
178
+ if ((0, fs_1.readdirSync)(antelopePath).length <= 0) {
179
+ (0, fs_1.rmSync)(antelopePath, { recursive: true });
180
+ }
181
+ }
182
+ async function loadManifestFromGit(git) {
183
+ const spinner = new cli_ui_1.Spinner(`Loading manifest from ${git}`);
184
+ await spinner.start();
185
+ try {
186
+ const folderPath = await loadGit(git);
187
+ const manifestPath = path_1.default.join(folderPath, 'manifest.json');
188
+ const manifest = JSON.parse(fs_1.default.readFileSync(manifestPath, 'utf8'));
189
+ await spinner.succeed(`Manifest loaded successfully`);
190
+ return manifest;
191
+ }
192
+ catch (error) {
193
+ await spinner.fail(`Failed to load manifest: ${error.message}`);
194
+ throw error;
195
+ }
196
+ }
197
+ async function copyTemplate(git, template, distPath, variables) {
198
+ const spinner = new cli_ui_1.Spinner(`Copying template ${template.name}`);
199
+ await spinner.start();
200
+ try {
201
+ const folderPath = await loadGit(git);
202
+ await spinner.update(`Setting up template files`);
203
+ await (0, command_1.ExecuteCMD)(`git sparse-checkout add ${template.files.map((file) => file.src).join(' ')} --skip-checks`, {
204
+ cwd: folderPath,
205
+ });
206
+ await (0, promises_1.mkdir)(distPath, { recursive: true });
207
+ let fileCount = 0;
208
+ const totalFiles = template.files.length;
209
+ for (const file of template.files) {
210
+ await spinner.update(`Processing file ${++fileCount}/${totalFiles}: ${file.dest}`);
211
+ const srcFilePath = path_1.default.join(folderPath, file.src);
212
+ const destFilePath = path_1.default.join(distPath, file.dest);
213
+ let content = await (0, promises_1.readFile)(srcFilePath, { encoding: 'utf8' });
214
+ for (const variable in variables) {
215
+ content = content.replace(new RegExp(`{{${variable}}}`, 'g'), variables[variable]);
216
+ }
217
+ await (0, promises_1.mkdir)(path_1.default.dirname(destFilePath), { recursive: true });
218
+ await (0, promises_1.writeFile)(destFilePath, content);
219
+ }
220
+ await spinner.succeed(`Template ${template.name} applied successfully`);
221
+ }
222
+ catch (error) {
223
+ await spinner.fail(`Failed to copy template: ${error.message}`);
224
+ throw error;
225
+ }
226
+ }
227
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const commander_1 = require("commander");
9
+ const fs_1 = require("fs");
10
+ const path_1 = require("path");
11
+ const project_1 = __importDefault(require("./project"));
12
+ const module_1 = __importDefault(require("./module"));
13
+ const config_1 = __importDefault(require("./config"));
14
+ const cli_ui_1 = require("../utils/cli-ui");
15
+ const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../../package.json'), 'utf8'));
16
+ const version = packageJson.version;
17
+ const runCLI = async () => {
18
+ if (process.argv.length <= 2) {
19
+ console.clear();
20
+ (0, cli_ui_1.displayBanner)('AntelopeJS');
21
+ await (0, cli_ui_1.sleep)(500);
22
+ }
23
+ const program = new commander_1.Command()
24
+ .name('ajs')
25
+ .description(chalk_1.default.bold ` AntelopeJS CLI v${version} \n` +
26
+ `Create modular Node.js applications with a clean interface-based architecture.\n\n` +
27
+ chalk_1.default.yellow `Commands:\n` +
28
+ ` project Create and manage AntelopeJS projects\n` +
29
+ ` module Work with individual modules and their interfaces\n` +
30
+ ` config Configure CLI settings\n\n` +
31
+ chalk_1.default.yellow `Examples:\n` +
32
+ ` $ ajs project init my-app Create a new project\n` +
33
+ ` $ ajs module init my-module Create a new module\n` +
34
+ ` $ ajs project run --watch Run with auto-reload`)
35
+ .version(version, '-v, --version', 'Display CLI version number')
36
+ .addCommand((0, project_1.default)())
37
+ .addCommand((0, module_1.default)())
38
+ .addCommand((0, config_1.default)())
39
+ .helpCommand('help [command]', `Display help for command`);
40
+ await program.parseAsync();
41
+ };
42
+ runCLI();
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA0B;AAC1B,yCAAoC;AACpC,2BAAkC;AAClC,+BAA4B;AAE5B,wDAAmC;AACnC,sDAAiC;AACjC,sDAAiC;AACjC,4CAAuD;AAGvD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5F,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAGpC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IAExB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAA,sBAAa,EAAC,YAAY,CAAC,CAAC;QAE5B,MAAM,IAAA,cAAK,EAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE;SAC1B,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CACV,eAAK,CAAC,IAAI,CAAA,oBAAoB,OAAO,KAAK;QACxC,oFAAoF;QACpF,eAAK,CAAC,MAAM,CAAA,aAAa;QACzB,sDAAsD;QACtD,kEAAkE;QAClE,yCAAyC;QACzC,eAAK,CAAC,MAAM,CAAA,aAAa;QACzB,4DAA4D;QAC5D,2DAA2D;QAC3D,0DAA0D,CAC7D;SACA,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC;SAC/D,UAAU,CAAC,IAAA,iBAAU,GAAE,CAAC;SACxB,UAAU,CAAC,IAAA,gBAAS,GAAE,CAAC;SACvB,UAAU,CAAC,IAAA,gBAAS,GAAE,CAAC;SACvB,WAAW,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;IAG7D,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC,CAAC;AAGF,MAAM,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export default function (): Command;
@@ -0,0 +1,71 @@
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.default = default_1;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const commander_1 = require("commander");
9
+ const path_1 = __importDefault(require("path"));
10
+ const common_1 = require("../../common");
11
+ const command_1 = require("../../../utils/command");
12
+ const cli_ui_1 = require("../../../utils/cli-ui");
13
+ function default_1() {
14
+ return new commander_1.Command('generate')
15
+ .description(`Generate module exports definition\n` + `Creates TypeScript definition files for your module's exports.`)
16
+ .addOption(common_1.Options.module)
17
+ .action(async (options) => {
18
+ console.log('');
19
+ const manifest = await (0, common_1.readModuleManifest)(options.module);
20
+ if (!manifest) {
21
+ (0, cli_ui_1.error)(`No package.json found in ${chalk_1.default.bold(options.module)}`);
22
+ return;
23
+ }
24
+ if (!manifest.antelopeJs?.exportsPath) {
25
+ (0, cli_ui_1.error)(`Exports path not configured in ${chalk_1.default.bold(options.module)}`);
26
+ (0, cli_ui_1.warning)(`Please set the exports path using: ${chalk_1.default.cyan('ajs module exports set <path>')}`);
27
+ return;
28
+ }
29
+ const exportPath = manifest.antelopeJs.exportsPath;
30
+ const sourcePath = path_1.default.resolve(options.module, exportPath);
31
+ const outputPath = path_1.default.resolve(options.module, 'dist_interfaces');
32
+ (0, cli_ui_1.info)(`Generating TypeScript declarations for ${chalk_1.default.cyan(exportPath)}`);
33
+ (0, cli_ui_1.info)(`Source directory: ${chalk_1.default.cyan(sourcePath)}`);
34
+ (0, cli_ui_1.info)(`Output directory: ${chalk_1.default.cyan(outputPath)}`);
35
+ const spinner = new cli_ui_1.Spinner('Running TypeScript compiler');
36
+ await spinner.start();
37
+ try {
38
+ const tscCommand = [
39
+ 'npx tsc',
40
+ '--emitDeclarationOnly',
41
+ '-d',
42
+ '--stripInternal',
43
+ `--outDir ${outputPath}`,
44
+ '--removeComments false',
45
+ `${sourcePath}/**/*.ts`,
46
+ ].join(' ');
47
+ const [_, err] = await (0, command_1.ExecuteCMD)(tscCommand, { cwd: options.module });
48
+ if (err) {
49
+ await spinner.fail('Failed to generate declarations');
50
+ (0, cli_ui_1.error)(err);
51
+ return;
52
+ }
53
+ await spinner.succeed('TypeScript declarations generated successfully');
54
+ await (0, cli_ui_1.displayBox)(`Module exports have been generated at ${chalk_1.default.green(exportPath)}\n\n` +
55
+ `These definition files can now be imported by other modules.`, '🎉 Exports Generated', {
56
+ padding: 1,
57
+ borderColor: 'green',
58
+ });
59
+ }
60
+ catch (err) {
61
+ await spinner.fail('Failed to generate declarations');
62
+ (0, cli_ui_1.error)(`${err}`);
63
+ await (0, cli_ui_1.displayBox)(`Error running TypeScript compiler.\n\n` +
64
+ `Ensure TypeScript is installed and your tsconfig.json is properly configured.`, '❌ Generation Failed', {
65
+ padding: 1,
66
+ borderColor: 'red',
67
+ });
68
+ }
69
+ });
70
+ }
71
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../src/cli/module/exports/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export default function (): Command;
@@ -0,0 +1,16 @@
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.default = default_1;
7
+ const commander_1 = require("commander");
8
+ const set_1 = __importDefault(require("./set"));
9
+ const generate_1 = __importDefault(require("./generate"));
10
+ function default_1() {
11
+ return new commander_1.Command('exports')
12
+ .description(`Manage module exports\n` + `Configure which interfaces your module provides to other modules.`)
13
+ .addCommand((0, set_1.default)())
14
+ .addCommand((0, generate_1.default)());
15
+ }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/module/exports/index.ts"],"names":[],"mappings":";;;;;AAKA,4BAKC;AAVD,yCAAoC;AAEpC,gDAA2B;AAC3B,0DAAqC;AAErC;IACE,OAAO,IAAI,mBAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,yBAAyB,GAAG,mEAAmE,CAAC;SAC5G,UAAU,CAAC,IAAA,aAAM,GAAE,CAAC;SACpB,UAAU,CAAC,IAAA,kBAAW,GAAE,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export default function (): Command;
@@ -0,0 +1,43 @@
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.default = default_1;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const commander_1 = require("commander");
9
+ const common_1 = require("../../common");
10
+ const cli_ui_1 = require("../../../utils/cli-ui");
11
+ function default_1() {
12
+ return new commander_1.Command('set')
13
+ .description(`Set module exports path\n` + `Specifies which directory contains the interfaces your module offers to others.`)
14
+ .addOption(common_1.Options.module)
15
+ .argument('<path>', "Path to your module's interface exports")
16
+ .action(async (path, options) => {
17
+ console.log('');
18
+ const manifest = await (0, common_1.readModuleManifest)(options.module);
19
+ if (!manifest) {
20
+ (0, cli_ui_1.error)(`No package.json found in ${chalk_1.default.bold(options.module)}`);
21
+ return;
22
+ }
23
+ if (!manifest.antelopeJs) {
24
+ manifest.antelopeJs = {
25
+ imports: [],
26
+ importsOptional: [],
27
+ };
28
+ }
29
+ const oldPath = manifest.antelopeJs.exportsPath || '(not set)';
30
+ manifest.antelopeJs.exportsPath = path;
31
+ await (0, common_1.writeModuleManifest)(options.module, manifest);
32
+ (0, cli_ui_1.success)(`Exports path updated successfully`);
33
+ await (0, cli_ui_1.displayBox)((0, cli_ui_1.keyValue)('Module', chalk_1.default.cyan(options.module)) +
34
+ '\n' +
35
+ (0, cli_ui_1.keyValue)('Previous Path', chalk_1.default.dim(oldPath)) +
36
+ '\n' +
37
+ (0, cli_ui_1.keyValue)('New Path', chalk_1.default.green(path)), '🔄 Module Exports Updated', {
38
+ padding: 1,
39
+ borderColor: 'blue',
40
+ });
41
+ });
42
+ }
43
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/cli/module/exports/set.ts"],"names":[],"mappings":";;;;;AASA,4BA0CC;AAnDD,kDAA0B;AAC1B,yCAAoC;AACpC,yCAAgF;AAChF,kDAA6E;AAM7E;IACE,OAAO,IAAI,mBAAO,CAAC,KAAK,CAAC;SACtB,WAAW,CACV,2BAA2B,GAAG,iFAAiF,CAChH;SACA,SAAS,CAAC,gBAAO,CAAC,MAAM,CAAC;SACzB,QAAQ,CAAC,QAAQ,EAAE,yCAAyC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAmB,EAAE,EAAE;QAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAkB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAA,cAAK,EAAC,4BAA4B,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzB,QAAQ,CAAC,UAAU,GAAG;gBACpB,OAAO,EAAE,EAAE;gBACX,eAAe,EAAE,EAAE;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,IAAI,WAAW,CAAC;QAC/D,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;QACvC,MAAM,IAAA,4BAAmB,EAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEpD,IAAA,gBAAO,EAAC,mCAAmC,CAAC,CAAC;QAE7C,MAAM,IAAA,mBAAU,EACd,IAAA,iBAAQ,EAAC,QAAQ,EAAE,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI;YACJ,IAAA,iBAAQ,EAAC,eAAe,EAAE,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI;YACJ,IAAA,iBAAQ,EAAC,UAAU,EAAE,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EACzC,2BAA2B,EAC3B;YACE,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,MAAM;SACpB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Command } from 'commander';
2
+ interface AddOptions {
3
+ git?: string;
4
+ module: string;
5
+ optionnal: boolean;
6
+ }
7
+ export declare function moduleImportAddCommand(interfaces: string[], options: AddOptions): Promise<void>;
8
+ export default function (): Command;
9
+ export {};
@@ -0,0 +1,98 @@
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.moduleImportAddCommand = moduleImportAddCommand;
7
+ exports.default = default_1;
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const commander_1 = require("commander");
10
+ const common_1 = require("../../common");
11
+ const git_1 = require("../../git");
12
+ const manifest_1 = require("../../../common/manifest");
13
+ const semver_1 = __importDefault(require("semver"));
14
+ const cli_ui_1 = require("../../../utils/cli-ui");
15
+ async function moduleImportAddCommand(interfaces, options) {
16
+ const userConfig = await (0, common_1.readUserConfig)();
17
+ const git = options.git || userConfig.git;
18
+ const moduleManifest = await (0, common_1.readModuleManifest)(options.module);
19
+ if (!moduleManifest) {
20
+ (0, cli_ui_1.error)(chalk_1.default.red `No package.json found in ${options.module}`);
21
+ (0, cli_ui_1.info)(`Make sure you're in a valid AntelopeJS module directory.`);
22
+ return;
23
+ }
24
+ if (!moduleManifest.antelopeJs) {
25
+ moduleManifest.antelopeJs = {
26
+ imports: [],
27
+ importsOptional: [],
28
+ };
29
+ }
30
+ if (!moduleManifest.antelopeJs.imports) {
31
+ moduleManifest.antelopeJs.imports = [];
32
+ }
33
+ if (!moduleManifest.antelopeJs.importsOptional) {
34
+ moduleManifest.antelopeJs.importsOptional = [];
35
+ }
36
+ const added = [];
37
+ const skipped = [];
38
+ for (const interfaceArg of interfaces) {
39
+ (0, cli_ui_1.info)(chalk_1.default.blue `Processing interface: ${interfaceArg}`);
40
+ const [interfaceName, interfaceVersion] = interfaceArg.split('@');
41
+ if (!interfaceName) {
42
+ (0, cli_ui_1.error)(chalk_1.default.red `Invalid interface format: ${interfaceArg}`);
43
+ (0, cli_ui_1.info)(`Use format 'interface@version', e.g., 'database@1'`);
44
+ continue;
45
+ }
46
+ const interfaceInfo = await (0, git_1.loadInterfaceFromGit)(git, interfaceName);
47
+ if (!interfaceInfo) {
48
+ (0, cli_ui_1.error)(chalk_1.default.red `Interface ${interfaceName} not found in repository`);
49
+ skipped.push(interfaceArg);
50
+ continue;
51
+ }
52
+ let version = interfaceVersion;
53
+ if (!version) {
54
+ version = interfaceInfo.manifest.versions.sort(semver_1.default.rcompare)[0];
55
+ (0, cli_ui_1.info)(`No version specified, using latest: ${chalk_1.default.bold(version)}`);
56
+ }
57
+ else if (!interfaceInfo.manifest.versions.includes(version)) {
58
+ (0, cli_ui_1.error)(chalk_1.default.red `Version ${version} not found for interface ${interfaceName}`);
59
+ (0, cli_ui_1.info)(`Available versions: ${interfaceInfo.manifest.versions.map((v) => v).join(', ')}`);
60
+ skipped.push(interfaceArg);
61
+ continue;
62
+ }
63
+ const importArray = options.optionnal
64
+ ? moduleManifest.antelopeJs.importsOptional
65
+ : moduleManifest.antelopeJs.imports;
66
+ const importName = `${interfaceName}@${version}`;
67
+ const alreadyExists = importArray.some((imp) => (0, manifest_1.mapModuleImport)(imp) === importName);
68
+ if (alreadyExists) {
69
+ (0, cli_ui_1.warning)(chalk_1.default.yellow `Interface ${importName} already imported, skipping`);
70
+ skipped.push(interfaceArg);
71
+ continue;
72
+ }
73
+ const importObj = options.git ? { name: importName, git: options.git } : importName;
74
+ importArray.push(importObj);
75
+ added.push({ name: interfaceName, version });
76
+ await (0, git_1.installInterface)(options.module, interfaceInfo, version);
77
+ }
78
+ await (0, common_1.writeModuleManifest)(options.module, moduleManifest);
79
+ if (added.length > 0) {
80
+ (0, cli_ui_1.success)(chalk_1.default.green `Successfully added ${added.length} interface(s):`);
81
+ for (const imp of added) {
82
+ (0, cli_ui_1.info)(` • ${chalk_1.default.bold(imp.name)}@${imp.version}`);
83
+ }
84
+ }
85
+ if (skipped.length > 0) {
86
+ (0, cli_ui_1.warning)(chalk_1.default.yellow `Skipped ${skipped.length} interface(s): ${skipped.join(', ')}`);
87
+ }
88
+ }
89
+ function default_1() {
90
+ return new commander_1.Command('add')
91
+ .description(`Add interfaces to your module\n` + `Imports interfaces from other modules that your module will use.`)
92
+ .addOption(common_1.Options.module)
93
+ .addOption(common_1.Options.git)
94
+ .addOption(new commander_1.Option('-o, --optionnal', 'Mark imports as optional').default(false))
95
+ .argument('<interfaces...>', 'Interfaces to add (format: interface@version)')
96
+ .action(moduleImportAddCommand);
97
+ }
98
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../../src/cli/module/imports/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export default function (): Command;
@@ -0,0 +1,20 @@
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.default = default_1;
7
+ const commander_1 = require("commander");
8
+ const add_1 = __importDefault(require("./add"));
9
+ const remove_1 = __importDefault(require("./remove"));
10
+ const update_1 = __importDefault(require("./update"));
11
+ const list_1 = __importDefault(require("./list"));
12
+ function default_1() {
13
+ return new commander_1.Command('imports')
14
+ .description(`Manage module imports\n` + `Add, remove, or update interfaces that your module uses from other modules.`)
15
+ .addCommand((0, list_1.default)())
16
+ .addCommand((0, add_1.default)())
17
+ .addCommand((0, remove_1.default)())
18
+ .addCommand((0, update_1.default)());
19
+ }
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/module/imports/index.ts"],"names":[],"mappings":";;;;;AAOA,4BASC;AAhBD,yCAAoC;AAEpC,gDAA2B;AAC3B,sDAAiC;AACjC,sDAAiC;AACjC,kDAA6B;AAE7B;IACE,OAAO,IAAI,mBAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CACV,yBAAyB,GAAG,6EAA6E,CAC1G;SACA,UAAU,CAAC,IAAA,cAAO,GAAE,CAAC;SACrB,UAAU,CAAC,IAAA,aAAM,GAAE,CAAC;SACpB,UAAU,CAAC,IAAA,gBAAS,GAAE,CAAC;SACvB,UAAU,CAAC,IAAA,gBAAS,GAAE,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export default function (): Command;