@tramvai/tokens-child-app 5.49.1 → 5.53.74

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/index.d.ts CHANGED
@@ -6,7 +6,7 @@ import type { ActionsRegistry } from '@tramvai/tokens-common';
6
6
  import type { LazyComponentWrapper } from '@tramvai/react';
7
7
  import type { StoreClass } from '@tramvai/state';
8
8
  import type { ChunkExtractor } from '@loadable/server';
9
- import type { ChildAppLoader, ChildAppDiManager, ChildAppPreloadManager, ChildAppCommandLineRunner, ChildAppRequestConfig, WrapperProps, RootStateSubscription, ChildAppStateManager, ChildAppFinalConfig, ChildAppRenderManager, ChildAppResolutionConfig, ResolutionConfig, HostProvidedContracts, ChildAppContractManager, HostRequiredContracts, ChildContractsFallback, HostContractsFallback, ChildAppErrorBoundaryHandler } from './types';
9
+ import type { ChildAppLoader, ChildAppDiManager, ChildAppPreloadManager, ChildAppCommandLineRunner, ChildAppRequestConfig, WrapperProps, RootStateSubscription, ChildAppStateManager, ChildAppFinalConfig, ChildAppRenderManager, ChildAppResolutionConfig, ResolutionConfig, HostProvidedContracts, ChildAppContractManager, HostRequiredContracts, ChildContractsFallback, HostContractsFallback, ChildAppErrorBoundaryHandler, ChildAppPreloadManagerPlugin, ChildAppLoaderPlugin, ChildAppConfigResolutionPlugin, ChildAppRenderPlugin } from './types';
10
10
  export * from './types';
11
11
  /**
12
12
  * @public
@@ -176,6 +176,16 @@ export declare const CHILD_APP_STATE_MANAGER_TOKEN: ChildAppStateManager & {
176
176
  export declare const CHILD_APP_LOADER_TOKEN: ChildAppLoader & {
177
177
  __type?: "base token" | undefined;
178
178
  };
179
+ /**
180
+ * @public
181
+ * @description Provides Child Apps server loader LRU cache options
182
+ */
183
+ export declare const CHILD_APP_LOADER_CACHE_OPTIONS_TOKEN: {
184
+ max?: number | undefined;
185
+ ttl?: number | undefined;
186
+ } & {
187
+ __type?: "base token" | undefined;
188
+ };
179
189
  /**
180
190
  * @private
181
191
  * @description Implements CommandLineRunner for child apps
@@ -246,6 +256,9 @@ export declare const CHILD_APP_PRELOAD_SOURCE_LIST_TOKEN: ((options: {
246
256
  }) => ChildAppRequestConfig[] | Promise<ChildAppRequestConfig[]>) & {
247
257
  __type?: "multi token" | undefined;
248
258
  };
259
+ export declare const CHILD_APP_PRELOAD_MANAGER_PLUGIN: ChildAppPreloadManagerPlugin & {
260
+ __type?: "multi token" | undefined;
261
+ };
249
262
  export interface ChildAppPageService {
250
263
  resolveComponent(route?: Route): Promise<void>;
251
264
  getComponentName(route?: Route): string | void;
@@ -313,4 +326,16 @@ export declare const HOST_CONTRACTS_FALLBACK: HostContractsFallback & {
313
326
  export declare const CHILD_APP_ERROR_BOUNDARY_TOKEN: ChildAppErrorBoundaryHandler & {
314
327
  __type?: "multi token" | undefined;
315
328
  };
329
+ export declare const CHILD_APP_RENDER_PLUGIN: ChildAppRenderPlugin & {
330
+ __type?: "multi token" | undefined;
331
+ };
332
+ export declare const CHILD_APP_CONFIG_RESOLUTION_PLUGIN: ChildAppConfigResolutionPlugin & {
333
+ __type?: "multi token" | undefined;
334
+ };
335
+ export declare const CHILD_PRELOAD_MANAGER_PLUGIN: ChildAppPreloadManagerPlugin & {
336
+ __type?: "multi token" | undefined;
337
+ };
338
+ export declare const CHILD_APP_LOADER_PLUGIN: ChildAppLoaderPlugin & {
339
+ __type?: "multi token" | undefined;
340
+ };
316
341
  //# sourceMappingURL=index.d.ts.map
package/lib/index.es.js CHANGED
@@ -108,6 +108,11 @@ const CHILD_APP_STATE_MANAGER_TOKEN = createToken('child-app state manager');
108
108
  * @description Manages loading child-app resources from the external place
109
109
  */
110
110
  const CHILD_APP_LOADER_TOKEN = createToken('child-app loader');
111
+ /**
112
+ * @public
113
+ * @description Provides Child Apps server loader LRU cache options
114
+ */
115
+ const CHILD_APP_LOADER_CACHE_OPTIONS_TOKEN = createToken('child-app loader cache options');
111
116
  /**
112
117
  * @private
113
118
  * @description Implements CommandLineRunner for child apps
@@ -148,6 +153,7 @@ const CHILD_APP_RENDER_CHILDREN_TOKEN = createToken('child-app render children')
148
153
  * @description List of sources to get Child Apps list for preload
149
154
  */
150
155
  const CHILD_APP_PRELOAD_SOURCE_LIST_TOKEN = createToken('child-app preload source list', { multi: true });
156
+ const CHILD_APP_PRELOAD_MANAGER_PLUGIN = createToken('child-app preload plugin', { multi: true });
151
157
  /**
152
158
  * @public
153
159
  *
@@ -178,5 +184,13 @@ const HOST_CONTRACTS_FALLBACK = createToken('child-app host contracts fallback',
178
184
  const CHILD_APP_ERROR_BOUNDARY_TOKEN = createToken('child-app reactErrorBoundaryHandlers', {
179
185
  multi: true,
180
186
  });
187
+ const CHILD_APP_RENDER_PLUGIN = createToken('child-app render plugin', {
188
+ multi: true,
189
+ });
190
+ const CHILD_APP_CONFIG_RESOLUTION_PLUGIN = createToken('child-app config resultion plugin', { multi: true });
191
+ const CHILD_PRELOAD_MANAGER_PLUGIN = createToken('child-app preload manager plugin', {
192
+ multi: true,
193
+ });
194
+ const CHILD_APP_LOADER_PLUGIN = createToken('child-app loader plugin', { multi: true });
181
195
 
182
- export { CHILD_APP_ACTIONS_REGISTRY_TOKEN, CHILD_APP_COMMAND_LINE_RUNNER_TOKEN, CHILD_APP_COMMON_INITIAL_STATE_TOKEN, CHILD_APP_CONTRACT_MANAGER, CHILD_APP_DI_MANAGER_TOKEN, CHILD_APP_ERROR_BOUNDARY_TOKEN, CHILD_APP_INTERNAL_ACTION_TOKEN, CHILD_APP_INTERNAL_CHUNK_EXTRACTOR, CHILD_APP_INTERNAL_CONFIG_TOKEN, CHILD_APP_INTERNAL_RENDER_TOKEN, CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN, CHILD_APP_INTERNAL_ROOT_STATE_ALLOWED_STORE_TOKEN, CHILD_APP_INTERNAL_ROOT_STATE_SUBSCRIPTION_TOKEN, CHILD_APP_LOADER_TOKEN, CHILD_APP_PAGE_COMPONENTS_TOKEN, CHILD_APP_PAGE_SERVICE_TOKEN, CHILD_APP_PRELOAD_MANAGER_TOKEN, CHILD_APP_PRELOAD_SOURCE_LIST_TOKEN, CHILD_APP_RENDER_CHILDREN_TOKEN, CHILD_APP_RENDER_MANAGER_TOKEN, CHILD_APP_RESOLUTION_CONFIGS_TOKEN, CHILD_APP_RESOLUTION_CONFIG_MANAGER_TOKEN, CHILD_APP_RESOLVE_BASE_URL_TOKEN, CHILD_APP_RESOLVE_CONFIG_TOKEN, CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN, CHILD_APP_SINGLETON_DI_MANAGER_TOKEN, CHILD_APP_STATE_MANAGER_TOKEN, CHILD_CONTRACTS_FALLBACK, CHILD_PROVIDED_CONTRACTS, CHILD_REQUIRED_CONTRACTS, HOST_CONTRACTS_FALLBACK, HOST_PROVIDED_CONTRACTS, HOST_REQUIRED_CONTRACTS, IS_CHILD_APP_CONTRACTS_COMPATIBLE_TOKEN, IS_CHILD_APP_DI_TOKEN, commandLineListTokens };
196
+ export { CHILD_APP_ACTIONS_REGISTRY_TOKEN, CHILD_APP_COMMAND_LINE_RUNNER_TOKEN, CHILD_APP_COMMON_INITIAL_STATE_TOKEN, CHILD_APP_CONFIG_RESOLUTION_PLUGIN, CHILD_APP_CONTRACT_MANAGER, CHILD_APP_DI_MANAGER_TOKEN, CHILD_APP_ERROR_BOUNDARY_TOKEN, CHILD_APP_INTERNAL_ACTION_TOKEN, CHILD_APP_INTERNAL_CHUNK_EXTRACTOR, CHILD_APP_INTERNAL_CONFIG_TOKEN, CHILD_APP_INTERNAL_RENDER_TOKEN, CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN, CHILD_APP_INTERNAL_ROOT_STATE_ALLOWED_STORE_TOKEN, CHILD_APP_INTERNAL_ROOT_STATE_SUBSCRIPTION_TOKEN, CHILD_APP_LOADER_CACHE_OPTIONS_TOKEN, CHILD_APP_LOADER_PLUGIN, CHILD_APP_LOADER_TOKEN, CHILD_APP_PAGE_COMPONENTS_TOKEN, CHILD_APP_PAGE_SERVICE_TOKEN, CHILD_APP_PRELOAD_MANAGER_PLUGIN, CHILD_APP_PRELOAD_MANAGER_TOKEN, CHILD_APP_PRELOAD_SOURCE_LIST_TOKEN, CHILD_APP_RENDER_CHILDREN_TOKEN, CHILD_APP_RENDER_MANAGER_TOKEN, CHILD_APP_RENDER_PLUGIN, CHILD_APP_RESOLUTION_CONFIGS_TOKEN, CHILD_APP_RESOLUTION_CONFIG_MANAGER_TOKEN, CHILD_APP_RESOLVE_BASE_URL_TOKEN, CHILD_APP_RESOLVE_CONFIG_TOKEN, CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN, CHILD_APP_SINGLETON_DI_MANAGER_TOKEN, CHILD_APP_STATE_MANAGER_TOKEN, CHILD_CONTRACTS_FALLBACK, CHILD_PRELOAD_MANAGER_PLUGIN, CHILD_PROVIDED_CONTRACTS, CHILD_REQUIRED_CONTRACTS, HOST_CONTRACTS_FALLBACK, HOST_PROVIDED_CONTRACTS, HOST_REQUIRED_CONTRACTS, IS_CHILD_APP_CONTRACTS_COMPATIBLE_TOKEN, IS_CHILD_APP_DI_TOKEN, commandLineListTokens };
package/lib/index.js CHANGED
@@ -112,6 +112,11 @@ const CHILD_APP_STATE_MANAGER_TOKEN = dippy.createToken('child-app state manager
112
112
  * @description Manages loading child-app resources from the external place
113
113
  */
114
114
  const CHILD_APP_LOADER_TOKEN = dippy.createToken('child-app loader');
115
+ /**
116
+ * @public
117
+ * @description Provides Child Apps server loader LRU cache options
118
+ */
119
+ const CHILD_APP_LOADER_CACHE_OPTIONS_TOKEN = dippy.createToken('child-app loader cache options');
115
120
  /**
116
121
  * @private
117
122
  * @description Implements CommandLineRunner for child apps
@@ -152,6 +157,7 @@ const CHILD_APP_RENDER_CHILDREN_TOKEN = dippy.createToken('child-app render chil
152
157
  * @description List of sources to get Child Apps list for preload
153
158
  */
154
159
  const CHILD_APP_PRELOAD_SOURCE_LIST_TOKEN = dippy.createToken('child-app preload source list', { multi: true });
160
+ const CHILD_APP_PRELOAD_MANAGER_PLUGIN = dippy.createToken('child-app preload plugin', { multi: true });
155
161
  /**
156
162
  * @public
157
163
  *
@@ -182,10 +188,19 @@ const HOST_CONTRACTS_FALLBACK = dippy.createToken('child-app host contracts fall
182
188
  const CHILD_APP_ERROR_BOUNDARY_TOKEN = dippy.createToken('child-app reactErrorBoundaryHandlers', {
183
189
  multi: true,
184
190
  });
191
+ const CHILD_APP_RENDER_PLUGIN = dippy.createToken('child-app render plugin', {
192
+ multi: true,
193
+ });
194
+ const CHILD_APP_CONFIG_RESOLUTION_PLUGIN = dippy.createToken('child-app config resultion plugin', { multi: true });
195
+ const CHILD_PRELOAD_MANAGER_PLUGIN = dippy.createToken('child-app preload manager plugin', {
196
+ multi: true,
197
+ });
198
+ const CHILD_APP_LOADER_PLUGIN = dippy.createToken('child-app loader plugin', { multi: true });
185
199
 
186
200
  exports.CHILD_APP_ACTIONS_REGISTRY_TOKEN = CHILD_APP_ACTIONS_REGISTRY_TOKEN;
187
201
  exports.CHILD_APP_COMMAND_LINE_RUNNER_TOKEN = CHILD_APP_COMMAND_LINE_RUNNER_TOKEN;
188
202
  exports.CHILD_APP_COMMON_INITIAL_STATE_TOKEN = CHILD_APP_COMMON_INITIAL_STATE_TOKEN;
203
+ exports.CHILD_APP_CONFIG_RESOLUTION_PLUGIN = CHILD_APP_CONFIG_RESOLUTION_PLUGIN;
189
204
  exports.CHILD_APP_CONTRACT_MANAGER = CHILD_APP_CONTRACT_MANAGER;
190
205
  exports.CHILD_APP_DI_MANAGER_TOKEN = CHILD_APP_DI_MANAGER_TOKEN;
191
206
  exports.CHILD_APP_ERROR_BOUNDARY_TOKEN = CHILD_APP_ERROR_BOUNDARY_TOKEN;
@@ -196,13 +211,17 @@ exports.CHILD_APP_INTERNAL_RENDER_TOKEN = CHILD_APP_INTERNAL_RENDER_TOKEN;
196
211
  exports.CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN = CHILD_APP_INTERNAL_ROOT_DI_BORROW_TOKEN;
197
212
  exports.CHILD_APP_INTERNAL_ROOT_STATE_ALLOWED_STORE_TOKEN = CHILD_APP_INTERNAL_ROOT_STATE_ALLOWED_STORE_TOKEN;
198
213
  exports.CHILD_APP_INTERNAL_ROOT_STATE_SUBSCRIPTION_TOKEN = CHILD_APP_INTERNAL_ROOT_STATE_SUBSCRIPTION_TOKEN;
214
+ exports.CHILD_APP_LOADER_CACHE_OPTIONS_TOKEN = CHILD_APP_LOADER_CACHE_OPTIONS_TOKEN;
215
+ exports.CHILD_APP_LOADER_PLUGIN = CHILD_APP_LOADER_PLUGIN;
199
216
  exports.CHILD_APP_LOADER_TOKEN = CHILD_APP_LOADER_TOKEN;
200
217
  exports.CHILD_APP_PAGE_COMPONENTS_TOKEN = CHILD_APP_PAGE_COMPONENTS_TOKEN;
201
218
  exports.CHILD_APP_PAGE_SERVICE_TOKEN = CHILD_APP_PAGE_SERVICE_TOKEN;
219
+ exports.CHILD_APP_PRELOAD_MANAGER_PLUGIN = CHILD_APP_PRELOAD_MANAGER_PLUGIN;
202
220
  exports.CHILD_APP_PRELOAD_MANAGER_TOKEN = CHILD_APP_PRELOAD_MANAGER_TOKEN;
203
221
  exports.CHILD_APP_PRELOAD_SOURCE_LIST_TOKEN = CHILD_APP_PRELOAD_SOURCE_LIST_TOKEN;
204
222
  exports.CHILD_APP_RENDER_CHILDREN_TOKEN = CHILD_APP_RENDER_CHILDREN_TOKEN;
205
223
  exports.CHILD_APP_RENDER_MANAGER_TOKEN = CHILD_APP_RENDER_MANAGER_TOKEN;
224
+ exports.CHILD_APP_RENDER_PLUGIN = CHILD_APP_RENDER_PLUGIN;
206
225
  exports.CHILD_APP_RESOLUTION_CONFIGS_TOKEN = CHILD_APP_RESOLUTION_CONFIGS_TOKEN;
207
226
  exports.CHILD_APP_RESOLUTION_CONFIG_MANAGER_TOKEN = CHILD_APP_RESOLUTION_CONFIG_MANAGER_TOKEN;
208
227
  exports.CHILD_APP_RESOLVE_BASE_URL_TOKEN = CHILD_APP_RESOLVE_BASE_URL_TOKEN;
@@ -211,6 +230,7 @@ exports.CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN = CHILD_APP_ROOT_DI_ACCESS_MODE_TOKE
211
230
  exports.CHILD_APP_SINGLETON_DI_MANAGER_TOKEN = CHILD_APP_SINGLETON_DI_MANAGER_TOKEN;
212
231
  exports.CHILD_APP_STATE_MANAGER_TOKEN = CHILD_APP_STATE_MANAGER_TOKEN;
213
232
  exports.CHILD_CONTRACTS_FALLBACK = CHILD_CONTRACTS_FALLBACK;
233
+ exports.CHILD_PRELOAD_MANAGER_PLUGIN = CHILD_PRELOAD_MANAGER_PLUGIN;
214
234
  exports.CHILD_PROVIDED_CONTRACTS = CHILD_PROVIDED_CONTRACTS;
215
235
  exports.CHILD_REQUIRED_CONTRACTS = CHILD_REQUIRED_CONTRACTS;
216
236
  exports.HOST_CONTRACTS_FALLBACK = HOST_CONTRACTS_FALLBACK;
package/lib/types.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import type { ComponentType, ErrorInfo } from 'react';
2
2
  import type { Container, ExtractDependencyType, Provider, TokenInterface } from '@tinkoff/dippy';
3
3
  import type { CommandLines, CommandLineDescription, ModuleType, ExtendedModule, Action, TramvaiAction } from '@tramvai/core';
4
+ import type { AsyncTapableHookInstance, SyncTapableHookInstance } from '@tramvai/tokens-core';
4
5
  import type { Route } from '@tinkoff/router';
6
+ import { CHILD_APP_RESOLUTION_CONFIGS_TOKEN } from '.';
5
7
  export interface ChildApp {
6
8
  name: string;
7
9
  modules?: (ModuleType | ExtendedModule)[];
@@ -63,6 +65,7 @@ export interface ChildAppPreloadManager {
63
65
  export interface ChildAppRenderManager {
64
66
  getChildDi(request: ChildAppRequestConfig): [Container | undefined, Promise<Container | undefined> | undefined];
65
67
  clear(): void;
68
+ hooks: ChildAppRenderHooks;
66
69
  }
67
70
  export interface ChildAppLoader {
68
71
  load(config: ChildAppFinalConfig): Promise<ChildApp | void>;
@@ -122,5 +125,48 @@ export type HostContractsFallback = (report: {
122
125
  hostDi: Container;
123
126
  }) => void;
124
127
  export type ChildAppErrorBoundaryHandler = (error: Error, errorInfo: ErrorInfo, config: ChildAppRequestConfig) => void;
128
+ export type ChildAppConfigArgs = {
129
+ name: string;
130
+ version: string | undefined;
131
+ tag: string | undefined;
132
+ };
133
+ export type PreloadArgs = {
134
+ config: ChildAppFinalConfig;
135
+ route: Route | undefined;
136
+ };
137
+ export type RunChildAppCommandLineArgs = {
138
+ config: ChildAppFinalConfig;
139
+ status: string;
140
+ line: keyof CommandLines;
141
+ };
142
+ export type ChildAppConfigResolutionHooks = {
143
+ fetchConfig: AsyncTapableHookInstance<{}, ExtractDependencyType<typeof CHILD_APP_RESOLUTION_CONFIGS_TOKEN>>;
144
+ };
145
+ export type ChildAppRenderHooks = {
146
+ mounted: SyncTapableHookInstance<ChildAppConfigArgs>;
147
+ mountFailed: SyncTapableHookInstance<ChildAppConfigArgs>;
148
+ };
149
+ export type ChildAppLoaderHooks = {
150
+ loadModule: AsyncTapableHookInstance<{
151
+ config: ChildAppFinalConfig;
152
+ }, ChildApp | undefined>;
153
+ };
154
+ export type ChildAppPreloadHooks = {
155
+ preloadChildApp: AsyncTapableHookInstance<PreloadArgs>;
156
+ prefetchChildApp: AsyncTapableHookInstance<PreloadArgs>;
157
+ runChildAppCommandLine: AsyncTapableHookInstance<RunChildAppCommandLineArgs>;
158
+ };
159
+ export type ChildAppRenderPlugin = {
160
+ apply(hooks: ChildAppRenderHooks): void;
161
+ };
162
+ export type ChildAppConfigResolutionPlugin = {
163
+ apply(hooks: ChildAppConfigResolutionHooks): void;
164
+ };
165
+ export type ChildAppPreloadManagerPlugin = {
166
+ apply(hooks: ChildAppPreloadHooks): void;
167
+ };
168
+ export type ChildAppLoaderPlugin = {
169
+ apply(hooks: ChildAppLoaderHooks): void;
170
+ };
125
171
  export {};
126
172
  //# sourceMappingURL=types.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/tokens-child-app",
3
- "version": "5.49.1",
3
+ "version": "5.53.74",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -20,13 +20,13 @@
20
20
  "registry": "https://registry.npmjs.org/"
21
21
  },
22
22
  "peerDependencies": {
23
- "@tinkoff/dippy": "0.11.4",
24
- "@tinkoff/router": "0.5.115",
25
- "@tramvai/core": "5.49.1",
26
- "@tramvai/react": "5.49.1",
27
- "@tramvai/state": "5.49.1",
28
- "@tramvai/tokens-common": "5.49.1",
29
23
  "@loadable/server": "*",
24
+ "@tinkoff/dippy": "0.11.5",
25
+ "@tinkoff/router": "0.5.198",
26
+ "@tramvai/core": "5.53.74",
27
+ "@tramvai/react": "5.53.74",
28
+ "@tramvai/state": "5.53.74",
29
+ "@tramvai/tokens-common": "5.53.74",
30
30
  "react": ">=16.14.0"
31
31
  },
32
32
  "module": "lib/index.es.js"