@equinor/fusion-framework-cli 10.7.5-apploader-be21a6b60eb13eee8bf869e75002d8634e9c50a9 → 11.0.0-next.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 (522) hide show
  1. package/CHANGELOG.md +51 -2
  2. package/README.md +144 -17
  3. package/bin/build/bin.js +21 -0
  4. package/bin/build/cli.js +9868 -0
  5. package/bin/build/create-auth-client-7P8K_6Vu.js +89 -0
  6. package/bin/build/portal-pack-CAsnV44B.js +12069 -0
  7. package/bin/cli.mjs +4 -1
  8. package/dist/esm/bin/app-build.js +34 -0
  9. package/dist/esm/bin/app-build.js.map +1 -0
  10. package/dist/esm/bin/app-check.js +63 -0
  11. package/dist/esm/bin/app-check.js.map +1 -0
  12. package/dist/esm/bin/app-config-publish.js +89 -0
  13. package/dist/esm/bin/app-config-publish.js.map +1 -0
  14. package/dist/esm/bin/app-config.js +48 -0
  15. package/dist/esm/bin/app-config.js.map +1 -0
  16. package/dist/esm/bin/app-dev.js +92 -0
  17. package/dist/esm/bin/app-dev.js.map +1 -0
  18. package/dist/esm/bin/app-manifest.js +38 -0
  19. package/dist/esm/bin/app-manifest.js.map +1 -0
  20. package/dist/esm/bin/app-pack.js +51 -0
  21. package/dist/esm/bin/app-pack.js.map +1 -0
  22. package/dist/esm/bin/app-tag.js +89 -0
  23. package/dist/esm/bin/app-tag.js.map +1 -0
  24. package/dist/esm/bin/app-upload.js +109 -0
  25. package/dist/esm/bin/app-upload.js.map +1 -0
  26. package/dist/esm/bin/helpers/load-bundle-metadata.js +32 -0
  27. package/dist/esm/bin/helpers/load-bundle-metadata.js.map +1 -0
  28. package/dist/esm/bin/helpers/load-vite-config.js +55 -0
  29. package/dist/esm/bin/helpers/load-vite-config.js.map +1 -0
  30. package/dist/esm/bin/helpers/resolve-app-config.js +46 -0
  31. package/dist/esm/bin/helpers/resolve-app-config.js.map +1 -0
  32. package/dist/esm/bin/helpers/resolve-app-manifest.js +55 -0
  33. package/dist/esm/bin/helpers/resolve-app-manifest.js.map +1 -0
  34. package/dist/esm/bin/helpers/resolve-portal-manifest.js +55 -0
  35. package/dist/esm/bin/helpers/resolve-portal-manifest.js.map +1 -0
  36. package/dist/esm/bin/helpers/resolve-project-package.js +32 -0
  37. package/dist/esm/bin/helpers/resolve-project-package.js.map +1 -0
  38. package/dist/esm/bin/index.js +10 -0
  39. package/dist/esm/bin/index.js.map +1 -0
  40. package/dist/esm/bin/pack.js +70 -0
  41. package/dist/esm/bin/pack.js.map +1 -0
  42. package/dist/esm/bin/portal-build.js +40 -0
  43. package/dist/esm/bin/portal-build.js.map +1 -0
  44. package/dist/esm/bin/portal-dev.js +69 -0
  45. package/dist/esm/bin/portal-dev.js.map +1 -0
  46. package/dist/esm/bin/portal-manifest.js +38 -0
  47. package/dist/esm/bin/portal-manifest.js.map +1 -0
  48. package/dist/esm/bin/portal-pack.js +60 -0
  49. package/dist/esm/bin/portal-pack.js.map +1 -0
  50. package/dist/esm/bin/portal-tag.js +96 -0
  51. package/dist/esm/bin/portal-tag.js.map +1 -0
  52. package/dist/esm/bin/portal-upload.js +99 -0
  53. package/dist/esm/bin/portal-upload.js.map +1 -0
  54. package/dist/esm/bin/utils/ConsoleLogger.js +112 -0
  55. package/dist/esm/bin/utils/ConsoleLogger.js.map +1 -0
  56. package/dist/esm/bin/utils/create-dev-server.js +167 -0
  57. package/dist/esm/bin/utils/create-dev-server.js.map +1 -0
  58. package/dist/esm/bin/utils/format.js +47 -0
  59. package/dist/esm/bin/utils/format.js.map +1 -0
  60. package/dist/esm/bin/utils/index.js +5 -0
  61. package/dist/esm/bin/utils/index.js.map +1 -0
  62. package/dist/esm/bin/utils/spinner.js +142 -0
  63. package/dist/esm/bin/utils/spinner.js.map +1 -0
  64. package/dist/esm/cli/commands/app/alias.js +42 -0
  65. package/dist/esm/cli/commands/app/alias.js.map +1 -0
  66. package/dist/esm/cli/commands/app/build.js +46 -0
  67. package/dist/esm/cli/commands/app/build.js.map +1 -0
  68. package/dist/esm/cli/commands/app/check.js +47 -0
  69. package/dist/esm/cli/commands/app/check.js.map +1 -0
  70. package/dist/esm/cli/commands/app/config.js +91 -0
  71. package/dist/esm/cli/commands/app/config.js.map +1 -0
  72. package/dist/esm/cli/commands/app/dev.js +61 -0
  73. package/dist/esm/cli/commands/app/dev.js.map +1 -0
  74. package/dist/esm/cli/commands/app/index.js +25 -0
  75. package/dist/esm/cli/commands/app/index.js.map +1 -0
  76. package/dist/esm/cli/commands/app/manifest.js +73 -0
  77. package/dist/esm/cli/commands/app/manifest.js.map +1 -0
  78. package/dist/esm/cli/commands/app/pack.js +64 -0
  79. package/dist/esm/cli/commands/app/pack.js.map +1 -0
  80. package/dist/esm/cli/commands/app/publish.js +119 -0
  81. package/dist/esm/cli/commands/app/publish.js.map +1 -0
  82. package/dist/esm/cli/commands/app/tag.js +101 -0
  83. package/dist/esm/cli/commands/app/tag.js.map +1 -0
  84. package/dist/esm/cli/commands/app/upload.js +80 -0
  85. package/dist/esm/cli/commands/app/upload.js.map +1 -0
  86. package/dist/esm/cli/commands/auth/index.js +10 -0
  87. package/dist/esm/cli/commands/auth/index.js.map +1 -0
  88. package/dist/esm/cli/commands/auth/login.js +68 -0
  89. package/dist/esm/cli/commands/auth/login.js.map +1 -0
  90. package/dist/esm/cli/commands/auth/logout.js +55 -0
  91. package/dist/esm/cli/commands/auth/logout.js.map +1 -0
  92. package/dist/esm/cli/commands/auth/token.js +74 -0
  93. package/dist/esm/cli/commands/auth/token.js.map +1 -0
  94. package/dist/esm/cli/commands/disco/index.js +6 -0
  95. package/dist/esm/cli/commands/disco/index.js.map +1 -0
  96. package/dist/esm/cli/commands/disco/resolve.js +61 -0
  97. package/dist/esm/cli/commands/disco/resolve.js.map +1 -0
  98. package/dist/esm/cli/commands/index.js +11 -0
  99. package/dist/esm/cli/commands/index.js.map +1 -0
  100. package/dist/esm/cli/commands/portal/build.js +22 -0
  101. package/dist/esm/cli/commands/portal/build.js.map +1 -0
  102. package/dist/esm/cli/commands/portal/dev.js +24 -0
  103. package/dist/esm/cli/commands/portal/dev.js.map +1 -0
  104. package/dist/esm/cli/commands/portal/index.js +21 -0
  105. package/dist/esm/cli/commands/portal/index.js.map +1 -0
  106. package/dist/esm/cli/commands/portal/manifest.js +45 -0
  107. package/dist/esm/cli/commands/portal/manifest.js.map +1 -0
  108. package/dist/esm/cli/commands/portal/pack.js +35 -0
  109. package/dist/esm/cli/commands/portal/pack.js.map +1 -0
  110. package/dist/esm/cli/commands/portal/publish.js +73 -0
  111. package/dist/esm/cli/commands/portal/publish.js.map +1 -0
  112. package/dist/esm/cli/commands/portal/schema.js +68 -0
  113. package/dist/esm/cli/commands/portal/schema.js.map +1 -0
  114. package/dist/esm/cli/commands/portal/tag.js +69 -0
  115. package/dist/esm/cli/commands/portal/tag.js.map +1 -0
  116. package/dist/esm/cli/commands/portal/upload.js +40 -0
  117. package/dist/esm/cli/commands/portal/upload.js.map +1 -0
  118. package/dist/esm/cli/main.js +52 -0
  119. package/dist/esm/cli/main.js.map +1 -0
  120. package/dist/esm/cli/options/auth.js +96 -0
  121. package/dist/esm/cli/options/auth.js.map +1 -0
  122. package/dist/esm/cli/options/env.js +30 -0
  123. package/dist/esm/cli/options/env.js.map +1 -0
  124. package/dist/esm/lib/app/app-config.js +12 -0
  125. package/dist/esm/lib/app/app-config.js.map +1 -0
  126. package/dist/esm/lib/app/app-manifest.js +15 -0
  127. package/dist/esm/lib/app/app-manifest.js.map +1 -0
  128. package/dist/{lib → esm/lib/app}/app-package.js +30 -10
  129. package/dist/esm/lib/app/app-package.js.map +1 -0
  130. package/dist/esm/lib/app/create-app-manifest.js +72 -0
  131. package/dist/esm/lib/app/create-app-manifest.js.map +1 -0
  132. package/dist/esm/lib/app/index.js +9 -0
  133. package/dist/esm/lib/app/index.js.map +1 -0
  134. package/dist/esm/lib/app/load-app-config.js +47 -0
  135. package/dist/esm/lib/app/load-app-config.js.map +1 -0
  136. package/dist/esm/lib/app/load-app-manifest.js +61 -0
  137. package/dist/esm/lib/app/load-app-manifest.js.map +1 -0
  138. package/dist/esm/lib/app/merge-app-config.js +21 -0
  139. package/dist/esm/lib/app/merge-app-config.js.map +1 -0
  140. package/dist/esm/lib/app/merge-app-manifest.js +31 -0
  141. package/dist/esm/lib/app/merge-app-manifest.js.map +1 -0
  142. package/dist/esm/lib/app/schemas.js +28 -0
  143. package/dist/esm/lib/app/schemas.js.map +1 -0
  144. package/dist/esm/lib/dev-server.js +3 -0
  145. package/dist/esm/lib/dev-server.js.map +1 -0
  146. package/dist/esm/lib/framework.node.js +104 -0
  147. package/dist/esm/lib/framework.node.js.map +1 -0
  148. package/dist/esm/lib/index.js +5 -0
  149. package/dist/esm/lib/index.js.map +1 -0
  150. package/dist/esm/lib/legacy.js +38 -0
  151. package/dist/esm/lib/legacy.js.map +1 -0
  152. package/dist/esm/lib/load-dev-server-config.js +43 -0
  153. package/dist/esm/lib/load-dev-server-config.js.map +1 -0
  154. package/dist/esm/lib/merge-dev-server-config.js +37 -0
  155. package/dist/esm/lib/merge-dev-server-config.js.map +1 -0
  156. package/dist/esm/lib/portal/create-portal-manifest.js +93 -0
  157. package/dist/esm/lib/portal/create-portal-manifest.js.map +1 -0
  158. package/dist/esm/lib/portal/index.js +3 -0
  159. package/dist/esm/lib/portal/index.js.map +1 -0
  160. package/dist/esm/lib/portal/load-portal-manifest.js +54 -0
  161. package/dist/esm/lib/portal/load-portal-manifest.js.map +1 -0
  162. package/dist/esm/lib/portal/load-portal-schema.js +49 -0
  163. package/dist/esm/lib/portal/load-portal-schema.js.map +1 -0
  164. package/dist/esm/lib/portal/portal-manifest.js +21 -0
  165. package/dist/esm/lib/portal/portal-manifest.js.map +1 -0
  166. package/dist/esm/lib/portal/portal-manifest.schema.js +134 -0
  167. package/dist/esm/lib/portal/portal-manifest.schema.js.map +1 -0
  168. package/dist/esm/lib/static.js +20 -0
  169. package/dist/esm/lib/static.js.map +1 -0
  170. package/dist/{lib/utils → esm/lib}/types.js.map +1 -1
  171. package/dist/esm/lib/utils/assert.js +87 -0
  172. package/dist/esm/lib/utils/assert.js.map +1 -0
  173. package/dist/esm/lib/utils/expect.js.map +1 -0
  174. package/dist/{lib/plugins/app-assets/extension-filter-pattern.js → esm/lib/utils/extension-filter.js} +1 -1
  175. package/dist/esm/lib/utils/extension-filter.js.map +1 -0
  176. package/dist/esm/lib/utils/file-exists.js.map +1 -0
  177. package/dist/esm/lib/utils/index.js +6 -0
  178. package/dist/esm/lib/utils/index.js.map +1 -0
  179. package/dist/{lib → esm/lib}/utils/parse-json-request.js +3 -1
  180. package/dist/esm/lib/utils/parse-json-request.js.map +1 -0
  181. package/dist/esm/lib/utils/resolve-annotations.js +28 -0
  182. package/dist/esm/lib/utils/resolve-annotations.js.map +1 -0
  183. package/dist/esm/lib/utils/resolve-devops-annotations.js +59 -0
  184. package/dist/esm/lib/utils/resolve-devops-annotations.js.map +1 -0
  185. package/dist/esm/lib/utils/resolve-git-commit-sha.js +23 -0
  186. package/dist/esm/lib/utils/resolve-git-commit-sha.js.map +1 -0
  187. package/dist/esm/lib/utils/resolve-git-remote-url.js +24 -0
  188. package/dist/esm/lib/utils/resolve-git-remote-url.js.map +1 -0
  189. package/dist/esm/lib/utils/resolve-github-annotations.js +127 -0
  190. package/dist/esm/lib/utils/resolve-github-annotations.js.map +1 -0
  191. package/dist/esm/lib/utils/resolve-package-repo.js +14 -0
  192. package/dist/esm/lib/utils/resolve-package-repo.js.map +1 -0
  193. package/dist/esm/lib/utils/resolve-package.js +18 -0
  194. package/dist/esm/lib/utils/resolve-package.js.map +1 -0
  195. package/dist/esm/lib/utils/resolve-source-entry-point.js +39 -0
  196. package/dist/esm/lib/utils/resolve-source-entry-point.js.map +1 -0
  197. package/dist/esm/lib/utils/types.js.map +1 -0
  198. package/dist/esm/lib/utils/write-file.js +25 -0
  199. package/dist/esm/lib/utils/write-file.js.map +1 -0
  200. package/dist/esm/version.js +3 -0
  201. package/dist/esm/version.js.map +1 -0
  202. package/dist/tsconfig.tsbuildinfo +1 -0
  203. package/dist/types/bin/app-build.d.ts +52 -0
  204. package/dist/types/bin/app-check.d.ts +31 -0
  205. package/dist/types/bin/app-config-publish.d.ts +23 -0
  206. package/dist/types/bin/app-config.d.ts +52 -0
  207. package/dist/types/bin/app-dev.d.ts +45 -0
  208. package/dist/types/bin/app-manifest.d.ts +42 -0
  209. package/dist/types/bin/app-pack.d.ts +38 -0
  210. package/dist/types/bin/app-tag.d.ts +51 -0
  211. package/dist/types/bin/app-upload.d.ts +40 -0
  212. package/dist/types/bin/helpers/load-bundle-metadata.d.ts +15 -0
  213. package/dist/types/bin/helpers/load-vite-config.d.ts +12 -0
  214. package/dist/types/bin/helpers/resolve-app-config.d.ts +18 -0
  215. package/dist/types/bin/helpers/resolve-app-manifest.d.ts +17 -0
  216. package/dist/types/bin/helpers/resolve-portal-manifest.d.ts +27 -0
  217. package/dist/types/bin/helpers/resolve-project-package.d.ts +13 -0
  218. package/dist/types/bin/index.d.ts +9 -0
  219. package/dist/types/bin/pack.d.ts +36 -0
  220. package/dist/types/bin/portal-build.d.ts +54 -0
  221. package/dist/types/bin/portal-dev.d.ts +37 -0
  222. package/dist/types/bin/portal-manifest.d.ts +60 -0
  223. package/dist/types/bin/portal-pack.d.ts +54 -0
  224. package/dist/types/bin/portal-tag.d.ts +51 -0
  225. package/dist/types/bin/portal-upload.d.ts +37 -0
  226. package/dist/types/bin/utils/ConsoleLogger.d.ts +84 -0
  227. package/dist/types/bin/utils/create-dev-server.d.ts +49 -0
  228. package/dist/types/bin/utils/format.d.ts +27 -0
  229. package/dist/types/bin/utils/index.d.ts +3 -13
  230. package/dist/types/bin/utils/spinner.d.ts +75 -0
  231. package/dist/types/cli/commands/app/alias.d.ts +6 -0
  232. package/dist/types/cli/commands/app/build.d.ts +27 -0
  233. package/dist/types/cli/commands/app/check.d.ts +26 -0
  234. package/dist/types/cli/commands/app/config.d.ts +34 -0
  235. package/dist/types/cli/commands/app/dev.d.ts +29 -0
  236. package/dist/types/cli/commands/app/index.d.ts +3 -0
  237. package/dist/types/cli/commands/app/manifest.d.ts +30 -0
  238. package/dist/types/cli/commands/app/pack.d.ts +31 -0
  239. package/dist/types/cli/commands/app/publish.d.ts +31 -0
  240. package/dist/types/cli/commands/app/tag.d.ts +33 -0
  241. package/dist/types/cli/commands/app/upload.d.ts +29 -0
  242. package/dist/types/cli/commands/auth/index.d.ts +3 -0
  243. package/dist/types/cli/commands/auth/login.d.ts +2 -0
  244. package/dist/types/cli/commands/auth/logout.d.ts +12 -0
  245. package/dist/types/cli/commands/auth/token.d.ts +13 -0
  246. package/dist/types/cli/commands/disco/index.d.ts +2 -0
  247. package/dist/types/cli/commands/disco/resolve.d.ts +25 -0
  248. package/dist/types/cli/commands/portal/build.d.ts +2 -0
  249. package/dist/types/cli/commands/portal/dev.d.ts +2 -0
  250. package/dist/types/cli/commands/portal/index.d.ts +2 -0
  251. package/dist/types/cli/commands/portal/manifest.d.ts +2 -0
  252. package/dist/types/cli/commands/portal/pack.d.ts +2 -0
  253. package/dist/types/cli/commands/portal/publish.d.ts +2 -0
  254. package/dist/types/cli/commands/portal/schema.d.ts +2 -0
  255. package/dist/types/cli/commands/portal/tag.d.ts +2 -0
  256. package/dist/types/cli/commands/portal/upload.d.ts +2 -0
  257. package/dist/types/cli/main.d.ts +21 -0
  258. package/dist/types/cli/options/auth.d.ts +37 -0
  259. package/dist/types/cli/options/env.d.ts +19 -0
  260. package/dist/types/lib/app/app-config.d.ts +31 -0
  261. package/dist/types/lib/app/app-manifest.d.ts +39 -0
  262. package/dist/types/lib/{app-package.d.ts → app/app-package.d.ts} +27 -10
  263. package/dist/types/lib/app/create-app-manifest.d.ts +17 -0
  264. package/dist/types/lib/app/index.d.ts +8 -0
  265. package/dist/types/lib/app/load-app-config.d.ts +54 -0
  266. package/dist/types/lib/app/load-app-manifest.d.ts +57 -0
  267. package/dist/types/lib/app/merge-app-config.d.ts +13 -0
  268. package/dist/types/lib/app/merge-app-manifest.d.ts +25 -0
  269. package/dist/types/{schemas.d.ts → lib/app/schemas.d.ts} +10 -1
  270. package/dist/types/lib/dev-server.d.ts +2 -0
  271. package/dist/types/lib/framework.node.d.ts +77 -0
  272. package/dist/types/lib/index.d.ts +4 -3
  273. package/dist/types/lib/legacy.d.ts +24 -0
  274. package/dist/types/lib/load-dev-server-config.d.ts +40 -0
  275. package/dist/types/lib/merge-dev-server-config.d.ts +16 -0
  276. package/dist/types/lib/portal/create-portal-manifest.d.ts +22 -0
  277. package/dist/types/lib/portal/index.d.ts +2 -0
  278. package/dist/types/lib/portal/load-portal-manifest.d.ts +65 -0
  279. package/dist/types/lib/portal/load-portal-schema.d.ts +43 -0
  280. package/dist/types/lib/portal/portal-manifest.d.ts +16 -0
  281. package/dist/types/lib/portal/portal-manifest.schema.d.ts +154 -0
  282. package/dist/types/lib/static.d.ts +10 -0
  283. package/dist/types/lib/types.d.ts +34 -0
  284. package/dist/types/lib/utils/assert.d.ts +48 -0
  285. package/dist/types/lib/utils/index.d.ts +5 -0
  286. package/dist/types/lib/utils/resolve-annotations.d.ts +11 -0
  287. package/dist/types/lib/utils/resolve-devops-annotations.d.ts +30 -0
  288. package/dist/types/lib/utils/resolve-git-commit-sha.d.ts +13 -0
  289. package/dist/types/lib/utils/resolve-git-remote-url.d.ts +13 -0
  290. package/dist/types/lib/utils/resolve-github-annotations.d.ts +65 -0
  291. package/dist/types/lib/utils/resolve-package-repo.d.ts +9 -0
  292. package/dist/types/lib/utils/resolve-package.d.ts +15 -0
  293. package/dist/types/lib/utils/resolve-source-entry-point.d.ts +17 -0
  294. package/dist/types/lib/utils/types.d.ts +1 -1
  295. package/dist/types/lib/utils/write-file.d.ts +14 -0
  296. package/dist/types/version.d.ts +1 -1
  297. package/docs/application.md +644 -0
  298. package/docs/auth.md +190 -0
  299. package/docs/libsecret.md +97 -0
  300. package/docs/migration-v10-to-v11.md +74 -0
  301. package/docs/portal.md +278 -0
  302. package/package.json +60 -69
  303. package/dist/bin/build-application.js +0 -55
  304. package/dist/bin/build-application.js.map +0 -1
  305. package/dist/bin/bundle-application.js +0 -41
  306. package/dist/bin/bundle-application.js.map +0 -1
  307. package/dist/bin/create-dev-serve.js +0 -127
  308. package/dist/bin/create-dev-serve.js.map +0 -1
  309. package/dist/bin/create-export-config.js +0 -40
  310. package/dist/bin/create-export-config.js.map +0 -1
  311. package/dist/bin/create-export-manifest.js +0 -67
  312. package/dist/bin/create-export-manifest.js.map +0 -1
  313. package/dist/bin/dev-portal/AppLoader.js +0 -80
  314. package/dist/bin/dev-portal/AppLoader.js.map +0 -1
  315. package/dist/bin/dev-portal/BookMarkSideSheet.js +0 -13
  316. package/dist/bin/dev-portal/BookMarkSideSheet.js.map +0 -1
  317. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +0 -40
  318. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +0 -1
  319. package/dist/bin/dev-portal/ContextSelector/index.js +0 -2
  320. package/dist/bin/dev-portal/ContextSelector/index.js.map +0 -1
  321. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +0 -216
  322. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +0 -1
  323. package/dist/bin/dev-portal/EquinorLoader.js +0 -14
  324. package/dist/bin/dev-portal/EquinorLoader.js.map +0 -1
  325. package/dist/bin/dev-portal/ErrorViewer.js +0 -7
  326. package/dist/bin/dev-portal/ErrorViewer.js.map +0 -1
  327. package/dist/bin/dev-portal/FusionLogo.js +0 -4
  328. package/dist/bin/dev-portal/FusionLogo.js.map +0 -1
  329. package/dist/bin/dev-portal/Header.Actions.js +0 -12
  330. package/dist/bin/dev-portal/Header.Actions.js.map +0 -1
  331. package/dist/bin/dev-portal/Header.js +0 -41
  332. package/dist/bin/dev-portal/Header.js.map +0 -1
  333. package/dist/bin/dev-portal/PersonSideSheet/index.js +0 -32
  334. package/dist/bin/dev-portal/PersonSideSheet/index.js.map +0 -1
  335. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js +0 -16
  336. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js.map +0 -1
  337. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +0 -15
  338. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +0 -1
  339. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +0 -13
  340. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +0 -1
  341. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js +0 -19
  342. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js.map +0 -1
  343. package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js +0 -30
  344. package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js.map +0 -1
  345. package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js +0 -3
  346. package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js.map +0 -1
  347. package/dist/bin/dev-portal/PersonSideSheet/sheets/types.js.map +0 -1
  348. package/dist/bin/dev-portal/Router.js +0 -59
  349. package/dist/bin/dev-portal/Router.js.map +0 -1
  350. package/dist/bin/dev-portal/config.js +0 -79
  351. package/dist/bin/dev-portal/config.js.map +0 -1
  352. package/dist/bin/dev-portal/main.js +0 -13
  353. package/dist/bin/dev-portal/main.js.map +0 -1
  354. package/dist/bin/dev-portal/resources/fallback-photo.svg.js +0 -3
  355. package/dist/bin/dev-portal/resources/fallback-photo.svg.js.map +0 -1
  356. package/dist/bin/dev-portal/useAppContextNavigation.js +0 -87
  357. package/dist/bin/dev-portal/useAppContextNavigation.js.map +0 -1
  358. package/dist/bin/main.app.js +0 -172
  359. package/dist/bin/main.app.js.map +0 -1
  360. package/dist/bin/main.js +0 -20
  361. package/dist/bin/main.js.map +0 -1
  362. package/dist/bin/public/assets/index-B7SVn0UQ.js +0 -3686
  363. package/dist/bin/public/index.html +0 -37
  364. package/dist/bin/publish-application.js +0 -96
  365. package/dist/bin/publish-application.js.map +0 -1
  366. package/dist/bin/tag-application.js +0 -73
  367. package/dist/bin/tag-application.js.map +0 -1
  368. package/dist/bin/upload-application.js +0 -63
  369. package/dist/bin/upload-application.js.map +0 -1
  370. package/dist/bin/upload-export-config.js +0 -78
  371. package/dist/bin/upload-export-config.js.map +0 -1
  372. package/dist/bin/utils/execute-command.js +0 -14
  373. package/dist/bin/utils/execute-command.js.map +0 -1
  374. package/dist/bin/utils/format.js +0 -16
  375. package/dist/bin/utils/format.js.map +0 -1
  376. package/dist/bin/utils/getEndpointUrl.js +0 -40
  377. package/dist/bin/utils/getEndpointUrl.js.map +0 -1
  378. package/dist/bin/utils/index.js +0 -14
  379. package/dist/bin/utils/index.js.map +0 -1
  380. package/dist/bin/utils/isAppRegistered.js +0 -26
  381. package/dist/bin/utils/isAppRegistered.js.map +0 -1
  382. package/dist/bin/utils/load-app-config.js +0 -26
  383. package/dist/bin/utils/load-app-config.js.map +0 -1
  384. package/dist/bin/utils/load-manifest.js +0 -31
  385. package/dist/bin/utils/load-manifest.js.map +0 -1
  386. package/dist/bin/utils/load-package.js +0 -18
  387. package/dist/bin/utils/load-package.js.map +0 -1
  388. package/dist/bin/utils/load-vite-config.js +0 -45
  389. package/dist/bin/utils/load-vite-config.js.map +0 -1
  390. package/dist/bin/utils/proxy-request-logger.js +0 -33
  391. package/dist/bin/utils/proxy-request-logger.js.map +0 -1
  392. package/dist/bin/utils/publishAppConfig.js +0 -29
  393. package/dist/bin/utils/publishAppConfig.js.map +0 -1
  394. package/dist/bin/utils/requireToken.js +0 -9
  395. package/dist/bin/utils/requireToken.js.map +0 -1
  396. package/dist/bin/utils/spinner.js +0 -65
  397. package/dist/bin/utils/spinner.js.map +0 -1
  398. package/dist/bin/utils/tagAppBundle.js +0 -26
  399. package/dist/bin/utils/tagAppBundle.js.map +0 -1
  400. package/dist/bin/utils/uploadAppBundle.js +0 -45
  401. package/dist/bin/utils/uploadAppBundle.js.map +0 -1
  402. package/dist/lib/app-config.js +0 -32
  403. package/dist/lib/app-config.js.map +0 -1
  404. package/dist/lib/app-manifest.js +0 -142
  405. package/dist/lib/app-manifest.js.map +0 -1
  406. package/dist/lib/app-package.js.map +0 -1
  407. package/dist/lib/index.js +0 -4
  408. package/dist/lib/index.js.map +0 -1
  409. package/dist/lib/plugins/app-assets/app-asset-plugin.js +0 -96
  410. package/dist/lib/plugins/app-assets/app-asset-plugin.js.map +0 -1
  411. package/dist/lib/plugins/app-assets/emit-asset.js +0 -46
  412. package/dist/lib/plugins/app-assets/emit-asset.js.map +0 -1
  413. package/dist/lib/plugins/app-assets/extension-filter-pattern.js.map +0 -1
  414. package/dist/lib/plugins/app-assets/index.js +0 -4
  415. package/dist/lib/plugins/app-assets/index.js.map +0 -1
  416. package/dist/lib/plugins/app-assets/read-asset-content.js +0 -34
  417. package/dist/lib/plugins/app-assets/read-asset-content.js.map +0 -1
  418. package/dist/lib/plugins/app-assets/resolve-asset-id.js +0 -54
  419. package/dist/lib/plugins/app-assets/resolve-asset-id.js.map +0 -1
  420. package/dist/lib/plugins/app-assets/static.js +0 -15
  421. package/dist/lib/plugins/app-assets/static.js.map +0 -1
  422. package/dist/lib/plugins/app-proxy/app-proxy-plugin.js +0 -125
  423. package/dist/lib/plugins/app-proxy/app-proxy-plugin.js.map +0 -1
  424. package/dist/lib/plugins/app-proxy/index.js +0 -2
  425. package/dist/lib/plugins/app-proxy/index.js.map +0 -1
  426. package/dist/lib/plugins/app-settings/index.js +0 -36
  427. package/dist/lib/plugins/app-settings/index.js.map +0 -1
  428. package/dist/lib/plugins/external-public/external-public-plugin.js +0 -101
  429. package/dist/lib/plugins/external-public/external-public-plugin.js.map +0 -1
  430. package/dist/lib/plugins/external-public/index.js +0 -2
  431. package/dist/lib/plugins/external-public/index.js.map +0 -1
  432. package/dist/lib/plugins/help-proxy/help-proxy-plugin.js +0 -78
  433. package/dist/lib/plugins/help-proxy/help-proxy-plugin.js.map +0 -1
  434. package/dist/lib/plugins/help-proxy/index.js +0 -2
  435. package/dist/lib/plugins/help-proxy/index.js.map +0 -1
  436. package/dist/lib/utils/assert.js +0 -28
  437. package/dist/lib/utils/assert.js.map +0 -1
  438. package/dist/lib/utils/config.js +0 -67
  439. package/dist/lib/utils/config.js.map +0 -1
  440. package/dist/lib/utils/expect.js.map +0 -1
  441. package/dist/lib/utils/file-exists.js.map +0 -1
  442. package/dist/lib/utils/parse-json-request.js.map +0 -1
  443. package/dist/lib/utils/ts-transpile.js +0 -45
  444. package/dist/lib/utils/ts-transpile.js.map +0 -1
  445. package/dist/lib/vite-config.js +0 -76
  446. package/dist/lib/vite-config.js.map +0 -1
  447. package/dist/lib/vite-logger.js +0 -21
  448. package/dist/lib/vite-logger.js.map +0 -1
  449. package/dist/schemas.js +0 -14
  450. package/dist/schemas.js.map +0 -1
  451. package/dist/types/bin/build-application.d.ts +0 -13
  452. package/dist/types/bin/bundle-application.d.ts +0 -4
  453. package/dist/types/bin/create-dev-serve.d.ts +0 -12
  454. package/dist/types/bin/create-export-config.d.ts +0 -13
  455. package/dist/types/bin/create-export-manifest.d.ts +0 -16
  456. package/dist/types/bin/dev-portal/AppLoader.d.ts +0 -11
  457. package/dist/types/bin/dev-portal/BookMarkSideSheet.d.ts +0 -6
  458. package/dist/types/bin/dev-portal/ContextSelector/ContextSelector.d.ts +0 -8
  459. package/dist/types/bin/dev-portal/ContextSelector/index.d.ts +0 -1
  460. package/dist/types/bin/dev-portal/ContextSelector/useContextResolver.d.ts +0 -15
  461. package/dist/types/bin/dev-portal/EquinorLoader.d.ts +0 -5
  462. package/dist/types/bin/dev-portal/ErrorViewer.d.ts +0 -4
  463. package/dist/types/bin/dev-portal/FusionLogo.d.ts +0 -6
  464. package/dist/types/bin/dev-portal/Header.Actions.d.ts +0 -7
  465. package/dist/types/bin/dev-portal/Header.d.ts +0 -2
  466. package/dist/types/bin/dev-portal/PersonSideSheet/index.d.ts +0 -11
  467. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.d.ts +0 -6
  468. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.d.ts +0 -5
  469. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.d.ts +0 -5
  470. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.d.ts +0 -5
  471. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +0 -6
  472. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/index.d.ts +0 -2
  473. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/types.d.ts +0 -5
  474. package/dist/types/bin/dev-portal/Router.d.ts +0 -1
  475. package/dist/types/bin/dev-portal/config.d.ts +0 -3
  476. package/dist/types/bin/dev-portal/main.d.ts +0 -1
  477. package/dist/types/bin/dev-portal/resources/fallback-photo.svg.d.ts +0 -2
  478. package/dist/types/bin/dev-portal/useAppContextNavigation.d.ts +0 -5
  479. package/dist/types/bin/main.d.ts +0 -1
  480. package/dist/types/bin/publish-application.d.ts +0 -6
  481. package/dist/types/bin/tag-application.d.ts +0 -12
  482. package/dist/types/bin/upload-application.d.ts +0 -6
  483. package/dist/types/bin/upload-export-config.d.ts +0 -10
  484. package/dist/types/bin/utils/execute-command.d.ts +0 -8
  485. package/dist/types/bin/utils/getEndpointUrl.d.ts +0 -10
  486. package/dist/types/bin/utils/isAppRegistered.d.ts +0 -5
  487. package/dist/types/bin/utils/load-app-config.d.ts +0 -10
  488. package/dist/types/bin/utils/load-manifest.d.ts +0 -10
  489. package/dist/types/bin/utils/load-package.d.ts +0 -5
  490. package/dist/types/bin/utils/load-vite-config.d.ts +0 -10
  491. package/dist/types/bin/utils/proxy-request-logger.d.ts +0 -15
  492. package/dist/types/bin/utils/publishAppConfig.d.ts +0 -9
  493. package/dist/types/bin/utils/requireToken.d.ts +0 -4
  494. package/dist/types/bin/utils/tagAppBundle.d.ts +0 -7
  495. package/dist/types/bin/utils/uploadAppBundle.d.ts +0 -7
  496. package/dist/types/lib/app-config.d.ts +0 -27
  497. package/dist/types/lib/app-manifest.d.ts +0 -52
  498. package/dist/types/lib/plugins/app-assets/app-asset-plugin.d.ts +0 -36
  499. package/dist/types/lib/plugins/app-assets/emit-asset.d.ts +0 -18
  500. package/dist/types/lib/plugins/app-assets/index.d.ts +0 -3
  501. package/dist/types/lib/plugins/app-assets/read-asset-content.d.ts +0 -14
  502. package/dist/types/lib/plugins/app-assets/resolve-asset-id.d.ts +0 -16
  503. package/dist/types/lib/plugins/app-assets/static.d.ts +0 -5
  504. package/dist/types/lib/plugins/app-proxy/app-proxy-plugin.d.ts +0 -89
  505. package/dist/types/lib/plugins/app-proxy/index.d.ts +0 -1
  506. package/dist/types/lib/plugins/app-settings/index.d.ts +0 -32
  507. package/dist/types/lib/plugins/external-public/external-public-plugin.d.ts +0 -30
  508. package/dist/types/lib/plugins/external-public/index.d.ts +0 -1
  509. package/dist/types/lib/plugins/help-proxy/help-proxy-plugin.d.ts +0 -42
  510. package/dist/types/lib/plugins/help-proxy/index.d.ts +0 -1
  511. package/dist/types/lib/utils/config.d.ts +0 -32
  512. package/dist/types/lib/utils/ts-transpile.d.ts +0 -2
  513. package/dist/types/lib/vite-config.d.ts +0 -17
  514. package/dist/types/lib/vite-logger.d.ts +0 -2
  515. package/dist/version.js +0 -3
  516. package/dist/version.js.map +0 -1
  517. /package/dist/{bin/dev-portal/PersonSideSheet/sheets → esm/lib}/types.js +0 -0
  518. /package/dist/{lib → esm/lib}/utils/expect.js +0 -0
  519. /package/dist/{lib → esm/lib}/utils/file-exists.js +0 -0
  520. /package/dist/{lib → esm/lib}/utils/types.js +0 -0
  521. /package/dist/types/{bin/main.app.d.ts → cli/commands/index.d.ts} +0 -0
  522. /package/dist/types/lib/{plugins/app-assets/extension-filter-pattern.d.ts → utils/extension-filter.d.ts} +0 -0
@@ -0,0 +1,64 @@
1
+ import { createCommand } from 'commander';
2
+ import { bundleApp } from '../../../bin';
3
+ import { ConsoleLogger } from '../../../bin/utils';
4
+ export const defaultArchive = '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([
35
+ 'Create a distributable app bundle of the application.',
36
+ 'The bundle includes all necessary files for deployment.',
37
+ 'You can specify the output filename and directory.',
38
+ 'Optionally, provide a manifest file to customize the bundle.',
39
+ 'If no manifest is provided, the command will look for a default app.manifest.[ts|js|json] in the current directory.',
40
+ 'For more details, see the Fusion Framework documentation.',
41
+ '',
42
+ 'Examples:',
43
+ ' $ fusion pack',
44
+ ' $ fusion pack app.manifest.dev.ts --archive my-app.zip --output ./dist',
45
+ ].join('\n'))
46
+ .option('-a, --archive [string]', 'Name of the output archive file (default: app-bundle.zip)', defaultArchive)
47
+ .option('-o, --output [string]', 'Directory where the archive will be saved (default: current working directory)', process.cwd())
48
+ .option('-d, --debug', 'Enable debug mode for verbose logging', false)
49
+ .argument('[manifest]', 'Manifest file to use for bundling (e.g., app.manifest.ts)')
50
+ .action(async (manifest, options) => {
51
+ const log = new ConsoleLogger('app:pack', {
52
+ debug: options.debug,
53
+ });
54
+ await bundleApp({
55
+ log,
56
+ manifest,
57
+ archive: options.archive,
58
+ }).catch((error) => {
59
+ log.error('Failed to create package:', error);
60
+ process.exit(1);
61
+ });
62
+ });
63
+ export default command;
64
+ //# sourceMappingURL=pack.js.map
@@ -0,0 +1 @@
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,cAAc,GAAG,gBAAgB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;KACzC,WAAW,CACV;IACE,uDAAuD;IACvD,yDAAyD;IACzD,oDAAoD;IACpD,8DAA8D;IAC9D,qHAAqH;IACrH,2DAA2D;IAC3D,EAAE;IACF,WAAW;IACX,iBAAiB;IACjB,0EAA0E;CAC3E,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CACL,wBAAwB,EACxB,2DAA2D,EAC3D,cAAc,CACf;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"}
@@ -0,0 +1,119 @@
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([
40
+ 'Build, upload, and tag your Fusion application for deployment to the Fusion portal.',
41
+ '',
42
+ 'This command bundles your app, uploads it to the Fusion app store, and applies a tag for versioning.',
43
+ 'You can specify the environment, manifest file, and tag to use. Debug mode and authentication options are supported.',
44
+ '',
45
+ 'Examples:',
46
+ ' $ fusion publish',
47
+ ' $ fusion publish --env prod --manifest app.manifest.prod.ts',
48
+ ' $ fusion publish --tag latest app.bundle.zip',
49
+ ].join('\n'))
50
+ .option('-d, --debug', 'Enable debug mode for verbose logging', false)
51
+ .addOption(createEnvOption({ allowDev: false }))
52
+ .option('-m, --manifest [string]', 'Manifest file to use for bundling (e.g., app.manifest.ts)')
53
+ .option('-t, --tag [string]', `Tag to apply to the published app (${Object.values(AllowedTags).join(' | ')})`, AllowedTags.Latest)
54
+ .argument('[bundle]', 'Path to the app bundle to upload')
55
+ .action(async (bundle, options) => {
56
+ const log = new ConsoleLogger('app:publish', {
57
+ debug: options.debug,
58
+ });
59
+ let archive;
60
+ if (bundle) {
61
+ log.info(`📦 Using provided bundle: ${bundle}`);
62
+ archive = bundle;
63
+ }
64
+ else {
65
+ try {
66
+ log.start('📦 Bundle application...');
67
+ const buildResult = await bundleApp({
68
+ log,
69
+ manifest: options.manifest,
70
+ });
71
+ archive = buildResult.archive;
72
+ log.succeed('📦 Bundle completed');
73
+ }
74
+ catch (error) {
75
+ log.error('😢 Failed to bundle application:', error);
76
+ process.exit(1);
77
+ }
78
+ }
79
+ if (!archive) {
80
+ log.error('😢 No bundle provided or created. Please specify a bundle file.');
81
+ process.exit(1);
82
+ }
83
+ log?.start('💾 Initializing Fusion Framework...');
84
+ const framework = await initializeFramework({
85
+ env: options.env,
86
+ auth: {
87
+ token: options.token,
88
+ tenantId: options.tenantId,
89
+ clientId: options.clientId,
90
+ },
91
+ });
92
+ log?.succeed('💾 Initialized Fusion Framework');
93
+ log.start('🚀 Uploading application...');
94
+ const uploadResult = await uploadApplication({
95
+ log,
96
+ framework,
97
+ fileOrBundle: archive,
98
+ }).catch((error) => {
99
+ log.error('😢 Failed to upload bundle:', error);
100
+ process.exit(1);
101
+ });
102
+ log.succeed('🚀 Upload completed');
103
+ log.debug('Upload result:', uploadResult);
104
+ log.start('🏷️ Tagging application...');
105
+ const tagResult = await tagApplication({
106
+ tag: options.tag,
107
+ appKey: uploadResult.name,
108
+ version: uploadResult.version,
109
+ log,
110
+ framework,
111
+ }).catch((error) => {
112
+ log.error('😢 Failed to tag application:', error);
113
+ process.exit(1);
114
+ });
115
+ log.succeed('Tagging completed');
116
+ log.debug('Tagging result:', tagResult);
117
+ }));
118
+ export default command;
119
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
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([
41
+ 'Tag your Fusion application with a specific version or preview in the Fusion app registry.',
42
+ '',
43
+ 'This command applies a tag to the specified application version, making it easy to manage releases and previews.',
44
+ 'You can provide the app key and version directly, or let the command resolve them from the manifest file.',
45
+ 'Supports environment selection, debug, and silent modes.',
46
+ '',
47
+ 'Examples:',
48
+ ' $ fusion tag latest',
49
+ ' $ fusion tag preview --env prod --manifest app.manifest.prod.ts',
50
+ ' $ fusion tag stable --appKey my-app --version 1.2.3',
51
+ ].join('\n'))
52
+ .addOption(createEnvOption({ allowDev: false }))
53
+ .option('--appKey <string>', 'Application key (if not provided, resolved from manifest)')
54
+ .option('-v, --version <string>', 'Version to tag (if not provided, resolved from manifest)')
55
+ .option('-m, --manifest <string>', 'Manifest file to use for resolving app key and version')
56
+ .option('--debug', 'Enable debug mode for verbose logging')
57
+ .option('--silent', 'Silent mode, suppresses output except errors')
58
+ .argument('<tag>', `Tag to apply (${Object.values(AllowedTags).join(' | ')})`)
59
+ .action(async (tag, options) => {
60
+ const log = options.silent ? null : new ConsoleLogger('app:tag', { debug: options.debug });
61
+ const env = {
62
+ command: 'build',
63
+ environment: options.env,
64
+ mode: process.env.NODE_ENV ?? 'production',
65
+ root: process.cwd(),
66
+ };
67
+ let appKey = options.appKey;
68
+ let version = options.version;
69
+ if (!appKey || !version) {
70
+ const { manifest: appManifest } = await loadAppManifest({
71
+ log,
72
+ manifest: options.manifest,
73
+ env,
74
+ });
75
+ appKey = appKey ?? appManifest.appKey;
76
+ version = version ?? appManifest.build?.version;
77
+ }
78
+ log?.start('Initializing Fusion Framework...');
79
+ const framework = await initializeFramework({
80
+ env: options.env,
81
+ auth: {
82
+ token: options.token,
83
+ tenantId: options.tenantId,
84
+ clientId: options.clientId,
85
+ },
86
+ });
87
+ log?.succeed('Initialized Fusion Framework');
88
+ log?.start('Tagging application...');
89
+ await tagApplication({
90
+ appKey,
91
+ version,
92
+ framework,
93
+ log,
94
+ tag,
95
+ }).catch((error) => {
96
+ log?.error('Failed to tag application:', error);
97
+ process.exit(1);
98
+ });
99
+ }));
100
+ export default command;
101
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/tag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { createCommand } from 'commander';
2
+ import { defaultArchive } 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([
37
+ 'Upload a Fusion application bundle to the Fusion App Store.',
38
+ '',
39
+ 'This command uploads a distributable application bundle (e.g., app-bundle.zip) to the Fusion app registry, making it available for deployment and management.',
40
+ '',
41
+ 'Options:',
42
+ ' --appKey <string> Specify the application key (if omitted, resolved from manifest)',
43
+ ' --env <env> Target environment (production, staging, etc.)',
44
+ ' --debug Enable verbose logging for troubleshooting',
45
+ '',
46
+ 'Examples:',
47
+ ' $ fusion upload',
48
+ ' $ fusion upload my-app-bundle.zip --appKey my-app',
49
+ ' $ fusion upload --debug',
50
+ ].join('\n'))
51
+ .option('-d, --debug [boolean]', 'Enable debug mode for verbose logging', false)
52
+ .option('-k, --appKey <string>', 'Application key (if not provided, resolved from manifest)')
53
+ .addOption(createEnvOption({ allowDev: false }))
54
+ .argument('[bundle]', 'Application bundle to upload (default: app-bundle.zip)', defaultArchive)
55
+ .action(async (bundle, options) => {
56
+ const log = new ConsoleLogger('portal:upload', {
57
+ debug: options.debug,
58
+ });
59
+ log?.start('💾 Initializing Fusion Framework...');
60
+ const framework = await initializeFramework({
61
+ env: options.env,
62
+ auth: {
63
+ token: options.token,
64
+ tenantId: options.tenantId,
65
+ clientId: options.clientId,
66
+ },
67
+ });
68
+ log?.succeed('💾 Initialized Fusion Framework');
69
+ await uploadApplication({
70
+ log,
71
+ appKey: options.appKey,
72
+ framework,
73
+ fileOrBundle: bundle,
74
+ }).catch((error) => {
75
+ log.error('😢 Failed to upload bundle:', error);
76
+ process.exit(1);
77
+ });
78
+ }));
79
+ export default command;
80
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
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,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,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,CACV;IACE,6DAA6D;IAC7D,EAAE;IACF,+JAA+J;IAC/J,EAAE;IACF,UAAU;IACV,wFAAwF;IACxF,sEAAsE;IACtE,kEAAkE;IAClE,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,cAAc,CAAC;KAC9F,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"}
@@ -0,0 +1,10 @@
1
+ import { Command } from 'commander';
2
+ import loginCommand from './login.js';
3
+ import logoutCommand from './logout.js';
4
+ import tokenCommand from './token.js';
5
+ export const command = new Command('auth').description('Authenticate with Fusion Framework CLI');
6
+ command.addCommand(loginCommand, { isDefault: true });
7
+ command.addCommand(logoutCommand);
8
+ command.addCommand(tokenCommand);
9
+ export default command;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,YAAY,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;AAEjG,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAEjC,eAAe,OAAO,CAAC"}
@@ -0,0 +1,68 @@
1
+ import chalk from 'chalk';
2
+ import { createCommand } from 'commander';
3
+ import { ConsoleLogger } from '../../../bin/utils/ConsoleLogger.js';
4
+ import { initializeFramework } from '../../../lib/framework.node.js';
5
+ import { withAuthOptions } from '../../options/auth.js';
6
+ /**
7
+ * Command to authenticate and log in to Fusion Framework using interactive browser-based authentication.
8
+ *
9
+ * This command initializes the Fusion Framework and opens a browser window for secure login.
10
+ * Supports custom tenant, client, and scope options for advanced authentication scenarios.
11
+ *
12
+ * @example
13
+ * $ fusion login
14
+ * $ fusion login --tenant my-tenant --client my-client-id --scope api://my-app/.default
15
+ */
16
+ const DEFAULT_SERVER_PORT = 49741;
17
+ export const command = createCommand('login')
18
+ .description([
19
+ 'Authenticate and log in to Fusion Framework using interactive browser-based authentication.',
20
+ '',
21
+ 'This command initializes the Fusion Framework and opens a browser window for secure login.',
22
+ 'Supports custom tenant, client, and scope options for advanced authentication scenarios.',
23
+ '',
24
+ 'Examples:',
25
+ ' $ fusion login',
26
+ ' $ fusion login --tenant my-tenant --client my-client-id --scope api://my-app/.default',
27
+ ].join('\n'))
28
+ .action(async (options) => {
29
+ const log = new ConsoleLogger('auth:login', { debug: options.debug });
30
+ const scopes = typeof options.scope === 'string' ? [options.scope] : options.scope;
31
+ log.start('Initializing Fusion Framework...');
32
+ const framework = await initializeFramework({
33
+ auth: {
34
+ tenantId: options.tenantId,
35
+ clientId: options.clientId,
36
+ interactive: true,
37
+ server: {
38
+ port: DEFAULT_SERVER_PORT,
39
+ },
40
+ },
41
+ });
42
+ log.succeed('Initialized Fusion Framework');
43
+ try {
44
+ log.start('Logging in...');
45
+ const authToken = await framework.auth.login({ scopes });
46
+ log.info('username:', chalk.green(authToken.account?.username));
47
+ log.info('tenant: ', chalk.yellow(authToken.tenantId));
48
+ log.info('audience:', chalk.yellow(authToken.account?.idTokenClaims?.aud));
49
+ for (const scope of authToken.scopes) {
50
+ log.info('scope: ', chalk.dim(scope));
51
+ }
52
+ log.succeed('Successfully logged in', chalk.greenBright(authToken.account?.name));
53
+ }
54
+ catch (error) {
55
+ log.fail('Failed to log in 🥺', JSON.stringify({ tenant: options.tenant, client: options.clientId }, undefined, 2));
56
+ throw error;
57
+ }
58
+ });
59
+ /**
60
+ * Adds authentication options to the login command.
61
+ * @see withAuthOptions
62
+ */
63
+ withAuthOptions(command, {
64
+ includeScope: true,
65
+ excludeToken: true,
66
+ });
67
+ export default command;
68
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { createCommand } from 'commander';
2
+ import { ConsoleLogger } from '../../../bin/utils';
3
+ import { initializeFramework } from '../../../lib/framework.node.js';
4
+ import { withAuthOptions } from '../../options/auth.js';
5
+ /**
6
+ * Command to log out from Fusion Framework and clear your authentication session.
7
+ *
8
+ * This command removes your current authentication state from the Fusion Framework CLI.
9
+ * Supports custom tenant and client options for advanced scenarios.
10
+ *
11
+ * @example
12
+ * $ fusion logout
13
+ * $ fusion logout --tenant my-tenant --client my-client-id
14
+ */
15
+ export const command = createCommand('logout')
16
+ .description([
17
+ 'Log out from Fusion Framework and clear your authentication session.',
18
+ '',
19
+ 'This command removes your current authentication state from the Fusion Framework CLI.',
20
+ 'Supports custom tenant and client options for advanced scenarios.',
21
+ '',
22
+ 'Examples:',
23
+ ' $ fusion logout',
24
+ ' $ fusion logout --tenant my-tenant --client my-client-id',
25
+ ].join('\n'))
26
+ .action(async (options) => {
27
+ const log = new ConsoleLogger('auth:logout', { debug: options.debug });
28
+ log.start('Initializing Fusion Framework...');
29
+ const framework = await initializeFramework({
30
+ auth: {
31
+ tenantId: options.tenantId,
32
+ clientId: options.clientId,
33
+ },
34
+ });
35
+ log.succeed('Initialized Fusion Framework');
36
+ try {
37
+ log.start('Logging in...');
38
+ await framework.auth.logout();
39
+ log.succeed('Successfully logged out');
40
+ }
41
+ catch (error) {
42
+ log.fail('Failed to log out 🥺', JSON.stringify({ tenant: options.tenant, client: options.clientId }, undefined, 2));
43
+ throw error;
44
+ }
45
+ });
46
+ /**
47
+ * Adds authentication options to the logout command.
48
+ * @see withAuthOptions
49
+ */
50
+ withAuthOptions(command, {
51
+ excludeToken: true,
52
+ includeScope: false,
53
+ });
54
+ export default command;
55
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC;KAC3C,WAAW,CACV;IACE,sEAAsE;IACtE,EAAE;IACF,uFAAuF;IACvF,mEAAmE;IACnE,EAAE;IACF,WAAW;IACX,mBAAmB;IACnB,4DAA4D;CAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEvE,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CACN,sBAAsB,EACtB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CACnF,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;;GAGG;AACH,eAAe,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { createCommand } from 'commander';
2
+ import { NoAccountsError } from '@equinor/fusion-framework-module-msal-node/error';
3
+ import { ConsoleLogger } from '../../../bin/utils';
4
+ import { initializeFramework } from '../../../lib/framework.node.js';
5
+ import { withAuthOptions } from '../../options/auth.js';
6
+ /**
7
+ * Command to acquire and print an access token for Fusion APIs using your current authentication context.
8
+ *
9
+ * This command retrieves an access token for the specified scopes, tenant, and client.
10
+ * Supports debug and silent modes for flexible output.
11
+ *
12
+ * @example
13
+ * $ fusion token
14
+ * $ fusion token --scope api://my-app/.default
15
+ * $ fusion token --tenant my-tenant --client my-client-id --silent
16
+ */
17
+ export const command = createCommand('token')
18
+ .description([
19
+ 'Acquire and print an access token for Fusion APIs using your current authentication context.',
20
+ '',
21
+ 'This command retrieves an access token for the specified scopes, tenant, and client.',
22
+ 'Supports debug and silent modes for flexible output.',
23
+ '',
24
+ 'Examples:',
25
+ ' $ fusion token',
26
+ ' $ fusion token --scope api://my-app/.default',
27
+ ' $ fusion token --tenant my-tenant --client my-client-id --silent',
28
+ ].join('\n'))
29
+ .option('-d, --debug', 'Enable debug mode for verbose logging', false)
30
+ .option('--silent', 'Only output the token (no extra logging)')
31
+ .action(async (options) => {
32
+ const log = options.silent ? null : new ConsoleLogger('auth:token', { debug: options.debug });
33
+ const scopes = typeof options.scope === 'string' ? [options.scope] : options.scope;
34
+ console.log('options');
35
+ log?.info('Using tenant', options.tenantId);
36
+ log?.info('Using client', options.clientId);
37
+ log?.info('Using scope', JSON.stringify(scopes));
38
+ log?.start('Initializing Fusion Framework...');
39
+ const framework = await initializeFramework({
40
+ auth: {
41
+ tenantId: options.tenantId,
42
+ clientId: options.clientId,
43
+ },
44
+ });
45
+ log?.succeed('Initialized Fusion Framework');
46
+ try {
47
+ log?.start('Getting access token...');
48
+ const accessToken = await framework.auth.acquireAccessToken({ scopes });
49
+ log?.succeed('Successfully acquired access token');
50
+ if (options.silent) {
51
+ console.log(accessToken);
52
+ }
53
+ else {
54
+ log?.info('Access token:', accessToken);
55
+ }
56
+ }
57
+ catch (error) {
58
+ if (!options.silent && error instanceof NoAccountsError) {
59
+ log?.fail('No accounts found, please login first');
60
+ }
61
+ else {
62
+ throw error;
63
+ }
64
+ }
65
+ });
66
+ /**
67
+ * Adds authentication options to the token command.
68
+ * @see withAuthOptions
69
+ */
70
+ withAuthOptions(command, {
71
+ includeScope: true,
72
+ });
73
+ export default command;
74
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;KAC1C,WAAW,CACV;IACE,8FAA8F;IAC9F,EAAE;IACF,sFAAsF;IACtF,sDAAsD;IACtD,EAAE;IACF,WAAW;IACX,kBAAkB;IAClB,gDAAgD;IAChD,oEAAoE;CACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,MAAM,CAAC,UAAU,EAAE,0CAA0C,CAAC;KAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAEnF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvB,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjD,GAAG,EAAE,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,GAAG,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,GAAG,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACxD,GAAG,EAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;;GAGG;AACH,eAAe,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { createCommand } from 'commander';
2
+ import resolveCommand from './resolve.js';
3
+ const command = createCommand('disco').description('Service discovery operations');
4
+ command.addCommand(resolveCommand);
5
+ export default command;
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/disco/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,cAAc,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAEnF,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAEnC,eAAe,OAAO,CAAC"}