ModuleConfig

The core configuration interface for the module system.

Interface Definition

interface ModuleConfig {
    links?: Record<string, string>;
    imports?: ModuleConfigImportMapping;
    scopes?: Record<string, ModuleConfigImportMapping>;
    exports?: ModuleConfigExportExports;
}
  • Type: Record<string, string>
  • Description: Module linking configuration. Key is remote module name, value is module build artifact directory path.

imports

  • Type: ModuleConfigImportMapping
  • Description: Module import mapping configuration. Key is local module identifier, value is remote module path. Supports environment-specific configurations.

scopes

  • Type: Record<string, ModuleConfigImportMapping>
  • Description: Module scope mapping configuration. Key is directory path prefix, value is import mapping configuration within that scope.

exports

  • Type: ModuleConfigExportExports
  • Description: Module export configuration. Supports multiple configuration forms.

Type Definitions

ModuleConfigImportMapping

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

Import mapping configuration type, supporting strings and environment-specific configurations.

ModuleConfigExportExports

type ModuleConfigExportExports = ModuleConfigExportExport[];

Array type for export configuration, supporting mixed arrays of strings and export objects.

ModuleConfigExportExport

type ModuleConfigExportExport = string | ModuleConfigExportObject;

Export configuration item type, supporting both string and export object forms.

ModuleConfigExportObject

type ModuleConfigExportObject = Record<
    string,
    ModuleConfigExportObjectValue
>;

Export object configuration type, key is export name, value is export configuration value.

ModuleConfigExportObjectValue

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

Export configuration value type, supporting strings and environment-specific configurations.

BuildEnvironment

type BuildEnvironment = 'client' | 'server';

Build target environment type.

Resolved 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
>;

Resolved export configuration record type, key is export name, value is export configuration object.

ParsedModuleConfigExport

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