refactor macos support into single file

This commit is contained in:
Angelo Trotta
2026-06-19 09:29:51 +02:00
parent 386611bc3a
commit 27a4a172cb
4 changed files with 54 additions and 51 deletions
+26 -3
View File
@@ -1,15 +1,38 @@
const localAppData = Deno.env.get("LOCALAPPDATA");
const os = Deno.build.os;
let localStatePathPattern: (version: string) => string;
if (os === "windows") {
const localAppData = Deno.env.get("LOCALAPPDATA");
if (!localAppData) {
console.error("Error: LOCALAPPDATA environment variable not found.");
Deno.exit(1);
}
localStatePathPattern = (version) =>
`${localAppData}\\BraveSoftware\\${version}\\User Data\\Local State`;
} else if (os === "darwin") {
const homeDir = Deno.env.get("HOME");
if (!homeDir) {
console.error("Error: HOME environment variable not found.");
Deno.exit(1);
}
localStatePathPattern = (version) =>
`${homeDir}/Library/Application Support/BraveSoftware/${version}/Local State`;
} else {
console.error(`Error: Unsupported operating system: ${os}`);
Deno.exit(1);
}
const versions = ["Brave-Origin", "Brave-Origin-Beta", "Brave-Origin-Nightly"];
let foundAny = false;
for (const version of versions) {
const localStatePath =
`${localAppData}\\BraveSoftware\\${version}\\User Data\\Local State`;
const localStatePath = localStatePathPattern(version);
try {
const localState = JSON.parse(await Deno.readTextFile(localStatePath));
localState.brave = localState.brave || {};
localState.brave.origin = { purchase_validated: true };
localState.skus = {