@equinor/fusion-framework-cli 11.0.0-next.8 → 11.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 (226) hide show
  1. package/CHANGELOG.md +71 -94
  2. package/README.md +98 -104
  3. package/bin/build/bin.mjs +1 -0
  4. package/bin/build/cli.mjs +7 -0
  5. package/bin/cli.mjs +1 -1
  6. package/dist/esm/lib/app/app-config.js.map +1 -1
  7. package/dist/esm/lib/app/app-manifest.js.map +1 -1
  8. package/dist/esm/lib/app/app-package.js +1 -1
  9. package/dist/esm/lib/app/app-package.js.map +1 -1
  10. package/dist/esm/lib/app/merge-app-config.js +11 -5
  11. package/dist/esm/lib/app/merge-app-config.js.map +1 -1
  12. package/dist/esm/lib/app/merge-app-manifest.js +2 -2
  13. package/dist/esm/lib/app/merge-app-manifest.js.map +1 -1
  14. package/dist/esm/lib/index.js +3 -1
  15. package/dist/esm/lib/index.js.map +1 -1
  16. package/dist/esm/lib/load-dev-server-config.js +7 -3
  17. package/dist/esm/lib/load-dev-server-config.js.map +1 -1
  18. package/dist/esm/lib/merge-dev-server-config.js +24 -16
  19. package/dist/esm/lib/merge-dev-server-config.js.map +1 -1
  20. package/dist/esm/lib/portal/create-portal-manifest.js.map +1 -1
  21. package/dist/esm/lib/portal/load-portal-config.js +1 -1
  22. package/dist/esm/lib/portal/load-portal-config.js.map +1 -1
  23. package/dist/esm/lib/portal/load-portal-manifest.js +8 -4
  24. package/dist/esm/lib/portal/load-portal-manifest.js.map +1 -1
  25. package/dist/esm/lib/portal/load-portal-schema.js.map +1 -1
  26. package/dist/esm/lib/portal/portal-config.js.map +1 -1
  27. package/dist/esm/lib/utils/index.js +1 -0
  28. package/dist/esm/lib/utils/index.js.map +1 -1
  29. package/dist/esm/lib/utils/resolve-annotations.js +48 -5
  30. package/dist/esm/lib/utils/resolve-annotations.js.map +1 -1
  31. package/dist/esm/lib/utils/resolve-devops-annotations.js +7 -3
  32. package/dist/esm/lib/utils/resolve-devops-annotations.js.map +1 -1
  33. package/dist/esm/lib/utils/resolve-git-commit-sha.js +1 -0
  34. package/dist/esm/lib/utils/resolve-git-commit-sha.js.map +1 -1
  35. package/dist/esm/lib/utils/resolve-github-annotations.js +16 -72
  36. package/dist/esm/lib/utils/resolve-github-annotations.js.map +1 -1
  37. package/dist/esm/version.js +1 -1
  38. package/dist/types/bin/app-build.d.ts +2 -2
  39. package/dist/types/bin/app-check.d.ts +2 -2
  40. package/dist/types/bin/app-config-publish.d.ts +2 -2
  41. package/dist/types/bin/app-config.d.ts +3 -3
  42. package/dist/types/bin/app-dev.d.ts +1 -1
  43. package/dist/types/bin/app-manifest.d.ts +3 -3
  44. package/dist/types/bin/app-pack.d.ts +1 -1
  45. package/dist/types/bin/app-tag.d.ts +3 -3
  46. package/dist/types/bin/app-upload.d.ts +2 -2
  47. package/dist/types/bin/helpers/load-vite-config.d.ts +1 -2
  48. package/dist/types/bin/helpers/resolve-app-config.d.ts +3 -3
  49. package/dist/types/bin/helpers/resolve-app-manifest.d.ts +3 -3
  50. package/dist/types/bin/helpers/resolve-portal-config.d.ts +3 -3
  51. package/dist/types/bin/helpers/resolve-portal-manifest.d.ts +3 -4
  52. package/dist/types/bin/helpers/resolve-project-package.d.ts +2 -2
  53. package/dist/types/bin/index.d.ts +9 -0
  54. package/dist/types/bin/pack.d.ts +1 -1
  55. package/dist/types/bin/portal-build.d.ts +5 -5
  56. package/dist/types/bin/portal-config-publish.d.ts +2 -2
  57. package/dist/types/bin/portal-config.d.ts +4 -4
  58. package/dist/types/bin/portal-dev.d.ts +2 -2
  59. package/dist/types/bin/portal-manifest.d.ts +4 -4
  60. package/dist/types/bin/portal-pack.d.ts +3 -3
  61. package/dist/types/bin/portal-tag.d.ts +2 -2
  62. package/dist/types/bin/portal-upload.d.ts +2 -2
  63. package/dist/types/bin/utils/create-dev-server.d.ts +2 -2
  64. package/dist/types/cli/commands/disco/resolve.d.ts +1 -1
  65. package/dist/types/cli/main.d.ts +0 -20
  66. package/dist/types/cli/options/env.d.ts +1 -2
  67. package/dist/types/lib/app/app-config.d.ts +2 -2
  68. package/dist/types/lib/app/app-manifest.d.ts +1 -1
  69. package/dist/types/lib/app/merge-app-config.d.ts +1 -1
  70. package/dist/types/lib/app/merge-app-manifest.d.ts +1 -1
  71. package/dist/types/lib/index.d.ts +3 -2
  72. package/dist/types/lib/legacy.d.ts +1 -1
  73. package/dist/types/lib/load-dev-server-config.d.ts +2 -2
  74. package/dist/types/lib/merge-dev-server-config.d.ts +1 -1
  75. package/dist/types/lib/portal/create-portal-manifest.d.ts +1 -1
  76. package/dist/types/lib/portal/load-portal-manifest.d.ts +2 -2
  77. package/dist/types/lib/portal/load-portal-schema.d.ts +1 -1
  78. package/dist/types/lib/portal/portal-config.d.ts +2 -2
  79. package/dist/types/lib/portal/portal-manifest.schema.d.ts +6 -6
  80. package/dist/types/lib/types.d.ts +29 -0
  81. package/dist/types/lib/utils/index.d.ts +1 -0
  82. package/dist/types/lib/utils/resolve-annotations.d.ts +35 -1
  83. package/dist/types/lib/utils/resolve-devops-annotations.d.ts +28 -3
  84. package/dist/types/lib/utils/resolve-git-commit-sha.d.ts +1 -0
  85. package/dist/types/lib/utils/resolve-github-annotations.d.ts +85 -13
  86. package/dist/types/lib/utils/types.d.ts +57 -1
  87. package/dist/types/version.d.ts +1 -1
  88. package/docs/application.md +73 -79
  89. package/docs/auth.md +18 -45
  90. package/docs/libsecret.md +0 -31
  91. package/docs/migration-v10-to-v11.md +43 -47
  92. package/docs/portal.md +4 -38
  93. package/package.json +69 -33
  94. package/bin/build/bin.js +0 -28
  95. package/bin/build/cli.js +0 -10099
  96. package/bin/build/create-auth-client-B_j4Y_Dr.js +0 -1415
  97. package/bin/build/portal-config-publish-ezU_DFki.js +0 -29578
  98. package/dist/esm/bin/app-build.js +0 -34
  99. package/dist/esm/bin/app-build.js.map +0 -1
  100. package/dist/esm/bin/app-check.js +0 -63
  101. package/dist/esm/bin/app-check.js.map +0 -1
  102. package/dist/esm/bin/app-config-publish.js +0 -89
  103. package/dist/esm/bin/app-config-publish.js.map +0 -1
  104. package/dist/esm/bin/app-config.js +0 -48
  105. package/dist/esm/bin/app-config.js.map +0 -1
  106. package/dist/esm/bin/app-dev.js +0 -102
  107. package/dist/esm/bin/app-dev.js.map +0 -1
  108. package/dist/esm/bin/app-manifest.js +0 -38
  109. package/dist/esm/bin/app-manifest.js.map +0 -1
  110. package/dist/esm/bin/app-pack.js +0 -51
  111. package/dist/esm/bin/app-pack.js.map +0 -1
  112. package/dist/esm/bin/app-tag.js +0 -89
  113. package/dist/esm/bin/app-tag.js.map +0 -1
  114. package/dist/esm/bin/app-upload.js +0 -109
  115. package/dist/esm/bin/app-upload.js.map +0 -1
  116. package/dist/esm/bin/helpers/load-bundle-metadata.js +0 -32
  117. package/dist/esm/bin/helpers/load-bundle-metadata.js.map +0 -1
  118. package/dist/esm/bin/helpers/load-vite-config.js +0 -55
  119. package/dist/esm/bin/helpers/load-vite-config.js.map +0 -1
  120. package/dist/esm/bin/helpers/resolve-app-config.js +0 -46
  121. package/dist/esm/bin/helpers/resolve-app-config.js.map +0 -1
  122. package/dist/esm/bin/helpers/resolve-app-manifest.js +0 -55
  123. package/dist/esm/bin/helpers/resolve-app-manifest.js.map +0 -1
  124. package/dist/esm/bin/helpers/resolve-portal-config.js +0 -46
  125. package/dist/esm/bin/helpers/resolve-portal-config.js.map +0 -1
  126. package/dist/esm/bin/helpers/resolve-portal-manifest.js +0 -55
  127. package/dist/esm/bin/helpers/resolve-portal-manifest.js.map +0 -1
  128. package/dist/esm/bin/helpers/resolve-project-package.js +0 -32
  129. package/dist/esm/bin/helpers/resolve-project-package.js.map +0 -1
  130. package/dist/esm/bin/index.js +0 -12
  131. package/dist/esm/bin/index.js.map +0 -1
  132. package/dist/esm/bin/pack.js +0 -70
  133. package/dist/esm/bin/pack.js.map +0 -1
  134. package/dist/esm/bin/portal-build.js +0 -40
  135. package/dist/esm/bin/portal-build.js.map +0 -1
  136. package/dist/esm/bin/portal-config-publish.js +0 -74
  137. package/dist/esm/bin/portal-config-publish.js.map +0 -1
  138. package/dist/esm/bin/portal-config.js +0 -48
  139. package/dist/esm/bin/portal-config.js.map +0 -1
  140. package/dist/esm/bin/portal-dev.js +0 -61
  141. package/dist/esm/bin/portal-dev.js.map +0 -1
  142. package/dist/esm/bin/portal-manifest.js +0 -38
  143. package/dist/esm/bin/portal-manifest.js.map +0 -1
  144. package/dist/esm/bin/portal-pack.js +0 -60
  145. package/dist/esm/bin/portal-pack.js.map +0 -1
  146. package/dist/esm/bin/portal-tag.js +0 -96
  147. package/dist/esm/bin/portal-tag.js.map +0 -1
  148. package/dist/esm/bin/portal-upload.js +0 -99
  149. package/dist/esm/bin/portal-upload.js.map +0 -1
  150. package/dist/esm/bin/utils/ConsoleLogger.js +0 -112
  151. package/dist/esm/bin/utils/ConsoleLogger.js.map +0 -1
  152. package/dist/esm/bin/utils/create-dev-server.js +0 -167
  153. package/dist/esm/bin/utils/create-dev-server.js.map +0 -1
  154. package/dist/esm/bin/utils/format.js +0 -47
  155. package/dist/esm/bin/utils/format.js.map +0 -1
  156. package/dist/esm/bin/utils/index.js +0 -5
  157. package/dist/esm/bin/utils/index.js.map +0 -1
  158. package/dist/esm/bin/utils/spinner.js +0 -142
  159. package/dist/esm/bin/utils/spinner.js.map +0 -1
  160. package/dist/esm/cli/commands/app/alias.js +0 -42
  161. package/dist/esm/cli/commands/app/alias.js.map +0 -1
  162. package/dist/esm/cli/commands/app/build.js +0 -53
  163. package/dist/esm/cli/commands/app/build.js.map +0 -1
  164. package/dist/esm/cli/commands/app/check.js +0 -57
  165. package/dist/esm/cli/commands/app/check.js.map +0 -1
  166. package/dist/esm/cli/commands/app/config.js +0 -103
  167. package/dist/esm/cli/commands/app/config.js.map +0 -1
  168. package/dist/esm/cli/commands/app/dev.js +0 -67
  169. package/dist/esm/cli/commands/app/dev.js.map +0 -1
  170. package/dist/esm/cli/commands/app/index.js +0 -42
  171. package/dist/esm/cli/commands/app/index.js.map +0 -1
  172. package/dist/esm/cli/commands/app/manifest.js +0 -82
  173. package/dist/esm/cli/commands/app/manifest.js.map +0 -1
  174. package/dist/esm/cli/commands/app/pack.js +0 -71
  175. package/dist/esm/cli/commands/app/pack.js.map +0 -1
  176. package/dist/esm/cli/commands/app/publish.js +0 -130
  177. package/dist/esm/cli/commands/app/publish.js.map +0 -1
  178. package/dist/esm/cli/commands/app/tag.js +0 -113
  179. package/dist/esm/cli/commands/app/tag.js.map +0 -1
  180. package/dist/esm/cli/commands/app/upload.js +0 -85
  181. package/dist/esm/cli/commands/app/upload.js.map +0 -1
  182. package/dist/esm/cli/commands/auth/index.js +0 -22
  183. package/dist/esm/cli/commands/auth/index.js.map +0 -1
  184. package/dist/esm/cli/commands/auth/login.js +0 -72
  185. package/dist/esm/cli/commands/auth/login.js.map +0 -1
  186. package/dist/esm/cli/commands/auth/logout.js +0 -58
  187. package/dist/esm/cli/commands/auth/logout.js.map +0 -1
  188. package/dist/esm/cli/commands/auth/token.js +0 -78
  189. package/dist/esm/cli/commands/auth/token.js.map +0 -1
  190. package/dist/esm/cli/commands/disco/index.js +0 -6
  191. package/dist/esm/cli/commands/disco/index.js.map +0 -1
  192. package/dist/esm/cli/commands/disco/resolve.js +0 -58
  193. package/dist/esm/cli/commands/disco/resolve.js.map +0 -1
  194. package/dist/esm/cli/commands/index.js +0 -11
  195. package/dist/esm/cli/commands/index.js.map +0 -1
  196. package/dist/esm/cli/commands/portal/build.js +0 -27
  197. package/dist/esm/cli/commands/portal/build.js.map +0 -1
  198. package/dist/esm/cli/commands/portal/config.js +0 -101
  199. package/dist/esm/cli/commands/portal/config.js.map +0 -1
  200. package/dist/esm/cli/commands/portal/dev.js +0 -27
  201. package/dist/esm/cli/commands/portal/dev.js.map +0 -1
  202. package/dist/esm/cli/commands/portal/index.js +0 -23
  203. package/dist/esm/cli/commands/portal/index.js.map +0 -1
  204. package/dist/esm/cli/commands/portal/manifest.js +0 -48
  205. package/dist/esm/cli/commands/portal/manifest.js.map +0 -1
  206. package/dist/esm/cli/commands/portal/pack.js +0 -40
  207. package/dist/esm/cli/commands/portal/pack.js.map +0 -1
  208. package/dist/esm/cli/commands/portal/publish.js +0 -76
  209. package/dist/esm/cli/commands/portal/publish.js.map +0 -1
  210. package/dist/esm/cli/commands/portal/schema.js +0 -70
  211. package/dist/esm/cli/commands/portal/schema.js.map +0 -1
  212. package/dist/esm/cli/commands/portal/tag.js +0 -73
  213. package/dist/esm/cli/commands/portal/tag.js.map +0 -1
  214. package/dist/esm/cli/commands/portal/upload.js +0 -41
  215. package/dist/esm/cli/commands/portal/upload.js.map +0 -1
  216. package/dist/esm/cli/main.js +0 -52
  217. package/dist/esm/cli/main.js.map +0 -1
  218. package/dist/esm/cli/options/auth.js +0 -96
  219. package/dist/esm/cli/options/auth.js.map +0 -1
  220. package/dist/esm/cli/options/env.js +0 -30
  221. package/dist/esm/cli/options/env.js.map +0 -1
  222. package/dist/esm/lib/framework.node.js +0 -104
  223. package/dist/esm/lib/framework.node.js.map +0 -1
  224. package/dist/esm/version.js.map +0 -1
  225. package/dist/tsconfig.tsbuildinfo +0 -1
  226. /package/dist/types/{lib → bin}/framework.node.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,QAAQ,CAAC;KACpB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,WAAW,CACV,OAAO,EACP;IACE,wEAAwE;IACxE,EAAE;IACF,8HAA8H;IAC9H,qFAAqF;IACrF,iEAAiE;IACjE,EAAE;IACF,YAAY;IACZ,8EAA8E;IAC9E,EAAE;IACF,UAAU;IACV,8DAA8D;IAC9D,qEAAqE;IACrE,8DAA8D;IAC9D,gFAAgF;IAChF,2CAA2C;IAC3C,2EAA2E;IAC3E,EAAE;IACF,WAAW;IACX,+CAA+C;IAC/C,oFAAoF;IACpF,iFAAiF;IACjF,gEAAgE;CACjE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;KAC1D,MAAM,CAAC,UAAU,EAAE,8CAA8C,CAAC;KAClE,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,yDAAyD,CAAC;KACtF,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;KAC9C,MAAM,CACL,4BAA4B,EAC5B,iFAAiF,EACjF,QAAQ,CACT;KACA,QAAQ,CAAC,UAAU,EAAE,iEAAiE,CAAC;KACvF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM;QACxB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,aAAa,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEhE,4CAA4C;IAC5C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAC1B,GAAG,EAAE,IAAI,CACP,IAAI,EACJ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EACnB,sBAAsB,EACtB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACvB,UAAU,CACX,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,gBAAgB,CAAC;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,GAAG;YACxB,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO;YAC7D,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,yBAAyB,CAAC;QAC5D,GAAG;QACH,MAAM;QACN,GAAG,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;KACjE,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,67 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import { startAppDevServer } from '../../../bin';
3
- import { ConsoleLogger } from '../../../bin/utils';
4
- /**
5
- * CLI command: `dev`
6
- *
7
- * Starts the application in development mode with a local dev server.
8
- *
9
- * Features:
10
- * - Launches the development server for your application.
11
- * - Supports custom manifest/config files, runtime environment, and port selection.
12
- * - Debug mode available for verbose logging.
13
- *
14
- * Usage:
15
- * $ fusion app dev [options]
16
- *
17
- * Options:
18
- * --debug Enable debug mode
19
- * --manifest <path> Path to the app manifest file (app.manifest[.env]?.[ts,js,json])
20
- * --config <path> Path to the app config file (app.config[.env]?.[ts,js,json])
21
- * --env <environment> Runtime environment for the dev server (default: local)
22
- * --port <port> Port for the development server (default: 3000)
23
- *
24
- * Example:
25
- * $ fusion app dev
26
- * $ fusion app dev --port 4000
27
- * $ fusion app dev --manifest ./app.manifest.local.ts --config ./app.config.ts
28
- *
29
- * @see startAppDevServer for implementation details
30
- */
31
- export const command = createCommand('dev')
32
- .description('Start the application in development mode.')
33
- .addHelpText('after', [
34
- '',
35
- 'Starts the application in development mode with a local dev server.',
36
- '',
37
- 'Options:',
38
- ' --debug Enable debug mode',
39
- ' --manifest <path> Path to the app manifest file (app.manifest[.env]?.[ts,js,json])',
40
- ' --config <path> Path to the app config file (app.config[.env]?.[ts,js,json])',
41
- ' --env <environment> Runtime environment for the dev server (default: local)',
42
- ' --port <port> Port for the development server (default: 3000)',
43
- '',
44
- 'Examples:',
45
- ' $ fusion app dev',
46
- ' $ fusion app dev --port 4000',
47
- ' $ fusion app dev --manifest ./app.manifest.local.ts --config ./app.config.ts',
48
- ].join('\n'))
49
- .option('--debug', 'Enable debug mode')
50
- .option('--manifest <path>', 'Path to the app manifest file (app.manifest[.env]?.[ts,js,json])')
51
- .option('--config <path>', 'Path to the app config file (app.config[.env]?.[ts,js,json])')
52
- .option('--env <environment>', 'Runtime environment for the dev server', 'local')
53
- .option('--port <port>', 'Port for the development server', '3000')
54
- .action(async (options) => {
55
- const log = new ConsoleLogger('app:dev');
56
- log.start('Starting application in development mode...');
57
- startAppDevServer({
58
- log,
59
- manifest: options.manifest,
60
- config: options.config,
61
- env: options.env,
62
- port: options.port,
63
- });
64
- log.succeed('Development server started successfully.');
65
- });
66
- export default command;
67
- //# sourceMappingURL=dev.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;KACxC,WAAW,CAAC,4CAA4C,CAAC;KACzD,WAAW,CACV,OAAO,EACP;IACE,EAAE;IACF,qEAAqE;IACrE,EAAE;IACF,UAAU;IACV,0CAA0C;IAC1C,yFAAyF;IACzF,qFAAqF;IACrF,gFAAgF;IAChF,wEAAwE;IACxE,EAAE;IACF,WAAW;IACX,oBAAoB;IACpB,gCAAgC;IAChC,gFAAgF;CACjF,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,mBAAmB,EAAE,kEAAkE,CAAC;KAC/F,MAAM,CAAC,iBAAiB,EAAE,8DAA8D,CAAC;KACzF,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,EAAE,OAAO,CAAC;KAChF,MAAM,CAAC,eAAe,EAAE,iCAAiC,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzC,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACzD,iBAAiB,CAAC;QAChB,GAAG;QACH,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
@@ -1,42 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import buildCommand from './build.js';
3
- import packCommand from './pack.js';
4
- import checkCommand from './check.js';
5
- import uploadCommand from './upload.js';
6
- import configCommand from './config.js';
7
- import tagCommand from './tag.js';
8
- import devCommand from './dev.js';
9
- import manifestCommand from './manifest.js';
10
- import publishCommand from './publish.js';
11
- // @todo - remove in next major version v12
12
- import './alias.js';
13
- export const command = createCommand('app')
14
- .description('Develop, build, configure, and deploy Fusion applications from your workspace root.')
15
- .addHelpText('after', [
16
- '',
17
- 'The "app" command is your main entry point for managing Fusion applications in this workspace.',
18
- '',
19
- 'It provides access to subcommands for every stage of the application lifecycle, including development, building, packaging, configuration, deployment, and release management.',
20
- '',
21
- 'All available subcommands are listed below automatically. For details and options for a specific subcommand, run:',
22
- ' fusion app <subcommand> --help',
23
- '',
24
- 'Typical usage:',
25
- ' - Run and test your app locally with the dev subcommand',
26
- ' - Build, bundle, and configure your app for deployment',
27
- ' - Upload, publish, and tag releases to the Fusion App Store',
28
- ' - Check registration and generate manifests as needed',
29
- '',
30
- 'This command should be run from your app root directory.',
31
- ].join('\n'))
32
- .addCommand(buildCommand)
33
- .addCommand(packCommand)
34
- .addCommand(checkCommand)
35
- .addCommand(uploadCommand)
36
- .addCommand(configCommand)
37
- .addCommand(tagCommand)
38
- .addCommand(devCommand)
39
- .addCommand(manifestCommand)
40
- .addCommand(publishCommand);
41
- export default command;
42
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,cAAc,MAAM,cAAc,CAAC;AAE1C,2CAA2C;AAC3C,OAAO,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;KACxC,WAAW,CACV,qFAAqF,CACtF;KACA,WAAW,CACV,OAAO,EACP;IACE,EAAE;IACF,gGAAgG;IAChG,EAAE;IACF,gLAAgL;IAChL,EAAE;IACF,mHAAmH;IACnH,kCAAkC;IAClC,EAAE;IACF,gBAAgB;IAChB,2DAA2D;IAC3D,0DAA0D;IAC1D,+DAA+D;IAC/D,yDAAyD;IACzD,EAAE;IACF,0DAA0D;CAC3D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,UAAU,CAAC,YAAY,CAAC;KACxB,UAAU,CAAC,WAAW,CAAC;KACvB,UAAU,CAAC,YAAY,CAAC;KACxB,UAAU,CAAC,aAAa,CAAC;KACzB,UAAU,CAAC,aAAa,CAAC;KACzB,UAAU,CAAC,UAAU,CAAC;KACtB,UAAU,CAAC,UAAU,CAAC;KACtB,UAAU,CAAC,eAAe,CAAC;KAC3B,UAAU,CAAC,cAAc,CAAC,CAAC;AAE9B,eAAe,OAAO,CAAC"}
@@ -1,82 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import { ConsoleLogger } from '../../../bin/utils';
3
- import loadAppManifest from '../../../bin/app-manifest.js';
4
- import { fileExistsSync } from '../../../lib/utils';
5
- import { dirname, resolve } from 'node:path';
6
- import { mkdir } from 'node:fs/promises';
7
- import { writeFile } from 'node:fs/promises';
8
- import { stdout } from 'node:process';
9
- /**
10
- * CLI command: `manifest`
11
- *
12
- * Builds and outputs the application manifest for Fusion apps.
13
- *
14
- * Features:
15
- * - Prints the manifest to stdout by default, or writes to a file with --output.
16
- * - Supports custom manifest build files or defaults to app.manifest[.env]?.[ts,js,json].
17
- * - Debug and silent modes for flexible output.
18
- *
19
- * Usage:
20
- * $ fusion manifest [manifest] [options]
21
- *
22
- * Arguments:
23
- * [manifest] Manifest build file to use (e.g., app.manifest[.env]?.[ts,js,json])
24
- *
25
- * Options:
26
- * -d, --debug Enable debug mode for verbose logging
27
- * -o, --output Write manifest to the specified file (default: stdout)
28
- * -s, --silent Silent mode, suppresses output except errors
29
- *
30
- * Example:
31
- * $ fusion manifest
32
- * $ fusion manifest app.manifest.prod.ts --output ./dist/app.manifest.json
33
- * $ fusion manifest --debug
34
- *
35
- * @see loadAppManifest for implementation details
36
- */
37
- export const command = createCommand('manifest')
38
- .description('Build and output the application manifest for Fusion apps.')
39
- .addHelpText('after', [
40
- '',
41
- 'Builds and outputs the application manifest for Fusion apps.',
42
- 'By default, prints the manifest to stdout. Use --output to write to a file.',
43
- 'You can specify a custom manifest build file or use the default (app.manifest[.env]?.[ts,js,json]).',
44
- 'Supports debug and silent modes for flexible output.',
45
- '',
46
- 'Arguments:',
47
- ' [manifest] Manifest build file to use (e.g., app.manifest[.env]?.[ts,js,json])',
48
- '',
49
- 'Options:',
50
- ' -d, --debug Enable debug mode for verbose logging',
51
- ' -o, --output Write manifest to the specified file (default: stdout)',
52
- ' -s, --silent Silent mode, suppresses output except errors',
53
- '',
54
- 'Examples:',
55
- ' $ fusion manifest',
56
- ' $ fusion manifest app.manifest.prod.ts --output ./dist/app.manifest.json',
57
- ' $ fusion manifest --debug',
58
- ].join('\n'))
59
- .option('-d, --debug', 'Enable debug mode for verbose logging', false)
60
- .option('-o, --output <string>', 'Write manifest to the specified file', 'stdout')
61
- .option('-s, --silent', 'Silent mode, suppresses output except errors')
62
- .argument('[manifest]', 'Manifest build file to use (e.g., app.manifest[.env]?.[ts,js,json])')
63
- .action(async (manifest, opt) => {
64
- const log = opt.silent ? null : new ConsoleLogger('app:manifest', { debug: opt.debug });
65
- const result = await loadAppManifest({ log, manifest });
66
- if (opt.output) {
67
- const output = resolve(process.cwd(), opt.output);
68
- log?.start('Writing manifest to file', opt.output);
69
- // create the output directory if it doesn't exist
70
- if (!fileExistsSync(dirname(output))) {
71
- await mkdir(dirname(output), { recursive: true });
72
- }
73
- // write the manifest to the output file
74
- await writeFile(output, JSON.stringify(result.manifest, null, 2));
75
- log?.succeed('Manifest written to file', output);
76
- }
77
- else {
78
- stdout.write(JSON.stringify(result.manifest, null, 2));
79
- }
80
- });
81
- export default command;
82
- //# sourceMappingURL=manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC;KAC7C,WAAW,CAAC,4DAA4D,CAAC;KACzE,WAAW,CACV,OAAO,EACP;IACE,EAAE;IACF,8DAA8D;IAC9D,6EAA6E;IAC7E,qGAAqG;IACrG,sDAAsD;IACtD,EAAE;IACF,YAAY;IACZ,oFAAoF;IACpF,EAAE;IACF,UAAU;IACV,8DAA8D;IAC9D,+EAA+E;IAC/E,qEAAqE;IACrE,EAAE;IACF,WAAW;IACX,qBAAqB;IACrB,4EAA4E;IAC5E,6BAA6B;CAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,EAAE,QAAQ,CAAC;KACjF,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;KACtE,QAAQ,CAAC,YAAY,EAAE,qEAAqE,CAAC;KAC7F,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,GAAG,EAAE,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,kDAAkD;QAClD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,GAAG,EAAE,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC,CAAC;AACL,eAAe,OAAO,CAAC"}
@@ -1,71 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import { bundleApp } from '../../../bin';
3
- import { ConsoleLogger } from '../../../bin/utils';
4
- export const DEFAULT_ARCHIVE = 'app-bundle.zip';
5
- /**
6
- * CLI command: `pack`
7
- *
8
- * Creates a distributable app bundle of the application.
9
- *
10
- * Features:
11
- * - Bundles all necessary files for deployment.
12
- * - Output filename and directory can be specified.
13
- * - Optionally provide a manifest file to customize the bundle.
14
- * - If no manifest is provided, defaults to app.manifest.[ts|js|json] in the current directory.
15
- *
16
- * Usage:
17
- * $ fusion pack [manifest] [options]
18
- *
19
- * Arguments:
20
- * [manifest] Manifest file to use for bundling (e.g., app.manifest.ts)
21
- *
22
- * Options:
23
- * -a, --archive Name of the output archive file (default: app-bundle.zip)
24
- * -o, --output Directory where the archive will be saved (default: current working directory)
25
- * -d, --debug Enable debug mode for verbose logging
26
- *
27
- * Example:
28
- * $ fusion pack
29
- * $ fusion pack app.manifest.dev.ts --archive my-app.zip --output ./dist
30
- *
31
- * @see bundleApp for implementation details
32
- */
33
- export const command = createCommand('pack')
34
- .description('Create a distributable app bundle of the application.')
35
- .addHelpText('after', [
36
- 'Creates a distributable app bundle of the application.',
37
- 'Bundles all necessary files for deployment.',
38
- 'You can specify the output filename and directory, and optionally provide a manifest file.',
39
- 'If no manifest is provided, defaults to app.manifest.[ts|js|json] in the current directory.',
40
- '',
41
- 'Arguments:',
42
- ' [manifest] Manifest file to use for bundling (e.g., app.manifest.ts)',
43
- '',
44
- 'Options:',
45
- ' -a, --archive Name of the output archive file (default: app-bundle.zip)',
46
- ' -o, --output Directory where the archive will be saved (default: current working directory)',
47
- ' -d, --debug Enable debug mode for verbose logging',
48
- '',
49
- 'Examples:',
50
- ' $ fusion pack',
51
- ' $ fusion pack app.manifest.dev.ts --archive my-app.zip --output ./dist',
52
- ].join('\n'))
53
- .option('-a, --archive [string]', 'Name of the output archive file (default: app-bundle.zip)', DEFAULT_ARCHIVE)
54
- .option('-o, --output [string]', 'Directory where the archive will be saved (default: current working directory)', process.cwd())
55
- .option('-d, --debug', 'Enable debug mode for verbose logging', false)
56
- .argument('[manifest]', 'Manifest file to use for bundling (e.g., app.manifest.ts)')
57
- .action(async (manifest, options) => {
58
- const log = new ConsoleLogger('app:pack', {
59
- debug: options.debug,
60
- });
61
- await bundleApp({
62
- log,
63
- manifest,
64
- archive: options.archive,
65
- }).catch((error) => {
66
- log.error('Failed to create package:', error);
67
- process.exit(1);
68
- });
69
- });
70
- export default command;
71
- //# sourceMappingURL=pack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAyB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;KACzC,WAAW,CAAC,uDAAuD,CAAC;KACpE,WAAW,CACV,OAAO,EACP;IACE,wDAAwD;IACxD,6CAA6C;IAC7C,4FAA4F;IAC5F,6FAA6F;IAC7F,EAAE;IACF,YAAY;IACZ,0EAA0E;IAC1E,EAAE;IACF,UAAU;IACV,kFAAkF;IAClF,uGAAuG;IACvG,8DAA8D;IAC9D,EAAE;IACF,WAAW;IACX,iBAAiB;IACjB,0EAA0E;CAC3E,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CACL,wBAAwB,EACxB,2DAA2D,EAC3D,eAAe,CAChB;KACA,MAAM,CACL,uBAAuB,EACvB,gFAAgF,EAChF,OAAO,CAAC,GAAG,EAAE,CACd;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,QAAQ,CAAC,YAAY,EAAE,2DAA2D,CAAC;KACnF,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE;QACxC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,SAAS,CAAC;QACd,GAAG;QACH,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
@@ -1,130 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import { withAuthOptions } from '../../options/auth.js';
3
- import { createEnvOption } from '../../options/env.js';
4
- import { bundleApp } from '../../../bin';
5
- import { initializeFramework } from '../../../lib';
6
- import { ConsoleLogger } from '../../../bin/utils/ConsoleLogger.js';
7
- import { uploadApplication } from '../../../bin/app-upload.js';
8
- import { tagApplication, AllowedTags } from '../../../bin/app-tag.js';
9
- /**
10
- * CLI command: `publish`
11
- *
12
- * Builds, uploads, and tags a Fusion application for deployment to the Fusion portal.
13
- *
14
- * Features:
15
- * - Bundles the app, uploads it to the Fusion app store, and applies a tag for versioning.
16
- * - Supports specifying environment, manifest file, and tag.
17
- * - Debug mode and authentication options are supported.
18
- *
19
- * Usage:
20
- * $ fusion publish [bundle] [options]
21
- *
22
- * Arguments:
23
- * [bundle] Path to the app bundle to upload
24
- *
25
- * Options:
26
- * -d, --debug Enable debug mode for verbose logging (default: false)
27
- * -e, --env <env> Target environment
28
- * -m, --manifest Manifest file to use for bundling (e.g., app.manifest.ts)
29
- * -t, --tag Tag to apply to the published app (latest | preview)
30
- *
31
- * Example:
32
- * $ fusion publish
33
- * $ fusion publish --env prod --manifest app.manifest.prod.ts
34
- * $ fusion publish --tag latest app.bundle.zip
35
- *
36
- * @see uploadApplication, tagApplication for implementation details
37
- */
38
- export const command = withAuthOptions(createCommand('publish')
39
- .description('Build, upload, and tag your Fusion application for deployment.')
40
- .addHelpText('after', [
41
- '',
42
- 'Builds, uploads, and tags a Fusion application for deployment to the Fusion portal.',
43
- 'Bundles the app, uploads it to the Fusion app store, and applies a tag for versioning.',
44
- 'Supports specifying environment, manifest file, and tag.',
45
- 'Debug mode and authentication options are supported.',
46
- '',
47
- 'Arguments:',
48
- ' [bundle] Path to the app bundle to upload',
49
- '',
50
- 'Options:',
51
- ' -d, --debug Enable debug mode for verbose logging (default: false)',
52
- ' -e, --env <env> Target environment',
53
- ' -m, --manifest Manifest file to use for bundling (e.g., app.manifest.ts)',
54
- ' -t, --tag Tag to apply to the published app (latest | preview)',
55
- '',
56
- 'Examples:',
57
- ' $ fusion publish',
58
- ' $ fusion publish --env prod --manifest app.manifest.prod.ts',
59
- ' $ fusion publish --tag latest app.bundle.zip',
60
- ].join('\n'))
61
- .option('-d, --debug', 'Enable debug mode for verbose logging', false)
62
- .addOption(createEnvOption({ allowDev: false }))
63
- .option('-m, --manifest [string]', 'Manifest file to use for bundling (e.g., app.manifest.ts)')
64
- .option('-t, --tag [string]', `Tag to apply to the published app (${Object.values(AllowedTags).join(' | ')})`, AllowedTags.Latest)
65
- .argument('[bundle]', 'Path to the app bundle to upload')
66
- .action(async (bundle, options) => {
67
- const log = new ConsoleLogger('app:publish', {
68
- debug: options.debug,
69
- });
70
- let archive;
71
- if (bundle) {
72
- log.info(`📦 Using provided bundle: ${bundle}`);
73
- archive = bundle;
74
- }
75
- else {
76
- try {
77
- log.start('📦 Bundle application...');
78
- const buildResult = await bundleApp({
79
- log,
80
- manifest: options.manifest,
81
- });
82
- archive = buildResult.archive;
83
- log.succeed('📦 Bundle completed');
84
- }
85
- catch (error) {
86
- log.error('😢 Failed to bundle application:', error);
87
- process.exit(1);
88
- }
89
- }
90
- if (!archive) {
91
- log.error('😢 No bundle provided or created. Please specify a bundle file.');
92
- process.exit(1);
93
- }
94
- log?.start('💾 Initializing Fusion Framework...');
95
- const framework = await initializeFramework({
96
- env: options.env,
97
- auth: {
98
- token: options.token,
99
- tenantId: options.tenantId,
100
- clientId: options.clientId,
101
- },
102
- });
103
- log?.succeed('💾 Initialized Fusion Framework');
104
- log.start('🚀 Uploading application...');
105
- const uploadResult = await uploadApplication({
106
- log,
107
- framework,
108
- fileOrBundle: archive,
109
- }).catch((error) => {
110
- log.error('😢 Failed to upload bundle:', error);
111
- process.exit(1);
112
- });
113
- log.succeed('🚀 Upload completed');
114
- log.debug('Upload result:', uploadResult);
115
- log.start('🏷️ Tagging application...');
116
- const tagResult = await tagApplication({
117
- tag: options.tag,
118
- appKey: uploadResult.name,
119
- version: uploadResult.version,
120
- log,
121
- framework,
122
- }).catch((error) => {
123
- log.error('😢 Failed to tag application:', error);
124
- process.exit(1);
125
- });
126
- log.succeed('Tagging completed');
127
- log.debug('Tagging result:', tagResult);
128
- }));
129
- export default command;
130
- //# sourceMappingURL=publish.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAI1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,SAAS,CAAC;KACrB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,WAAW,CACV,OAAO,EACP;IACE,EAAE;IACF,qFAAqF;IACrF,wFAAwF;IACxF,0DAA0D;IAC1D,sDAAsD;IACtD,EAAE;IACF,YAAY;IACZ,+CAA+C;IAC/C,EAAE;IACF,UAAU;IACV,+EAA+E;IAC/E,2CAA2C;IAC3C,kFAAkF;IAClF,6EAA6E;IAC7E,EAAE;IACF,WAAW;IACX,oBAAoB;IACpB,+DAA+D;IAC/D,gDAAgD;CACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,MAAM,CAAC,yBAAyB,EAAE,2DAA2D,CAAC;KAC9F,MAAM,CACL,oBAAoB,EACpB,sCAAsC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAC/E,WAAW,CAAC,MAAM,CACnB;KACA,QAAQ,CAAC,UAAU,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE;QAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,IAAI,OAAwB,CAAC;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,IAAI,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QAChD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC;gBAClC,GAAG;gBACH,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YAC9B,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,GAAG,EAAE,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,EAAE,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAEhD,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC;QAC3C,GAAG;QACH,SAAS;QACT,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAE1C,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;QACrC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,YAAY,CAAC,IAAI;QACzB,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,GAAG;QACH,SAAS;KACV,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,113 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import { createEnvOption } from '../../options/env.js';
3
- import { withAuthOptions } from '../../options/auth.js';
4
- import { tagApplication, AllowedTags } from '../../../bin/app-tag.js';
5
- import { ConsoleLogger } from '../../../bin/utils/ConsoleLogger.js';
6
- import { initializeFramework } from '../../../lib';
7
- import loadAppManifest from '../../../bin/app-manifest.js';
8
- /**
9
- * CLI command: `tag`
10
- *
11
- * Tags a Fusion application with a specific version or preview in the Fusion app registry.
12
- *
13
- * Features:
14
- * - Applies a tag to the specified application version for release management.
15
- * - App key and version can be provided or resolved from the manifest file.
16
- * - Supports environment selection, debug, and silent modes.
17
- *
18
- * Usage:
19
- * $ fusion tag <tag> [options]
20
- *
21
- * Arguments:
22
- * <tag> Tag to apply (latest | preview | stable)
23
- *
24
- * Options:
25
- * --appKey <string> Application key (if not provided, resolved from manifest)
26
- * -v, --version <string> Version to tag (if not provided, resolved from manifest)
27
- * -m, --manifest <string> Manifest file to use for resolving app key and version
28
- * --debug Enable debug mode for verbose logging
29
- * --silent Silent mode, suppresses output except errors
30
- * -e, --env <env> Target environment
31
- *
32
- * Example:
33
- * $ fusion tag latest
34
- * $ fusion tag preview --env prod --manifest app.manifest.prod.ts
35
- * $ fusion tag stable --appKey my-app --version 1.2.3
36
- *
37
- * @see tagApplication for implementation details
38
- */
39
- export const command = withAuthOptions(createCommand('tag')
40
- .description('Tag your Fusion application with a specific version or preview.')
41
- .addHelpText('after', [
42
- '',
43
- 'Tags a Fusion application with a specific version or preview in the Fusion app registry.',
44
- 'Applies a tag to the specified application version for release management.',
45
- 'App key and version can be provided or resolved from the manifest file.',
46
- 'Supports environment selection, debug, and silent modes.',
47
- '',
48
- 'Arguments:',
49
- ' <tag> Tag to apply (latest | preview | stable)',
50
- '',
51
- 'Options:',
52
- ' --appKey <string> Application key (if not provided, resolved from manifest)',
53
- ' -v, --version <string> Version to tag (if not provided, resolved from manifest)',
54
- ' -m, --manifest <string> Manifest file to use for resolving app key and version',
55
- ' --debug Enable debug mode for verbose logging',
56
- ' --silent Silent mode, suppresses output except errors',
57
- ' -e, --env <env> Target environment',
58
- '',
59
- 'Examples:',
60
- ' $ fusion tag latest',
61
- ' $ fusion tag preview --env prod --manifest app.manifest.prod.ts',
62
- ' $ fusion tag stable --appKey my-app --version 1.2.3',
63
- ].join('\n'))
64
- .addOption(createEnvOption({ allowDev: false }))
65
- .option('--appKey <string>', 'Application key (if not provided, resolved from manifest)')
66
- .option('-v, --version <string>', 'Version to tag (if not provided, resolved from manifest)')
67
- .option('-m, --manifest <string>', 'Manifest file to use for resolving app key and version')
68
- .option('--debug', 'Enable debug mode for verbose logging')
69
- .option('--silent', 'Silent mode, suppresses output except errors')
70
- .argument('<tag>', `Tag to apply (${Object.values(AllowedTags).join(' | ')})`)
71
- .action(async (tag, options) => {
72
- const log = options.silent ? null : new ConsoleLogger('app:tag', { debug: options.debug });
73
- const env = {
74
- command: 'build',
75
- environment: options.env,
76
- mode: process.env.NODE_ENV ?? 'production',
77
- root: process.cwd(),
78
- };
79
- let appKey = options.appKey;
80
- let version = options.version;
81
- if (!appKey || !version) {
82
- const { manifest: appManifest } = await loadAppManifest({
83
- log,
84
- manifest: options.manifest,
85
- env,
86
- });
87
- appKey = appKey ?? appManifest.appKey;
88
- version = version ?? appManifest.build?.version;
89
- }
90
- log?.start('Initializing Fusion Framework...');
91
- const framework = await initializeFramework({
92
- env: options.env,
93
- auth: {
94
- token: options.token,
95
- tenantId: options.tenantId,
96
- clientId: options.clientId,
97
- },
98
- });
99
- log?.succeed('Initialized Fusion Framework');
100
- log?.start('Tagging application...');
101
- await tagApplication({
102
- appKey,
103
- version,
104
- framework,
105
- log,
106
- tag,
107
- }).catch((error) => {
108
- log?.error('Failed to tag application:', error);
109
- process.exit(1);
110
- });
111
- }));
112
- export default command;
113
- //# sourceMappingURL=tag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/tag.ts"],"names":[],"mappings":"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"}
@@ -1,85 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import { DEFAULT_ARCHIVE } from './pack.js';
3
- import { withAuthOptions } from '../../options/auth.js';
4
- import { createEnvOption } from '../../options/env.js';
5
- import { uploadApplication } from '../../../bin/app-upload.js';
6
- import { ConsoleLogger } from '../../../bin/utils/ConsoleLogger.js';
7
- import { initializeFramework } from '../../../lib';
8
- /**
9
- * CLI command: `upload`
10
- *
11
- * Uploads a Fusion application bundle to the Fusion App Store.
12
- *
13
- * Features:
14
- * - Uploads a distributable application bundle (e.g., app-bundle.zip) to the Fusion app registry.
15
- * - Supports specifying application key, environment, and debug mode.
16
- *
17
- * Usage:
18
- * $ fusion upload [bundle] [options]
19
- *
20
- * Arguments:
21
- * [bundle] Application bundle to upload (default: app-bundle.zip)
22
- *
23
- * Options:
24
- * -k, --appKey <string> Application key (if not provided, resolved from manifest)
25
- * -e, --env <env> Target environment
26
- * -d, --debug Enable debug mode for verbose logging
27
- *
28
- * Example:
29
- * $ fusion upload
30
- * $ fusion upload my-app-bundle.zip --appKey my-app
31
- * $ fusion upload --debug
32
- *
33
- * @see uploadApplication for implementation details
34
- */
35
- export const command = withAuthOptions(createCommand('upload')
36
- .description('Upload a Fusion application bundle to the Fusion App Store.')
37
- .addHelpText('after', [
38
- '',
39
- 'Uploads a Fusion application bundle to the Fusion App Store.',
40
- 'Uploads a distributable application bundle (e.g., app-bundle.zip) to the Fusion app registry.',
41
- 'Supports specifying application key, environment, and debug mode.',
42
- '',
43
- 'Arguments:',
44
- ' [bundle] Application bundle to upload (default: app-bundle.zip)',
45
- '',
46
- 'Options:',
47
- ' -k, --appKey <string> Application key (if not provided, resolved from manifest)',
48
- ' -e, --env <env> Target environment',
49
- ' -d, --debug Enable debug mode for verbose logging',
50
- '',
51
- 'Examples:',
52
- ' $ fusion upload',
53
- ' $ fusion upload my-app-bundle.zip --appKey my-app',
54
- ' $ fusion upload --debug',
55
- ].join('\n'))
56
- .option('-d, --debug [boolean]', 'Enable debug mode for verbose logging', false)
57
- .option('-k, --appKey <string>', 'Application key (if not provided, resolved from manifest)')
58
- .addOption(createEnvOption({ allowDev: false }))
59
- .argument('[bundle]', 'Application bundle to upload (default: app-bundle.zip)', DEFAULT_ARCHIVE)
60
- .action(async (bundle, options) => {
61
- const log = new ConsoleLogger('portal:upload', {
62
- debug: options.debug,
63
- });
64
- log?.start('💾 Initializing Fusion Framework...');
65
- const framework = await initializeFramework({
66
- env: options.env,
67
- auth: {
68
- token: options.token,
69
- tenantId: options.tenantId,
70
- clientId: options.clientId,
71
- },
72
- });
73
- log?.succeed('💾 Initialized Fusion Framework');
74
- await uploadApplication({
75
- log,
76
- appKey: options.appKey,
77
- framework,
78
- fileOrBundle: bundle,
79
- }).catch((error) => {
80
- log.error('😢 Failed to upload bundle:', error);
81
- process.exit(1);
82
- });
83
- }));
84
- export default command;
85
- //# sourceMappingURL=upload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,QAAQ,CAAC;KACpB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,WAAW,CACV,OAAO,EACP;IACE,EAAE;IACF,8DAA8D;IAC9D,+FAA+F;IAC/F,mEAAmE;IACnE,EAAE;IACF,YAAY;IACZ,qEAAqE;IACrE,EAAE;IACF,UAAU;IACV,mFAAmF;IACnF,2CAA2C;IAC3C,8DAA8D;IAC9D,EAAE;IACF,WAAW;IACX,mBAAmB;IACnB,qDAAqD;IACrD,2BAA2B;CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,EAAE,KAAK,CAAC;KAC/E,MAAM,CAAC,uBAAuB,EAAE,2DAA2D,CAAC;KAC5F,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,QAAQ,CAAC,UAAU,EAAE,wDAAwD,EAAE,eAAe,CAAC;KAC/F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,eAAe,EAAE;QAC7C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,GAAG,EAAE,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,EAAE,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAEhD,MAAM,iBAAiB,CAAC;QACtB,GAAG;QACH,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS;QACT,YAAY,EAAE,MAAM;KACrB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}