UNPKG

@embroider/macros

Version:

Standardized build-time macros for ember apps.

133 lines (132 loc) 3.42 kB
export interface BuildPluginParams { name: string; baseDir: string; methodName: string; firstTransformParams: FirstTransformParams; } export interface FirstTransformParams { packageRoot: string | undefined; appRoot: string; configs: { [packageRoot: string]: object; }; } export declare function buildPlugin(params: BuildPluginParams): { name: string; plugin: (env: { syntax: { builders: any; }; meta: { moduleName: string; }; filename: string; }) => { name: string; visitor: { SubExpression(node: any, walker: { parent: { node: any; }; }): any; MustacheStatement(node: any): any; Template: { enter: (node: any) => void; exit: (node: any) => void; }; Block: { enter: (node: any) => void; exit: (node: any) => void; }; Program?: undefined; } | { SubExpression(node: any, walker: { parent: { node: any; }; }): any; MustacheStatement(node: any): any; Program: { enter: (node: any) => void; exit: (node: any) => void; }; Template?: undefined; Block?: undefined; }; }; baseDir: () => string; }; export declare function makeFirstTransform(opts: FirstTransformParams): (env: { syntax: { builders: any; }; meta: { moduleName: string; }; filename: string; }) => { name: string; visitor: { SubExpression(node: any, walker: { parent: { node: any; }; }): any; MustacheStatement(node: any): any; Template: { enter: (node: any) => void; exit: (node: any) => void; }; Block: { enter: (node: any) => void; exit: (node: any) => void; }; Program?: undefined; } | { SubExpression(node: any, walker: { parent: { node: any; }; }): any; MustacheStatement(node: any): any; Program: { enter: (node: any) => void; exit: (node: any) => void; }; Template?: undefined; Block?: undefined; }; }; export declare function makeSecondTransform(): (env: { syntax: { builders: any; }; }) => { name: string; visitor: { BlockStatement(node: any): any; SubExpression(node: any): any; ElementNode(node: any): void; MustacheStatement(node: any): any; Template: { enter: (node: any) => void; exit: (node: any) => void; }; Block: { enter: (node: any) => void; exit: (node: any) => void; }; Program?: undefined; } | { BlockStatement(node: any): any; SubExpression(node: any): any; ElementNode(node: any): void; MustacheStatement(node: any): any; Program: { enter: (node: any) => void; exit: (node: any) => void; }; Template?: undefined; Block?: undefined; }; };