UNPKG

brave-real-playwright-core

Version:

Brave-optimized Playwright Core (v1.55.0) with comprehensive stealth patches and error stack sanitization

112 lines (111 loc) 5.66 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var hostPlatform_exports = {}; __export(hostPlatform_exports, { hostPlatform: () => hostPlatform, isOfficiallySupportedPlatform: () => isOfficiallySupportedPlatform }); module.exports = __toCommonJS(hostPlatform_exports); var import_os = __toESM(require("os")); var import_linuxUtils = require("./linuxUtils"); function calculatePlatform() { if (process.env.PLAYWRIGHT_HOST_PLATFORM_OVERRIDE) { return { hostPlatform: process.env.PLAYWRIGHT_HOST_PLATFORM_OVERRIDE, isOfficiallySupportedPlatform: false }; } const platform = import_os.default.platform(); if (platform === "darwin") { const ver = import_os.default.release().split(".").map((a) => parseInt(a, 10)); let macVersion = ""; if (ver[0] < 18) { macVersion = "mac10.13"; } else if (ver[0] === 18) { macVersion = "mac10.14"; } else if (ver[0] === 19) { macVersion = "mac10.15"; } else { const LAST_STABLE_MACOS_MAJOR_VERSION = 15; macVersion = "mac" + Math.min(ver[0] - 9, LAST_STABLE_MACOS_MAJOR_VERSION); if (import_os.default.cpus().some((cpu) => cpu.model.includes("Apple"))) macVersion += "-arm64"; } return { hostPlatform: macVersion, isOfficiallySupportedPlatform: true }; } if (platform === "linux") { if (!["x64", "arm64"].includes(import_os.default.arch())) return { hostPlatform: "<unknown>", isOfficiallySupportedPlatform: false }; const archSuffix = "-" + import_os.default.arch(); const distroInfo = (0, import_linuxUtils.getLinuxDistributionInfoSync)(); if (distroInfo?.id === "ubuntu" || distroInfo?.id === "pop" || distroInfo?.id === "neon" || distroInfo?.id === "tuxedo") { const isUbuntu = distroInfo?.id === "ubuntu"; const version = distroInfo?.version; const major = parseInt(distroInfo.version, 10); if (major < 20) return { hostPlatform: "ubuntu18.04" + archSuffix, isOfficiallySupportedPlatform: false }; if (major < 22) return { hostPlatform: "ubuntu20.04" + archSuffix, isOfficiallySupportedPlatform: isUbuntu && version === "20.04" }; if (major < 24) return { hostPlatform: "ubuntu22.04" + archSuffix, isOfficiallySupportedPlatform: isUbuntu && version === "22.04" }; if (major < 26) return { hostPlatform: "ubuntu24.04" + archSuffix, isOfficiallySupportedPlatform: isUbuntu && version === "24.04" }; return { hostPlatform: "ubuntu" + distroInfo.version + archSuffix, isOfficiallySupportedPlatform: false }; } if (distroInfo?.id === "linuxmint") { const mintMajor = parseInt(distroInfo.version, 10); if (mintMajor <= 20) return { hostPlatform: "ubuntu20.04" + archSuffix, isOfficiallySupportedPlatform: false }; if (mintMajor === 21) return { hostPlatform: "ubuntu22.04" + archSuffix, isOfficiallySupportedPlatform: false }; return { hostPlatform: "ubuntu24.04" + archSuffix, isOfficiallySupportedPlatform: false }; } if (distroInfo?.id === "debian" || distroInfo?.id === "raspbian") { const isOfficiallySupportedPlatform2 = distroInfo?.id === "debian"; if (distroInfo?.version === "11") return { hostPlatform: "debian11" + archSuffix, isOfficiallySupportedPlatform: isOfficiallySupportedPlatform2 }; if (distroInfo?.version === "12") return { hostPlatform: "debian12" + archSuffix, isOfficiallySupportedPlatform: isOfficiallySupportedPlatform2 }; if (distroInfo?.version === "13") return { hostPlatform: "debian13" + archSuffix, isOfficiallySupportedPlatform: isOfficiallySupportedPlatform2 }; if (distroInfo?.version === "") return { hostPlatform: "debian13" + archSuffix, isOfficiallySupportedPlatform: isOfficiallySupportedPlatform2 }; } return { hostPlatform: "ubuntu20.04" + archSuffix, isOfficiallySupportedPlatform: false }; } if (platform === "win32") return { hostPlatform: "win64", isOfficiallySupportedPlatform: true }; return { hostPlatform: "<unknown>", isOfficiallySupportedPlatform: false }; } const { hostPlatform, isOfficiallySupportedPlatform } = calculatePlatform(); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { hostPlatform, isOfficiallySupportedPlatform });