android-wrapper/@capacitor/cli/dist/tasks/sourcemaps.js

40 lines
1.6 KiB
JavaScript
Raw Normal View History

2025-06-18 18:50:46 +02:00
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.inlineSourceMaps = void 0;
2025-07-06 20:20:48 +02:00
const fs_extra_1 = require("fs-extra");
2025-06-18 18:50:46 +02:00
const path_1 = require("path");
const log_1 = require("../log");
function walkDirectory(dirPath) {
2025-07-06 20:20:48 +02:00
const files = (0, fs_extra_1.readdirSync)(dirPath);
files.forEach((file) => {
2025-06-18 18:50:46 +02:00
const targetFile = (0, path_1.join)(dirPath, file);
2025-07-06 20:20:48 +02:00
if ((0, fs_extra_1.existsSync)(targetFile) && (0, fs_extra_1.lstatSync)(targetFile).isDirectory()) {
2025-06-18 18:50:46 +02:00
walkDirectory(targetFile);
}
else {
const mapFile = (0, path_1.join)(dirPath, `${file}.map`);
2025-07-06 20:20:48 +02:00
if ((0, path_1.extname)(file) === '.js' && (0, fs_extra_1.existsSync)(mapFile)) {
const bufMap = (0, fs_extra_1.readFileSync)(mapFile).toString('base64');
const bufFile = (0, fs_extra_1.readFileSync)(targetFile, 'utf8');
const result = bufFile.replace(`sourceMappingURL=${file}.map`, 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + bufMap);
(0, fs_extra_1.writeFileSync)(targetFile, result);
(0, fs_extra_1.unlinkSync)(mapFile);
2025-06-18 18:50:46 +02:00
}
}
});
}
async function inlineSourceMaps(config, platformName) {
let buildDir = '';
if (platformName == config.ios.name) {
buildDir = await config.ios.webDirAbs;
}
if (platformName == config.android.name) {
buildDir = await config.android.webDirAbs;
}
if (buildDir) {
log_1.logger.info('Inlining sourcemaps');
walkDirectory(buildDir);
}
}
exports.inlineSourceMaps = inlineSourceMaps;