aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@electron
diff options
context:
space:
mode:
authorPriyansh <[email protected]>2020-12-22 17:49:59 +0530
committerPriyansh <[email protected]>2020-12-22 17:49:59 +0530
commite93da8b04da86773247aadb1cbb1912e4f4526b2 (patch)
treeeb4ef3203a92ed3dbd2252ddb1ea23bd2d670c98 /node_modules/@electron
parenta5743c293dcb435e4b159a4df791f8955a4110ec (diff)
downloadstyx-e93da8b04da86773247aadb1cbb1912e4f4526b2.tar.xz
styx-e93da8b04da86773247aadb1cbb1912e4f4526b2.zip
Rewriting Project
Diffstat (limited to 'node_modules/@electron')
-rw-r--r--node_modules/@electron/get/README.md142
-rw-r--r--node_modules/@electron/get/dist/cjs/Cache.d.ts7
-rw-r--r--node_modules/@electron/get/dist/cjs/Cache.js53
-rw-r--r--node_modules/@electron/get/dist/cjs/Cache.js.map1
-rw-r--r--node_modules/@electron/get/dist/cjs/Downloader.d.ts3
-rw-r--r--node_modules/@electron/get/dist/cjs/Downloader.js3
-rw-r--r--node_modules/@electron/get/dist/cjs/Downloader.js.map1
-rw-r--r--node_modules/@electron/get/dist/cjs/GotDownloader.d.ts19
-rw-r--r--node_modules/@electron/get/dist/cjs/GotDownloader.js75
-rw-r--r--node_modules/@electron/get/dist/cjs/GotDownloader.js.map1
-rw-r--r--node_modules/@electron/get/dist/cjs/artifact-utils.d.ts3
-rw-r--r--node_modules/@electron/get/dist/cjs/artifact-utils.js56
-rw-r--r--node_modules/@electron/get/dist/cjs/artifact-utils.js.map1
-rw-r--r--node_modules/@electron/get/dist/cjs/downloader-resolver.d.ts2
-rw-r--r--node_modules/@electron/get/dist/cjs/downloader-resolver.js12
-rw-r--r--node_modules/@electron/get/dist/cjs/downloader-resolver.js.map1
-rw-r--r--node_modules/@electron/get/dist/cjs/index.d.ts18
-rw-r--r--node_modules/@electron/get/dist/cjs/index.js99
-rw-r--r--node_modules/@electron/get/dist/cjs/index.js.map1
-rw-r--r--node_modules/@electron/get/dist/cjs/proxy.d.ts4
-rw-r--r--node_modules/@electron/get/dist/cjs/proxy.js26
-rw-r--r--node_modules/@electron/get/dist/cjs/proxy.js.map1
-rw-r--r--node_modules/@electron/get/dist/cjs/types.d.ts114
-rw-r--r--node_modules/@electron/get/dist/cjs/types.js3
-rw-r--r--node_modules/@electron/get/dist/cjs/types.js.map1
-rw-r--r--node_modules/@electron/get/dist/cjs/utils.d.ts19
-rw-r--r--node_modules/@electron/get/dist/cjs/utils.js82
-rw-r--r--node_modules/@electron/get/dist/cjs/utils.js.map1
-rw-r--r--node_modules/@electron/get/dist/esm/Cache.d.ts7
-rw-r--r--node_modules/@electron/get/dist/esm/Cache.js50
-rw-r--r--node_modules/@electron/get/dist/esm/Cache.js.map1
-rw-r--r--node_modules/@electron/get/dist/esm/Downloader.d.ts3
-rw-r--r--node_modules/@electron/get/dist/esm/Downloader.js1
-rw-r--r--node_modules/@electron/get/dist/esm/Downloader.js.map1
-rw-r--r--node_modules/@electron/get/dist/esm/GotDownloader.d.ts19
-rw-r--r--node_modules/@electron/get/dist/esm/GotDownloader.js72
-rw-r--r--node_modules/@electron/get/dist/esm/GotDownloader.js.map1
-rw-r--r--node_modules/@electron/get/dist/esm/artifact-utils.d.ts3
-rw-r--r--node_modules/@electron/get/dist/esm/artifact-utils.js52
-rw-r--r--node_modules/@electron/get/dist/esm/artifact-utils.js.map1
-rw-r--r--node_modules/@electron/get/dist/esm/downloader-resolver.d.ts2
-rw-r--r--node_modules/@electron/get/dist/esm/downloader-resolver.js9
-rw-r--r--node_modules/@electron/get/dist/esm/downloader-resolver.js.map1
-rw-r--r--node_modules/@electron/get/dist/esm/index.d.ts18
-rw-r--r--node_modules/@electron/get/dist/esm/index.js93
-rw-r--r--node_modules/@electron/get/dist/esm/index.js.map1
-rw-r--r--node_modules/@electron/get/dist/esm/proxy.d.ts4
-rw-r--r--node_modules/@electron/get/dist/esm/proxy.js23
-rw-r--r--node_modules/@electron/get/dist/esm/proxy.js.map1
-rw-r--r--node_modules/@electron/get/dist/esm/types.d.ts114
-rw-r--r--node_modules/@electron/get/dist/esm/types.js1
-rw-r--r--node_modules/@electron/get/dist/esm/types.js.map1
-rw-r--r--node_modules/@electron/get/dist/esm/utils.d.ts19
-rw-r--r--node_modules/@electron/get/dist/esm/utils.js72
-rw-r--r--node_modules/@electron/get/dist/esm/utils.js.map1
-rw-r--r--node_modules/@electron/get/package.json113
56 files changed, 1433 insertions, 0 deletions
diff --git a/node_modules/@electron/get/README.md b/node_modules/@electron/get/README.md
new file mode 100644
index 0000000..b029b24
--- /dev/null
+++ b/node_modules/@electron/get/README.md
@@ -0,0 +1,142 @@
+# @electron/get
+
+> Download Electron release artifacts
+
+[![CircleCI](https://circleci.com/gh/electron/get.svg?style=svg)](https://circleci.com/gh/electron/get)
+
+## Usage
+
+### Simple: Downloading an Electron Binary ZIP
+
+```typescript
+import { download } from '@electron/get';
+
+// NB: Use this syntax within an async function, Node does not have support for
+// top-level await as of Node 12.
+const zipFilePath = await download('4.0.4');
+```
+
+### Advanced: Downloading a macOS Electron Symbol File
+
+
+```typescript
+import { downloadArtifact } from '@electron/get';
+
+// NB: Use this syntax within an async function, Node does not have support for
+// top-level await as of Node 12.
+const zipFilePath = await downloadArtifact({
+ version: '4.0.4',
+ platform: 'darwin',
+ artifactName: 'electron',
+ artifactSuffix: 'symbols',
+ arch: 'x64',
+});
+```
+
+### Specifying a mirror
+
+To specify another location to download Electron assets from, the following options are
+available:
+
+* `mirrorOptions` Object
+ * `mirror` String (optional) - The base URL of the mirror to download from.
+ * `nightlyMirror` String (optional) - The Electron nightly-specific mirror URL.
+ * `customDir` String (optional) - The name of the directory to download from, often scoped by version number.
+ * `customFilename` String (optional) - The name of the asset to download.
+ * `resolveAssetURL` Function (optional) - A function allowing customization of the url used to download the asset.
+
+Anatomy of a download URL, in terms of `mirrorOptions`:
+
+```
+https://github.com/electron/electron/releases/download/v4.0.4/electron-v4.0.4-linux-x64.zip
+| | | |
+------------------------------------------------------- -----------------------------
+ | |
+ mirror / nightlyMirror | | customFilename
+ ------
+ ||
+ customDir
+```
+
+Example:
+
+```typescript
+import { download } from '@electron/get';
+
+const zipFilePath = await download('4.0.4', {
+ mirrorOptions: {
+ mirror: 'https://mirror.example.com/electron/',
+ customDir: 'custom',
+ customFilename: 'unofficial-electron-linux.zip'
+ }
+});
+// Will download from https://mirror.example.com/electron/custom/unofficial-electron-linux.zip
+
+const nightlyZipFilePath = await download('8.0.0-nightly.20190901', {
+ mirrorOptions: {
+ nightlyMirror: 'https://nightly.example.com/',
+ customDir: 'nightlies',
+ customFilename: 'nightly-linux.zip'
+ }
+});
+// Will download from https://nightly.example.com/nightlies/nightly-linux.zip
+```
+
+`customDir` can have the placeholder `{{ version }}`, which will be replaced by the version
+specified (without the leading `v`). For example:
+
+```javascript
+const zipFilePath = await download('4.0.4', {
+ mirrorOptions: {
+ mirror: 'https://mirror.example.com/electron/',
+ customDir: 'version-{{ version }}',
+ platform: 'linux',
+ arch: 'x64'
+ }
+});
+// Will download from https://mirror.example.com/electron/version-4.0.4/electron-v4.0.4-linux-x64.zip
+```
+
+#### Using environment variables for mirror options
+Mirror options can also be specified via the following environment variables:
+* `ELECTRON_CUSTOM_DIR` - Specifies the custom directory to download from.
+* `ELECTRON_CUSTOM_FILENAME` - Specifies the custom file name to download.
+* `ELECTRON_MIRROR` - Specifies the URL of the server to download from if the version is not a nightly version.
+* `ELECTRON_NIGHTLY_MIRROR` - Specifies the URL of the server to download from if the version is a nightly version.
+
+### Overriding the version downloaded
+
+The version downloaded can be overriden by setting the `ELECTRON_CUSTOM_VERSION` environment variable.
+Setting this environment variable will override the version passed in to `download` or `downloadArtifact`.
+
+## How It Works
+
+This module downloads Electron to a known place on your system and caches it
+so that future requests for that asset can be returned instantly. The cache
+locations are:
+
+* Linux: `$XDG_CACHE_HOME` or `~/.cache/electron/`
+* MacOS: `~/Library/Caches/electron/`
+* Windows: `%LOCALAPPDATA%/electron/Cache` or `~/AppData/Local/electron/Cache/`
+
+By default, the module uses [`got`](https://github.com/sindresorhus/got) as the
+downloader. As a result, you can use the same [options](https://github.com/sindresorhus/got#options)
+via `downloadOptions`.
+
+### Progress Bar
+
+By default, a progress bar is shown when downloading an artifact for more than 30 seconds. To
+disable, set the `ELECTRON_GET_NO_PROGRESS` environment variable to any non-empty value, or set
+`quiet` to `true` in `downloadOptions`. If you need to monitor progress yourself via the API, set
+`getProgressCallback` in `downloadOptions`, which has the same function signature as `got`'s
+[`downloadProgress` event callback](https://github.com/sindresorhus/got#ondownloadprogress-progress).
+
+### Proxies
+
+Downstream packages should utilize the `initializeProxy` function to add HTTP(S) proxy support. If
+the environment variable `ELECTRON_GET_USE_PROXY` is set, it is called automatically. A different
+proxy module is used, depending on the version of Node in use, and as such, there are slightly
+different ways to set the proxy environment variables. For Node 10 and above,
+[`global-agent`](https://github.com/gajus/global-agent#environment-variables) is used. Otherwise,
+[`global-tunnel-ng`](https://github.com/np-maintain/global-tunnel#auto-config) is used. Refer to the
+appropriate linked module to determine how to configure proxy support.
diff --git a/node_modules/@electron/get/dist/cjs/Cache.d.ts b/node_modules/@electron/get/dist/cjs/Cache.d.ts
new file mode 100644
index 0000000..a6adc32
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/Cache.d.ts
@@ -0,0 +1,7 @@
+export declare class Cache {
+ private cacheRoot;
+ constructor(cacheRoot?: string);
+ getCachePath(downloadUrl: string, fileName: string): string;
+ getPathForFileInCache(url: string, fileName: string): Promise<string | null>;
+ putFileInCache(url: string, currentPath: string, fileName: string): Promise<string>;
+}
diff --git a/node_modules/@electron/get/dist/cjs/Cache.js b/node_modules/@electron/get/dist/cjs/Cache.js
new file mode 100644
index 0000000..af2c11f
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/Cache.js
@@ -0,0 +1,53 @@
+"use strict";
+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;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const debug_1 = require("debug");
+const env_paths_1 = require("env-paths");
+const fs = require("fs-extra");
+const path = require("path");
+const url = require("url");
+const sanitize = require("sanitize-filename");
+const d = debug_1.default('@electron/get:cache');
+const defaultCacheRoot = env_paths_1.default('electron', {
+ suffix: '',
+}).cache;
+class Cache {
+ constructor(cacheRoot = defaultCacheRoot) {
+ this.cacheRoot = cacheRoot;
+ }
+ getCachePath(downloadUrl, fileName) {
+ const _a = url.parse(downloadUrl), { search, hash } = _a, rest = __rest(_a, ["search", "hash"]);
+ const strippedUrl = url.format(rest);
+ const sanitizedUrl = sanitize(strippedUrl);
+ return path.resolve(this.cacheRoot, sanitizedUrl, 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;
+ }
+}
+exports.Cache = Cache;
+//# sourceMappingURL=Cache.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/Cache.js.map b/node_modules/@electron/get/dist/cjs/Cache.js.map
new file mode 100644
index 0000000..6a30dec
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/Cache.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,iCAA0B;AAC1B,yCAAiC;AACjC,+BAA+B;AAC/B,6BAA6B;AAC7B,2BAA2B;AAC3B,8CAA8C;AAE9C,MAAM,CAAC,GAAG,eAAK,CAAC,qBAAqB,CAAC,CAAC;AAEvC,MAAM,gBAAgB,GAAG,mBAAQ,CAAC,UAAU,EAAE;IAC5C,MAAM,EAAE,EAAE;CACX,CAAC,CAAC,KAAK,CAAC;AAET,MAAa,KAAK;IAChB,YAAoB,YAAY,gBAAgB;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAE7C,YAAY,CAAC,WAAmB,EAAE,QAAgB;QACvD,MAAM,2BAAkD,EAAlD,EAAE,MAAM,EAAE,IAAI,OAAoC,EAAlC,qCAAkC,CAAC;QACzD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC9D,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;AAhCD,sBAgCC"} \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/Downloader.d.ts b/node_modules/@electron/get/dist/cjs/Downloader.d.ts
new file mode 100644
index 0000000..8e5e40e
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/Downloader.d.ts
@@ -0,0 +1,3 @@
+export interface Downloader<T> {
+ download(url: string, targetFilePath: string, options: T): Promise<void>;
+}
diff --git a/node_modules/@electron/get/dist/cjs/Downloader.js b/node_modules/@electron/get/dist/cjs/Downloader.js
new file mode 100644
index 0000000..5940840
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/Downloader.js
@@ -0,0 +1,3 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+//# sourceMappingURL=Downloader.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/Downloader.js.map b/node_modules/@electron/get/dist/cjs/Downloader.js.map
new file mode 100644
index 0000000..c6199d5
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/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/node_modules/@electron/get/dist/cjs/GotDownloader.d.ts b/node_modules/@electron/get/dist/cjs/GotDownloader.d.ts
new file mode 100644
index 0000000..88686fd
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/GotDownloader.d.ts
@@ -0,0 +1,19 @@
+import * as got from 'got';
+import { Downloader } from './Downloader';
+/**
+ * See [`got#options`](https://github.com/sindresorhus/got#options) for possible keys/values.
+ */
+export declare type GotDownloaderOptions = got.GotOptions<string | null> & {
+ /**
+ * if defined, triggers every time `got`'s `downloadProgress` event callback is triggered.
+ */
+ getProgressCallback?: (progress: got.Progress) => Promise<void>;
+ /**
+ * 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<GotDownloaderOptions> {
+ download(url: string, targetFilePath: string, options?: GotDownloaderOptions): Promise<void>;
+}
diff --git a/node_modules/@electron/get/dist/cjs/GotDownloader.js b/node_modules/@electron/get/dist/cjs/GotDownloader.js
new file mode 100644
index 0000000..19543de
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/GotDownloader.js
@@ -0,0 +1,75 @@
+"use strict";
+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;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const fs = require("fs-extra");
+const got = require("got");
+const path = require("path");
+const ProgressBar = require("progress");
+const PROGRESS_BAR_DELAY_IN_SECONDS = 30;
+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
+ 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.name === 'HTTPError' && error.statusCode === 404) {
+ error.message += ` for ${error.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);
+ }
+ }
+}
+exports.GotDownloader = GotDownloader;
+//# sourceMappingURL=GotDownloader.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/GotDownloader.js.map b/node_modules/@electron/get/dist/cjs/GotDownloader.js.map
new file mode 100644
index 0000000..81f60d6
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/GotDownloader.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"GotDownloader.js","sourceRoot":"","sources":["../../src/GotDownloader.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,2BAA2B;AAC3B,6BAA6B;AAC7B,wCAAwC;AAIxC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAiBzC,MAAa,aAAa;IACxB,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,cAAsB,EAAE,OAA8B;QAChF,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;SACd;QACD,MAAM,EAAE,KAAK,EAAE,mBAAmB,KAAoB,OAAO,EAAzB,8DAAyB,CAAC;QAC9D,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,GAA4B,CAAC;QACjC,IAAI,eAAuB,CAAC;QAC5B,IAAI,OAAO,GAA+B,SAAS,CAAC;QACpD,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAEzD,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,IAAI,CAAC,iBAAiB,EAAE;oBACtB,GAAG,GAAG,IAAI,WAAW,CACnB,eAAe,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sCAAsC,EACvE;wBACE,IAAI,EAAE,eAAe;wBACrB,KAAK,EAAE,GAAG;qBACX,CACF,CAAC;oBACF,0DAA0D;oBACzD,GAAW,CAAC,KAAK,GAAG,KAAK,CAAC;iBAC5B;YACH,CAAC,EAAE,6BAA6B,GAAG,IAAI,CAAC,CAAC;SAC1C;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACnD,cAAc,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACrD,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACnC,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAC9B;gBACD,IAAI,mBAAmB,EAAE;oBACvB,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;iBACrC;YACH,CAAC,CAAC,CAAC;YACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,EAAE;oBAC1D,KAAK,CAAC,OAAO,IAAI,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;iBACtC;gBACD,IAAI,WAAW,CAAC,OAAO,EAAE;oBACvB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC5B;gBAED,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAEzC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,iBAAiB,GAAG,IAAI,CAAC;QACzB,IAAI,OAAO,EAAE;YACX,YAAY,CAAC,OAAO,CAAC,CAAC;SACvB;IACH,CAAC;CACF;AA7DD,sCA6DC"} \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/artifact-utils.d.ts b/node_modules/@electron/get/dist/cjs/artifact-utils.d.ts
new file mode 100644
index 0000000..3426f60
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/artifact-utils.d.ts
@@ -0,0 +1,3 @@
+import { ElectronArtifactDetails } from './types';
+export declare function getArtifactFileName(details: ElectronArtifactDetails): string;
+export declare function getArtifactRemoteURL(details: ElectronArtifactDetails): Promise<string>;
diff --git a/node_modules/@electron/get/dist/cjs/artifact-utils.js b/node_modules/@electron/get/dist/cjs/artifact-utils.js
new file mode 100644
index 0000000..5387b18
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/artifact-utils.js
@@ -0,0 +1,56 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const utils_1 = require("./utils");
+const BASE_URL = 'https://github.com/electron/electron/releases/download/';
+const NIGHTLY_BASE_URL = 'https://github.com/electron/nightlies/releases/download/';
+function getArtifactFileName(details) {
+ utils_1.ensureIsTruthyString(details, 'artifactName');
+ if (details.isGeneric) {
+ return details.artifactName;
+ }
+ utils_1.ensureIsTruthyString(details, 'arch');
+ utils_1.ensureIsTruthyString(details, 'platform');
+ utils_1.ensureIsTruthyString(details, 'version');
+ return `${[
+ details.artifactName,
+ details.version,
+ details.platform,
+ details.arch,
+ ...(details.artifactSuffix ? [details.artifactSuffix] : []),
+ ].join('-')}.zip`;
+}
+exports.getArtifactFileName = getArtifactFileName;
+function mirrorVar(name, options, defaultValue) {
+ // Convert camelCase to camel_case for env var reading
+ const lowerName = name.replace(/([a-z])([A-Z])/g, (_, a, b) => `${a}_${b}`).toLowerCase();
+ return (process.env[`NPM_CONFIG_ELECTRON_${lowerName.toUpperCase()}`] ||
+ process.env[`npm_config_electron_${lowerName}`] ||
+ process.env[`npm_package_config_electron_${lowerName}`] ||
+ process.env[`ELECTRON_${lowerName.toUpperCase()}`] ||
+ options[name] ||
+ defaultValue);
+}
+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}`;
+}
+exports.getArtifactRemoteURL = getArtifactRemoteURL;
+//# sourceMappingURL=artifact-utils.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/artifact-utils.js.map b/node_modules/@electron/get/dist/cjs/artifact-utils.js.map
new file mode 100644
index 0000000..d398002
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/artifact-utils.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"artifact-utils.js","sourceRoot":"","sources":["../../src/artifact-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/downloader-resolver.d.ts b/node_modules/@electron/get/dist/cjs/downloader-resolver.d.ts
new file mode 100644
index 0000000..d18a6b3
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/downloader-resolver.d.ts
@@ -0,0 +1,2 @@
+import { Downloader } from './Downloader';
+export declare function getDownloaderForSystem(): Promise<Downloader<any>>;
diff --git a/node_modules/@electron/get/dist/cjs/downloader-resolver.js b/node_modules/@electron/get/dist/cjs/downloader-resolver.js
new file mode 100644
index 0000000..52a51d3
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/downloader-resolver.js
@@ -0,0 +1,12 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+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 Promise.resolve().then(() => require('./GotDownloader'));
+ return new GotDownloader();
+}
+exports.getDownloaderForSystem = getDownloaderForSystem;
+//# sourceMappingURL=downloader-resolver.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/downloader-resolver.js.map b/node_modules/@electron/get/dist/cjs/downloader-resolver.js.map
new file mode 100644
index 0000000..47269c3
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/downloader-resolver.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"downloader-resolver.js","sourceRoot":"","sources":["../../src/downloader-resolver.ts"],"names":[],"mappings":";;AAEO,KAAK,UAAU,sBAAsB;IAC1C,2DAA2D;IAC3D,+DAA+D;IAC/D,yEAAyE;IACzE,mDAAmD;IACnD,MAAM,EAAE,aAAa,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC;IAC1D,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC;AAPD,wDAOC"} \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/index.d.ts b/node_modules/@electron/get/dist/cjs/index.d.ts
new file mode 100644
index 0000000..c203ff5
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/index.d.ts
@@ -0,0 +1,18 @@
+import { ElectronDownloadRequestOptions, ElectronPlatformArtifactDetailsWithDefaults } from './types';
+export { getHostArch } from './utils';
+export { initializeProxy } from './proxy';
+export * from './types';
+/**
+ * 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<string>;
+/**
+ * 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<string>;
diff --git a/node_modules/@electron/get/dist/cjs/index.js b/node_modules/@electron/get/dist/cjs/index.js
new file mode 100644
index 0000000..6d30fe1
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/index.js
@@ -0,0 +1,99 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const debug_1 = require("debug");
+const path = require("path");
+const sumchecker = require("sumchecker");
+const artifact_utils_1 = require("./artifact-utils");
+const Cache_1 = require("./Cache");
+const downloader_resolver_1 = require("./downloader-resolver");
+const proxy_1 = require("./proxy");
+const utils_1 = require("./utils");
+var utils_2 = require("./utils");
+exports.getHostArch = utils_2.getHostArch;
+var proxy_2 = require("./proxy");
+exports.initializeProxy = proxy_2.initializeProxy;
+const d = debug_1.default('@electron/get:index');
+if (process.env.ELECTRON_GET_USE_PROXY) {
+ proxy_1.initializeProxy();
+}
+/**
+ * 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
+ */
+function download(version, options) {
+ return downloadArtifact(Object.assign(Object.assign({}, options), { version, platform: process.platform, arch: process.arch, artifactName: 'electron' }));
+}
+exports.download = download;
+/**
+ * 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
+ */
+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 = utils_1.getNodeArch(platformArtifactDetails.arch);
+ }
+ else {
+ d('No arch found, defaulting to the host arch');
+ platformArtifactDetails.arch = utils_1.getHostArch();
+ }
+ }
+ utils_1.ensureIsTruthyString(artifactDetails, 'version');
+ artifactDetails.version = utils_1.normalizeVersion(process.env.ELECTRON_CUSTOM_VERSION || artifactDetails.version);
+ const fileName = artifact_utils_1.getArtifactFileName(artifactDetails);
+ const url = await artifact_utils_1.getArtifactRemoteURL(artifactDetails);
+ const cache = new Cache_1.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');
+ return cachedPath;
+ }
+ }
+ if (!artifactDetails.isGeneric &&
+ utils_1.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 utils_1.withTempDirectoryIn(artifactDetails.tempDirectory, async (tempFolder) => {
+ const tempDownloadPath = path.resolve(tempFolder, artifact_utils_1.getArtifactFileName(artifactDetails));
+ const downloader = artifactDetails.downloader || (await downloader_resolver_1.getDownloaderForSystem());
+ d(`Downloading ${url} to ${tempDownloadPath} with options: ${JSON.stringify(artifactDetails.downloadOptions)}`);
+ await downloader.download(url, tempDownloadPath, artifactDetails.downloadOptions);
+ // Don't try to verify the hash of the hash file itself
+ if (!artifactDetails.artifactName.startsWith('SHASUMS256') &&
+ !artifactDetails.unsafelyDisableChecksums) {
+ const 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,
+ });
+ await sumchecker('sha256', shasumPath, path.dirname(tempDownloadPath), [
+ path.basename(tempDownloadPath),
+ ]);
+ }
+ return await cache.putFileInCache(url, tempDownloadPath, fileName);
+ });
+}
+exports.downloadArtifact = downloadArtifact;
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/index.js.map b/node_modules/@electron/get/dist/cjs/index.js.map
new file mode 100644
index 0000000..6606ebe
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/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/node_modules/@electron/get/dist/cjs/proxy.d.ts b/node_modules/@electron/get/dist/cjs/proxy.d.ts
new file mode 100644
index 0000000..df3e16a
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/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/node_modules/@electron/get/dist/cjs/proxy.js b/node_modules/@electron/get/dist/cjs/proxy.js
new file mode 100644
index 0000000..a90d572
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/proxy.js
@@ -0,0 +1,26 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const debug = require("debug");
+const d = debug('@electron/get:proxy');
+/**
+ * Initializes a third-party proxy module for HTTP(S) requests.
+ */
+function initializeProxy() {
+ try {
+ // Code originally from https://github.com/yeoman/yo/blob/b2eea87e/lib/cli.js#L19-L28
+ const MAJOR_NODEJS_VERSION = parseInt(process.version.slice(1).split('.')[0], 10);
+ if (MAJOR_NODEJS_VERSION >= 10) {
+ // `global-agent` works with Node.js v10 and above.
+ require('global-agent').bootstrap();
+ }
+ else {
+ // `global-tunnel-ng` works with Node.js v10 and below.
+ require('global-tunnel-ng').initialize();
+ }
+ }
+ catch (e) {
+ d('Could not load either proxy modules, built-in proxy support not available:', e);
+ }
+}
+exports.initializeProxy = initializeProxy;
+//# sourceMappingURL=proxy.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/proxy.js.map b/node_modules/@electron/get/dist/cjs/proxy.js.map
new file mode 100644
index 0000000..728241e
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/proxy.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAE/B,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEvC;;GAEG;AACH,SAAgB,eAAe;IAC7B,IAAI;QACF,qFAAqF;QACrF,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAElF,IAAI,oBAAoB,IAAI,EAAE,EAAE;YAC9B,mDAAmD;YACnD,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC;SACrC;aAAM;YACL,uDAAuD;YACvD,OAAO,CAAC,kBAAkB,CAAC,CAAC,UAAU,EAAE,CAAC;SAC1C;KACF;IAAC,OAAO,CAAC,EAAE;QACV,CAAC,CAAC,4EAA4E,EAAE,CAAC,CAAC,CAAC;KACpF;AACH,CAAC;AAfD,0CAeC"} \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/types.d.ts b/node_modules/@electron/get/dist/cjs/types.d.ts
new file mode 100644
index 0000000..3f53c85
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/types.d.ts
@@ -0,0 +1,114 @@
+import { Downloader } from './Downloader';
+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;
+ /**
+ * A function allowing customization of the url returned
+ * from getArtifactRemoteURL().
+ */
+ resolveAssetURL?: (opts: DownloadOptions) => Promise<string>;
+}
+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;
+ /**
+ * 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<any>;
+ /**
+ * 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<T, K> = Pick<T, Exclude<keyof T, K>>;
+export declare type ElectronPlatformArtifactDetailsWithDefaults = (Omit<ElectronPlatformArtifactDetails, 'platform' | 'arch'> & {
+ platform?: string;
+ arch?: string;
+}) | ElectronGenericArtifactDetails;
+export declare type DownloadOptions = any;
diff --git a/node_modules/@electron/get/dist/cjs/types.js b/node_modules/@electron/get/dist/cjs/types.js
new file mode 100644
index 0000000..11e638d
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/types.js
@@ -0,0 +1,3 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+//# sourceMappingURL=types.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/types.js.map b/node_modules/@electron/get/dist/cjs/types.js.map
new file mode 100644
index 0000000..7b5fff8
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/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/node_modules/@electron/get/dist/cjs/utils.d.ts b/node_modules/@electron/get/dist/cjs/utils.d.ts
new file mode 100644
index 0000000..6bc848a
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/utils.d.ts
@@ -0,0 +1,19 @@
+export declare function withTempDirectoryIn<T>(parentDirectory: string | undefined, fn: (directory: string) => Promise<T>): Promise<T>;
+export declare function withTempDirectory<T>(fn: (directory: string) => Promise<T>): Promise<T>;
+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, from the `process` module information.
+ */
+export declare function getHostArch(): 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;
+export declare function ensureIsTruthyString<T, K extends keyof T>(obj: T, key: K): void;
+export declare function isOfficialLinuxIA32Download(platform: string, arch: string, version: string, mirrorOptions?: object): boolean;
diff --git a/node_modules/@electron/get/dist/cjs/utils.js b/node_modules/@electron/get/dist/cjs/utils.js
new file mode 100644
index 0000000..21d9743
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/utils.js
@@ -0,0 +1,82 @@
+"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, from the `process` module information.
+ */
+function getHostArch() {
+ return getNodeArch(process.arch);
+}
+exports.getHostArch = getHostArch;
+/**
+ * Generates an architecture name that would be used in an Electron or Node.js
+ * download file name.
+ */
+function getNodeArch(arch) {
+ if (arch === 'arm') {
+ switch (process.config.variables.arm_version) {
+ case '6':
+ return uname();
+ case '7':
+ default:
+ return 'armv7l';
+ }
+ }
+ return arch;
+}
+exports.getNodeArch = getNodeArch;
+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;
+//# sourceMappingURL=utils.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/cjs/utils.js.map b/node_modules/@electron/get/dist/cjs/utils.js.map
new file mode 100644
index 0000000..e436940
--- /dev/null
+++ b/node_modules/@electron/get/dist/cjs/utils.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;AAAA,8CAA8C;AAC9C,+BAA+B;AAC/B,yBAAyB;AACzB,6BAA6B;AAE7B,KAAK,UAAU,qBAAqB,CAClC,SAAiB,EACjB,EAAqC;IAErC,IAAI,MAAS,CAAC;IACd,IAAI;QACF,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;KAC9B;YAAS;QACR,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC5B;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,kBAA0B,EAAE,CAAC,MAAM,EAAE,EACrC,EAAqC;IAErC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC3F,OAAO,qBAAqB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAPD,kDAOC;AAEM,KAAK,UAAU,iBAAiB,CAAI,EAAqC;IAC9E,OAAO,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAFD,8CAEC;AAED,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC5B,OAAO,IAAI,OAAO,EAAE,CAAC;KACtB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AALD,4CAKC;AAED;;GAEG;AACH,SAAgB,KAAK;IACnB,OAAO,YAAY;SAChB,QAAQ,CAAC,UAAU,CAAC;SACpB,QAAQ,EAAE;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AALD,sBAKC;AAED;;;GAGG;AACH,SAAgB,WAAW;IACzB,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAFD,kCAEC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,QAAS,OAAO,CAAC,MAAM,CAAC,SAAiB,CAAC,WAAW,EAAE;YACrD,KAAK,GAAG;gBACN,OAAO,KAAK,EAAE,CAAC;YACjB,KAAK,GAAG,CAAC;YACT;gBACE,OAAO,QAAQ,CAAC;SACnB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAZD,kCAYC;AAED,SAAgB,oBAAoB,CAAuB,GAAM,EAAE,GAAM;IACvE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,6CAA6C,CAAC,CAAC;KACzF;AACH,CAAC;AAJD,oDAIC;AAED,SAAgB,2BAA2B,CACzC,QAAgB,EAChB,IAAY,EACZ,OAAe,EACf,aAAsB;IAEtB,OAAO,CACL,QAAQ,KAAK,OAAO;QACpB,IAAI,KAAK,MAAM;QACf,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,OAAO,aAAa,KAAK,WAAW,CACrC,CAAC;AACJ,CAAC;AAZD,kEAYC"} \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/esm/Cache.d.ts b/node_modules/@electron/get/dist/esm/Cache.d.ts
new file mode 100644
index 0000000..a6adc32
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/Cache.d.ts
@@ -0,0 +1,7 @@
+export declare class Cache {
+ private cacheRoot;
+ constructor(cacheRoot?: string);
+ getCachePath(downloadUrl: string, fileName: string): string;
+ getPathForFileInCache(url: string, fileName: string): Promise<string | null>;
+ putFileInCache(url: string, currentPath: string, fileName: string): Promise<string>;
+}
diff --git a/node_modules/@electron/get/dist/esm/Cache.js b/node_modules/@electron/get/dist/esm/Cache.js
new file mode 100644
index 0000000..a412d91
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/Cache.js
@@ -0,0 +1,50 @@
+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 sanitize from 'sanitize-filename';
+const d = debug('@electron/get:cache');
+const defaultCacheRoot = envPaths('electron', {
+ suffix: '',
+}).cache;
+export class Cache {
+ constructor(cacheRoot = defaultCacheRoot) {
+ this.cacheRoot = cacheRoot;
+ }
+ getCachePath(downloadUrl, fileName) {
+ const _a = url.parse(downloadUrl), { search, hash } = _a, rest = __rest(_a, ["search", "hash"]);
+ const strippedUrl = url.format(rest);
+ const sanitizedUrl = sanitize(strippedUrl);
+ return path.resolve(this.cacheRoot, sanitizedUrl, 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/node_modules/@electron/get/dist/esm/Cache.js.map b/node_modules/@electron/get/dist/esm/Cache.js.map
new file mode 100644
index 0000000..a0ed3f8
--- /dev/null
+++ b/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,QAAQ,MAAM,mBAAmB,CAAC;AAE9C,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,YAAY,CAAC,WAAmB,EAAE,QAAgB;QACvD,MAAM,2BAAkD,EAAlD,EAAE,MAAM,EAAE,IAAI,OAAoC,EAAlC,qCAAkC,CAAC;QACzD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC9D,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/node_modules/@electron/get/dist/esm/Downloader.d.ts b/node_modules/@electron/get/dist/esm/Downloader.d.ts
new file mode 100644
index 0000000..8e5e40e
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/Downloader.d.ts
@@ -0,0 +1,3 @@
+export interface Downloader<T> {
+ download(url: string, targetFilePath: string, options: T): Promise<void>;
+}
diff --git a/node_modules/@electron/get/dist/esm/Downloader.js b/node_modules/@electron/get/dist/esm/Downloader.js
new file mode 100644
index 0000000..6ff5866
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/Downloader.js
@@ -0,0 +1 @@
+//# sourceMappingURL=Downloader.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/esm/Downloader.js.map b/node_modules/@electron/get/dist/esm/Downloader.js.map
new file mode 100644
index 0000000..c6199d5
--- /dev/null
+++ b/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/node_modules/@electron/get/dist/esm/GotDownloader.d.ts b/node_modules/@electron/get/dist/esm/GotDownloader.d.ts
new file mode 100644
index 0000000..88686fd
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/GotDownloader.d.ts
@@ -0,0 +1,19 @@
+import * as got from 'got';
+import { Downloader } from './Downloader';
+/**
+ * See [`got#options`](https://github.com/sindresorhus/got#options) for possible keys/values.
+ */
+export declare type GotDownloaderOptions = got.GotOptions<string | null> & {
+ /**
+ * if defined, triggers every time `got`'s `downloadProgress` event callback is triggered.
+ */
+ getProgressCallback?: (progress: got.Progress) => Promise<void>;
+ /**
+ * 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<GotDownloaderOptions> {
+ download(url: string, targetFilePath: string, options?: GotDownloaderOptions): Promise<void>;
+}
diff --git a/node_modules/@electron/get/dist/esm/GotDownloader.js b/node_modules/@electron/get/dist/esm/GotDownloader.js
new file mode 100644
index 0000000..f9d9178
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/GotDownloader.js
@@ -0,0 +1,72 @@
+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 * as got 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
+ 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.name === 'HTTPError' && error.statusCode === 404) {
+ error.message += ` for ${error.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/node_modules/@electron/get/dist/esm/GotDownloader.js.map b/node_modules/@electron/get/dist/esm/GotDownloader.js.map
new file mode 100644
index 0000000..c88c10f
--- /dev/null
+++ b/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/node_modules/@electron/get/dist/esm/artifact-utils.d.ts b/node_modules/@electron/get/dist/esm/artifact-utils.d.ts
new file mode 100644
index 0000000..3426f60
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/artifact-utils.d.ts
@@ -0,0 +1,3 @@
+import { ElectronArtifactDetails } from './types';
+export declare function getArtifactFileName(details: ElectronArtifactDetails): string;
+export declare function getArtifactRemoteURL(details: ElectronArtifactDetails): Promise<string>;
diff --git a/node_modules/@electron/get/dist/esm/artifact-utils.js b/node_modules/@electron/get/dist/esm/artifact-utils.js
new file mode 100644
index 0000000..d50380b
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/artifact-utils.js
@@ -0,0 +1,52 @@
+import { ensureIsTruthyString } 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 lowerName = name.replace(/([a-z])([A-Z])/g, (_, a, b) => `${a}_${b}`).toLowerCase();
+ return (process.env[`NPM_CONFIG_ELECTRON_${lowerName.toUpperCase()}`] ||
+ process.env[`npm_config_electron_${lowerName}`] ||
+ process.env[`npm_package_config_electron_${lowerName}`] ||
+ process.env[`ELECTRON_${lowerName.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}`;
+}
+//# sourceMappingURL=artifact-utils.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/esm/artifact-utils.js.map b/node_modules/@electron/get/dist/esm/artifact-utils.js.map
new file mode 100644
index 0000000..ba9cd1b
--- /dev/null
+++ b/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":"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"} \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/esm/downloader-resolver.d.ts b/node_modules/@electron/get/dist/esm/downloader-resolver.d.ts
new file mode 100644
index 0000000..d18a6b3
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/downloader-resolver.d.ts
@@ -0,0 +1,2 @@
+import { Downloader } from './Downloader';
+export declare function getDownloaderForSystem(): Promise<Downloader<any>>;
diff --git a/node_modules/@electron/get/dist/esm/downloader-resolver.js b/node_modules/@electron/get/dist/esm/downloader-resolver.js
new file mode 100644
index 0000000..5a87c3c
--- /dev/null
+++ b/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/node_modules/@electron/get/dist/esm/downloader-resolver.js.map b/node_modules/@electron/get/dist/esm/downloader-resolver.js.map
new file mode 100644
index 0000000..93a07e5
--- /dev/null
+++ b/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":"AAEA,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/node_modules/@electron/get/dist/esm/index.d.ts b/node_modules/@electron/get/dist/esm/index.d.ts
new file mode 100644
index 0000000..c203ff5
--- /dev/null
+++ b/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 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<string>;
+/**
+ * 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<string>;
diff --git a/node_modules/@electron/get/dist/esm/index.js b/node_modules/@electron/get/dist/esm/index.js
new file mode 100644
index 0000000..9e16ffc
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/index.js
@@ -0,0 +1,93 @@
+import debug from 'debug';
+import * as path from 'path';
+import * as sumchecker from 'sumchecker';
+import { getArtifactFileName, getArtifactRemoteURL } from './artifact-utils';
+import { Cache } from './Cache';
+import { getDownloaderForSystem } from './downloader-resolver';
+import { initializeProxy } from './proxy';
+import { withTempDirectoryIn, normalizeVersion, 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();
+}
+/**
+ * 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' }));
+}
+/**
+ * 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 = normalizeVersion(process.env.ELECTRON_CUSTOM_VERSION || artifactDetails.version);
+ 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');
+ return cachedPath;
+ }
+ }
+ 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);
+ // Don't try to verify the hash of the hash file itself
+ if (!artifactDetails.artifactName.startsWith('SHASUMS256') &&
+ !artifactDetails.unsafelyDisableChecksums) {
+ const 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,
+ });
+ await sumchecker('sha256', shasumPath, path.dirname(tempDownloadPath), [
+ path.basename(tempDownloadPath),
+ ]);
+ }
+ return await cache.putFileInCache(url, tempDownloadPath, fileName);
+ });
+}
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/esm/index.js.map b/node_modules/@electron/get/dist/esm/index.js.map
new file mode 100644
index 0000000..ed116b6
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAO7E,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEvC,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE;IACtC,eAAe,EAAE,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAe,EACf,OAAwC;IAExC,OAAO,gBAAgB,iCAClB,OAAO,KACV,OAAO,EACP,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,YAAY,EAAE,UAAU,IACxB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,gBAA6D;IAE7D,MAAM,eAAe,qBACf,gBAA4C,CACjD,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;QAC/B,MAAM,uBAAuB,GAAG,eAAkD,CAAC;QACnF,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;YACrC,CAAC,CAAC,oDAAoD,CAAC,CAAC;YACxD,uBAAuB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;SACrD;QACD,IAAI,uBAAuB,CAAC,IAAI,EAAE;YAChC,uBAAuB,CAAC,IAAI,GAAG,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;SAC1E;aAAM;YACL,CAAC,CAAC,4CAA4C,CAAC,CAAC;YAChD,uBAAuB,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;SAC9C;KACF;IACD,oBAAoB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAEjD,eAAe,CAAC,OAAO,GAAG,gBAAgB,CACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,eAAe,CAAC,OAAO,CAC/D,CAAC;IACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAEnD,mEAAmE;IACnE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;QAC1B,CAAC,CAAC,uBAAuB,eAAe,CAAC,SAAS,SAAS,QAAQ,KAAK,GAAG,GAAG,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEpE,IAAI,UAAU,KAAK,IAAI,EAAE;YACvB,CAAC,CAAC,YAAY,CAAC,CAAC;SACjB;aAAM;YACL,CAAC,CAAC,WAAW,CAAC,CAAC;YACf,OAAO,UAAU,CAAC;SACnB;KACF;IAED,IACE,CAAC,eAAe,CAAC,SAAS;QAC1B,2BAA2B,CACzB,eAAe,CAAC,QAAQ,EACxB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,aAAa,CAC9B,EACD;QACA,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;KAChF;IAED,OAAO,MAAM,mBAAmB,CAAC,eAAe,CAAC,aAAa,EAAE,KAAK,EAAC,UAAU,EAAC,EAAE;QACjF,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;QAExF,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,IAAI,CAAC,MAAM,sBAAsB,EAAE,CAAC,CAAC;QAClF,CAAC,CACC,eAAe,GAAG,OAAO,gBAAgB,kBAAkB,IAAI,CAAC,SAAS,CACvE,eAAe,CAAC,eAAe,CAChC,EAAE,CACJ,CAAC;QACF,MAAM,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;QAElF,uDAAuD;QACvD,IACE,CAAC,eAAe,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;YACtD,CAAC,eAAe,CAAC,wBAAwB,EACzC;YACA,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;gBACxC,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,eAAe,CAAC,OAAO;gBAChC,YAAY,EAAE,gBAAgB;gBAC9B,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,eAAe,EAAE,eAAe,CAAC,eAAe;gBAChD,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,UAAU,EAAE,eAAe,CAAC,UAAU;gBACtC,aAAa,EAAE,eAAe,CAAC,aAAa;aAC7C,CAAC,CAAC;YACH,MAAM,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBACrE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aAChC,CAAC,CAAC;SACJ;QAED,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC"} \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/esm/proxy.d.ts b/node_modules/@electron/get/dist/esm/proxy.d.ts
new file mode 100644
index 0000000..df3e16a
--- /dev/null
+++ b/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/node_modules/@electron/get/dist/esm/proxy.js b/node_modules/@electron/get/dist/esm/proxy.js
new file mode 100644
index 0000000..e597be0
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/proxy.js
@@ -0,0 +1,23 @@
+import * as debug from 'debug';
+const d = debug('@electron/get:proxy');
+/**
+ * Initializes a third-party proxy module for HTTP(S) requests.
+ */
+export function initializeProxy() {
+ try {
+ // Code originally from https://github.com/yeoman/yo/blob/b2eea87e/lib/cli.js#L19-L28
+ const MAJOR_NODEJS_VERSION = parseInt(process.version.slice(1).split('.')[0], 10);
+ if (MAJOR_NODEJS_VERSION >= 10) {
+ // `global-agent` works with Node.js v10 and above.
+ require('global-agent').bootstrap();
+ }
+ else {
+ // `global-tunnel-ng` works with Node.js v10 and below.
+ require('global-tunnel-ng').initialize();
+ }
+ }
+ 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/node_modules/@electron/get/dist/esm/proxy.js.map b/node_modules/@electron/get/dist/esm/proxy.js.map
new file mode 100644
index 0000000..f7b78d7
--- /dev/null
+++ b/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;AAE/B,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI;QACF,qFAAqF;QACrF,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAElF,IAAI,oBAAoB,IAAI,EAAE,EAAE;YAC9B,mDAAmD;YACnD,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC;SACrC;aAAM;YACL,uDAAuD;YACvD,OAAO,CAAC,kBAAkB,CAAC,CAAC,UAAU,EAAE,CAAC;SAC1C;KACF;IAAC,OAAO,CAAC,EAAE;QACV,CAAC,CAAC,4EAA4E,EAAE,CAAC,CAAC,CAAC;KACpF;AACH,CAAC"} \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/esm/types.d.ts b/node_modules/@electron/get/dist/esm/types.d.ts
new file mode 100644
index 0000000..3f53c85
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/types.d.ts
@@ -0,0 +1,114 @@
+import { Downloader } from './Downloader';
+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;
+ /**
+ * A function allowing customization of the url returned
+ * from getArtifactRemoteURL().
+ */
+ resolveAssetURL?: (opts: DownloadOptions) => Promise<string>;
+}
+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;
+ /**
+ * 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<any>;
+ /**
+ * 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<T, K> = Pick<T, Exclude<keyof T, K>>;
+export declare type ElectronPlatformArtifactDetailsWithDefaults = (Omit<ElectronPlatformArtifactDetails, 'platform' | 'arch'> & {
+ platform?: string;
+ arch?: string;
+}) | ElectronGenericArtifactDetails;
+export declare type DownloadOptions = any;
diff --git a/node_modules/@electron/get/dist/esm/types.js b/node_modules/@electron/get/dist/esm/types.js
new file mode 100644
index 0000000..5b2306a
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/types.js
@@ -0,0 +1 @@
+//# sourceMappingURL=types.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/esm/types.js.map b/node_modules/@electron/get/dist/esm/types.js.map
new file mode 100644
index 0000000..7b5fff8
--- /dev/null
+++ b/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/node_modules/@electron/get/dist/esm/utils.d.ts b/node_modules/@electron/get/dist/esm/utils.d.ts
new file mode 100644
index 0000000..6bc848a
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/utils.d.ts
@@ -0,0 +1,19 @@
+export declare function withTempDirectoryIn<T>(parentDirectory: string | undefined, fn: (directory: string) => Promise<T>): Promise<T>;
+export declare function withTempDirectory<T>(fn: (directory: string) => Promise<T>): Promise<T>;
+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, from the `process` module information.
+ */
+export declare function getHostArch(): 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;
+export declare function ensureIsTruthyString<T, K extends keyof T>(obj: T, key: K): void;
+export declare function isOfficialLinuxIA32Download(platform: string, arch: string, version: string, mirrorOptions?: object): boolean;
diff --git a/node_modules/@electron/get/dist/esm/utils.js b/node_modules/@electron/get/dist/esm/utils.js
new file mode 100644
index 0000000..2ffe007
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/utils.js
@@ -0,0 +1,72 @@
+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, from the `process` module information.
+ */
+export function getHostArch() {
+ return getNodeArch(process.arch);
+}
+/**
+ * Generates an architecture name that would be used in an Electron or Node.js
+ * download file name.
+ */
+export function getNodeArch(arch) {
+ if (arch === 'arm') {
+ switch (process.config.variables.arm_version) {
+ case '6':
+ return uname();
+ case '7':
+ default:
+ return 'armv7l';
+ }
+ }
+ return 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');
+}
+//# sourceMappingURL=utils.js.map \ No newline at end of file
diff --git a/node_modules/@electron/get/dist/esm/utils.js.map b/node_modules/@electron/get/dist/esm/utils.js.map
new file mode 100644
index 0000000..7aa3591
--- /dev/null
+++ b/node_modules/@electron/get/dist/esm/utils.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,KAAK,UAAU,qBAAqB,CAClC,SAAiB,EACjB,EAAqC;IAErC,IAAI,MAAS,CAAC;IACd,IAAI;QACF,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;KAC9B;YAAS;QACR,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC5B;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,kBAA0B,EAAE,CAAC,MAAM,EAAE,EACrC,EAAqC;IAErC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC3F,OAAO,qBAAqB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAI,EAAqC;IAC9E,OAAO,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC5B,OAAO,IAAI,OAAO,EAAE,CAAC;KACtB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,YAAY;SAChB,QAAQ,CAAC,UAAU,CAAC;SACpB,QAAQ,EAAE;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,QAAS,OAAO,CAAC,MAAM,CAAC,SAAiB,CAAC,WAAW,EAAE;YACrD,KAAK,GAAG;gBACN,OAAO,KAAK,EAAE,CAAC;YACjB,KAAK,GAAG,CAAC;YACT;gBACE,OAAO,QAAQ,CAAC;SACnB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAuB,GAAM,EAAE,GAAM;IACvE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,6CAA6C,CAAC,CAAC;KACzF;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAAgB,EAChB,IAAY,EACZ,OAAe,EACf,aAAsB;IAEtB,OAAO,CACL,QAAQ,KAAK,OAAO;QACpB,IAAI,KAAK,MAAM;QACf,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,OAAO,aAAa,KAAK,WAAW,CACrC,CAAC;AACJ,CAAC"} \ No newline at end of file
diff --git a/node_modules/@electron/get/package.json b/node_modules/@electron/get/package.json
new file mode 100644
index 0000000..2d56255
--- /dev/null
+++ b/node_modules/@electron/get/package.json
@@ -0,0 +1,113 @@
+{
+ "_from": "@electron/get@^1.0.1",
+ "_id": "@electron/[email protected]",
+ "_inBundle": false,
+ "_integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==",
+ "_location": "/@electron/get",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "@electron/get@^1.0.1",
+ "name": "@electron/get",
+ "escapedName": "@electron%2fget",
+ "scope": "@electron",
+ "rawSpec": "^1.0.1",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.1"
+ },
+ "_requiredBy": [
+ "/electron"
+ ],
+ "_resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz",
+ "_shasum": "6442066afb99be08cefb9a281e4b4692b33764f3",
+ "_spec": "@electron/get@^1.0.1",
+ "_where": "/Users/lucifer/Documents/styx/node_modules/electron",
+ "author": {
+ "name": "Samuel Attard"
+ },
+ "bugs": {
+ "url": "https://github.com/electron/get/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "env-paths": "^2.2.0",
+ "fs-extra": "^8.1.0",
+ "global-agent": "^2.0.2",
+ "global-tunnel-ng": "^2.7.1",
+ "got": "^9.6.0",
+ "progress": "^2.0.3",
+ "sanitize-filename": "^1.6.2",
+ "sumchecker": "^3.0.1"
+ },
+ "deprecated": false,
+ "description": "Utility for downloading artifacts from different versions of Electron",
+ "devDependencies": {
+ "@continuous-auth/semantic-release-npm": "^2.0.0",
+ "@types/debug": "^4.1.4",
+ "@types/fs-extra": "^8.0.0",
+ "@types/got": "^9.4.4",
+ "@types/jest": "^24.0.13",
+ "@types/node": "^12.0.2",
+ "@types/progress": "^2.0.3",
+ "@types/sanitize-filename": "^1.1.28",
+ "husky": "^2.3.0",
+ "jest": "^24.8.0",
+ "lint-staged": "^8.1.7",
+ "prettier": "^1.17.1",
+ "semantic-release": "^15.13.12",
+ "ts-jest": "^24.0.0",
+ "typedoc": "^0.17.2",
+ "typescript": "^3.8.0"
+ },
+ "engines": {
+ "node": ">=8.6"
+ },
+ "files": [
+ "dist/*",
+ "README.md"
+ ],
+ "homepage": "https://github.com/electron/get#readme",
+ "husky": {
+ "hooks": {
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "electron",
+ "download",
+ "prebuild",
+ "get",
+ "artifact",
+ "release"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.ts": [
+ "prettier --write",
+ "git add"
+ ]
+ },
+ "main": "dist/cjs/index.js",
+ "module": "dist/esm/index.js",
+ "name": "@electron/get",
+ "optionalDependencies": {
+ "global-agent": "^2.0.2",
+ "global-tunnel-ng": "^2.7.1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/electron/get.git"
+ },
+ "scripts": {
+ "build": "tsc && tsc -p tsconfig.esm.json",
+ "build:docs": "typedoc --out docs",
+ "jest": "jest --coverage",
+ "lint": "prettier --check \"src/**/*.ts\"",
+ "prepublishOnly": "npm run build",
+ "test": "npm run lint && npm run jest",
+ "test:nonetwork": "npm run lint && npm run jest -- --testPathIgnorePatterns network.spec"
+ },
+ "version": "1.12.2"
+}