{"library":"ngast","title":"ngast","description":"ngast is a library providing a user-friendly API for parsing Angular projects by abstracting over the Angular compiler. The current stable version is 0.6.2, built on top of Ivy (ngtsc) and requiring TypeScript ~4.0.0. Key differentiators: it offers a high-level interface to analyze Angular workspaces, methods like getAllComponents() and getAllModules(), and integrates with tools like ngrev and codelyzer. The analysis is slow (>10 sec for small projects). Release cadence is low; previous version 0.4.0 used the older ViewEngine.","language":"javascript","status":"active","last_verified":"Fri May 01","install":{"commands":["npm install ngast"],"cli":null},"imports":["import { WorkspaceSymbols } from 'ngast'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { join } from 'path';\nimport { WorkspaceSymbols } from 'ngast';\n\nconst tsconfigPath = join(process.cwd(), 'tsconfig.json');\nconst workspace = new WorkspaceSymbols(tsconfigPath);\n\n// Wait for first analysis (could take minutes)\nconst modules = workspace.getAllModules();\nconsole.log('Modules found:', modules.length);\n\nconst components = workspace.getAllComponents();\nconsole.log('Components found:', components.length);\n\nconst directives = workspace.getAllDirectives();\nconsole.log('Directives found:', directives.length);\n\nconst injectables = workspace.getAllInjectable();\nconsole.log('Injectable found:', injectables.length);\n\nconst pipes = workspace.getAllPipes();\nconsole.log('Pipes found:', pipes.length);","lang":"typescript","description":"Shows how to initialize WorkspaceSymbols with a tsconfig path and retrieve all Angular decorated classes (modules, components, directives, injectables, pipes) from the workspace.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}