UNPKG

@rxap/schematics-ts-morph

Version:

This package provides utilities for manipulating TypeScript code using ts-morph, particularly for Angular and NestJS projects. It offers functions to add, coerce, and modify code elements like classes, methods, decorators, and imports. The package also in

24 lines (23 loc) 1.09 kB
import { Rule } from '@angular-devkit/schematics'; import { CoerceComponentOptions as _CoerceComponentOptions } from '@rxap/ts-morph'; import Handlebars = require('handlebars'); import { ClassDeclaration, Project, SourceFile } from 'ts-morph'; import { TsMorphAngularProjectTransformOptions } from '../ts-morph-transform'; import 'colors'; export interface TemplateOptions { url?: string; options?: Record<string, unknown> | object; } export interface CoerceComponentOptions extends TsMorphAngularProjectTransformOptions { name: string; flat?: boolean; template?: TemplateOptions; overwrite?: boolean | string[]; componentOptions?: _CoerceComponentOptions; tsMorphTransform?: (project: Project, [componentSourceFile]: [SourceFile], [componentClass]: [ClassDeclaration], options: CoerceComponentOptions) => void; handlebars?: { helpers?: Record<string, Handlebars.HelperDelegate>; partials?: Record<string, Handlebars.TemplateDelegate>; }; } export declare function CoerceComponentRule(options: Readonly<CoerceComponentOptions>): Rule;