From ae187b6d75c8079da0be1dc288613bad8466fe61 Mon Sep 17 00:00:00 2001 From: RaindropsSys Date: Tue, 24 Oct 2023 17:43:37 +0200 Subject: Initial commit --- .../node_modules/@electron/get/dist/esm/Cache.d.ts | 8 ++ .../node_modules/@electron/get/dist/esm/Cache.js | 57 +++++++++ .../@electron/get/dist/esm/Cache.js.map | 1 + .../@electron/get/dist/esm/Downloader.d.ts | 3 + .../@electron/get/dist/esm/Downloader.js | 1 + .../@electron/get/dist/esm/Downloader.js.map | 1 + .../@electron/get/dist/esm/GotDownloader.d.ts | 21 ++++ .../@electron/get/dist/esm/GotDownloader.js | 73 +++++++++++ .../@electron/get/dist/esm/GotDownloader.js.map | 1 + .../@electron/get/dist/esm/artifact-utils.d.ts | 4 + .../@electron/get/dist/esm/artifact-utils.js | 61 ++++++++++ .../@electron/get/dist/esm/artifact-utils.js.map | 1 + .../get/dist/esm/downloader-resolver.d.ts | 3 + .../@electron/get/dist/esm/downloader-resolver.js | 9 ++ .../get/dist/esm/downloader-resolver.js.map | 1 + .../node_modules/@electron/get/dist/esm/index.d.ts | 18 +++ .../node_modules/@electron/get/dist/esm/index.js | 134 +++++++++++++++++++++ .../@electron/get/dist/esm/index.js.map | 1 + .../node_modules/@electron/get/dist/esm/proxy.d.ts | 4 + .../node_modules/@electron/get/dist/esm/proxy.js | 24 ++++ .../@electron/get/dist/esm/proxy.js.map | 1 + .../node_modules/@electron/get/dist/esm/types.d.ts | 129 ++++++++++++++++++++ .../node_modules/@electron/get/dist/esm/types.js | 1 + .../@electron/get/dist/esm/types.js.map | 1 + .../node_modules/@electron/get/dist/esm/utils.d.ts | 25 ++++ .../node_modules/@electron/get/dist/esm/utils.js | 95 +++++++++++++++ .../@electron/get/dist/esm/utils.js.map | 1 + 27 files changed, 679 insertions(+) create mode 100644 desktop/node_modules/@electron/get/dist/esm/Cache.d.ts create mode 100644 desktop/node_modules/@electron/get/dist/esm/Cache.js create mode 100644 desktop/node_modules/@electron/get/dist/esm/Cache.js.map create mode 100644 desktop/node_modules/@electron/get/dist/esm/Downloader.d.ts create mode 100644 desktop/node_modules/@electron/get/dist/esm/Downloader.js create mode 100644 desktop/node_modules/@electron/get/dist/esm/Downloader.js.map create mode 100644 desktop/node_modules/@electron/get/dist/esm/GotDownloader.d.ts create mode 100644 desktop/node_modules/@electron/get/dist/esm/GotDownloader.js create mode 100644 desktop/node_modules/@electron/get/dist/esm/GotDownloader.js.map create mode 100644 desktop/node_modules/@electron/get/dist/esm/artifact-utils.d.ts create mode 100644 desktop/node_modules/@electron/get/dist/esm/artifact-utils.js create mode 100644 desktop/node_modules/@electron/get/dist/esm/artifact-utils.js.map create mode 100644 desktop/node_modules/@electron/get/dist/esm/downloader-resolver.d.ts create mode 100644 desktop/node_modules/@electron/get/dist/esm/downloader-resolver.js create mode 100644 desktop/node_modules/@electron/get/dist/esm/downloader-resolver.js.map create mode 100644 desktop/node_modules/@electron/get/dist/esm/index.d.ts create mode 100644 desktop/node_modules/@electron/get/dist/esm/index.js create mode 100644 desktop/node_modules/@electron/get/dist/esm/index.js.map create mode 100644 desktop/node_modules/@electron/get/dist/esm/proxy.d.ts create mode 100644 desktop/node_modules/@electron/get/dist/esm/proxy.js create mode 100644 desktop/node_modules/@electron/get/dist/esm/proxy.js.map create mode 100644 desktop/node_modules/@electron/get/dist/esm/types.d.ts create mode 100644 desktop/node_modules/@electron/get/dist/esm/types.js create mode 100644 desktop/node_modules/@electron/get/dist/esm/types.js.map create mode 100644 desktop/node_modules/@electron/get/dist/esm/utils.d.ts create mode 100644 desktop/node_modules/@electron/get/dist/esm/utils.js create mode 100644 desktop/node_modules/@electron/get/dist/esm/utils.js.map (limited to 'desktop/node_modules/@electron/get/dist/esm') diff --git a/desktop/node_modules/@electron/get/dist/esm/Cache.d.ts b/desktop/node_modules/@electron/get/dist/esm/Cache.d.ts new file mode 100644 index 0000000..626001a --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/Cache.d.ts @@ -0,0 +1,8 @@ +export declare class Cache { + private cacheRoot; + constructor(cacheRoot?: string); + static getCacheDirectory(downloadUrl: string): string; + getCachePath(downloadUrl: string, fileName: string): string; + getPathForFileInCache(url: string, fileName: string): Promise; + putFileInCache(url: string, currentPath: string, fileName: string): Promise; +} diff --git a/desktop/node_modules/@electron/get/dist/esm/Cache.js b/desktop/node_modules/@electron/get/dist/esm/Cache.js new file mode 100644 index 0000000..4801010 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/Cache.js @@ -0,0 +1,57 @@ +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +import debug from 'debug'; +import envPaths from 'env-paths'; +import * as fs from 'fs-extra'; +import * as path from 'path'; +import * as url from 'url'; +import * as crypto from 'crypto'; +const d = debug('@electron/get:cache'); +const defaultCacheRoot = envPaths('electron', { + suffix: '', +}).cache; +export class Cache { + constructor(cacheRoot = defaultCacheRoot) { + this.cacheRoot = cacheRoot; + } + static getCacheDirectory(downloadUrl) { + const parsedDownloadUrl = url.parse(downloadUrl); + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { search, hash, pathname } = parsedDownloadUrl, rest = __rest(parsedDownloadUrl, ["search", "hash", "pathname"]); + const strippedUrl = url.format(Object.assign(Object.assign({}, rest), { pathname: path.dirname(pathname || 'electron') })); + return crypto + .createHash('sha256') + .update(strippedUrl) + .digest('hex'); + } + getCachePath(downloadUrl, fileName) { + return path.resolve(this.cacheRoot, Cache.getCacheDirectory(downloadUrl), fileName); + } + async getPathForFileInCache(url, fileName) { + const cachePath = this.getCachePath(url, fileName); + if (await fs.pathExists(cachePath)) { + return cachePath; + } + return null; + } + async putFileInCache(url, currentPath, fileName) { + const cachePath = this.getCachePath(url, fileName); + d(`Moving ${currentPath} to ${cachePath}`); + if (await fs.pathExists(cachePath)) { + d('* Replacing existing file'); + await fs.remove(cachePath); + } + await fs.move(currentPath, cachePath); + return cachePath; + } +} +//# sourceMappingURL=Cache.js.map \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/Cache.js.map b/desktop/node_modules/@electron/get/dist/esm/Cache.js.map new file mode 100644 index 0000000..943403b --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/Cache.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEvC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,EAAE;IAC5C,MAAM,EAAE,EAAE;CACX,CAAC,CAAC,KAAK,CAAC;AAET,MAAM,OAAO,KAAK;IAChB,YAAoB,YAAY,gBAAgB;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAE7C,MAAM,CAAC,iBAAiB,CAAC,WAAmB;QACjD,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACjD,6DAA6D;QAC7D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAc,iBAAiB,EAA7B,gEAA6B,CAAC;QAC9D,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,iCAAM,IAAI,KAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAG,CAAC;QAE5F,OAAO,MAAM;aACV,UAAU,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEM,YAAY,CAAC,WAAmB,EAAE,QAAgB;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtF,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,GAAW,EAAE,QAAgB;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAClC,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,WAAmB,EAAE,QAAgB;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,UAAU,WAAW,OAAO,SAAS,EAAE,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAClC,CAAC,CAAC,2BAA2B,CAAC,CAAC;YAC/B,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC5B;QAED,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAEtC,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"} \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/Downloader.d.ts b/desktop/node_modules/@electron/get/dist/esm/Downloader.d.ts new file mode 100644 index 0000000..8e5e40e --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/Downloader.d.ts @@ -0,0 +1,3 @@ +export interface Downloader { + download(url: string, targetFilePath: string, options: T): Promise; +} diff --git a/desktop/node_modules/@electron/get/dist/esm/Downloader.js b/desktop/node_modules/@electron/get/dist/esm/Downloader.js new file mode 100644 index 0000000..6ff5866 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/Downloader.js @@ -0,0 +1 @@ +//# sourceMappingURL=Downloader.js.map \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/Downloader.js.map b/desktop/node_modules/@electron/get/dist/esm/Downloader.js.map new file mode 100644 index 0000000..c6199d5 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/Downloader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Downloader.js","sourceRoot":"","sources":["../../src/Downloader.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/GotDownloader.d.ts b/desktop/node_modules/@electron/get/dist/esm/GotDownloader.d.ts new file mode 100644 index 0000000..6494756 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/GotDownloader.d.ts @@ -0,0 +1,21 @@ +import { Progress as GotProgress, Options as GotOptions } from 'got'; +import { Downloader } from './Downloader'; +/** + * See [`got#options`](https://github.com/sindresorhus/got#options) for possible keys/values. + */ +export declare type GotDownloaderOptions = (GotOptions & { + isStream?: true; +}) & { + /** + * if defined, triggers every time `got`'s `downloadProgress` event callback is triggered. + */ + getProgressCallback?: (progress: GotProgress) => Promise; + /** + * if `true`, disables the console progress bar (setting the `ELECTRON_GET_NO_PROGRESS` + * environment variable to a non-empty value also does this). + */ + quiet?: boolean; +}; +export declare class GotDownloader implements Downloader { + download(url: string, targetFilePath: string, options?: GotDownloaderOptions): Promise; +} diff --git a/desktop/node_modules/@electron/get/dist/esm/GotDownloader.js b/desktop/node_modules/@electron/get/dist/esm/GotDownloader.js new file mode 100644 index 0000000..921bbeb --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/GotDownloader.js @@ -0,0 +1,73 @@ +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +import * as fs from 'fs-extra'; +import got, { HTTPError } from 'got'; +import * as path from 'path'; +import * as ProgressBar from 'progress'; +const PROGRESS_BAR_DELAY_IN_SECONDS = 30; +export class GotDownloader { + async download(url, targetFilePath, options) { + if (!options) { + options = {}; + } + const { quiet, getProgressCallback } = options, gotOptions = __rest(options, ["quiet", "getProgressCallback"]); + let downloadCompleted = false; + let bar; + let progressPercent; + let timeout = undefined; + await fs.mkdirp(path.dirname(targetFilePath)); + const writeStream = fs.createWriteStream(targetFilePath); + if (!quiet || !process.env.ELECTRON_GET_NO_PROGRESS) { + const start = new Date(); + timeout = setTimeout(() => { + if (!downloadCompleted) { + bar = new ProgressBar(`Downloading ${path.basename(url)}: [:bar] :percent ETA: :eta seconds `, { + curr: progressPercent, + total: 100, + }); + // https://github.com/visionmedia/node-progress/issues/159 + // eslint-disable-next-line @typescript-eslint/no-explicit-any + bar.start = start; + } + }, PROGRESS_BAR_DELAY_IN_SECONDS * 1000); + } + await new Promise((resolve, reject) => { + const downloadStream = got.stream(url, gotOptions); + downloadStream.on('downloadProgress', async (progress) => { + progressPercent = progress.percent; + if (bar) { + bar.update(progress.percent); + } + if (getProgressCallback) { + await getProgressCallback(progress); + } + }); + downloadStream.on('error', error => { + if (error instanceof HTTPError && error.response.statusCode === 404) { + error.message += ` for ${error.response.url}`; + } + if (writeStream.destroy) { + writeStream.destroy(error); + } + reject(error); + }); + writeStream.on('error', error => reject(error)); + writeStream.on('close', () => resolve()); + downloadStream.pipe(writeStream); + }); + downloadCompleted = true; + if (timeout) { + clearTimeout(timeout); + } + } +} +//# sourceMappingURL=GotDownloader.js.map \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/GotDownloader.js.map b/desktop/node_modules/@electron/get/dist/esm/GotDownloader.js.map new file mode 100644 index 0000000..4117388 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/GotDownloader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GotDownloader.js","sourceRoot":"","sources":["../../src/GotDownloader.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/artifact-utils.d.ts b/desktop/node_modules/@electron/get/dist/esm/artifact-utils.d.ts new file mode 100644 index 0000000..e03c96e --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/artifact-utils.d.ts @@ -0,0 +1,4 @@ +import { ElectronArtifactDetails } from './types'; +export declare function getArtifactFileName(details: ElectronArtifactDetails): string; +export declare function getArtifactRemoteURL(details: ElectronArtifactDetails): Promise; +export declare function getArtifactVersion(details: ElectronArtifactDetails): string; diff --git a/desktop/node_modules/@electron/get/dist/esm/artifact-utils.js b/desktop/node_modules/@electron/get/dist/esm/artifact-utils.js new file mode 100644 index 0000000..8dc1433 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/artifact-utils.js @@ -0,0 +1,61 @@ +import { ensureIsTruthyString, normalizeVersion } from './utils'; +const BASE_URL = 'https://github.com/electron/electron/releases/download/'; +const NIGHTLY_BASE_URL = 'https://github.com/electron/nightlies/releases/download/'; +export function getArtifactFileName(details) { + ensureIsTruthyString(details, 'artifactName'); + if (details.isGeneric) { + return details.artifactName; + } + ensureIsTruthyString(details, 'arch'); + ensureIsTruthyString(details, 'platform'); + ensureIsTruthyString(details, 'version'); + return `${[ + details.artifactName, + details.version, + details.platform, + details.arch, + ...(details.artifactSuffix ? [details.artifactSuffix] : []), + ].join('-')}.zip`; +} +function mirrorVar(name, options, defaultValue) { + // Convert camelCase to camel_case for env var reading + const snakeName = name.replace(/([a-z])([A-Z])/g, (_, a, b) => `${a}_${b}`).toLowerCase(); + return ( + // .npmrc + process.env[`npm_config_electron_${name.toLowerCase()}`] || + process.env[`NPM_CONFIG_ELECTRON_${snakeName.toUpperCase()}`] || + process.env[`npm_config_electron_${snakeName}`] || + // package.json + process.env[`npm_package_config_electron_${name}`] || + process.env[`npm_package_config_electron_${snakeName.toLowerCase()}`] || + // env + process.env[`ELECTRON_${snakeName.toUpperCase()}`] || + options[name] || + defaultValue); +} +export async function getArtifactRemoteURL(details) { + const opts = details.mirrorOptions || {}; + let base = mirrorVar('mirror', opts, BASE_URL); + if (details.version.includes('nightly')) { + const nightlyDeprecated = mirrorVar('nightly_mirror', opts, ''); + if (nightlyDeprecated) { + base = nightlyDeprecated; + console.warn(`nightly_mirror is deprecated, please use nightlyMirror`); + } + else { + base = mirrorVar('nightlyMirror', opts, NIGHTLY_BASE_URL); + } + } + const path = mirrorVar('customDir', opts, details.version).replace('{{ version }}', details.version.replace(/^v/, '')); + const file = mirrorVar('customFilename', opts, getArtifactFileName(details)); + // Allow customized download URL resolution. + if (opts.resolveAssetURL) { + const url = await opts.resolveAssetURL(details); + return url; + } + return `${base}${path}/${file}`; +} +export function getArtifactVersion(details) { + return normalizeVersion(mirrorVar('customVersion', details.mirrorOptions || {}, details.version)); +} +//# sourceMappingURL=artifact-utils.js.map \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/artifact-utils.js.map b/desktop/node_modules/@electron/get/dist/esm/artifact-utils.js.map new file mode 100644 index 0000000..bfaaf9c --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/artifact-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"artifact-utils.js","sourceRoot":"","sources":["../../src/artifact-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,QAAQ,GAAG,yDAAyD,CAAC;AAC3E,MAAM,gBAAgB,GAAG,0DAA0D,CAAC;AAEpF,MAAM,UAAU,mBAAmB,CAAC,OAAgC;IAClE,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAE9C,IAAI,OAAO,CAAC,SAAS,EAAE;QACrB,OAAO,OAAO,CAAC,YAAY,CAAC;KAC7B;IAED,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1C,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEzC,OAAO,GAAG;QACR,OAAO,CAAC,YAAY;QACpB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,IAAI;QACZ,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,SAAS,SAAS,CAChB,IAAkD,EAClD,OAAsB,EACtB,YAAoB;IAEpB,sDAAsD;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1F,OAAO;IACL,SAAS;IACT,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,EAAE,CAAC;QAC/C,eAAe;QACf,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QACrE,MAAM;QACN,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC;QACb,YAAY,CACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAgC;IACzE,MAAM,IAAI,GAAkB,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IACxD,IAAI,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACvC,MAAM,iBAAiB,GAAG,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,iBAAiB,EAAE;YACrB,IAAI,GAAG,iBAAiB,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;SACxE;aAAM;YACL,IAAI,GAAG,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;SAC3D;KACF;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAChE,eAAe,EACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAClC,CAAC;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7E,4CAA4C;IAC5C,IAAI,IAAI,CAAC,eAAe,EAAE;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgC;IACjE,OAAO,gBAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACpG,CAAC"} \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/downloader-resolver.d.ts b/desktop/node_modules/@electron/get/dist/esm/downloader-resolver.d.ts new file mode 100644 index 0000000..f7f09b2 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/downloader-resolver.d.ts @@ -0,0 +1,3 @@ +import { DownloadOptions } from './types'; +import { Downloader } from './Downloader'; +export declare function getDownloaderForSystem(): Promise>; diff --git a/desktop/node_modules/@electron/get/dist/esm/downloader-resolver.js b/desktop/node_modules/@electron/get/dist/esm/downloader-resolver.js new file mode 100644 index 0000000..5a87c3c --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/downloader-resolver.js @@ -0,0 +1,9 @@ +export async function getDownloaderForSystem() { + // TODO: Resolve the downloader or default to GotDownloader + // Current thoughts are a dot-file traversal for something like + // ".electron.downloader" which would be a text file with the name of the + // npm module to import() and use as the downloader + const { GotDownloader } = await import('./GotDownloader'); + return new GotDownloader(); +} +//# sourceMappingURL=downloader-resolver.js.map \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/downloader-resolver.js.map b/desktop/node_modules/@electron/get/dist/esm/downloader-resolver.js.map new file mode 100644 index 0000000..201069b --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/downloader-resolver.js.map @@ -0,0 +1 @@ +{"version":3,"file":"downloader-resolver.js","sourceRoot":"","sources":["../../src/downloader-resolver.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,2DAA2D;IAC3D,+DAA+D;IAC/D,yEAAyE;IACzE,mDAAmD;IACnD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1D,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC"} \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/index.d.ts b/desktop/node_modules/@electron/get/dist/esm/index.d.ts new file mode 100644 index 0000000..93e709e --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/index.d.ts @@ -0,0 +1,18 @@ +import { ElectronDownloadRequestOptions, ElectronPlatformArtifactDetailsWithDefaults } from './types'; +export { getHostArch } from './utils'; +export { initializeProxy } from './proxy'; +export * from './types'; +/** + * Downloads an artifact from an Electron release and returns an absolute path + * to the downloaded file. + * + * @param artifactDetails - The information required to download the artifact + */ +export declare function downloadArtifact(_artifactDetails: ElectronPlatformArtifactDetailsWithDefaults): Promise; +/** + * Downloads a specific version of Electron and returns an absolute path to a + * ZIP file. + * + * @param version - The version of Electron you want to download + */ +export declare function download(version: string, options?: ElectronDownloadRequestOptions): Promise; diff --git a/desktop/node_modules/@electron/get/dist/esm/index.js b/desktop/node_modules/@electron/get/dist/esm/index.js new file mode 100644 index 0000000..b87f564 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/index.js @@ -0,0 +1,134 @@ +import debug from 'debug'; +import * as fs from 'fs-extra'; +import * as path from 'path'; +import * as semver from 'semver'; +import * as sumchecker from 'sumchecker'; +import { getArtifactFileName, getArtifactRemoteURL, getArtifactVersion } from './artifact-utils'; +import { Cache } from './Cache'; +import { getDownloaderForSystem } from './downloader-resolver'; +import { initializeProxy } from './proxy'; +import { withTempDirectoryIn, getHostArch, getNodeArch, ensureIsTruthyString, isOfficialLinuxIA32Download, } from './utils'; +export { getHostArch } from './utils'; +export { initializeProxy } from './proxy'; +const d = debug('@electron/get:index'); +if (process.env.ELECTRON_GET_USE_PROXY) { + initializeProxy(); +} +async function validateArtifact(artifactDetails, downloadedAssetPath, _downloadArtifact) { + return await withTempDirectoryIn(artifactDetails.tempDirectory, async (tempFolder) => { + // Don't try to verify the hash of the hash file itself + // and for older versions that don't have a SHASUMS256.txt + if (!artifactDetails.artifactName.startsWith('SHASUMS256') && + !artifactDetails.unsafelyDisableChecksums && + semver.gte(artifactDetails.version, '1.3.2')) { + let shasumPath; + const checksums = artifactDetails.checksums; + if (checksums) { + shasumPath = path.resolve(tempFolder, 'SHASUMS256.txt'); + const fileNames = Object.keys(checksums); + if (fileNames.length === 0) { + throw new Error('Provided "checksums" object is empty, cannot generate a valid SHASUMS256.txt'); + } + const generatedChecksums = fileNames + .map(fileName => `${checksums[fileName]} *${fileName}`) + .join('\n'); + await fs.writeFile(shasumPath, generatedChecksums); + } + else { + shasumPath = await _downloadArtifact({ + isGeneric: true, + version: artifactDetails.version, + artifactName: 'SHASUMS256.txt', + force: artifactDetails.force, + downloadOptions: artifactDetails.downloadOptions, + cacheRoot: artifactDetails.cacheRoot, + downloader: artifactDetails.downloader, + mirrorOptions: artifactDetails.mirrorOptions, + }); + } + // For versions 1.3.2 - 1.3.4, need to overwrite the `defaultTextEncoding` option: + // https://github.com/electron/electron/pull/6676#discussion_r75332120 + if (semver.satisfies(artifactDetails.version, '1.3.2 - 1.3.4')) { + const validatorOptions = {}; + validatorOptions.defaultTextEncoding = 'binary'; + const checker = new sumchecker.ChecksumValidator('sha256', shasumPath, validatorOptions); + await checker.validate(path.dirname(downloadedAssetPath), path.basename(downloadedAssetPath)); + } + else { + await sumchecker('sha256', shasumPath, path.dirname(downloadedAssetPath), [ + path.basename(downloadedAssetPath), + ]); + } + } + }); +} +/** + * Downloads an artifact from an Electron release and returns an absolute path + * to the downloaded file. + * + * @param artifactDetails - The information required to download the artifact + */ +export async function downloadArtifact(_artifactDetails) { + const artifactDetails = Object.assign({}, _artifactDetails); + if (!_artifactDetails.isGeneric) { + const platformArtifactDetails = artifactDetails; + if (!platformArtifactDetails.platform) { + d('No platform found, defaulting to the host platform'); + platformArtifactDetails.platform = process.platform; + } + if (platformArtifactDetails.arch) { + platformArtifactDetails.arch = getNodeArch(platformArtifactDetails.arch); + } + else { + d('No arch found, defaulting to the host arch'); + platformArtifactDetails.arch = getHostArch(); + } + } + ensureIsTruthyString(artifactDetails, 'version'); + artifactDetails.version = getArtifactVersion(artifactDetails); + const fileName = getArtifactFileName(artifactDetails); + const url = await getArtifactRemoteURL(artifactDetails); + const cache = new Cache(artifactDetails.cacheRoot); + // Do not check if the file exists in the cache when force === true + if (!artifactDetails.force) { + d(`Checking the cache (${artifactDetails.cacheRoot}) for ${fileName} (${url})`); + const cachedPath = await cache.getPathForFileInCache(url, fileName); + if (cachedPath === null) { + d('Cache miss'); + } + else { + d('Cache hit'); + try { + await validateArtifact(artifactDetails, cachedPath, downloadArtifact); + return cachedPath; + } + catch (err) { + d("Artifact in cache didn't match checksums", err); + d('falling back to re-download'); + } + } + } + if (!artifactDetails.isGeneric && + isOfficialLinuxIA32Download(artifactDetails.platform, artifactDetails.arch, artifactDetails.version, artifactDetails.mirrorOptions)) { + console.warn('Official Linux/ia32 support is deprecated.'); + console.warn('For more info: https://electronjs.org/blog/linux-32bit-support'); + } + return await withTempDirectoryIn(artifactDetails.tempDirectory, async (tempFolder) => { + const tempDownloadPath = path.resolve(tempFolder, getArtifactFileName(artifactDetails)); + const downloader = artifactDetails.downloader || (await getDownloaderForSystem()); + d(`Downloading ${url} to ${tempDownloadPath} with options: ${JSON.stringify(artifactDetails.downloadOptions)}`); + await downloader.download(url, tempDownloadPath, artifactDetails.downloadOptions); + await validateArtifact(artifactDetails, tempDownloadPath, downloadArtifact); + return await cache.putFileInCache(url, tempDownloadPath, fileName); + }); +} +/** + * Downloads a specific version of Electron and returns an absolute path to a + * ZIP file. + * + * @param version - The version of Electron you want to download + */ +export function download(version, options) { + return downloadArtifact(Object.assign(Object.assign({}, options), { version, platform: process.platform, arch: process.arch, artifactName: 'electron' })); +} +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/index.js.map b/desktop/node_modules/@electron/get/dist/esm/index.js.map new file mode 100644 index 0000000..8dd8053 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/proxy.d.ts b/desktop/node_modules/@electron/get/dist/esm/proxy.d.ts new file mode 100644 index 0000000..df3e16a --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/proxy.d.ts @@ -0,0 +1,4 @@ +/** + * Initializes a third-party proxy module for HTTP(S) requests. + */ +export declare function initializeProxy(): void; diff --git a/desktop/node_modules/@electron/get/dist/esm/proxy.js b/desktop/node_modules/@electron/get/dist/esm/proxy.js new file mode 100644 index 0000000..c6336c1 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/proxy.js @@ -0,0 +1,24 @@ +import * as debug from 'debug'; +import { getEnv, setEnv } from './utils'; +const d = debug('@electron/get:proxy'); +/** + * Initializes a third-party proxy module for HTTP(S) requests. + */ +export function initializeProxy() { + try { + // See: https://github.com/electron/get/pull/214#discussion_r798845713 + const env = getEnv('GLOBAL_AGENT_'); + setEnv('GLOBAL_AGENT_HTTP_PROXY', env('HTTP_PROXY')); + setEnv('GLOBAL_AGENT_HTTPS_PROXY', env('HTTPS_PROXY')); + setEnv('GLOBAL_AGENT_NO_PROXY', env('NO_PROXY')); + /** + * TODO: replace global-agent with a hpagent. @BlackHole1 + * https://github.com/sindresorhus/got/blob/HEAD/documentation/tips.md#proxying + */ + require('global-agent').bootstrap(); + } + catch (e) { + d('Could not load either proxy modules, built-in proxy support not available:', e); + } +} +//# sourceMappingURL=proxy.js.map \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/proxy.js.map b/desktop/node_modules/@electron/get/dist/esm/proxy.js.map new file mode 100644 index 0000000..8c2f2d7 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/proxy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI;QACF,sEAAsE;QACtE,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,yBAAyB,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,0BAA0B,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,uBAAuB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAEjD;;;WAGG;QACH,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC;KACrC;IAAC,OAAO,CAAC,EAAE;QACV,CAAC,CAAC,4EAA4E,EAAE,CAAC,CAAC,CAAC;KACpF;AACH,CAAC"} \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/types.d.ts b/desktop/node_modules/@electron/get/dist/esm/types.d.ts new file mode 100644 index 0000000..a8284bb --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/types.d.ts @@ -0,0 +1,129 @@ +import { Downloader } from './Downloader'; +export declare type DownloadOptions = any; +export interface MirrorOptions { + /** + * DEPRECATED - see nightlyMirror. + */ + nightly_mirror?: string; + /** + * The Electron nightly-specific mirror URL. + */ + nightlyMirror?: string; + /** + * The base URL of the mirror to download from, + * e.g https://github.com/electron/electron/releases/download + */ + mirror?: string; + /** + * The name of the directory to download from, + * often scoped by version number e.g 'v4.0.4' + */ + customDir?: string; + /** + * The name of the asset to download, + * e.g 'electron-v4.0.4-linux-x64.zip' + */ + customFilename?: string; + /** + * The version of the asset to download, + * e.g '4.0.4' + */ + customVersion?: string; + /** + * A function allowing customization of the url returned + * from getArtifactRemoteURL(). + */ + resolveAssetURL?: (opts: DownloadOptions) => Promise; +} +export interface ElectronDownloadRequest { + /** + * The version of Electron associated with the artifact. + */ + version: string; + /** + * The type of artifact. For example: + * * `electron` + * * `ffmpeg` + */ + artifactName: string; +} +export interface ElectronDownloadRequestOptions { + /** + * Whether to download an artifact regardless of whether it's in the cache directory. + * + * Defaults to `false`. + */ + force?: boolean; + /** + * When set to `true`, disables checking that the artifact download completed successfully + * with the correct payload. + * + * Defaults to `false`. + */ + unsafelyDisableChecksums?: boolean; + /** + * Provides checksums for the artifact as strings. + * Can be used if you already know the checksums of the Electron artifact + * you are downloading and want to skip the checksum file download + * without skipping the checksum validation. + * + * This should be an object whose keys are the file names of the artifacts and + * the values are their respective SHA256 checksums. + */ + checksums?: Record; + /** + * The directory that caches Electron artifact downloads. + * + * The default value is dependent upon the host platform: + * + * * Linux: `$XDG_CACHE_HOME` or `~/.cache/electron/` + * * MacOS: `~/Library/Caches/electron/` + * * Windows: `%LOCALAPPDATA%/electron/Cache` or `~/AppData/Local/electron/Cache/` + */ + cacheRoot?: string; + /** + * Options passed to the downloader module. + */ + downloadOptions?: DownloadOptions; + /** + * Options related to specifying an artifact mirror. + */ + mirrorOptions?: MirrorOptions; + /** + * The custom [[Downloader]] class used to download artifacts. Defaults to the + * built-in [[GotDownloader]]. + */ + downloader?: Downloader; + /** + * A temporary directory for downloads. + * It is used before artifacts are put into cache. + */ + tempDirectory?: string; +} +export declare type ElectronPlatformArtifactDetails = { + /** + * The target artifact platform. These are Node-style platform names, for example: + * * `win32` + * * `darwin` + * * `linux` + */ + platform: string; + /** + * The target artifact architecture. These are Node-style architecture names, for example: + * * `ia32` + * * `x64` + * * `armv7l` + */ + arch: string; + artifactSuffix?: string; + isGeneric?: false; +} & ElectronDownloadRequest & ElectronDownloadRequestOptions; +export declare type ElectronGenericArtifactDetails = { + isGeneric: true; +} & ElectronDownloadRequest & ElectronDownloadRequestOptions; +export declare type ElectronArtifactDetails = ElectronPlatformArtifactDetails | ElectronGenericArtifactDetails; +export declare type Omit = Pick>; +export declare type ElectronPlatformArtifactDetailsWithDefaults = (Omit & { + platform?: string; + arch?: string; +}) | ElectronGenericArtifactDetails; diff --git a/desktop/node_modules/@electron/get/dist/esm/types.js b/desktop/node_modules/@electron/get/dist/esm/types.js new file mode 100644 index 0000000..5b2306a --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/types.js @@ -0,0 +1 @@ +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/types.js.map b/desktop/node_modules/@electron/get/dist/esm/types.js.map new file mode 100644 index 0000000..7b5fff8 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/utils.d.ts b/desktop/node_modules/@electron/get/dist/esm/utils.d.ts new file mode 100644 index 0000000..3cc40c1 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/utils.d.ts @@ -0,0 +1,25 @@ +export declare function withTempDirectoryIn(parentDirectory: string | undefined, fn: (directory: string) => Promise): Promise; +export declare function withTempDirectory(fn: (directory: string) => Promise): Promise; +export declare function normalizeVersion(version: string): string; +/** + * Runs the `uname` command and returns the trimmed output. + */ +export declare function uname(): string; +/** + * Generates an architecture name that would be used in an Electron or Node.js + * download file name. + */ +export declare function getNodeArch(arch: string): string; +/** + * Generates an architecture name that would be used in an Electron or Node.js + * download file name, from the `process` module information. + */ +export declare function getHostArch(): string; +export declare function ensureIsTruthyString(obj: T, key: K): void; +export declare function isOfficialLinuxIA32Download(platform: string, arch: string, version: string, mirrorOptions?: object): boolean; +/** + * Find the value of a environment variable which may or may not have the + * prefix, in a case-insensitive manner. + */ +export declare function getEnv(prefix?: string): (name: string) => string | undefined; +export declare function setEnv(key: string, value: string | undefined): void; diff --git a/desktop/node_modules/@electron/get/dist/esm/utils.js b/desktop/node_modules/@electron/get/dist/esm/utils.js new file mode 100644 index 0000000..575ea86 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/utils.js @@ -0,0 +1,95 @@ +import * as childProcess from 'child_process'; +import * as fs from 'fs-extra'; +import * as os from 'os'; +import * as path from 'path'; +async function useAndRemoveDirectory(directory, fn) { + let result; + try { + result = await fn(directory); + } + finally { + await fs.remove(directory); + } + return result; +} +export async function withTempDirectoryIn(parentDirectory = os.tmpdir(), fn) { + const tempDirectoryPrefix = 'electron-download-'; + const tempDirectory = await fs.mkdtemp(path.resolve(parentDirectory, tempDirectoryPrefix)); + return useAndRemoveDirectory(tempDirectory, fn); +} +export async function withTempDirectory(fn) { + return withTempDirectoryIn(undefined, fn); +} +export function normalizeVersion(version) { + if (!version.startsWith('v')) { + return `v${version}`; + } + return version; +} +/** + * Runs the `uname` command and returns the trimmed output. + */ +export function uname() { + return childProcess + .execSync('uname -m') + .toString() + .trim(); +} +/** + * Generates an architecture name that would be used in an Electron or Node.js + * download file name. + */ +export 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; +} +/** + * Generates an architecture name that would be used in an Electron or Node.js + * download file name, from the `process` module information. + */ +export function getHostArch() { + return getNodeArch(process.arch); +} +export 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`); + } +} +export function isOfficialLinuxIA32Download(platform, arch, version, mirrorOptions) { + return (platform === 'linux' && + arch === 'ia32' && + Number(version.slice(1).split('.')[0]) >= 4 && + typeof mirrorOptions === 'undefined'); +} +/** + * Find the value of a environment variable which may or may not have the + * prefix, in a case-insensitive manner. + */ +export 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); + }; +} +export 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; + } +} +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/desktop/node_modules/@electron/get/dist/esm/utils.js.map b/desktop/node_modules/@electron/get/dist/esm/utils.js.map new file mode 100644 index 0000000..6c65992 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/esm/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file -- cgit