@tramvai/module-render 1.105.2 → 1.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/browser.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import { Module, provide, commandLineListTokens, DI_TOKEN } from '@tramvai/core';
3
- import { COMBINE_REDUCERS, STORE_TOKEN, LOGGER_TOKEN, CONTEXT_TOKEN, INITIAL_APP_STATE_TOKEN } from '@tramvai/tokens-common';
3
+ import { COMBINE_REDUCERS, STORE_TOKEN, LOGGER_TOKEN, CONTEXT_TOKEN } from '@tramvai/tokens-common';
4
4
  import { DEFAULT_LAYOUT_COMPONENT, LAYOUT_OPTIONS, DEFAULT_FOOTER_COMPONENT, DEFAULT_HEADER_COMPONENT, TRAMVAI_RENDER_MODE, RESOURCES_REGISTRY, CUSTOM_RENDER, EXTEND_RENDER, RENDERER_CALLBACK, USE_REACT_STRICT_MODE, RENDER_MODE } from '@tramvai/tokens-render';
5
5
  export * from '@tramvai/tokens-render';
6
6
  import { ROUTER_TOKEN, PAGE_SERVICE_TOKEN } from '@tramvai/tokens-router';
@@ -13,6 +13,29 @@ import { useRoute, useUrl } from '@tramvai/module-router';
13
13
  import { useIsomorphicLayoutEffect } from '@tinkoff/react-hooks';
14
14
  import { composeLayoutOptions, createLayout } from '@tinkoff/layout-factory';
15
15
 
16
+ class RootComponent extends PureComponent {
17
+ render() {
18
+ const { LayoutComponent, PageComponent, HeaderComponent, FooterComponent } = this.props;
19
+ return (jsx(LayoutComponent, Object.assign({ Header: HeaderComponent, Footer: FooterComponent }, { children: jsx(PageComponent, {}, void 0) }), void 0));
20
+ }
21
+ }
22
+ const Root = ({ pageService }) => {
23
+ const { config } = useRoute();
24
+ const { pageComponent } = config;
25
+ let PageComponent = pageService.getComponent(pageComponent);
26
+ if (!PageComponent) {
27
+ // eslint-disable-next-line react-perf/jsx-no-new-function-as-prop
28
+ PageComponent = () => {
29
+ throw new Error(`Page component '${pageComponent}' not found`);
30
+ };
31
+ }
32
+ // Get components for current page, otherwise use a defaults
33
+ const LayoutComponent = pageService.resolveComponentFromConfig('layout');
34
+ const HeaderComponent = pageService.resolveComponentFromConfig('header');
35
+ const FooterComponent = pageService.resolveComponentFromConfig('footer');
36
+ return (jsx(RootComponent, { HeaderComponent: HeaderComponent, FooterComponent: FooterComponent, LayoutComponent: LayoutComponent, PageComponent: PageComponent }, void 0));
37
+ };
38
+
16
39
  function serializeError(error) {
17
40
  return {
18
41
  ...error,
@@ -30,7 +53,7 @@ const initialState = null;
30
53
  const PageErrorStore = createReducer('pageError', initialState).on(setPageErrorEvent, (state, error) => error && serializeError(error));
31
54
 
32
55
  const PageErrorBoundary = (props) => {
33
- const { children, fallback } = props;
56
+ const { children, pageService } = props;
34
57
  const url = useUrl();
35
58
  const serializedError = useStore(PageErrorStore);
36
59
  const error = useMemo(() => {
@@ -38,34 +61,13 @@ const PageErrorBoundary = (props) => {
38
61
  }, [serializedError]);
39
62
  const errorHandlers = useDi({ token: ERROR_BOUNDARY_TOKEN, optional: true });
40
63
  const fallbackFromDi = useDi({ token: ERROR_BOUNDARY_FALLBACK_COMPONENT_TOKEN, optional: true });
64
+ const fallback = pageService.resolveComponentFromConfig('errorBoundary');
41
65
  return (jsx(UniversalErrorBoundary, Object.assign({ url: url, error: error, errorHandlers: errorHandlers, fallback: fallback, fallbackFromDi: fallbackFromDi }, { children: children }), void 0));
42
66
  };
43
- class RootComponent extends PureComponent {
44
- render() {
45
- const { LayoutComponent, PageComponent, HeaderComponent, FooterComponent, ErrorBoundaryComponent, } = this.props;
46
- return (jsx(LayoutComponent, Object.assign({ Header: HeaderComponent, Footer: FooterComponent }, { children: jsx(PageErrorBoundary, Object.assign({ fallback: ErrorBoundaryComponent }, { children: jsx(PageComponent, {}, void 0) }), void 0) }), void 0));
47
- }
48
- }
49
- const Root = ({ pageService }) => {
50
- const { config } = useRoute();
51
- const { pageComponent } = config;
52
- let PageComponent = pageService.getComponent(pageComponent);
53
- if (!PageComponent) {
54
- // eslint-disable-next-line react-perf/jsx-no-new-function-as-prop
55
- PageComponent = () => {
56
- throw new Error(`Page component '${pageComponent}' not found`);
57
- };
58
- }
59
- // Get components for current page, otherwise use a defaults
60
- const LayoutComponent = pageService.resolveComponentFromConfig('layout');
61
- const HeaderComponent = pageService.resolveComponentFromConfig('header');
62
- const FooterComponent = pageService.resolveComponentFromConfig('footer');
63
- const ErrorBoundaryComponent = pageService.resolveComponentFromConfig('errorBoundary');
64
- return (jsx(RootComponent, { HeaderComponent: HeaderComponent, FooterComponent: FooterComponent, LayoutComponent: LayoutComponent, PageComponent: PageComponent, ErrorBoundaryComponent: ErrorBoundaryComponent }, void 0));
65
- };
66
67
 
67
- function renderReact({ pageService, di, initialState }, context) {
68
- return (jsx(Provider, Object.assign({ context: context, serverState: initialState && context.getState() }, { children: jsx(DIContext.Provider, Object.assign({ value: di }, { children: jsx(Root, { pageService: pageService }, void 0) }), void 0) }), void 0));
68
+ function renderReact({ pageService, di }, context) {
69
+ const serverState = typeof window !== 'undefined' ? context.getState() : undefined;
70
+ return (jsx(Provider, Object.assign({ context: context, serverState: serverState }, { children: jsx(DIContext.Provider, Object.assign({ value: di }, { children: jsx(PageErrorBoundary, Object.assign({ pageService: pageService }, { children: jsx(Root, { pageService: pageService }, void 0) }), void 0) }), void 0) }), void 0));
69
71
  }
70
72
 
71
73
  let hydrateRoot;
@@ -96,9 +98,9 @@ const renderer = ({ element, container, callback, log }) => {
96
98
  return hydrate(element, container, callback);
97
99
  };
98
100
 
99
- function rendering({ pageService, log, consumerContext, customRender, extendRender, di, useStrictMode, rendererCallback, initialState, }) {
101
+ function rendering({ pageService, log, consumerContext, customRender, extendRender, di, useStrictMode, rendererCallback, }) {
100
102
  return new Promise((resolve, reject) => {
101
- let renderResult = renderReact({ pageService, di, initialState }, consumerContext);
103
+ let renderResult = renderReact({ pageService, di }, consumerContext);
102
104
  if (extendRender) {
103
105
  each((render) => {
104
106
  renderResult = render(renderResult);
@@ -252,7 +254,6 @@ RenderModule = RenderModule_1 = __decorate([
252
254
  consumerContext: CONTEXT_TOKEN,
253
255
  di: DI_TOKEN,
254
256
  useStrictMode: USE_REACT_STRICT_MODE,
255
- initialState: INITIAL_APP_STATE_TOKEN,
256
257
  },
257
258
  multi: true,
258
259
  }),
@@ -1,7 +1,6 @@
1
1
  import type { EXTEND_RENDER, RENDERER_CALLBACK, USE_REACT_STRICT_MODE } from '@tramvai/tokens-render';
2
2
  import type { PAGE_SERVICE_TOKEN } from '@tramvai/tokens-router';
3
- import type { INITIAL_APP_STATE_TOKEN } from '@tramvai/tokens-common';
4
- export declare function rendering({ pageService, log, consumerContext, customRender, extendRender, di, useStrictMode, rendererCallback, initialState, }: {
3
+ export declare function rendering({ pageService, log, consumerContext, customRender, extendRender, di, useStrictMode, rendererCallback, }: {
5
4
  pageService: typeof PAGE_SERVICE_TOKEN;
6
5
  log: any;
7
6
  consumerContext: any;
@@ -10,5 +9,4 @@ export declare function rendering({ pageService, log, consumerContext, customRen
10
9
  di: any;
11
10
  useStrictMode: typeof USE_REACT_STRICT_MODE;
12
11
  rendererCallback?: typeof RENDERER_CALLBACK;
13
- initialState?: typeof INITIAL_APP_STATE_TOKEN;
14
12
  }): Promise<void>;
@@ -1,5 +1,4 @@
1
- export declare function renderReact({ pageService, di, initialState }: {
1
+ export declare function renderReact({ pageService, di }: {
2
2
  pageService: any;
3
3
  di: any;
4
- initialState: any;
5
4
  }, context: any): JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import type { PAGE_SERVICE_TOKEN } from '@tramvai/tokens-router';
3
+ export declare const PageErrorBoundary: (props: PropsWithChildren<{
4
+ pageService: typeof PAGE_SERVICE_TOKEN;
5
+ }>) => JSX.Element;
package/lib/server.es.js CHANGED
@@ -615,6 +615,29 @@ const htmlPageSchemaFactory = ({ htmlAttrs, }) => {
615
615
  ];
616
616
  };
617
617
 
618
+ class RootComponent extends PureComponent {
619
+ render() {
620
+ const { LayoutComponent, PageComponent, HeaderComponent, FooterComponent } = this.props;
621
+ return (jsx(LayoutComponent, Object.assign({ Header: HeaderComponent, Footer: FooterComponent }, { children: jsx(PageComponent, {}, void 0) }), void 0));
622
+ }
623
+ }
624
+ const Root = ({ pageService }) => {
625
+ const { config } = useRoute();
626
+ const { pageComponent } = config;
627
+ let PageComponent = pageService.getComponent(pageComponent);
628
+ if (!PageComponent) {
629
+ // eslint-disable-next-line react-perf/jsx-no-new-function-as-prop
630
+ PageComponent = () => {
631
+ throw new Error(`Page component '${pageComponent}' not found`);
632
+ };
633
+ }
634
+ // Get components for current page, otherwise use a defaults
635
+ const LayoutComponent = pageService.resolveComponentFromConfig('layout');
636
+ const HeaderComponent = pageService.resolveComponentFromConfig('header');
637
+ const FooterComponent = pageService.resolveComponentFromConfig('footer');
638
+ return (jsx(RootComponent, { HeaderComponent: HeaderComponent, FooterComponent: FooterComponent, LayoutComponent: LayoutComponent, PageComponent: PageComponent }, void 0));
639
+ };
640
+
618
641
  function serializeError(error) {
619
642
  return {
620
643
  ...error,
@@ -632,7 +655,7 @@ const initialState = null;
632
655
  const PageErrorStore = createReducer('pageError', initialState).on(setPageErrorEvent, (state, error) => error && serializeError(error));
633
656
 
634
657
  const PageErrorBoundary = (props) => {
635
- const { children, fallback } = props;
658
+ const { children, pageService } = props;
636
659
  const url = useUrl();
637
660
  const serializedError = useStore(PageErrorStore);
638
661
  const error = useMemo(() => {
@@ -640,34 +663,13 @@ const PageErrorBoundary = (props) => {
640
663
  }, [serializedError]);
641
664
  const errorHandlers = useDi({ token: ERROR_BOUNDARY_TOKEN, optional: true });
642
665
  const fallbackFromDi = useDi({ token: ERROR_BOUNDARY_FALLBACK_COMPONENT_TOKEN, optional: true });
666
+ const fallback = pageService.resolveComponentFromConfig('errorBoundary');
643
667
  return (jsx(UniversalErrorBoundary, Object.assign({ url: url, error: error, errorHandlers: errorHandlers, fallback: fallback, fallbackFromDi: fallbackFromDi }, { children: children }), void 0));
644
668
  };
645
- class RootComponent extends PureComponent {
646
- render() {
647
- const { LayoutComponent, PageComponent, HeaderComponent, FooterComponent, ErrorBoundaryComponent, } = this.props;
648
- return (jsx(LayoutComponent, Object.assign({ Header: HeaderComponent, Footer: FooterComponent }, { children: jsx(PageErrorBoundary, Object.assign({ fallback: ErrorBoundaryComponent }, { children: jsx(PageComponent, {}, void 0) }), void 0) }), void 0));
649
- }
650
- }
651
- const Root = ({ pageService }) => {
652
- const { config } = useRoute();
653
- const { pageComponent } = config;
654
- let PageComponent = pageService.getComponent(pageComponent);
655
- if (!PageComponent) {
656
- // eslint-disable-next-line react-perf/jsx-no-new-function-as-prop
657
- PageComponent = () => {
658
- throw new Error(`Page component '${pageComponent}' not found`);
659
- };
660
- }
661
- // Get components for current page, otherwise use a defaults
662
- const LayoutComponent = pageService.resolveComponentFromConfig('layout');
663
- const HeaderComponent = pageService.resolveComponentFromConfig('header');
664
- const FooterComponent = pageService.resolveComponentFromConfig('footer');
665
- const ErrorBoundaryComponent = pageService.resolveComponentFromConfig('errorBoundary');
666
- return (jsx(RootComponent, { HeaderComponent: HeaderComponent, FooterComponent: FooterComponent, LayoutComponent: LayoutComponent, PageComponent: PageComponent, ErrorBoundaryComponent: ErrorBoundaryComponent }, void 0));
667
- };
668
669
 
669
- function renderReact({ pageService, di, initialState }, context) {
670
- return (jsx(Provider, Object.assign({ context: context, serverState: initialState && context.getState() }, { children: jsx(DIContext.Provider, Object.assign({ value: di }, { children: jsx(Root, { pageService: pageService }, void 0) }), void 0) }), void 0));
670
+ function renderReact({ pageService, di }, context) {
671
+ const serverState = typeof window !== 'undefined' ? context.getState() : undefined;
672
+ return (jsx(Provider, Object.assign({ context: context, serverState: serverState }, { children: jsx(DIContext.Provider, Object.assign({ value: di }, { children: jsx(PageErrorBoundary, Object.assign({ pageService: pageService }, { children: jsx(Root, { pageService: pageService }, void 0) }), void 0) }), void 0) }), void 0));
671
673
  }
672
674
 
673
675
  class ReactRenderServer {
@@ -680,7 +682,7 @@ class ReactRenderServer {
680
682
  }
681
683
  render(extractor) {
682
684
  var _a;
683
- let renderResult = renderReact({ pageService: this.pageService, di: this.di, initialState: null }, this.context);
685
+ let renderResult = renderReact({ pageService: this.pageService, di: this.di }, this.context);
684
686
  each((render) => {
685
687
  renderResult = render(renderResult);
686
688
  }, (_a = this.extendRender) !== null && _a !== void 0 ? _a : []);
@@ -768,10 +770,10 @@ RenderModule = RenderModule_1 = __decorate([
768
770
  useFactory: ({ createCache }) => {
769
771
  const thirtyMinutes = 1000 * 60 * 30;
770
772
  return {
771
- filesCache: createCache('memory', { max: 50, maxAge: thirtyMinutes }),
772
- sizeCache: createCache('memory', { max: 100, maxAge: thirtyMinutes }),
773
- requestsCache: createCache('memory', { max: 150, maxAge: 1000 * 60 * 5 }),
774
- disabledUrlsCache: createCache('memory', { max: 150, maxAge: 1000 * 60 * 5 }),
773
+ filesCache: createCache('memory', { max: 50, ttl: thirtyMinutes }),
774
+ sizeCache: createCache('memory', { max: 100, ttl: thirtyMinutes }),
775
+ requestsCache: createCache('memory', { max: 150, ttl: 1000 * 60 * 5 }),
776
+ disabledUrlsCache: createCache('memory', { max: 150, ttl: 1000 * 60 * 5 }),
775
777
  };
776
778
  },
777
779
  deps: {
@@ -945,7 +947,7 @@ RenderModule = RenderModule_1 = __decorate([
945
947
  provide: 'modernSatisfiesLruCache',
946
948
  scope: Scope.SINGLETON,
947
949
  useFactory: ({ createCache }) => {
948
- return createCache('modernSatisfies', { max: 50 });
950
+ return createCache('memory', { max: 50 });
949
951
  },
950
952
  deps: {
951
953
  createCache: CREATE_CACHE_TOKEN,
package/lib/server.js CHANGED
@@ -651,6 +651,29 @@ const htmlPageSchemaFactory = ({ htmlAttrs, }) => {
651
651
  ];
652
652
  };
653
653
 
654
+ class RootComponent extends react.PureComponent {
655
+ render() {
656
+ const { LayoutComponent, PageComponent, HeaderComponent, FooterComponent } = this.props;
657
+ return (jsxRuntime.jsx(LayoutComponent, Object.assign({ Header: HeaderComponent, Footer: FooterComponent }, { children: jsxRuntime.jsx(PageComponent, {}, void 0) }), void 0));
658
+ }
659
+ }
660
+ const Root = ({ pageService }) => {
661
+ const { config } = moduleRouter.useRoute();
662
+ const { pageComponent } = config;
663
+ let PageComponent = pageService.getComponent(pageComponent);
664
+ if (!PageComponent) {
665
+ // eslint-disable-next-line react-perf/jsx-no-new-function-as-prop
666
+ PageComponent = () => {
667
+ throw new Error(`Page component '${pageComponent}' not found`);
668
+ };
669
+ }
670
+ // Get components for current page, otherwise use a defaults
671
+ const LayoutComponent = pageService.resolveComponentFromConfig('layout');
672
+ const HeaderComponent = pageService.resolveComponentFromConfig('header');
673
+ const FooterComponent = pageService.resolveComponentFromConfig('footer');
674
+ return (jsxRuntime.jsx(RootComponent, { HeaderComponent: HeaderComponent, FooterComponent: FooterComponent, LayoutComponent: LayoutComponent, PageComponent: PageComponent }, void 0));
675
+ };
676
+
654
677
  function serializeError(error) {
655
678
  return {
656
679
  ...error,
@@ -668,7 +691,7 @@ const initialState = null;
668
691
  const PageErrorStore = state.createReducer('pageError', initialState).on(setPageErrorEvent, (state, error) => error && serializeError(error));
669
692
 
670
693
  const PageErrorBoundary = (props) => {
671
- const { children, fallback } = props;
694
+ const { children, pageService } = props;
672
695
  const url = moduleRouter.useUrl();
673
696
  const serializedError = state.useStore(PageErrorStore);
674
697
  const error = react.useMemo(() => {
@@ -676,34 +699,13 @@ const PageErrorBoundary = (props) => {
676
699
  }, [serializedError]);
677
700
  const errorHandlers = react$1.useDi({ token: react$1.ERROR_BOUNDARY_TOKEN, optional: true });
678
701
  const fallbackFromDi = react$1.useDi({ token: react$1.ERROR_BOUNDARY_FALLBACK_COMPONENT_TOKEN, optional: true });
702
+ const fallback = pageService.resolveComponentFromConfig('errorBoundary');
679
703
  return (jsxRuntime.jsx(react$1.UniversalErrorBoundary, Object.assign({ url: url, error: error, errorHandlers: errorHandlers, fallback: fallback, fallbackFromDi: fallbackFromDi }, { children: children }), void 0));
680
704
  };
681
- class RootComponent extends react.PureComponent {
682
- render() {
683
- const { LayoutComponent, PageComponent, HeaderComponent, FooterComponent, ErrorBoundaryComponent, } = this.props;
684
- return (jsxRuntime.jsx(LayoutComponent, Object.assign({ Header: HeaderComponent, Footer: FooterComponent }, { children: jsxRuntime.jsx(PageErrorBoundary, Object.assign({ fallback: ErrorBoundaryComponent }, { children: jsxRuntime.jsx(PageComponent, {}, void 0) }), void 0) }), void 0));
685
- }
686
- }
687
- const Root = ({ pageService }) => {
688
- const { config } = moduleRouter.useRoute();
689
- const { pageComponent } = config;
690
- let PageComponent = pageService.getComponent(pageComponent);
691
- if (!PageComponent) {
692
- // eslint-disable-next-line react-perf/jsx-no-new-function-as-prop
693
- PageComponent = () => {
694
- throw new Error(`Page component '${pageComponent}' not found`);
695
- };
696
- }
697
- // Get components for current page, otherwise use a defaults
698
- const LayoutComponent = pageService.resolveComponentFromConfig('layout');
699
- const HeaderComponent = pageService.resolveComponentFromConfig('header');
700
- const FooterComponent = pageService.resolveComponentFromConfig('footer');
701
- const ErrorBoundaryComponent = pageService.resolveComponentFromConfig('errorBoundary');
702
- return (jsxRuntime.jsx(RootComponent, { HeaderComponent: HeaderComponent, FooterComponent: FooterComponent, LayoutComponent: LayoutComponent, PageComponent: PageComponent, ErrorBoundaryComponent: ErrorBoundaryComponent }, void 0));
703
- };
704
705
 
705
- function renderReact({ pageService, di, initialState }, context) {
706
- return (jsxRuntime.jsx(state.Provider, Object.assign({ context: context, serverState: initialState && context.getState() }, { children: jsxRuntime.jsx(react$1.DIContext.Provider, Object.assign({ value: di }, { children: jsxRuntime.jsx(Root, { pageService: pageService }, void 0) }), void 0) }), void 0));
706
+ function renderReact({ pageService, di }, context) {
707
+ const serverState = typeof window !== 'undefined' ? context.getState() : undefined;
708
+ return (jsxRuntime.jsx(state.Provider, Object.assign({ context: context, serverState: serverState }, { children: jsxRuntime.jsx(react$1.DIContext.Provider, Object.assign({ value: di }, { children: jsxRuntime.jsx(PageErrorBoundary, Object.assign({ pageService: pageService }, { children: jsxRuntime.jsx(Root, { pageService: pageService }, void 0) }), void 0) }), void 0) }), void 0));
707
709
  }
708
710
 
709
711
  class ReactRenderServer {
@@ -716,7 +718,7 @@ class ReactRenderServer {
716
718
  }
717
719
  render(extractor) {
718
720
  var _a;
719
- let renderResult = renderReact({ pageService: this.pageService, di: this.di, initialState: null }, this.context);
721
+ let renderResult = renderReact({ pageService: this.pageService, di: this.di }, this.context);
720
722
  each__default["default"]((render) => {
721
723
  renderResult = render(renderResult);
722
724
  }, (_a = this.extendRender) !== null && _a !== void 0 ? _a : []);
@@ -804,10 +806,10 @@ exports.RenderModule = RenderModule_1 = tslib.__decorate([
804
806
  useFactory: ({ createCache }) => {
805
807
  const thirtyMinutes = 1000 * 60 * 30;
806
808
  return {
807
- filesCache: createCache('memory', { max: 50, maxAge: thirtyMinutes }),
808
- sizeCache: createCache('memory', { max: 100, maxAge: thirtyMinutes }),
809
- requestsCache: createCache('memory', { max: 150, maxAge: 1000 * 60 * 5 }),
810
- disabledUrlsCache: createCache('memory', { max: 150, maxAge: 1000 * 60 * 5 }),
809
+ filesCache: createCache('memory', { max: 50, ttl: thirtyMinutes }),
810
+ sizeCache: createCache('memory', { max: 100, ttl: thirtyMinutes }),
811
+ requestsCache: createCache('memory', { max: 150, ttl: 1000 * 60 * 5 }),
812
+ disabledUrlsCache: createCache('memory', { max: 150, ttl: 1000 * 60 * 5 }),
811
813
  };
812
814
  },
813
815
  deps: {
@@ -981,7 +983,7 @@ exports.RenderModule = RenderModule_1 = tslib.__decorate([
981
983
  provide: 'modernSatisfiesLruCache',
982
984
  scope: dippy.Scope.SINGLETON,
983
985
  useFactory: ({ createCache }) => {
984
- return createCache('modernSatisfies', { max: 50 });
986
+ return createCache('memory', { max: 50 });
985
987
  },
986
988
  deps: {
987
989
  createCache: moduleCommon.CREATE_CACHE_TOKEN,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/module-render",
3
- "version": "1.105.2",
3
+ "version": "1.106.0",
4
4
  "description": "",
5
5
  "browser": "lib/browser.js",
6
6
  "main": "lib/server.js",
@@ -24,13 +24,13 @@
24
24
  "@tinkoff/htmlpagebuilder": "0.4.23",
25
25
  "@tinkoff/layout-factory": "0.2.30",
26
26
  "@tinkoff/url": "0.7.38",
27
- "@tinkoff/user-agent": "0.3.356",
28
- "@tramvai/module-client-hints": "1.105.2",
29
- "@tramvai/module-router": "1.105.2",
30
- "@tramvai/react": "1.105.2",
27
+ "@tinkoff/user-agent": "0.3.367",
28
+ "@tramvai/module-client-hints": "1.106.0",
29
+ "@tramvai/module-router": "1.106.0",
30
+ "@tramvai/react": "1.106.0",
31
31
  "@tramvai/safe-strings": "0.4.4",
32
- "@tramvai/tokens-render": "1.105.2",
33
- "@tramvai/experiments": "1.105.2",
32
+ "@tramvai/tokens-render": "1.106.0",
33
+ "@tramvai/experiments": "1.106.0",
34
34
  "@types/loadable__server": "^5.12.6",
35
35
  "node-fetch": "^2.6.1"
36
36
  },
@@ -38,14 +38,14 @@
38
38
  "@tinkoff/dippy": "0.7.41",
39
39
  "@tinkoff/utils": "^2.1.2",
40
40
  "@tinkoff/react-hooks": "0.0.26",
41
- "@tramvai/cli": "1.105.2",
42
- "@tramvai/core": "1.105.2",
43
- "@tramvai/module-common": "1.105.2",
44
- "@tramvai/state": "1.105.2",
45
- "@tramvai/test-helpers": "1.105.2",
46
- "@tramvai/tokens-common": "1.105.2",
47
- "@tramvai/tokens-router": "1.105.2",
48
- "@tramvai/tokens-server-private": "1.105.2",
41
+ "@tramvai/cli": "1.106.0",
42
+ "@tramvai/core": "1.106.0",
43
+ "@tramvai/module-common": "1.106.0",
44
+ "@tramvai/state": "1.106.0",
45
+ "@tramvai/test-helpers": "1.106.0",
46
+ "@tramvai/tokens-common": "1.106.0",
47
+ "@tramvai/tokens-router": "1.106.0",
48
+ "@tramvai/tokens-server-private": "1.106.0",
49
49
  "express": "^4.17.1",
50
50
  "prop-types": "^15.6.2",
51
51
  "react": ">=16.14.0",