@tramvai/core 7.11.1 → 7.16.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/createApp.es.js +24 -5
- package/lib/createApp.js +22 -3
- package/package.json +6 -5
package/lib/createApp.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createContainer, walkOfModules, getModuleParameters, isExtendedModule, MODULE_PARAMETERS, Scope } from '@tinkoff/dippy';
|
|
2
|
-
import { COMMAND_LINE_RUNNER_TOKEN, APP_INFO_TOKEN, BUNDLE_LIST_TOKEN, ACTIONS_LIST_TOKEN, MODULES_LIST_TOKEN } from '@tramvai/tokens-core';
|
|
1
|
+
import { createContainer, walkOfModules, getModuleParameters, isExtendedModule, MODULE_PARAMETERS, Scope, provide } from '@tinkoff/dippy';
|
|
2
|
+
import { COMMAND_LINE_RUNNER_TOKEN, TRAMVAI_HOOKS_TOKEN, APP_INFO_TOKEN, BUNDLE_LIST_TOKEN, ACTIONS_LIST_TOKEN, MODULES_LIST_TOKEN, TAPABLE_HOOK_FACTORY_TOKEN } from '@tramvai/tokens-core';
|
|
3
3
|
import { LOGGER_TOKEN } from '@tramvai/tokens-common';
|
|
4
4
|
|
|
5
5
|
function appProviders(name, bundles, actions, modules) {
|
|
@@ -31,6 +31,22 @@ function appProviders(name, bundles, actions, modules) {
|
|
|
31
31
|
scope: Scope.SINGLETON,
|
|
32
32
|
useValue: modules,
|
|
33
33
|
},
|
|
34
|
+
provide({
|
|
35
|
+
provide: TRAMVAI_HOOKS_TOKEN,
|
|
36
|
+
useFactory: ({ tapableHookFactory }) => {
|
|
37
|
+
return {
|
|
38
|
+
'app:initialized': tapableHookFactory.createSync('app:initialized'),
|
|
39
|
+
'app:initialize-failed': tapableHookFactory.createSync('app:initialize-failed'),
|
|
40
|
+
'app:rendered': tapableHookFactory.createSync('app:rendered'),
|
|
41
|
+
'app:render-failed': tapableHookFactory.createSync('app:render-failed'),
|
|
42
|
+
'react:render': tapableHookFactory.createSync('react:render'),
|
|
43
|
+
'react:error': tapableHookFactory.createSync('react:error'),
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
deps: {
|
|
47
|
+
tapableHookFactory: TAPABLE_HOOK_FACTORY_TOKEN,
|
|
48
|
+
},
|
|
49
|
+
}),
|
|
34
50
|
];
|
|
35
51
|
}
|
|
36
52
|
class App {
|
|
@@ -133,13 +149,16 @@ function createApp(options) {
|
|
|
133
149
|
error.appCreationError = true;
|
|
134
150
|
throw error;
|
|
135
151
|
}
|
|
152
|
+
const hooks = app.di.get(TRAMVAI_HOOKS_TOKEN);
|
|
136
153
|
return app
|
|
137
154
|
.initialization(typeof window === 'undefined' ? 'server' : 'client')
|
|
138
|
-
.then(() =>
|
|
155
|
+
.then(() => {
|
|
156
|
+
hooks['app:initialized'].call({});
|
|
157
|
+
return app;
|
|
158
|
+
})
|
|
139
159
|
.catch((error) => {
|
|
140
160
|
if (error instanceof Error) {
|
|
141
|
-
|
|
142
|
-
error.appCreationError = true;
|
|
161
|
+
hooks['app:initialize-failed'].call({ error });
|
|
143
162
|
}
|
|
144
163
|
throw error;
|
|
145
164
|
});
|
package/lib/createApp.js
CHANGED
|
@@ -35,6 +35,22 @@ function appProviders(name, bundles, actions, modules) {
|
|
|
35
35
|
scope: dippy.Scope.SINGLETON,
|
|
36
36
|
useValue: modules,
|
|
37
37
|
},
|
|
38
|
+
dippy.provide({
|
|
39
|
+
provide: tokensCore.TRAMVAI_HOOKS_TOKEN,
|
|
40
|
+
useFactory: ({ tapableHookFactory }) => {
|
|
41
|
+
return {
|
|
42
|
+
'app:initialized': tapableHookFactory.createSync('app:initialized'),
|
|
43
|
+
'app:initialize-failed': tapableHookFactory.createSync('app:initialize-failed'),
|
|
44
|
+
'app:rendered': tapableHookFactory.createSync('app:rendered'),
|
|
45
|
+
'app:render-failed': tapableHookFactory.createSync('app:render-failed'),
|
|
46
|
+
'react:render': tapableHookFactory.createSync('react:render'),
|
|
47
|
+
'react:error': tapableHookFactory.createSync('react:error'),
|
|
48
|
+
};
|
|
49
|
+
},
|
|
50
|
+
deps: {
|
|
51
|
+
tapableHookFactory: tokensCore.TAPABLE_HOOK_FACTORY_TOKEN,
|
|
52
|
+
},
|
|
53
|
+
}),
|
|
38
54
|
];
|
|
39
55
|
}
|
|
40
56
|
class App {
|
|
@@ -137,13 +153,16 @@ function createApp(options) {
|
|
|
137
153
|
error.appCreationError = true;
|
|
138
154
|
throw error;
|
|
139
155
|
}
|
|
156
|
+
const hooks = app.di.get(tokensCore.TRAMVAI_HOOKS_TOKEN);
|
|
140
157
|
return app
|
|
141
158
|
.initialization(typeof window === 'undefined' ? 'server' : 'client')
|
|
142
|
-
.then(() =>
|
|
159
|
+
.then(() => {
|
|
160
|
+
hooks['app:initialized'].call({});
|
|
161
|
+
return app;
|
|
162
|
+
})
|
|
143
163
|
.catch((error) => {
|
|
144
164
|
if (error instanceof Error) {
|
|
145
|
-
|
|
146
|
-
error.appCreationError = true;
|
|
165
|
+
hooks['app:initialize-failed'].call({ error });
|
|
147
166
|
}
|
|
148
167
|
throw error;
|
|
149
168
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/core",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.16.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.18.1"
|
|
@@ -21,14 +21,15 @@
|
|
|
21
21
|
"watch": "tsc -w"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@tinkoff/dippy": "0.
|
|
24
|
+
"@tinkoff/dippy": "^1.0.0",
|
|
25
25
|
"@tinkoff/utils": "^2.1.2",
|
|
26
|
-
"@tramvai/tokens-common": "7.
|
|
27
|
-
"@tramvai/tokens-core": "7.
|
|
28
|
-
"@tramvai/types-actions-state-context": "7.
|
|
26
|
+
"@tramvai/tokens-common": "7.16.0",
|
|
27
|
+
"@tramvai/tokens-core": "7.16.0",
|
|
28
|
+
"@tramvai/types-actions-state-context": "7.16.0",
|
|
29
29
|
"tslib": "^2.4.0"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
+
"@tramvai/react": "7.16.0",
|
|
32
33
|
"jscodeshift": "^0.7.0"
|
|
33
34
|
},
|
|
34
35
|
"gitHead": "8e826a214c87b188fc4d254cdd8f2a2b2c55f3a8",
|