@nx/angular
Version:
38 lines (37 loc) • 1.43 kB
JavaScript
;
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);
}