@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 +31 -30
- package/lib/client/index.d.ts +1 -3
- package/lib/react/index.d.ts +1 -2
- package/lib/react/pageErrorBoundary.d.ts +5 -0
- package/lib/server.es.js +34 -32
- package/lib/server.js +34 -32
- package/package.json +15 -15
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
|
|
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,
|
|
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
|
|
68
|
-
|
|
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,
|
|
101
|
+
function rendering({ pageService, log, consumerContext, customRender, extendRender, di, useStrictMode, rendererCallback, }) {
|
|
100
102
|
return new Promise((resolve, reject) => {
|
|
101
|
-
let renderResult = renderReact({ pageService, di
|
|
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
|
}),
|
package/lib/client/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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>;
|
package/lib/react/index.d.ts
CHANGED
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,
|
|
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
|
|
670
|
-
|
|
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
|
|
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,
|
|
772
|
-
sizeCache: createCache('memory', { max: 100,
|
|
773
|
-
requestsCache: createCache('memory', { max: 150,
|
|
774
|
-
disabledUrlsCache: createCache('memory', { max: 150,
|
|
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('
|
|
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,
|
|
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
|
|
706
|
-
|
|
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
|
|
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,
|
|
808
|
-
sizeCache: createCache('memory', { max: 100,
|
|
809
|
-
requestsCache: createCache('memory', { max: 150,
|
|
810
|
-
disabledUrlsCache: createCache('memory', { max: 150,
|
|
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('
|
|
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.
|
|
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.
|
|
28
|
-
"@tramvai/module-client-hints": "1.
|
|
29
|
-
"@tramvai/module-router": "1.
|
|
30
|
-
"@tramvai/react": "1.
|
|
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.
|
|
33
|
-
"@tramvai/experiments": "1.
|
|
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.
|
|
42
|
-
"@tramvai/core": "1.
|
|
43
|
-
"@tramvai/module-common": "1.
|
|
44
|
-
"@tramvai/state": "1.
|
|
45
|
-
"@tramvai/test-helpers": "1.
|
|
46
|
-
"@tramvai/tokens-common": "1.
|
|
47
|
-
"@tramvai/tokens-router": "1.
|
|
48
|
-
"@tramvai/tokens-server-private": "1.
|
|
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",
|