UNPKG

@nx/nest

Version:

The Nx Plugin for Nest contains executors and generators for allowing your workspace to create powerful Nest best in class APIs.

25 lines (24 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addExportsToBarrelFile = addExportsToBarrelFile; const js_1 = require("@nx/js"); const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript"); let tsModule; function addExportsToBarrelFile(tree, options) { if (!tsModule) { tsModule = (0, ensure_typescript_1.ensureTypescript)(); } const indexPath = `${options.projectRoot}/src/index.ts`; const indexContent = tree.read(indexPath, 'utf-8'); let sourceFile = tsModule.createSourceFile(indexPath, indexContent, tsModule.ScriptTarget.Latest, true); // find the export in the source file const exportStatement = sourceFile.statements.find((statement) => tsModule.isExportDeclaration(statement)); sourceFile = (0, js_1.removeChange)(tree, sourceFile, indexPath, 0, exportStatement.getFullText()); sourceFile = (0, js_1.addGlobal)(tree, sourceFile, indexPath, `export * from './lib/${options.fileName}.module';`); if (options.service) { sourceFile = (0, js_1.addGlobal)(tree, sourceFile, indexPath, `export * from './lib/${options.fileName}.service';`); } if (options.controller) { sourceFile = (0, js_1.addGlobal)(tree, sourceFile, indexPath, `export * from './lib/${options.fileName}.controller';`); } }