@tramvai/module-child-app 4.18.4 → 4.19.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/child/singletonProviders.browser.js +7 -9
- package/lib/browser/providers.browser.js +17 -2
- package/lib/contracts/contractManager.base.browser.js +46 -0
- package/lib/contracts/contractManager.base.d.ts +16 -0
- package/lib/contracts/contractManager.base.es.js +46 -0
- package/lib/contracts/contractManager.base.js +54 -0
- package/lib/contracts/contractManager.browser.browser.js +22 -0
- package/lib/contracts/contractManager.browser.d.ts +15 -0
- package/lib/contracts/contractManager.server.d.ts +24 -0
- package/lib/contracts/contractManager.server.es.js +25 -0
- package/lib/contracts/contractManager.server.js +33 -0
- package/lib/server/providers.es.js +14 -3
- package/lib/server/providers.js +11 -0
- package/lib/server/stateManager.es.js +5 -6
- package/lib/server/stateManager.js +5 -6
- package/lib/shared/child/extractorProviders.es.js +2 -1
- package/lib/shared/child/extractorProviders.js +1 -0
- package/lib/shared/child/singletonProviders.browser.js +79 -4
- package/lib/shared/child/singletonProviders.d.ts +2 -1
- package/lib/shared/child/singletonProviders.es.js +79 -4
- package/lib/shared/child/singletonProviders.js +76 -1
- package/lib/shared/di.browser.js +4 -7
- package/lib/shared/di.d.ts +1 -1
- package/lib/shared/di.es.js +4 -7
- package/lib/shared/di.js +4 -7
- package/lib/shared/providers.browser.js +18 -2
- package/lib/shared/providers.es.js +18 -2
- package/lib/shared/providers.js +16 -0
- package/lib/shared/singletonDi.browser.js +6 -7
- package/lib/shared/singletonDi.d.ts +5 -2
- package/lib/shared/singletonDi.es.js +7 -8
- package/lib/shared/singletonDi.js +7 -8
- package/package.json +12 -12
- package/lib/shared/child/providers.browser.js +0 -54
- package/lib/shared/child/providers.d.ts +0 -5
- package/lib/shared/child/providers.es.js +0 -54
- package/lib/shared/child/providers.js +0 -62
- package/lib/shared/child/stubs.browser.js +0 -18
- package/lib/shared/child/stubs.d.ts +0 -5
- package/lib/shared/child/stubs.es.js +0 -18
- package/lib/shared/child/stubs.js +0 -22
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import flatten from '@tinkoff/utils/array/flatten';
|
|
2
|
-
import { provide, Scope } from '@tramvai/core';
|
|
2
|
+
import { provide, Scope, APP_INFO_TOKEN, optional } from '@tramvai/core';
|
|
3
3
|
import { ActionRegistry } from '@tramvai/module-common';
|
|
4
|
-
import { LOGGER_TOKEN } from '@tramvai/tokens-common';
|
|
4
|
+
import { LOGGER_TOKEN, COMPONENT_REGISTRY_TOKEN, LIMIT_ACTION_GLOBAL_TIME_RUN, ACTION_CONDITIONALS, DEFERRED_ACTIONS_MAP_TOKEN, EXECUTION_CONTEXT_MANAGER_TOKEN, COMMAND_LINE_EXECUTION_CONTEXT_TOKEN, PUBSUB_TOKEN, PUBSUB_FACTORY_TOKEN, DISPATCHER_CONTEXT_TOKEN, ASYNC_LOCAL_STORAGE_TOKEN, DISPATCHER_TOKEN, STORE_MIDDLEWARE, INITIAL_APP_STATE_TOKEN } from '@tramvai/tokens-common';
|
|
5
5
|
import { RENDER_SLOTS } from '@tramvai/tokens-render';
|
|
6
|
-
import { CHILD_APP_ACTIONS_REGISTRY_TOKEN, CHILD_APP_INTERNAL_ACTION_TOKEN } from '@tramvai/tokens-child-app';
|
|
6
|
+
import { CHILD_APP_ACTIONS_REGISTRY_TOKEN, CHILD_APP_INTERNAL_ACTION_TOKEN, CHILD_REQUIRED_CONTRACTS, CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN, CHILD_APP_INTERNAL_ROOT_STATE_ALLOWED_STORE_TOKEN, CHILD_APP_PAGE_SERVICE_TOKEN, CHILD_APP_INTERNAL_CONFIG_TOKEN, CHILD_APP_PAGE_COMPONENTS_TOKEN } from '@tramvai/tokens-child-app';
|
|
7
|
+
import { ROUTER_TOKEN, PAGE_SERVICE_TOKEN, LINK_PREFETCH_MANAGER_TOKEN, ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN } from '@tramvai/tokens-router';
|
|
8
|
+
import { ChildDispatcherContext } from '@tramvai/state';
|
|
7
9
|
import { getChildProviders as getChildProviders$1 } from '../../server/child/singletonProviders.es.js';
|
|
10
|
+
import { extractorProviders } from './extractorProviders.es.js';
|
|
11
|
+
import { ChildAppPageService } from '../pageService.es.js';
|
|
8
12
|
|
|
9
|
-
const getChildProviders = (appDi) => {
|
|
13
|
+
const getChildProviders = (appDi, loadableStats) => {
|
|
10
14
|
const logger = appDi.get(LOGGER_TOKEN);
|
|
11
15
|
return [
|
|
12
16
|
provide({
|
|
@@ -30,7 +34,78 @@ const getChildProviders = (appDi) => {
|
|
|
30
34
|
actionsList: CHILD_APP_INTERNAL_ACTION_TOKEN,
|
|
31
35
|
},
|
|
32
36
|
}),
|
|
37
|
+
provide({
|
|
38
|
+
provide: CHILD_REQUIRED_CONTRACTS,
|
|
39
|
+
useValue: [
|
|
40
|
+
ROUTER_TOKEN,
|
|
41
|
+
COMPONENT_REGISTRY_TOKEN,
|
|
42
|
+
PAGE_SERVICE_TOKEN,
|
|
43
|
+
LINK_PREFETCH_MANAGER_TOKEN,
|
|
44
|
+
ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN,
|
|
45
|
+
LIMIT_ACTION_GLOBAL_TIME_RUN,
|
|
46
|
+
],
|
|
47
|
+
}),
|
|
48
|
+
// for backward compatibility, when:
|
|
49
|
+
// - host app is modern (with contracts)
|
|
50
|
+
// - child app is legacy (<= v3.x.x, without contracts)
|
|
51
|
+
// - DI is isolated
|
|
52
|
+
// in legacy tramvai versions, this tokens is not borrowed in CommonChildAppModule
|
|
53
|
+
provide({
|
|
54
|
+
provide: CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN,
|
|
55
|
+
multi: true,
|
|
56
|
+
useValue: [
|
|
57
|
+
APP_INFO_TOKEN,
|
|
58
|
+
ACTION_CONDITIONALS,
|
|
59
|
+
DEFERRED_ACTIONS_MAP_TOKEN,
|
|
60
|
+
EXECUTION_CONTEXT_MANAGER_TOKEN,
|
|
61
|
+
COMMAND_LINE_EXECUTION_CONTEXT_TOKEN,
|
|
62
|
+
PUBSUB_TOKEN,
|
|
63
|
+
PUBSUB_FACTORY_TOKEN,
|
|
64
|
+
],
|
|
65
|
+
}),
|
|
33
66
|
...getChildProviders$1(),
|
|
67
|
+
...extractorProviders(loadableStats),
|
|
68
|
+
provide({
|
|
69
|
+
provide: DISPATCHER_CONTEXT_TOKEN,
|
|
70
|
+
scope: Scope.REQUEST,
|
|
71
|
+
useFactory: ({ dispatcher, middlewares, initialState, parentAllowedStores }) => {
|
|
72
|
+
var _a, _b, _c, _d;
|
|
73
|
+
const parentDispatcherContext = (_d = (_c = (_b = (_a = appDi
|
|
74
|
+
.get(optional(ASYNC_LOCAL_STORAGE_TOKEN))) === null || _a === void 0 ? void 0 : _a.getStore()) === null || _b === void 0 ? void 0 : _b.tramvaiRequestDi) === null || _c === void 0 ? void 0 : _c.get(DISPATCHER_CONTEXT_TOKEN)) !== null && _d !== void 0 ? _d : appDi.get(DISPATCHER_CONTEXT_TOKEN);
|
|
75
|
+
return new ChildDispatcherContext({
|
|
76
|
+
dispatcher,
|
|
77
|
+
// context will be set later by the CONTEXT_TOKEN
|
|
78
|
+
context: {},
|
|
79
|
+
initialState: initialState !== null && initialState !== void 0 ? initialState : { stores: [] },
|
|
80
|
+
middlewares: flatten(middlewares || []),
|
|
81
|
+
parentDispatcherContext,
|
|
82
|
+
parentAllowedStores: flatten(parentAllowedStores || []),
|
|
83
|
+
});
|
|
84
|
+
},
|
|
85
|
+
deps: {
|
|
86
|
+
dispatcher: DISPATCHER_TOKEN,
|
|
87
|
+
middlewares: { token: STORE_MIDDLEWARE, optional: true },
|
|
88
|
+
initialState: { token: INITIAL_APP_STATE_TOKEN, optional: true },
|
|
89
|
+
parentAllowedStores: {
|
|
90
|
+
token: CHILD_APP_INTERNAL_ROOT_STATE_ALLOWED_STORE_TOKEN,
|
|
91
|
+
optional: true,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
}),
|
|
95
|
+
provide({
|
|
96
|
+
provide: CHILD_APP_PAGE_SERVICE_TOKEN,
|
|
97
|
+
scope: Scope.REQUEST,
|
|
98
|
+
useFactory: (deps) => {
|
|
99
|
+
return new ChildAppPageService(deps);
|
|
100
|
+
},
|
|
101
|
+
deps: {
|
|
102
|
+
actionsRegistry: CHILD_APP_ACTIONS_REGISTRY_TOKEN,
|
|
103
|
+
config: CHILD_APP_INTERNAL_CONFIG_TOKEN,
|
|
104
|
+
componentRegistry: COMPONENT_REGISTRY_TOKEN,
|
|
105
|
+
pageService: PAGE_SERVICE_TOKEN,
|
|
106
|
+
pageComponents: optional(CHILD_APP_PAGE_COMPONENTS_TOKEN),
|
|
107
|
+
},
|
|
108
|
+
}),
|
|
34
109
|
];
|
|
35
110
|
};
|
|
36
111
|
|
|
@@ -8,13 +8,17 @@ var moduleCommon = require('@tramvai/module-common');
|
|
|
8
8
|
var tokensCommon = require('@tramvai/tokens-common');
|
|
9
9
|
var tokensRender = require('@tramvai/tokens-render');
|
|
10
10
|
var tokensChildApp = require('@tramvai/tokens-child-app');
|
|
11
|
+
var tokensRouter = require('@tramvai/tokens-router');
|
|
12
|
+
var state = require('@tramvai/state');
|
|
11
13
|
var singletonProviders = require('../../server/child/singletonProviders.js');
|
|
14
|
+
var extractorProviders = require('./extractorProviders.js');
|
|
15
|
+
var pageService = require('../pageService.js');
|
|
12
16
|
|
|
13
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
18
|
|
|
15
19
|
var flatten__default = /*#__PURE__*/_interopDefaultLegacy(flatten);
|
|
16
20
|
|
|
17
|
-
const getChildProviders = (appDi) => {
|
|
21
|
+
const getChildProviders = (appDi, loadableStats) => {
|
|
18
22
|
const logger = appDi.get(tokensCommon.LOGGER_TOKEN);
|
|
19
23
|
return [
|
|
20
24
|
core.provide({
|
|
@@ -38,7 +42,78 @@ const getChildProviders = (appDi) => {
|
|
|
38
42
|
actionsList: tokensChildApp.CHILD_APP_INTERNAL_ACTION_TOKEN,
|
|
39
43
|
},
|
|
40
44
|
}),
|
|
45
|
+
core.provide({
|
|
46
|
+
provide: tokensChildApp.CHILD_REQUIRED_CONTRACTS,
|
|
47
|
+
useValue: [
|
|
48
|
+
tokensRouter.ROUTER_TOKEN,
|
|
49
|
+
tokensCommon.COMPONENT_REGISTRY_TOKEN,
|
|
50
|
+
tokensRouter.PAGE_SERVICE_TOKEN,
|
|
51
|
+
tokensRouter.LINK_PREFETCH_MANAGER_TOKEN,
|
|
52
|
+
tokensRouter.ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN,
|
|
53
|
+
tokensCommon.LIMIT_ACTION_GLOBAL_TIME_RUN,
|
|
54
|
+
],
|
|
55
|
+
}),
|
|
56
|
+
// for backward compatibility, when:
|
|
57
|
+
// - host app is modern (with contracts)
|
|
58
|
+
// - child app is legacy (<= v3.x.x, without contracts)
|
|
59
|
+
// - DI is isolated
|
|
60
|
+
// in legacy tramvai versions, this tokens is not borrowed in CommonChildAppModule
|
|
61
|
+
core.provide({
|
|
62
|
+
provide: tokensChildApp.CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN,
|
|
63
|
+
multi: true,
|
|
64
|
+
useValue: [
|
|
65
|
+
core.APP_INFO_TOKEN,
|
|
66
|
+
tokensCommon.ACTION_CONDITIONALS,
|
|
67
|
+
tokensCommon.DEFERRED_ACTIONS_MAP_TOKEN,
|
|
68
|
+
tokensCommon.EXECUTION_CONTEXT_MANAGER_TOKEN,
|
|
69
|
+
tokensCommon.COMMAND_LINE_EXECUTION_CONTEXT_TOKEN,
|
|
70
|
+
tokensCommon.PUBSUB_TOKEN,
|
|
71
|
+
tokensCommon.PUBSUB_FACTORY_TOKEN,
|
|
72
|
+
],
|
|
73
|
+
}),
|
|
41
74
|
...singletonProviders.getChildProviders(),
|
|
75
|
+
...extractorProviders.extractorProviders(loadableStats),
|
|
76
|
+
core.provide({
|
|
77
|
+
provide: tokensCommon.DISPATCHER_CONTEXT_TOKEN,
|
|
78
|
+
scope: core.Scope.REQUEST,
|
|
79
|
+
useFactory: ({ dispatcher, middlewares, initialState, parentAllowedStores }) => {
|
|
80
|
+
var _a, _b, _c, _d;
|
|
81
|
+
const parentDispatcherContext = (_d = (_c = (_b = (_a = appDi
|
|
82
|
+
.get(core.optional(tokensCommon.ASYNC_LOCAL_STORAGE_TOKEN))) === null || _a === void 0 ? void 0 : _a.getStore()) === null || _b === void 0 ? void 0 : _b.tramvaiRequestDi) === null || _c === void 0 ? void 0 : _c.get(tokensCommon.DISPATCHER_CONTEXT_TOKEN)) !== null && _d !== void 0 ? _d : appDi.get(tokensCommon.DISPATCHER_CONTEXT_TOKEN);
|
|
83
|
+
return new state.ChildDispatcherContext({
|
|
84
|
+
dispatcher,
|
|
85
|
+
// context will be set later by the CONTEXT_TOKEN
|
|
86
|
+
context: {},
|
|
87
|
+
initialState: initialState !== null && initialState !== void 0 ? initialState : { stores: [] },
|
|
88
|
+
middlewares: flatten__default["default"](middlewares || []),
|
|
89
|
+
parentDispatcherContext,
|
|
90
|
+
parentAllowedStores: flatten__default["default"](parentAllowedStores || []),
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
deps: {
|
|
94
|
+
dispatcher: tokensCommon.DISPATCHER_TOKEN,
|
|
95
|
+
middlewares: { token: tokensCommon.STORE_MIDDLEWARE, optional: true },
|
|
96
|
+
initialState: { token: tokensCommon.INITIAL_APP_STATE_TOKEN, optional: true },
|
|
97
|
+
parentAllowedStores: {
|
|
98
|
+
token: tokensChildApp.CHILD_APP_INTERNAL_ROOT_STATE_ALLOWED_STORE_TOKEN,
|
|
99
|
+
optional: true,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
}),
|
|
103
|
+
core.provide({
|
|
104
|
+
provide: tokensChildApp.CHILD_APP_PAGE_SERVICE_TOKEN,
|
|
105
|
+
scope: core.Scope.REQUEST,
|
|
106
|
+
useFactory: (deps) => {
|
|
107
|
+
return new pageService.ChildAppPageService(deps);
|
|
108
|
+
},
|
|
109
|
+
deps: {
|
|
110
|
+
actionsRegistry: tokensChildApp.CHILD_APP_ACTIONS_REGISTRY_TOKEN,
|
|
111
|
+
config: tokensChildApp.CHILD_APP_INTERNAL_CONFIG_TOKEN,
|
|
112
|
+
componentRegistry: tokensCommon.COMPONENT_REGISTRY_TOKEN,
|
|
113
|
+
pageService: tokensRouter.PAGE_SERVICE_TOKEN,
|
|
114
|
+
pageComponents: core.optional(tokensChildApp.CHILD_APP_PAGE_COMPONENTS_TOKEN),
|
|
115
|
+
},
|
|
116
|
+
}),
|
|
42
117
|
];
|
|
43
118
|
};
|
|
44
119
|
|
package/lib/shared/di.browser.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ChildContainer } from '@tinkoff/dippy';
|
|
2
|
-
import { getChildProviders } from './child/providers.browser.js';
|
|
3
2
|
import { shouldIsolateDi } from './isolatedDi.browser.js';
|
|
4
3
|
|
|
5
4
|
class DiManager {
|
|
@@ -33,6 +32,10 @@ class DiManager {
|
|
|
33
32
|
if (!singletonDi) {
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
35
|
+
// everything is Singleton on client-side, provide the same behaviour as for Root DI - only one container per Child App
|
|
36
|
+
if (typeof window !== 'undefined') {
|
|
37
|
+
return singletonDi;
|
|
38
|
+
}
|
|
36
39
|
const isolateDi = this.rootDiAccessMode
|
|
37
40
|
? shouldIsolateDi(config, this.rootDiAccessMode)
|
|
38
41
|
: false;
|
|
@@ -43,12 +46,6 @@ class DiManager {
|
|
|
43
46
|
else {
|
|
44
47
|
di = new ChildContainer(singletonDi, this.appDi);
|
|
45
48
|
}
|
|
46
|
-
'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
47
|
-
// add providers on the Request Level to make it possible to reuse providers from the root-app ChildContainer
|
|
48
|
-
const childProviders = getChildProviders(this.appDi);
|
|
49
|
-
childProviders.forEach((provider) => {
|
|
50
|
-
di.register(provider);
|
|
51
|
-
});
|
|
52
49
|
return di;
|
|
53
50
|
}
|
|
54
51
|
}
|
package/lib/shared/di.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Container, ExtractDependencyType } from '@tinkoff/dippy';
|
|
2
2
|
import { ChildContainer } from '@tinkoff/dippy';
|
|
3
|
-
import type
|
|
3
|
+
import { type ChildAppDiManager, type ChildAppLoader, type ChildAppFinalConfig, type CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN } from '@tramvai/tokens-child-app';
|
|
4
4
|
type RootDiAccessMode = ExtractDependencyType<typeof CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN>;
|
|
5
5
|
export declare class DiManager implements ChildAppDiManager {
|
|
6
6
|
private appDi;
|
package/lib/shared/di.es.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ChildContainer } from '@tinkoff/dippy';
|
|
2
|
-
import { getChildProviders } from './child/providers.es.js';
|
|
3
2
|
import { shouldIsolateDi } from './isolatedDi.es.js';
|
|
4
3
|
|
|
5
4
|
class DiManager {
|
|
@@ -33,6 +32,10 @@ class DiManager {
|
|
|
33
32
|
if (!singletonDi) {
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
35
|
+
// everything is Singleton on client-side, provide the same behaviour as for Root DI - only one container per Child App
|
|
36
|
+
if (typeof window !== 'undefined') {
|
|
37
|
+
return singletonDi;
|
|
38
|
+
}
|
|
36
39
|
const isolateDi = this.rootDiAccessMode
|
|
37
40
|
? shouldIsolateDi(config, this.rootDiAccessMode)
|
|
38
41
|
: false;
|
|
@@ -43,12 +46,6 @@ class DiManager {
|
|
|
43
46
|
else {
|
|
44
47
|
di = new ChildContainer(singletonDi, this.appDi);
|
|
45
48
|
}
|
|
46
|
-
const statsLoadable = 'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
47
|
-
// add providers on the Request Level to make it possible to reuse providers from the root-app ChildContainer
|
|
48
|
-
const childProviders = getChildProviders(this.appDi, statsLoadable);
|
|
49
|
-
childProviders.forEach((provider) => {
|
|
50
|
-
di.register(provider);
|
|
51
|
-
});
|
|
52
49
|
return di;
|
|
53
50
|
}
|
|
54
51
|
}
|
package/lib/shared/di.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var dippy = require('@tinkoff/dippy');
|
|
6
|
-
var providers = require('./child/providers.js');
|
|
7
6
|
var isolatedDi = require('./isolatedDi.js');
|
|
8
7
|
|
|
9
8
|
class DiManager {
|
|
@@ -37,6 +36,10 @@ class DiManager {
|
|
|
37
36
|
if (!singletonDi) {
|
|
38
37
|
return;
|
|
39
38
|
}
|
|
39
|
+
// everything is Singleton on client-side, provide the same behaviour as for Root DI - only one container per Child App
|
|
40
|
+
if (typeof window !== 'undefined') {
|
|
41
|
+
return singletonDi;
|
|
42
|
+
}
|
|
40
43
|
const isolateDi = this.rootDiAccessMode
|
|
41
44
|
? isolatedDi.shouldIsolateDi(config, this.rootDiAccessMode)
|
|
42
45
|
: false;
|
|
@@ -47,12 +50,6 @@ class DiManager {
|
|
|
47
50
|
else {
|
|
48
51
|
di = new dippy.ChildContainer(singletonDi, this.appDi);
|
|
49
52
|
}
|
|
50
|
-
const statsLoadable = 'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
51
|
-
// add providers on the Request Level to make it possible to reuse providers from the root-app ChildContainer
|
|
52
|
-
const childProviders = providers.getChildProviders(this.appDi, statsLoadable);
|
|
53
|
-
childProviders.forEach((provider) => {
|
|
54
|
-
di.register(provider);
|
|
55
|
-
});
|
|
56
53
|
return di;
|
|
57
54
|
}
|
|
58
55
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Scope, DI_TOKEN, optional } from '@tinkoff/dippy';
|
|
2
2
|
import { provide, commandLineListTokens, COMMAND_LINE_RUNNER_TOKEN } from '@tramvai/core';
|
|
3
|
-
import { CHILD_APP_RESOLUTION_CONFIG_MANAGER_TOKEN, CHILD_APP_RESOLUTION_CONFIGS_TOKEN, CHILD_APP_RESOLVE_CONFIG_TOKEN, CHILD_APP_RESOLVE_BASE_URL_TOKEN, CHILD_APP_SINGLETON_DI_MANAGER_TOKEN, CHILD_APP_LOADER_TOKEN, CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN, CHILD_APP_DI_MANAGER_TOKEN, CHILD_APP_COMMAND_LINE_RUNNER_TOKEN, CHILD_APP_PRELOAD_MANAGER_TOKEN, CHILD_APP_RENDER_MANAGER_TOKEN } from '@tramvai/tokens-child-app';
|
|
4
|
-
import { COMBINE_REDUCERS, LOGGER_TOKEN, ENV_MANAGER_TOKEN, REGISTER_CLEAR_CACHE_TOKEN, CLEAR_CACHE_TOKEN, ENV_USED_TOKEN } from '@tramvai/tokens-common';
|
|
3
|
+
import { CHILD_APP_RESOLUTION_CONFIG_MANAGER_TOKEN, CHILD_APP_RESOLUTION_CONFIGS_TOKEN, CHILD_APP_RESOLVE_CONFIG_TOKEN, CHILD_APP_RESOLVE_BASE_URL_TOKEN, CHILD_APP_SINGLETON_DI_MANAGER_TOKEN, CHILD_APP_LOADER_TOKEN, CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN, CHILD_APP_CONTRACT_MANAGER, CHILD_APP_DI_MANAGER_TOKEN, CHILD_APP_COMMAND_LINE_RUNNER_TOKEN, CHILD_APP_PRELOAD_MANAGER_TOKEN, CHILD_APP_RENDER_MANAGER_TOKEN, HOST_PROVIDED_CONTRACTS } from '@tramvai/tokens-child-app';
|
|
4
|
+
import { COMBINE_REDUCERS, LOGGER_TOKEN, ENV_MANAGER_TOKEN, REGISTER_CLEAR_CACHE_TOKEN, CLEAR_CACHE_TOKEN, ENV_USED_TOKEN, COMPONENT_REGISTRY_TOKEN, LIMIT_ACTION_GLOBAL_TIME_RUN } from '@tramvai/tokens-common';
|
|
5
5
|
import { EXTEND_RENDER } from '@tramvai/tokens-render';
|
|
6
|
+
import { ROUTER_TOKEN, PAGE_SERVICE_TOKEN, LINK_PREFETCH_MANAGER_TOKEN, ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN } from '@tramvai/tokens-router';
|
|
6
7
|
import { SingletonDiManager } from './singletonDi.browser.js';
|
|
7
8
|
import { DiManager } from './di.browser.js';
|
|
8
9
|
import { CommandLineRunner } from './command.browser.js';
|
|
@@ -118,10 +119,12 @@ const sharedProviders = [
|
|
|
118
119
|
appDi: DI_TOKEN,
|
|
119
120
|
loader: CHILD_APP_LOADER_TOKEN,
|
|
120
121
|
rootDiAccessMode: optional(CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN),
|
|
122
|
+
contractManager: CHILD_APP_CONTRACT_MANAGER,
|
|
121
123
|
},
|
|
122
124
|
}),
|
|
123
125
|
provide({
|
|
124
126
|
provide: CHILD_APP_DI_MANAGER_TOKEN,
|
|
127
|
+
scope: Scope.REQUEST,
|
|
125
128
|
useClass: DiManager,
|
|
126
129
|
deps: {
|
|
127
130
|
appDi: DI_TOKEN,
|
|
@@ -208,6 +211,19 @@ const sharedProviders = [
|
|
|
208
211
|
},
|
|
209
212
|
],
|
|
210
213
|
}),
|
|
214
|
+
provide({
|
|
215
|
+
provide: HOST_PROVIDED_CONTRACTS,
|
|
216
|
+
useValue: {
|
|
217
|
+
providedContracts: [
|
|
218
|
+
ROUTER_TOKEN,
|
|
219
|
+
COMPONENT_REGISTRY_TOKEN,
|
|
220
|
+
PAGE_SERVICE_TOKEN,
|
|
221
|
+
LINK_PREFETCH_MANAGER_TOKEN,
|
|
222
|
+
ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN,
|
|
223
|
+
LIMIT_ACTION_GLOBAL_TIME_RUN,
|
|
224
|
+
],
|
|
225
|
+
},
|
|
226
|
+
}),
|
|
211
227
|
];
|
|
212
228
|
|
|
213
229
|
export { sharedProviders };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Scope, DI_TOKEN, optional } from '@tinkoff/dippy';
|
|
2
2
|
import { provide, commandLineListTokens, COMMAND_LINE_RUNNER_TOKEN } from '@tramvai/core';
|
|
3
|
-
import { CHILD_APP_RESOLUTION_CONFIG_MANAGER_TOKEN, CHILD_APP_RESOLUTION_CONFIGS_TOKEN, CHILD_APP_RESOLVE_CONFIG_TOKEN, CHILD_APP_RESOLVE_BASE_URL_TOKEN, CHILD_APP_SINGLETON_DI_MANAGER_TOKEN, CHILD_APP_LOADER_TOKEN, CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN, CHILD_APP_DI_MANAGER_TOKEN, CHILD_APP_COMMAND_LINE_RUNNER_TOKEN, CHILD_APP_PRELOAD_MANAGER_TOKEN, CHILD_APP_RENDER_MANAGER_TOKEN } from '@tramvai/tokens-child-app';
|
|
4
|
-
import { COMBINE_REDUCERS, LOGGER_TOKEN, ENV_MANAGER_TOKEN, REGISTER_CLEAR_CACHE_TOKEN, CLEAR_CACHE_TOKEN, ENV_USED_TOKEN } from '@tramvai/tokens-common';
|
|
3
|
+
import { CHILD_APP_RESOLUTION_CONFIG_MANAGER_TOKEN, CHILD_APP_RESOLUTION_CONFIGS_TOKEN, CHILD_APP_RESOLVE_CONFIG_TOKEN, CHILD_APP_RESOLVE_BASE_URL_TOKEN, CHILD_APP_SINGLETON_DI_MANAGER_TOKEN, CHILD_APP_LOADER_TOKEN, CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN, CHILD_APP_CONTRACT_MANAGER, CHILD_APP_DI_MANAGER_TOKEN, CHILD_APP_COMMAND_LINE_RUNNER_TOKEN, CHILD_APP_PRELOAD_MANAGER_TOKEN, CHILD_APP_RENDER_MANAGER_TOKEN, HOST_PROVIDED_CONTRACTS } from '@tramvai/tokens-child-app';
|
|
4
|
+
import { COMBINE_REDUCERS, LOGGER_TOKEN, ENV_MANAGER_TOKEN, REGISTER_CLEAR_CACHE_TOKEN, CLEAR_CACHE_TOKEN, ENV_USED_TOKEN, COMPONENT_REGISTRY_TOKEN, LIMIT_ACTION_GLOBAL_TIME_RUN } from '@tramvai/tokens-common';
|
|
5
5
|
import { EXTEND_RENDER } from '@tramvai/tokens-render';
|
|
6
|
+
import { ROUTER_TOKEN, PAGE_SERVICE_TOKEN, LINK_PREFETCH_MANAGER_TOKEN, ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN } from '@tramvai/tokens-router';
|
|
6
7
|
import { SingletonDiManager } from './singletonDi.es.js';
|
|
7
8
|
import { DiManager } from './di.es.js';
|
|
8
9
|
import { CommandLineRunner } from './command.es.js';
|
|
@@ -118,10 +119,12 @@ const sharedProviders = [
|
|
|
118
119
|
appDi: DI_TOKEN,
|
|
119
120
|
loader: CHILD_APP_LOADER_TOKEN,
|
|
120
121
|
rootDiAccessMode: optional(CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN),
|
|
122
|
+
contractManager: CHILD_APP_CONTRACT_MANAGER,
|
|
121
123
|
},
|
|
122
124
|
}),
|
|
123
125
|
provide({
|
|
124
126
|
provide: CHILD_APP_DI_MANAGER_TOKEN,
|
|
127
|
+
scope: Scope.REQUEST,
|
|
125
128
|
useClass: DiManager,
|
|
126
129
|
deps: {
|
|
127
130
|
appDi: DI_TOKEN,
|
|
@@ -208,6 +211,19 @@ const sharedProviders = [
|
|
|
208
211
|
},
|
|
209
212
|
],
|
|
210
213
|
}),
|
|
214
|
+
provide({
|
|
215
|
+
provide: HOST_PROVIDED_CONTRACTS,
|
|
216
|
+
useValue: {
|
|
217
|
+
providedContracts: [
|
|
218
|
+
ROUTER_TOKEN,
|
|
219
|
+
COMPONENT_REGISTRY_TOKEN,
|
|
220
|
+
PAGE_SERVICE_TOKEN,
|
|
221
|
+
LINK_PREFETCH_MANAGER_TOKEN,
|
|
222
|
+
ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN,
|
|
223
|
+
LIMIT_ACTION_GLOBAL_TIME_RUN,
|
|
224
|
+
],
|
|
225
|
+
},
|
|
226
|
+
}),
|
|
211
227
|
];
|
|
212
228
|
|
|
213
229
|
export { sharedProviders };
|
package/lib/shared/providers.js
CHANGED
|
@@ -7,6 +7,7 @@ var core = require('@tramvai/core');
|
|
|
7
7
|
var tokensChildApp = require('@tramvai/tokens-child-app');
|
|
8
8
|
var tokensCommon = require('@tramvai/tokens-common');
|
|
9
9
|
var tokensRender = require('@tramvai/tokens-render');
|
|
10
|
+
var tokensRouter = require('@tramvai/tokens-router');
|
|
10
11
|
var singletonDi = require('./singletonDi.js');
|
|
11
12
|
var di = require('./di.js');
|
|
12
13
|
var command = require('./command.js');
|
|
@@ -122,10 +123,12 @@ const sharedProviders = [
|
|
|
122
123
|
appDi: dippy.DI_TOKEN,
|
|
123
124
|
loader: tokensChildApp.CHILD_APP_LOADER_TOKEN,
|
|
124
125
|
rootDiAccessMode: dippy.optional(tokensChildApp.CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN),
|
|
126
|
+
contractManager: tokensChildApp.CHILD_APP_CONTRACT_MANAGER,
|
|
125
127
|
},
|
|
126
128
|
}),
|
|
127
129
|
core.provide({
|
|
128
130
|
provide: tokensChildApp.CHILD_APP_DI_MANAGER_TOKEN,
|
|
131
|
+
scope: dippy.Scope.REQUEST,
|
|
129
132
|
useClass: di.DiManager,
|
|
130
133
|
deps: {
|
|
131
134
|
appDi: dippy.DI_TOKEN,
|
|
@@ -212,6 +215,19 @@ const sharedProviders = [
|
|
|
212
215
|
},
|
|
213
216
|
],
|
|
214
217
|
}),
|
|
218
|
+
core.provide({
|
|
219
|
+
provide: tokensChildApp.HOST_PROVIDED_CONTRACTS,
|
|
220
|
+
useValue: {
|
|
221
|
+
providedContracts: [
|
|
222
|
+
tokensRouter.ROUTER_TOKEN,
|
|
223
|
+
tokensCommon.COMPONENT_REGISTRY_TOKEN,
|
|
224
|
+
tokensRouter.PAGE_SERVICE_TOKEN,
|
|
225
|
+
tokensRouter.LINK_PREFETCH_MANAGER_TOKEN,
|
|
226
|
+
tokensRouter.ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN,
|
|
227
|
+
tokensCommon.LIMIT_ACTION_GLOBAL_TIME_RUN,
|
|
228
|
+
],
|
|
229
|
+
},
|
|
230
|
+
}),
|
|
215
231
|
];
|
|
216
232
|
|
|
217
233
|
exports.sharedProviders = sharedProviders;
|
|
@@ -3,17 +3,17 @@ import { Container } from '@tinkoff/dippy';
|
|
|
3
3
|
import { walkOfModules, getModuleParameters } from '@tramvai/core';
|
|
4
4
|
import { CHILD_APP_INTERNAL_CONFIG_TOKEN, IS_CHILD_APP_DI_TOKEN, CHILD_APP_INTERNAL_ACTION_TOKEN, CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN } from '@tramvai/tokens-child-app';
|
|
5
5
|
import { getChildProviders } from './child/singletonProviders.browser.js';
|
|
6
|
-
import { commonModuleStubs } from './child/stubs.browser.js';
|
|
7
6
|
import { validateChildAppProvider } from './child/validate.browser.js';
|
|
8
7
|
import { shouldIsolateDi } from './isolatedDi.browser.js';
|
|
9
8
|
|
|
10
9
|
class SingletonDiManager {
|
|
11
|
-
constructor({ logger, appDi, loader, rootDiAccessMode, }) {
|
|
10
|
+
constructor({ logger, appDi, loader, rootDiAccessMode, contractManager, }) {
|
|
12
11
|
this.cache = new Map();
|
|
13
12
|
this.log = logger('child-app:singleton-di-manager');
|
|
14
13
|
this.appDi = appDi;
|
|
15
14
|
this.loader = loader;
|
|
16
15
|
this.rootDiAccessMode = rootDiAccessMode;
|
|
16
|
+
this.contractManager = contractManager;
|
|
17
17
|
}
|
|
18
18
|
getChildDi(config) {
|
|
19
19
|
const { key, tag } = config;
|
|
@@ -74,6 +74,7 @@ class SingletonDiManager {
|
|
|
74
74
|
},
|
|
75
75
|
], this.appDi);
|
|
76
76
|
}
|
|
77
|
+
'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
77
78
|
// add providers on the Singleton Level to make it possible to reuse providers from the root-app Container
|
|
78
79
|
const childProviders = getChildProviders(this.appDi);
|
|
79
80
|
childProviders.forEach((provider) => {
|
|
@@ -97,17 +98,15 @@ class SingletonDiManager {
|
|
|
97
98
|
multi: true,
|
|
98
99
|
useValue: actions,
|
|
99
100
|
});
|
|
101
|
+
if (isolateDi) {
|
|
102
|
+
this.contractManager.registerChildContracts(di);
|
|
103
|
+
}
|
|
100
104
|
const borrowTokens = di.get({ token: CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN, optional: true });
|
|
101
105
|
if (borrowTokens) {
|
|
102
106
|
flatten(borrowTokens).forEach((token) => {
|
|
103
107
|
di.borrowToken(this.appDi, token);
|
|
104
108
|
});
|
|
105
109
|
}
|
|
106
|
-
commonModuleStubs.forEach((stub) => {
|
|
107
|
-
if (!di.has(stub.provide)) {
|
|
108
|
-
di.register(stub);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
110
|
return di;
|
|
112
111
|
}
|
|
113
112
|
}
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import type { ExtractDependencyType } from '@tinkoff/dippy';
|
|
2
2
|
import { Container } from '@tinkoff/dippy';
|
|
3
|
-
import type { CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN, ChildAppDiManager, ChildAppFinalConfig, ChildAppLoader } from '@tramvai/tokens-child-app';
|
|
3
|
+
import type { CHILD_APP_CONTRACT_MANAGER, CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN, ChildAppDiManager, ChildAppFinalConfig, ChildAppLoader } from '@tramvai/tokens-child-app';
|
|
4
4
|
import type { LOGGER_TOKEN } from '@tramvai/tokens-common';
|
|
5
5
|
type RootDiAccessMode = ExtractDependencyType<typeof CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN>;
|
|
6
|
+
type ContractManager = ExtractDependencyType<typeof CHILD_APP_CONTRACT_MANAGER>;
|
|
6
7
|
export declare class SingletonDiManager implements ChildAppDiManager {
|
|
7
8
|
private readonly log;
|
|
8
9
|
private appDi;
|
|
9
10
|
private loader;
|
|
10
11
|
private rootDiAccessMode?;
|
|
12
|
+
private contractManager;
|
|
11
13
|
private cache;
|
|
12
|
-
constructor({ logger, appDi, loader, rootDiAccessMode, }: {
|
|
14
|
+
constructor({ logger, appDi, loader, rootDiAccessMode, contractManager, }: {
|
|
13
15
|
logger: typeof LOGGER_TOKEN;
|
|
14
16
|
appDi: Container;
|
|
15
17
|
loader: ChildAppLoader;
|
|
16
18
|
rootDiAccessMode?: RootDiAccessMode | null;
|
|
19
|
+
contractManager: ContractManager;
|
|
17
20
|
});
|
|
18
21
|
getChildDi(config: ChildAppFinalConfig): Container | undefined;
|
|
19
22
|
forEachChildDi(cb: (di: Container) => void): void;
|
|
@@ -3,17 +3,17 @@ import { Container } from '@tinkoff/dippy';
|
|
|
3
3
|
import { walkOfModules, getModuleParameters } from '@tramvai/core';
|
|
4
4
|
import { CHILD_APP_INTERNAL_CONFIG_TOKEN, IS_CHILD_APP_DI_TOKEN, CHILD_APP_INTERNAL_ACTION_TOKEN, CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN } from '@tramvai/tokens-child-app';
|
|
5
5
|
import { getChildProviders } from './child/singletonProviders.es.js';
|
|
6
|
-
import { commonModuleStubs } from './child/stubs.es.js';
|
|
7
6
|
import { validateChildAppProvider } from './child/validate.es.js';
|
|
8
7
|
import { shouldIsolateDi } from './isolatedDi.es.js';
|
|
9
8
|
|
|
10
9
|
class SingletonDiManager {
|
|
11
|
-
constructor({ logger, appDi, loader, rootDiAccessMode, }) {
|
|
10
|
+
constructor({ logger, appDi, loader, rootDiAccessMode, contractManager, }) {
|
|
12
11
|
this.cache = new Map();
|
|
13
12
|
this.log = logger('child-app:singleton-di-manager');
|
|
14
13
|
this.appDi = appDi;
|
|
15
14
|
this.loader = loader;
|
|
16
15
|
this.rootDiAccessMode = rootDiAccessMode;
|
|
16
|
+
this.contractManager = contractManager;
|
|
17
17
|
}
|
|
18
18
|
getChildDi(config) {
|
|
19
19
|
const { key, tag } = config;
|
|
@@ -74,8 +74,9 @@ class SingletonDiManager {
|
|
|
74
74
|
},
|
|
75
75
|
], this.appDi);
|
|
76
76
|
}
|
|
77
|
+
const statsLoadable = 'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
77
78
|
// add providers on the Singleton Level to make it possible to reuse providers from the root-app Container
|
|
78
|
-
const childProviders = getChildProviders(this.appDi);
|
|
79
|
+
const childProviders = getChildProviders(this.appDi, statsLoadable);
|
|
79
80
|
childProviders.forEach((provider) => {
|
|
80
81
|
di.register(provider);
|
|
81
82
|
});
|
|
@@ -97,17 +98,15 @@ class SingletonDiManager {
|
|
|
97
98
|
multi: true,
|
|
98
99
|
useValue: actions,
|
|
99
100
|
});
|
|
101
|
+
if (isolateDi) {
|
|
102
|
+
this.contractManager.registerChildContracts(di);
|
|
103
|
+
}
|
|
100
104
|
const borrowTokens = di.get({ token: CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN, optional: true });
|
|
101
105
|
if (borrowTokens) {
|
|
102
106
|
flatten(borrowTokens).forEach((token) => {
|
|
103
107
|
di.borrowToken(this.appDi, token);
|
|
104
108
|
});
|
|
105
109
|
}
|
|
106
|
-
commonModuleStubs.forEach((stub) => {
|
|
107
|
-
if (!di.has(stub.provide)) {
|
|
108
|
-
di.register(stub);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
110
|
return di;
|
|
112
111
|
}
|
|
113
112
|
}
|
|
@@ -7,7 +7,6 @@ var dippy = require('@tinkoff/dippy');
|
|
|
7
7
|
var core = require('@tramvai/core');
|
|
8
8
|
var tokensChildApp = require('@tramvai/tokens-child-app');
|
|
9
9
|
var singletonProviders = require('./child/singletonProviders.js');
|
|
10
|
-
var stubs = require('./child/stubs.js');
|
|
11
10
|
var validate = require('./child/validate.js');
|
|
12
11
|
var isolatedDi = require('./isolatedDi.js');
|
|
13
12
|
|
|
@@ -16,12 +15,13 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
16
15
|
var flatten__default = /*#__PURE__*/_interopDefaultLegacy(flatten);
|
|
17
16
|
|
|
18
17
|
class SingletonDiManager {
|
|
19
|
-
constructor({ logger, appDi, loader, rootDiAccessMode, }) {
|
|
18
|
+
constructor({ logger, appDi, loader, rootDiAccessMode, contractManager, }) {
|
|
20
19
|
this.cache = new Map();
|
|
21
20
|
this.log = logger('child-app:singleton-di-manager');
|
|
22
21
|
this.appDi = appDi;
|
|
23
22
|
this.loader = loader;
|
|
24
23
|
this.rootDiAccessMode = rootDiAccessMode;
|
|
24
|
+
this.contractManager = contractManager;
|
|
25
25
|
}
|
|
26
26
|
getChildDi(config) {
|
|
27
27
|
const { key, tag } = config;
|
|
@@ -82,8 +82,9 @@ class SingletonDiManager {
|
|
|
82
82
|
},
|
|
83
83
|
], this.appDi);
|
|
84
84
|
}
|
|
85
|
+
const statsLoadable = 'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
85
86
|
// add providers on the Singleton Level to make it possible to reuse providers from the root-app Container
|
|
86
|
-
const childProviders = singletonProviders.getChildProviders(this.appDi);
|
|
87
|
+
const childProviders = singletonProviders.getChildProviders(this.appDi, statsLoadable);
|
|
87
88
|
childProviders.forEach((provider) => {
|
|
88
89
|
di.register(provider);
|
|
89
90
|
});
|
|
@@ -105,17 +106,15 @@ class SingletonDiManager {
|
|
|
105
106
|
multi: true,
|
|
106
107
|
useValue: actions,
|
|
107
108
|
});
|
|
109
|
+
if (isolateDi) {
|
|
110
|
+
this.contractManager.registerChildContracts(di);
|
|
111
|
+
}
|
|
108
112
|
const borrowTokens = di.get({ token: tokensChildApp.CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN, optional: true });
|
|
109
113
|
if (borrowTokens) {
|
|
110
114
|
flatten__default["default"](borrowTokens).forEach((token) => {
|
|
111
115
|
di.borrowToken(this.appDi, token);
|
|
112
116
|
});
|
|
113
117
|
}
|
|
114
|
-
stubs.commonModuleStubs.forEach((stub) => {
|
|
115
|
-
if (!di.has(stub.provide)) {
|
|
116
|
-
di.register(stub);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
118
|
return di;
|
|
120
119
|
}
|
|
121
120
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-child-app",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.19.0",
|
|
4
4
|
"description": "Module for child apps",
|
|
5
5
|
"browser": {
|
|
6
6
|
"./lib/server.js": "./lib/browser.js",
|
|
@@ -33,23 +33,23 @@
|
|
|
33
33
|
"@tinkoff/env-validators": "0.3.1",
|
|
34
34
|
"@tinkoff/module-loader-client": "0.6.3",
|
|
35
35
|
"@tinkoff/module-loader-server": "0.7.1",
|
|
36
|
-
"@tramvai/module-common": "4.
|
|
36
|
+
"@tramvai/module-common": "4.19.0",
|
|
37
37
|
"@tinkoff/url": "0.10.1",
|
|
38
|
-
"@tramvai/child-app-core": "4.
|
|
38
|
+
"@tramvai/child-app-core": "4.19.0",
|
|
39
39
|
"@tramvai/safe-strings": "0.7.1",
|
|
40
|
-
"@tramvai/tokens-child-app": "4.
|
|
40
|
+
"@tramvai/tokens-child-app": "4.19.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@tinkoff/dippy": "0.10.
|
|
45
|
-
"@tinkoff/router": "0.4.
|
|
44
|
+
"@tinkoff/dippy": "0.10.7",
|
|
45
|
+
"@tinkoff/router": "0.4.58",
|
|
46
46
|
"@tinkoff/utils": "^2.1.2",
|
|
47
|
-
"@tramvai/core": "4.
|
|
48
|
-
"@tramvai/state": "4.
|
|
49
|
-
"@tramvai/react": "4.
|
|
50
|
-
"@tramvai/tokens-common": "4.
|
|
51
|
-
"@tramvai/tokens-render": "4.
|
|
52
|
-
"@tramvai/tokens-router": "4.
|
|
47
|
+
"@tramvai/core": "4.19.0",
|
|
48
|
+
"@tramvai/state": "4.19.0",
|
|
49
|
+
"@tramvai/react": "4.19.0",
|
|
50
|
+
"@tramvai/tokens-common": "4.19.0",
|
|
51
|
+
"@tramvai/tokens-render": "4.19.0",
|
|
52
|
+
"@tramvai/tokens-router": "4.19.0",
|
|
53
53
|
"react": ">=16.14.0",
|
|
54
54
|
"react-dom": ">=16.14.0",
|
|
55
55
|
"object-assign": "^4.1.1",
|