UNPKG

@uuv/runner-commons

Version:
42 lines (41 loc) 1.83 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateChartJsVersion = updateChartJsVersion; const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); /** * Update Chart.js version in the HTML report files. * * @param reportDir * @param {string} oldVersion - old Chart.js version (ex: '2.5.0') * @param {string} newVersion - new Chart.js version (ex: '2.6.0') */ function updateChartJsVersion(reportDir, oldVersion, newVersion) { const oldScript = `<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/${oldVersion}/Chart.min.js"></script>`; const newScript = `<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/${newVersion}/Chart.min.js"></script>`; const baseDir = reportDir; const filesToUpdate = ["index.html"]; // Add all html files of ./features/ directory const featuresDir = path_1.default.join(baseDir, "features"); if (fs_1.default.existsSync(featuresDir)) { const featureFiles = fs_1.default.readdirSync(featuresDir) .filter(file => file.endsWith(".html")) .map(file => path_1.default.join("features", file)); filesToUpdate.push(...featureFiles); } // Update files filesToUpdate.forEach((filePath) => { const fullPath = path_1.default.join(baseDir, filePath); if (!fs_1.default.existsSync(fullPath)) { return; } let content = fs_1.default.readFileSync(fullPath, "utf8"); if (content.includes(oldScript)) { content = content.replace(oldScript, newScript); fs_1.default.writeFileSync(fullPath, content, "utf8"); } }); }