UNPKG

@farmfe/runtime

Version:
40 lines (39 loc) 1.94 kB
import { Module } from "./module.js"; import { type FarmRuntimePlugin, FarmRuntimePluginContainer } from "./plugin.js"; import { type Resource, ResourceLoader } from "./resource-loader.js"; type ModuleInitializationFunction = (module: Module, exports: any, __farm_require__: (moduleId: string) => any, __farm_dynamic_require__: (moduleId: string) => any) => void | Promise<void>; export type ModuleInitialization = ModuleInitializationFunction & { __farm_resource_pot__?: string; }; export declare class ModuleSystem { private modules; private cache; private externalModules; private reRegisterModules; publicPaths: string[]; dynamicResources: Resource[]; dynamicModuleResourcesMap: Record<string, number[]>; resourceLoader: ResourceLoader; pluginContainer: FarmRuntimePluginContainer; targetEnv: "browser" | "node"; constructor(); require(moduleId: string, isCJS?: boolean): any; farmDynamicRequire(moduleId: string): Promise<any>; loadDynamicResourcesOnly(moduleId: string, force?: boolean): Promise<any>; loadDynamicResources(moduleId: string, force?: boolean): Promise<any>; register(moduleId: string, initializer: ModuleInitialization): void; update(moduleId: string, init: ModuleInitialization): void; delete(moduleId: string): boolean; getModuleUrl(moduleId: string): string; getCache(moduleId: string): Module | undefined; clearCache(moduleId: string): boolean; setInitialLoadedResources(resources: string[]): void; setDynamicModuleResourcesMap(dynamicResources: Resource[], dynamicModuleResourcesMap: Record<string, number[]>): void; setPublicPaths(publicPaths: string[]): void; setPlugins(plugins: FarmRuntimePlugin[]): void; addPlugin(plugin: FarmRuntimePlugin): void; removePlugin(pluginName: string): void; setExternalModules(externalModules: Record<string, any>): void; bootstrap(): void; } export {};