@tramvai/core 7.11.0 → 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.
@@ -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(() => app)
155
+ .then(() => {
156
+ hooks['app:initialized'].call({});
157
+ return app;
158
+ })
139
159
  .catch((error) => {
140
160
  if (error instanceof Error) {
141
- // eslint-disable-next-line no-param-reassign
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(() => app)
159
+ .then(() => {
160
+ hooks['app:initialized'].call({});
161
+ return app;
162
+ })
143
163
  .catch((error) => {
144
164
  if (error instanceof Error) {
145
- // eslint-disable-next-line no-param-reassign
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.11.0",
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.13.2",
24
+ "@tinkoff/dippy": "^1.0.0",
25
25
  "@tinkoff/utils": "^2.1.2",
26
- "@tramvai/tokens-common": "7.11.0",
27
- "@tramvai/tokens-core": "7.11.0",
28
- "@tramvai/types-actions-state-context": "7.11.0",
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",