ModuleConfig

Core configuration interface for the module system.

Interface

interface ModuleConfig {
    links?: Record<string, string>;
    imports?: ModuleConfigImportMapping;
    scopes?: Record<string, ModuleConfigImportMapping>;
    exports?: ModuleConfigExportExports;
}
  • Type: Record<string, string>
  • Description: Remote module links. Key is remote module name, value is the path to its build output directory.

imports

  • Type: ModuleConfigImportMapping
  • Description: Import specifier mapping. Key is local specifier, value is remote path. Supports environment-specific configuration.

scopes

  • Type: Record<string, ModuleConfigImportMapping>
  • Description: Scope-based import mapping. Key is a path prefix, value is the import mapping for that scope.

exports

  • Type: ModuleConfigExportExports
  • Description: Export configuration supporting multiple forms.

Type Definitions

ModuleConfigImportMapping

type ModuleConfigImportMapping = Record<
    string,
    string | Record<BuildEnvironment, string>
>;

Import mapping type supporting plain strings and environment-specific mappings.

ModuleConfigExportExports

type ModuleConfigExportExports = ModuleConfigExportExport[];

Array of export definitions supporting a mix of strings and objects.

ModuleConfigExportExport

type ModuleConfigExportExport = string | ModuleConfigExportObject;

Single export entry, either a string or an object definition.

ModuleConfigExportObject

type ModuleConfigExportObject = Record<
    string,
    ModuleConfigExportObjectValue
>;

Object form where keys are export names and values are export configuration values.

ModuleConfigExportObjectValue

type ModuleConfigExportObjectValue =
    | string
    | Record<BuildEnvironment, string | boolean>;

Export value that supports plain strings and environment-specific configuration.

BuildEnvironment

type BuildEnvironment = 'client' | 'server';

Build target environment type.

Parsed Interfaces

ParsedModuleConfig

interface ParsedModuleConfig {
    name: string;
    root: string;
    links: Record<string, ParsedModuleConfigLink>;
    environments: {
        client: ParsedModuleConfigEnvironment;
        server: ParsedModuleConfigEnvironment;
    };
}

ParsedModuleConfigEnvironment

interface ParsedModuleConfigEnvironment {
    imports: Record<string, string>;
    exports: ParsedModuleConfigExports;
    scopes: Record<string, Record<string, string>>;
}
interface ParsedModuleConfigLink {
    name: string;
    root: string;
    client: string;
    clientManifestJson: string;
    server: string;
    serverManifestJson: string;
}

ParsedModuleConfigExports

type ParsedModuleConfigExports = Record<
    string,
    ParsedModuleConfigExport
>;

Record of parsed export configurations where keys are export names and values are parsed export objects.

ParsedModuleConfigExport

interface ParsedModuleConfigExport {
    name: string;
    file: string;
    pkg: boolean;
}