123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- const childProcess = require("child_process");
- const fs = require("fs-extra");
- const os = require("os");
- const path = require("path");
- async function useAndRemoveDirectory(directory, fn) {
- let result;
- try {
- result = await fn(directory);
- }
- finally {
- await fs.remove(directory);
- }
- return result;
- }
- async function withTempDirectoryIn(parentDirectory = os.tmpdir(), fn) {
- const tempDirectoryPrefix = 'electron-download-';
- const tempDirectory = await fs.mkdtemp(path.resolve(parentDirectory, tempDirectoryPrefix));
- return useAndRemoveDirectory(tempDirectory, fn);
- }
- exports.withTempDirectoryIn = withTempDirectoryIn;
- async function withTempDirectory(fn) {
- return withTempDirectoryIn(undefined, fn);
- }
- exports.withTempDirectory = withTempDirectory;
- function normalizeVersion(version) {
- if (!version.startsWith('v')) {
- return `v${version}`;
- }
- return version;
- }
- exports.normalizeVersion = normalizeVersion;
- /**
- * Runs the `uname` command and returns the trimmed output.
- */
- function uname() {
- return childProcess
- .execSync('uname -m')
- .toString()
- .trim();
- }
- exports.uname = uname;
- /**
- * Generates an architecture name that would be used in an Electron or Node.js
- * download file name.
- */
- function getNodeArch(arch) {
- if (arch === 'arm') {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- switch (process.config.variables.arm_version) {
- case '6':
- return uname();
- case '7':
- default:
- return 'armv7l';
- }
- }
- return arch;
- }
- exports.getNodeArch = getNodeArch;
- /**
- * Generates an architecture name that would be used in an Electron or Node.js
- * download file name, from the `process` module information.
- */
- function getHostArch() {
- return getNodeArch(process.arch);
- }
- exports.getHostArch = getHostArch;
- function ensureIsTruthyString(obj, key) {
- if (!obj[key] || typeof obj[key] !== 'string') {
- throw new Error(`Expected property "${key}" to be provided as a string but it was not`);
- }
- }
- exports.ensureIsTruthyString = ensureIsTruthyString;
- function isOfficialLinuxIA32Download(platform, arch, version, mirrorOptions) {
- return (platform === 'linux' &&
- arch === 'ia32' &&
- Number(version.slice(1).split('.')[0]) >= 4 &&
- typeof mirrorOptions === 'undefined');
- }
- exports.isOfficialLinuxIA32Download = isOfficialLinuxIA32Download;
- /**
- * Find the value of a environment variable which may or may not have the
- * prefix, in a case-insensitive manner.
- */
- function getEnv(prefix = '') {
- const envsLowerCase = {};
- for (const envKey in process.env) {
- envsLowerCase[envKey.toLowerCase()] = process.env[envKey];
- }
- return (name) => {
- return (envsLowerCase[`${prefix}${name}`.toLowerCase()] ||
- envsLowerCase[name.toLowerCase()] ||
- undefined);
- };
- }
- exports.getEnv = getEnv;
- function setEnv(key, value) {
- // The `void` operator always returns `undefined`.
- // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void
- if (value !== void 0) {
- process.env[key] = value;
- }
- }
- exports.setEnv = setEnv;
- //# sourceMappingURL=utils.js.map
|