@bacons/expo-metro-runtime
Version:
Tools for making experimental Metro bundler features work
27 lines • 908 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatProjectFileName = void 0;
function formatProjectFileName(file) {
if (file == null) {
return "<unknown>";
}
const projectRoot = process.env.EXPO_PROJECT_ROOT;
if (!projectRoot) {
return file;
}
return pathRelativeToPath(file.replace(/\\/g, "/"), projectRoot.replace(/\\/g, "/")).replace(/\?.*$/, "");
}
exports.formatProjectFileName = formatProjectFileName;
function pathRelativeToPath(path, relativeTo, sep = "/") {
const relativeToParts = relativeTo.split(sep);
const pathParts = path.split(sep);
let i = 0;
while (i < relativeToParts.length && i < pathParts.length) {
if (relativeToParts[i] !== pathParts[i]) {
break;
}
i++;
}
return pathParts.slice(i).join(sep);
}
//# sourceMappingURL=formatProjectFilePath.js.map