@tramvai/module-child-app 1.84.2 → 1.90.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/server.browser.js +16 -4
- package/lib/server.es.js +3 -2
- package/lib/server.js +12 -12
- package/package.json +9 -9
package/lib/server.browser.js
CHANGED
|
@@ -5,11 +5,12 @@ import { commandLineListTokens, CHILD_APP_INTERNAL_ROOT_STATE_SUBSCRIPTION_TOKEN
|
|
|
5
5
|
export * from '@tramvai/tokens-child-app';
|
|
6
6
|
import { ACTION_PAGE_RUNNER_TOKEN, CONTEXT_TOKEN, LOGGER_TOKEN, DISPATCHER_TOKEN, STORE_TOKEN, DISPATCHER_CONTEXT_TOKEN, STORE_MIDDLEWARE, INITIAL_APP_STATE_TOKEN, COMBINE_REDUCERS, ENV_MANAGER_TOKEN, REGISTER_CLEAR_CACHE_TOKEN, CLEAR_CACHE_TOKEN, ENV_USED_TOKEN } from '@tramvai/tokens-common';
|
|
7
7
|
import { RENDER_SLOTS, EXTEND_RENDER } from '@tramvai/tokens-render';
|
|
8
|
-
import { ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN, PAGE_SERVICE_TOKEN } from '@tramvai/tokens-router';
|
|
8
|
+
import { ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN, PAGE_SERVICE_TOKEN, ROUTER_TOKEN } from '@tramvai/tokens-router';
|
|
9
9
|
import flatten from '@tinkoff/utils/array/flatten';
|
|
10
10
|
import noop from '@tinkoff/utils/function/noop';
|
|
11
11
|
import { Subscription, ChildDispatcherContext, createEvent, createReducer } from '@tramvai/state';
|
|
12
|
-
import
|
|
12
|
+
import { jsx } from 'react/jsx-runtime';
|
|
13
|
+
import { createContext, useContext, useMemo, useState, useEffect, createElement } from 'react';
|
|
13
14
|
import applyOrReturn from '@tinkoff/utils/function/applyOrReturn';
|
|
14
15
|
import { loadModule } from '@tinkoff/module-loader-client';
|
|
15
16
|
import { useDi } from '@tramvai/react';
|
|
@@ -330,7 +331,7 @@ const RenderContext = createContext(null);
|
|
|
330
331
|
|
|
331
332
|
const extendRender = ({ renderManager, }) => {
|
|
332
333
|
return (render) => {
|
|
333
|
-
return
|
|
334
|
+
return jsx(RenderContext.Provider, Object.assign({ value: renderManager }, { children: render }), void 0);
|
|
334
335
|
};
|
|
335
336
|
};
|
|
336
337
|
|
|
@@ -889,6 +890,18 @@ const browserProviders = [
|
|
|
889
890
|
preloader: CHILD_APP_PRELOAD_MANAGER_TOKEN,
|
|
890
891
|
},
|
|
891
892
|
}),
|
|
893
|
+
provide({
|
|
894
|
+
provide: commandLineListTokens$1.customerStart,
|
|
895
|
+
multi: true,
|
|
896
|
+
useFactory: ({ router, preloader }) => {
|
|
897
|
+
router.registerHook('beforeNavigate', () => preloader.clearPreloaded());
|
|
898
|
+
router.registerHook('beforeUpdateCurrent', () => preloader.clearPreloaded());
|
|
899
|
+
},
|
|
900
|
+
deps: {
|
|
901
|
+
router: ROUTER_TOKEN,
|
|
902
|
+
preloader: CHILD_APP_PRELOAD_MANAGER_TOKEN,
|
|
903
|
+
},
|
|
904
|
+
}),
|
|
892
905
|
provide({
|
|
893
906
|
provide: commandLineListTokens$1.spaTransition,
|
|
894
907
|
multi: true,
|
|
@@ -916,7 +929,6 @@ const browserProviders = [
|
|
|
916
929
|
runner,
|
|
917
930
|
status: 'afterSpa',
|
|
918
931
|
});
|
|
919
|
-
await preloader.clearPreloaded();
|
|
920
932
|
};
|
|
921
933
|
},
|
|
922
934
|
deps: {
|
package/lib/server.es.js
CHANGED
|
@@ -8,7 +8,8 @@ import { RENDER_SLOTS, EXTEND_RENDER, ResourceType, ResourceSlot, RESOURCES_REGI
|
|
|
8
8
|
import { PAGE_SERVICE_TOKEN } from '@tramvai/tokens-router';
|
|
9
9
|
import flatten from '@tinkoff/utils/array/flatten';
|
|
10
10
|
import { ChildDispatcherContext, createEvent, createReducer } from '@tramvai/state';
|
|
11
|
-
import
|
|
11
|
+
import { jsx } from 'react/jsx-runtime';
|
|
12
|
+
import { createContext, useContext, useMemo, useState, useEffect, createElement } from 'react';
|
|
12
13
|
import applyOrReturn from '@tinkoff/utils/function/applyOrReturn';
|
|
13
14
|
import { combineValidators, isUrl, endsWith } from '@tinkoff/env-validators';
|
|
14
15
|
import { safeDehydrate } from '@tramvai/safe-strings';
|
|
@@ -268,7 +269,7 @@ const RenderContext = createContext(null);
|
|
|
268
269
|
|
|
269
270
|
const extendRender = ({ renderManager, }) => {
|
|
270
271
|
return (render) => {
|
|
271
|
-
return
|
|
272
|
+
return jsx(RenderContext.Provider, Object.assign({ value: renderManager }, { children: render }), void 0);
|
|
272
273
|
};
|
|
273
274
|
};
|
|
274
275
|
|
package/lib/server.js
CHANGED
|
@@ -11,18 +11,18 @@ var tokensRender = require('@tramvai/tokens-render');
|
|
|
11
11
|
var tokensRouter = require('@tramvai/tokens-router');
|
|
12
12
|
var flatten = require('@tinkoff/utils/array/flatten');
|
|
13
13
|
var state = require('@tramvai/state');
|
|
14
|
-
var
|
|
14
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
15
|
+
var react = require('react');
|
|
15
16
|
var applyOrReturn = require('@tinkoff/utils/function/applyOrReturn');
|
|
16
17
|
var envValidators = require('@tinkoff/env-validators');
|
|
17
18
|
var safeStrings = require('@tramvai/safe-strings');
|
|
18
19
|
var moduleLoaderServer = require('@tinkoff/module-loader-server');
|
|
19
20
|
var noop = require('@tinkoff/utils/function/noop');
|
|
20
|
-
var react = require('@tramvai/react');
|
|
21
|
+
var react$1 = require('@tramvai/react');
|
|
21
22
|
|
|
22
23
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
24
|
|
|
24
25
|
var flatten__default = /*#__PURE__*/_interopDefaultLegacy(flatten);
|
|
25
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
26
26
|
var applyOrReturn__default = /*#__PURE__*/_interopDefaultLegacy(applyOrReturn);
|
|
27
27
|
var noop__default = /*#__PURE__*/_interopDefaultLegacy(noop);
|
|
28
28
|
|
|
@@ -274,11 +274,11 @@ const ChildAppStore = state.createReducer('child-app', initialState).on(setPrelo
|
|
|
274
274
|
};
|
|
275
275
|
});
|
|
276
276
|
|
|
277
|
-
const RenderContext =
|
|
277
|
+
const RenderContext = react.createContext(null);
|
|
278
278
|
|
|
279
279
|
const extendRender = ({ renderManager, }) => {
|
|
280
280
|
return (render) => {
|
|
281
|
-
return
|
|
281
|
+
return jsxRuntime.jsx(RenderContext.Provider, Object.assign({ value: renderManager }, { children: render }), void 0);
|
|
282
282
|
};
|
|
283
283
|
};
|
|
284
284
|
|
|
@@ -967,15 +967,15 @@ const serverProviders = [
|
|
|
967
967
|
];
|
|
968
968
|
|
|
969
969
|
const ChildApp = ({ name, version, tag, props }) => {
|
|
970
|
-
const renderManager =
|
|
971
|
-
const resolveExternalConfig = react.useDi(tokensChildApp.CHILD_APP_RESOLVE_CONFIG_TOKEN);
|
|
972
|
-
const logger = react.useDi(tokensCommon.LOGGER_TOKEN);
|
|
970
|
+
const renderManager = react.useContext(RenderContext);
|
|
971
|
+
const resolveExternalConfig = react$1.useDi(tokensChildApp.CHILD_APP_RESOLVE_CONFIG_TOKEN);
|
|
972
|
+
const logger = react$1.useDi(tokensCommon.LOGGER_TOKEN);
|
|
973
973
|
const log = logger('child-app:render');
|
|
974
|
-
const [maybeDi, promiseDi] =
|
|
974
|
+
const [maybeDi, promiseDi] = react.useMemo(() => {
|
|
975
975
|
return renderManager.getChildDi(resolveExternalConfig({ name, version, tag }));
|
|
976
976
|
}, [name, version, tag, renderManager, resolveExternalConfig]);
|
|
977
|
-
const [di, setDi] =
|
|
978
|
-
|
|
977
|
+
const [di, setDi] = react.useState(maybeDi);
|
|
978
|
+
react.useEffect(() => {
|
|
979
979
|
if (!di && promiseDi) {
|
|
980
980
|
// any errors with loading child-app should be handled in some other place
|
|
981
981
|
promiseDi.then(setDi).catch(noop__default["default"]);
|
|
@@ -1003,7 +1003,7 @@ const ChildApp = ({ name, version, tag, props }) => {
|
|
|
1003
1003
|
});
|
|
1004
1004
|
return null;
|
|
1005
1005
|
}
|
|
1006
|
-
return
|
|
1006
|
+
return react.createElement(Cmp, {
|
|
1007
1007
|
di,
|
|
1008
1008
|
props,
|
|
1009
1009
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-child-app",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.90.1",
|
|
4
4
|
"description": "Module for child apps",
|
|
5
5
|
"browser": {
|
|
6
6
|
"./lib/server.js": "./lib/browser.js",
|
|
@@ -31,20 +31,20 @@
|
|
|
31
31
|
"@tinkoff/env-validators": "0.0.3",
|
|
32
32
|
"@tinkoff/module-loader-client": "0.3.25",
|
|
33
33
|
"@tinkoff/module-loader-server": "0.4.41",
|
|
34
|
-
"@tramvai/child-app-core": "1.
|
|
34
|
+
"@tramvai/child-app-core": "1.90.1",
|
|
35
35
|
"@tramvai/safe-strings": "0.4.3",
|
|
36
|
-
"@tramvai/tokens-child-app": "1.
|
|
36
|
+
"@tramvai/tokens-child-app": "1.90.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"@tinkoff/dippy": "0.7.39",
|
|
41
41
|
"@tinkoff/utils": "^2.1.2",
|
|
42
|
-
"@tramvai/core": "1.
|
|
43
|
-
"@tramvai/state": "1.
|
|
44
|
-
"@tramvai/react": "1.
|
|
45
|
-
"@tramvai/tokens-common": "1.
|
|
46
|
-
"@tramvai/tokens-render": "1.
|
|
47
|
-
"@tramvai/tokens-router": "1.
|
|
42
|
+
"@tramvai/core": "1.90.1",
|
|
43
|
+
"@tramvai/state": "1.90.1",
|
|
44
|
+
"@tramvai/react": "1.90.1",
|
|
45
|
+
"@tramvai/tokens-common": "1.90.1",
|
|
46
|
+
"@tramvai/tokens-render": "1.90.1",
|
|
47
|
+
"@tramvai/tokens-router": "1.90.1",
|
|
48
48
|
"react": ">=16.8.0",
|
|
49
49
|
"react-dom": ">=16.8.0",
|
|
50
50
|
"object-assign": "^4.1.1",
|