@tramvai/tokens-child-app 4.21.0 → 4.23.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/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 } from './types';
9
+ import type { ChildAppLoader, ChildAppDiManager, ChildAppPreloadManager, ChildAppCommandLineRunner, ChildAppRequestConfig, WrapperProps, RootStateSubscription, ChildAppStateManager, ChildAppFinalConfig, ChildAppRenderManager, ChildAppResolutionConfig, ResolutionConfig, HostProvidedContracts, ChildAppContractManager, HostRequiredContracts, ChildContractsFallback, HostContractsFallback } from './types';
10
10
  export * from './types';
11
11
  /**
12
12
  * @public
@@ -188,10 +188,6 @@ export declare const CHILD_APP_COMMAND_LINE_RUNNER_TOKEN: ChildAppCommandLineRun
188
188
  * @description Stores the common server-dehydrated state for all of child apps
189
189
  */
190
190
  export declare const CHILD_APP_COMMON_INITIAL_STATE_TOKEN: Record<string, {
191
- /**
192
- * @public
193
- * @description CommandLineRunner steps specific for child app
194
- */
195
191
  stores: Record<string, any>;
196
192
  } & {
197
193
  __type?: "base token" | undefined;
@@ -287,10 +283,22 @@ export declare const CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN: ({
287
283
  export declare const CHILD_APP_CONTRACT_MANAGER: ChildAppContractManager & {
288
284
  __type?: "base token" | undefined;
289
285
  };
286
+ export declare const CHILD_PROVIDED_CONTRACTS: import("./types").Contracts & {
287
+ __type?: "multi token" | undefined;
288
+ };
290
289
  export declare const HOST_PROVIDED_CONTRACTS: HostProvidedContracts & {
291
290
  __type?: "multi token" | undefined;
292
291
  };
293
292
  export declare const CHILD_REQUIRED_CONTRACTS: import("./types").Contracts & {
294
293
  __type?: "multi token" | undefined;
295
294
  };
295
+ export declare const HOST_REQUIRED_CONTRACTS: HostRequiredContracts & {
296
+ __type?: "multi token" | undefined;
297
+ };
298
+ export declare const CHILD_CONTRACTS_FALLBACK: ChildContractsFallback & {
299
+ __type?: "multi token" | undefined;
300
+ };
301
+ export declare const HOST_CONTRACTS_FALLBACK: HostContractsFallback & {
302
+ __type?: "multi token" | undefined;
303
+ };
296
304
  //# sourceMappingURL=index.d.ts.map
package/lib/index.es.js CHANGED
@@ -160,7 +160,15 @@ const CHILD_APP_RENDER_CHILDREN_TOKEN = createToken('child-app render children')
160
160
  */
161
161
  const CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN = createToken('child-app root di access mode', { scope: Scope.SINGLETON });
162
162
  const CHILD_APP_CONTRACT_MANAGER = createToken('child-app contract manager', { scope: Scope.SINGLETON });
163
+ const CHILD_PROVIDED_CONTRACTS = createToken('child-app child provided contracts', { multi: true, scope: Scope.SINGLETON });
163
164
  const HOST_PROVIDED_CONTRACTS = createToken('child-app host provided contracts', { multi: true, scope: Scope.SINGLETON });
164
165
  const CHILD_REQUIRED_CONTRACTS = createToken('child-app child required contracts', { multi: true, scope: Scope.SINGLETON });
166
+ const HOST_REQUIRED_CONTRACTS = createToken('child-app host required contracts', { multi: true, scope: Scope.SINGLETON });
167
+ const CHILD_CONTRACTS_FALLBACK = createToken('child-app child contracts fallback', {
168
+ multi: true,
169
+ });
170
+ const HOST_CONTRACTS_FALLBACK = createToken('child-app host contracts fallback', {
171
+ multi: true,
172
+ });
165
173
 
166
- 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_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_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_REQUIRED_CONTRACTS, HOST_PROVIDED_CONTRACTS, IS_CHILD_APP_CONTRACTS_COMPATIBLE_TOKEN, IS_CHILD_APP_DI_TOKEN, commandLineListTokens };
174
+ 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_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_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 };
package/lib/index.js CHANGED
@@ -164,8 +164,16 @@ const CHILD_APP_RENDER_CHILDREN_TOKEN = dippy.createToken('child-app render chil
164
164
  */
165
165
  const CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN = dippy.createToken('child-app root di access mode', { scope: dippy.Scope.SINGLETON });
166
166
  const CHILD_APP_CONTRACT_MANAGER = dippy.createToken('child-app contract manager', { scope: dippy.Scope.SINGLETON });
167
+ const CHILD_PROVIDED_CONTRACTS = dippy.createToken('child-app child provided contracts', { multi: true, scope: dippy.Scope.SINGLETON });
167
168
  const HOST_PROVIDED_CONTRACTS = dippy.createToken('child-app host provided contracts', { multi: true, scope: dippy.Scope.SINGLETON });
168
169
  const CHILD_REQUIRED_CONTRACTS = dippy.createToken('child-app child required contracts', { multi: true, scope: dippy.Scope.SINGLETON });
170
+ const HOST_REQUIRED_CONTRACTS = dippy.createToken('child-app host required contracts', { multi: true, scope: dippy.Scope.SINGLETON });
171
+ const CHILD_CONTRACTS_FALLBACK = dippy.createToken('child-app child contracts fallback', {
172
+ multi: true,
173
+ });
174
+ const HOST_CONTRACTS_FALLBACK = dippy.createToken('child-app host contracts fallback', {
175
+ multi: true,
176
+ });
169
177
 
170
178
  exports.CHILD_APP_ACTIONS_REGISTRY_TOKEN = CHILD_APP_ACTIONS_REGISTRY_TOKEN;
171
179
  exports.CHILD_APP_COMMAND_LINE_RUNNER_TOKEN = CHILD_APP_COMMAND_LINE_RUNNER_TOKEN;
@@ -192,8 +200,12 @@ exports.CHILD_APP_RESOLVE_CONFIG_TOKEN = CHILD_APP_RESOLVE_CONFIG_TOKEN;
192
200
  exports.CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN = CHILD_APP_ROOT_DI_ACCESS_MODE_TOKEN;
193
201
  exports.CHILD_APP_SINGLETON_DI_MANAGER_TOKEN = CHILD_APP_SINGLETON_DI_MANAGER_TOKEN;
194
202
  exports.CHILD_APP_STATE_MANAGER_TOKEN = CHILD_APP_STATE_MANAGER_TOKEN;
203
+ exports.CHILD_CONTRACTS_FALLBACK = CHILD_CONTRACTS_FALLBACK;
204
+ exports.CHILD_PROVIDED_CONTRACTS = CHILD_PROVIDED_CONTRACTS;
195
205
  exports.CHILD_REQUIRED_CONTRACTS = CHILD_REQUIRED_CONTRACTS;
206
+ exports.HOST_CONTRACTS_FALLBACK = HOST_CONTRACTS_FALLBACK;
196
207
  exports.HOST_PROVIDED_CONTRACTS = HOST_PROVIDED_CONTRACTS;
208
+ exports.HOST_REQUIRED_CONTRACTS = HOST_REQUIRED_CONTRACTS;
197
209
  exports.IS_CHILD_APP_CONTRACTS_COMPATIBLE_TOKEN = IS_CHILD_APP_CONTRACTS_COMPATIBLE_TOKEN;
198
210
  exports.IS_CHILD_APP_DI_TOKEN = IS_CHILD_APP_DI_TOKEN;
199
211
  exports.commandLineListTokens = commandLineListTokens;
package/lib/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ComponentType } from 'react';
2
- import type { Container, Provider, TokenInterface } from '@tinkoff/dippy';
2
+ import type { Container, ExtractDependencyType, Provider, TokenInterface } from '@tinkoff/dippy';
3
3
  import type { CommandLines, CommandLineDescription, ModuleType, ExtendedModule, Action, TramvaiAction } from '@tramvai/core';
4
4
  import type { Route } from '@tinkoff/router';
5
5
  export interface ChildApp {
@@ -96,13 +96,28 @@ export interface RootStateSubscription {
96
96
  }
97
97
  export interface ChildAppContractManager {
98
98
  registerChildContracts(childDi: Container): void;
99
+ getChildProvidedContract<T extends TokenInterface<any>>(childAppName: string, contract: T): Promise<ExtractDependencyType<T> | null>;
100
+ validateChildProvidedContracts(childDi: Container): void;
99
101
  }
100
102
  export type Contract = TokenInterface;
101
103
  export type Contracts = Contract[];
102
104
  export type ChildRequiredContracts = Contracts;
105
+ export type ChildProvidedContracts = Contracts;
103
106
  export type HostProvidedContracts = {
104
107
  childAppName?: string;
105
108
  providedContracts: Contracts;
106
109
  };
110
+ export type HostRequiredContracts = {
111
+ childAppName: string;
112
+ requiredContracts: Contracts;
113
+ };
114
+ export type ChildContractsFallback = (report: {
115
+ missedContracts: Contract[];
116
+ childDi: Container;
117
+ }) => void;
118
+ export type HostContractsFallback = (report: {
119
+ missedContracts: Contract[];
120
+ hostDi: Container;
121
+ }) => void;
107
122
  export {};
108
123
  //# sourceMappingURL=types.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/tokens-child-app",
3
- "version": "4.21.0",
3
+ "version": "4.23.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -20,12 +20,12 @@
20
20
  "registry": "https://registry.npmjs.org/"
21
21
  },
22
22
  "peerDependencies": {
23
- "@tinkoff/dippy": "0.10.7",
24
- "@tinkoff/router": "0.4.74",
25
- "@tramvai/core": "4.21.0",
26
- "@tramvai/react": "4.21.0",
27
- "@tramvai/state": "4.21.0",
28
- "@tramvai/tokens-common": "4.21.0",
23
+ "@tinkoff/dippy": "0.10.8",
24
+ "@tinkoff/router": "0.4.76",
25
+ "@tramvai/core": "4.23.0",
26
+ "@tramvai/react": "4.23.0",
27
+ "@tramvai/state": "4.23.0",
28
+ "@tramvai/tokens-common": "4.23.0",
29
29
  "@loadable/server": "*",
30
30
  "react": ">=16.14.0"
31
31
  },