UNPKG

@nx/angular

Version:

The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: - Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypre

30 lines (29 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addChildren = addChildren; const devkit_1 = require("@nx/devkit"); const js_1 = require("@nx/js"); const ast_utils_1 = require("../../../utils/nx-devkit/ast-utils"); const route_utils_1 = require("../../../utils/nx-devkit/route-utils"); const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript"); let tsModule; function addChildren(tree, options) { if (!tree.exists(options.parent)) { throw new Error(`Cannot find '${options.parent}'`); } if (!tsModule) { tsModule = (0, ensure_typescript_1.ensureTypescript)(); } const routeFileSource = tree.read(options.parent, 'utf-8'); const constName = options.standalone ? `${(0, devkit_1.names)(options.name).propertyName}Routes` : `${(0, devkit_1.names)(options.fileName).propertyName}Routes`; const importPath = options.importPath; let sourceFile = tsModule.createSourceFile(options.parent, routeFileSource, tsModule.ScriptTarget.Latest, true); if (!options.standalone) { sourceFile = (0, ast_utils_1.addImportToModule)(tree, sourceFile, options.parent, options.moduleName); } sourceFile = (0, js_1.insertImport)(tree, sourceFile, options.parent, options.standalone ? constName : `${options.moduleName}, ${constName}`, importPath); const route = `{ path: '${(0, devkit_1.names)(options.fileName).fileName}', children: ${constName} }`; (0, route_utils_1.addRoute)(tree, options.parent, route, false, constName, importPath); }