UNPKG

5.25 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/electron/electronVersion.ts"],"names":[],"mappings":"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","sourcesContent":["import { log } from \"builder-util\"\nimport { httpExecutor } from \"builder-util/out/nodeHttpExecutor\"\nimport { readJson } from \"fs-extra-p\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { orNullIfFileNotExist } from \"read-config-file\"\nimport { Configuration } from \"../configuration\"\nimport { getConfig } from \"../util/config\"\nimport { versionFromDependencyRange } from \"../util/packageMetadata\"\n\nexport type MetadataValue = Lazy<{ [key: string]: any } | null>\n\nexport async function getElectronVersion(projectDir: string, config?: Configuration, projectMetadata: MetadataValue = new Lazy(() => orNullIfFileNotExist(readJson(path.join(projectDir, \"package.json\"))))): Promise<string> {\n if (config == null) {\n config = await getConfig(projectDir, null, null)\n }\n if (config.electronVersion != null) {\n return config.electronVersion\n }\n return await computeElectronVersion(projectDir, projectMetadata)\n}\n\nexport async function getElectronVersionFromInstalled(projectDir: string) {\n for (const name of [\"electron\", \"electron-prebuilt\", \"electron-prebuilt-compile\"]) {\n try {\n return (await readJson(path.join(projectDir, \"node_modules\", name, \"package.json\"))).version\n }\n catch (e) {\n if (e.code !== \"ENOENT\") {\n log.warn({name, error: e}, `cannot read electron version package.json`)\n }\n }\n }\n return null\n}\n\n/** @internal */\nexport async function computeElectronVersion(projectDir: string, projectMetadata: MetadataValue): Promise<string> {\n const result = await getElectronVersionFromInstalled(projectDir)\n if (result != null) {\n return result\n }\n\n const electronPrebuiltDep = findFromElectronPrebuilt(await projectMetadata!!.value)\n if (electronPrebuiltDep == null || electronPrebuiltDep === \"latest\") {\n try {\n const releaseInfo = JSON.parse((await httpExecutor.request({\n hostname: \"github.com\",\n path: \"/electron/electron/releases/latest\",\n headers: {\n accept: \"application/json\",\n },\n }))!!)\n return (releaseInfo.tag_name.startsWith(\"v\")) ? releaseInfo.tag_name.substring(1) : releaseInfo.tag_name\n }\n catch (e) {\n log.warn(e)\n }\n\n throw new Error(`Cannot find electron dependency to get electron version in the '${path.join(projectDir, \"package.json\")}'`)\n }\n\n return versionFromDependencyRange(electronPrebuiltDep)\n}\n\nfunction findFromElectronPrebuilt(packageData: any): any {\n for (const name of [\"electron\", \"electron-prebuilt\", \"electron-prebuilt-compile\"]) {\n const devDependencies = packageData.devDependencies\n let dep = devDependencies == null ? null : devDependencies[name]\n if (dep == null) {\n const dependencies = packageData.dependencies\n dep = dependencies == null ? null : dependencies[name]\n }\n if (dep != null) {\n return dep\n }\n }\n return null\n}"],"sourceRoot":""}