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

45 lines (44 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; const devkit_1 = require("@nx/devkit"); const ANGULAR_GENERATORS = [ 'application', 'library', 'host', 'remote', 'federate-module', ]; async function default_1(tree) { const nxJson = (0, devkit_1.readNxJson)(tree); if (!nxJson?.generators) { return; } let updated = false; for (const generator of ANGULAR_GENERATORS) { if (updateGeneratorDefault(nxJson.generators, '@nx/angular', generator)) { updated = true; } } if (updated) { (0, devkit_1.updateNxJson)(tree, nxJson); await (0, devkit_1.formatFiles)(tree); } } function updateGeneratorDefault(generators, collection, generator) { const generatorKey = `${collection}:${generator}`; // Check "@nx/angular:application" format const flatConfig = generators[generatorKey]; if (flatConfig?.unitTestRunner === 'vitest') { flatConfig.unitTestRunner = 'vitest-analog'; return true; } // Check { "@nx/angular": { "application": {...} } } format const nestedConfig = generators[collection]; const generatorConfig = nestedConfig?.[generator]; if (generatorConfig?.unitTestRunner === 'vitest') { generatorConfig.unitTestRunner = 'vitest-analog'; return true; } return false; }