UNPKG

stryker-html-reporter

Version:

An html reporter for the JavaScript mutation testing framework Stryker

86 lines 2.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var util_1 = require("@stryker-mutator/util"); var path = require("path"); var mkdirp = require("mkdirp"); var rimraf = require("rimraf"); function copyFolderOrFile(fromPath, toPath) { return tslib_1.__awaiter(this, void 0, void 0, function () { var stats; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, util_1.fsAsPromised.stat(fromPath)]; case 1: stats = _a.sent(); if (stats.isDirectory()) { return [2 /*return*/, copyFolder(fromPath, toPath)]; } else { return [2 /*return*/, copyFile(fromPath, toPath)]; } return [2 /*return*/]; } }); }); } function copyFolder(fromPath, to) { return mkdir(to) .then(function () { return util_1.fsAsPromised.readdir(fromPath); }) .then(function (files) { return Promise.all(files.map(function (file) { return copyFolderOrFile(path.join(fromPath, file), path.join(to, file)); })); }) .then(function (_) { return void 0; }); } exports.copyFolder = copyFolder; function copyFile(fromFilename, toFilename) { return new Promise(function (resolve, reject) { var readStream = util_1.fsAsPromised.createReadStream(fromFilename); var writeStream = util_1.fsAsPromised.createWriteStream(toFilename); readStream.on('error', reject); writeStream.on('error', reject); readStream.pipe(writeStream); readStream.on('end', function () { return resolve(); }); }); } function deleteDir(dirToDelete) { return new Promise(function (res, rej) { rimraf(dirToDelete, function (err) { if (err) { rej(err); } else { res(); } }); }); } exports.deleteDir = deleteDir; function mkdir(folderName) { return new Promise(function (res, rej) { mkdirp(folderName, function (err) { if (err) { rej(err); } else { res(); } }); }); } exports.mkdir = mkdir; function writeFile(fileName, content) { return mkdir(path.dirname(fileName)) .then(function (_) { return util_1.fsAsPromised.writeFile(fileName, content, 'utf8'); }); } exports.writeFile = writeFile; function countPathSep(fileName) { var count = 0; for (var _i = 0, fileName_1 = fileName; _i < fileName_1.length; _i++) { var ch = fileName_1[_i]; if (ch === path.sep) { count++; } } return count; } exports.countPathSep = countPathSep; //# sourceMappingURL=util.js.map