UNPKG

@nx/js

Version:

The JS plugin for Nx contains executors and generators that provide the best experience for developing JavaScript and TypeScript projects.

30 lines (29 loc) 1.53 kB
import type { CustomTransformerFactory, Node, Program, TransformerFactory as TypescriptTransformerFactory } from 'typescript'; type TransformerFactory = TypescriptTransformerFactory<Node> | CustomTransformerFactory; export interface TransformerPlugin { name: string; options: Record<string, unknown>; } export type TransformerEntry = string | TransformerPlugin; export interface CompilerPlugin { before?: (options?: Record<string, unknown>, program?: Program) => TransformerFactory; after?: (options?: Record<string, unknown>, program?: Program) => TransformerFactory; afterDeclarations?: (options?: Record<string, unknown>, program?: Program) => TransformerFactory; } /** * Extended plugin interface to support different transformer API formats * including function-based transformers and direct function exports */ export type AnyCompilerPlugin = CompilerPlugin | ((options?: Record<string, unknown>, program?: Program) => TransformerFactory) | { before: (options?: Record<string, unknown>, program?: Program) => TransformerFactory; } | { after: (options?: Record<string, unknown>, program?: Program) => TransformerFactory; } | { afterDeclarations: (options?: Record<string, unknown>, program?: Program) => TransformerFactory; }; export interface CompilerPluginHooks { beforeHooks: Array<(program?: Program) => TransformerFactory>; afterHooks: Array<(program?: Program) => TransformerFactory>; afterDeclarationsHooks: Array<(program?: Program) => TransformerFactory>; } export {};