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

38 lines (37 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; const devkit_1 = require("@nx/devkit"); const projects_1 = require("../utils/projects"); async function default_1(tree) { const angularProjects = await (0, projects_1.getProjectsFilteredByDependencies)([ 'npm:@angular/core', ]); if (!angularProjects.length) { return; } const zoneJsImportRegex = /(['"`])zone\.js\/dist\/zone(['"`])/g; const zoneJsTestingImportRegex = /(['"`])zone\.js\/dist\/zone-testing(['"`])/g; for (const graphNode of angularProjects) { (0, devkit_1.visitNotIgnoredFiles)(tree, graphNode.data.root, (file) => { // we are only interested in .ts files if (!file.endsWith('.ts')) { return; } let content = tree.read(file, 'utf-8'); let wasUpdated = false; if (zoneJsImportRegex.test(content)) { content = content.replace(zoneJsImportRegex, '$1zone.js$2'); wasUpdated = true; } if (zoneJsTestingImportRegex.test(content)) { content = content.replace(zoneJsTestingImportRegex, '$1zone.js/testing$2'); wasUpdated = true; } if (wasUpdated) { tree.write(file, content); } }); } await (0, devkit_1.formatFiles)(tree); }