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

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 (209) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +18 -478
  3. package/cjs/{App-b56aca04.js → App-BNcmM8rN.js} +215 -234
  4. package/cjs/App-BNcmM8rN.js.map +1 -0
  5. package/cjs/{ChangePassword.container-ae35785e.js → ChangePassword.container-642SYfpS.js} +209 -286
  6. package/cjs/ChangePassword.container-642SYfpS.js.map +1 -0
  7. package/cjs/CookieHelper.class-BoY5TrIi.js +562 -0
  8. package/cjs/CookieHelper.class-BoY5TrIi.js.map +1 -0
  9. package/cjs/{RouteLoader-c06dccd5.js → RouteLoader-DvyYYyIE.js} +55 -68
  10. package/cjs/RouteLoader-DvyYYyIE.js.map +1 -0
  11. package/cjs/{ContensisDeliveryApi-4fcf049d.js → SSRContext-D66GKlH7.js} +165 -119
  12. package/cjs/SSRContext-D66GKlH7.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 +386 -3293
  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 +18 -19
  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-CADDS7cV.js} +44 -111
  34. package/cjs/store-CADDS7cV.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 +108 -115
  40. package/cjs/util.js.map +1 -1
  41. package/cjs/{version-a410c88e.js → version-ASZx0NDG.js} +19 -22
  42. package/{esm/version-9f29becb.js.map → cjs/version-ASZx0NDG.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-CfIZbvU9.js} +176 -195
  46. package/esm/App-CfIZbvU9.js.map +1 -0
  47. package/esm/{ChangePassword.container-76fd5e9b.js → ChangePassword.container-Q7bElOVz.js} +191 -250
  48. package/esm/ChangePassword.container-Q7bElOVz.js.map +1 -0
  49. package/esm/CookieHelper.class-DzleKOOc.js +555 -0
  50. package/esm/CookieHelper.class-DzleKOOc.js.map +1 -0
  51. package/esm/{RouteLoader-29fd689a.js → RouteLoader-qJA3UqTM.js} +40 -53
  52. package/esm/RouteLoader-qJA3UqTM.js.map +1 -0
  53. package/esm/{ContensisDeliveryApi-fe57a037.js → SSRContext-C743Oeli.js} +159 -120
  54. package/esm/SSRContext-C743Oeli.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 +317 -3222
  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 +9 -8
  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-uQZKjfA8.js} +36 -81
  76. package/esm/store-uQZKjfA8.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 +66 -74
  82. package/esm/util.js.map +1 -1
  83. package/esm/{version-9f29becb.js → version-B9nPx4IF.js} +6 -9
  84. package/{cjs/version-a410c88e.js.map → esm/version-B9nPx4IF.js.map} +1 -1
  85. package/esm/version-D773TD9j.js +15 -0
  86. package/esm/version-D773TD9j.js.map +1 -0
  87. package/models/app/App.d.ts +1 -1
  88. package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +1 -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/models/ContentTypeMapping.d.ts +89 -0
  94. package/models/models/EntryMapper.d.ts +3 -0
  95. package/models/models/GetRouteActionArgs.d.ts +15 -0
  96. package/models/models/MatchedRoute.d.ts +4 -0
  97. package/models/models/ReduxInjector.d.ts +5 -0
  98. package/models/models/RequireLogin.d.ts +6 -0
  99. package/models/models/RouteComponent.d.ts +4 -0
  100. package/models/models/RouteComponentProps.d.ts +9 -0
  101. package/models/models/RouteLoaderProps.d.ts +9 -0
  102. package/models/models/RouteNode.d.ts +5 -0
  103. package/models/models/SSRContext.d.ts +11 -0
  104. package/models/models/StaticRoute.d.ts +60 -0
  105. package/models/models/WithEvents.d.ts +58 -0
  106. package/models/models/config/AppConfig.d.ts +12 -0
  107. package/models/{config.d.ts → models/config/ServerConfig.d.ts} +3 -12
  108. package/models/models/config/StateType.d.ts +1 -0
  109. package/models/models/config/index.d.ts +3 -0
  110. package/models/models/index.d.ts +16 -0
  111. package/models/redux/actions/index.d.ts +2 -2
  112. package/models/redux/sagas/navigation.d.ts +1 -3
  113. package/models/redux/selectors/index.d.ts +2 -2
  114. package/models/redux/store/injectors.d.ts +16 -4
  115. package/models/redux/store/store.d.ts +10 -4
  116. package/models/redux/types/index.d.ts +2 -2
  117. package/models/redux/types/navigation.d.ts +3 -3
  118. package/models/redux/types/version.d.ts +2 -2
  119. package/models/routing/components/Redirect.d.ts +1 -1
  120. package/models/routing/components/RouteLoader.d.ts +1 -1
  121. package/models/routing/components/StaticRouteLoader.d.ts +1 -1
  122. package/models/routing/components/Status.d.ts +1 -1
  123. package/models/routing/redux/actions.d.ts +3 -4
  124. package/models/routing/redux/selectors.d.ts +2 -2
  125. package/models/routing/redux/types.d.ts +11 -11
  126. package/models/routing/routes.d.ts +1 -1
  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/models/Queries.d.ts +4 -2
  130. package/models/search/models/Search.d.ts +8 -1
  131. package/models/search/models/SearchActions.d.ts +3 -2
  132. package/models/search/models/SearchState.d.ts +5 -1
  133. package/models/search/redux/reducers.d.ts +2 -257
  134. package/models/search/redux/schema.d.ts +1 -1
  135. package/models/search/redux/selectors.d.ts +5 -5
  136. package/models/search/search/ContensisDeliveryApi.d.ts +2 -2
  137. package/models/search/search/ToJs.d.ts +1 -1
  138. package/models/search/search/expressions.d.ts +3 -3
  139. package/models/search/search/util.d.ts +17 -2
  140. package/models/search/transformations/searchresult-to-state.mapper.d.ts +1 -2
  141. package/models/server/features/caching/cacheDuration.schema.d.ts +1 -0
  142. package/models/server/features/linkdepth-api/search.d.ts +1 -1
  143. package/models/server/features/static-assets/index.d.ts +1 -1
  144. package/models/server/internalServer.d.ts +1 -1
  145. package/models/server/util/bundles.d.ts +1 -1
  146. package/models/server/util/headers.d.ts +1 -1
  147. package/models/server/webApp.d.ts +1 -1
  148. package/models/user/components/Login.d.ts +1 -1
  149. package/models/user/components/LoginForm.d.ts +6 -6
  150. package/models/user/components/LogoutForm.d.ts +4 -4
  151. package/models/user/components.styled/Login.styled.d.ts +1 -1
  152. package/models/user/components.styled/LoginForm.styled.d.ts +1 -1
  153. package/models/user/hocs/withLogin.d.ts +4 -4
  154. package/models/user/hooks/useLogin.d.ts +4 -4
  155. package/models/user/redux/actions.d.ts +7 -6
  156. package/models/user/redux/sagas/index.d.ts +1 -1
  157. package/models/user/redux/sagas/login.d.ts +5 -17
  158. package/models/user/redux/selectors.d.ts +1 -2
  159. package/models/user/redux/types.d.ts +21 -21
  160. package/models/user/state.d.ts +12 -0
  161. package/models/user/transformations/mapClientCredentials.d.ts +3 -1
  162. package/models/user/util/ContensisManagementApi.d.ts +10 -9
  163. package/models/user/util/CookieConstants.d.ts +1 -0
  164. package/models/user/util/CookieHelper.class.d.ts +8 -4
  165. package/models/user/util/LoginHelper.class.d.ts +25 -37
  166. package/models/user/util/OidcUserManager.d.ts +1 -1
  167. package/models/user/util/matchGroups.d.ts +1 -1
  168. package/models/util/CachedDeliveryApi.d.ts +11 -10
  169. package/models/util/ContensisDeliveryApi.d.ts +11 -7
  170. package/models/util/SSRContext.d.ts +29 -0
  171. package/models/util/index.d.ts +1 -0
  172. package/models/util/json-mapper.d.ts +4 -5
  173. package/package.json +71 -92
  174. package/cjs/App-b56aca04.js.map +0 -1
  175. package/cjs/ChangePassword.container-ae35785e.js.map +0 -1
  176. package/cjs/ContensisDeliveryApi-4fcf049d.js.map +0 -1
  177. package/cjs/CookieConstants-000427db.js +0 -10
  178. package/cjs/CookieConstants-000427db.js.map +0 -1
  179. package/cjs/RouteLoader-c06dccd5.js.map +0 -1
  180. package/cjs/ToJs-a8d8f3f0.js.map +0 -1
  181. package/cjs/_commonjsHelpers-b3309d7b.js.map +0 -1
  182. package/cjs/forms.js +0 -5998
  183. package/cjs/forms.js.map +0 -1
  184. package/cjs/reducers-73a03ef4.js +0 -257
  185. package/cjs/reducers-73a03ef4.js.map +0 -1
  186. package/cjs/sagas-570f23ba.js +0 -2175
  187. package/cjs/sagas-570f23ba.js.map +0 -1
  188. package/cjs/selectors-14caa813.js +0 -228
  189. package/cjs/selectors-14caa813.js.map +0 -1
  190. package/cjs/version-34d91f68.js.map +0 -1
  191. package/esm/App-83107d7e.js.map +0 -1
  192. package/esm/ChangePassword.container-76fd5e9b.js.map +0 -1
  193. package/esm/ContensisDeliveryApi-fe57a037.js.map +0 -1
  194. package/esm/CookieConstants-3d3b6531.js +0 -6
  195. package/esm/CookieConstants-3d3b6531.js.map +0 -1
  196. package/esm/RouteLoader-29fd689a.js.map +0 -1
  197. package/esm/ToJs-df57f31d.js.map +0 -1
  198. package/esm/_commonjsHelpers-1789f0cf.js.map +0 -1
  199. package/esm/forms.js +0 -5984
  200. package/esm/forms.js.map +0 -1
  201. package/esm/reducers-aa8cef1e.js +0 -234
  202. package/esm/reducers-aa8cef1e.js.map +0 -1
  203. package/esm/sagas-07e82e18.js +0 -2083
  204. package/esm/sagas-07e82e18.js.map +0 -1
  205. package/esm/selectors-691caf02.js +0 -186
  206. package/esm/selectors-691caf02.js.map +0 -1
  207. package/esm/version-3d9911e2.js.map +0 -1
  208. package/models/forms/index.d.ts +0 -1
  209. /package/models/{redux/appstate.d.ts → models/AppState.d.ts} +0 -0
@@ -1,5 +1,4 @@
1
- import { StateType } from "../../config";
2
- import { AppState } from "../../redux/appstate";
1
+ import { AppState, StateType } from "../../models";
3
2
  export declare const selectUserIsLoading: (state: AppState) => any;
4
3
  export declare const selectUserIsAuthenticated: (state: AppState) => any;
5
4
  export declare const selectUserIsAuthenticationError: (state: AppState) => any;
@@ -1,21 +1,21 @@
1
- export const VALIDATE_USER: string;
2
- export const SET_AUTHENTICATION_STATE: string;
3
- export const LOGIN_USER: string;
4
- export const LOGIN_SUCCESSFUL: string;
5
- export const LOGIN_FAILED: string;
6
- export const LOGOUT_USER: string;
7
- export const REGISTER_USER: string;
8
- export const REGISTER_USER_SUCCESS: string;
9
- export const REGISTER_USER_FAILED: string;
10
- export const REQUEST_USER_PASSWORD_RESET: string;
11
- export const RESET_USER_PASSWORD: string;
12
- export const REQUEST_USER_PASSWORD_RESET_SENDING: string;
13
- export const REQUEST_USER_PASSWORD_RESET_SUCCESS: string;
14
- export const REQUEST_USER_PASSWORD_RESET_ERROR: string;
15
- export const RESET_USER_PASSWORD_SENDING: string;
16
- export const RESET_USER_PASSWORD_SUCCESS: string;
17
- export const RESET_USER_PASSWORD_ERROR: string;
18
- export const CHANGE_USER_PASSWORD: string;
19
- export const CHANGE_USER_PASSWORD_SENDING: string;
20
- export const CHANGE_USER_PASSWORD_SUCCESS: string;
21
- export const CHANGE_USER_PASSWORD_ERROR: string;
1
+ export declare const VALIDATE_USER = "@USER/VALIDATE_USER";
2
+ export declare const SET_AUTHENTICATION_STATE = "@USER/SET_AUTHENTICATION_STATE";
3
+ export declare const LOGIN_USER = "@USER/LOGIN_USER";
4
+ export declare const LOGIN_SUCCESSFUL = "@USER/LOGIN_SUCCESSFUL";
5
+ export declare const LOGIN_FAILED = "@USER/LOGIN_FAILED";
6
+ export declare const LOGOUT_USER = "@USER/LOGOUT_USER";
7
+ export declare const REGISTER_USER = "@USER/REGISTER_USER";
8
+ export declare const REGISTER_USER_SUCCESS = "@USER/REGISTER_USER_SUCCESS";
9
+ export declare const REGISTER_USER_FAILED = "@USER/REGISTER_USER_FAILED";
10
+ export declare const REQUEST_USER_PASSWORD_RESET = "@USER/REQUEST_USER_PASSWORD_RESET";
11
+ export declare const RESET_USER_PASSWORD = "@USER/RESET_USER_PASSWORD";
12
+ export declare const REQUEST_USER_PASSWORD_RESET_SENDING = "@USER/REQUEST_USER_PASSWORD_RESET_SENDING";
13
+ export declare const REQUEST_USER_PASSWORD_RESET_SUCCESS = "@USER/REQUEST_USER_PASSWORD_RESET_SUCCESS";
14
+ export declare const REQUEST_USER_PASSWORD_RESET_ERROR = "@USER/REQUEST_USER_PASSWORD_RESET_ERROR";
15
+ export declare const RESET_USER_PASSWORD_SENDING = "@USER/RESET_USER_PASSWORD_SENDING";
16
+ export declare const RESET_USER_PASSWORD_SUCCESS = "@USER/RESET_USER_PASSWORD_SUCCESS";
17
+ export declare const RESET_USER_PASSWORD_ERROR = "@USER/RESET_USER_PASSWORD_ERROR";
18
+ export declare const CHANGE_USER_PASSWORD = "@USER/CHANGE_USER_PASSWORD";
19
+ export declare const CHANGE_USER_PASSWORD_SENDING = "@USER/CHANGE_USER_PASSWORD_SENDING";
20
+ export declare const CHANGE_USER_PASSWORD_SUCCESS = "@USER/CHANGE_USER_PASSWORD_SUCCESS";
21
+ export declare const CHANGE_USER_PASSWORD_ERROR = "@USER/CHANGE_USER_PASSWORD_ERROR";
@@ -0,0 +1,12 @@
1
+ import { Group, User } from 'contensis-management-api/lib/models';
2
+ import { ManagementApiClientCredentials } from './util/ContensisManagementApi';
3
+ export type AuthenticationState = {
4
+ clientCredentials: ManagementApiClientCredentials | null;
5
+ isAuthenticated: boolean;
6
+ isAuthenticationError: boolean;
7
+ isError: boolean;
8
+ errorMessage?: string | null;
9
+ };
10
+ export type UserWithGroups = User & {
11
+ groups: Group[];
12
+ };
@@ -1,2 +1,4 @@
1
- declare function _default(obj: any): any;
1
+ import { Client } from 'contensis-management-api';
2
+ import { ManagementApiClientCredentials } from '../util/ContensisManagementApi';
3
+ declare const _default: (obj: Client) => ManagementApiClientCredentials;
2
4
  export default _default;
@@ -1,9 +1,10 @@
1
- export function getManagementApiClient({ bearerToken, bearerTokenExpiryDate, refreshToken, refreshTokenExpiryDate, contensisClassicToken, username, password, }: {
2
- bearerToken: any;
3
- bearerTokenExpiryDate: any;
4
- refreshToken: any;
5
- refreshTokenExpiryDate: any;
6
- contensisClassicToken: any;
7
- username: any;
8
- password: any;
9
- }): Promise<import("contensis-management-api").Client>;
1
+ export type ManagementApiClientCredentials = {
2
+ bearerToken?: string;
3
+ bearerTokenExpiryDate?: Date;
4
+ refreshToken?: string;
5
+ refreshTokenExpiryDate?: Date;
6
+ contensisClassicToken?: string;
7
+ username?: string;
8
+ password?: string;
9
+ };
10
+ export declare const getManagementApiClient: ({ bearerToken, bearerTokenExpiryDate, refreshToken, refreshTokenExpiryDate, contensisClassicToken, username, password, }: ManagementApiClientCredentials) => Promise<import("contensis-management-api").Client>;
@@ -1,3 +1,4 @@
1
+ export declare const BEARER_TOKEN_COOKIE = "ContensisSecurityBearerToken";
1
2
  export declare const LOGIN_COOKIE = "ContensisCMSUserName";
2
3
  export declare const REFRESH_TOKEN_COOKIE = "RefreshToken";
3
4
  export type CookieObject = {
@@ -1,14 +1,18 @@
1
+ import FallbackCookies from 'universal-cookie';
1
2
  type Cookies = {
2
3
  [k: string]: string;
3
4
  };
4
5
  export declare class CookieHelper {
5
6
  private cookies;
6
- private setCookie;
7
- private removeCookie;
7
+ private set?;
8
+ private remove?;
9
+ private update?;
10
+ private fallback;
8
11
  get raw(): Cookies;
9
- constructor(cookies: {
12
+ get cookie(): FallbackCookies;
13
+ constructor(cookies?: {
10
14
  [k: string]: string;
11
- }, setCookie: CookieHelper['setCookie'], removeCookie: CookieHelper['removeCookie']);
15
+ }, setCookie?: CookieHelper['set'], removeCookie?: CookieHelper['remove'], updateCookies?: CookieHelper['update']);
12
16
  GetCookie(name: string): string | null;
13
17
  SetCookie(name: string, value: string, maxAgeDays?: number): void;
14
18
  DeleteCookie(name: string): void;
@@ -1,54 +1,42 @@
1
- export class LoginHelper {
1
+ import { ManagementApiClientCredentials } from './ContensisManagementApi';
2
+ import { AuthenticationState, UserWithGroups } from '../state';
3
+ import { Client } from 'contensis-management-api';
4
+ import { CookieHelper } from './CookieHelper.class';
5
+ export declare class LoginHelper {
2
6
  static CMS_URL: string;
3
7
  static WSFED_LOGIN: boolean;
4
8
  static LOGIN_ROUTE: string;
5
9
  static ACCESS_DENIED_ROUTE: string;
6
- static withCookies: (cookieHelper: any) => LoginHelper;
7
- static GetUserDetails: (client: any) => Promise<(Error | {
8
- groups: any;
9
- } | null)[]>;
10
- static ClientRedirectToHome(location: any): void;
11
- static ClientRedirectToSignInPage(redirectPath: any): Promise<void>;
10
+ cookies: CookieHelper;
11
+ constructor(cookies?: CookieHelper);
12
+ static withCookies: (cookieHelper: CookieHelper) => LoginHelper;
13
+ static GetUserDetails: (client: Client) => Promise<[Error | null, UserWithGroups | undefined]>;
14
+ static ClientRedirectToHome(location?: Location): void;
15
+ static ClientRedirectToSignInPage(redirectPath?: string): Promise<void>;
12
16
  static GetAccessDeniedRoute(originalPath: any): string;
13
17
  static ClientRedirectToAccessDeniedPage(originalPath: any): void;
14
18
  static ClientRedirectToPath(redirectPath: any): void;
15
- static WsFedLogin(redirectUri: any): Promise<void>;
19
+ static WsFedLogin(redirectUri?: string): Promise<void>;
16
20
  static RemoveSecurityTokenQuery(): void;
17
- static WsFedLogout(redirectPath: any): Promise<void>;
18
- static GetCredentialsForSecurityToken(securityToken: any): Promise<undefined[] | Error[] | {
19
- message: string;
20
- }[] | {
21
- message: string;
22
- data: any;
23
- }[]>;
24
- constructor(cookies: any);
25
- cookies: any;
26
- SetLoginCookies({ contensisClassicToken, refreshToken }: {
27
- contensisClassicToken: any;
28
- refreshToken: any;
29
- }): void;
21
+ static WsFedLogout(redirectPath?: string): Promise<void>;
22
+ static GetCredentialsForSecurityToken(securityToken: string): Promise<any[]>;
23
+ SetLoginCookies({ bearerToken, contensisClassicToken, refreshToken, }: ManagementApiClientCredentials): void;
30
24
  GetCachedCredentials(): {
31
25
  bearerToken: null;
32
26
  bearerTokenExpiryDate: null;
33
- refreshToken: any;
27
+ refreshToken: string | null;
34
28
  refreshTokenExpiryDate: null;
35
- contensisClassicToken: any;
29
+ contensisClassicToken: string | null;
30
+ securityToken: null;
36
31
  };
37
32
  ClearCachedCredentials(): void;
38
- LoginUser({ username, password, clientCredentials }: {
39
- username: any;
40
- password: any;
41
- clientCredentials: any;
33
+ LoginUser({ username, password, clientCredentials, }: {
34
+ username?: string;
35
+ password?: string;
36
+ clientCredentials?: ManagementApiClientCredentials;
42
37
  }): Promise<{
43
- authenticationState: {
44
- clientCredentials: null;
45
- isAuthenticated: boolean;
46
- isAuthenticationError: boolean;
47
- isError: boolean;
48
- };
49
- user: Error | {
50
- groups: any;
51
- } | null | undefined;
38
+ authenticationState: AuthenticationState;
39
+ user: any;
52
40
  }>;
53
- LogoutUser(redirectPath: any): void;
41
+ LogoutUser(redirectPath?: string): void;
54
42
  }
@@ -16,4 +16,4 @@ export declare const userManagerConfig: {
16
16
  scope?: undefined;
17
17
  filterProtocolClaims?: undefined;
18
18
  };
19
- export declare const createUserManager: (config: UserManagerSettings) => Promise<{} | undefined>;
19
+ export declare const createUserManager: (config: UserManagerSettings) => Promise<import("oidc-client").UserManager | undefined>;
@@ -1,3 +1,3 @@
1
1
  import { Group } from 'contensis-management-api/lib/models';
2
- import { RequireLogin } from "../../routing/routes";
2
+ import { RequireLogin } from "../../models";
3
3
  export declare const matchUserGroup: (userGroups?: Group[], requiredGroups?: RequireLogin) => boolean;
@@ -1,25 +1,26 @@
1
1
  import { VersionStatus } from 'contensis-core-api';
2
2
  import { Client, Query } from 'contensis-delivery-api';
3
3
  import { INodeOperations, NodeGetRootOptions } from 'contensis-delivery-api/lib/models';
4
- import { DeliveryApi } from './ContensisDeliveryApi';
4
+ import { DeliveryApi, SSRContext } from './ContensisDeliveryApi';
5
5
  import { LruCache } from './LruCache';
6
6
  import { CookieObject } from "../user/util/CookieConstants";
7
7
  declare class CachedSearch {
8
8
  cache: LruCache;
9
9
  cookies?: CookieObject;
10
- constructor(cookies?: CookieObject);
10
+ ssr?: SSRContext;
11
+ constructor(ssr?: SSRContext);
11
12
  getClient(...args: Parameters<DeliveryApi['getClient']>): Client;
12
- search(query: Query, linkDepth?: number, project?: string): Promise<import("contensis-core-api").PagedList<import("contensis-delivery-api/lib/models").Entry>>;
13
+ search(query: Query, linkDepth?: number, project?: string): Promise<import("contensis-core-api").PagedSearchList<import("contensis-delivery-api").Entry>>;
13
14
  searchUsingPost(query: Query, linkDepth?: number, project?: string): any;
14
- get(id: string, linkDepth?: number, versionStatus?: VersionStatus, project?: string): Promise<import("contensis-delivery-api/lib/models").Entry>;
15
+ get(id: string, linkDepth?: number, versionStatus?: VersionStatus, project?: string, fields?: string[]): Promise<import("contensis-delivery-api").Entry>;
15
16
  getContentType(id: string, project?: string): Promise<import("contensis-core-api").ContentType>;
16
- getRootNode(options: NodeGetRootOptions, project?: string): Promise<import("contensis-delivery-api/lib/models").Node>;
17
- getNode(options: Parameters<INodeOperations['get']>[0], project?: string): Promise<import("contensis-delivery-api/lib/models").Node>;
18
- getAncestors(options: Parameters<INodeOperations['getAncestors']>[0], project?: string): Promise<import("contensis-delivery-api/lib/models").Node[]>;
19
- getChildren(options: Parameters<INodeOperations['getChildren']>[0], project?: string): Promise<import("contensis-delivery-api/lib/models").Node[]>;
20
- getSiblings(options: Parameters<INodeOperations['getSiblings']>[0], project?: string): Promise<import("contensis-delivery-api/lib/models").Node[]>;
17
+ getRootNode(options: NodeGetRootOptions, versionStatus?: VersionStatus, project?: string): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>>;
18
+ getNode(options: Parameters<INodeOperations['get']>[0], project?: string): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>>;
19
+ getAncestors(options: Parameters<INodeOperations['getAncestors']>[0], project?: string): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>[]>;
20
+ getChildren(options: Parameters<INodeOperations['getChildren']>[0], project?: string): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>[]>;
21
+ getSiblings(options: Parameters<INodeOperations['getSiblings']>[0], project?: string): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>[]>;
21
22
  request<T extends () => Promise<any>>(key: string, execute: T): ReturnType<T>;
22
23
  }
23
24
  export declare const cachedSearch: CachedSearch;
24
- export declare const cachedSearchWithCookies: (cookies?: CookieObject) => CachedSearch;
25
+ export declare const cachedSearchWithCookies: (ssr?: SSRContext) => CachedSearch;
25
26
  export {};
@@ -1,21 +1,25 @@
1
+ /// <reference types="node" />
1
2
  import { VersionStatus } from 'contensis-core-api';
2
3
  import { Client, Query } from 'contensis-delivery-api';
3
4
  import { Config } from 'contensis-delivery-api/lib/models';
4
5
  import { CookieObject } from "../user/util/CookieConstants";
5
6
  import { Request } from 'express';
6
7
  import { IncomingHttpHeaders } from 'http';
7
- export declare const getClientConfig: (project?: string, cookies?: CookieObject) => Config;
8
+ import { SSRContext as SSRContextType } from "../models";
9
+ export type SSRContext = Omit<SSRContextType, 'api'>;
10
+ export declare const getClientConfig: (project?: string, ssr?: SSRContext) => Config;
8
11
  export declare class DeliveryApi {
9
12
  cookies?: CookieObject;
10
- constructor(cookies?: CookieObject);
13
+ ssr?: SSRContext;
14
+ constructor(ssr?: SSRContext);
11
15
  getClientSideVersionStatus: () => any;
12
- getServerSideVersionStatus: (request: Request) => string | string[] | import("qs").ParsedQs | import("qs").ParsedQs[];
16
+ getServerSideVersionStatus: (request: Request) => string | import("qs").ParsedQs | (string | import("qs").ParsedQs)[];
13
17
  getVersionStatusFromHeaders: (headers: IncomingHttpHeaders) => string | string[] | null;
14
18
  getVersionStatusFromHostname: (currentHostname: string) => "published" | "latest";
15
- search: (query: Query, linkDepth?: number, project?: string) => Promise<import("contensis-core-api").PagedList<import("contensis-delivery-api/lib/models").Entry>>;
16
- getClient: (versionStatus: VersionStatus | undefined, project: any) => Client;
17
- getEntry: (id: string, linkDepth?: number, versionStatus?: VersionStatus, project?: string) => Promise<import("contensis-delivery-api/lib/models").Entry>;
19
+ search: (query: Query, linkDepth?: number, project?: string) => Promise<import("contensis-core-api").PagedSearchList<import("contensis-delivery-api").Entry>>;
20
+ getClient: (versionStatus?: VersionStatus, project?: string) => Client;
21
+ getEntry: (id: string, linkDepth?: number, versionStatus?: VersionStatus, project?: string) => Promise<import("contensis-delivery-api").Entry>;
18
22
  }
19
23
  export declare const deliveryApi: DeliveryApi;
20
- export declare const deliveryApiWithCookies: (cookies?: CookieObject) => DeliveryApi;
24
+ export declare const deliveryApiWithCookies: (ssr?: SSRContext) => DeliveryApi;
21
25
  export * from './CachedDeliveryApi';
@@ -0,0 +1,29 @@
1
+ import { Request, Response } from 'express';
2
+ import React, { PropsWithChildren } from 'react';
3
+ import { SSRContext as SSRContextType } from "../models";
4
+ /** SSRContextProvider allows us to hold and access request-scoped references
5
+ * throughout the component tree
6
+ *
7
+ * adding this in client side allows consumers to write universal code and use
8
+ * the same helpers and refs as in SSR */
9
+ export declare const SSRContextProvider: ({ children, request, response, }: PropsWithChildren<{
10
+ request?: Request;
11
+ response?: Response;
12
+ }>) => React.JSX.Element;
13
+ export declare const useSSRContext: () => SSRContextType;
14
+ export declare const useDeliveryApi: () => {
15
+ cache: import("./LruCache").LruCache;
16
+ cookies?: import("../user/util/CookieConstants").CookieObject | undefined;
17
+ ssr?: import("./ContensisDeliveryApi").SSRContext | undefined;
18
+ getClient(versionStatus?: import("contensis-core-api").VersionStatus | undefined, project?: string | undefined): import("contensis-delivery-api").Client;
19
+ search(query: import("contensis-core-api").Query, linkDepth?: number, project?: string | undefined): Promise<import("contensis-core-api").PagedSearchList<import("contensis-delivery-api").Entry>>;
20
+ searchUsingPost(query: import("contensis-core-api").Query, linkDepth?: number, project?: string): any;
21
+ get(id: string, linkDepth?: number, versionStatus?: import("contensis-core-api").VersionStatus, project?: string | undefined, fields?: string[] | undefined): Promise<import("contensis-delivery-api").Entry>;
22
+ getContentType(id: string, project?: string | undefined): Promise<import("contensis-core-api").ContentType>;
23
+ getRootNode(options: import("contensis-delivery-api").NodeGetRootOptions, versionStatus?: import("contensis-core-api").VersionStatus, project?: string | undefined): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>>;
24
+ getNode(options: string | import("contensis-delivery-api").NodeGetByIdOptions | import("contensis-delivery-api").NodeGetByPathOptions, project?: string | undefined): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>>;
25
+ getAncestors(options: string | import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry> | import("contensis-delivery-api").NodeGetAncestorsOptions, project?: string | undefined): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>[]>;
26
+ getChildren(options: string | import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry> | import("contensis-delivery-api").NodeGetChildrenOptions, project?: string | undefined): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>[]>;
27
+ getSiblings(options: string | import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry> | import("contensis-delivery-api").NodeGetSiblingOptions, project?: string | undefined): Promise<import("contensis-delivery-api").Node<import("contensis-delivery-api").Entry>[]>;
28
+ request<T extends () => Promise<any>>(key: string, execute: T): ReturnType<T>;
29
+ };
@@ -1,5 +1,6 @@
1
1
  export { default as setCachingHeaders } from "../server/features/caching/setCachingHeaders";
2
2
  export { cachedSearch, cachedSearchWithCookies, deliveryApi, deliveryApiWithCookies, getClientConfig, } from './ContensisDeliveryApi';
3
+ export { SSRContextProvider, useDeliveryApi, useSSRContext, } from './SSRContext';
3
4
  export { default as stringifyStrings } from './stringifyStrings';
4
5
  export { default as urls } from './urls';
5
6
  export * from './json-mapper';
@@ -1,8 +1,7 @@
1
1
  import { Entry } from 'contensis-delivery-api/lib/models';
2
2
  import mapJson from 'jsonpath-mapper';
3
- import MappingTemplate, { PureJsFunction } from 'jsonpath-mapper/dist/models/Template';
4
- import { AppState } from "../redux/appstate";
5
- import { EntryMapper, RouteNode } from "../routing/routes";
3
+ import { MappingTemplate, PureJsFunction } from 'jsonpath-mapper';
4
+ import { AppState, EntryMapper, RouteNode } from "../models";
6
5
  export { default as mapJson, jpath } from 'jsonpath-mapper';
7
6
  type Mappers<S> = {
8
7
  [contentTypeId: string]: MappingTemplate<S>;
@@ -43,9 +42,9 @@ export declare const useEntryMapper: <S, T extends Mappers<S>>(entry: S, mappers
43
42
  * a default mapper template, returns an empty object if no mapper template
44
43
  * couild be applied.
45
44
  */
46
- export declare const mapEntries: <S, Mappers_1 extends {
45
+ export declare const mapEntries: <S, Mappers extends {
47
46
  [contentTypeId: string]: MappingTemplate<S>;
48
- }>(entries: S[], mappers: Mappers_1, field?: string) => unknown[];
47
+ }>(entries: S[], mappers: Mappers, field?: string) => unknown[];
49
48
  /**
50
49
  * mapComposer mapping function to take a composer field from Delivery API along
51
50
  * with mappers for each Composer Item "type" and return an array of mapped components
package/package.json CHANGED
@@ -1,138 +1,117 @@
1
1
  {
2
2
  "name": "@zengenti/contensis-react-base",
3
- "version": "4.0.0-beta.2",
3
+ "version": "4.0.0-beta.3",
4
4
  "repository": "https://github.com/zengenti/contensis-react-base",
5
- "license": "None",
5
+ "license": "ISC",
6
6
  "description": "Turbocharge your React web apps with Contensis. This package handles all dependencies for creating full featured web apps in React with Contensis and Site View. Routing is driven by Site View, Redux is used for global state management and server-side rendering (SSR) is handled for you. Also taking care of intricate hosting issues such as cache invalidation and supporting authenticated content where required.",
7
7
  "main": "cjs/contensis-react-base.js",
8
8
  "module": "esm/contensis-react-base.js",
9
9
  "types": "models",
10
10
  "scripts": {
11
11
  "start": "npm run roll:watch",
12
- "debug:server": "npm start",
13
- "build": "npm run clean:lib && ttsc && npm run copymodels && npm run roll:lib",
14
- "build:lib": "npm i zengenti-search-package zengenti-forms-package && npm run build",
15
- "roll:lib": "cross-env NODE_ENV=production rollup -c rollup/rollup.config.lib.js",
16
- "roll:watch": "cross-env NODE_ENV=production rollup -c rollup/rollup.config.lib.js --watch",
12
+ "build": "npm run clean:lib && tspc && npm run roll:lib",
13
+ "roll:lib": "cross-env NODE_ENV=production rollup --bundleConfigAsCjs -c rollup/rollup.config.lib.js",
14
+ "roll:watch": "cross-env NODE_ENV=production rollup --bundleConfigAsCjs -c rollup/rollup.config.lib.js --watch",
17
15
  "clean:lib": "rimraf ./models && rimraf ./esm && rimraf ./cjs",
18
- "copymodels": "copyfiles --up 3 --follow \"./node_modules/zengenti-search-package/models/**/*\" models/search --verbose",
19
- "changelog": "generate-changelog -x ci,chore --tag v3.0.1...",
20
16
  "lint": "eslint ./src",
21
17
  "lint:fix": "eslint --fix ./src",
22
- "test": "jest -c ./config/jest.config.js --detectOpenHandles --forceExit",
23
- "publish:test": "npm pack && tar -xvzf *.tgz && rm -rf package *.tgz"
18
+ "package-lock": "npm i --package-lock-only --workspaces false"
24
19
  },
25
20
  "keywords": [],
26
21
  "author": "http://Zengenti.com",
27
22
  "devDependencies": {
28
- "@babel/cli": "^7.17.6",
29
- "@babel/core": "^7.17.9",
30
- "@babel/eslint-parser": "^7.17.0",
31
- "@babel/node": "^7.20.5",
32
- "@babel/plugin-proposal-class-properties": "^7.16.7",
33
- "@babel/plugin-proposal-export-default-from": "^7.16.7",
34
- "@babel/plugin-proposal-export-namespace-from": "^7.16.7",
35
- "@babel/plugin-proposal-optional-chaining": "^7.16.7",
23
+ "@babel/cli": "^7.25.9",
24
+ "@babel/core": "^7.26.0",
36
25
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
37
- "@babel/plugin-transform-classes": "^7.16.7",
38
- "@babel/plugin-transform-regenerator": "^7.17.9",
39
- "@babel/plugin-transform-runtime": "^7.17.0",
40
- "@babel/preset-env": "^7.16.11",
41
- "@babel/preset-react": "^7.16.7",
42
- "@babel/preset-typescript": "^7.16.7",
43
- "@babel/runtime": "^7.17.9",
44
- "@loadable/babel-plugin": "^5.13.2",
45
- "@rollup/plugin-alias": "^3.1.9",
46
- "@rollup/plugin-babel": "^5.3.1",
47
- "@rollup/plugin-commonjs": "^20.0.0",
48
- "@rollup/plugin-json": "^6.0.1",
49
- "@rollup/plugin-node-resolve": "^13.2.1",
50
- "@types/babel__core": "^7.1.19",
51
- "@types/babel__template": "^7.4.1",
52
- "@types/events": "^3.0.0",
53
- "@types/express": "^4.17.13",
54
- "@types/isomorphic-fetch": "^0.0.36",
55
- "@types/loadable__component": "^5.13.4",
56
- "@types/loadable__server": "^5.12.6",
57
- "@types/node": "^16.11.27",
26
+ "@babel/plugin-transform-export-namespace-from": "^7.25.9",
27
+ "@babel/plugin-transform-optional-chaining": "^7.25.9",
28
+ "@babel/preset-env": "^7.26.0",
29
+ "@babel/preset-react": "^7.25.9",
30
+ "@babel/preset-typescript": "^7.26.0",
31
+ "@eslint/js": "^9.15.0",
32
+ "@loadable/babel-plugin": "^5.16.1",
33
+ "@rollup/plugin-alias": "^5.1.1",
34
+ "@rollup/plugin-babel": "^6.0.4",
35
+ "@rollup/plugin-commonjs": "^28.0.1",
36
+ "@rollup/plugin-json": "^6.1.0",
37
+ "@rollup/plugin-node-resolve": "^15.3.0",
38
+ "@types/babel__core": "^7.20.5",
39
+ "@types/deep-equal": "^1.0.4",
40
+ "@types/eslint__js": "^8.42.3",
41
+ "@types/events": "^3.0.3",
42
+ "@types/express": "^4.17.21",
43
+ "@types/isomorphic-fetch": "^0.0.39",
44
+ "@types/loadable__component": "^5.13.9",
45
+ "@types/loadable__server": "^5.12.11",
46
+ "@types/node": "^20.17.8",
58
47
  "@types/query-string": "^5.1.0",
59
48
  "@types/react": "^18.2.48",
60
49
  "@types/react-dom": "^18.2.18",
61
- "@types/react-redux": "^7.1.24",
62
- "@types/testing-library__dom": "^7.5.0",
63
- "@types/webpack-env": "^1.17.0",
64
- "@typescript-eslint/eslint-plugin": "^4.33.0",
65
- "@typescript-eslint/parser": "^4.33.0",
66
- "babel-plugin-dynamic-import-node": "^2.3.3",
67
- "babel-plugin-module-resolver": "^4.1.0",
68
- "babel-plugin-styled-components": "^1.13.3",
50
+ "@types/react-redux": "^7.1.34",
51
+ "@types/webpack-env": "^1.18.5",
52
+ "babel-plugin-module-resolver": "^5.0.2",
53
+ "babel-plugin-styled-components": "^2.1.4",
69
54
  "babel-plugin-transform-define": "1.0.1",
70
- "copyfiles": "^2.4.1",
71
55
  "cross-env": "^7.0.3",
72
- "eslint": "^7.32.0",
73
- "eslint-config-prettier": "^8.5.0",
74
- "eslint-import-resolver-alias": "^1.1.2",
75
- "eslint-import-resolver-typescript": "^2.7.1",
76
- "eslint-plugin-import": "^2.26.0",
77
- "eslint-plugin-jsx-a11y": "^6.5.1",
78
- "eslint-plugin-prettier": "^4.0.0",
79
- "eslint-plugin-react": "^7.29.4",
80
- "eslint-plugin-react-hooks": "^4.4.0",
81
- "fs-extra": "^10.1.0",
82
- "generate-changelog": "^1.8.0",
83
- "nodemon": "^2.0.15",
84
- "prettier": "^2.6.2",
85
- "rimraf": "^3.0.2",
86
- "rollup": "^2.70.2",
56
+ "eslint": "^9.15.0",
57
+ "eslint-config-prettier": "^9.1.0",
58
+ "eslint-plugin-import": "^2.31.0",
59
+ "eslint-plugin-prettier": "^5.2.1",
60
+ "eslint-plugin-react": "^7.37.2",
61
+ "eslint-plugin-react-hooks": "^5.0.0",
62
+ "fs-extra": "^11.2.0",
63
+ "globals": "^15.12.0",
64
+ "prettier": "^3.4.1",
65
+ "rimraf": "^6.0.1",
66
+ "rollup": "^4.27.4",
87
67
  "rollup-plugin-peer-deps-external": "^2.2.4",
88
- "ttypescript": "^1.5.15",
89
- "typescript": "^4.9.5",
90
- "typescript-transform-paths": "^3.4.6",
91
- "zengenti-forms-package": "git+https://gitlab+deploy-token-11:DRbTWzdaRzkjDWc_VixQ@gitlab.zengenti.com/zengenti-packages/forms.git#next",
92
- "zengenti-search-package": "git+https://gitlab+deploy-token-5:XKRGRE1p2PrFAxnWwLNz@gitlab.zengenti.com/zengenti-packages/search.git#immer"
68
+ "ts-patch": "^3.2.1",
69
+ "typescript": "5.4",
70
+ "typescript-eslint": "^8.38.0",
71
+ "typescript-transform-paths": "^3.5.2"
93
72
  },
94
73
  "dependencies": {
95
- "@loadable/component": "^5.15.2",
96
- "@loadable/server": "^5.15.2",
97
- "app-root-path": "^3.0.0",
74
+ "@loadable/component": "^5.16.4",
75
+ "@loadable/server": "^5.16.5",
76
+ "app-root-path": "^3.1.0",
98
77
  "await-to-js": "^3.0.0",
99
78
  "chalk": "^4.1.2",
100
- "contensis-delivery-api": "^1.3.0",
101
- "contensis-management-api": "^2.1.7",
102
- "custom-env": "^2.0.1",
103
- "deep-equal": "^2.0.5",
104
- "deepmerge": "^4.2.2",
105
- "express": "^4.17.3",
79
+ "contensis-delivery-api": "^1.6.0",
80
+ "contensis-management-api": "^2.3.0",
81
+ "custom-env": "^2.0.6",
82
+ "deep-equal": "^2.2.3",
83
+ "deepmerge": "^4.3.1",
84
+ "express": "^4.21.1",
106
85
  "history": "^5.3.0",
107
86
  "http-proxy": "^1.18.1",
108
- "immer": "^9.0.12",
87
+ "immer": "^9.0.21",
109
88
  "immutable": "4.0.0-rc.12",
110
89
  "isomorphic-fetch": "^3.0.0",
111
- "jsonpath-mapper": "^1.1.0",
90
+ "jsonpath-mapper": "^2.0.3",
112
91
  "lodash": "^4.17.21",
113
92
  "lodash-clean": "^2.2.3",
114
- "loglevel": "^1.8.0",
93
+ "loglevel": "^1.9.2",
115
94
  "minify-css-string": "^1.0.0",
95
+ "minimist": "^1.2.8",
116
96
  "oidc-client": "^1.11.5",
117
- "patch-package": "^6.4.7",
118
97
  "query-string": "^5.1.1",
119
98
  "react": "^18.2.0",
120
- "react-cookie": "^4.1.1",
99
+ "react-cookie": "^7.2.2",
121
100
  "react-dom": "^18.2.0",
122
101
  "react-helmet": "^6.1.0",
123
102
  "react-loadable": "^5.5.0",
124
- "react-redux": "^7.2.8",
103
+ "react-redux": "^7.2.9",
125
104
  "react-router-dom": "^6.3.0",
126
105
  "react-router-hash-link": "^2.4.3",
127
- "redux": "^4.2.0",
106
+ "redux": "^4.2.1",
128
107
  "redux-immutable": "^4.0.0",
129
- "redux-injectors": "^2.0.0-rc",
130
- "redux-saga": "^1.1.3",
131
- "redux-thunk": "^2.4.1",
132
- "reselect": "^4.1.5",
133
- "serialize-javascript": "^6.0.0",
134
- "styled-components": "^5.3.5",
135
- "universal-cookie-express": "^6.1.1",
108
+ "redux-injectors": "^2.1.0",
109
+ "redux-saga": "^1.3.0",
110
+ "redux-thunk": "^2.4.2",
111
+ "reselect": "^4.1.8",
112
+ "serialize-javascript": "^6.0.2",
113
+ "styled-components": "^6.1.13",
114
+ "universal-cookie-express": "^7.2.2",
136
115
  "xxhashjs": "^0.2.2"
137
116
  }
138
117
  }