UNPKG

@testing-library/angular

Version:
38 lines (37 loc) 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; exports.installDependencies = installDependencies; const schematics_1 = require("@angular-devkit/schematics"); const dependencies_1 = require("@schematics/angular/utility/dependencies"); const tasks_1 = require("@angular-devkit/schematics/tasks"); function default_1({ installJestDom, installUserEvent }) { return () => { return (0, schematics_1.chain)([ addDependency('@testing-library/dom', '^10.0.0', dependencies_1.NodeDependencyType.Dev), installJestDom ? addDependency('@testing-library/jest-dom', '^6.4.8', dependencies_1.NodeDependencyType.Dev) : (0, schematics_1.noop)(), installUserEvent ? addDependency('@testing-library/user-event', '^14.5.2', dependencies_1.NodeDependencyType.Dev) : (0, schematics_1.noop)(), installDependencies(), ]); }; } function addDependency(packageName, version, dependencyType) { return (tree, context) => { const dtlDep = (0, dependencies_1.getPackageJsonDependency)(tree, packageName); if (dtlDep) { context.logger.info(`Skipping installation of '${packageName}' because it's already installed.`); } else { context.logger.info(`Adding '${packageName}' as a dev dependency.`); (0, dependencies_1.addPackageJsonDependency)(tree, { name: packageName, type: dependencyType, overwrite: false, version }); } return tree; }; } function installDependencies() { return (_tree, context) => { context.addTask(new tasks_1.NodePackageInstallTask()); context.logger.info(`Correctly installed @testing-library/angular. See our docs at https://testing-library.com/docs/angular-testing-library/intro/ to get started.`); }; }