@esmx/core
Version:
A high-performance microfrontend framework supporting Vue, React, Preact, Solid, and Svelte with SSR and Module Federation capabilities.
29 lines (28 loc) • 1.24 kB
TypeScript
import type fs from 'node:fs';
import type { ImportMap, SpecifierMap } from '@esmx/import';
import type { ParsedModuleConfig } from '../module-config';
/**
* 从 JS 代码中获取静态 import 的模块名列表。也许不能并发多个调用,没实验过。
* @param code js 代码
* @returns `Promise<string[]>` 静态 import 的模块名列表
*/
export declare function getImportsFromJsCode(code: string): Promise<string[]>;
/**
* 从 JS 文件中获取静态 import 的模块名列表。
* @param filepath js 文件路径
* @returns `Promise<string[]>` 静态 import 的模块名列表
*/
export declare function getImportsFromJsFile(filepath: fs.PathLike | fs.promises.FileHandle): Promise<string[]>;
export type ImportPreloadInfo = SpecifierMap;
/**
* 获取导入的预加载信息。
* @param specifier 模块名
* @param importMap 导入映射对象
* @param moduleConfig 模块配置
* @returns
* - `Promise<{ [specifier: string]: ImportPreloadPathString }>` 模块名和文件路径的映射对象
* - `null` specifier 不存在
*/
export declare function getImportPreloadInfo(specifier: string, importMap: ImportMap, moduleConfig: ParsedModuleConfig): Promise<{
[k: string]: string;
} | null>;