import { Plugin, Runner, typescript as ts, WebpackWrapper } from '@morjs/utils'; /** * 检测项目中的幽灵依赖 * 以下情况直接跳过该文件的检测 * - 生产环境 * - phantomDependency 为 false 时 * - 该文件为 node_modules 文件 * - 文件不在当前 pwd 运行路径内 */ export declare class PhantomDependencyPlugin implements Plugin { name: string; webpackWrapper: WebpackWrapper; apply(runner: Runner): void; handlePhantomTransformer(transformers: ts.CustomTransformers, fileInfoPath: string, usedDependencies: Record): void; /** * 获取依赖的 npm 包名 * @param source - string 被使用依赖 */ getPkgName(source: string): string; /** * 获取指定路径 package.json 内的所有依赖 * @param path 路径 */ getPkgDepend(filePath: string): any; /** * 获取 externals 或 consumes 的依赖名 * NOTE: 有限支持,externals 可能为函数,这种情况下暂时忽略兼容性 * @param item 配置子项 */ getExternalsPkgName(item: string | Record): string | string[]; }