ModuleConfig
Core configuration interface for the module system.
Interface
interface ModuleConfig {
links?: Record<string, string>;
imports?: ModuleConfigImportMapping;
scopes?: Record<string, ModuleConfigImportMapping>;
exports?: ModuleConfigExportExports;
}
links
- 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>>;
}
ParsedModuleConfigLink
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;
}