UNPKG

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