@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
TypeScript
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;