@tramvai/module-child-app 7.20.3 → 7.21.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/shared/child/singletonProviders.browser.js +25 -5
- package/lib/shared/child/singletonProviders.d.ts +2 -1
- package/lib/shared/child/singletonProviders.es.js +25 -5
- package/lib/shared/child/singletonProviders.js +26 -5
- package/lib/shared/singletonDi.browser.js +2 -2
- package/lib/shared/singletonDi.es.js +1 -1
- package/lib/shared/singletonDi.js +1 -1
- package/package.json +13 -12
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import flatten from '@tinkoff/utils/array/flatten';
|
|
2
|
+
import noop from '@tinkoff/utils/function/noop';
|
|
2
3
|
import { provide, Scope, APP_INFO_TOKEN, TAPABLE_HOOK_FACTORY_TOKEN, COMMAND_LINE_RUNNER_PLUGIN, optional } from '@tramvai/core';
|
|
3
4
|
import { ActionRegistry } from '@tramvai/module-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, ACTION_EXECUTION_HOOKS_TOKEN, DISPATCHER_CONTEXT_TOKEN, ASYNC_LOCAL_STORAGE_TOKEN, DISPATCHER_TOKEN, STORE_MIDDLEWARE, INITIAL_APP_STATE_TOKEN } from '@tramvai/tokens-common';
|
|
5
|
+
import { LOGGER_TOKEN, LOGGER_INIT_HOOK, 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, ACTION_EXECUTION_HOOKS_TOKEN, DISPATCHER_CONTEXT_TOKEN, ASYNC_LOCAL_STORAGE_TOKEN, DISPATCHER_TOKEN, STORE_MIDDLEWARE, INITIAL_APP_STATE_TOKEN } from '@tramvai/tokens-common';
|
|
5
6
|
import { RENDER_SLOTS } from '@tramvai/tokens-render';
|
|
7
|
+
import { loggerFactoryFromInstance } from '@tinkoff/logger';
|
|
6
8
|
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
9
|
import { ROUTER_TOKEN, PAGE_SERVICE_TOKEN, LINK_PREFETCH_MANAGER_TOKEN, ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN } from '@tramvai/tokens-router';
|
|
8
10
|
import { ChildDispatcherContext } from '@tramvai/state';
|
|
@@ -10,14 +12,32 @@ import { getChildProviders as getChildProviders$1 } from '../../browser/child/si
|
|
|
10
12
|
import { extractorProviders } from './extractorProviders.browser.browser.js';
|
|
11
13
|
import { ChildAppPageService } from '../pageService.browser.js';
|
|
12
14
|
|
|
13
|
-
const getChildProviders = (appDi, loadableStats) => {
|
|
15
|
+
const getChildProviders = (appDi, loadableStats, config) => {
|
|
14
16
|
const logger = appDi.get(LOGGER_TOKEN);
|
|
15
17
|
return [
|
|
18
|
+
provide({
|
|
19
|
+
provide: LOGGER_INIT_HOOK,
|
|
20
|
+
multi: true,
|
|
21
|
+
useValue: noop,
|
|
22
|
+
}),
|
|
16
23
|
provide({
|
|
17
24
|
provide: LOGGER_TOKEN,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
useFactory: ({ loggerInitHooks }) => {
|
|
26
|
+
const child = logger({
|
|
27
|
+
name: 'child-app',
|
|
28
|
+
key: `child-app-${config.name}-${config.version}`,
|
|
29
|
+
});
|
|
30
|
+
const factory = loggerFactoryFromInstance(child);
|
|
31
|
+
if (loggerInitHooks) {
|
|
32
|
+
for (const hookFn of loggerInitHooks) {
|
|
33
|
+
hookFn(factory);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return factory;
|
|
37
|
+
},
|
|
38
|
+
deps: {
|
|
39
|
+
loggerInitHooks: LOGGER_INIT_HOOK,
|
|
40
|
+
},
|
|
21
41
|
}),
|
|
22
42
|
provide({
|
|
23
43
|
provide: RENDER_SLOTS,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Container } from '@tinkoff/dippy';
|
|
2
2
|
import type { Provider } from '@tramvai/core';
|
|
3
|
+
import { ChildAppFinalConfig } from '@tramvai/tokens-child-app';
|
|
3
4
|
import type { LoadableStats } from '../webpack/moduleFederation';
|
|
4
|
-
export declare const getChildProviders: (appDi: Container, loadableStats: LoadableStats) => Provider[];
|
|
5
|
+
export declare const getChildProviders: (appDi: Container, loadableStats: LoadableStats, config: ChildAppFinalConfig) => Provider[];
|
|
5
6
|
//# sourceMappingURL=singletonProviders.d.ts.map
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import flatten from '@tinkoff/utils/array/flatten';
|
|
2
|
+
import noop from '@tinkoff/utils/function/noop';
|
|
2
3
|
import { provide, Scope, APP_INFO_TOKEN, TAPABLE_HOOK_FACTORY_TOKEN, COMMAND_LINE_RUNNER_PLUGIN, optional } from '@tramvai/core';
|
|
3
4
|
import { ActionRegistry } from '@tramvai/module-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, ACTION_EXECUTION_HOOKS_TOKEN, DISPATCHER_CONTEXT_TOKEN, ASYNC_LOCAL_STORAGE_TOKEN, DISPATCHER_TOKEN, STORE_MIDDLEWARE, INITIAL_APP_STATE_TOKEN } from '@tramvai/tokens-common';
|
|
5
|
+
import { LOGGER_TOKEN, LOGGER_INIT_HOOK, 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, ACTION_EXECUTION_HOOKS_TOKEN, DISPATCHER_CONTEXT_TOKEN, ASYNC_LOCAL_STORAGE_TOKEN, DISPATCHER_TOKEN, STORE_MIDDLEWARE, INITIAL_APP_STATE_TOKEN } from '@tramvai/tokens-common';
|
|
5
6
|
import { RENDER_SLOTS } from '@tramvai/tokens-render';
|
|
7
|
+
import { loggerFactoryFromInstance } from '@tinkoff/logger';
|
|
6
8
|
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
9
|
import { ROUTER_TOKEN, PAGE_SERVICE_TOKEN, LINK_PREFETCH_MANAGER_TOKEN, ROUTER_SPA_ACTIONS_RUN_MODE_TOKEN } from '@tramvai/tokens-router';
|
|
8
10
|
import { ChildDispatcherContext } from '@tramvai/state';
|
|
@@ -10,14 +12,32 @@ import { getChildProviders as getChildProviders$1 } from '../../server/child/sin
|
|
|
10
12
|
import { extractorProviders } from './extractorProviders.es.js';
|
|
11
13
|
import { ChildAppPageService } from '../pageService.es.js';
|
|
12
14
|
|
|
13
|
-
const getChildProviders = (appDi, loadableStats) => {
|
|
15
|
+
const getChildProviders = (appDi, loadableStats, config) => {
|
|
14
16
|
const logger = appDi.get(LOGGER_TOKEN);
|
|
15
17
|
return [
|
|
18
|
+
provide({
|
|
19
|
+
provide: LOGGER_INIT_HOOK,
|
|
20
|
+
multi: true,
|
|
21
|
+
useValue: noop,
|
|
22
|
+
}),
|
|
16
23
|
provide({
|
|
17
24
|
provide: LOGGER_TOKEN,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
useFactory: ({ loggerInitHooks }) => {
|
|
26
|
+
const child = logger({
|
|
27
|
+
name: 'child-app',
|
|
28
|
+
key: `child-app-${config.name}-${config.version}`,
|
|
29
|
+
});
|
|
30
|
+
const factory = loggerFactoryFromInstance(child);
|
|
31
|
+
if (loggerInitHooks) {
|
|
32
|
+
for (const hookFn of loggerInitHooks) {
|
|
33
|
+
hookFn(factory);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return factory;
|
|
37
|
+
},
|
|
38
|
+
deps: {
|
|
39
|
+
loggerInitHooks: LOGGER_INIT_HOOK,
|
|
40
|
+
},
|
|
21
41
|
}),
|
|
22
42
|
provide({
|
|
23
43
|
provide: RENDER_SLOTS,
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var flatten = require('@tinkoff/utils/array/flatten');
|
|
6
|
+
var noop = require('@tinkoff/utils/function/noop');
|
|
6
7
|
var core = require('@tramvai/core');
|
|
7
8
|
var moduleCommon = require('@tramvai/module-common');
|
|
8
9
|
var tokensCommon = require('@tramvai/tokens-common');
|
|
9
10
|
var tokensRender = require('@tramvai/tokens-render');
|
|
11
|
+
var logger = require('@tinkoff/logger');
|
|
10
12
|
var tokensChildApp = require('@tramvai/tokens-child-app');
|
|
11
13
|
var tokensRouter = require('@tramvai/tokens-router');
|
|
12
14
|
var state = require('@tramvai/state');
|
|
@@ -17,15 +19,34 @@ var pageService = require('../pageService.js');
|
|
|
17
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
20
|
|
|
19
21
|
var flatten__default = /*#__PURE__*/_interopDefaultLegacy(flatten);
|
|
22
|
+
var noop__default = /*#__PURE__*/_interopDefaultLegacy(noop);
|
|
20
23
|
|
|
21
|
-
const getChildProviders = (appDi, loadableStats) => {
|
|
22
|
-
const logger = appDi.get(tokensCommon.LOGGER_TOKEN);
|
|
24
|
+
const getChildProviders = (appDi, loadableStats, config) => {
|
|
25
|
+
const logger$1 = appDi.get(tokensCommon.LOGGER_TOKEN);
|
|
23
26
|
return [
|
|
27
|
+
core.provide({
|
|
28
|
+
provide: tokensCommon.LOGGER_INIT_HOOK,
|
|
29
|
+
multi: true,
|
|
30
|
+
useValue: noop__default["default"],
|
|
31
|
+
}),
|
|
24
32
|
core.provide({
|
|
25
33
|
provide: tokensCommon.LOGGER_TOKEN,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
useFactory: ({ loggerInitHooks }) => {
|
|
35
|
+
const child = logger$1({
|
|
36
|
+
name: 'child-app',
|
|
37
|
+
key: `child-app-${config.name}-${config.version}`,
|
|
38
|
+
});
|
|
39
|
+
const factory = logger.loggerFactoryFromInstance(child);
|
|
40
|
+
if (loggerInitHooks) {
|
|
41
|
+
for (const hookFn of loggerInitHooks) {
|
|
42
|
+
hookFn(factory);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return factory;
|
|
46
|
+
},
|
|
47
|
+
deps: {
|
|
48
|
+
loggerInitHooks: tokensCommon.LOGGER_INIT_HOOK,
|
|
49
|
+
},
|
|
29
50
|
}),
|
|
30
51
|
core.provide({
|
|
31
52
|
provide: tokensRender.RENDER_SLOTS,
|
|
@@ -89,9 +89,9 @@ class SingletonDiManager {
|
|
|
89
89
|
},
|
|
90
90
|
], this.appDi);
|
|
91
91
|
}
|
|
92
|
-
'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
92
|
+
const statsLoadable = 'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
93
93
|
// add providers on the Singleton Level to make it possible to reuse providers from the root-app Container
|
|
94
|
-
const childProviders = getChildProviders(this.appDi);
|
|
94
|
+
const childProviders = getChildProviders(this.appDi, statsLoadable, config);
|
|
95
95
|
childProviders.forEach((provider) => {
|
|
96
96
|
di.register(provider);
|
|
97
97
|
});
|
|
@@ -91,7 +91,7 @@ class SingletonDiManager {
|
|
|
91
91
|
}
|
|
92
92
|
const statsLoadable = 'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
93
93
|
// add providers on the Singleton Level to make it possible to reuse providers from the root-app Container
|
|
94
|
-
const childProviders = getChildProviders(this.appDi, statsLoadable);
|
|
94
|
+
const childProviders = getChildProviders(this.appDi, statsLoadable, config);
|
|
95
95
|
childProviders.forEach((provider) => {
|
|
96
96
|
di.register(provider);
|
|
97
97
|
});
|
|
@@ -99,7 +99,7 @@ class SingletonDiManager {
|
|
|
99
99
|
}
|
|
100
100
|
const statsLoadable = 'getLoadableStats' in this.loader ? this.loader.getLoadableStats(config) : undefined;
|
|
101
101
|
// add providers on the Singleton Level to make it possible to reuse providers from the root-app Container
|
|
102
|
-
const childProviders = singletonProviders.getChildProviders(this.appDi, statsLoadable);
|
|
102
|
+
const childProviders = singletonProviders.getChildProviders(this.appDi, statsLoadable, config);
|
|
103
103
|
childProviders.forEach((provider) => {
|
|
104
104
|
di.register(provider);
|
|
105
105
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-child-app",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.21.0",
|
|
4
4
|
"description": "Module for child apps",
|
|
5
5
|
"browser": {
|
|
6
6
|
"./lib/server.es.js": "./lib/browser.js",
|
|
@@ -32,25 +32,26 @@
|
|
|
32
32
|
"@loadable/server": "^5.15.0",
|
|
33
33
|
"@tinkoff/env-validators": "0.6.2",
|
|
34
34
|
"@tinkoff/errors": "0.8.1",
|
|
35
|
+
"@tinkoff/logger": "^0.10.518",
|
|
35
36
|
"@tinkoff/module-loader-client": "0.9.1",
|
|
36
37
|
"@tinkoff/module-loader-server": "0.10.3",
|
|
37
38
|
"@tinkoff/url": "0.13.1",
|
|
38
|
-
"@tramvai/child-app-core": "7.
|
|
39
|
-
"@tramvai/module-common": "7.
|
|
40
|
-
"@tramvai/module-router": "7.
|
|
39
|
+
"@tramvai/child-app-core": "7.21.0",
|
|
40
|
+
"@tramvai/module-common": "7.21.0",
|
|
41
|
+
"@tramvai/module-router": "7.21.0",
|
|
41
42
|
"@tramvai/safe-strings": "0.10.1",
|
|
42
|
-
"@tramvai/tokens-child-app": "7.
|
|
43
|
+
"@tramvai/tokens-child-app": "7.21.0"
|
|
43
44
|
},
|
|
44
45
|
"peerDependencies": {
|
|
45
46
|
"@tinkoff/dippy": "^1.0.0",
|
|
46
|
-
"@tinkoff/router": "0.7.
|
|
47
|
+
"@tinkoff/router": "0.7.73",
|
|
47
48
|
"@tinkoff/utils": "^2.1.2",
|
|
48
|
-
"@tramvai/core": "7.
|
|
49
|
-
"@tramvai/react": "7.
|
|
50
|
-
"@tramvai/state": "7.
|
|
51
|
-
"@tramvai/tokens-common": "7.
|
|
52
|
-
"@tramvai/tokens-render": "7.
|
|
53
|
-
"@tramvai/tokens-router": "7.
|
|
49
|
+
"@tramvai/core": "7.21.0",
|
|
50
|
+
"@tramvai/react": "7.21.0",
|
|
51
|
+
"@tramvai/state": "7.21.0",
|
|
52
|
+
"@tramvai/tokens-common": "7.21.0",
|
|
53
|
+
"@tramvai/tokens-render": "7.21.0",
|
|
54
|
+
"@tramvai/tokens-router": "7.21.0",
|
|
54
55
|
"object-assign": "^4.1.1",
|
|
55
56
|
"react": ">=16.14.0",
|
|
56
57
|
"react-dom": ">=16.14.0",
|