@equinor/fusion-framework-cli 10.0.0-widget-acdcb9b2 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/CHANGELOG.md +636 -39
  2. package/README.md +31 -9
  3. package/dist/bin/build-application.js +23 -3
  4. package/dist/bin/build-application.js.map +1 -1
  5. package/dist/bin/bundle-application.js +9 -12
  6. package/dist/bin/bundle-application.js.map +1 -1
  7. package/dist/bin/create-dev-serve.js +89 -123
  8. package/dist/bin/create-dev-serve.js.map +1 -1
  9. package/dist/bin/create-export-config.js +5 -6
  10. package/dist/bin/create-export-config.js.map +1 -1
  11. package/dist/bin/create-export-manifest.js +44 -27
  12. package/dist/bin/create-export-manifest.js.map +1 -1
  13. package/dist/bin/dev-portal/AppLoader.js +26 -4
  14. package/dist/bin/dev-portal/AppLoader.js.map +1 -1
  15. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +41 -0
  16. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +1 -0
  17. package/dist/bin/dev-portal/ContextSelector/index.js +2 -0
  18. package/dist/bin/dev-portal/ContextSelector/index.js.map +1 -0
  19. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +171 -0
  20. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +1 -0
  21. package/dist/bin/dev-portal/Header.js +3 -2
  22. package/dist/bin/dev-portal/Header.js.map +1 -1
  23. package/dist/bin/dev-portal/PersonSideSheet/index.js +7 -2
  24. package/dist/bin/dev-portal/PersonSideSheet/index.js.map +1 -1
  25. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js +4 -0
  26. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js.map +1 -1
  27. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +3 -0
  28. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +1 -1
  29. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +3 -0
  30. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +1 -1
  31. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js +3 -0
  32. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js.map +1 -1
  33. package/dist/bin/dev-portal/Router.js +17 -1
  34. package/dist/bin/dev-portal/Router.js.map +1 -1
  35. package/dist/bin/dev-portal/config.js +7 -4
  36. package/dist/bin/dev-portal/config.js.map +1 -1
  37. package/dist/bin/dev-portal/main.js +1 -2
  38. package/dist/bin/dev-portal/main.js.map +1 -1
  39. package/dist/bin/dev-portal/useAppContextNavigation.js +68 -0
  40. package/dist/bin/dev-portal/useAppContextNavigation.js.map +1 -0
  41. package/dist/bin/main.app.js +92 -14
  42. package/dist/bin/main.app.js.map +1 -1
  43. package/dist/bin/main.js +5 -5
  44. package/dist/bin/main.js.map +1 -1
  45. package/dist/bin/public/assets/index-D0eBBcR8.js +5235 -0
  46. package/dist/bin/public/index.html +1 -5
  47. package/dist/bin/publish-application.js +104 -0
  48. package/dist/bin/publish-application.js.map +1 -0
  49. package/dist/bin/tag-application.js +82 -0
  50. package/dist/bin/tag-application.js.map +1 -0
  51. package/dist/bin/upload-application.js +72 -0
  52. package/dist/bin/upload-application.js.map +1 -0
  53. package/dist/bin/upload-export-config.js +87 -0
  54. package/dist/bin/upload-export-config.js.map +1 -0
  55. package/dist/bin/utils/{execute-commant.js → execute-command.js} +5 -2
  56. package/dist/bin/utils/execute-command.js.map +1 -0
  57. package/dist/bin/utils/format.js +1 -1
  58. package/dist/bin/utils/format.js.map +1 -1
  59. package/dist/bin/utils/getEndpointUrl.js +49 -0
  60. package/dist/bin/utils/getEndpointUrl.js.map +1 -0
  61. package/dist/bin/utils/index.js +14 -0
  62. package/dist/bin/utils/index.js.map +1 -0
  63. package/dist/bin/utils/isAppRegistered.js +35 -0
  64. package/dist/bin/utils/isAppRegistered.js.map +1 -0
  65. package/dist/bin/utils/load-app-config.js +3 -2
  66. package/dist/bin/utils/load-app-config.js.map +1 -1
  67. package/dist/bin/utils/load-manifest.js +9 -4
  68. package/dist/bin/utils/load-manifest.js.map +1 -1
  69. package/dist/bin/utils/load-vite-config.js.map +1 -1
  70. package/dist/bin/utils/proxy-request-logger.js +34 -0
  71. package/dist/bin/utils/proxy-request-logger.js.map +1 -0
  72. package/dist/bin/utils/publishAppConfig.js +36 -0
  73. package/dist/bin/utils/publishAppConfig.js.map +1 -0
  74. package/dist/bin/utils/requireToken.js +10 -0
  75. package/dist/bin/utils/requireToken.js.map +1 -0
  76. package/dist/bin/utils/spinner.js +10 -0
  77. package/dist/bin/utils/spinner.js.map +1 -1
  78. package/dist/bin/utils/tagAppBundle.js +35 -0
  79. package/dist/bin/utils/tagAppBundle.js.map +1 -0
  80. package/dist/bin/utils/uploadAppBundle.js +54 -0
  81. package/dist/bin/utils/uploadAppBundle.js.map +1 -0
  82. package/dist/lib/app-config.js +5 -17
  83. package/dist/lib/app-config.js.map +1 -1
  84. package/dist/lib/app-manifest.js +97 -15
  85. package/dist/lib/app-manifest.js.map +1 -1
  86. package/dist/lib/app-package.js +52 -5
  87. package/dist/lib/app-package.js.map +1 -1
  88. package/dist/lib/index.js +2 -5
  89. package/dist/lib/index.js.map +1 -1
  90. package/dist/lib/plugins/app-assets/app-asset-plugin.js +102 -0
  91. package/dist/lib/plugins/app-assets/app-asset-plugin.js.map +1 -0
  92. package/dist/lib/plugins/app-assets/emit-asset.js +41 -0
  93. package/dist/lib/plugins/app-assets/emit-asset.js.map +1 -0
  94. package/dist/lib/plugins/app-assets/extension-filter-pattern.js +20 -0
  95. package/dist/lib/plugins/app-assets/extension-filter-pattern.js.map +1 -0
  96. package/dist/lib/plugins/app-assets/index.js +4 -0
  97. package/dist/lib/plugins/app-assets/index.js.map +1 -0
  98. package/dist/lib/plugins/app-assets/read-asset-content.js +34 -0
  99. package/dist/lib/plugins/app-assets/read-asset-content.js.map +1 -0
  100. package/dist/lib/plugins/app-assets/resolve-asset-id.js +63 -0
  101. package/dist/lib/plugins/app-assets/resolve-asset-id.js.map +1 -0
  102. package/dist/lib/plugins/app-assets/static.js +15 -0
  103. package/dist/lib/plugins/app-assets/static.js.map +1 -0
  104. package/dist/lib/plugins/app-proxy/app-proxy-plugin.js +127 -0
  105. package/dist/lib/plugins/app-proxy/app-proxy-plugin.js.map +1 -0
  106. package/dist/lib/plugins/app-proxy/index.js +2 -0
  107. package/dist/lib/plugins/app-proxy/index.js.map +1 -0
  108. package/dist/lib/plugins/external-public/external-public-plugin.js +103 -0
  109. package/dist/lib/plugins/external-public/external-public-plugin.js.map +1 -0
  110. package/dist/lib/plugins/external-public/index.js +2 -0
  111. package/dist/lib/plugins/external-public/index.js.map +1 -0
  112. package/dist/lib/utils/assert.js +2 -1
  113. package/dist/lib/utils/assert.js.map +1 -1
  114. package/dist/lib/utils/config.js +5 -0
  115. package/dist/lib/utils/config.js.map +1 -1
  116. package/dist/lib/utils/file-exists.js.map +1 -1
  117. package/dist/lib/utils/ts-transpile.js.map +1 -1
  118. package/dist/lib/vite-config.js +7 -8
  119. package/dist/lib/vite-config.js.map +1 -1
  120. package/dist/lib/vite-logger.js +2 -0
  121. package/dist/lib/vite-logger.js.map +1 -1
  122. package/dist/schemas.js +14 -0
  123. package/dist/schemas.js.map +1 -0
  124. package/dist/types/bin/build-application.d.ts +3 -3
  125. package/dist/types/bin/bundle-application.d.ts +0 -1
  126. package/dist/types/bin/create-dev-serve.d.ts +1 -4
  127. package/dist/types/bin/create-export-config.d.ts +9 -3
  128. package/dist/types/bin/create-export-manifest.d.ts +7 -11
  129. package/dist/types/bin/dev-portal/AppLoader.d.ts +7 -0
  130. package/dist/types/bin/dev-portal/ContextSelector/ContextSelector.d.ts +8 -0
  131. package/dist/types/bin/dev-portal/ContextSelector/index.d.ts +1 -0
  132. package/dist/types/bin/dev-portal/ContextSelector/useContextResolver.d.ts +15 -0
  133. package/dist/types/bin/dev-portal/FusionLogo.d.ts +0 -1
  134. package/dist/types/bin/dev-portal/PersonSideSheet/index.d.ts +4 -0
  135. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.d.ts +4 -0
  136. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.d.ts +3 -0
  137. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.d.ts +3 -0
  138. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.d.ts +3 -0
  139. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +4 -1088
  140. package/dist/types/bin/dev-portal/useAppContextNavigation.d.ts +5 -0
  141. package/dist/types/bin/publish-application.d.ts +6 -0
  142. package/dist/types/bin/tag-application.d.ts +12 -0
  143. package/dist/types/bin/upload-application.d.ts +6 -0
  144. package/dist/types/bin/upload-export-config.d.ts +10 -0
  145. package/dist/types/bin/utils/execute-command.d.ts +8 -0
  146. package/dist/types/bin/utils/format.d.ts +0 -1
  147. package/dist/types/bin/utils/getEndpointUrl.d.ts +10 -0
  148. package/dist/types/bin/utils/index.d.ts +14 -0
  149. package/dist/types/bin/utils/isAppRegistered.d.ts +5 -0
  150. package/dist/types/bin/utils/load-app-config.d.ts +3 -2
  151. package/dist/types/bin/utils/load-manifest.d.ts +3 -2
  152. package/dist/types/bin/utils/proxy-request-logger.d.ts +15 -0
  153. package/dist/types/bin/utils/publishAppConfig.d.ts +9 -0
  154. package/dist/types/bin/utils/requireToken.d.ts +4 -0
  155. package/dist/types/bin/utils/spinner.d.ts +1 -0
  156. package/dist/types/bin/utils/tagAppBundle.d.ts +7 -0
  157. package/dist/types/bin/utils/uploadAppBundle.d.ts +7 -0
  158. package/dist/types/lib/app-config.d.ts +13 -14
  159. package/dist/types/lib/app-manifest.d.ts +30 -14
  160. package/dist/types/lib/app-package.d.ts +35 -4
  161. package/dist/types/lib/index.d.ts +2 -5
  162. package/dist/types/lib/plugins/app-assets/app-asset-plugin.d.ts +36 -0
  163. package/dist/types/lib/plugins/app-assets/emit-asset.d.ts +18 -0
  164. package/dist/types/lib/plugins/app-assets/extension-filter-pattern.d.ts +14 -0
  165. package/dist/types/lib/plugins/app-assets/index.d.ts +3 -0
  166. package/dist/types/lib/plugins/app-assets/read-asset-content.d.ts +14 -0
  167. package/dist/types/lib/plugins/app-assets/resolve-asset-id.d.ts +16 -0
  168. package/dist/types/lib/plugins/app-assets/static.d.ts +5 -0
  169. package/dist/types/lib/plugins/app-proxy/app-proxy-plugin.d.ts +71 -0
  170. package/dist/types/lib/plugins/app-proxy/index.d.ts +1 -0
  171. package/dist/types/lib/plugins/external-public/external-public-plugin.d.ts +30 -0
  172. package/dist/types/lib/plugins/external-public/index.d.ts +1 -0
  173. package/dist/types/lib/utils/assert.d.ts +2 -1
  174. package/dist/types/lib/utils/config.d.ts +9 -6
  175. package/dist/types/lib/utils/expect.d.ts +1 -1
  176. package/dist/types/lib/vite-config.d.ts +1 -1
  177. package/dist/types/schemas.d.ts +30 -0
  178. package/dist/types/version.d.ts +1 -1
  179. package/dist/version.js +2 -1
  180. package/dist/version.js.map +1 -1
  181. package/package.json +52 -42
  182. package/dist/bin/bundle-widget.js +0 -61
  183. package/dist/bin/bundle-widget.js.map +0 -1
  184. package/dist/bin/create-export-manifest-widget.js +0 -68
  185. package/dist/bin/create-export-manifest-widget.js.map +0 -1
  186. package/dist/bin/dev-portal/ContextSelector.js +0 -107
  187. package/dist/bin/dev-portal/ContextSelector.js.map +0 -1
  188. package/dist/bin/dev-portal/usePersonResolver.js +0 -40
  189. package/dist/bin/dev-portal/usePersonResolver.js.map +0 -1
  190. package/dist/bin/dev-proxy.js +0 -90
  191. package/dist/bin/dev-proxy.js.map +0 -1
  192. package/dist/bin/main.widget.js +0 -78
  193. package/dist/bin/main.widget.js.map +0 -1
  194. package/dist/bin/public/assets/index-UrNngCGF.js +0 -4083
  195. package/dist/bin/utils/execute-commant.js.map +0 -1
  196. package/dist/bin/utils/load-dev-proxy.js +0 -56
  197. package/dist/bin/utils/load-dev-proxy.js.map +0 -1
  198. package/dist/bin/utils/load-widget-manifest.js +0 -35
  199. package/dist/bin/utils/load-widget-manifest.js.map +0 -1
  200. package/dist/bin/utils/load-widget-package.js +0 -24
  201. package/dist/bin/utils/load-widget-package.js.map +0 -1
  202. package/dist/index.js +0 -12
  203. package/dist/index.js.map +0 -1
  204. package/dist/lib/dev-config.js +0 -9
  205. package/dist/lib/dev-config.js.map +0 -1
  206. package/dist/lib/widget-config.js +0 -57
  207. package/dist/lib/widget-config.js.map +0 -1
  208. package/dist/lib/widget-manifest.js +0 -73
  209. package/dist/lib/widget-manifest.js.map +0 -1
  210. package/dist/lib/widget-package.js +0 -33
  211. package/dist/lib/widget-package.js.map +0 -1
  212. package/dist/types/bin/bundle-widget.d.ts +0 -5
  213. package/dist/types/bin/create-export-manifest-widget.d.ts +0 -20
  214. package/dist/types/bin/dev-portal/ContextSelector.d.ts +0 -2
  215. package/dist/types/bin/dev-portal/usePersonResolver.d.ts +0 -1
  216. package/dist/types/bin/dev-proxy.d.ts +0 -39
  217. package/dist/types/bin/main.widget.d.ts +0 -3
  218. package/dist/types/bin/utils/execute-commant.d.ts +0 -8
  219. package/dist/types/bin/utils/load-dev-proxy.d.ts +0 -6
  220. package/dist/types/bin/utils/load-widget-manifest.d.ts +0 -8
  221. package/dist/types/bin/utils/load-widget-package.d.ts +0 -5
  222. package/dist/types/index.d.ts +0 -4
  223. package/dist/types/lib/dev-config.d.ts +0 -13
  224. package/dist/types/lib/widget-config.d.ts +0 -26
  225. package/dist/types/lib/widget-manifest.d.ts +0 -53
  226. package/dist/types/lib/widget-package.d.ts +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"load-vite-config.js","sourceRoot":"","sources":["../../../src/bin/utils/load-vite-config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,GAAsB,EACtB,OAEC,EACH,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI;QACA,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;YACjD,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7E;aAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,mCAAmC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7E,MAAM,IAAI,cAAc,CAAC;gBACrB,OAAO,EAAE,gCAAgC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,EAAE;gBACpE,QAAQ,EAAE,cAAc;aAC3B,CAAC,CAAC;SACN;aAAM;YACH,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,GAAG,CACL,oDAAoD,UAAU,CAC1D,4BAA4B,CAC/B,EAAE,CACN,CACJ,CAAC;SACL;QAED,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;YACvB,OAAO;gBACH,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC;gBACzD,IAAI,EAAE,aAAa,CAAC,IAAI;aAC3B,CAAC;SACL;aAAM;YACH,OAAO,EAAE,UAAU,EAAE,CAAC;SACzB;KACJ;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"load-vite-config.js","sourceRoot":"","sources":["../../../src/bin/utils/load-vite-config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,GAAsB,EACtB,OAEC,EACH,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;YACjD,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;aAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,mCAAmC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7E,MAAM,IAAI,cAAc,CAAC;gBACrB,OAAO,EAAE,gCAAgC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,EAAE;gBACpE,QAAQ,EAAE,cAAc;aAC3B,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,GAAG,CACL,oDAAoD,UAAU,CAC1D,4BAA4B,CAC/B,EAAE,CACN,CACJ,CAAC;QACN,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE,CAAC;YACxB,OAAO;gBACH,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC;gBACzD,IAAI,EAAE,aAAa,CAAC,IAAI;aAC3B,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,UAAU,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC,CAAA,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { Spinner } from './spinner.js';
2
+ import { formatPath, chalk } from './format.js';
3
+ /**
4
+ * Logs the status of a proxy request using a spinner.
5
+ *
6
+ * @param proxyReq - The proxy request to log.
7
+ *
8
+ * The function attaches event listeners to the proxy request to handle
9
+ * 'response' and 'error' events. It uses a spinner to indicate the status
10
+ * of the request:
11
+ * - On a successful response (status code < 400), the spinner succeeds.
12
+ * - On a response with a status code >= 400, the spinner warns with the status message.
13
+ * - On an error, the spinner fails.
14
+ */
15
+ export const proxyRequestLogger = (proxyReq) => {
16
+ const spinner = Spinner.Clone();
17
+ spinner.ora.suffixText = formatPath([proxyReq.protocol, '//', proxyReq.host, proxyReq.path].join(''));
18
+ spinner.start('proxy request');
19
+ proxyReq.on('response', (res) => {
20
+ var _a;
21
+ if (Number(res.statusCode) < 400) {
22
+ spinner.succeed();
23
+ }
24
+ else {
25
+ spinner.warn(chalk.yellow((_a = res.statusMessage) !== null && _a !== void 0 ? _a : `${res.statusCode} `));
26
+ }
27
+ spinner.stop();
28
+ });
29
+ proxyReq.on('error', () => {
30
+ spinner.fail();
31
+ });
32
+ };
33
+ export default proxyRequestLogger;
34
+ //# sourceMappingURL=proxy-request-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-request-logger.js","sourceRoot":"","sources":["../../../src/bin/utils/proxy-request-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAuB,EAAE,EAAE;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAC/B,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACnE,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;;QAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAA,GAAG,CAAC,aAAa,mCAAI,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,36 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ /**
11
+ * Publishes app config to the apps-service endpoint
12
+ * @param endpoint string The endpoint to upload to
13
+ * @param appKey The application key
14
+ * @param config Object with app config
15
+ * @returns HTTP response as json
16
+ */
17
+ export const publishAppConfig = (endpoint, appKey, config) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const requestConfig = yield fetch(endpoint, {
19
+ method: 'PUT',
20
+ body: JSON.stringify(config),
21
+ headers: {
22
+ Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
23
+ 'Content-Type': 'application/json',
24
+ },
25
+ });
26
+ if (requestConfig.status === 410) {
27
+ throw new Error(`App ${appKey} is deleted from apps-service. HTTP status ${requestConfig.status}, ${requestConfig.statusText}`);
28
+ }
29
+ else if (!requestConfig.ok || requestConfig.status >= 400) {
30
+ const response = yield requestConfig.json();
31
+ console.log(response);
32
+ throw new Error(`Failed to upload config. HTTP status ${requestConfig.status}, ${requestConfig.statusText}`);
33
+ }
34
+ return requestConfig.json();
35
+ });
36
+ //# sourceMappingURL=publishAppConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishAppConfig.js","sourceRoot":"","sources":["../../../src/bin/utils/publishAppConfig.ts"],"names":[],"mappings":";;;;;;;;;AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAO,QAAgB,EAAE,MAAc,EAAE,MAAoB,EAAE,EAAE;IAC7F,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,cAAc,EAAE,kBAAkB;SACrC;KACJ,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACX,OAAO,MAAM,8CAA8C,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CACjH,CAAC;IACN,CAAC;SAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,aAAa,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,wCAAwC,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CAC9F,CAAC;IACN,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC,CAAA,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Make sure the user has a valid azure token.
3
+ */
4
+ export const requireToken = () => {
5
+ var _a;
6
+ if (!((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.FUSION_TOKEN)) {
7
+ throw new Error('Missing required environment variable FUSION_TOKEN. Please set it before running this command.');
8
+ }
9
+ };
10
+ //# sourceMappingURL=requireToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireToken.js","sourceRoot":"","sources":["../../../src/bin/utils/requireToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;;IAC7B,IAAI,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,0CAAE,YAAY,CAAA,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACX,gGAAgG,CACnG,CAAC;IACN,CAAC;AACL,CAAC,CAAC"}
@@ -12,10 +12,20 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
12
12
  var _Spinner_ora;
13
13
  import ora from 'ora';
14
14
  const parseArgs = (args) => args.length ? args.join(' ') : undefined;
15
+ const originalConsole = console;
15
16
  export class Spinner {
16
17
  get ora() {
17
18
  return __classPrivateFieldGet(this, _Spinner_ora, "f");
18
19
  }
20
+ set attachConsole(value) {
21
+ if (value) {
22
+ console.log = this.info.bind(this);
23
+ console.info = this.info.bind(this);
24
+ }
25
+ else {
26
+ console = originalConsole;
27
+ }
28
+ }
19
29
  static Global(options) {
20
30
  _spinner = new Spinner(options);
21
31
  return _spinner;
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/bin/utils/spinner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,GAA0B,MAAM,KAAK,CAAC;AAE7C,MAAM,SAAS,GAAG,CAAC,IAAc,EAAsB,EAAE,CACrD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAE7C,MAAM,OAAO,OAAO;IAGhB,IAAI,GAAG;QACH,OAAO,uBAAA,IAAI,oBAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAiB;QAC3B,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAiB;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,QAAQ,CAAC;QAC3C,OAAO,IAAI,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,OAAO;QACd,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,OAAO,CAAC,OAAgB;QAC/B,QAAQ,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,YAAY,OAAiB;QAxB7B,+BAAU;QAyBN,uBAAA,IAAI,gBAAQ,GAAG,CAAC,OAAO,CAAC,MAAA,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,uBAAA,IAAI,oBAAK,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QAClB,uBAAA,IAAI,oBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,GAAG,IAAc;QACrB,uBAAA,IAAI,oBAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,GAAG,IAAc;QACnB,uBAAA,IAAI,oBAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QAClB,uBAAA,IAAI,oBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QAClB,uBAAA,IAAI,oBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,KAAK;QACD,uBAAA,IAAI,oBAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,IAAI;QACA,uBAAA,IAAI,oBAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,cAAc,CAAC,GAAG,IAAuC;QACrD,uBAAA,IAAI,oBAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;CACJ;;AAED,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/bin/utils/spinner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,GAA0B,MAAM,KAAK,CAAC;AAE7C,MAAM,SAAS,GAAG,CAAC,IAAc,EAAsB,EAAE,CACrD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAE7C,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,MAAM,OAAO,OAAO;IAGhB,IAAI,GAAG;QACH,OAAO,uBAAA,IAAI,oBAAK,CAAC;IACrB,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC5B,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,eAAe,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAiB;QAC3B,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAiB;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,QAAQ,CAAC;QAC3C,OAAO,IAAI,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,OAAO;QACd,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,OAAO,CAAC,OAAgB;QAC/B,QAAQ,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,YAAY,OAAiB;QAjC7B,+BAAU;QAkCN,uBAAA,IAAI,gBAAQ,GAAG,CAAC,OAAO,CAAC,MAAA,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,uBAAA,IAAI,oBAAK,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QAClB,uBAAA,IAAI,oBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,GAAG,IAAc;QACrB,uBAAA,IAAI,oBAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,GAAG,IAAc;QACnB,uBAAA,IAAI,oBAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QAClB,uBAAA,IAAI,oBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QAClB,uBAAA,IAAI,oBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,KAAK;QACD,uBAAA,IAAI,oBAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,IAAI;QACA,uBAAA,IAAI,oBAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,cAAc,CAAC,GAAG,IAAuC;QACrD,uBAAA,IAAI,oBAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;CACJ;;AAED,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ /**
11
+ * Send request to apps-service to tag a bundle.
12
+ * @param endpoint string The endpoint to send request to.
13
+ * @param version string The version to tag the bundle with.
14
+ * @returns Response object as json.
15
+ */
16
+ export const tagAppBundle = (endpoint, version) => __awaiter(void 0, void 0, void 0, function* () {
17
+ const requestTag = yield fetch(endpoint, {
18
+ method: 'PUT',
19
+ body: JSON.stringify({ version }),
20
+ headers: {
21
+ Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
22
+ 'Content-Type': 'application/json',
23
+ },
24
+ });
25
+ if (requestTag.status === 404) {
26
+ throw new Error(`Failed to tag bundle, make sure version ${version} exist. HTTP status ${requestTag.status} - ${requestTag.statusText}`);
27
+ }
28
+ if (requestTag.status !== 200) {
29
+ const response = yield requestTag.json();
30
+ console.log(response);
31
+ throw new Error(`Failed to tag bundle. HTTP status ${requestTag.status}, ${requestTag.statusText}`);
32
+ }
33
+ return requestTag.json();
34
+ });
35
+ //# sourceMappingURL=tagAppBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagAppBundle.js","sourceRoot":"","sources":["../../../src/bin/utils/tagAppBundle.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAO,QAAgB,EAAE,OAAe,EAAE,EAAE;IACpE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;QACjC,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,cAAc,EAAE,kBAAkB;SACrC;KACJ,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACX,2CAA2C,OAAO,uBAAuB,UAAU,CAAC,MAAM,MAAM,UAAU,CAAC,UAAU,EAAE,CAC1H,CAAC;IACN,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,qCAAqC,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,UAAU,EAAE,CACrF,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAA,CAAC"}
@@ -0,0 +1,54 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { readFileSync } from 'node:fs';
11
+ /**
12
+ * Function that uploads a zip bundle to the endpoint.
13
+ * @param endpoint string The endpoint to upload to
14
+ * @param bundle string The filename to upload
15
+ * @returns Object
16
+ */
17
+ export const uploadAppBundle = (endpoint, bundle) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const state = {
19
+ buffer: null,
20
+ };
21
+ try {
22
+ state.buffer = readFileSync(bundle);
23
+ }
24
+ catch (_a) {
25
+ throw new Error(`😞 Could not read bundle ${bundle}, does it exist?`);
26
+ }
27
+ const requestBundle = yield fetch(endpoint, {
28
+ method: 'POST',
29
+ body: state.buffer,
30
+ headers: {
31
+ Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
32
+ 'Content-Type': 'application/zip',
33
+ },
34
+ });
35
+ if (requestBundle.status === 401 || requestBundle.status === 403) {
36
+ throw new Error(`This is not allowed for this role on this app. HTTP message: ${requestBundle.statusText}`);
37
+ }
38
+ if (requestBundle.status === 404) {
39
+ throw new Error(`This app do not exist. HTTP message: ${requestBundle.statusText}`);
40
+ }
41
+ if (requestBundle.status === 409) {
42
+ throw new Error(`This version is already published. HTTP message: ${requestBundle.statusText}`);
43
+ }
44
+ if (requestBundle.status === 410) {
45
+ throw new Error(`This app is deleted. HTTP message: ${requestBundle.statusText}`);
46
+ }
47
+ if (!requestBundle.ok) {
48
+ const json = yield requestBundle.json();
49
+ console.error(json);
50
+ throw new Error(`Failed to publish bundle. HTTP status ${requestBundle.status}, ${requestBundle.statusText}`);
51
+ }
52
+ return requestBundle.json();
53
+ });
54
+ //# sourceMappingURL=uploadAppBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadAppBundle.js","sourceRoot":"","sources":["../../../src/bin/utils/uploadAppBundle.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAO,QAAgB,EAAE,MAAc,EAAE,EAAE;IACtE,MAAM,KAAK,GAA8B;QACrC,MAAM,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,CAAC;QACD,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,WAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,cAAc,EAAE,iBAAiB;SACpC;KACJ,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CACX,gEAAgE,aAAa,CAAC,UAAU,EAAE,CAC7F,CAAC;IACN,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,wCAAwC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACX,oDAAoD,aAAa,CAAC,UAAU,EAAE,CACjF,CAAC;IACN,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CACX,yCAAyC,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CAC/F,CAAC;IACN,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC,CAAA,CAAC"}
@@ -8,18 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { loadConfig, initiateConfig, resolveConfig, } from './utils/config.js';
11
- import { AssertionError, assertObject } from './utils/assert.js';
12
- import deepmerge from 'deepmerge/index.js';
11
+ import { AssertionError } from './utils/assert.js';
12
+ import { ApiAppConfigSchema } from '../schemas.js';
13
13
  export const appConfigFilename = 'app.config';
14
- export function assertAppConfig(value) {
15
- assertObject(value);
16
- }
17
14
  export const defineAppConfig = (fn) => fn;
18
- export const mergeAppConfigs = (base, overrides) => {
19
- const manifest = deepmerge(base, overrides);
20
- assertAppConfig(manifest);
21
- return manifest;
22
- };
23
15
  export const loadAppConfig = (filename) => loadConfig(filename !== null && filename !== void 0 ? filename : appConfigFilename);
24
16
  export const resolveAppConfig = (options) => __awaiter(void 0, void 0, void 0, function* () {
25
17
  if (options === null || options === void 0 ? void 0 : options.file) {
@@ -31,16 +23,12 @@ export const resolveAppConfig = (options) => __awaiter(void 0, void 0, void 0, f
31
23
  }
32
24
  return resolveConfig(appConfigFilename, { find: options });
33
25
  });
34
- export const createAppConfigFromPackage = (_pkg) => {
35
- const appConfig = {};
36
- assertAppConfig(appConfig);
37
- return appConfig;
38
- };
39
26
  export const createAppConfig = (env, base, options) => __awaiter(void 0, void 0, void 0, function* () {
27
+ var _a;
40
28
  const resolved = yield resolveAppConfig(options);
41
29
  if (resolved) {
42
- const config = yield initiateConfig(resolved.config, env, { base });
43
- assertAppConfig(config);
30
+ const configValue = (_a = (yield initiateConfig(resolved.config, env, { base }))) !== null && _a !== void 0 ? _a : {};
31
+ const config = ApiAppConfigSchema.parse(configValue);
44
32
  return { config, path: resolved.path };
45
33
  }
46
34
  else if (options === null || options === void 0 ? void 0 : options.file) {
@@ -1 +1 @@
1
- {"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../src/lib/app-config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,UAAU,EAGV,cAAc,EAEd,aAAa,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAoB3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE9C,MAAM,UAAU,eAAe,CAAC,KAAgB;IAE5C,YAAY,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,IAAwB,EACxB,SAA6B,EACpB,EAAE;IACX,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAyB,CAAC;IACpE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1B,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAiB,EAAE,EAAE,CAC/C,UAAU,CAAY,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,iBAAiB,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,OAEC,EAC0C,EAAE;IAC7C,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO;YACH,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;KACL;IACD,OAAO,aAAa,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAwB,EAAa,EAAE;IAC9E,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3B,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,GAAsB,EACtB,IAAe,EACf,OAA8B,EACe,EAAE;IAC/C,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE;QACV,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;KAC1C;SAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;QACtB,MAAM,IAAI,cAAc,CAAC;YACrB,OAAO,EAAE,gCAAgC,OAAO,CAAC,IAAI,EAAE;YACvD,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;KACN;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../src/lib/app-config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,UAAU,EAGV,cAAc,EAEd,aAAa,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAgB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAYjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAiB,EAAE,EAAE,CAC/C,UAAU,CAAe,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,iBAAiB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,OAEC,EAC0C,EAAE;IAC7C,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO;YACH,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;IACN,CAAC;IACD,OAAO,aAAa,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,GAAsB,EACtB,IAAkB,EAClB,OAA8B,EACkB,EAAE;;IAClD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,MAAA,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,mCAAI,EAAE,CAAC;QACjF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,cAAc,CAAC;YACrB,OAAO,EAAE,gCAAgC,OAAO,CAAC,IAAI,EAAE;YACvD,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC,CAAA,CAAC"}
@@ -7,21 +7,68 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import deepmerge from 'deepmerge';
11
- import { resolveAppKey, resolveEntryPoint } from './app-package.js';
10
+ import deepMerge from 'deepmerge';
11
+ import { execSync } from 'node:child_process';
12
+ import { resolveAppKey, resolveEntryPoint, } from './app-package.js';
12
13
  import { loadConfig, initiateConfig, resolveConfig, } from './utils/config.js';
13
14
  import { AssertionError, assert, assertObject } from './utils/assert.js';
15
+ import { parse as parseSemver } from 'semver';
16
+ import { StandardIncludeAssetExtensions } from './plugins/app-assets/index.js';
17
+ /** base filename for configuration files */
14
18
  export const manifestConfigFilename = 'app.manifest.config';
19
+ /**
20
+ * Define a manifest for an application
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * export default defineAppManifest(async() => {
25
+ * return {
26
+ * ...AppManifest_properties
27
+ * }
28
+ * })
29
+ * ```
30
+ * @param fnOrObj - defines the manifest as an object or callback
31
+ */
15
32
  export const defineAppManifest = (fn) => fn;
16
33
  export function assertAppManifest(value) {
34
+ var _a;
17
35
  assert(value, 'expected manifest');
36
+ assert(value.build, 'expected build');
37
+ assert(parseSemver((_a = value.build) === null || _a === void 0 ? void 0 : _a.version), 'invalid version');
38
+ // TODO make assertions
18
39
  }
40
+ // /**
41
+ // * assert that the package version of the manifest is correct
42
+ // *
43
+ // * @TODO this should assert semver not .net syntax 🥺
44
+ // */
45
+ // export function assertPackageVersion(value: AppManifest['version']): asserts value {
46
+ // assertObjectEntries(value, {
47
+ // props: ['major', 'minor', 'patch'],
48
+ // assertion: (v, k): asserts v => assertNumber(v, `invalid value for version.${k}`),
49
+ // preMessage: 'expected package version',
50
+ // });
51
+ // }
52
+ /**
53
+ * @example
54
+ * ```ts
55
+ * export default defineAppManifest(base) => mergeManifests(base, {prop: value});
56
+ * ```
57
+ * @param base base manifest to merge with
58
+ * @param overrides target manifest to apply to base
59
+ * @returns deep merged manifest
60
+ */
19
61
  export const mergeManifests = (base, overrides) => {
20
- const manifest = deepmerge(base, overrides);
62
+ const manifest = deepMerge(base, overrides);
21
63
  assertAppManifest(manifest);
22
64
  return manifest;
23
65
  };
66
+ /** loads manifestFn from file */
24
67
  export const loadManifest = (filename) => loadConfig(filename !== null && filename !== void 0 ? filename : manifestConfigFilename);
68
+ /**
69
+ * tries to resolve manifest
70
+ * @see {@link resolveConfig | resolving config}
71
+ */
25
72
  export const resolveManifest = (options) => __awaiter(void 0, void 0, void 0, function* () {
26
73
  if (options === null || options === void 0 ? void 0 : options.file) {
27
74
  const config = yield loadManifest(options.file);
@@ -32,30 +79,65 @@ export const resolveManifest = (options) => __awaiter(void 0, void 0, void 0, fu
32
79
  }
33
80
  return resolveConfig(manifestConfigFilename, { find: options });
34
81
  });
82
+ const resolveGithubRepo = (pkg) => {
83
+ try {
84
+ /* get reporurl from package.json */
85
+ if (pkg.repository) {
86
+ return typeof pkg.repository === 'string' ? pkg.repository : pkg.repository.url;
87
+ }
88
+ else {
89
+ /* get reporurl from git command */
90
+ return execSync('git remote get-url origin')
91
+ .toString()
92
+ .trim()
93
+ .replace('git@github.com:', 'https://github.com/')
94
+ .replace(/.git$/, '');
95
+ }
96
+ }
97
+ catch (_a) {
98
+ return undefined;
99
+ }
100
+ };
101
+ const resolveGitCommitSha = () => {
102
+ try {
103
+ return execSync('git rev-parse HEAD').toString().trim();
104
+ }
105
+ catch (_a) {
106
+ return undefined;
107
+ }
108
+ };
35
109
  export const createManifestFromPackage = (pkg) => {
36
- var _a, _b, _c, _d;
37
110
  const { packageJson } = pkg;
38
111
  assertObject(packageJson, 'expected packageJson');
39
112
  assert(packageJson.name, 'expected [name] in packageJson');
40
113
  assert(packageJson.version, 'expected [version] in packageJson');
41
- const key = resolveAppKey(pkg.packageJson);
42
- const entry = resolveEntryPoint(pkg.packageJson);
43
- assert(entry, 'expected [version] in packageJson');
114
+ const entryPoint = resolveEntryPoint(packageJson);
44
115
  const manifest = {
45
- key,
46
- entry,
47
- version: packageJson.version,
48
- name: (_b = (_a = packageJson.manifest) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : key,
49
- shortName: (_d = (_c = packageJson.manifest) === null || _c === void 0 ? void 0 : _c.shortName) !== null && _d !== void 0 ? _d : key,
50
- description: packageJson.description,
116
+ appKey: resolveAppKey(pkg.packageJson),
117
+ displayName: packageJson.name,
118
+ description: packageJson.description || '',
119
+ keywords: packageJson.keywords,
120
+ type: 'standalone',
121
+ build: {
122
+ entryPoint,
123
+ version: packageJson.version,
124
+ timestamp: new Date().toISOString(),
125
+ githubRepo: resolveGithubRepo(packageJson),
126
+ commitSha: resolveGitCommitSha(),
127
+ annotations: packageJson.annotations,
128
+ projectPage: packageJson.homepage,
129
+ allowedExtensions: StandardIncludeAssetExtensions.map(
130
+ // TODO: @jaysencpp, this is just 🫤, extensions should not require leading dot
131
+ (ext) => `.${ext}`),
132
+ },
51
133
  };
52
- assertAppManifest(manifest);
53
134
  return manifest;
54
135
  };
55
136
  export const createManifest = (env, base, options) => __awaiter(void 0, void 0, void 0, function* () {
56
137
  const resolved = yield resolveManifest(options);
57
138
  if (resolved) {
58
- const manifest = yield initiateConfig(resolved.config, env, { base });
139
+ const configuredManifest = yield initiateConfig(resolved.config, env, { base });
140
+ const manifest = deepMerge(base, configuredManifest !== null && configuredManifest !== void 0 ? configuredManifest : {});
59
141
  assertAppManifest(manifest);
60
142
  return { manifest, path: resolved.path };
61
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../src/lib/app-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../src/lib/app-manifest.ts"],"names":[],"mappings":"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"}
@@ -7,21 +7,68 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ import { existsSync } from 'node:fs';
11
+ import { dirname, relative } from 'node:path';
10
12
  import { readPackageUp, } from 'read-package-up';
11
13
  import { assert } from './utils/assert.js';
12
14
  export function defineAppPackage(fnOrObject) {
13
15
  return fnOrObject;
14
16
  }
15
- export const resolveEntryPoint = (packageJson) => {
16
- const { main: entry = packageJson.module } = packageJson;
17
- assert(entry, 'expected [main|module] in packageJson');
18
- return entry;
17
+ /**
18
+ * Resolves the entry point of a given package.
19
+ *
20
+ * This function attempts to find the entry point of a package by checking several
21
+ * common properties in the package's `package.json` file, such as `entrypoint`, `main`,
22
+ * and `module`. If none of these properties are found, it defaults to checking for
23
+ * common entry files like `src/index.ts`, `src/index.tsx`, `src/index.js`, and `src/index.jsx`.
24
+ *
25
+ * @param pkg - The resolved application package containing the package.json and path information.
26
+ * @returns The relative path to the resolved entry point.
27
+ * @throws Will throw an error if no entry point can be resolved.
28
+ */
29
+ export const resolveEntryPoint = (packageJson, pkgPath = '') => {
30
+ const entrypoint = [
31
+ packageJson.entrypoint,
32
+ packageJson.main,
33
+ packageJson.module,
34
+ 'src/index.ts',
35
+ 'src/index.tsx',
36
+ 'src/index.js',
37
+ 'src/index.jsx',
38
+ ]
39
+ .filter((x) => !!x)
40
+ .map((x) => relative(dirname(pkgPath), x))
41
+ .find((entry) => existsSync(entry));
42
+ assert(entrypoint, 'failed to resolve entrypoint');
43
+ return entrypoint;
19
44
  };
45
+ /**
46
+ * Resolves the application key from the given package.json object.
47
+ *
48
+ * @param packageJson - An object containing the 'name' property from the package.json.
49
+ * @returns The resolved application key, which is the package name with any leading '@' or scope removed.
50
+ * @throws Will throw an error if the 'name' property is not present in the packageJson.
51
+ */
20
52
  export const resolveAppKey = (packageJson) => {
21
53
  assert(packageJson.name, 'expected [name] in packageJson');
22
54
  return packageJson.name.replace(/^@|\w.*\//gm, '');
23
55
  };
24
- export const assertPackage = (_pkg) => { };
56
+ /**
57
+ * Asserts the validity of a given package by resolving its application key and entry point.
58
+ *
59
+ * @param pkg - A partial representation of the application's package JSON.
60
+ */
61
+ export const assertPackage = (pkg) => {
62
+ assert(resolveAppKey(pkg));
63
+ assert(resolveEntryPoint(pkg));
64
+ };
65
+ /**
66
+ * Resolves the application package by searching for the nearest `package.json` file.
67
+ *
68
+ * @param options - Optional parameters to customize the search behavior.
69
+ * @returns A promise that resolves to the found package information.
70
+ * @throws Will throw an error if the `package.json` file is not found.
71
+ */
25
72
  export const resolveAppPackage = (options) => __awaiter(void 0, void 0, void 0, function* () {
26
73
  const result = yield readPackageUp(options);
27
74
  if (!result) {
@@ -1 +1 @@
1
- {"version":3,"file":"app-package.js","sourceRoot":"","sources":["../../src/lib/app-package.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAEH,aAAa,GAEhB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAsB3C,MAAM,UAAU,gBAAgB,CAAC,UAAiC;IAC9D,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAiD,EAAE,EAAE;IACnF,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC;IACzD,MAAM,CAAC,KAAK,EAAE,uCAAuC,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAsC,EAAE,EAAE;IACpE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IAC3D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAA6B,EAAE,EAAE,GAAE,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,OAAkC,EACP,EAAE;IAC7B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE;QACT,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAC9C;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"app-package.js","sourceRoot":"","sources":["../../src/lib/app-package.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAEH,aAAa,GAEhB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAsB3C,MAAM,UAAU,gBAAgB,CAAC,UAAiC;IAC9D,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAwB,EAAE,UAAkB,EAAE,EAAU,EAAE;IACxF,MAAM,UAAU,GAAG;QACf,WAAW,CAAC,UAAU;QACtB,WAAW,CAAC,IAAI;QAChB,WAAW,CAAC,MAAM;QAClB,cAAc;QACd,eAAe;QACf,cAAc;QACd,eAAe;KAClB;SACI,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,MAAM,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;IAEnD,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAsC,EAAE,EAAE;IACpE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IAC3D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAA4B,EAAE,EAAE;IAC1D,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,iBAAiB,CAAC,GAAqB,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,OAAkC,EACP,EAAE;IAC7B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/dist/lib/index.js CHANGED
@@ -1,7 +1,4 @@
1
- export { mergeManifests, defineAppManifest, } from './app-manifest.js';
2
- export { mergeAppConfigs, defineAppConfig, } from './app-config.js';
1
+ export { mergeManifests, defineAppManifest } from './app-manifest.js';
2
+ export { defineAppConfig } from './app-config.js';
3
3
  export { defineAppPackage, resolveAppKey, resolveEntryPoint, } from './app-package.js';
4
- export { mergeWidgetManifests, defineWidgetManifest, createWidgetManifest, } from './widget-manifest.js';
5
- export { mergeWidgetConfigs, defineWidgetConfig, } from './widget-config.js';
6
- export { createDevConfig } from './dev-config.js';
7
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,iBAAiB,GAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,eAAe,EACf,eAAe,GAIlB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAGpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GAGvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,kBAAkB,EAClB,kBAAkB,GAIrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAiC,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAsB,MAAM,mBAAmB,CAAC;AAE1F,OAAO,EAAE,eAAe,EAA0C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAGpB,MAAM,kBAAkB,CAAC"}