UNPKG

@angular-plugins/stryker

Version:

Stryker Plugin for Angular and Nx Repos

51 lines (50 loc) 2.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const schematics_1 = require("@angular-devkit/schematics"); const workspace_1 = require("@nrwl/workspace"); const versions_1 = require("../../../utils/versions"); const tasks_1 = require("@angular-devkit/schematics/tasks"); function checkDependenciesInstalled() { return (host, context) => { const packageJson = workspace_1.readJsonInTree(host, 'package.json'); const dependencyList = []; if (!packageJson.devDependencies['@nrwl/stryker']) { context.addTask(new tasks_1.NodePackageInstallTask()); dependencyList.push({ name: '@stryker-mutator/api', version: versions_1.strykerMutatorApi }, { name: '@stryker-mutator/core', version: versions_1.strykerMutatorCore }, { name: '@stryker-mutator/html-reporter', version: versions_1.strykerMutatorHtmlReporter }, { name: '@stryker-mutator/jest-runner', version: versions_1.strykerMutatorJestRunner }, { name: '@stryker-mutator/typescript', version: versions_1.strykerMutatorTypescript }, { name: '@stryker-mutator/karma-runner', version: versions_1.strykerMutatorKarmaRunner }); } if (!dependencyList.length) { return schematics_1.noop(); } return workspace_1.addDepsToPackageJson({}, dependencyList.reduce((dictionary, value) => { dictionary[value.name] = value.version; return dictionary; }, {})); }; } function installDependencies(dependencyList) { return (host, context) => { return workspace_1.addDepsToPackageJson({}, dependencyList.reduce((dictionary, value) => { dictionary[value.name] = value.version; return dictionary; }, {})); context.logger.info('@angular-plugins/stryker dependencies installed successfully'); }; } function removeDependency() { return workspace_1.updateJsonInTree('package.json', json => { json.dependencies = json.dependencies || {}; delete json.dependencies['@stryker-mutator/api']; delete json.dependencies['@stryker-mutator/core']; delete json.dependencies['@stryker-mutator/jest-runner']; delete json.dependencies['@stryker-mutator/typescript']; delete json.dependencies['@stryker-mutator/karma-runner']; return json; }); } function default_1() { return schematics_1.chain([removeDependency(), checkDependenciesInstalled()]); } exports.default = default_1;