@zengenti/contensis-react-base 4.0.0-beta.2 → 4.0.0-beta.4

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 (212) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +18 -478
  3. package/cjs/{App-b56aca04.js → App-DXro6av4.js} +215 -234
  4. package/cjs/App-DXro6av4.js.map +1 -0
  5. package/cjs/{ChangePassword.container-ae35785e.js → ChangePassword.container-ECjEXixF.js} +209 -286
  6. package/cjs/ChangePassword.container-ECjEXixF.js.map +1 -0
  7. package/cjs/CookieHelper.class-C3Eqoze9.js +471 -0
  8. package/cjs/CookieHelper.class-C3Eqoze9.js.map +1 -0
  9. package/cjs/{RouteLoader-c06dccd5.js → RouteLoader-BFc-Wl6M.js} +55 -68
  10. package/cjs/RouteLoader-BFc-Wl6M.js.map +1 -0
  11. package/cjs/{ContensisDeliveryApi-4fcf049d.js → SSRContext-CFeZxG9H.js} +165 -119
  12. package/cjs/SSRContext-CFeZxG9H.js.map +1 -0
  13. package/cjs/{ToJs-a8d8f3f0.js → ToJs-C9jwV7YB.js} +26 -80
  14. package/cjs/ToJs-C9jwV7YB.js.map +1 -0
  15. package/cjs/{_commonjsHelpers-b3309d7b.js → _commonjsHelpers-BJu3ubxk.js} +1 -1
  16. package/cjs/_commonjsHelpers-BJu3ubxk.js.map +1 -0
  17. package/cjs/client.js +67 -65
  18. package/cjs/client.js.map +1 -1
  19. package/cjs/contensis-react-base.js +387 -3294
  20. package/cjs/contensis-react-base.js.map +1 -1
  21. package/cjs/{fromJSLeaveImmer-e74c673c.js → fromJSLeaveImmer-Blvlk4t2.js} +3 -7
  22. package/{esm/fromJSLeaveImmer-0114ffcf.js.map → cjs/fromJSLeaveImmer-Blvlk4t2.js.map} +1 -1
  23. package/cjs/redux.js +19 -20
  24. package/cjs/redux.js.map +1 -1
  25. package/cjs/routing.js +13 -6
  26. package/cjs/routing.js.map +1 -1
  27. package/cjs/sagas-CbZhaRNd.js +6010 -0
  28. package/cjs/sagas-CbZhaRNd.js.map +1 -0
  29. package/cjs/search.js +105 -305
  30. package/cjs/search.js.map +1 -1
  31. package/cjs/selectors-wCs5fHD4.js +460 -0
  32. package/cjs/selectors-wCs5fHD4.js.map +1 -0
  33. package/cjs/{version-34d91f68.js → store-D07FOXvM.js} +44 -114
  34. package/cjs/store-D07FOXvM.js.map +1 -0
  35. package/cjs/{urls-6fcaf4c6.js → urls-DVIwGZmd.js} +1 -1
  36. package/{esm/urls-eac9a747.js.map → cjs/urls-DVIwGZmd.js.map} +1 -1
  37. package/cjs/user.js +12 -20
  38. package/cjs/user.js.map +1 -1
  39. package/cjs/util.js +109 -116
  40. package/cjs/util.js.map +1 -1
  41. package/cjs/{version-a410c88e.js → version-B7XFkBhY.js} +19 -22
  42. package/{esm/version-9f29becb.js.map → cjs/version-B7XFkBhY.js.map} +1 -1
  43. package/cjs/version-CM-bJ62L.js +20 -0
  44. package/cjs/version-CM-bJ62L.js.map +1 -0
  45. package/esm/{App-83107d7e.js → App-CIlf4cl4.js} +176 -195
  46. package/esm/App-CIlf4cl4.js.map +1 -0
  47. package/esm/{ChangePassword.container-76fd5e9b.js → ChangePassword.container-C0tFq0Tf.js} +191 -250
  48. package/esm/ChangePassword.container-C0tFq0Tf.js.map +1 -0
  49. package/esm/CookieHelper.class-FTURFpz3.js +464 -0
  50. package/esm/CookieHelper.class-FTURFpz3.js.map +1 -0
  51. package/esm/{RouteLoader-29fd689a.js → RouteLoader-D7HmVx5l.js} +40 -53
  52. package/esm/RouteLoader-D7HmVx5l.js.map +1 -0
  53. package/esm/{ContensisDeliveryApi-fe57a037.js → SSRContext-CkiWIvde.js} +159 -120
  54. package/esm/SSRContext-CkiWIvde.js.map +1 -0
  55. package/esm/{ToJs-df57f31d.js → ToJs-CpPNdcXS.js} +24 -77
  56. package/esm/ToJs-CpPNdcXS.js.map +1 -0
  57. package/esm/{_commonjsHelpers-1789f0cf.js → _commonjsHelpers-BFTU3MAI.js} +1 -1
  58. package/esm/_commonjsHelpers-BFTU3MAI.js.map +1 -0
  59. package/esm/client.js +55 -53
  60. package/esm/client.js.map +1 -1
  61. package/esm/contensis-react-base.js +318 -3223
  62. package/esm/contensis-react-base.js.map +1 -1
  63. package/esm/{fromJSLeaveImmer-0114ffcf.js → fromJSLeaveImmer-C_YACmOf.js} +2 -6
  64. package/{cjs/fromJSLeaveImmer-e74c673c.js.map → esm/fromJSLeaveImmer-C_YACmOf.js.map} +1 -1
  65. package/esm/redux.js +10 -9
  66. package/esm/redux.js.map +1 -1
  67. package/esm/routing.js +13 -4
  68. package/esm/routing.js.map +1 -1
  69. package/esm/sagas-xJU-zOpn.js +5916 -0
  70. package/esm/sagas-xJU-zOpn.js.map +1 -0
  71. package/esm/search.js +113 -311
  72. package/esm/search.js.map +1 -1
  73. package/esm/selectors-CBdCY0u3.js +396 -0
  74. package/esm/selectors-CBdCY0u3.js.map +1 -0
  75. package/esm/{version-3d9911e2.js → store-v2gyr6u2.js} +38 -85
  76. package/esm/store-v2gyr6u2.js.map +1 -0
  77. package/esm/{urls-eac9a747.js → urls-DfCisos-.js} +1 -1
  78. package/{cjs/urls-6fcaf4c6.js.map → esm/urls-DfCisos-.js.map} +1 -1
  79. package/esm/user.js +7 -13
  80. package/esm/user.js.map +1 -1
  81. package/esm/util.js +67 -75
  82. package/esm/util.js.map +1 -1
  83. package/esm/version-D773TD9j.js +15 -0
  84. package/esm/version-D773TD9j.js.map +1 -0
  85. package/esm/{version-9f29becb.js → version-DvjTUbcA.js} +6 -9
  86. package/{cjs/version-a410c88e.js.map → esm/version-DvjTUbcA.js.map} +1 -1
  87. package/models/app/App.d.ts +1 -1
  88. package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +4 -1
  89. package/models/app/pages/VersionInfo/components/VersionInfo.styled.d.ts +2 -1
  90. package/models/client/client.d.ts +1 -1
  91. package/models/index.d.ts +1 -2
  92. package/models/models/AppRouteProps.d.ts +11 -0
  93. package/models/{redux/appstate.d.ts → models/AppState.d.ts} +3 -3
  94. package/models/models/ContentTypeMapping.d.ts +89 -0
  95. package/models/models/EntryMapper.d.ts +3 -0
  96. package/models/models/GetRouteActionArgs.d.ts +15 -0
  97. package/models/models/MatchedRoute.d.ts +4 -0
  98. package/models/models/ReduxInjector.d.ts +5 -0
  99. package/models/models/RequireLogin.d.ts +6 -0
  100. package/models/models/RouteComponent.d.ts +4 -0
  101. package/models/models/RouteComponentProps.d.ts +9 -0
  102. package/models/models/RouteLoaderProps.d.ts +9 -0
  103. package/models/models/RouteNode.d.ts +5 -0
  104. package/models/models/SSRContext.d.ts +11 -0
  105. package/models/models/StaticRoute.d.ts +61 -0
  106. package/models/models/WithEvents.d.ts +58 -0
  107. package/models/models/config/AppConfig.d.ts +12 -0
  108. package/models/{config.d.ts → models/config/ServerConfig.d.ts} +3 -12
  109. package/models/models/config/StateType.d.ts +1 -0
  110. package/models/models/config/index.d.ts +3 -0
  111. package/models/models/index.d.ts +16 -0
  112. package/models/redux/actions/index.d.ts +2 -2
  113. package/models/redux/sagas/navigation.d.ts +1 -3
  114. package/models/redux/selectors/index.d.ts +2 -2
  115. package/models/redux/store/injectors.d.ts +16 -4
  116. package/models/redux/store/store.d.ts +10 -4
  117. package/models/redux/types/index.d.ts +2 -2
  118. package/models/redux/types/navigation.d.ts +3 -3
  119. package/models/redux/types/version.d.ts +2 -2
  120. package/models/routing/components/Redirect.d.ts +1 -1
  121. package/models/routing/components/RouteLoader.d.ts +1 -1
  122. package/models/routing/components/StaticRouteLoader.d.ts +1 -1
  123. package/models/routing/components/Status.d.ts +1 -1
  124. package/models/routing/redux/actions.d.ts +3 -4
  125. package/models/routing/redux/selectors.d.ts +2 -2
  126. package/models/routing/redux/types.d.ts +11 -11
  127. package/models/routing/util/find-contenttype-mapping.d.ts +1 -1
  128. package/models/routing/util/queries.d.ts +2 -2
  129. package/models/search/containers/withListing.d.ts +4 -1
  130. package/models/search/containers/withSearch.d.ts +4 -1
  131. package/models/search/models/Queries.d.ts +4 -2
  132. package/models/search/models/Search.d.ts +8 -1
  133. package/models/search/models/SearchActions.d.ts +3 -2
  134. package/models/search/models/SearchState.d.ts +5 -1
  135. package/models/search/redux/reducers.d.ts +2 -257
  136. package/models/search/redux/schema.d.ts +1 -1
  137. package/models/search/redux/selectors.d.ts +5 -5
  138. package/models/search/search/ContensisDeliveryApi.d.ts +2 -2
  139. package/models/search/search/ToJs.d.ts +1 -1
  140. package/models/search/search/expressions.d.ts +3 -3
  141. package/models/search/search/util.d.ts +17 -2
  142. package/models/search/transformations/searchresult-to-state.mapper.d.ts +1 -2
  143. package/models/server/features/caching/cacheDuration.schema.d.ts +1 -0
  144. package/models/server/features/linkdepth-api/search.d.ts +1 -1
  145. package/models/server/features/static-assets/index.d.ts +1 -1
  146. package/models/server/internalServer.d.ts +1 -1
  147. package/models/server/util/bundles.d.ts +1 -1
  148. package/models/server/util/headers.d.ts +1 -1
  149. package/models/server/webApp.d.ts +1 -1
  150. package/models/user/components/Login.d.ts +1 -1
  151. package/models/user/components/LoginForm.d.ts +6 -6
  152. package/models/user/components/LogoutForm.d.ts +4 -4
  153. package/models/user/components.styled/Login.styled.d.ts +1 -1
  154. package/models/user/components.styled/LoginForm.styled.d.ts +1 -1
  155. package/models/user/hocs/withLogin.d.ts +4 -4
  156. package/models/user/hocs/withRegistration.d.ts +6 -3
  157. package/models/user/hooks/useLogin.d.ts +4 -4
  158. package/models/user/redux/actions.d.ts +7 -6
  159. package/models/user/redux/sagas/index.d.ts +1 -1
  160. package/models/user/redux/sagas/login.d.ts +5 -17
  161. package/models/user/redux/selectors.d.ts +1 -2
  162. package/models/user/redux/types.d.ts +21 -21
  163. package/models/user/state.d.ts +12 -0
  164. package/models/user/transformations/mapClientCredentials.d.ts +3 -1
  165. package/models/user/util/ContensisManagementApi.d.ts +10 -9
  166. package/models/user/util/CookieConstants.d.ts +1 -0
  167. package/models/user/util/CookieHelper.class.d.ts +8 -4
  168. package/models/user/util/LoginHelper.class.d.ts +25 -37
  169. package/models/user/util/OidcUserManager.d.ts +1 -1
  170. package/models/user/util/matchGroups.d.ts +1 -1
  171. package/models/util/CachedDeliveryApi.d.ts +11 -10
  172. package/models/util/ContensisDeliveryApi.d.ts +11 -7
  173. package/models/util/SSRContext.d.ts +29 -0
  174. package/models/util/index.d.ts +1 -0
  175. package/models/util/json-mapper.d.ts +4 -5
  176. package/package.json +71 -92
  177. package/cjs/App-b56aca04.js.map +0 -1
  178. package/cjs/ChangePassword.container-ae35785e.js.map +0 -1
  179. package/cjs/ContensisDeliveryApi-4fcf049d.js.map +0 -1
  180. package/cjs/CookieConstants-000427db.js +0 -10
  181. package/cjs/CookieConstants-000427db.js.map +0 -1
  182. package/cjs/RouteLoader-c06dccd5.js.map +0 -1
  183. package/cjs/ToJs-a8d8f3f0.js.map +0 -1
  184. package/cjs/_commonjsHelpers-b3309d7b.js.map +0 -1
  185. package/cjs/forms.js +0 -5998
  186. package/cjs/forms.js.map +0 -1
  187. package/cjs/reducers-73a03ef4.js +0 -257
  188. package/cjs/reducers-73a03ef4.js.map +0 -1
  189. package/cjs/sagas-570f23ba.js +0 -2175
  190. package/cjs/sagas-570f23ba.js.map +0 -1
  191. package/cjs/selectors-14caa813.js +0 -228
  192. package/cjs/selectors-14caa813.js.map +0 -1
  193. package/cjs/version-34d91f68.js.map +0 -1
  194. package/esm/App-83107d7e.js.map +0 -1
  195. package/esm/ChangePassword.container-76fd5e9b.js.map +0 -1
  196. package/esm/ContensisDeliveryApi-fe57a037.js.map +0 -1
  197. package/esm/CookieConstants-3d3b6531.js +0 -6
  198. package/esm/CookieConstants-3d3b6531.js.map +0 -1
  199. package/esm/RouteLoader-29fd689a.js.map +0 -1
  200. package/esm/ToJs-df57f31d.js.map +0 -1
  201. package/esm/_commonjsHelpers-1789f0cf.js.map +0 -1
  202. package/esm/forms.js +0 -5984
  203. package/esm/forms.js.map +0 -1
  204. package/esm/reducers-aa8cef1e.js +0 -234
  205. package/esm/reducers-aa8cef1e.js.map +0 -1
  206. package/esm/sagas-07e82e18.js +0 -2083
  207. package/esm/sagas-07e82e18.js.map +0 -1
  208. package/esm/selectors-691caf02.js +0 -186
  209. package/esm/selectors-691caf02.js.map +0 -1
  210. package/esm/version-3d9911e2.js.map +0 -1
  211. package/models/forms/index.d.ts +0 -1
  212. package/models/routing/routes.d.ts +0 -133
package/cjs/util.js CHANGED
@@ -1,30 +1,30 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var urls = require('./urls-6fcaf4c6.js');
6
- var ContensisDeliveryApi = require('./ContensisDeliveryApi-4fcf049d.js');
3
+ var urls = require('./urls-DVIwGZmd.js');
4
+ var SSRContext = require('./SSRContext-CFeZxG9H.js');
5
+ var _commonjsHelpers = require('./_commonjsHelpers-BJu3ubxk.js');
7
6
  var mapJson = require('jsonpath-mapper');
8
7
  var React = require('react');
9
8
  var reactRedux = require('react-redux');
10
- var selectors = require('./selectors-14caa813.js');
11
- var version = require('./version-34d91f68.js');
9
+ var selectors = require('./selectors-wCs5fHD4.js');
10
+ var version = require('./version-CM-bJ62L.js');
12
11
  var styled = require('styled-components');
12
+ require('react-cookie');
13
13
  require('contensis-delivery-api');
14
14
  require('query-string');
15
- require('./CookieConstants-000427db.js');
15
+ require('./store-D07FOXvM.js');
16
16
  require('redux');
17
17
  require('redux-thunk');
18
18
  require('redux-saga');
19
- require('redux-injectors');
19
+ require('redux-injectors-19');
20
20
  require('immer');
21
- require('./reducers-73a03ef4.js');
21
+ require('./CookieHelper.class-C3Eqoze9.js');
22
22
 
23
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
24
24
 
25
- var mapJson__default = /*#__PURE__*/_interopDefaultLegacy(mapJson);
26
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
25
+ var mapJson__default = /*#__PURE__*/_interopDefault(mapJson);
26
+ var React__default = /*#__PURE__*/_interopDefault(React);
27
+ var styled__default = /*#__PURE__*/_interopDefault(styled);
28
28
 
29
29
  /**
30
30
  *
@@ -33,13 +33,13 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
33
33
  * object to generate the intended target object
34
34
  */
35
35
  const useMapper = (json, template) => {
36
- return template ? mapJson__default["default"](json || {}, template) : json;
36
+ return template ? mapJson__default.default(json || {}, template) : json;
37
37
  };
38
-
39
38
  const chooseMapperByFieldValue = (entry, mappers, field = 'sys.contentTypeId') => {
40
39
  const fieldValue = mapJson.jpath(field, entry || {});
41
40
  return mappers[fieldValue] || mappers.default || {};
42
41
  };
42
+
43
43
  /**
44
44
  * useEntriesMapper hook to take a list of entries from Delivery API along
45
45
  * with mappers for each contentTypeId and return an array of mapped objects
@@ -52,17 +52,16 @@ const chooseMapperByFieldValue = (entry, mappers, field = 'sys.contentTypeId') =
52
52
  * a default mapper template, returns an empty object if no mapper template
53
53
  * couild be applied.
54
54
  */
55
-
56
-
57
55
  const useEntriesMapper = (entry, mappers, field = 'sys.contentTypeId') => {
58
56
  const mapper = chooseMapperByFieldValue(entry, mappers, field);
59
57
  return useMapper(entry, mapper);
60
58
  };
59
+
61
60
  /**
62
61
  * Deprecated: due to misleading name, use the hook useEntriesMapper instead
63
62
  */
64
-
65
63
  const useEntryMapper = useEntriesMapper;
64
+
66
65
  /**
67
66
  * mapEntries mapping function to take a list of entries from Delivery API along
68
67
  * with mappers for each contentTypeId and return an array of mapped objects
@@ -75,11 +74,11 @@ const useEntryMapper = useEntriesMapper;
75
74
  * a default mapper template, returns an empty object if no mapper template
76
75
  * couild be applied.
77
76
  */
78
-
79
77
  const mapEntries = (entries, mappers, field = 'sys.contentTypeId') => entries.map(entry => {
80
78
  const mapper = chooseMapperByFieldValue(entry, mappers, field);
81
- return mapper ? mapJson__default["default"](entry || {}, mapper) : entry;
79
+ return mapper ? mapJson__default.default(entry || {}, mapper) : entry;
82
80
  });
81
+
83
82
  /**
84
83
  * mapComposer mapping function to take a composer field from Delivery API along
85
84
  * with mappers for each Composer Item "type" and return an array of mapped components
@@ -89,37 +88,42 @@ const mapEntries = (entries, mappers, field = 'sys.contentTypeId') => entries.ma
89
88
  * or null. Injects a "_type" property into each transformed object in the array to indicate
90
89
  * where the mapping originated and for what component the mapped object is representing
91
90
  */
92
-
93
91
  const mapComposer = (composer, mappers) => Array.isArray(composer) ? composer.map((composerItem, index) => {
94
92
  const itemValue = composerItem.value;
95
93
  const mapper = mappers[composerItem.type] || mappers.default;
96
-
97
94
  if (mapper) {
98
95
  // Add some fields into the composer item mapper and return object
99
96
  const addedFields = {
100
97
  _type: composerItem.type,
101
98
  _index: index
102
- }; // Add fields and $root item into the composer item source object
99
+ };
100
+
101
+ // Add fields and $root item into the composer item source object
103
102
  // for use inside each item mapping, for arrays we inject the added fields
104
103
  // into the first array item. This is useful if we require any of
105
104
  // composerItem.type, composerItem index/position and composer $root
106
105
  // in scope to influence any composer item's mapping logic
107
-
108
- const sourceObject = itemValue && Array.isArray(itemValue) ? itemValue.map((iv, idx) => idx !== 0 ? iv : typeof iv === 'object' ? { ...addedFields,
106
+ const sourceObject = itemValue && Array.isArray(itemValue) ? itemValue.map((iv, idx) => idx !== 0 ? iv : typeof iv === 'object' ? {
107
+ ...addedFields,
109
108
  ...iv,
110
109
  $root: composer
111
- } : iv) : typeof itemValue === 'object' ? { ...addedFields,
110
+ } : iv) : typeof itemValue === 'object' ? {
111
+ ...addedFields,
112
112
  ...itemValue,
113
113
  $root: composer
114
- } : itemValue || {}; // Apply the composer item mapping
114
+ } : itemValue || {};
115
115
 
116
- const mappedFields = mapJson__default["default"](sourceObject, mapper); // Add the extra fields in with the return object
116
+ // Apply the composer item mapping
117
+ const mappedFields = mapJson__default.default(sourceObject, mapper);
117
118
 
118
- return mappedFields && typeof mappedFields === 'object' ? { ...mappedFields,
119
+ // Add the extra fields in with the return object
120
+ return mappedFields && typeof mappedFields === 'object' ? {
121
+ ...mappedFields,
119
122
  ...addedFields
120
123
  } : mappedFields;
121
124
  } else return {};
122
125
  }) : composer || [];
126
+
123
127
  /**
124
128
  * useComposerMapper hook to take a composer field from Delivery API along
125
129
  * with mappers for each Composer Item "type" and return an array of mapped components
@@ -129,8 +133,8 @@ const mapComposer = (composer, mappers) => Array.isArray(composer) ? composer.ma
129
133
  * or null. Injects a "_type" property into each transformed object in the array to indicate
130
134
  * where the mapping originated and for what component the mapped object is representing
131
135
  */
132
-
133
136
  const useComposerMapper = (composer = [], mappers) => mapComposer(composer, mappers);
137
+
134
138
  /**
135
139
  * entryMapper will return a function to satisfy an entryMapper when defining app route
136
140
  * this is essentially a shorthand function to prevent boilerplate repetition inside your routes file
@@ -138,44 +142,48 @@ const useComposerMapper = (composer = [], mappers) => mapComposer(composer, mapp
138
142
  * @param mapping the jsonpath-mapper mapping template to apply when the route is resolved
139
143
  * @returns {mappedEntry}
140
144
  */
141
-
142
- const entryMapper = mapping => (node, state) => mapJson__default["default"]({ ...node,
145
+ const entryMapper = mapping => (node, state) => mapJson__default.default({
146
+ ...node,
143
147
  ...(node.entry || {}),
144
148
  state
145
149
  }, mapping);
146
150
 
147
- const stringifyStrings = obj => {
148
- const returnObj = Array.isArray(obj) ? [] : {};
149
- Object.entries(obj).forEach(([key, value]) => {
150
- switch (typeof value) {
151
- case 'string':
152
- returnObj[key] = JSON.stringify(value);
153
- break;
151
+ var stringifyStrings_1;
152
+ var hasRequiredStringifyStrings;
154
153
 
155
- case 'object':
156
- returnObj[key] = stringifyStrings(value);
157
- break;
154
+ function requireStringifyStrings () {
155
+ if (hasRequiredStringifyStrings) return stringifyStrings_1;
156
+ hasRequiredStringifyStrings = 1;
157
+ const stringifyStrings = obj => {
158
+ const returnObj = Array.isArray(obj) ? [] : {};
159
+ Object.entries(obj).forEach(([key, value]) => {
160
+ switch (typeof value) {
161
+ case 'string':
162
+ returnObj[key] = JSON.stringify(value);
163
+ break;
164
+ case 'object':
165
+ returnObj[key] = stringifyStrings(value);
166
+ break;
167
+ default:
168
+ returnObj[key] = value;
169
+ break;
170
+ }
171
+ });
172
+ return returnObj;
173
+ };
174
+ stringifyStrings_1 = stringifyStrings;
175
+ return stringifyStrings_1;
176
+ }
158
177
 
159
- default:
160
- returnObj[key] = value;
161
- break;
162
- }
163
- });
164
- return returnObj;
165
- };
166
-
167
- var stringifyStrings_1 = stringifyStrings;
178
+ var stringifyStringsExports = requireStringifyStrings();
179
+ var stringifyStrings = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(stringifyStringsExports);
168
180
 
169
181
  const context = typeof window != 'undefined' ? window : global;
170
182
  const isDev = process.env.NODE_ENV === 'development';
171
-
172
- const pj = () => isDev ? PACKAGE_JSON
173
- /* global PACKAGE_JSON */
174
- : context.PACKAGE_JSON || {
183
+ const pj = () => isDev ? PACKAGE_JSON /* global PACKAGE_JSON */ : context.PACKAGE_JSON || {
175
184
  name: 'packagejson not found',
176
185
  repository: ''
177
186
  };
178
-
179
187
  const versionInfoProps = {
180
188
  packageDetail: () => {
181
189
  const pkg = pj();
@@ -197,46 +205,29 @@ const versionInfoProps = {
197
205
  }
198
206
  },
199
207
  zenPackageVersions: () => [...(Object.entries(pj().devDependencies || {}).filter(([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')) || []), ...(Object.entries(pj().dependencies || {}).filter(([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')) || [])],
200
- deliveryApi: () => JSON.parse(JSON.stringify(DELIVERY_API_CONFIG
201
- /* global DELIVERY_API_CONFIG */
202
- )),
203
- devEnv: () => typeof DEV_ENV !== 'undefined'
204
- /* global DEV_ENV */
205
- ? DEV_ENV : null,
206
- disableSsrRedux: () => isDev ? DISABLE_SSR_REDUX
207
- /* global DISABLE_SSR_REDUX*/
208
- : context.DISABLE_SSR_REDUX || false,
208
+ deliveryApi: () => JSON.parse(JSON.stringify(DELIVERY_API_CONFIG /* global DELIVERY_API_CONFIG */)),
209
+ devEnv: () => typeof DEV_ENV !== 'undefined' /* global DEV_ENV */ ? DEV_ENV : null,
210
+ disableSsrRedux: () => isDev ? DISABLE_SSR_REDUX /* global DISABLE_SSR_REDUX*/ : context.DISABLE_SSR_REDUX || false,
209
211
  nodeEnv: () => process.env.NODE_ENV || 'production',
210
212
  packagejson: () => pj() || {},
211
- projects: () => isDev ? PROJECTS
212
- /* global PROJECTS */
213
- : context.PROJECTS,
214
- proxyDeliveryApi: () => isDev ? PROXY_DELIVERY_API
215
- /* global PROXY_DELIVERY_API */
216
- : context.PROXY_DELIVERY_API || false,
217
- publicUri: () => isDev ? PUBLIC_URI
218
- /* global PUBLIC_URI */
219
- : context.PUBLIC_URI || null,
213
+ projects: () => isDev ? PROJECTS /* global PROJECTS */ : context.PROJECTS,
214
+ proxyDeliveryApi: () => isDev ? PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */ : context.PROXY_DELIVERY_API || false,
215
+ publicUri: () => isDev ? PUBLIC_URI /* global PUBLIC_URI */ : context.PUBLIC_URI || null,
220
216
  project: state => selectors.selectCurrentProject(state),
221
- reverseProxyPaths: () => isDev ? REVERSE_PROXY_PATHS
222
- /* global REVERSE_PROXY_PATHS */
223
- : context.REVERSE_PROXY_PATHS || {},
224
- servers: () => isDev ? SERVERS
225
- /* global SERVERS */
226
- : context.SERVERS,
217
+ reverseProxyPaths: () => isDev ? REVERSE_PROXY_PATHS /* global REVERSE_PROXY_PATHS */ : context.REVERSE_PROXY_PATHS || {},
218
+ servers: () => isDev ? SERVERS /* global SERVERS */ : context.SERVERS,
227
219
  version: {
228
220
  buildNumber: state => version.selectBuildNumber(state),
229
221
  commitRef: state => version.selectCommitRef(state),
230
222
  contensisVersionStatus: state => version.selectVersionStatus(state)
231
223
  }
232
224
  };
233
-
234
225
  const mapStateToVersionInfo = state => {
235
- const mappedProps = mapJson__default["default"](state, versionInfoProps);
226
+ const mappedProps = mapJson__default.default(state, versionInfoProps);
236
227
  return mappedProps;
237
228
  };
238
229
 
239
- const VersionInfoStyledTable = styled__default["default"].table.withConfig({
230
+ const VersionInfoStyledTable = styled__default.default.table.withConfig({
240
231
  displayName: "VersionInfostyled__VersionInfoStyledTable",
241
232
  componentId: "sc-ogujr7-0"
242
233
  })(["font-family:'Source Sans Pro',Helvetica,Arial,sans-serif;font-size:1.6rem;line-height:1.5rem;border-bottom:4px solid #8892bf;border-collapse:separate;margin:0 auto;width:80%;th{text-align:left;background-color:#c4c9df;border-bottom:#8892bf 2px solid;border-bottom-color:#8892bf;border-top:20px solid #fff;}td{border-bottom:1px solid #eee;}td,th{padding:0.5rem 0.75rem;vertical-align:top;}.left{width:25%;}tr th{border-right:hidden;border-spacing:0 15px;}.green{background-color:#9c9;border-bottom:1px solid #696;}.red{background-color:#c99;border-bottom:1px solid #966;}.small{font-size:100%;line-height:2.4rem;}"]);
@@ -257,90 +248,92 @@ const VersionInfo = ({
257
248
  version,
258
249
  zenPackageVersions
259
250
  }) => {
260
- return /*#__PURE__*/React__default["default"].createElement(VersionInfoStyledTable, null, /*#__PURE__*/React__default["default"].createElement("thead", null, /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
251
+ return /*#__PURE__*/React__default.default.createElement(VersionInfoStyledTable, null, /*#__PURE__*/React__default.default.createElement("thead", null, /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", {
261
252
  colSpan: 2
262
- }, /*#__PURE__*/React__default["default"].createElement("h1", null, /*#__PURE__*/React__default["default"].createElement("a", {
253
+ }, /*#__PURE__*/React__default.default.createElement("h1", null, /*#__PURE__*/React__default.default.createElement("a", {
263
254
  href: "/"
264
- }, "Version Information"))))), /*#__PURE__*/React__default["default"].createElement("tbody", null, /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("th", {
255
+ }, "Version Information"))))), /*#__PURE__*/React__default.default.createElement("tbody", null, /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("th", {
265
256
  colSpan: 2
266
- }, "Package detail")), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
257
+ }, "Package detail")), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", {
267
258
  className: "left"
268
- }, "Name"), /*#__PURE__*/React__default["default"].createElement("td", null, packageDetail.name)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
259
+ }, "Name"), /*#__PURE__*/React__default.default.createElement("td", null, packageDetail.name)), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", {
269
260
  className: "left"
270
- }, "Version"), /*#__PURE__*/React__default["default"].createElement("td", null, packageDetail.version)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("th", {
261
+ }, "Version"), /*#__PURE__*/React__default.default.createElement("td", null, packageDetail.version)), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("th", {
271
262
  colSpan: 2
272
- }, "Version info (state)")), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Git repo url: "), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("a", {
263
+ }, "Version info (state)")), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Git repo url: "), /*#__PURE__*/React__default.default.createElement("td", null, /*#__PURE__*/React__default.default.createElement("a", {
273
264
  href: packageDetail.repository,
274
265
  target: "_blank",
275
266
  rel: "noopener noreferrer"
276
- }, packageDetail.repository))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Pipeline: "), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("a", {
267
+ }, packageDetail.repository))), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Pipeline: "), /*#__PURE__*/React__default.default.createElement("td", null, /*#__PURE__*/React__default.default.createElement("a", {
277
268
  href: uris.pipeline,
278
269
  target: "_blank",
279
270
  rel: "noopener noreferrer"
280
- }, version.buildNumber))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Commit: "), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("a", {
271
+ }, version.buildNumber))), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Commit: "), /*#__PURE__*/React__default.default.createElement("td", null, /*#__PURE__*/React__default.default.createElement("a", {
281
272
  href: uris.commit,
282
273
  target: "_blank",
283
274
  rel: "noopener noreferrer"
284
- }, version.commitRef))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Project"), /*#__PURE__*/React__default["default"].createElement("td", {
275
+ }, version.commitRef))), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Project"), /*#__PURE__*/React__default.default.createElement("td", {
285
276
  className: project === 'unknown' ? 'red' : ''
286
- }, project)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Contensis version status: "), /*#__PURE__*/React__default["default"].createElement("td", {
277
+ }, project)), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Contensis version status: "), /*#__PURE__*/React__default.default.createElement("td", {
287
278
  className: version.contensisVersionStatus === 'published' ? 'green' : 'red'
288
- }, version.contensisVersionStatus)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("th", {
279
+ }, version.contensisVersionStatus)), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("th", {
289
280
  colSpan: 2
290
- }, "Build configuration")), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Environment"), /*#__PURE__*/React__default["default"].createElement("td", null, servers.alias)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Public uri"), /*#__PURE__*/React__default["default"].createElement("td", null, publicUri)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Zengenti packages"), /*#__PURE__*/React__default["default"].createElement("td", null, zenPackageVersions.map(([pkg, ver], idx) => /*#__PURE__*/React__default["default"].createElement("div", {
281
+ }, "Build configuration")), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Environment"), /*#__PURE__*/React__default.default.createElement("td", null, servers.alias)), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Public uri"), /*#__PURE__*/React__default.default.createElement("td", null, publicUri)), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Zengenti packages"), /*#__PURE__*/React__default.default.createElement("td", null, zenPackageVersions.map(([pkg, ver], idx) => /*#__PURE__*/React__default.default.createElement("div", {
291
282
  key: idx
292
- }, pkg, ": ", ver)))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Servers"), /*#__PURE__*/React__default["default"].createElement("td", {
283
+ }, pkg, ": ", ver)))), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Servers"), /*#__PURE__*/React__default.default.createElement("td", {
293
284
  className: "small"
294
- }, /*#__PURE__*/React__default["default"].createElement("div", null, "web: ", servers.web), /*#__PURE__*/React__default["default"].createElement("div", null, "preview: ", servers.previewWeb), /*#__PURE__*/React__default["default"].createElement("div", null, "api: ", servers.api), /*#__PURE__*/React__default["default"].createElement("div", null, "cms: ", servers.cms), /*#__PURE__*/React__default["default"].createElement("div", null, "iis: ", servers.iis), /*#__PURE__*/React__default["default"].createElement("div", null, "iis preview: ", servers.previewIis))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Reverse proxy paths"), /*#__PURE__*/React__default["default"].createElement("td", null, Object.entries(reverseProxyPaths).map(([, path], key) => /*#__PURE__*/React__default["default"].createElement("span", {
285
+ }, /*#__PURE__*/React__default.default.createElement("div", null, "web: ", servers.web), /*#__PURE__*/React__default.default.createElement("div", null, "preview: ", servers.previewWeb), /*#__PURE__*/React__default.default.createElement("div", null, "api: ", servers.api), /*#__PURE__*/React__default.default.createElement("div", null, "cms: ", servers.cms), /*#__PURE__*/React__default.default.createElement("div", null, "iis: ", servers.iis), /*#__PURE__*/React__default.default.createElement("div", null, "iis preview: ", servers.previewIis))), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Reverse proxy paths"), /*#__PURE__*/React__default.default.createElement("td", null, Object.entries(reverseProxyPaths).map(([, path], key) => /*#__PURE__*/React__default.default.createElement("span", {
295
286
  key: key
296
- }, "[ ", path, " ] ")))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Projects"), /*#__PURE__*/React__default["default"].createElement("td", null, Object.entries(projects).map(([, project], key) => /*#__PURE__*/React__default["default"].createElement("div", {
287
+ }, "[ ", path, " ] ")))), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Projects"), /*#__PURE__*/React__default.default.createElement("td", null, Object.entries(projects).map(([, project], key) => /*#__PURE__*/React__default.default.createElement("div", {
297
288
  key: key
298
- }, "[ ", project.id, ": ", project.publicUri, " ]")))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Delivery API"), /*#__PURE__*/React__default["default"].createElement("td", {
289
+ }, "[ ", project.id, ": ", project.publicUri, " ]")))), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Delivery API"), /*#__PURE__*/React__default.default.createElement("td", {
299
290
  className: "small"
300
- }, /*#__PURE__*/React__default["default"].createElement("ul", {
291
+ }, /*#__PURE__*/React__default.default.createElement("ul", {
301
292
  style: {
302
293
  margin: 0,
303
294
  padding: 0
304
295
  }
305
296
  }, Object.entries(deliveryApi).map(([key, value], idx) => {
306
297
  if (typeof value === 'object') return null;
307
- return /*#__PURE__*/React__default["default"].createElement("li", {
298
+ return /*#__PURE__*/React__default.default.createElement("li", {
308
299
  key: idx,
309
300
  style: {
310
301
  listStyleType: 'none'
311
302
  }
312
- }, key, ": ", /*#__PURE__*/React__default["default"].createElement("span", null, value));
313
- })))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Proxy Delivery API requests"), /*#__PURE__*/React__default["default"].createElement("td", {
303
+ }, key, ": ", /*#__PURE__*/React__default.default.createElement("span", null, value));
304
+ })))), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Proxy Delivery API requests"), /*#__PURE__*/React__default.default.createElement("td", {
314
305
  className: proxyDeliveryApi ? 'green' : 'red'
315
- }, proxyDeliveryApi.toString())), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Disable SSR inline-redux"), /*#__PURE__*/React__default["default"].createElement("td", null, disableSsrRedux.toString())), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "NODE_ENV"), /*#__PURE__*/React__default["default"].createElement("td", {
306
+ }, proxyDeliveryApi.toString())), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "Disable SSR inline-redux"), /*#__PURE__*/React__default.default.createElement("td", null, disableSsrRedux.toString())), /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "NODE_ENV"), /*#__PURE__*/React__default.default.createElement("td", {
316
307
  className: nodeEnv === 'production' ? 'green' : 'red'
317
- }, nodeEnv.toString())), devEnv && /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "process.env"), /*#__PURE__*/React__default["default"].createElement("td", null, Object.entries(devEnv).map(([k, v], key) => /*#__PURE__*/React__default["default"].createElement("div", {
308
+ }, nodeEnv.toString())), devEnv && /*#__PURE__*/React__default.default.createElement("tr", null, /*#__PURE__*/React__default.default.createElement("td", null, "process.env"), /*#__PURE__*/React__default.default.createElement("td", null, Object.entries(devEnv).map(([k, v], key) => /*#__PURE__*/React__default.default.createElement("div", {
318
309
  key: key
319
310
  }, "[ ", k, ": ", v, " ]"))))));
320
311
  };
321
-
322
312
  var VersionInfo$1 = reactRedux.connect(mapStateToVersionInfo)(VersionInfo);
323
313
 
324
314
  exports.setCachingHeaders = urls.setCachingHeaders;
325
315
  exports.urls = urls.url;
326
- exports.cachedSearch = ContensisDeliveryApi.cachedSearch;
327
- exports.cachedSearchWithCookies = ContensisDeliveryApi.cachedSearchWithCookies;
328
- exports.deliveryApi = ContensisDeliveryApi.deliveryApi;
329
- exports.deliveryApiWithCookies = ContensisDeliveryApi.deliveryApiWithCookies;
330
- exports.getClientConfig = ContensisDeliveryApi.getClientConfig;
331
- Object.defineProperty(exports, 'jpath', {
316
+ exports.SSRContextProvider = SSRContext.SSRContextProvider;
317
+ exports.cachedSearch = SSRContext.cachedSearch;
318
+ exports.cachedSearchWithCookies = SSRContext.cachedSearchWithCookies;
319
+ exports.deliveryApi = SSRContext.deliveryApi;
320
+ exports.deliveryApiWithCookies = SSRContext.deliveryApiWithCookies;
321
+ exports.getClientConfig = SSRContext.getClientConfig;
322
+ exports.useDeliveryApi = SSRContext.useDeliveryApi;
323
+ exports.useSSRContext = SSRContext.useSSRContext;
324
+ Object.defineProperty(exports, "jpath", {
332
325
  enumerable: true,
333
326
  get: function () { return mapJson.jpath; }
334
327
  });
335
- Object.defineProperty(exports, 'mapJson', {
328
+ Object.defineProperty(exports, "mapJson", {
336
329
  enumerable: true,
337
- get: function () { return mapJson__default["default"]; }
330
+ get: function () { return mapJson__default.default; }
338
331
  });
339
332
  exports.VersionInfo = VersionInfo$1;
340
333
  exports.entryMapper = entryMapper;
341
334
  exports.mapComposer = mapComposer;
342
335
  exports.mapEntries = mapEntries;
343
- exports.stringifyStrings = stringifyStrings_1;
336
+ exports.stringifyStrings = stringifyStrings;
344
337
  exports.useComposerMapper = useComposerMapper;
345
338
  exports.useEntriesMapper = useEntriesMapper;
346
339
  exports.useEntryMapper = useEntryMapper;
package/cjs/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../src/util/json-mapper.ts","../src/util/stringifyStrings.js","../src/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.ts","../src/app/pages/VersionInfo/components/VersionInfo.styled.tsx","../src/app/pages/VersionInfo/components/VersionInfo.tsx"],"sourcesContent":["import { Entry } from 'contensis-delivery-api/lib/models';\nimport mapJson, { jpath } from 'jsonpath-mapper';\nimport MappingTemplate, {\n PureJsFunction,\n} from 'jsonpath-mapper/dist/models/Template';\nimport { AppState } from '~/redux/appstate';\nimport { EntryMapper, RouteNode } from '~/routing/routes';\n\nexport { default as mapJson, jpath } from 'jsonpath-mapper';\n\ntype Mappers<S> = { [contentTypeId: string]: MappingTemplate<S> };\n\n/**\n *\n * @param {object} json The source object we wish to transform\n * @param {object} template The mapping template we wish to apply to the source\n * object to generate the intended target object\n */\nexport const useMapper = <T, S>(json: S, template: MappingTemplate<S>) => {\n return template ? (mapJson((json || {}) as S, template) as T) : json;\n};\n\nconst chooseMapperByFieldValue = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const fieldValue = jpath(field, entry || {}) as string;\n return (mappers[fieldValue] || mappers.default || {}) as T[keyof T];\n};\n\n/**\n * useEntriesMapper hook to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const useEntriesMapper = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return useMapper(entry, mapper);\n};\n\n/**\n * Deprecated: due to misleading name, use the hook useEntriesMapper instead\n */\nexport const useEntryMapper = useEntriesMapper;\n\n/**\n * mapEntries mapping function to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const mapEntries = <\n S,\n Mappers extends { [contentTypeId: string]: MappingTemplate<S> }\n>(\n entries: S[],\n mappers: Mappers,\n field = 'sys.contentTypeId'\n) =>\n entries.map(entry => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return mapper ? mapJson((entry || {}) as S, mapper) : entry;\n });\n\n/**\n * mapComposer mapping function to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const mapComposer = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[],\n mappers: T\n) =>\n Array.isArray(composer)\n ? composer.map((composerItem, index) => {\n const itemValue = composerItem.value;\n const mapper = mappers[composerItem.type] || mappers.default;\n if (mapper) {\n // Add some fields into the composer item mapper and return object\n const addedFields = {\n _type: composerItem.type,\n _index: index,\n };\n\n // Add fields and $root item into the composer item source object\n // for use inside each item mapping, for arrays we inject the added fields\n // into the first array item. This is useful if we require any of\n // composerItem.type, composerItem index/position and composer $root\n // in scope to influence any composer item's mapping logic\n const sourceObject =\n itemValue && Array.isArray(itemValue)\n ? itemValue.map((iv, idx) =>\n idx !== 0\n ? iv\n : typeof iv === 'object'\n ? { ...addedFields, ...iv, $root: composer }\n : iv\n )\n : typeof itemValue === 'object'\n ? { ...addedFields, ...itemValue, $root: composer }\n : itemValue || {};\n\n // Apply the composer item mapping\n const mappedFields = mapJson(sourceObject, mapper) as any;\n\n // Add the extra fields in with the return object\n return mappedFields && typeof mappedFields === 'object'\n ? { ...mappedFields, ...addedFields }\n : mappedFields;\n } else return {};\n })\n : composer || [];\n\n/**\n * useComposerMapper hook to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const useComposerMapper = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[] = [],\n mappers: T\n) => mapComposer(composer, mappers);\n\n/**\n * entryMapper will return a function to satisfy an entryMapper when defining app route\n * this is essentially a shorthand function to prevent boilerplate repetition inside your routes file\n * you do not need to use this function should you wish to map your entry via raw JS functions\n * @param mapping the jsonpath-mapper mapping template to apply when the route is resolved\n * @returns {mappedEntry}\n */\nexport const entryMapper =\n (\n mapping:\n | MappingTemplate<RouteNode & Entry & { state?: AppState }>\n | PureJsFunction<RouteNode & Entry & { state?: AppState }>\n ): EntryMapper =>\n (node, state) =>\n mapJson({ ...node, ...(node.entry || ({} as Entry)), state }, mapping);\n\nexport default mapJson;\n","const stringifyStrings = obj => {\n const returnObj = Array.isArray(obj) ? [] : {};\n Object.entries(obj).forEach(([key, value]) => {\n switch (typeof value) {\n case 'string':\n returnObj[key] = JSON.stringify(value);\n break;\n case 'object':\n returnObj[key] = stringifyStrings(value);\n break;\n default:\n returnObj[key] = value;\n break;\n }\n });\n return returnObj;\n};\n\nmodule.exports = stringifyStrings;\n","import { default as mapJson } from '~/util/json-mapper';\nimport { selectCurrentProject } from '~/routing/redux/selectors';\nimport {\n selectBuildNumber,\n selectCommitRef,\n selectVersionStatus,\n} from '~/redux/selectors/version';\nimport { IVersionInfoProps } from '../components/VersionInfo';\n\nconst context = (\n typeof window != 'undefined' ? window : global\n) as typeof globalThis & {\n DISABLE_SSR_REDUX: any;\n PACKAGE_JSON: any;\n PROJECTS: any;\n PROXY_DELIVERY_API: any;\n PUBLIC_URI: any;\n REVERSE_PROXY_PATHS: string[];\n SERVERS: any;\n};\n\nconst isDev = process.env.NODE_ENV === 'development';\n\nconst pj = () =>\n isDev\n ? PACKAGE_JSON /* global PACKAGE_JSON */\n : context.PACKAGE_JSON || { name: 'packagejson not found', repository: '' };\n\nconst versionInfoProps = {\n packageDetail: () => {\n const pkg = pj();\n return { name: pkg.name, version: pkg.version, repository: pkg.repository };\n },\n uris: {\n gitRepo: () => pj().repository,\n commit: state => {\n const commitRef = selectCommitRef(state);\n return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;\n },\n pipeline: state => {\n const buildNumber = selectBuildNumber(state);\n return `${pj().repository}/${\n pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'\n }/${buildNumber ? buildNumber : ''}`;\n },\n },\n zenPackageVersions: () => [\n ...(Object.entries(pj().devDependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ...(Object.entries(pj().dependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ],\n deliveryApi: () =>\n JSON.parse(\n JSON.stringify(DELIVERY_API_CONFIG /* global DELIVERY_API_CONFIG */)\n ),\n devEnv: () =>\n typeof DEV_ENV !== 'undefined' /* global DEV_ENV */ ? DEV_ENV : null,\n disableSsrRedux: () =>\n isDev\n ? DISABLE_SSR_REDUX /* global DISABLE_SSR_REDUX*/\n : context.DISABLE_SSR_REDUX || false,\n nodeEnv: () => process.env.NODE_ENV || 'production',\n packagejson: () => pj() || {},\n projects: () => (isDev ? PROJECTS /* global PROJECTS */ : context.PROJECTS),\n proxyDeliveryApi: () =>\n isDev\n ? PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n : context.PROXY_DELIVERY_API || false,\n publicUri: () =>\n isDev ? PUBLIC_URI /* global PUBLIC_URI */ : context.PUBLIC_URI || null,\n project: state => selectCurrentProject(state),\n reverseProxyPaths: () =>\n isDev\n ? REVERSE_PROXY_PATHS /* global REVERSE_PROXY_PATHS */\n : context.REVERSE_PROXY_PATHS || {},\n servers: () => (isDev ? SERVERS /* global SERVERS */ : context.SERVERS),\n version: {\n buildNumber: state => selectBuildNumber(state),\n commitRef: state => selectCommitRef(state),\n contensisVersionStatus: state => selectVersionStatus(state),\n },\n};\n\nconst mapStateToVersionInfo = state => {\n const mappedProps = mapJson(state, versionInfoProps);\n return mappedProps as IVersionInfoProps;\n};\n\nexport default mapStateToVersionInfo;\n","import styled from 'styled-components';\n\nexport const VersionInfoStyledTable = styled.table`\n font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;\n font-size: 1.6rem;\n line-height: 1.5rem;\n border-bottom: 4px solid #8892bf;\n border-collapse: separate;\n margin: 0 auto;\n width: 80%;\n th {\n text-align: left;\n background-color: #c4c9df;\n border-bottom: #8892bf 2px solid;\n border-bottom-color: #8892bf;\n border-top: 20px solid #fff;\n }\n td {\n border-bottom: 1px solid #eee;\n }\n td,\n th {\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n }\n .left {\n width: 25%;\n }\n tr th {\n border-right: hidden;\n border-spacing: 0 15px;\n }\n .green {\n background-color: #9c9;\n border-bottom: 1px solid #696;\n }\n .red {\n background-color: #c99;\n border-bottom: 1px solid #966;\n }\n .small {\n font-size: 100%;\n line-height: 2.4rem;\n }\n`;\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport mapStateToVersionInfo from '../transformations/state-to-versioninfoprops.mapper';\n\nimport { VersionInfoStyledTable } from './VersionInfo.styled';\n\nexport interface IVersionInfoProps {\n deliveryApi: {\n rootUrl: string;\n accessToken: string;\n projectId: string;\n livePublishingRootUrl: string;\n };\n devEnv: { [k: string]: string };\n disableSsrRedux: boolean;\n nodeEnv: string;\n packageDetail: any;\n project: string;\n projects;\n proxyDeliveryApi;\n publicUri: string;\n reverseProxyPaths: string[];\n servers: {\n alias: string;\n api: string;\n cms: string;\n web: string;\n iis: string;\n previewIis: string;\n previewWeb: string;\n };\n uris: {\n gitRepo: string;\n commit: string;\n pipeline: string;\n };\n version: {\n buildNumber: string;\n commitRef: string;\n contensisVersionStatus: string;\n };\n zenPackageVersions: string[];\n}\n\nconst VersionInfo = ({\n deliveryApi,\n devEnv,\n disableSsrRedux,\n nodeEnv,\n packageDetail,\n project,\n projects,\n proxyDeliveryApi,\n publicUri,\n reverseProxyPaths,\n servers,\n uris,\n version,\n zenPackageVersions,\n}: IVersionInfoProps) => {\n return (\n <VersionInfoStyledTable>\n <thead>\n <tr>\n <td colSpan={2}>\n <h1>\n <a href=\"/\">Version Information</a>\n </h1>\n </td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th colSpan={2}>Package detail</th>\n </tr>\n <tr>\n <td className=\"left\">Name</td>\n <td>{packageDetail.name}</td>\n </tr>\n <tr>\n <td className=\"left\">Version</td>\n <td>{packageDetail.version}</td>\n </tr>\n <tr>\n <th colSpan={2}>Version info (state)</th>\n </tr>\n <tr>\n <td>Git repo url: </td>\n <td>\n <a\n href={packageDetail.repository}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {packageDetail.repository}\n </a>\n </td>\n </tr>\n <tr>\n <td>Pipeline: </td>\n <td>\n <a href={uris.pipeline} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.buildNumber}\n </a>\n </td>\n </tr>\n <tr>\n <td>Commit: </td>\n <td>\n <a href={uris.commit} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.commitRef}\n </a>\n </td>\n </tr>\n {/* <tr>\n <td>Last release ref: </td>\n <td></td>\n </tr>\n <tr>\n <td>Number of commits since last release: </td>\n <td></td>\n </tr> */}\n <tr>\n <td>Project</td>\n <td className={project === 'unknown' ? 'red' : ''}>{project}</td>\n </tr>\n <tr>\n <td>Contensis version status: </td>\n <td\n className={\n version.contensisVersionStatus === 'published' ? 'green' : 'red'\n }\n >\n {version.contensisVersionStatus}\n </td>\n </tr>\n <tr>\n <th colSpan={2}>Build configuration</th>\n </tr>\n <tr>\n <td>Environment</td>\n <td>{servers.alias}</td>\n </tr>\n <tr>\n <td>Public uri</td>\n <td>{publicUri}</td>\n </tr>\n <tr>\n <td>Zengenti packages</td>\n <td>\n {zenPackageVersions.map(([pkg, ver], idx) => (\n <div key={idx}>\n {pkg}: {ver}\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Servers</td>\n <td className=\"small\">\n <div>web: {servers.web}</div>\n <div>preview: {servers.previewWeb}</div>\n <div>api: {servers.api}</div>\n <div>cms: {servers.cms}</div>\n <div>iis: {servers.iis}</div>\n <div>iis preview: {servers.previewIis}</div>\n </td>\n </tr>\n <tr>\n <td>Reverse proxy paths</td>\n <td>\n {Object.entries(reverseProxyPaths).map(([, path], key) => (\n <span key={key}>[ {path} ] </span>\n ))}\n </td>\n </tr>\n <tr>\n <td>Projects</td>\n <td>\n {Object.entries(\n projects as {\n id: string;\n publicUri: string;\n }[]\n ).map(([, project], key) => (\n <div key={key}>\n [ {project.id}: {project.publicUri} ]\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Delivery API</td>\n <td className=\"small\">\n <ul style={{ margin: 0, padding: 0 }}>\n {Object.entries(deliveryApi).map(\n ([key, value]: [string, any], idx) => {\n if (typeof value === 'object') return null;\n return (\n <li key={idx} style={{ listStyleType: 'none' }}>\n {key}: <span>{value}</span>\n </li>\n );\n }\n )}\n </ul>\n </td>\n </tr>\n <tr>\n <td>Proxy Delivery API requests</td>\n <td className={proxyDeliveryApi ? 'green' : 'red'}>\n {proxyDeliveryApi.toString()}\n </td>\n </tr>\n <tr>\n <td>Disable SSR inline-redux</td>\n <td>{disableSsrRedux.toString()}</td>\n </tr>\n <tr>\n <td>NODE_ENV</td>\n <td className={nodeEnv === 'production' ? 'green' : 'red'}>\n {nodeEnv.toString()}\n </td>\n </tr>\n {devEnv && (\n <tr>\n <td>process.env</td>\n <td>\n {Object.entries(devEnv).map(([k, v], key) => (\n <div key={key}>\n [ {k}: {v} ]\n </div>\n ))}\n </td>\n </tr>\n )}\n </tbody>\n </VersionInfoStyledTable>\n );\n};\n\nexport default connect(mapStateToVersionInfo)(VersionInfo);\n"],"names":["useMapper","json","template","mapJson","chooseMapperByFieldValue","entry","mappers","field","fieldValue","jpath","default","useEntriesMapper","mapper","useEntryMapper","mapEntries","entries","map","mapComposer","composer","Array","isArray","composerItem","index","itemValue","value","type","addedFields","_type","_index","sourceObject","iv","idx","$root","mappedFields","useComposerMapper","entryMapper","mapping","node","state","stringifyStrings","obj","returnObj","Object","forEach","key","JSON","stringify","module","context","window","global","isDev","process","env","NODE_ENV","pj","PACKAGE_JSON","name","repository","versionInfoProps","packageDetail","pkg","version","uris","gitRepo","commit","commitRef","selectCommitRef","pipeline","buildNumber","selectBuildNumber","includes","zenPackageVersions","devDependencies","filter","dependencies","deliveryApi","parse","DELIVERY_API_CONFIG","devEnv","DEV_ENV","disableSsrRedux","DISABLE_SSR_REDUX","nodeEnv","packagejson","projects","PROJECTS","proxyDeliveryApi","PROXY_DELIVERY_API","publicUri","PUBLIC_URI","project","selectCurrentProject","reverseProxyPaths","REVERSE_PROXY_PATHS","servers","SERVERS","contensisVersionStatus","selectVersionStatus","mapStateToVersionInfo","mappedProps","VersionInfoStyledTable","styled","table","VersionInfo","React","alias","ver","web","previewWeb","api","cms","iis","previewIis","path","id","margin","padding","listStyleType","toString","k","v","connect"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sources":["../src/util/json-mapper.ts","../src/util/stringifyStrings.js","../src/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.ts","../src/app/pages/VersionInfo/components/VersionInfo.styled.tsx","../src/app/pages/VersionInfo/components/VersionInfo.tsx"],"sourcesContent":["import { Entry } from 'contensis-delivery-api/lib/models';\nimport mapJson, { jpath } from 'jsonpath-mapper';\nimport {\n MappingTemplate,\n PureJsFunction,\n} from 'jsonpath-mapper';\nimport { AppState, EntryMapper, RouteNode } from '~/models';\n\nexport { default as mapJson, jpath } from 'jsonpath-mapper';\n\ntype Mappers<S> = { [contentTypeId: string]: MappingTemplate<S> };\n\n/**\n *\n * @param {object} json The source object we wish to transform\n * @param {object} template The mapping template we wish to apply to the source\n * object to generate the intended target object\n */\nexport const useMapper = <T, S>(json: S, template: MappingTemplate<S>) => {\n return template ? (mapJson((json || {}) as S, template) as T) : json;\n};\n\nconst chooseMapperByFieldValue = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const fieldValue = jpath(field, entry || {}) as string;\n return (mappers[fieldValue] || mappers.default || {}) as T[keyof T];\n};\n\n/**\n * useEntriesMapper hook to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const useEntriesMapper = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return useMapper(entry, mapper);\n};\n\n/**\n * Deprecated: due to misleading name, use the hook useEntriesMapper instead\n */\nexport const useEntryMapper = useEntriesMapper;\n\n/**\n * mapEntries mapping function to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const mapEntries = <\n S,\n Mappers extends { [contentTypeId: string]: MappingTemplate<S> }\n>(\n entries: S[],\n mappers: Mappers,\n field = 'sys.contentTypeId'\n) =>\n entries.map(entry => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return mapper ? mapJson((entry || {}) as S, mapper) : entry;\n });\n\n/**\n * mapComposer mapping function to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const mapComposer = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[],\n mappers: T\n) =>\n Array.isArray(composer)\n ? composer.map((composerItem, index) => {\n const itemValue = composerItem.value;\n const mapper = mappers[composerItem.type] || mappers.default;\n if (mapper) {\n // Add some fields into the composer item mapper and return object\n const addedFields = {\n _type: composerItem.type,\n _index: index,\n };\n\n // Add fields and $root item into the composer item source object\n // for use inside each item mapping, for arrays we inject the added fields\n // into the first array item. This is useful if we require any of\n // composerItem.type, composerItem index/position and composer $root\n // in scope to influence any composer item's mapping logic\n const sourceObject =\n itemValue && Array.isArray(itemValue)\n ? itemValue.map((iv, idx) =>\n idx !== 0\n ? iv\n : typeof iv === 'object'\n ? { ...addedFields, ...iv, $root: composer }\n : iv\n )\n : typeof itemValue === 'object'\n ? { ...addedFields, ...itemValue, $root: composer }\n : itemValue || {};\n\n // Apply the composer item mapping\n const mappedFields = mapJson(sourceObject, mapper) as any;\n\n // Add the extra fields in with the return object\n return mappedFields && typeof mappedFields === 'object'\n ? { ...mappedFields, ...addedFields }\n : mappedFields;\n } else return {};\n })\n : composer || [];\n\n/**\n * useComposerMapper hook to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const useComposerMapper = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[] = [],\n mappers: T\n) => mapComposer(composer, mappers);\n\n/**\n * entryMapper will return a function to satisfy an entryMapper when defining app route\n * this is essentially a shorthand function to prevent boilerplate repetition inside your routes file\n * you do not need to use this function should you wish to map your entry via raw JS functions\n * @param mapping the jsonpath-mapper mapping template to apply when the route is resolved\n * @returns {mappedEntry}\n */\nexport const entryMapper =\n (\n mapping:\n | MappingTemplate<RouteNode & Entry & { state?: AppState }>\n | PureJsFunction<RouteNode & Entry & { state?: AppState }>\n ): EntryMapper =>\n (node, state) =>\n mapJson({ ...node, ...(node.entry || ({} as Entry)), state }, mapping);\n\nexport default mapJson;\n","const stringifyStrings = obj => {\n const returnObj = Array.isArray(obj) ? [] : {};\n Object.entries(obj).forEach(([key, value]) => {\n switch (typeof value) {\n case 'string':\n returnObj[key] = JSON.stringify(value);\n break;\n case 'object':\n returnObj[key] = stringifyStrings(value);\n break;\n default:\n returnObj[key] = value;\n break;\n }\n });\n return returnObj;\n};\n\nmodule.exports = stringifyStrings;\n","import { default as mapJson } from '~/util/json-mapper';\nimport { selectCurrentProject } from '~/routing/redux/selectors';\nimport {\n selectBuildNumber,\n selectCommitRef,\n selectVersionStatus,\n} from '~/redux/selectors/version';\nimport { IVersionInfoProps } from '../components/VersionInfo';\n\nconst context = (\n typeof window != 'undefined' ? window : global\n) as typeof globalThis & {\n DISABLE_SSR_REDUX: any;\n PACKAGE_JSON: any;\n PROJECTS: any;\n PROXY_DELIVERY_API: any;\n PUBLIC_URI: any;\n REVERSE_PROXY_PATHS: string[];\n SERVERS: any;\n};\n\nconst isDev = process.env.NODE_ENV === 'development';\n\nconst pj = () =>\n isDev\n ? PACKAGE_JSON /* global PACKAGE_JSON */\n : context.PACKAGE_JSON || { name: 'packagejson not found', repository: '' };\n\nconst versionInfoProps = {\n packageDetail: () => {\n const pkg = pj();\n return { name: pkg.name, version: pkg.version, repository: pkg.repository };\n },\n uris: {\n gitRepo: () => pj().repository,\n commit: state => {\n const commitRef = selectCommitRef(state);\n return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;\n },\n pipeline: state => {\n const buildNumber = selectBuildNumber(state);\n return `${pj().repository}/${\n pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'\n }/${buildNumber ? buildNumber : ''}`;\n },\n },\n zenPackageVersions: () => [\n ...(Object.entries(pj().devDependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ...(Object.entries(pj().dependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ],\n deliveryApi: () =>\n JSON.parse(\n JSON.stringify(DELIVERY_API_CONFIG /* global DELIVERY_API_CONFIG */)\n ),\n devEnv: () =>\n typeof DEV_ENV !== 'undefined' /* global DEV_ENV */ ? DEV_ENV : null,\n disableSsrRedux: () =>\n isDev\n ? DISABLE_SSR_REDUX /* global DISABLE_SSR_REDUX*/\n : context.DISABLE_SSR_REDUX || false,\n nodeEnv: () => process.env.NODE_ENV || 'production',\n packagejson: () => pj() || {},\n projects: () => (isDev ? PROJECTS /* global PROJECTS */ : context.PROJECTS),\n proxyDeliveryApi: () =>\n isDev\n ? PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n : context.PROXY_DELIVERY_API || false,\n publicUri: () =>\n isDev ? PUBLIC_URI /* global PUBLIC_URI */ : context.PUBLIC_URI || null,\n project: state => selectCurrentProject(state),\n reverseProxyPaths: () =>\n isDev\n ? REVERSE_PROXY_PATHS /* global REVERSE_PROXY_PATHS */\n : context.REVERSE_PROXY_PATHS || {},\n servers: () => (isDev ? SERVERS /* global SERVERS */ : context.SERVERS),\n version: {\n buildNumber: state => selectBuildNumber(state),\n commitRef: state => selectCommitRef(state),\n contensisVersionStatus: state => selectVersionStatus(state),\n },\n};\n\nconst mapStateToVersionInfo = state => {\n const mappedProps = mapJson(state, versionInfoProps);\n return mappedProps as IVersionInfoProps;\n};\n\nexport default mapStateToVersionInfo;\n","import styled from 'styled-components';\n\nexport const VersionInfoStyledTable = styled.table`\n font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;\n font-size: 1.6rem;\n line-height: 1.5rem;\n border-bottom: 4px solid #8892bf;\n border-collapse: separate;\n margin: 0 auto;\n width: 80%;\n th {\n text-align: left;\n background-color: #c4c9df;\n border-bottom: #8892bf 2px solid;\n border-bottom-color: #8892bf;\n border-top: 20px solid #fff;\n }\n td {\n border-bottom: 1px solid #eee;\n }\n td,\n th {\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n }\n .left {\n width: 25%;\n }\n tr th {\n border-right: hidden;\n border-spacing: 0 15px;\n }\n .green {\n background-color: #9c9;\n border-bottom: 1px solid #696;\n }\n .red {\n background-color: #c99;\n border-bottom: 1px solid #966;\n }\n .small {\n font-size: 100%;\n line-height: 2.4rem;\n }\n`;\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport mapStateToVersionInfo from '../transformations/state-to-versioninfoprops.mapper';\n\nimport { VersionInfoStyledTable } from './VersionInfo.styled';\n\nexport interface IVersionInfoProps {\n deliveryApi: {\n rootUrl: string;\n accessToken: string;\n projectId: string;\n livePublishingRootUrl: string;\n };\n devEnv: { [k: string]: string };\n disableSsrRedux: boolean;\n nodeEnv: string;\n packageDetail: any;\n project: string;\n projects;\n proxyDeliveryApi;\n publicUri: string;\n reverseProxyPaths: string[];\n servers: {\n alias: string;\n api: string;\n cms: string;\n web: string;\n iis: string;\n previewIis: string;\n previewWeb: string;\n };\n uris: {\n gitRepo: string;\n commit: string;\n pipeline: string;\n };\n version: {\n buildNumber: string;\n commitRef: string;\n contensisVersionStatus: string;\n };\n zenPackageVersions: string[];\n}\n\nconst VersionInfo = ({\n deliveryApi,\n devEnv,\n disableSsrRedux,\n nodeEnv,\n packageDetail,\n project,\n projects,\n proxyDeliveryApi,\n publicUri,\n reverseProxyPaths,\n servers,\n uris,\n version,\n zenPackageVersions,\n}: IVersionInfoProps) => {\n return (\n <VersionInfoStyledTable>\n <thead>\n <tr>\n <td colSpan={2}>\n <h1>\n <a href=\"/\">Version Information</a>\n </h1>\n </td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th colSpan={2}>Package detail</th>\n </tr>\n <tr>\n <td className=\"left\">Name</td>\n <td>{packageDetail.name}</td>\n </tr>\n <tr>\n <td className=\"left\">Version</td>\n <td>{packageDetail.version}</td>\n </tr>\n <tr>\n <th colSpan={2}>Version info (state)</th>\n </tr>\n <tr>\n <td>Git repo url: </td>\n <td>\n <a\n href={packageDetail.repository}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {packageDetail.repository}\n </a>\n </td>\n </tr>\n <tr>\n <td>Pipeline: </td>\n <td>\n <a href={uris.pipeline} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.buildNumber}\n </a>\n </td>\n </tr>\n <tr>\n <td>Commit: </td>\n <td>\n <a href={uris.commit} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.commitRef}\n </a>\n </td>\n </tr>\n {/* <tr>\n <td>Last release ref: </td>\n <td></td>\n </tr>\n <tr>\n <td>Number of commits since last release: </td>\n <td></td>\n </tr> */}\n <tr>\n <td>Project</td>\n <td className={project === 'unknown' ? 'red' : ''}>{project}</td>\n </tr>\n <tr>\n <td>Contensis version status: </td>\n <td\n className={\n version.contensisVersionStatus === 'published' ? 'green' : 'red'\n }\n >\n {version.contensisVersionStatus}\n </td>\n </tr>\n <tr>\n <th colSpan={2}>Build configuration</th>\n </tr>\n <tr>\n <td>Environment</td>\n <td>{servers.alias}</td>\n </tr>\n <tr>\n <td>Public uri</td>\n <td>{publicUri}</td>\n </tr>\n <tr>\n <td>Zengenti packages</td>\n <td>\n {zenPackageVersions.map(([pkg, ver], idx) => (\n <div key={idx}>\n {pkg}: {ver}\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Servers</td>\n <td className=\"small\">\n <div>web: {servers.web}</div>\n <div>preview: {servers.previewWeb}</div>\n <div>api: {servers.api}</div>\n <div>cms: {servers.cms}</div>\n <div>iis: {servers.iis}</div>\n <div>iis preview: {servers.previewIis}</div>\n </td>\n </tr>\n <tr>\n <td>Reverse proxy paths</td>\n <td>\n {Object.entries(reverseProxyPaths).map(([, path], key) => (\n <span key={key}>[ {path} ] </span>\n ))}\n </td>\n </tr>\n <tr>\n <td>Projects</td>\n <td>\n {Object.entries(\n projects as {\n id: string;\n publicUri: string;\n }[]\n ).map(([, project], key) => (\n <div key={key}>\n [ {project.id}: {project.publicUri} ]\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Delivery API</td>\n <td className=\"small\">\n <ul style={{ margin: 0, padding: 0 }}>\n {Object.entries(deliveryApi).map(\n ([key, value]: [string, any], idx) => {\n if (typeof value === 'object') return null;\n return (\n <li key={idx} style={{ listStyleType: 'none' }}>\n {key}: <span>{value}</span>\n </li>\n );\n }\n )}\n </ul>\n </td>\n </tr>\n <tr>\n <td>Proxy Delivery API requests</td>\n <td className={proxyDeliveryApi ? 'green' : 'red'}>\n {proxyDeliveryApi.toString()}\n </td>\n </tr>\n <tr>\n <td>Disable SSR inline-redux</td>\n <td>{disableSsrRedux.toString()}</td>\n </tr>\n <tr>\n <td>NODE_ENV</td>\n <td className={nodeEnv === 'production' ? 'green' : 'red'}>\n {nodeEnv.toString()}\n </td>\n </tr>\n {devEnv && (\n <tr>\n <td>process.env</td>\n <td>\n {Object.entries(devEnv).map(([k, v], key) => (\n <div key={key}>\n [ {k}: {v} ]\n </div>\n ))}\n </td>\n </tr>\n )}\n </tbody>\n </VersionInfoStyledTable>\n );\n};\n\nexport default connect(mapStateToVersionInfo)(VersionInfo);\n"],"names":["useMapper","json","template","mapJson","chooseMapperByFieldValue","entry","mappers","field","fieldValue","jpath","default","useEntriesMapper","mapper","useEntryMapper","mapEntries","entries","map","mapComposer","composer","Array","isArray","composerItem","index","itemValue","value","type","addedFields","_type","_index","sourceObject","iv","idx","$root","mappedFields","useComposerMapper","entryMapper","mapping","node","state","stringifyStrings","obj","returnObj","Object","forEach","key","JSON","stringify","module","context","window","global","isDev","process","env","NODE_ENV","pj","PACKAGE_JSON","name","repository","versionInfoProps","packageDetail","pkg","version","uris","gitRepo","commit","commitRef","selectCommitRef","pipeline","buildNumber","selectBuildNumber","includes","zenPackageVersions","devDependencies","filter","dependencies","deliveryApi","parse","DELIVERY_API_CONFIG","devEnv","DEV_ENV","disableSsrRedux","DISABLE_SSR_REDUX","nodeEnv","packagejson","projects","PROJECTS","proxyDeliveryApi","PROXY_DELIVERY_API","publicUri","PUBLIC_URI","project","selectCurrentProject","reverseProxyPaths","REVERSE_PROXY_PATHS","servers","SERVERS","contensisVersionStatus","selectVersionStatus","mapStateToVersionInfo","mappedProps","VersionInfoStyledTable","styled","table","withConfig","displayName","componentId","VersionInfo","React","createElement","colSpan","href","className","target","rel","alias","ver","web","previewWeb","api","cms","iis","previewIis","path","id","style","margin","padding","listStyleType","toString","k","v","connect"],"mappings":"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"}