UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

42 lines 2.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addImportToClosestModule = addImportToClosestModule; exports.saveAddedImports = saveAddedImports; const ng_morph_1 = require("ng-morph"); const file_globs_1 = require("../constants/file-globs"); const add_unique_import_1 = require("./add-unique-import"); const colored_log_1 = require("./colored-log"); const importsToAdd = new Map(); function addImportToClosestModule(componentPath, moduleName, moduleSpecifier) { importsToAdd.set(`${componentPath}_${moduleName}_${moduleSpecifier}`, { componentPath, moduleName, moduleSpecifier, }); } function saveAddedImports(options) { importsToAdd.forEach(({ componentPath, moduleName, moduleSpecifier }) => { !options['skip-logs'] && (0, colored_log_1.infoLog)(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} add ${moduleName} declaration from ${moduleSpecifier} to ${componentPath}`); const [ngComponent] = (0, ng_morph_1.getNgComponents)(componentPath); if (!ngComponent) { return; } if ((0, ng_morph_1.isStandaloneComponent)(ngComponent)) { (0, ng_morph_1.addImportToComponent)(ngComponent, moduleName, { unique: true }); (0, add_unique_import_1.addUniqueImport)(ngComponent.getSourceFile().getFilePath(), moduleName, moduleSpecifier); !options['skip-logs'] && (0, colored_log_1.successLog)(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SUCCESS_SYMBOL} ${moduleName} added to\n`); return; } const ngModule = (0, ng_morph_1.findNgModule)(ngComponent, file_globs_1.ALL_TS_FILES); if (ngModule) { (0, ng_morph_1.addImportToNgModule)(ngModule, moduleName, { unique: true }); (0, add_unique_import_1.addUniqueImport)(ngModule.getSourceFile().getFilePath(), moduleName, moduleSpecifier); !options['skip-logs'] && (0, colored_log_1.successLog)(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.SUCCESS_SYMBOL} ${moduleName} added to\n`); } }); importsToAdd.clear(); } //# sourceMappingURL=add-import-to-closest-module.js.map