@equinor/fusion-framework-cli 10.0.0-next-663bed8344cc2ca0111705b05045173328b3104d → 10.0.0-next-65f4bbf022d22b529abd095acd74ab218499fb8b

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 (181) hide show
  1. package/CHANGELOG.md +10 -15
  2. package/bin/cli.mjs +1 -1
  3. package/dist/bin/build-application.js +65 -0
  4. package/dist/bin/build-application.js.map +1 -0
  5. package/dist/bin/bundle-application.js +56 -0
  6. package/dist/bin/bundle-application.js.map +1 -0
  7. package/dist/bin/create-dev-serve.js +123 -0
  8. package/dist/bin/create-dev-serve.js.map +1 -0
  9. package/dist/bin/create-export-config.js +50 -0
  10. package/dist/bin/create-export-config.js.map +1 -0
  11. package/dist/bin/create-export-manifest.js +77 -0
  12. package/dist/bin/create-export-manifest.js.map +1 -0
  13. package/dist/bin/dev-portal/AppLoader.js +77 -0
  14. package/dist/bin/dev-portal/AppLoader.js.map +1 -0
  15. package/dist/bin/dev-portal/BookMarkSideSheet.js +15 -0
  16. package/dist/bin/dev-portal/BookMarkSideSheet.js.map +1 -0
  17. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +41 -0
  18. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +1 -0
  19. package/dist/bin/dev-portal/ContextSelector/index.js +2 -0
  20. package/dist/bin/dev-portal/ContextSelector/index.js.map +1 -0
  21. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +171 -0
  22. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +1 -0
  23. package/dist/bin/dev-portal/EquinorLoader.js +14 -0
  24. package/dist/bin/dev-portal/EquinorLoader.js.map +1 -0
  25. package/dist/bin/dev-portal/ErrorViewer.js +7 -0
  26. package/dist/bin/dev-portal/ErrorViewer.js.map +1 -0
  27. package/dist/bin/dev-portal/FusionLogo.js +4 -0
  28. package/dist/bin/dev-portal/FusionLogo.js.map +1 -0
  29. package/dist/bin/dev-portal/Header.js +37 -0
  30. package/dist/bin/dev-portal/Header.js.map +1 -0
  31. package/dist/bin/dev-portal/PersonSideSheet/index.js +32 -0
  32. package/dist/bin/dev-portal/PersonSideSheet/index.js.map +1 -0
  33. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js +16 -0
  34. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js.map +1 -0
  35. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +16 -0
  36. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +1 -0
  37. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +16 -0
  38. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +1 -0
  39. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js +19 -0
  40. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js.map +1 -0
  41. package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js +30 -0
  42. package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js.map +1 -0
  43. package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js +3 -0
  44. package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js.map +1 -0
  45. package/dist/bin/dev-portal/PersonSideSheet/sheets/types.js +2 -0
  46. package/dist/bin/dev-portal/PersonSideSheet/sheets/types.js.map +1 -0
  47. package/dist/bin/dev-portal/Router.js +59 -0
  48. package/dist/bin/dev-portal/Router.js.map +1 -0
  49. package/dist/bin/dev-portal/config.js +69 -0
  50. package/dist/bin/dev-portal/config.js.map +1 -0
  51. package/dist/bin/dev-portal/main.js +13 -0
  52. package/dist/bin/dev-portal/main.js.map +1 -0
  53. package/dist/bin/dev-portal/resources/fallback-photo.svg.js +3 -0
  54. package/dist/bin/dev-portal/resources/fallback-photo.svg.js.map +1 -0
  55. package/dist/bin/dev-portal/useAppContextNavigation.js +68 -0
  56. package/dist/bin/dev-portal/useAppContextNavigation.js.map +1 -0
  57. package/dist/bin/main.app.js +171 -0
  58. package/dist/bin/main.app.js.map +1 -0
  59. package/dist/bin/main.js +20 -0
  60. package/dist/bin/main.js.map +1 -0
  61. package/dist/bin/public/assets/{index-Cb85_fOB.js → index-D0eBBcR8.js} +483 -483
  62. package/dist/bin/public/index.html +1 -1
  63. package/dist/bin/publish-application.js +104 -0
  64. package/dist/bin/publish-application.js.map +1 -0
  65. package/dist/bin/tag-application.js +82 -0
  66. package/dist/bin/tag-application.js.map +1 -0
  67. package/dist/bin/upload-application.js +72 -0
  68. package/dist/bin/upload-application.js.map +1 -0
  69. package/dist/bin/upload-export-config.js +87 -0
  70. package/dist/bin/upload-export-config.js.map +1 -0
  71. package/dist/bin/utils/execute-command.js +23 -0
  72. package/dist/bin/utils/execute-command.js.map +1 -0
  73. package/dist/bin/utils/format.js +17 -0
  74. package/dist/bin/utils/format.js.map +1 -0
  75. package/dist/bin/utils/getEndpointUrl.js +49 -0
  76. package/dist/bin/utils/getEndpointUrl.js.map +1 -0
  77. package/dist/bin/utils/index.js +14 -0
  78. package/dist/bin/utils/index.js.map +1 -0
  79. package/dist/bin/utils/isAppRegistered.js +35 -0
  80. package/dist/bin/utils/isAppRegistered.js.map +1 -0
  81. package/dist/bin/utils/load-app-config.js +35 -0
  82. package/dist/bin/utils/load-app-config.js.map +1 -0
  83. package/dist/bin/utils/load-manifest.js +40 -0
  84. package/dist/bin/utils/load-manifest.js.map +1 -0
  85. package/dist/bin/utils/load-package.js +24 -0
  86. package/dist/bin/utils/load-package.js.map +1 -0
  87. package/dist/bin/utils/load-vite-config.js +54 -0
  88. package/dist/bin/utils/load-vite-config.js.map +1 -0
  89. package/dist/bin/utils/proxy-request-logger.js +34 -0
  90. package/dist/bin/utils/proxy-request-logger.js.map +1 -0
  91. package/dist/bin/utils/publishAppConfig.js +36 -0
  92. package/dist/bin/utils/publishAppConfig.js.map +1 -0
  93. package/dist/bin/utils/requireToken.js +10 -0
  94. package/dist/bin/utils/requireToken.js.map +1 -0
  95. package/dist/bin/utils/spinner.js +77 -0
  96. package/dist/bin/utils/spinner.js.map +1 -0
  97. package/dist/bin/utils/tagAppBundle.js +35 -0
  98. package/dist/bin/utils/tagAppBundle.js.map +1 -0
  99. package/dist/bin/utils/uploadAppBundle.js +54 -0
  100. package/dist/bin/utils/uploadAppBundle.js.map +1 -0
  101. package/dist/lib/app-config.js +1 -1
  102. package/dist/lib/app-config.js.map +1 -1
  103. package/dist/schemas.js +14 -0
  104. package/dist/schemas.js.map +1 -0
  105. package/dist/types/bin/build-application.d.ts +13 -0
  106. package/dist/types/bin/bundle-application.d.ts +4 -0
  107. package/dist/types/bin/create-dev-serve.d.ts +11 -0
  108. package/dist/types/bin/create-export-config.d.ts +13 -0
  109. package/dist/types/bin/create-export-manifest.d.ts +16 -0
  110. package/dist/types/bin/dev-portal/AppLoader.d.ts +11 -0
  111. package/dist/types/bin/dev-portal/BookMarkSideSheet.d.ts +6 -0
  112. package/dist/types/bin/dev-portal/ContextSelector/ContextSelector.d.ts +8 -0
  113. package/dist/types/bin/dev-portal/ContextSelector/index.d.ts +1 -0
  114. package/dist/types/bin/dev-portal/ContextSelector/useContextResolver.d.ts +15 -0
  115. package/dist/types/bin/dev-portal/EquinorLoader.d.ts +5 -0
  116. package/dist/types/bin/dev-portal/ErrorViewer.d.ts +4 -0
  117. package/dist/types/bin/dev-portal/FusionLogo.d.ts +5 -0
  118. package/dist/types/bin/dev-portal/Header.d.ts +3 -0
  119. package/dist/types/bin/dev-portal/PersonSideSheet/index.d.ts +11 -0
  120. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.d.ts +6 -0
  121. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.d.ts +5 -0
  122. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.d.ts +5 -0
  123. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.d.ts +5 -0
  124. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +6 -0
  125. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/index.d.ts +2 -0
  126. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/types.d.ts +5 -0
  127. package/dist/types/bin/dev-portal/Router.d.ts +1 -0
  128. package/dist/types/bin/dev-portal/config.d.ts +3 -0
  129. package/dist/types/bin/dev-portal/main.d.ts +1 -0
  130. package/dist/types/bin/dev-portal/resources/fallback-photo.svg.d.ts +2 -0
  131. package/dist/types/bin/dev-portal/useAppContextNavigation.d.ts +5 -0
  132. package/dist/types/bin/main.app.d.ts +3 -0
  133. package/dist/types/bin/main.d.ts +1 -0
  134. package/dist/types/bin/publish-application.d.ts +6 -0
  135. package/dist/types/bin/tag-application.d.ts +12 -0
  136. package/dist/types/bin/upload-application.d.ts +6 -0
  137. package/dist/types/bin/upload-export-config.d.ts +10 -0
  138. package/dist/types/bin/utils/execute-command.d.ts +8 -0
  139. package/dist/types/bin/utils/format.d.ts +8 -0
  140. package/dist/types/bin/utils/getEndpointUrl.d.ts +10 -0
  141. package/dist/types/bin/utils/index.d.ts +14 -0
  142. package/dist/types/bin/utils/isAppRegistered.d.ts +5 -0
  143. package/dist/types/bin/utils/load-app-config.d.ts +10 -0
  144. package/dist/types/bin/utils/load-manifest.d.ts +10 -0
  145. package/dist/types/bin/utils/load-package.d.ts +5 -0
  146. package/dist/types/bin/utils/load-vite-config.d.ts +10 -0
  147. package/dist/types/bin/utils/proxy-request-logger.d.ts +15 -0
  148. package/dist/types/bin/utils/publishAppConfig.d.ts +9 -0
  149. package/dist/types/bin/utils/requireToken.d.ts +4 -0
  150. package/dist/types/bin/utils/spinner.d.ts +20 -0
  151. package/dist/types/bin/utils/tagAppBundle.d.ts +7 -0
  152. package/dist/types/bin/utils/uploadAppBundle.d.ts +7 -0
  153. package/dist/types/{app-config.d.ts → lib/app-config.d.ts} +1 -1
  154. package/dist/types/{plugins → lib/plugins}/app-proxy/app-proxy-plugin.d.ts +1 -1
  155. package/dist/types/schemas.d.ts +30 -0
  156. package/dist/types/version.d.ts +1 -0
  157. package/dist/version.js +3 -0
  158. package/dist/version.js.map +1 -0
  159. package/package.json +20 -23
  160. package/dist/bin/main.mjs +0 -2003
  161. /package/dist/types/{app-manifest.d.ts → lib/app-manifest.d.ts} +0 -0
  162. /package/dist/types/{app-package.d.ts → lib/app-package.d.ts} +0 -0
  163. /package/dist/types/{index.d.ts → lib/index.d.ts} +0 -0
  164. /package/dist/types/{plugins → lib/plugins}/app-assets/app-asset-plugin.d.ts +0 -0
  165. /package/dist/types/{plugins → lib/plugins}/app-assets/emit-asset.d.ts +0 -0
  166. /package/dist/types/{plugins → lib/plugins}/app-assets/extension-filter-pattern.d.ts +0 -0
  167. /package/dist/types/{plugins → lib/plugins}/app-assets/index.d.ts +0 -0
  168. /package/dist/types/{plugins → lib/plugins}/app-assets/read-asset-content.d.ts +0 -0
  169. /package/dist/types/{plugins → lib/plugins}/app-assets/resolve-asset-id.d.ts +0 -0
  170. /package/dist/types/{plugins → lib/plugins}/app-assets/static.d.ts +0 -0
  171. /package/dist/types/{plugins → lib/plugins}/app-proxy/index.d.ts +0 -0
  172. /package/dist/types/{plugins → lib/plugins}/external-public/external-public-plugin.d.ts +0 -0
  173. /package/dist/types/{plugins → lib/plugins}/external-public/index.d.ts +0 -0
  174. /package/dist/types/{utils → lib/utils}/assert.d.ts +0 -0
  175. /package/dist/types/{utils → lib/utils}/config.d.ts +0 -0
  176. /package/dist/types/{utils → lib/utils}/expect.d.ts +0 -0
  177. /package/dist/types/{utils → lib/utils}/file-exists.d.ts +0 -0
  178. /package/dist/types/{utils → lib/utils}/ts-transpile.d.ts +0 -0
  179. /package/dist/types/{utils → lib/utils}/types.d.ts +0 -0
  180. /package/dist/types/{vite-config.d.ts → lib/vite-config.d.ts} +0 -0
  181. /package/dist/types/{vite-logger.d.ts → lib/vite-logger.d.ts} +0 -0
@@ -0,0 +1,69 @@
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 { enableAppModule } from '@equinor/fusion-framework-module-app';
11
+ import { ConsoleLogger } from '@equinor/fusion-framework-module-msal/client';
12
+ import { enableBookmark } from '@equinor/fusion-framework-module-bookmark';
13
+ import { enableNavigation } from '@equinor/fusion-framework-module-navigation';
14
+ import { enableServices } from '@equinor/fusion-framework-module-services';
15
+ import { enableFeatureFlagging } from '@equinor/fusion-framework-module-feature-flag';
16
+ import { createLocalStoragePlugin, createUrlPlugin, } from '@equinor/fusion-framework-module-feature-flag/plugins';
17
+ export const configure = (config) => __awaiter(void 0, void 0, void 0, function* () {
18
+ config.configureServiceDiscovery({
19
+ client: {
20
+ baseUri: 'https://discovery.fusion.equinor.com/service-registry/environments/ci/services',
21
+ defaultScopes: ['5a842df8-3238-415d-b168-9f16a6a6031b/.default'],
22
+ },
23
+ });
24
+ // Add custom client for app
25
+ config.configureHttpClient('app', {
26
+ baseUri: new URL('/apps-proxy/', window.location.href).href,
27
+ defaultScopes: ['5a842df8-3238-415d-b168-9f16a6a6031b/.default'],
28
+ });
29
+ config.configureMsal({
30
+ tenantId: '3aa4a235-b6e2-48d5-9195-7fcf05b459b0',
31
+ clientId: '9b707e3a-3e90-41ed-a47e-652a1e3b53d0',
32
+ redirectUri: '/authentication/login-callback',
33
+ }, { requiresAuth: true });
34
+ enableAppModule(config);
35
+ enableNavigation(config);
36
+ enableServices(config);
37
+ enableBookmark(config, (builder) => {
38
+ builder.setSourceSystem({
39
+ subSystem: 'CLI',
40
+ identifier: 'fusion-cli',
41
+ name: 'Fusion CLI',
42
+ });
43
+ });
44
+ /* Adds demo portal features to cli */
45
+ enableFeatureFlagging(config, (builder) => {
46
+ builder.addPlugin(createLocalStoragePlugin([
47
+ {
48
+ key: 'fusionDebug',
49
+ title: 'Fusion debug log',
50
+ description: 'Show Fusion debug log in console',
51
+ },
52
+ {
53
+ key: 'pinkBg',
54
+ title: 'Use pink bg?',
55
+ description: 'When enabled the background should be pink',
56
+ },
57
+ ]));
58
+ builder.addPlugin(createUrlPlugin(['fusionDebug']));
59
+ });
60
+ config.onConfigured(() => {
61
+ console.log('framework config done');
62
+ });
63
+ config.onInitialized((fusion) => __awaiter(void 0, void 0, void 0, function* () {
64
+ fusion.auth.defaultClient.setLogger(new ConsoleLogger(0));
65
+ console.debug('📒 subscribing to all events');
66
+ }));
67
+ });
68
+ export default configure;
69
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EACH,wBAAwB,EACxB,eAAe,GAClB,MAAM,uDAAuD,CAAC;AAE/D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAO,MAA6B,EAAE,EAAE;IAC7D,MAAM,CAAC,yBAAyB,CAAC;QAC7B,MAAM,EAAE;YACJ,OAAO,EACH,gFAAgF;YACpF,aAAa,EAAE,CAAC,+CAA+C,CAAC;SACnE;KACJ,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE;QAC9B,OAAO,EAAE,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI;QAC3D,aAAa,EAAE,CAAC,+CAA+C,CAAC;KACnE,CAAC,CAAC;IAEH,MAAM,CAAC,aAAa,CAChB;QACI,QAAQ,EAAE,sCAAsC;QAChD,QAAQ,EAAE,sCAAsC;QAChD,WAAW,EAAE,gCAAgC;KAChD,EACD,EAAE,YAAY,EAAE,IAAI,EAAE,CACzB,CAAC;IAEF,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,cAAc,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAC/B,OAAO,CAAC,eAAe,CAAC;YACpB,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,YAAY;YACxB,IAAI,EAAE,YAAY;SACrB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,qBAAqB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QACtC,OAAO,CAAC,SAAS,CACb,wBAAwB,CAAC;YACrB;gBACI,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,kCAAkC;aAClD;YACD;gBACI,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,4CAA4C;aAC5D;SACJ,CAAC,CACL,CAAC;QACF,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,aAAa,CAAC,CAAO,MAAM,EAAE,EAAE;QAClC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAA,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import ReactDOM from 'react-dom/client';
3
+ import { Framework } from '@equinor/fusion-framework-react';
4
+ import { ThemeProvider, theme } from '@equinor/fusion-react-styles';
5
+ import { EquinorLoader } from './EquinorLoader';
6
+ import { configure } from './config';
7
+ import { Router } from './Router';
8
+ import { PeopleResolverProvider } from '@equinor/fusion-framework-react-components-people-provider';
9
+ const target = document.getElementById('root');
10
+ import fallbackSvg from './resources/fallback-photo.svg';
11
+ const fallbackImage = new Blob([fallbackSvg], { type: 'image/svg+xml' });
12
+ ReactDOM.createRoot(target).render(_jsx(ThemeProvider, { theme: theme, children: _jsx(Framework, { configure: configure, fallback: _jsx(EquinorLoader, { text: "Loading framework" }), children: _jsx(PeopleResolverProvider, { options: { fallbackImage }, children: _jsx(Router, {}) }) }) }));
13
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/main.tsx"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AAEpG,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAgB,CAAC;AAE9D,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAEzE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAC9B,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,YACvB,KAAC,SAAS,IAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAC,aAAa,IAAC,IAAI,EAAC,mBAAmB,GAAG,YACjF,KAAC,sBAAsB,IAAC,OAAO,EAAE,EAAE,aAAa,EAAE,YAC9C,KAAC,MAAM,KAAG,GACW,GACjB,GACA,CACnB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const svg = `<svg height="24px" width="24px" fill="#999" viewBox="0 0 24 24" title="person" role="img" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="#eee" /><path d="M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4Zm2 4c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2Zm4 10c-.2-.71-3.3-2-6-2-2.69 0-5.77 1.28-6 2h12ZM4 18c0-2.66 5.33-4 8-4s8 1.34 8 4v2H4v-2Z" fill-rule="evenodd" clip-rule="evenodd" class="sc-dmqHEX eydzYY"></path></svg>`;
2
+ export default svg;
3
+ //# sourceMappingURL=fallback-photo.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-photo.svg.js","sourceRoot":"","sources":["../../../../src/bin/dev-portal/resources/fallback-photo.svg.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,0cAA0c,CAAC;AAC9d,eAAe,GAAG,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { useCallback } from 'react';
2
+ import { useCurrentAppModules } from '@equinor/fusion-framework-react/app';
3
+ import { extractContextIdFromPath } from '@equinor/fusion-framework-module-context/utils';
4
+ import { useObservableSubscription } from '@equinor/fusion-observable/react';
5
+ import { EMPTY } from 'rxjs';
6
+ import { useFrameworkModule } from '@equinor/fusion-framework-react';
7
+ /**
8
+ * when current application changes, this hook will observe the application module instances.
9
+ * If the module has Context and Navigation, this hook will navigate when the context changes
10
+ */
11
+ export const useAppContextNavigation = () => {
12
+ var _a;
13
+ // use the framework navigation instance
14
+ const navigation = useFrameworkModule('navigation');
15
+ // use the current application modules
16
+ const { modules } = useCurrentAppModules();
17
+ // use the application context and navigation from the current application modules
18
+ const { context, navigation: appNavigation } = modules !== null && modules !== void 0 ? modules : {};
19
+ // subscribe to the context changes
20
+ useObservableSubscription(
21
+ // if the context is not available, use an empty observable
22
+ (_a = context === null || context === void 0 ? void 0 : context.currentContext$) !== null && _a !== void 0 ? _a : EMPTY,
23
+ // when the context changes, navigate to the new context
24
+ useCallback((item) => {
25
+ // sanity check, if the item or navigation is undefined, early return
26
+ if (item === undefined || navigation === undefined) {
27
+ return;
28
+ }
29
+ // resolve the app base path (application base fragment of url)
30
+ const currentPathname = appNavigation
31
+ ? // if the app has its own navigation, use it to resolve the app base path
32
+ appNavigation.path.pathname
33
+ : // if the app does not have its own navigation, use the portal navigation to resolve the app base path
34
+ navigation.path.pathname;
35
+ console.debug('🌍 Portal:', appNavigation
36
+ ? 'App has its own navigation, using it to navigate.'
37
+ : 'App does not have its own navigation, using portal navigation.');
38
+ // extract the context id from the current path
39
+ const pathContextId = extractContextIdFromPath(currentPathname);
40
+ // generate path to the selected context
41
+ const pathname = pathContextId
42
+ ? item
43
+ ? // context id exists in the url, replace it with the new context id
44
+ currentPathname.replace(pathContextId, item.id)
45
+ : // context was cleared, set the path to the root
46
+ '/'
47
+ : // could not find context id in the url, set the path to the new context id
48
+ `/${item === null || item === void 0 ? void 0 : item.id}`;
49
+ console.debug('🌍 Portal:', "context changed, navigating to app's context url:", pathContextId
50
+ ? `found context id [${pathContextId}] in url, ${item ? `replacing with [${item.id}]` : 'context was cleared, navigating to root'}`
51
+ : `could not find context id in url, navigating to context id [${item ? item.id : 'root'}]`);
52
+ // if app has its own navigation, use it to navigate
53
+ if (appNavigation) {
54
+ // update the path of the app navigation, preserving search and hash
55
+ appNavigation.replace(Object.assign(Object.assign({}, appNavigation.path), { pathname }));
56
+ }
57
+ else {
58
+ // update the path of the portal navigation, preserving search and hash
59
+ navigation.replace(Object.assign(Object.assign({}, navigation.path), { pathname }));
60
+ }
61
+ }, [
62
+ // framework navigation instance, should not change
63
+ navigation,
64
+ // application navigation instance, may change when the application changes
65
+ appNavigation,
66
+ ]));
67
+ };
68
+ //# sourceMappingURL=useAppContextNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAppContextNavigation.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/useAppContextNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAI1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAIrE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;;IACxC,wCAAwC;IACxC,MAAM,UAAU,GAAG,kBAAkB,CAAmB,YAAY,CAAC,CAAC;IAEtE,sCAAsC;IACtC,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAqB,CAAC;IAC9D,kFAAkF;IAClF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAE7D,mCAAmC;IACnC,yBAAyB;IACrB,2DAA2D;IAC3D,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,KAAK;IACjC,wDAAwD;IACxD,WAAW,CACP,CAAC,IAAoC,EAAE,EAAE;QACrC,qEAAqE;QACrE,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO;QACX,CAAC;QAED,+DAA+D;QAC/D,MAAM,eAAe,GAAG,aAAa;YACjC,CAAC,CAAC,yEAAyE;gBACzE,aAAa,CAAC,IAAI,CAAC,QAAQ;YAC7B,CAAC,CAAC,sGAAsG;gBACtG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE/B,OAAO,CAAC,KAAK,CACT,YAAY,EACZ,aAAa;YACT,CAAC,CAAC,mDAAmD;YACrD,CAAC,CAAC,gEAAgE,CACzE,CAAC;QAEF,+CAA+C;QAC/C,MAAM,aAAa,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAEhE,wCAAwC;QACxC,MAAM,QAAQ,GAAG,aAAa;YAC1B,CAAC,CAAC,IAAI;gBACF,CAAC,CAAC,mEAAmE;oBACnE,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC;gBACjD,CAAC,CAAC,gDAAgD;oBAChD,GAAG;YACT,CAAC,CAAC,2EAA2E;gBAC3E,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,EAAE,CAAC;QAErB,OAAO,CAAC,KAAK,CACT,YAAY,EACZ,mDAAmD,EACnD,aAAa;YACT,CAAC,CAAC,qBAAqB,aAAa,aAAa,IAAI,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,yCAAyC,EAAE;YACnI,CAAC,CAAC,+DAA+D,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAClG,CAAC;QAEF,oDAAoD;QACpD,IAAI,aAAa,EAAE,CAAC;YAChB,oEAAoE;YACpE,aAAa,CAAC,OAAO,iCAAM,aAAa,CAAC,IAAI,KAAE,QAAQ,IAAG,CAAC;QAC/D,CAAC;aAAM,CAAC;YACJ,uEAAuE;YACvE,UAAU,CAAC,OAAO,iCAAM,UAAU,CAAC,IAAI,KAAE,QAAQ,IAAG,CAAC;QACzD,CAAC;IACL,CAAC,EACD;QACI,mDAAmD;QACnD,UAAU;QACV,2EAA2E;QAC3E,aAAa;KAChB,CACJ,CACJ,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,171 @@
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 { createDevServer } from './create-dev-serve.js';
11
+ import { buildApplication } from './build-application.js';
12
+ import { publishApplication } from './publish-application.js';
13
+ import { uploadApplication } from './upload-application.js';
14
+ import { tagApplication } from './tag-application.js';
15
+ import { formatPath, chalk } from './utils/format.js';
16
+ import { createAppManifest, createBuildManifest } from './create-export-manifest.js';
17
+ import { bundleApplication } from './bundle-application.js';
18
+ import { createExportConfig } from './create-export-config.js';
19
+ import { uploadExportConfig } from './upload-export-config.js';
20
+ import { fileURLToPath } from 'node:url';
21
+ import { resolve, join } from 'node:path';
22
+ export default (program) => {
23
+ const app = program
24
+ .command('app')
25
+ .description('Tooling for developing applications build on Fusion Framework');
26
+ app.command('dev')
27
+ .description('Start development server for application')
28
+ .option('-p, --port <number>', 'dev-server port')
29
+ .option('-P, --portal <string>', 'fusion portal host')
30
+ .option('-c, --config <file>', `use specified application config, by default search for ${formatPath('app.config.{ts,js,json}')}`)
31
+ .option(' --manifest <file>', `use specified manifest, by default search for ${formatPath('app.manifest.config.{ts,js,json}')}`)
32
+ .option(' --vite <file>', `use specified Vite config file, by default search for ${formatPath('app.vite.config.{ts,js,json}')}`)
33
+ .option('-F, --framework <string>', `application framework to build the application on, supported: [${chalk.yellowBright('react')}]`, 'react')
34
+ .option('-d, --dev-portal <string>', 'Location of dev-portal you want to use')
35
+ .action((opt) => __awaiter(void 0, void 0, void 0, function* () {
36
+ var _a;
37
+ const devPortalPath = opt.devPortal
38
+ ? resolve(join(process.cwd(), opt.devPortal))
39
+ : fileURLToPath(new URL('public', import.meta.url));
40
+ yield createDevServer({
41
+ portal: (_a = process.env.FUSION_PORTAL_HOST) !== null && _a !== void 0 ? _a : 'https://fusion-s-portal-ci.azurewebsites.net',
42
+ configSourceFiles: {
43
+ app: opt.config,
44
+ manifest: opt.manifest,
45
+ vite: opt.vite,
46
+ },
47
+ library: opt.framework,
48
+ port: opt.port,
49
+ devPortalPath: devPortalPath,
50
+ });
51
+ }));
52
+ app.command('manifest')
53
+ .description('Generate manifest')
54
+ .option('-o, --output <string>', 'output file')
55
+ .option('-c, --config <string>', 'manifest config file')
56
+ .action((opt) => {
57
+ createAppManifest({
58
+ outputFile: opt.output,
59
+ configFile: opt.config,
60
+ });
61
+ });
62
+ app.command('build')
63
+ .description('Builds application')
64
+ .option('-o, --outDir, <string>', 'output directory of package', 'dist')
65
+ .option('-c, --config <string>', 'Use specified config file, see https://vitejs.dev/guide/cli.html#build')
66
+ .option(' --vite <string>', `use specified Vite config file, by default search for ${formatPath('app.config.vite.{ts,js,json}')}`)
67
+ .option('-F, --framework <string>', `application framework to build the application on, supported: [${chalk.yellowBright('react')}]`, 'react')
68
+ .action((opt) => __awaiter(void 0, void 0, void 0, function* () {
69
+ buildApplication({
70
+ configSourceFiles: {
71
+ vite: opt.vite,
72
+ },
73
+ outDir: opt.outDir,
74
+ });
75
+ }));
76
+ app.command('build-config')
77
+ .description('Generate config')
78
+ .option('-o, --output <string>', 'output file')
79
+ .option('-c, --config <string>', 'application config file')
80
+ .option('-p, --publish', 'Publish config to app api')
81
+ .option('-v, --version <string>', `Publish app config to version [${chalk.yellowBright('(semver | current | latest | preview)')}]`, 'current')
82
+ .option('-e, --env, <ci | fqa | tr | fprd>', 'Fusion environment to build api urls from. used when publishing config.')
83
+ .option('-s, --service, <string>', 'Define uri to custom app service. You can also define the env variable CUSTOM_APPAPI to be used on all publish commands. the --env parameter is ignored when set')
84
+ .action((opt) => {
85
+ var _a;
86
+ if (opt.publish) {
87
+ opt.output = (_a = opt.output) !== null && _a !== void 0 ? _a : 'app.config.json';
88
+ if (!opt.env) {
89
+ console.error(chalk.redBright('Missing required option --env when publishing, see --help for usage'));
90
+ return;
91
+ }
92
+ createExportConfig({
93
+ outputFile: opt.output,
94
+ configFile: opt.config,
95
+ }).then(() => {
96
+ uploadExportConfig({
97
+ configFile: opt.output,
98
+ version: opt.version,
99
+ env: opt.env,
100
+ service: opt.service,
101
+ });
102
+ });
103
+ return;
104
+ }
105
+ createExportConfig({
106
+ outputFile: opt.output,
107
+ configFile: opt.config,
108
+ });
109
+ });
110
+ app.command('upload-config')
111
+ .description('Upload config file to app api')
112
+ .requiredOption('-c, --config <string>', 'Generated application config json file')
113
+ .option('-v, --version <string>', `Publish app config to version [${chalk.yellowBright('(semver | current | latest | preview)')}]`, 'current')
114
+ .requiredOption('-e, --env, <ci | fqa | tr | fprd>', 'Fusion environment to build api urls from. used when publishing config.')
115
+ .option('-s, --service, <string>', 'Define uri to custom app service. You can also define the env variable CUSTOM_APPAPI to be used on all publish commands. the --env parameter is ignored when set')
116
+ .action((opt) => {
117
+ uploadExportConfig({
118
+ configFile: opt.config,
119
+ version: opt.version,
120
+ env: opt.env,
121
+ service: opt.service,
122
+ });
123
+ });
124
+ app.command('build-manifest')
125
+ .description('Generate manifest')
126
+ .option('-o, --output <string>', 'output file')
127
+ .option('-c, --config <string>', 'manifest config file')
128
+ .action((opt) => {
129
+ createBuildManifest({
130
+ outputFile: opt.output,
131
+ configFile: opt.config,
132
+ });
133
+ });
134
+ app.command('build-pack')
135
+ .description('Create distributable app bundle of the application')
136
+ .option('-o, --outDir, <string>', 'output directory of package', 'dist')
137
+ .option('-a, --archive, <string>', 'output filename', 'app-bundle.zip')
138
+ .action((opt) => __awaiter(void 0, void 0, void 0, function* () {
139
+ const { outDir, archive } = opt;
140
+ bundleApplication({ archive, outDir });
141
+ }));
142
+ app.command('build-publish')
143
+ .description('Publish application to app api')
144
+ .option('-t, --tag, <string>', `Tagname to publish this build as [${chalk.yellowBright('(latest | preview)')}]`, 'latest')
145
+ .requiredOption('-e, --env, <ci | fqa | tr | fprd>', 'Fusion environment to build api urls from')
146
+ .option('-s, --service, <string>', 'Define uri to custom app service. You can also define the env variable CUSTOM_APPAPI to be used on all publish commands. the --env parameter is ignored when set')
147
+ .action((opt) => __awaiter(void 0, void 0, void 0, function* () {
148
+ const { tag, env, service } = opt;
149
+ publishApplication({ tag, env, service });
150
+ }));
151
+ app.command('build-upload')
152
+ .description('Upload packaged app bundle to app api')
153
+ .option('-b, --bundle, <string>', 'The packaged app bundle file to upload', 'app-bundle.zip')
154
+ .requiredOption('-e, --env, <ci | fqa | tr | fprd>', 'Fusion environment to build api urls from')
155
+ .option('-s, --service, <string>', 'Define uri to custom app service. You can also define the env variable CUSTOM_APPAPI to be used on all publish commands. the --env parameter is ignored when set')
156
+ .action((opt) => __awaiter(void 0, void 0, void 0, function* () {
157
+ const { bundle, env, service } = opt;
158
+ uploadApplication({ bundle, env, service });
159
+ }));
160
+ app.command('build-tag')
161
+ .description('Tag a published version')
162
+ .option('-t, --tag, <string>', `Tag the published version with tagname [${chalk.yellowBright('(latest | preview)')}]`, 'latest')
163
+ .requiredOption('-v, --version, <string>', 'Version number to tag, must be a published version number')
164
+ .requiredOption('-e, --env, <ci | fqa | tr | fprd>', 'Fusion environment to build api urls from')
165
+ .option('-s, --service, <string>', 'Define uri to custom app service. You can also define the env variable CUSTOM_APPAPI to be used on all publish commands. the --env parameter is ignored when set')
166
+ .action((opt) => __awaiter(void 0, void 0, void 0, function* () {
167
+ const { tag, version, env, service } = opt;
168
+ tagApplication({ tag, version, env, service });
169
+ }));
170
+ };
171
+ //# sourceMappingURL=main.app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.app.js","sourceRoot":"","sources":["../../src/bin/main.app.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,eAAe,CAAC,OAAgB,EAAE,EAAE;IAChC,MAAM,GAAG,GAAG,OAAO;SACd,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,+DAA+D,CAAC,CAAC;IAElF,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;SACb,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;SAChD,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;SACrD,MAAM,CACH,qBAAqB,EACrB,2DAA2D,UAAU,CACjE,yBAAyB,CAC5B,EAAE,CACN;SACA,MAAM,CACH,uBAAuB,EACvB,iDAAiD,UAAU,CACvD,kCAAkC,CACrC,EAAE,CACN;SACA,MAAM,CACH,mBAAmB,EACnB,yDAAyD,UAAU,CAC/D,8BAA8B,CACjC,EAAE,CACN;SACA,MAAM,CACH,0BAA0B,EAC1B,kEAAkE,KAAK,CAAC,YAAY,CAChF,OAAO,CACV,GAAG,EACJ,OAAO,CACV;SACA,MAAM,CAAC,2BAA2B,EAAE,wCAAwC,CAAC;SAC7E,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;;QAClB,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS;YAC/B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,eAAe,CAAC;YAClB,MAAM,EACF,MAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,mCAC9B,8CAA8C;YAClD,iBAAiB,EAAE;gBACf,GAAG,EAAE,GAAG,CAAC,MAAM;gBACf,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;aACjB;YACD,OAAO,EAAE,GAAG,CAAC,SAAS;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,aAAa,EAAE,aAAa;SAC/B,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;IAEP,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;SAClB,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC;SAC9C,MAAM,CAAC,uBAAuB,EAAE,sBAAsB,CAAC;SACvD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,iBAAiB,CAAC;YACd,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,UAAU,EAAE,GAAG,CAAC,MAAM;SACzB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEP,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;SACf,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,CAAC;SACvE,MAAM,CACH,uBAAuB,EACvB,wEAAwE,CAC3E;SACA,MAAM,CACH,qBAAqB,EACrB,yDAAyD,UAAU,CAC/D,8BAA8B,CACjC,EAAE,CACN;SACA,MAAM,CACH,0BAA0B,EAC1B,kEAAkE,KAAK,CAAC,YAAY,CAChF,OAAO,CACV,GAAG,EACJ,OAAO,CACV;SACA,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;QAClB,gBAAgB,CAAC;YACb,iBAAiB,EAAE;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;aACjB;YACD,MAAM,EAAE,GAAG,CAAC,MAAM;SACrB,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;IAEP,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;SACtB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC;SAC9C,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;SAC1D,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;SACpD,MAAM,CACH,wBAAwB,EACxB,kCAAkC,KAAK,CAAC,YAAY,CAAC,uCAAuC,CAAC,GAAG,EAChG,SAAS,CACZ;SACA,MAAM,CACH,mCAAmC,EACnC,yEAAyE,CAC5E;SACA,MAAM,CACH,yBAAyB,EACzB,kKAAkK,CACrK;SACA,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;;QACZ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,GAAG,MAAA,GAAG,CAAC,MAAM,mCAAI,iBAAiB,CAAC;YAE7C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,SAAS,CACX,qEAAqE,CACxE,CACJ,CAAC;gBACF,OAAO;YACX,CAAC;YAED,kBAAkB,CAAC;gBACf,UAAU,EAAE,GAAG,CAAC,MAAM;gBACtB,UAAU,EAAE,GAAG,CAAC,MAAM;aACzB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACT,kBAAkB,CAAC;oBACf,UAAU,EAAE,GAAG,CAAC,MAAM;oBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,OAAO,EAAE,GAAG,CAAC,OAAO;iBACvB,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,kBAAkB,CAAC;YACf,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,UAAU,EAAE,GAAG,CAAC,MAAM;SACzB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEP,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;SACvB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,cAAc,CAAC,uBAAuB,EAAE,wCAAwC,CAAC;SACjF,MAAM,CACH,wBAAwB,EACxB,kCAAkC,KAAK,CAAC,YAAY,CAAC,uCAAuC,CAAC,GAAG,EAChG,SAAS,CACZ;SACA,cAAc,CACX,mCAAmC,EACnC,yEAAyE,CAC5E;SACA,MAAM,CACH,yBAAyB,EACzB,kKAAkK,CACrK;SACA,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,kBAAkB,CAAC;YACf,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;SACvB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEP,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;SACxB,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC;SAC9C,MAAM,CAAC,uBAAuB,EAAE,sBAAsB,CAAC;SACvD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,mBAAmB,CAAC;YAChB,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,UAAU,EAAE,GAAG,CAAC,MAAM;SACzB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEP,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;SACpB,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,CAAC;SACvE,MAAM,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;SACtE,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;QAClB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAChC,iBAAiB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAA,CAAC,CAAC;IAEP,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;SACvB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CACH,qBAAqB,EACrB,qCAAqC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAChF,QAAQ,CACX;SACA,cAAc,CACX,mCAAmC,EACnC,2CAA2C,CAC9C;SACA,MAAM,CACH,yBAAyB,EACzB,kKAAkK,CACrK;SACA,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;QAClB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAClC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAA,CAAC,CAAC;IAEP,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;SACtB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CACH,wBAAwB,EACxB,wCAAwC,EACxC,gBAAgB,CACnB;SACA,cAAc,CACX,mCAAmC,EACnC,2CAA2C,CAC9C;SACA,MAAM,CACH,yBAAyB,EACzB,kKAAkK,CACrK;SACA,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;QAClB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QACrC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC,CAAA,CAAC,CAAC;IAEP,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;SACnB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CACH,qBAAqB,EACrB,2CAA2C,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,EACtF,QAAQ,CACX;SACA,cAAc,CACX,yBAAyB,EACzB,2DAA2D,CAC9D;SACA,cAAc,CACX,mCAAmC,EACnC,2CAA2C,CAC9C;SACA,MAAM,CACH,yBAAyB,EACzB,kKAAkK,CACrK;SACA,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;QAClB,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAC3C,cAAc,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC,CAAA,CAAC,CAAC;AACX,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import { dirname, resolve } from 'node:path';
3
+ /** find cli package.json */
4
+ import { readPackageUpSync } from 'read-package-up';
5
+ const pkg = readPackageUpSync({ cwd: fileURLToPath(import.meta.url) });
6
+ if (!pkg) {
7
+ throw Error('failed to find program root');
8
+ }
9
+ process.env.CLI_BIN = resolve(dirname(pkg.path), String(pkg.packageJson.bin['fusion-framework-cli']));
10
+ import { Command } from 'commander';
11
+ const program = new Command();
12
+ program.name(pkg.packageJson.name);
13
+ program.description(`fusion-framework-cli@${pkg.packageJson.version}.\nCLI for the Fusion Framework`);
14
+ program.version(pkg.packageJson.version, '-V, --vers', 'CLI version');
15
+ /** add app commands */
16
+ import app from './main.app.js';
17
+ app(program);
18
+ /** read action and options and start programs */
19
+ program.parse();
20
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/bin/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACvE,IAAI,CAAC,GAAG,EAAE,CAAC;IACP,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC;AACD,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAI,CAAC,sBAAsB,CAAC,CAAC,CACvD,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACnC,OAAO,CAAC,WAAW,CACf,wBAAwB,GAAG,CAAC,WAAW,CAAC,OAAO,iCAAiC,CACnF,CAAC;AACF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAEtE,uBAAuB;AACvB,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,GAAG,CAAC,OAAO,CAAC,CAAC;AAEb,iDAAiD;AACjD,OAAO,CAAC,KAAK,EAAE,CAAC"}