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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/CHANGELOG.md +642 -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 +14 -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
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Api config object
4
+ */
5
+ export declare const ApiAppConfigSchema: z.ZodObject<{
6
+ environment: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
7
+ endpoints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
8
+ url: z.ZodString;
9
+ scopes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ url: string;
12
+ scopes: string[];
13
+ }, {
14
+ url: string;
15
+ scopes?: string[] | undefined;
16
+ }>>>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ environment: Record<string, any>;
19
+ endpoints?: Record<string, {
20
+ url: string;
21
+ scopes: string[];
22
+ }> | undefined;
23
+ }, {
24
+ environment?: Record<string, any> | undefined;
25
+ endpoints?: Record<string, {
26
+ url: string;
27
+ scopes?: string[] | undefined;
28
+ }> | undefined;
29
+ }>;
30
+ export type ApiAppConfig = z.infer<typeof ApiAppConfigSchema>;
@@ -1 +1 @@
1
- export declare const version = "9.8.1";
1
+ export declare const version = "10.0.1";
package/dist/version.js CHANGED
@@ -1,2 +1,3 @@
1
- export const version = '9.8.1';
1
+ // Generated by genversion.
2
+ export const version = '10.0.1';
2
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/fusion-framework-cli",
3
- "version": "10.0.0-widget-acdcb9b2",
3
+ "version": "10.0.1",
4
4
  "keywords": [
5
5
  "Fusion",
6
6
  "Fusion Framework",
@@ -12,88 +12,98 @@
12
12
  "access": "public"
13
13
  },
14
14
  "type": "module",
15
- "main": "./bin/main.js",
16
15
  "bin": {
17
16
  "fusion-framework-cli": "./bin/cli.mjs"
18
17
  },
18
+ "main": "./bin/main.js",
19
+ "types": "./dist/types/lib/index.d.ts",
19
20
  "exports": {
20
21
  ".": {
21
22
  "types": "./dist/types/lib/index.d.ts",
22
23
  "import": "./dist/lib/index.js"
24
+ },
25
+ "./plugin-app-assets": {
26
+ "types": "./dist/types/bin/plugins/app-assets/index.d.ts",
27
+ "import": "./dist/lib/plugins/app-assets/index.js"
28
+ },
29
+ "./plugin-app-proxy": {
30
+ "types": "./dist/types/lib/plugins/app-proxy/index.d.ts",
31
+ "import": "./dist/lib/plugins/app-proxy/index.js"
32
+ },
33
+ "./plugin-external-public": {
34
+ "types": "./dist/types/lib/plugins/external-public/index.d.ts",
35
+ "import": "./dist/lib/plugins/external-public/index.js"
23
36
  }
24
37
  },
25
- "types": "./dist/types/lib/index.d.ts",
26
38
  "dependencies": {
27
- "@equinor/eds-core-react": "^0.36.0",
28
- "@equinor/eds-icons": "^0.21.0",
29
- "@equinor/eds-tokens": "^0.9.2",
30
- "@equinor/fusion-wc-person": "^2.5.1",
31
- "@types/adm-zip": "^0.5.0",
32
- "@types/semver": "^7.5.0",
33
39
  "@vitejs/plugin-react": "^4.0.4",
34
40
  "adm-zip": "^0.5.10",
35
41
  "chalk": "^5.3.0",
36
42
  "commander": "^12.0.0",
37
43
  "deepmerge": "^4.3.1",
38
- "express": "^4.18.2",
39
- "express-rate-limit": "^7.0.0",
40
44
  "find-up": "^7.0.0",
41
- "http-proxy-middleware": "^2.0.6",
42
45
  "is-mergeable-object": "^1.1.1",
46
+ "loader-utils": "^3.3.1",
47
+ "mime": "^4.0.4",
48
+ "node-fetch": "^3.3.2",
43
49
  "ora": "^8.0.1",
44
50
  "portfinder": "^1.0.32",
45
51
  "pretty-bytes": "^6.1.1",
46
52
  "read-package-up": "^11.0.0",
47
53
  "semver": "^7.5.4",
48
- "vite": "^5.0.12",
54
+ "vite": "^5.4.3",
49
55
  "vite-plugin-environment": "^1.1.3",
50
56
  "vite-plugin-restart": "^0.4.0",
51
57
  "vite-tsconfig-paths": "^4.2.0",
52
- "@equinor/fusion-framework-app": "^8.1.1",
53
- "@equinor/fusion-framework-react-components-people-provider": "^1.2.2-widget-acdcb9b2",
54
- "@equinor/fusion-framework-react-widget": "^1.0.1-widget-acdcb9b2",
55
- "@equinor/fusion-framework-module-feature-flag": "^1.0.2",
56
- "@equinor/fusion-observable": "^8.1.5"
58
+ "zod": "^3.23.8"
57
59
  },
58
60
  "devDependencies": {
59
- "@equinor/fusion-react-button": "^0.9.1",
60
- "@equinor/fusion-react-context-selector": "^0.6.0",
61
- "@equinor/fusion-react-icon": "^0.3.0",
62
- "@equinor/fusion-react-menu": "^0.3.0",
63
- "@equinor/fusion-react-person": "^0.7.0",
64
- "@equinor/fusion-react-progress-indicator": "^0.2.1",
65
- "@equinor/fusion-react-side-sheet": "1.3.0",
61
+ "@equinor/eds-core-react": "^0.41.2",
62
+ "@equinor/eds-icons": "^0.21.0",
63
+ "@equinor/eds-tokens": "^0.9.2",
64
+ "@equinor/eslint-config-fusion-react": "^2.0.1",
65
+ "@equinor/fusion-react-context-selector": "^0.6.6",
66
+ "@equinor/fusion-react-progress-indicator": "^0.3.0",
67
+ "@equinor/fusion-react-side-sheet": "1.3.3",
66
68
  "@equinor/fusion-react-styles": "^0.6.0",
69
+ "@equinor/fusion-wc-chip": "^1.2.1",
70
+ "@equinor/fusion-wc-person": "^3.0.1",
67
71
  "@material-ui/styles": "^4.11.5",
68
- "@types/express": "^4.17.17",
72
+ "@types/adm-zip": "^0.5.0",
73
+ "@types/loader-utils": "^2.0.6",
69
74
  "@types/node": "^20.11.14",
70
75
  "@types/react": "^18.2.50",
71
76
  "@types/react-dom": "^18.2.7",
77
+ "@types/rollup": "^0.54.0",
78
+ "@types/semver": "^7.5.0",
79
+ "eslint-plugin-rxjs": "^5.0.3",
72
80
  "react": "^18.2.0",
73
81
  "react-dom": "^18.2.0",
74
82
  "react-router-dom": "^6.15.0",
75
- "rollup": "^4.3.0",
83
+ "rollup": "^4.22.4",
76
84
  "rxjs": "^7.8.1",
77
85
  "styled-components": "^6.0.7",
78
- "types": "link:./types",
79
- "typescript": "^5.1.3",
80
- "@equinor/fusion-framework-app": "^8.1.1",
81
- "@equinor/fusion-framework-module-app": "^5.2.13",
82
- "@equinor/fusion-framework-module-bookmark": "^1.1.2",
83
- "@equinor/fusion-framework": "^7.0.30",
84
- "@equinor/fusion-framework-module-context": "^4.0.21",
85
- "@equinor/fusion-framework-module-msal": "^3.0.10",
86
- "@equinor/fusion-framework-module-http": "^5.1.6",
87
- "@equinor/fusion-framework-module-navigation": "^3.1.4",
88
- "@equinor/fusion-framework-module-services": "^3.2.4",
89
- "@equinor/fusion-framework-react": "^6.0.3-widget-acdcb9b2",
90
- "@equinor/fusion-query": "^4.0.6",
91
- "@equinor/fusion-framework-react-module-bookmark": "^2.0.33-widget-acdcb9b2",
92
- "@equinor/fusion-framework-react-components-bookmark": "^0.3.9-widget-acdcb9b2"
86
+ "typescript": "^5.5.4",
87
+ "@equinor/fusion-framework": "^7.2.8",
88
+ "@equinor/fusion-framework-app": "^9.1.10",
89
+ "@equinor/fusion-framework-module-app": "^6.0.0",
90
+ "@equinor/fusion-framework-module-bookmark": "^1.2.12",
91
+ "@equinor/fusion-framework-module-feature-flag": "^1.1.9",
92
+ "@equinor/fusion-framework-module-msal": "^3.1.5",
93
+ "@equinor/fusion-framework-module-context": "^5.0.12",
94
+ "@equinor/fusion-framework-module-navigation": "^4.0.7",
95
+ "@equinor/fusion-framework-react": "^7.3.0",
96
+ "@equinor/fusion-framework-react-components-bookmark": "^0.5.2",
97
+ "@equinor/fusion-framework-react-components-people-provider": "^1.4.9",
98
+ "@equinor/fusion-framework-react-module-bookmark": "^2.1.18",
99
+ "@equinor/fusion-framework-module-services": "^4.1.5",
100
+ "@equinor/fusion-query": "^5.1.3",
101
+ "@equinor/fusion-observable": "^8.4.1"
93
102
  },
94
103
  "scripts": {
95
104
  "prebuild": "pnpm build:source",
96
105
  "build": "pnpm build:source && pnpm build:dev-server",
106
+ "build:clean": "rm -rf dist && rm -f tsconfig.tsbuildinfo && pnpm build",
97
107
  "build:source": "tsc -b",
98
108
  "build:dev-server": "vite build"
99
109
  }
@@ -1,61 +0,0 @@
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 AdmZip from 'adm-zip';
11
- import { dirname, resolve } from 'node:path';
12
- import { mkdir } from 'node:fs/promises';
13
- import { loadPackage } from './utils/load-package.js';
14
- import { chalk, formatByteSize, formatPath } from './utils/format.js';
15
- import { Spinner } from './utils/spinner.js';
16
- import { buildApplication } from './build-application.js';
17
- import { fileExistsSync } from '../lib/utils/file-exists.js';
18
- import { createExportManifestWidget } from './create-export-manifest-widget.js';
19
- export const bundleWidget = (options) => __awaiter(void 0, void 0, void 0, function* () {
20
- const { outDir, archive, outputFileName } = options;
21
- const spinner = Spinner.Global({ prefixText: chalk.dim('pack') });
22
- const pkg = yield loadPackage();
23
- spinner.start('build widget');
24
- yield buildApplication({ outDir, outputFileName });
25
- spinner.succeed();
26
- spinner.start('generate manifest');
27
- const manifest = yield createExportManifestWidget({
28
- outputFile: `${outDir}/widget-manifest.json`,
29
- });
30
- spinner.succeed();
31
- console.log(chalk.dim(JSON.stringify(manifest, undefined, 2)));
32
- const bundle = new AdmZip();
33
- bundle.addLocalFile(pkg.path);
34
- spinner.info(`added ./package.json`);
35
- bundle.addLocalFolder(outDir);
36
- spinner.info(`added ./${outDir}`);
37
- const licenseFile = resolve(pkg.path, 'LICENSE.md');
38
- if (fileExistsSync(licenseFile)) {
39
- bundle.addLocalFile(licenseFile);
40
- spinner.info(`added ${licenseFile}`);
41
- }
42
- else {
43
- spinner.warn(`missing ${licenseFile}`);
44
- }
45
- const readmeFile = resolve(pkg.path, 'README.md');
46
- if (fileExistsSync(readmeFile)) {
47
- bundle.addLocalFile(readmeFile);
48
- spinner.info(`added ${readmeFile}`);
49
- }
50
- else {
51
- spinner.warn(`missing ${readmeFile}`);
52
- }
53
- spinner.start('compressing content');
54
- if (!fileExistsSync(dirname(archive))) {
55
- yield mkdir(dirname(archive), { recursive: true });
56
- }
57
- bundle.writeZip(archive);
58
- spinner.info(formatPath(archive), formatByteSize(archive));
59
- spinner.succeed();
60
- });
61
- //# sourceMappingURL=bundle-widget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-widget.js","sourceRoot":"","sources":["../../src/bin/bundle-widget.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
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 nodeFs from 'node:fs';
11
- import { writeFile } from 'node:fs/promises';
12
- import assert from 'node:assert';
13
- import { SemVer, parse as parseSemver } from 'semver';
14
- import { chalk, formatPath } from './utils/format.js';
15
- import { Spinner } from './utils/spinner.js';
16
- import { loadWidgetManifest } from './utils/load-widget-manifest.js';
17
- import { loadWidgetPackage } from './utils/load-widget-package.js';
18
- import { dirname } from 'node:path';
19
- export const normalizeVersion = (version) => {
20
- const semverVersion = parseSemver(version);
21
- assert(semverVersion instanceof SemVer, 'expected version in AppManifest to be SemVer');
22
- const { major, minor, patch } = semverVersion;
23
- return { major, minor, patch };
24
- };
25
- const cleanManifest = (manifest) => {
26
- return {
27
- name: manifest.name,
28
- description: manifest.description,
29
- version: normalizeVersion(manifest.version),
30
- entryPoint: manifest.entryPoint,
31
- };
32
- };
33
- export const createExportManifestWidget = (options) => __awaiter(void 0, void 0, void 0, function* () {
34
- var _a;
35
- const { command = 'build', outputFile } = options !== null && options !== void 0 ? options : {};
36
- const spinner = Spinner.Global({ prefixText: chalk.dim('manifest') });
37
- const pkg = yield loadWidgetPackage();
38
- const env = {
39
- command,
40
- mode: (_a = process.env.NODE_ENV) !== null && _a !== void 0 ? _a : 'development',
41
- root: pkg.root,
42
- };
43
- const { manifest } = yield loadWidgetManifest(env, pkg, {
44
- file: options === null || options === void 0 ? void 0 : options.configFile,
45
- });
46
- const manifestExport = Object.assign({}, cleanManifest(manifest));
47
- if (outputFile) {
48
- spinner.start(`outputting manifest to ${formatPath(outputFile)}`);
49
- try {
50
- const dir = dirname(outputFile).trim();
51
- if (!nodeFs.existsSync(dirname(outputFile))) {
52
- nodeFs.mkdirSync(dir, { recursive: true });
53
- }
54
- yield writeFile(outputFile, JSON.stringify(manifestExport));
55
- spinner.succeed();
56
- }
57
- catch (err) {
58
- spinner.fail();
59
- throw err;
60
- }
61
- }
62
- else {
63
- console.log(manifestExport);
64
- }
65
- return manifestExport;
66
- });
67
- export default createExportManifestWidget;
68
- //# sourceMappingURL=create-export-manifest-widget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-export-manifest-widget.js","sourceRoot":"","sources":["../../src/bin/create-export-manifest-widget.ts"],"names":[],"mappings":"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"}
@@ -1,107 +0,0 @@
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 { jsx as _jsx } from "react/jsx-runtime";
11
- import { useCallback, useMemo, useState } from 'react';
12
- import { useFramework } from '@equinor/fusion-framework-react';
13
- import { useCurrentApp } from '@equinor/fusion-framework-react/app';
14
- import { useObservableState, useObservableSubscription } from '@equinor/fusion-observable/react';
15
- import { EMPTY } from 'rxjs';
16
- import { ContextProvider, ContextSearch, } from '@equinor/fusion-react-context-selector';
17
- import { styled } from 'styled-components';
18
- const Styled = {
19
- ContextSelectorWrapper: styled.div `
20
- min-width: 25rem;
21
- width: fit-content;
22
- `,
23
- };
24
- const mapper = (src) => {
25
- return src.map((i) => {
26
- var _a, _b;
27
- return {
28
- id: i.id,
29
- title: i.title,
30
- subTitle: (_a = i.type) === null || _a === void 0 ? void 0 : _a.id,
31
- graphic: ((_b = i.type) === null || _b === void 0 ? void 0 : _b.id) === 'OrgChart' ? 'list' : undefined,
32
- };
33
- });
34
- };
35
- const singleItem = (props) => {
36
- return Object.assign({ id: 'no-such-item', title: 'Change me' }, props);
37
- };
38
- const noPreselect = [];
39
- const useQueryContext = () => {
40
- const framework = useFramework();
41
- const { value: currentContext } = useObservableState(useMemo(() => framework.modules.context.currentContext$, [framework.modules.context]));
42
- const preselected = useMemo(() => (currentContext ? mapper([currentContext]) : noPreselect), [currentContext]);
43
- const [provider, setProvider] = useState(null);
44
- const { currentApp } = useCurrentApp();
45
- const instance$ = useMemo(() => (currentApp === null || currentApp === void 0 ? void 0 : currentApp.instance$) || EMPTY, [currentApp]);
46
- const onContextProviderChange = useCallback((modules) => {
47
- const contextProvider = modules.context;
48
- if (contextProvider) {
49
- setProvider(contextProvider);
50
- }
51
- }, [setProvider]);
52
- const clearContextProvider = useCallback(() => setProvider(null), [setProvider]);
53
- useObservableSubscription(instance$, onContextProviderChange, clearContextProvider);
54
- const minLength = 3;
55
- const resolver = useMemo(() => ({
56
- searchQuery: (search) => __awaiter(void 0, void 0, void 0, function* () {
57
- if (!provider) {
58
- return [];
59
- }
60
- if (search.length < minLength) {
61
- return [
62
- singleItem({
63
- id: 'min-length',
64
- title: `Type ${minLength - search.length} more chars to search`,
65
- isDisabled: true,
66
- }),
67
- ];
68
- }
69
- try {
70
- const result = yield provider.queryContextAsync(search);
71
- if (result.length) {
72
- return mapper(result);
73
- }
74
- return [
75
- singleItem({
76
- id: 'no-results',
77
- title: 'No results found',
78
- isDisabled: true,
79
- }),
80
- ];
81
- }
82
- catch (e) {
83
- console.log('ContextResolver query was cancelled');
84
- return [];
85
- }
86
- }),
87
- initialResult: preselected,
88
- }), [provider, preselected]);
89
- const setContext = useCallback((e) => {
90
- var _a;
91
- if ((_a = e.nativeEvent.detail) === null || _a === void 0 ? void 0 : _a.selected.length) {
92
- framework.modules.context.setCurrentContextByIdAsync(e.nativeEvent.detail.selected[0].id);
93
- }
94
- }, [framework]);
95
- const clearContext = useCallback(() => {
96
- if (!framework)
97
- return;
98
- framework.modules.context.clearCurrentContext();
99
- }, [framework]);
100
- return [resolver, setContext, preselected === null || preselected === void 0 ? void 0 : preselected[0], clearContext];
101
- };
102
- export const ContextSelector = () => {
103
- const [resolver, setContext, currentContext, clearContext] = useQueryContext();
104
- return (_jsx(ContextProvider, { resolver: resolver, children: _jsx(Styled.ContextSelectorWrapper, { children: _jsx(ContextSearch, { id: "context-selector-header", placeholder: "Search for context", initialText: "Start typing to search", dropdownHeight: "300px", variant: "header", onSelect: setContext, autofocus: true, onClearContext: clearContext, previewItem: currentContext !== null && currentContext !== void 0 ? currentContext : null, value: currentContext === null || currentContext === void 0 ? void 0 : currentContext.title, selectedId: currentContext === null || currentContext === void 0 ? void 0 : currentContext.title }) }) }));
105
- };
106
- export default ContextSelector;
107
- //# sourceMappingURL=ContextSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextSelector.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/ContextSelector.tsx"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import { useFramework } from '@equinor/fusion-framework-react';
2
- import { Query } from '@equinor/fusion-query';
3
- import { useMemo, useState } from 'react';
4
- const createPersonClient = (client) => {
5
- const expire = 3 * 60 * 1000;
6
- const queryDetails = new Query({
7
- expire,
8
- queueOperator: 'merge',
9
- key: (azureId) => azureId,
10
- client: {
11
- fn: (azureId) => {
12
- return client.json(`/persons/${azureId}?api-version=4.0`);
13
- },
14
- },
15
- });
16
- const queryPresence = new Query({
17
- expire,
18
- queueOperator: 'merge',
19
- key: (azureId) => azureId,
20
- client: {
21
- fn: (azureId) => client.json(`/persons/${azureId}/presence?api-version=1.0`),
22
- },
23
- });
24
- return {
25
- getDetails: (azureId) => queryDetails.queryAsync(azureId).then((x) => x.value),
26
- getPresence: (azureId) => queryPresence.queryAsync(azureId).then((x) => x.value),
27
- };
28
- };
29
- export const usePersonResolver = () => {
30
- const [resolver, setResolver] = useState(undefined);
31
- const framework = useFramework();
32
- useMemo(() => {
33
- framework.modules.serviceDiscovery
34
- .createClient('people')
35
- .then((httpClient) => createPersonClient(httpClient))
36
- .then(setResolver);
37
- }, [framework]);
38
- return resolver;
39
- };
40
- //# sourceMappingURL=usePersonResolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePersonResolver.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/usePersonResolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,kBAAkB,GAAG,CAAC,MAAmB,EAAE,EAAE;IAE/C,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC;QAC3B,MAAM;QACN,aAAa,EAAE,OAAO;QACtB,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO;QACzB,MAAM,EAAE;YACJ,EAAE,EAAE,CAAC,OAAe,EAAE,EAAE;gBACpB,OAAO,MAAM,CAAC,IAAI,CAAgB,YAAY,OAAO,kBAAkB,CAAC,CAAC;YAC7E,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC;QAC5B,MAAM;QACN,aAAa,EAAE,OAAO;QACtB,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO;QACzB,MAAM,EAAE;YACJ,EAAE,EAAE,CAAC,OAAe,EAAE,EAAE,CACpB,MAAM,CAAC,IAAI,CAAiB,YAAY,OAAO,2BAA2B,CAAC;SAClF;KACJ,CAAC,CAAC;IAEH,OAAO;QACH,UAAU,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACtF,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KAC3F,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAGlC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAkB,SAAS,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,EAAE;QACT,SAAS,CAAC,OAAO,CAAC,gBAAgB;aAC7B,YAAY,CAAC,QAAQ,CAAC;aACtB,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;aACpD,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAChB,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
@@ -1,90 +0,0 @@
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 express from 'express';
11
- import { createProxyMiddleware, responseInterceptor, } from 'http-proxy-middleware';
12
- import { Spinner } from './utils/spinner.js';
13
- import chalk, { formatPath } from './utils/format.js';
14
- const createResponseInterceptor = (cb) => {
15
- return responseInterceptor((responseBuffer, proxyRes, req, res) => __awaiter(void 0, void 0, void 0, function* () {
16
- var _a, _b, _c;
17
- res.setHeader('x-proxy-status-message', (_a = proxyRes.statusMessage) !== null && _a !== void 0 ? _a : '');
18
- res.setHeader('x-proxy-status-code', (_b = proxyRes.statusCode) !== null && _b !== void 0 ? _b : '');
19
- const { response, statusCode, path } = (_c = (yield Promise.resolve(cb(req.params, proxyRes, Number(proxyRes.statusCode) < 400 &&
20
- JSON.parse(responseBuffer.toString('utf8')))))) !== null && _c !== void 0 ? _c : {};
21
- if (statusCode) {
22
- res.statusCode = statusCode;
23
- }
24
- if (response) {
25
- path && res.setHeader('x-interceptor-handler', path);
26
- return JSON.stringify(response);
27
- }
28
- return responseBuffer;
29
- }));
30
- };
31
- export const createDevProxy = (handler, options, config) => __awaiter(void 0, void 0, void 0, function* () {
32
- var _a;
33
- const proxyOptions = Object.assign({
34
- changeOrigin: true,
35
- selfHandleResponse: true,
36
- onProxyReq: (proxyReq) => {
37
- const spinner = Spinner.Clone();
38
- spinner.ora.suffixText = formatPath([proxyReq.protocol, '//', proxyReq.host, proxyReq.path].join(''));
39
- spinner.start('proxy request');
40
- proxyReq.on('response', (res) => {
41
- var _a;
42
- if (Number(res.statusCode) < 400) {
43
- spinner.succeed();
44
- }
45
- else {
46
- spinner.warn(chalk.yellow((_a = res.statusMessage) !== null && _a !== void 0 ? _a : `${res.statusCode} `));
47
- }
48
- spinner.stop();
49
- });
50
- proxyReq.on('error', () => {
51
- spinner.fail();
52
- });
53
- },
54
- }, options);
55
- const { app, hasWidgetConfig } = config
56
- ? yield config.configurator(config.env, express())
57
- : { app: express(), hasWidgetConfig: false };
58
- app.disable('x-powered-by');
59
- (_a = options.staticAssets) === null || _a === void 0 ? void 0 : _a.forEach((asset) => {
60
- app.use(express.static(asset.path, asset.options));
61
- });
62
- app.use(createProxyMiddleware('/_discovery/environments/current', Object.assign(Object.assign({}, proxyOptions), { onProxyRes: responseInterceptor((responseBuffer, _proxyRes, req) => __awaiter(void 0, void 0, void 0, function* () {
63
- const response = JSON.parse(responseBuffer.toString('utf8'));
64
- response.environmentName = 'DEVELOPMENT';
65
- response.services = response.services.filter((x) => x.key !== 'app');
66
- if (hasWidgetConfig) {
67
- response.services = response.services.filter((x) => x.key !== 'apps');
68
- response.services.push({
69
- key: 'apps',
70
- uri: new URL('/', req.headers.referer).href,
71
- });
72
- }
73
- response.services.push({
74
- key: 'app',
75
- uri: new URL('/', req.headers.referer).href,
76
- });
77
- return JSON.stringify(response);
78
- })) })));
79
- app.get('/api/apps/:appKey/config', createProxyMiddleware('/api/apps/*/config', Object.assign(Object.assign({}, proxyOptions), { onProxyRes: createResponseInterceptor(handler.onConfigResponse) })));
80
- app.get('/api/apps/:appKey', createProxyMiddleware('/api/apps/*', Object.assign(Object.assign({}, proxyOptions), { onProxyRes: createResponseInterceptor(handler.onManifestResponse) })));
81
- app.get('/api/apps', createProxyMiddleware('/api/apps', Object.assign(Object.assign({}, proxyOptions), { onProxyRes: createResponseInterceptor(handler.onManifestListResponse) })));
82
- app.get('/widgets/*/versions/**', createProxyMiddleware('/widgets/*/versions/**', {
83
- changeOrigin: true,
84
- target: 'https://fusion-s-apps-ci.azurewebsites.net',
85
- }));
86
- app.get('/widgets/:widgetId', createProxyMiddleware('/widgets/*', Object.assign(Object.assign({}, proxyOptions), { target: 'https://fusion-s-apps-ci.azurewebsites.net', onProxyRes: createResponseInterceptor(handler.onWidgetManifestResponse) })));
87
- return app;
88
- });
89
- export default createDevProxy;
90
- //# sourceMappingURL=dev-proxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../../src/bin/dev-proxy.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAuC,MAAM,SAAS,CAAC;AAE9D,OAAO,EACH,qBAAqB,EACrB,mBAAmB,GAEtB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA8BtD,MAAM,yBAAyB,GAAG,CAC9B,EAAsF,EACxF,EAAE;IACA,OAAO,mBAAmB,CAAC,CAAO,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;;QACpE,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,MAAA,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC;QACtE,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,MAAA,QAAQ,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC;QAChE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,GAChC,MAAA,CAAC,MAAM,OAAO,CAAC,OAAO,CAClB,EAAE,CACG,GAAsB,CAAC,MAAM,EAC9B,QAAQ,EAER,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG;YAC7B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAClD,CACJ,CAAC,mCAAI,EAAE,CAAC;QACb,IAAI,UAAU,EAAE;YACZ,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;SAC/B;QACD,IAAI,QAAQ,EAAE;YACV,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACnC;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,OAAqB,EACrB,OAEC,EACD,MAMC,EACe,EAAE;;IAClB,MAAM,YAAY,GAAiB,MAAM,CAAC,MAAM,CAC5C;QACI,YAAY,EAAE,IAAI;QAClB,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,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;YACF,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC/B,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;;gBAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE;oBAC9B,OAAO,CAAC,OAAO,EAAE,CAAC;iBACrB;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAA,GAAG,CAAC,aAAa,mCAAI,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;iBACzE;gBACD,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC;KACmB,EACxB,OAAO,CACV,CAAC;IAEF,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,MAAM;QACnC,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAClD,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAEjD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5B,MAAA,OAAO,CAAC,YAAY,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CACH,qBAAqB,CAAC,kCAAkC,kCACjD,YAAY,KACf,UAAU,EAAE,mBAAmB,CAAC,CAAO,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7D,QAAQ,CAAC,eAAe,GAAG,aAAa,CAAC;YACzC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CACxC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAC1C,CAAC;YAEF,IAAI,eAAe,EAAE;gBACjB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CACxC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAC3C,CAAC;gBACF,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnB,GAAG,EAAE,MAAM;oBACX,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI;iBAC9C,CAAC,CAAC;aACN;YAGD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACnB,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI;aAC9C,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAA,CAAC,IACJ,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,0BAA0B,EAE1B,qBAAqB,CAAC,oBAAoB,kCACnC,YAAY,KACf,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,IACjE,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,mBAAmB,EACnB,qBAAqB,CAAC,aAAa,kCAC5B,YAAY,KACf,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,kBAAkB,CAAC,IACnE,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,WAAW,EACX,qBAAqB,CAAC,WAAW,kCAC1B,YAAY,KACf,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,sBAAsB,CAAC,IACvE,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,wBAAwB,EACxB,qBAAqB,CAAC,wBAAwB,EAAE;QAC5C,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,4CAA4C;KACvD,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,oBAAoB,EACpB,qBAAqB,CAAC,YAAY,kCAC3B,YAAY,KACf,MAAM,EAAE,4CAA4C,EACpD,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,wBAAwB,CAAC,IACzE,CACL,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC,CAAA,CAAC;AAEF,eAAe,cAAc,CAAC"}