vanilla-native-federation
Version:
A lightweight **runtime micro frontend orchestrator** that loads micro frontends built with native federation into any web page. It can cache dependencies across page reloads, making it perfect for traditional server-rendered hosts (PHP, Java, Rails, etc.
16 lines (15 loc) • 738 B
TypeScript
import type { ConfigContract } from './2.app/config/config.contract';
import type { DrivingContract } from './2.app/driving-ports/driving.contract';
import type { DynamicInitResult } from './2.app/driver-ports/dynamic-init/flow.contract';
export type LoadRemoteModule<TModule = unknown> = (remoteName: string, exposedModule: string) => Promise<TModule>;
export type NativeFederationResult = DynamicInitResult<{
config: ConfigContract;
adapters: DrivingContract;
loadRemoteModule: LoadRemoteModule;
remote: <TModule = unknown>(remoteName: string) => {
loadModule: (exposedModule: string) => Promise<TModule>;
};
as: <TModule = unknown>() => {
loadRemoteModule: LoadRemoteModule<TModule>;
};
}>;