Esta biblioteca proporciona API fácil de usar para analizar proyectos angulares.
$ npm i @angular/core @angular/compiler @angular/compiler-cli ngast --save
ngastestá construido sobre Ivy (ngtsc), asegúrese de compilar su proyecto conngcc(ejecutarng serve,ng buildonpx ngcc).
Primero necesitas conectar los WorkspaceSymbols a la raíz tsconfig.json :
import { join } from 'path' ;
import { WorkspaceSymbols } from 'ngast' ;
const config = join ( process . cwd ( ) , 'tsconfig.json' ) ;
const workspace = new WorkspaceSymbols ( config ) ;A partir de ahí, puede encontrar todas las clases decoradas en su proyecto:
const modules = workspace . getAllModules ( ) ;
const components = workspace . getAllComponents ( ) ;
const directives = workspace . getAllDirectives ( ) ;
const injectables = workspace . getAllInjectable ( ) ;
const pipes = workspace . getAllPipes ( ) ; La primera vez que se llama uno de los métodos anteriores, ngast ejecutará el análisis del espacio de trabajo.
El análisis es actualmente bastante largo: > 10 segundos para un pequeño proyecto pueden ir más allá de 2 minutos para un proyecto muy grande .
La versión 0.4.0 está construida en la parte superior del ViewEngine, puede echar un vistazo a la documentación aquí.
Proyectos utilizando NGAST:
MIT