UNPKG

@esmx/core

Version:

A high-performance microfrontend framework supporting Vue, React, Preact, Solid, and Svelte with SSR and Module Federation capabilities.

54 lines (53 loc) 3.14 kB
import type { BuildEnvironment } from './core'; export interface ModuleConfig { links?: Record<string, string>; imports?: ModuleConfigImportMapping; scopes?: Record<string, ModuleConfigImportMapping>; exports?: ModuleConfigExportExports; } export type ModuleConfigImportMapping = Record<string, string | Record<BuildEnvironment, string>>; export type ModuleConfigExportExports = ModuleConfigExportExport[]; export type ModuleConfigExportExport = string | ModuleConfigExportObject; export type ModuleConfigExportObject = Record<string, ModuleConfigExportObjectValue>; export type ModuleConfigExportObjectValue = string | Record<BuildEnvironment, string | boolean>; export interface ParsedModuleConfig { name: string; root: string; links: Record<string, ParsedModuleConfigLink>; environments: { client: ParsedModuleConfigEnvironment; server: ParsedModuleConfigEnvironment; }; } export type ParsedModuleConfigExports = Record<string, ParsedModuleConfigExport>; export interface ParsedModuleConfigExport { name: string; file: string; pkg: boolean; } export interface ParsedModuleConfigEnvironment { imports: Record<string, string>; exports: ParsedModuleConfigExports; scopes: Record<string, Record<string, string>>; } export interface ParsedModuleConfigLink { name: string; root: string; client: string; clientManifestJson: string; server: string; serverManifestJson: string; } export declare function parseModuleConfig(name: string, root: string, config?: ModuleConfig): ParsedModuleConfig; export declare function getLinks(name: string, root: string, config: ModuleConfig): Record<string, ParsedModuleConfigLink>; export declare function getEnvironmentImports(environment: BuildEnvironment, imports?: ModuleConfigImportMapping): Record<string, string>; export declare function getEnvironmentScopes(environment: BuildEnvironment, scopes?: Record<string, ModuleConfigImportMapping>): Record<string, Record<string, string>>; export declare function getEnvironments(config: ModuleConfig, env: BuildEnvironment, moduleName: string): ParsedModuleConfigEnvironment; export declare function createDefaultExports(env: BuildEnvironment): ParsedModuleConfigExports; export declare function processStringExport(exportString: string): ParsedModuleConfigExports; export declare function processObjectExport(exportObject: ModuleConfigExportObject, env: BuildEnvironment): ParsedModuleConfigExports; export declare function resolveExportFile(config: ModuleConfigExportObjectValue, env: BuildEnvironment, name: string): string; export declare function processExportArray(exportArray: ModuleConfigExportExports, env: BuildEnvironment): ParsedModuleConfigExports; export declare function getEnvironmentExports(config: ModuleConfig, env: BuildEnvironment): ParsedModuleConfigExports; export declare function addPackageExportsToScopes(exports: ParsedModuleConfigExports, scopes: Record<string, Record<string, string>>, moduleName: string): Record<string, Record<string, string>>; export declare function parsedExportValue(value: string): ParsedModuleConfigExport;