@uuv/runner-commons
Version:
A common lib for uuv
42 lines (41 loc) • 1.83 kB
JavaScript
;
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");
}
});
}