@cicore/cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/bin/ci.js +13 -0
  2. package/dist/commands/addon/api-actions.d.ts +45 -0
  3. package/dist/commands/addon/api-actions.d.ts.map +1 -0
  4. package/dist/commands/addon/api-actions.js +281 -0
  5. package/dist/commands/addon/api-actions.js.map +1 -0
  6. package/dist/commands/addon/build.d.ts +11 -0
  7. package/dist/commands/addon/build.d.ts.map +1 -0
  8. package/dist/commands/addon/build.js +182 -0
  9. package/dist/commands/addon/build.js.map +1 -0
  10. package/dist/commands/addon/create.d.ts +11 -0
  11. package/dist/commands/addon/create.d.ts.map +1 -0
  12. package/dist/commands/addon/create.js +1186 -0
  13. package/dist/commands/addon/create.js.map +1 -0
  14. package/dist/commands/addon/delete.d.ts +13 -0
  15. package/dist/commands/addon/delete.d.ts.map +1 -0
  16. package/dist/commands/addon/delete.js +83 -0
  17. package/dist/commands/addon/delete.js.map +1 -0
  18. package/dist/commands/addon/deploy.d.ts +27 -0
  19. package/dist/commands/addon/deploy.d.ts.map +1 -0
  20. package/dist/commands/addon/deploy.js +459 -0
  21. package/dist/commands/addon/deploy.js.map +1 -0
  22. package/dist/commands/addon/dev-deploy.d.ts +31 -0
  23. package/dist/commands/addon/dev-deploy.d.ts.map +1 -0
  24. package/dist/commands/addon/dev-deploy.js +128 -0
  25. package/dist/commands/addon/dev-deploy.js.map +1 -0
  26. package/dist/commands/addon/dev.d.ts +36 -0
  27. package/dist/commands/addon/dev.d.ts.map +1 -0
  28. package/dist/commands/addon/dev.js +323 -0
  29. package/dist/commands/addon/dev.js.map +1 -0
  30. package/dist/commands/addon/extract-classes.d.ts +23 -0
  31. package/dist/commands/addon/extract-classes.d.ts.map +1 -0
  32. package/dist/commands/addon/extract-classes.js +281 -0
  33. package/dist/commands/addon/extract-classes.js.map +1 -0
  34. package/dist/commands/addon/generate-safelist.d.ts +24 -0
  35. package/dist/commands/addon/generate-safelist.d.ts.map +1 -0
  36. package/dist/commands/addon/generate-safelist.js +276 -0
  37. package/dist/commands/addon/generate-safelist.js.map +1 -0
  38. package/dist/commands/addon/index.d.ts +19 -0
  39. package/dist/commands/addon/index.d.ts.map +1 -0
  40. package/dist/commands/addon/index.js +296 -0
  41. package/dist/commands/addon/index.js.map +1 -0
  42. package/dist/commands/addon/init-repo.d.ts +25 -0
  43. package/dist/commands/addon/init-repo.d.ts.map +1 -0
  44. package/dist/commands/addon/init-repo.js +171 -0
  45. package/dist/commands/addon/init-repo.js.map +1 -0
  46. package/dist/commands/addon/install.d.ts +23 -0
  47. package/dist/commands/addon/install.d.ts.map +1 -0
  48. package/dist/commands/addon/install.js +84 -0
  49. package/dist/commands/addon/install.js.map +1 -0
  50. package/dist/commands/addon/list.d.ts +10 -0
  51. package/dist/commands/addon/list.d.ts.map +1 -0
  52. package/dist/commands/addon/list.js +102 -0
  53. package/dist/commands/addon/list.js.map +1 -0
  54. package/dist/commands/addon/manifest-refresh.d.ts +17 -0
  55. package/dist/commands/addon/manifest-refresh.d.ts.map +1 -0
  56. package/dist/commands/addon/manifest-refresh.js +48 -0
  57. package/dist/commands/addon/manifest-refresh.js.map +1 -0
  58. package/dist/commands/addon/migrate.d.ts +40 -0
  59. package/dist/commands/addon/migrate.d.ts.map +1 -0
  60. package/dist/commands/addon/migrate.js +236 -0
  61. package/dist/commands/addon/migrate.js.map +1 -0
  62. package/dist/commands/addon/publish.d.ts +33 -0
  63. package/dist/commands/addon/publish.d.ts.map +1 -0
  64. package/dist/commands/addon/publish.js +236 -0
  65. package/dist/commands/addon/publish.js.map +1 -0
  66. package/dist/commands/addon/scaffold-quality.d.ts +21 -0
  67. package/dist/commands/addon/scaffold-quality.d.ts.map +1 -0
  68. package/dist/commands/addon/scaffold-quality.js +90 -0
  69. package/dist/commands/addon/scaffold-quality.js.map +1 -0
  70. package/dist/commands/addon/sign.d.ts +9 -0
  71. package/dist/commands/addon/sign.d.ts.map +1 -0
  72. package/dist/commands/addon/sign.js +83 -0
  73. package/dist/commands/addon/sign.js.map +1 -0
  74. package/dist/commands/addon/toggle.d.ts +6 -0
  75. package/dist/commands/addon/toggle.d.ts.map +1 -0
  76. package/dist/commands/addon/toggle.js +46 -0
  77. package/dist/commands/addon/toggle.js.map +1 -0
  78. package/dist/commands/agent/index.d.ts +34 -0
  79. package/dist/commands/agent/index.d.ts.map +1 -0
  80. package/dist/commands/agent/index.js +564 -0
  81. package/dist/commands/agent/index.js.map +1 -0
  82. package/dist/commands/brand/index.d.ts +54 -0
  83. package/dist/commands/brand/index.d.ts.map +1 -0
  84. package/dist/commands/brand/index.js +367 -0
  85. package/dist/commands/brand/index.js.map +1 -0
  86. package/dist/commands/build/index.d.ts +53 -0
  87. package/dist/commands/build/index.d.ts.map +1 -0
  88. package/dist/commands/build/index.js +726 -0
  89. package/dist/commands/build/index.js.map +1 -0
  90. package/dist/commands/cache/flush-local.d.ts +31 -0
  91. package/dist/commands/cache/flush-local.d.ts.map +1 -0
  92. package/dist/commands/cache/flush-local.js +161 -0
  93. package/dist/commands/cache/flush-local.js.map +1 -0
  94. package/dist/commands/cache/index.d.ts +14 -0
  95. package/dist/commands/cache/index.d.ts.map +1 -0
  96. package/dist/commands/cache/index.js +453 -0
  97. package/dist/commands/cache/index.js.map +1 -0
  98. package/dist/commands/check/index.d.ts +8 -0
  99. package/dist/commands/check/index.d.ts.map +1 -0
  100. package/dist/commands/check/index.js +1316 -0
  101. package/dist/commands/check/index.js.map +1 -0
  102. package/dist/commands/cloudflare/index.d.ts +8 -0
  103. package/dist/commands/cloudflare/index.d.ts.map +1 -0
  104. package/dist/commands/cloudflare/index.js +453 -0
  105. package/dist/commands/cloudflare/index.js.map +1 -0
  106. package/dist/commands/core/create.d.ts +12 -0
  107. package/dist/commands/core/create.d.ts.map +1 -0
  108. package/dist/commands/core/create.js +206 -0
  109. package/dist/commands/core/create.js.map +1 -0
  110. package/dist/commands/core/delete.d.ts +11 -0
  111. package/dist/commands/core/delete.d.ts.map +1 -0
  112. package/dist/commands/core/delete.js +64 -0
  113. package/dist/commands/core/delete.js.map +1 -0
  114. package/dist/commands/core/env.d.ts +12 -0
  115. package/dist/commands/core/env.d.ts.map +1 -0
  116. package/dist/commands/core/env.js +95 -0
  117. package/dist/commands/core/env.js.map +1 -0
  118. package/dist/commands/core/health.d.ts +6 -0
  119. package/dist/commands/core/health.d.ts.map +1 -0
  120. package/dist/commands/core/health.js +215 -0
  121. package/dist/commands/core/health.js.map +1 -0
  122. package/dist/commands/core/index.d.ts +15 -0
  123. package/dist/commands/core/index.d.ts.map +1 -0
  124. package/dist/commands/core/index.js +86 -0
  125. package/dist/commands/core/index.js.map +1 -0
  126. package/dist/commands/core/list.d.ts +11 -0
  127. package/dist/commands/core/list.d.ts.map +1 -0
  128. package/dist/commands/core/list.js +58 -0
  129. package/dist/commands/core/list.js.map +1 -0
  130. package/dist/commands/core/rebuild.d.ts +13 -0
  131. package/dist/commands/core/rebuild.d.ts.map +1 -0
  132. package/dist/commands/core/rebuild.js +119 -0
  133. package/dist/commands/core/rebuild.js.map +1 -0
  134. package/dist/commands/db/index.d.ts +23 -0
  135. package/dist/commands/db/index.d.ts.map +1 -0
  136. package/dist/commands/db/index.js +355 -0
  137. package/dist/commands/db/index.js.map +1 -0
  138. package/dist/commands/db/promote-silo.d.ts +320 -0
  139. package/dist/commands/db/promote-silo.d.ts.map +1 -0
  140. package/dist/commands/db/promote-silo.js +930 -0
  141. package/dist/commands/db/promote-silo.js.map +1 -0
  142. package/dist/commands/db/relocate.d.ts +41 -0
  143. package/dist/commands/db/relocate.d.ts.map +1 -0
  144. package/dist/commands/db/relocate.js +482 -0
  145. package/dist/commands/db/relocate.js.map +1 -0
  146. package/dist/commands/db/rollback-silo.d.ts +44 -0
  147. package/dist/commands/db/rollback-silo.d.ts.map +1 -0
  148. package/dist/commands/db/rollback-silo.js +402 -0
  149. package/dist/commands/db/rollback-silo.js.map +1 -0
  150. package/dist/commands/deploy/index.d.ts +26 -0
  151. package/dist/commands/deploy/index.d.ts.map +1 -0
  152. package/dist/commands/deploy/index.js +107 -0
  153. package/dist/commands/deploy/index.js.map +1 -0
  154. package/dist/commands/devops/index.d.ts +6 -0
  155. package/dist/commands/devops/index.d.ts.map +1 -0
  156. package/dist/commands/devops/index.js +220 -0
  157. package/dist/commands/devops/index.js.map +1 -0
  158. package/dist/commands/domain/index.d.ts +8 -0
  159. package/dist/commands/domain/index.d.ts.map +1 -0
  160. package/dist/commands/domain/index.js +386 -0
  161. package/dist/commands/domain/index.js.map +1 -0
  162. package/dist/commands/image/index.d.ts +8 -0
  163. package/dist/commands/image/index.d.ts.map +1 -0
  164. package/dist/commands/image/index.js +308 -0
  165. package/dist/commands/image/index.js.map +1 -0
  166. package/dist/commands/install/factory-reset.d.ts +21 -0
  167. package/dist/commands/install/factory-reset.d.ts.map +1 -0
  168. package/dist/commands/install/factory-reset.js +83 -0
  169. package/dist/commands/install/factory-reset.js.map +1 -0
  170. package/dist/commands/install/index.d.ts +17 -0
  171. package/dist/commands/install/index.d.ts.map +1 -0
  172. package/dist/commands/install/index.js +44 -0
  173. package/dist/commands/install/index.js.map +1 -0
  174. package/dist/commands/install/install.d.ts +35 -0
  175. package/dist/commands/install/install.d.ts.map +1 -0
  176. package/dist/commands/install/install.js +171 -0
  177. package/dist/commands/install/install.js.map +1 -0
  178. package/dist/commands/login/index.d.ts +15 -0
  179. package/dist/commands/login/index.d.ts.map +1 -0
  180. package/dist/commands/login/index.js +58 -0
  181. package/dist/commands/login/index.js.map +1 -0
  182. package/dist/commands/nginx/index.d.ts +11 -0
  183. package/dist/commands/nginx/index.d.ts.map +1 -0
  184. package/dist/commands/nginx/index.js +580 -0
  185. package/dist/commands/nginx/index.js.map +1 -0
  186. package/dist/commands/server/bootstrap.d.ts +25 -0
  187. package/dist/commands/server/bootstrap.d.ts.map +1 -0
  188. package/dist/commands/server/bootstrap.js +260 -0
  189. package/dist/commands/server/bootstrap.js.map +1 -0
  190. package/dist/commands/server/index.d.ts +8 -0
  191. package/dist/commands/server/index.d.ts.map +1 -0
  192. package/dist/commands/server/index.js +2524 -0
  193. package/dist/commands/server/index.js.map +1 -0
  194. package/dist/commands/setup/index.d.ts +34 -0
  195. package/dist/commands/setup/index.d.ts.map +1 -0
  196. package/dist/commands/setup/index.js +423 -0
  197. package/dist/commands/setup/index.js.map +1 -0
  198. package/dist/commands/ssl/index.d.ts +8 -0
  199. package/dist/commands/ssl/index.d.ts.map +1 -0
  200. package/dist/commands/ssl/index.js +275 -0
  201. package/dist/commands/ssl/index.js.map +1 -0
  202. package/dist/commands/superadmin/index.d.ts +16 -0
  203. package/dist/commands/superadmin/index.d.ts.map +1 -0
  204. package/dist/commands/superadmin/index.js +81 -0
  205. package/dist/commands/superadmin/index.js.map +1 -0
  206. package/dist/commands/tenant/index.d.ts +6 -0
  207. package/dist/commands/tenant/index.d.ts.map +1 -0
  208. package/dist/commands/tenant/index.js +192 -0
  209. package/dist/commands/tenant/index.js.map +1 -0
  210. package/dist/index.d.ts +11 -0
  211. package/dist/index.d.ts.map +1 -0
  212. package/dist/index.js +107 -0
  213. package/dist/index.js.map +1 -0
  214. package/dist/lib/addon-sign.d.ts +23 -0
  215. package/dist/lib/addon-sign.d.ts.map +1 -0
  216. package/dist/lib/addon-sign.js +39 -0
  217. package/dist/lib/addon-sign.js.map +1 -0
  218. package/dist/lib/addon-sign.test.d.ts +2 -0
  219. package/dist/lib/addon-sign.test.d.ts.map +1 -0
  220. package/dist/lib/addon-sign.test.js +27 -0
  221. package/dist/lib/addon-sign.test.js.map +1 -0
  222. package/dist/lib/cdn.d.ts +25 -0
  223. package/dist/lib/cdn.d.ts.map +1 -0
  224. package/dist/lib/cdn.js +131 -0
  225. package/dist/lib/cdn.js.map +1 -0
  226. package/dist/lib/cloudflare.d.ts +133 -0
  227. package/dist/lib/cloudflare.d.ts.map +1 -0
  228. package/dist/lib/cloudflare.js +435 -0
  229. package/dist/lib/cloudflare.js.map +1 -0
  230. package/dist/lib/config.d.ts +96 -0
  231. package/dist/lib/config.d.ts.map +1 -0
  232. package/dist/lib/config.js +132 -0
  233. package/dist/lib/config.js.map +1 -0
  234. package/dist/lib/env.d.ts +8 -0
  235. package/dist/lib/env.d.ts.map +1 -0
  236. package/dist/lib/env.js +64 -0
  237. package/dist/lib/env.js.map +1 -0
  238. package/dist/lib/hosts.d.ts +194 -0
  239. package/dist/lib/hosts.d.ts.map +1 -0
  240. package/dist/lib/hosts.js +183 -0
  241. package/dist/lib/hosts.js.map +1 -0
  242. package/dist/lib/logger.d.ts +68 -0
  243. package/dist/lib/logger.d.ts.map +1 -0
  244. package/dist/lib/logger.js +130 -0
  245. package/dist/lib/logger.js.map +1 -0
  246. package/dist/lib/nginx-config.d.ts +78 -0
  247. package/dist/lib/nginx-config.d.ts.map +1 -0
  248. package/dist/lib/nginx-config.js +736 -0
  249. package/dist/lib/nginx-config.js.map +1 -0
  250. package/dist/lib/ops/addon-dev.d.ts +93 -0
  251. package/dist/lib/ops/addon-dev.d.ts.map +1 -0
  252. package/dist/lib/ops/addon-dev.js +237 -0
  253. package/dist/lib/ops/addon-dev.js.map +1 -0
  254. package/dist/lib/ops/addon-quality.d.ts +38 -0
  255. package/dist/lib/ops/addon-quality.d.ts.map +1 -0
  256. package/dist/lib/ops/addon-quality.js +338 -0
  257. package/dist/lib/ops/addon-quality.js.map +1 -0
  258. package/dist/lib/ops/addon-routes.d.ts +49 -0
  259. package/dist/lib/ops/addon-routes.d.ts.map +1 -0
  260. package/dist/lib/ops/addon-routes.js +189 -0
  261. package/dist/lib/ops/addon-routes.js.map +1 -0
  262. package/dist/lib/ops/addon.d.ts +120 -0
  263. package/dist/lib/ops/addon.d.ts.map +1 -0
  264. package/dist/lib/ops/addon.js +260 -0
  265. package/dist/lib/ops/addon.js.map +1 -0
  266. package/dist/lib/ops/cdn.d.ts +87 -0
  267. package/dist/lib/ops/cdn.d.ts.map +1 -0
  268. package/dist/lib/ops/cdn.js +170 -0
  269. package/dist/lib/ops/cdn.js.map +1 -0
  270. package/dist/lib/ops/cf.d.ts +36 -0
  271. package/dist/lib/ops/cf.d.ts.map +1 -0
  272. package/dist/lib/ops/cf.js +114 -0
  273. package/dist/lib/ops/cf.js.map +1 -0
  274. package/dist/lib/ops/compose.d.ts +95 -0
  275. package/dist/lib/ops/compose.d.ts.map +1 -0
  276. package/dist/lib/ops/compose.js +165 -0
  277. package/dist/lib/ops/compose.js.map +1 -0
  278. package/dist/lib/ops/core.d.ts +117 -0
  279. package/dist/lib/ops/core.d.ts.map +1 -0
  280. package/dist/lib/ops/core.js +322 -0
  281. package/dist/lib/ops/core.js.map +1 -0
  282. package/dist/lib/ops/db.d.ts +116 -0
  283. package/dist/lib/ops/db.d.ts.map +1 -0
  284. package/dist/lib/ops/db.js +351 -0
  285. package/dist/lib/ops/db.js.map +1 -0
  286. package/dist/lib/ops/dns.d.ts +111 -0
  287. package/dist/lib/ops/dns.d.ts.map +1 -0
  288. package/dist/lib/ops/dns.js +306 -0
  289. package/dist/lib/ops/dns.js.map +1 -0
  290. package/dist/lib/ops/image.d.ts +94 -0
  291. package/dist/lib/ops/image.d.ts.map +1 -0
  292. package/dist/lib/ops/image.js +159 -0
  293. package/dist/lib/ops/image.js.map +1 -0
  294. package/dist/lib/ops/nginx.d.ts +114 -0
  295. package/dist/lib/ops/nginx.d.ts.map +1 -0
  296. package/dist/lib/ops/nginx.js +388 -0
  297. package/dist/lib/ops/nginx.js.map +1 -0
  298. package/dist/lib/ops/redis.d.ts +7 -0
  299. package/dist/lib/ops/redis.d.ts.map +1 -0
  300. package/dist/lib/ops/redis.js +35 -0
  301. package/dist/lib/ops/redis.js.map +1 -0
  302. package/dist/lib/ops/ssh.d.ts +127 -0
  303. package/dist/lib/ops/ssh.d.ts.map +1 -0
  304. package/dist/lib/ops/ssh.js +269 -0
  305. package/dist/lib/ops/ssh.js.map +1 -0
  306. package/dist/lib/prompts.d.ts +46 -0
  307. package/dist/lib/prompts.d.ts.map +1 -0
  308. package/dist/lib/prompts.js +113 -0
  309. package/dist/lib/prompts.js.map +1 -0
  310. package/dist/lib/sast.d.ts +43 -0
  311. package/dist/lib/sast.d.ts.map +1 -0
  312. package/dist/lib/sast.js +79 -0
  313. package/dist/lib/sast.js.map +1 -0
  314. package/dist/lib/sast.test.d.ts +2 -0
  315. package/dist/lib/sast.test.d.ts.map +1 -0
  316. package/dist/lib/sast.test.js +33 -0
  317. package/dist/lib/sast.test.js.map +1 -0
  318. package/dist/lib/shell.d.ts +61 -0
  319. package/dist/lib/shell.d.ts.map +1 -0
  320. package/dist/lib/shell.js +183 -0
  321. package/dist/lib/shell.js.map +1 -0
  322. package/dist/lib/ssh-config.d.ts +37 -0
  323. package/dist/lib/ssh-config.d.ts.map +1 -0
  324. package/dist/lib/ssh-config.js +122 -0
  325. package/dist/lib/ssh-config.js.map +1 -0
  326. package/dist/lib/tenant-scope.d.ts +38 -0
  327. package/dist/lib/tenant-scope.d.ts.map +1 -0
  328. package/dist/lib/tenant-scope.js +129 -0
  329. package/dist/lib/tenant-scope.js.map +1 -0
  330. package/dist/lib/tenant-scope.test.d.ts +2 -0
  331. package/dist/lib/tenant-scope.test.d.ts.map +1 -0
  332. package/dist/lib/tenant-scope.test.js +223 -0
  333. package/dist/lib/tenant-scope.test.js.map +1 -0
  334. package/package.json +58 -0
  335. package/templates/bootstrap/.env.template +54 -0
  336. package/templates/bootstrap/docker-compose.yml +145 -0
  337. package/templates/vhost.conf.tmpl +446 -0
package/bin/ci.js ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * CiCore CLI Entry Point
5
+ *
6
+ * Usage:
7
+ * ci <command> [options]
8
+ * ci core:create mycore
9
+ * ci addon:build MyAddon
10
+ * ci deploy:addon MyAddon core1
11
+ */
12
+
13
+ import('../dist/index.js');
@@ -0,0 +1,45 @@
1
+ /**
2
+ * CiCore CLI - Addon API Actions
3
+ *
4
+ * Run addon operations via PHP API (local or remote)
5
+ * These mirror the admin panel addon actions
6
+ */
7
+ interface ApiActionOptions {
8
+ host?: string;
9
+ core?: string;
10
+ domain?: string;
11
+ }
12
+ interface RegistryOptions {
13
+ host?: string;
14
+ domain?: string;
15
+ }
16
+ interface AutoloadOptions {
17
+ host?: string;
18
+ }
19
+ /**
20
+ * Run addon API action
21
+ * Actions: migrate, build, rebuild, reset, uninstall
22
+ */
23
+ export declare function addonApiAction(action: string, name: string, options: ApiActionOptions): Promise<void>;
24
+ /**
25
+ * Build addon registry from filesystem
26
+ */
27
+ export declare function buildRegistry(options: RegistryOptions): Promise<void>;
28
+ /**
29
+ * Run composer dump-autoload
30
+ */
31
+ export declare function dumpAutoload(options: AutoloadOptions): Promise<void>;
32
+ /**
33
+ * Clear addon caches
34
+ */
35
+ export declare function clearAddonCache(options: {
36
+ host?: string;
37
+ }): Promise<void>;
38
+ /**
39
+ * Restart Nuxt container
40
+ */
41
+ export declare function restartNuxt(options: {
42
+ host?: string;
43
+ }): Promise<void>;
44
+ export {};
45
+ //# sourceMappingURL=api-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-actions.d.ts","sourceRoot":"","sources":["../../../src/commands/addon/api-actions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAwDD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwE3G;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC3E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C1E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B/E;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC3E"}
@@ -0,0 +1,281 @@
1
+ /**
2
+ * CiCore CLI - Addon API Actions
3
+ *
4
+ * Run addon operations via PHP API (local or remote)
5
+ * These mirror the admin panel addon actions
6
+ */
7
+ import { log, spinner } from '../../lib/logger.js';
8
+ import { exec, dockerExec } from '../../lib/shell.js';
9
+ import { containers } from '../../lib/config.js';
10
+ import { getSSHHost, buildSSHCommand } from '../../lib/ssh-config.js';
11
+ // Helper to make API call
12
+ async function callApi(host, endpoint, method = 'POST', domain) {
13
+ if (host && domain) {
14
+ // Remote API call via curl
15
+ const url = `https://${domain}/api${endpoint}`;
16
+ const curlCmd = `curl -s -X ${method} "${url}" -H "Content-Type: application/json"`;
17
+ const args = buildSSHCommand(host, curlCmd);
18
+ const result = await exec('ssh', args, { silent: true });
19
+ try {
20
+ const data = JSON.parse(result.stdout);
21
+ return { success: data.status === 'success' || data.success === true, data };
22
+ }
23
+ catch {
24
+ return { success: false, data: null, error: result.stderr || result.stdout };
25
+ }
26
+ }
27
+ else if (host) {
28
+ // Remote docker exec
29
+ const phpCmd = `docker exec cicore_php php /var/www/public/index.php ${endpoint.replace('/api/', '')}`;
30
+ const args = buildSSHCommand(host, phpCmd);
31
+ const result = await exec('ssh', args, { silent: true });
32
+ try {
33
+ const data = JSON.parse(result.stdout);
34
+ return { success: data.status === 'success' || data.success === true, data };
35
+ }
36
+ catch {
37
+ return {
38
+ success: result.success,
39
+ data: { output: result.stdout.split('\n').filter(l => l.trim()) },
40
+ error: result.stderr
41
+ };
42
+ }
43
+ }
44
+ else {
45
+ // Local docker exec
46
+ const phpCmd = `php /var/www/public/index.php ${endpoint.replace('/api/', '')}`;
47
+ const result = await dockerExec(containers.php, phpCmd, { silent: true });
48
+ try {
49
+ const data = JSON.parse(result.stdout);
50
+ return { success: data.status === 'success' || data.success === true, data };
51
+ }
52
+ catch {
53
+ return {
54
+ success: result.success,
55
+ data: { output: result.stdout.split('\n').filter(l => l.trim()) },
56
+ error: result.stderr
57
+ };
58
+ }
59
+ }
60
+ }
61
+ /**
62
+ * Run addon API action
63
+ * Actions: migrate, build, rebuild, reset, uninstall
64
+ */
65
+ export async function addonApiAction(action, name, options) {
66
+ const validActions = ['migrate', 'build', 'rebuild', 'reset', 'uninstall', 'enabled'];
67
+ if (!validActions.includes(action)) {
68
+ log.error(`Invalid action: ${action}`);
69
+ log.info(`Valid actions: ${validActions.join(', ')}`);
70
+ return;
71
+ }
72
+ log.title(`Addon ${action}: ${name}`);
73
+ // Get host if specified
74
+ let host = null;
75
+ if (options.host) {
76
+ host = await getSSHHost(options.host);
77
+ if (!host) {
78
+ log.error(`SSH host '${options.host}' not found`);
79
+ return;
80
+ }
81
+ log.kv('Target', `${host.name} (${host.hostname})`);
82
+ }
83
+ else {
84
+ log.kv('Target', 'Local Docker');
85
+ }
86
+ if (options.domain) {
87
+ log.kv('API Domain', options.domain);
88
+ }
89
+ const actionSpinner = spinner(`Running ${action}...`).start();
90
+ const endpoint = `/addons/${name}/${action}`;
91
+ const result = await callApi(host, endpoint, 'POST', options.domain);
92
+ if (!result.success) {
93
+ actionSpinner.fail(`${action} failed`);
94
+ if (result.error) {
95
+ log.error(result.error);
96
+ }
97
+ if (result.data?.output) {
98
+ result.data.output.forEach((line) => {
99
+ if (line.includes('❌') || line.toLowerCase().includes('error')) {
100
+ log.error(line);
101
+ }
102
+ else {
103
+ log.info(line);
104
+ }
105
+ });
106
+ }
107
+ return;
108
+ }
109
+ actionSpinner.succeed(`${action} completed`);
110
+ // Display output
111
+ if (result.data?.output && Array.isArray(result.data.output)) {
112
+ log.blank();
113
+ result.data.output.forEach((line) => {
114
+ if (line.includes('✅') || line.toLowerCase().includes('success')) {
115
+ log.success(line);
116
+ }
117
+ else if (line.includes('❌') || line.toLowerCase().includes('error')) {
118
+ log.error(line);
119
+ }
120
+ else if (line.includes('🔄') || line.toLowerCase().includes('running')) {
121
+ log.info(line);
122
+ }
123
+ else {
124
+ log.item(line);
125
+ }
126
+ });
127
+ }
128
+ if (result.data?.message) {
129
+ log.blank();
130
+ log.info(result.data.message);
131
+ }
132
+ }
133
+ /**
134
+ * Build addon registry from filesystem
135
+ */
136
+ export async function buildRegistry(options) {
137
+ log.title('Build Addon Registry');
138
+ // Get host if specified
139
+ let host = null;
140
+ if (options.host) {
141
+ host = await getSSHHost(options.host);
142
+ if (!host) {
143
+ log.error(`SSH host '${options.host}' not found`);
144
+ return;
145
+ }
146
+ log.kv('Target', `${host.name} (${host.hostname})`);
147
+ }
148
+ else {
149
+ log.kv('Target', 'Local Docker');
150
+ }
151
+ const registrySpinner = spinner('Scanning addons directory...').start();
152
+ const endpoint = '/addons/rebuild';
153
+ const result = await callApi(host, endpoint, 'POST', options.domain);
154
+ if (!result.success) {
155
+ registrySpinner.fail('Registry build failed');
156
+ if (result.error) {
157
+ log.error(result.error);
158
+ }
159
+ return;
160
+ }
161
+ registrySpinner.succeed('Registry built');
162
+ // Display output
163
+ if (result.data?.output && Array.isArray(result.data.output)) {
164
+ log.blank();
165
+ result.data.output.forEach((line) => log.item(line));
166
+ }
167
+ log.blank();
168
+ log.success('Addon registry updated successfully');
169
+ }
170
+ /**
171
+ * Run composer dump-autoload
172
+ */
173
+ export async function dumpAutoload(options) {
174
+ log.title('Composer Dump Autoload');
175
+ // Get host if specified
176
+ let host = null;
177
+ if (options.host) {
178
+ host = await getSSHHost(options.host);
179
+ if (!host) {
180
+ log.error(`SSH host '${options.host}' not found`);
181
+ return;
182
+ }
183
+ log.kv('Target', `${host.name} (${host.hostname})`);
184
+ }
185
+ else {
186
+ log.kv('Target', 'Local Docker');
187
+ }
188
+ const autoloadSpinner = spinner('Running composer dump-autoload...').start();
189
+ // Run composer command directly
190
+ let result;
191
+ if (host) {
192
+ const cmd = 'docker exec cicore_php composer dump-autoload -o';
193
+ const args = buildSSHCommand(host, cmd);
194
+ result = await exec('ssh', args, { silent: true });
195
+ }
196
+ else {
197
+ result = await dockerExec(containers.php, 'composer dump-autoload -o', { silent: true });
198
+ }
199
+ if (!result.success) {
200
+ autoloadSpinner.fail('Dump autoload failed');
201
+ log.error(result.stderr || result.stdout);
202
+ return;
203
+ }
204
+ autoloadSpinner.succeed('Autoload dumped');
205
+ // Display output
206
+ const lines = result.stdout.split('\n').filter(l => l.trim());
207
+ if (lines.length > 0) {
208
+ log.blank();
209
+ lines.forEach(line => log.item(line));
210
+ }
211
+ log.blank();
212
+ log.success('Composer autoloader updated');
213
+ }
214
+ /**
215
+ * Clear addon caches
216
+ */
217
+ export async function clearAddonCache(options) {
218
+ log.title('Clear Addon Cache');
219
+ // Get host if specified
220
+ let host = null;
221
+ if (options.host) {
222
+ host = await getSSHHost(options.host);
223
+ if (!host) {
224
+ log.error(`SSH host '${options.host}' not found`);
225
+ return;
226
+ }
227
+ log.kv('Target', `${host.name} (${host.hostname})`);
228
+ }
229
+ else {
230
+ log.kv('Target', 'Local Docker');
231
+ }
232
+ const cacheSpinner = spinner('Clearing addon caches...').start();
233
+ const endpoint = '/addons/cache/clear';
234
+ const result = await callApi(host, endpoint, 'POST');
235
+ if (!result.success) {
236
+ cacheSpinner.fail('Cache clear failed');
237
+ if (result.error) {
238
+ log.error(result.error);
239
+ }
240
+ return;
241
+ }
242
+ cacheSpinner.succeed('Caches cleared');
243
+ log.success('All addon caches cleared');
244
+ }
245
+ /**
246
+ * Restart Nuxt container
247
+ */
248
+ export async function restartNuxt(options) {
249
+ log.title('Restart Nuxt Container');
250
+ // Get host if specified
251
+ let host = null;
252
+ if (options.host) {
253
+ host = await getSSHHost(options.host);
254
+ if (!host) {
255
+ log.error(`SSH host '${options.host}' not found`);
256
+ return;
257
+ }
258
+ log.kv('Target', `${host.name} (${host.hostname})`);
259
+ }
260
+ else {
261
+ log.kv('Target', 'Local Docker');
262
+ }
263
+ const restartSpinner = spinner('Restarting Nuxt container...').start();
264
+ let result;
265
+ if (host) {
266
+ const cmd = 'docker restart cicore_nuxt';
267
+ const args = buildSSHCommand(host, cmd);
268
+ result = await exec('ssh', args, { silent: true });
269
+ }
270
+ else {
271
+ result = await exec('docker', ['restart', containers.nuxt], { silent: true });
272
+ }
273
+ if (!result.success) {
274
+ restartSpinner.fail('Restart failed');
275
+ log.error(result.stderr || result.stdout);
276
+ return;
277
+ }
278
+ restartSpinner.succeed('Nuxt restarted');
279
+ log.info('Frontend server restarted. Wait a few seconds for it to be ready.');
280
+ }
281
+ //# sourceMappingURL=api-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-actions.js","sourceRoot":"","sources":["../../../src/commands/addon/api-actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * vu addon:build <name>
3
+ */
4
+ interface BuildOptions {
5
+ core?: string;
6
+ watch?: boolean;
7
+ cdn?: boolean;
8
+ }
9
+ export declare function buildAddon(name: string, options: BuildOptions): Promise<void>;
10
+ export {};
11
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/addon/build.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnF"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * vu addon:build <name>
3
+ */
4
+ import { log, spinner } from '../../lib/logger.js';
5
+ import { ssh, exec } from '../../lib/shell.js';
6
+ import { getEnv, paths } from '../../lib/config.js';
7
+ import { writeFile } from 'node:fs/promises';
8
+ import { join as pathJoin } from 'node:path';
9
+ import { existsSync, readdirSync, statSync, copyFileSync } from 'node:fs';
10
+ export async function buildAddon(name, options) {
11
+ const env = getEnv();
12
+ const core = options.core || 'core1';
13
+ log.title(`Build Addon: ${name}`);
14
+ log.kv('Environment', env);
15
+ log.kv('Target Core', core);
16
+ log.blank();
17
+ if (env === 'dev') {
18
+ await buildLocal(name, options);
19
+ }
20
+ else {
21
+ await buildServer(name, core, options);
22
+ }
23
+ }
24
+ async function buildLocal(name, options) {
25
+ const addonPath = `${paths.dev.addons}/${name}`;
26
+ // Check if addon exists (cross-platform)
27
+ const checkSpinner = spinner('Checking addon...').start();
28
+ const fs = await import('fs');
29
+ if (!fs.existsSync(addonPath)) {
30
+ checkSpinner.fail(`Addon "${name}" not found at ${addonPath}`);
31
+ return;
32
+ }
33
+ checkSpinner.succeed('Addon found');
34
+ // npm install (package.json varsa vite bağımlılıklarını kur)
35
+ const fs2 = await import('fs');
36
+ if (fs2.existsSync(`${addonPath}/package.json`) && !fs2.existsSync(`${addonPath}/node_modules/.bin/vite`)) {
37
+ const installSpinner = spinner('Installing vite dependencies (npm install)...').start();
38
+ const installResult = await exec('npm', ['install', '--prefer-offline'], {
39
+ cwd: addonPath,
40
+ silent: true,
41
+ });
42
+ if (!installResult.success) {
43
+ installSpinner.fail('npm install failed');
44
+ log.error(installResult.stderr);
45
+ return;
46
+ }
47
+ installSpinner.succeed('Dependencies installed');
48
+ }
49
+ // Build with Vite
50
+ const buildSpinner = spinner('Building addon UI...').start();
51
+ // Yerel node_modules/.bin/vite tercih et, yoksa npx fallback
52
+ const viteBin = fs2.existsSync(`${addonPath}/node_modules/.bin/vite`)
53
+ ? `${addonPath}/node_modules/.bin/vite`
54
+ : 'npx vite';
55
+ const buildResult = fs2.existsSync(`${addonPath}/node_modules/.bin/vite`)
56
+ ? await exec(`${addonPath}/node_modules/.bin/vite`, ['build'], { cwd: addonPath, silent: true })
57
+ : await exec('npx', ['vite', 'build'], { cwd: addonPath, silent: true });
58
+ if (!buildResult.success) {
59
+ buildSpinner.fail('Build failed');
60
+ log.error(buildResult.stderr);
61
+ return;
62
+ }
63
+ // dist/ → latest/ kopyala (R2 upload path beklentisi)
64
+ const path2 = await import('path');
65
+ const fsE = await import('fs-extra');
66
+ const distPath = path2.join(addonPath, 'dist');
67
+ const latestPath = path2.join(addonPath, 'latest');
68
+ if (fs2.existsSync(distPath)) {
69
+ await fsE.default.remove(latestPath).catch(() => { });
70
+ await fsE.default.copy(distPath, latestPath);
71
+ log.info(`dist/ → latest/ sync yapıldı`);
72
+ }
73
+ buildSpinner.succeed('Build complete');
74
+ log.kv('Output', `${addonPath}/dist (→ latest/)`);
75
+ // M2 S1: Generate ui-manifest.json with CDN URLs in dist/ and latest/
76
+ // CI_CDN_BASE_URL zorunlu — unset → throw (sessiz-yanlış-marka engeli, AppSecrets-deseni).
77
+ const cdnBaseEnv = process.env.CI_CDN_BASE_URL?.replace(/\/$/, '');
78
+ if (!cdnBaseEnv)
79
+ throw new Error('[generateCdnManifest] CI_CDN_BASE_URL unset — CDN manifest oluşturulamaz');
80
+ await generateCdnManifest(name, addonPath, distPath, `${cdnBaseEnv}/addons/${name}/latest`);
81
+ // Suppress unused variable warning
82
+ void viteBin;
83
+ }
84
+ /**
85
+ * M2 S1: Generate ui-manifest.json in dist/ (and latest/ if present).
86
+ * Scans built output → builds CDN URL map → writes manifest.
87
+ * ui-manifest.json is excluded from addon signature (shouldSkipPath) → safe to update.
88
+ */
89
+ async function generateCdnManifest(name, addonPath, distPath, cdnBase) {
90
+ const fs2 = await import('fs');
91
+ if (!fs2.existsSync(distPath))
92
+ return;
93
+ // entry.js
94
+ const entryUrl = existsSync(pathJoin(distPath, 'entry.js')) ? `${cdnBase}/entry.js` : null;
95
+ // chunks/*.js
96
+ const chunksDir = pathJoin(distPath, 'chunks');
97
+ const chunks = existsSync(chunksDir)
98
+ ? readdirSync(chunksDir)
99
+ .filter((f) => f.endsWith('.js') && statSync(pathJoin(chunksDir, f)).isFile())
100
+ .map((f) => `${cdnBase}/chunks/${f}`)
101
+ : [];
102
+ // assets/*.css (flat CSS list) + full assets map for backward compat
103
+ const assetsDir = pathJoin(distPath, 'assets');
104
+ const css = [];
105
+ const assets = {};
106
+ function walkAssets(dir, relPrefix) {
107
+ if (!existsSync(dir))
108
+ return;
109
+ for (const entry of readdirSync(dir)) {
110
+ const full = pathJoin(dir, entry);
111
+ const rel = relPrefix ? `${relPrefix}/${entry}` : entry;
112
+ if (statSync(full).isDirectory()) {
113
+ walkAssets(full, rel);
114
+ }
115
+ else {
116
+ const url = `${cdnBase}/assets/${rel}`;
117
+ assets[rel] = url;
118
+ if (entry.endsWith('.css'))
119
+ css.push(url);
120
+ }
121
+ }
122
+ }
123
+ walkAssets(assetsDir, '');
124
+ // Thumbnail: copy Assets/img/thumbnail.* → dist/thumbnail.webp so publish uploads it
125
+ let thumbnailUrl = null;
126
+ const thumbSrcDir = pathJoin(addonPath, 'Assets', 'img');
127
+ if (existsSync(thumbSrcDir)) {
128
+ for (const ext of ['thumbnail.webp', 'thumbnail.png', 'thumbnail.jpg', 'thumbnail.jpeg']) {
129
+ const src = pathJoin(thumbSrcDir, ext);
130
+ if (existsSync(src)) {
131
+ const dest = pathJoin(distPath, 'thumbnail.webp');
132
+ copyFileSync(src, dest);
133
+ thumbnailUrl = `${cdnBase}/thumbnail.webp`;
134
+ break;
135
+ }
136
+ }
137
+ }
138
+ const manifest = {
139
+ addon: name,
140
+ version: 'latest',
141
+ cdn_base: cdnBase,
142
+ entry: entryUrl,
143
+ chunks,
144
+ css,
145
+ assets,
146
+ thumbnail: thumbnailUrl,
147
+ built_at: new Date().toISOString(),
148
+ };
149
+ const manifestJson = JSON.stringify(manifest, null, 2);
150
+ await writeFile(pathJoin(distPath, 'ui-manifest.json'), manifestJson);
151
+ // Sync to latest/ as well (build.ts copies dist/ → latest/ before this runs,
152
+ // but generateCdnManifest is called after that copy, so write directly to latest/)
153
+ const latestPath = pathJoin(addonPath, 'latest');
154
+ if (existsSync(latestPath)) {
155
+ await writeFile(pathJoin(latestPath, 'ui-manifest.json'), manifestJson);
156
+ // Also copy thumbnail to latest/
157
+ if (thumbnailUrl) {
158
+ const srcThumb = pathJoin(distPath, 'thumbnail.webp');
159
+ if (existsSync(srcThumb))
160
+ copyFileSync(srcThumb, pathJoin(latestPath, 'thumbnail.webp'));
161
+ }
162
+ }
163
+ log.success(`ui-manifest.json → dist/ + latest/ (entry: ${entryUrl ? 'ok' : 'none'}, chunks: ${chunks.length}, css: ${css.length})`);
164
+ }
165
+ async function buildServer(name, core, options) {
166
+ // Use the server build script
167
+ const buildSpinner = spinner('Building addon on server...').start();
168
+ const result = await ssh(`cd /home/scripts/addons && ./build-addon-esm-master.sh ${name} /home/cores/${core}`, { silent: false });
169
+ if (!result.success) {
170
+ buildSpinner.fail('Build failed');
171
+ log.error(result.stderr);
172
+ return;
173
+ }
174
+ buildSpinner.succeed('Build complete');
175
+ // Restart containers
176
+ const restartSpinner = spinner('Restarting containers...').start();
177
+ await ssh('docker restart cicore_nuxt cicore_php', { silent: true });
178
+ restartSpinner.succeed('Containers restarted');
179
+ log.blank();
180
+ log.success(`Addon "${name}" built successfully`);
181
+ }
182
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/addon/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * vu addon create <name>
3
+ *
4
+ * ciCore HelloWorld şablonundan doğrulanmış pattern'lerle
5
+ * sıfırdan çalışır addon iskeleti oluşturur.
6
+ *
7
+ * Kullanım:
8
+ * vu addon create HesapMakinasi
9
+ */
10
+ export declare function createAddon(name: string): Promise<void>;
11
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/addon/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmDH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4H7D"}