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;
}
links
- 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>>;
}
ParsedModuleConfigLink
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;
}