UNPKG

ngx-unused

Version:

Detect unused classes (components, pipes, services and directives) defined in Angular workspace.

41 lines (40 loc) 1.1 kB
import minimist from 'minimist'; import { argv, exit } from 'process'; import { getRuntimeConfig, validate } from './cli.js'; import { createProject } from './createProject.js'; import { findUnusedClasses } from './findUsages/index.js'; import { help, invalidTsConfig, printNoFiles, printResults, usage, } from './output.js'; const cliArgs = minimist(argv.slice(2), { alias: { decorateOutput: 'd', project: 'p', help: 'h', }, }); if (cliArgs.help || cliArgs.h) { help(); exit(0); } const inputValidation = validate(cliArgs); if (!inputValidation.tsConfigFilePath) { invalidTsConfig(); exit(2); } if (!inputValidation.valid) { usage(); exit(2); } const { tsConfigFilePath, sourceRoots, decorateOutput } = getRuntimeConfig(cliArgs); const project = createProject({ tsConfigFilePath, sourceRoots, decorateOutput, }); const sourceFiles = project.getSourceFiles(); if (sourceFiles.length === 0) { printNoFiles(); exit(0); } const results = findUnusedClasses(sourceFiles); printResults(results); exit(results.length ? 1 : 0);