@bugsplat/symbol-upload
Version:
Cross platform symbol upload tool
33 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDSymFileInfos = getDSymFileInfos;
const macho_uuid_1 = require("macho-uuid");
const promises_1 = require("node:fs/promises");
const node_path_1 = require("node:path");
const tmp_1 = require("./tmp");
async function getDSymFileInfos(path) {
try {
const machoFiles = await (0, macho_uuid_1.createMachoFiles)(path);
if (!machoFiles.length) {
throw new Error(`${path} is not a valid Mach-O file`);
}
return Promise.all(machoFiles.map(async (macho) => {
const dbgId = await macho.getUUID();
const moduleName = (0, node_path_1.basename)(macho.path);
const relativePath = (0, node_path_1.join)(await macho.getUUID(), moduleName);
const path = (0, node_path_1.join)(tmp_1.tmpDir, relativePath);
await (0, promises_1.mkdir)((0, node_path_1.dirname)(path), { recursive: true });
await macho.writeFile(path);
return {
path,
dbgId,
moduleName,
};
}));
}
catch {
console.log(`Could not create macho files for ${path}, skipping...`);
return [];
}
}
//# sourceMappingURL=dsym.js.map