@banana020/ast-plugin-system
Version:
AST插件系统 - 支持JavaScript/TypeScript代码转换,包含十六进制转换、代码清理等功能
24 lines (23 loc) • 495 B
TypeScript
import { type NodePath } from '@babel/traverse';
import { type Node } from '@babel/types';
/**
* AST插件函数类型
*/
export type ASTPlugin<T = any> = (path: NodePath<Node>, options?: T) => void;
/**
* 插件配置选项
*/
export interface PluginOptions {
[key: string]: any;
}
/**
* 插件信息
*/
export interface PluginInfo {
name: string;
description: string;
version: string;
plugin: ASTPlugin;
nodeTypes?: Node["type"][];
options?: PluginOptions;
}