appium-geckodriver 2.1.12 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +1 -0
- package/build/lib/constants.d.ts +9 -0
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/constants.js +10 -1
- package/build/lib/constants.js.map +1 -1
- package/build/lib/desired-caps.d.ts +3 -0
- package/build/lib/desired-caps.d.ts.map +1 -1
- package/build/lib/desired-caps.js +3 -0
- package/build/lib/desired-caps.js.map +1 -1
- package/build/lib/driver.d.ts +1 -0
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +14 -0
- package/build/lib/driver.js.map +1 -1
- package/build/lib/gecko.d.ts.map +1 -1
- package/build/lib/gecko.js +19 -8
- package/build/lib/gecko.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/constants.ts +10 -0
- package/lib/desired-caps.ts +3 -0
- package/lib/driver.ts +21 -1
- package/lib/gecko.ts +24 -9
- package/npm-shrinkwrap.json +253 -1861
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [2.2.0](https://github.com/appium/appium-geckodriver/compare/v2.1.12...v2.2.0) (2026-03-17)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* Add 'geckodriverExecutable' capability ([#157](https://github.com/appium/appium-geckodriver/issues/157)) ([0156715](https://github.com/appium/appium-geckodriver/commit/015671502b595040b242d3775a92fd8c8e0d97dd))
|
|
6
|
+
|
|
1
7
|
## [2.1.12](https://github.com/appium/appium-geckodriver/compare/v2.1.11...v2.1.12) (2026-02-16)
|
|
2
8
|
|
|
3
9
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -50,6 +50,7 @@ appium:marionettePort | Selects the port for Geckodriver’s connection to the M
|
|
|
50
50
|
appium:systemPort | The number of the port for the driver to listen on. Must be unique for each session. If not provided then Appium will try to detect it automatically.
|
|
51
51
|
appium:verbosity | The verbosity level of driver logging. By default minimum verbosity is applied. Possible values are `debug` or `trace`.
|
|
52
52
|
appium:androidStorage | See https://firefox-source-docs.mozilla.org/testing/geckodriver/Flags.html#code-android-storage-var-android-storage-var-code
|
|
53
|
+
appium:geckodriverExecutable | Optional full path to the `geckodriver` binary to be used for this session instead of resolving it from `PATH`. Using this capability is considered an insecure feature and requires the Appium server to be started with the `custom_geckodriver_executable` insecure feature enabled (for example via `--allow-insecure gecko:custom_geckodriver_executable` or `--relaxed-security`). If the capability is provided but the insecure feature is not enabled, session creation will fail with a capability validation error.
|
|
53
54
|
moz:firefoxOptions | See https://developer.mozilla.org/en-US/docs/Web/WebDriver/Capabilities/firefoxOptions
|
|
54
55
|
acceptInsecureCerts | See https://www.w3.org/TR/webdriver/#capabilities
|
|
55
56
|
pageLoadStrategy | See https://www.w3.org/TR/webdriver/#capabilities
|
package/build/lib/constants.d.ts
CHANGED
|
@@ -2,4 +2,13 @@ export declare const VERBOSITY: {
|
|
|
2
2
|
readonly DEBUG: "debug";
|
|
3
3
|
readonly TRACE: "trace";
|
|
4
4
|
};
|
|
5
|
+
/**
|
|
6
|
+
* Insecure feature flag name which must be enabled on the Appium server
|
|
7
|
+
* in order to use the `geckodriverExecutable` capability.
|
|
8
|
+
*
|
|
9
|
+
* Note: when starting the Appium server, this feature must be referenced
|
|
10
|
+
* with the automation name prefix (for example
|
|
11
|
+
* `--allow-insecure gecko:custom_geckodriver_executable`).
|
|
12
|
+
*/
|
|
13
|
+
export declare const INSECURE_FEAT_CUSTOM_GECKODRIVER_EXECUTABLE: "custom_geckodriver_executable";
|
|
5
14
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;CAGZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;CAGZ,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,2CAA2C,EAAG,+BAAwC,CAAC"}
|
package/build/lib/constants.js
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VERBOSITY = void 0;
|
|
3
|
+
exports.INSECURE_FEAT_CUSTOM_GECKODRIVER_EXECUTABLE = exports.VERBOSITY = void 0;
|
|
4
4
|
exports.VERBOSITY = {
|
|
5
5
|
DEBUG: 'debug',
|
|
6
6
|
TRACE: 'trace',
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Insecure feature flag name which must be enabled on the Appium server
|
|
10
|
+
* in order to use the `geckodriverExecutable` capability.
|
|
11
|
+
*
|
|
12
|
+
* Note: when starting the Appium server, this feature must be referenced
|
|
13
|
+
* with the automation name prefix (for example
|
|
14
|
+
* `--allow-insecure gecko:custom_geckodriver_executable`).
|
|
15
|
+
*/
|
|
16
|
+
exports.INSECURE_FEAT_CUSTOM_GECKODRIVER_EXECUTABLE = 'custom_geckodriver_executable';
|
|
8
17
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAEX;;;;;;;GAOG;AACU,QAAA,2CAA2C,GAAG,+BAAwC,CAAC"}
|
|
@@ -29,6 +29,9 @@ export declare const desiredCapConstraints: {
|
|
|
29
29
|
readonly marionettePort: {
|
|
30
30
|
readonly isNumber: true;
|
|
31
31
|
};
|
|
32
|
+
readonly geckodriverExecutable: {
|
|
33
|
+
readonly isString: true;
|
|
34
|
+
};
|
|
32
35
|
readonly verbosity: {
|
|
33
36
|
readonly isString: true;
|
|
34
37
|
readonly inclusionCaseInsensitive: [string, ...string[]];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desired-caps.d.ts","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"desired-caps.d.ts","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":"AAkDA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAXwB,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;;;;;;;;;CAWnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":";;;AACA,2CAAsC;AAEtC,MAAM,uBAAuB,GAAG;IAC9B,WAAW,EAAE;QACX,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;KAChB;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,IAAI;KACf;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,IAAI;KACf;IACD,aAAa,EAAE;QACb,SAAS,EAAE,IAAI;KAChB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAI;KACf;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,IAAI;QACd,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAS,CAA0B;KAC5E;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,IAAI;QACd,wBAAwB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;KAChE;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,IAAI;KACf;CAC6B,CAAC;AAEpB,QAAA,qBAAqB,GAAG,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":";;;AACA,2CAAsC;AAEtC,MAAM,uBAAuB,GAAG;IAC9B,WAAW,EAAE;QACX,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;KAChB;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,IAAI;KACf;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,IAAI;KACf;IACD,aAAa,EAAE;QACb,SAAS,EAAE,IAAI;KAChB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAI;KACf;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,IAAI;KACf;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,IAAI;QACd,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAS,CAA0B;KAC5E;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,IAAI;QACd,wBAAwB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;KAChE;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,IAAI;KACf;CAC6B,CAAC;AAEpB,QAAA,qBAAqB,GAAG,uBAAuB,CAAC"}
|
package/build/lib/driver.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare class GeckoDriver extends BaseDriver<GeckoConstraints, StringReco
|
|
|
14
14
|
getProxyAvoidList(): RouteMatcher[];
|
|
15
15
|
canProxy(): boolean;
|
|
16
16
|
get gecko(): GeckoDriverServer;
|
|
17
|
+
validateDesiredCaps(caps: any): caps is any;
|
|
17
18
|
createSession(w3cCaps1: W3CDriverCaps<GeckoConstraints>, w3cCaps2?: W3CDriverCaps<GeckoConstraints>, ...args: any[]): Promise<DefaultCreateSessionResult<GeckoConstraints>>;
|
|
18
19
|
get bidiProxyUrl(): string | null;
|
|
19
20
|
deleteSession(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,EAAS,MAAM,eAAe,CAAC;AACjD,OAAO,EAAoB,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAUhD,MAAM,MAAM,gBAAgB,GAAG,OAAO,qBAAqB,CAAC;AAE5D,qBAAa,WACX,SAAQ,UAAU,CAAC,gBAAgB,EAAE,YAAY,CACjD,YAAW,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC;IAEjE,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,aAAa,CAAuB;IACrC,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;gBAE9B,IAAI,GAAE,WAA+B;IAiBxC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAIxC,iBAAiB,IAAI,YAAY,EAAE;IAInC,QAAQ,IAAI,OAAO;IAI5B,IAAI,KAAK,IAAI,iBAAiB,CAK7B;IAEQ,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG;IAmBrC,aAAa,CAC1B,QAAQ,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACzC,QAAQ,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC1C,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAqBxD,IAAa,YAAY,IAAI,MAAM,GAAG,IAAI,CAEzC;IAEc,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7C,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,oBAAoB;IAgB5B,WAAW,kCAA4B;CACxC;AAED,eAAe,WAAW,CAAC"}
|
package/build/lib/driver.js
CHANGED
|
@@ -41,6 +41,7 @@ const lodash_1 = __importDefault(require("lodash"));
|
|
|
41
41
|
const driver_1 = require("appium/driver");
|
|
42
42
|
const gecko_1 = require("./gecko");
|
|
43
43
|
const desired_caps_1 = require("./desired-caps");
|
|
44
|
+
const constants_1 = require("./constants");
|
|
44
45
|
const findCommands = __importStar(require("./commands/find"));
|
|
45
46
|
const utils_1 = require("./utils");
|
|
46
47
|
const NO_PROXY = [
|
|
@@ -85,6 +86,19 @@ class GeckoDriver extends driver_1.BaseDriver {
|
|
|
85
86
|
}
|
|
86
87
|
return this._gecko;
|
|
87
88
|
}
|
|
89
|
+
validateDesiredCaps(caps) {
|
|
90
|
+
const isValid = super.validateDesiredCaps(caps);
|
|
91
|
+
if (!isValid) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
if (caps.geckodriverExecutable &&
|
|
95
|
+
!this.isFeatureEnabled(constants_1.INSECURE_FEAT_CUSTOM_GECKODRIVER_EXECUTABLE)) {
|
|
96
|
+
throw new driver_1.errors.SessionNotCreatedError(`The 'geckodriverExecutable' capability requires the ` +
|
|
97
|
+
`'${constants_1.INSECURE_FEAT_CUSTOM_GECKODRIVER_EXECUTABLE}' insecure feature to be enabled ` +
|
|
98
|
+
`on the Appium server.`);
|
|
99
|
+
}
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
88
102
|
async createSession(w3cCaps1, w3cCaps2, ...args) {
|
|
89
103
|
const [sessionId, processedCaps] = await super.createSession(w3cCaps1, w3cCaps2, ...args);
|
|
90
104
|
this._gecko = new gecko_1.GeckoDriverServer(this.log, processedCaps);
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AASvB,
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|
package/build/lib/gecko.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gecko.d.ts","sourceRoot":"","sources":["../../lib/gecko.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,EAAS,MAAM,eAAe,CAAC;AAM9C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAWpF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,UAAW,SAAQ,OAAO;IACrC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEV,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAe;CASnF;
|
|
1
|
+
{"version":3,"file":"gecko.d.ts","sourceRoot":"","sources":["../../lib/gecko.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,EAAS,MAAM,eAAe,CAAC;AAM9C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAWpF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,UAAW,SAAQ,OAAO;IACrC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEV,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAe;CASnF;AAyJD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY;IAMjD,IAAI,KAAK,IAAI,UAAU,CAKtB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IAkEhF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB5B;AAED,eAAe,iBAAiB,CAAC"}
|
package/build/lib/gecko.js
CHANGED
|
@@ -36,6 +36,7 @@ class GeckoDriverProcess {
|
|
|
36
36
|
verbosity;
|
|
37
37
|
androidStorage;
|
|
38
38
|
marionettePort;
|
|
39
|
+
geckodriverExecutable;
|
|
39
40
|
_port;
|
|
40
41
|
log;
|
|
41
42
|
_proc = null;
|
|
@@ -44,6 +45,7 @@ class GeckoDriverProcess {
|
|
|
44
45
|
this.verbosity = opts.verbosity;
|
|
45
46
|
this.androidStorage = opts.androidStorage;
|
|
46
47
|
this.marionettePort = opts.marionettePort;
|
|
48
|
+
this.geckodriverExecutable = opts.geckodriverExecutable;
|
|
47
49
|
this._port = opts.systemPort;
|
|
48
50
|
this.log = log;
|
|
49
51
|
}
|
|
@@ -73,14 +75,7 @@ class GeckoDriverProcess {
|
|
|
73
75
|
}
|
|
74
76
|
});
|
|
75
77
|
}
|
|
76
|
-
|
|
77
|
-
try {
|
|
78
|
-
driverBin = await support_1.fs.which(GD_BINARY);
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
throw new Error(`${GD_BINARY} binary cannot be found in PATH. ` +
|
|
82
|
-
`Please make sure it is present on your system`);
|
|
83
|
-
}
|
|
78
|
+
const driverBin = await this.resolveGeckodriverBinary();
|
|
84
79
|
const args = [];
|
|
85
80
|
/* #region Options */
|
|
86
81
|
switch (lodash_1.default.toLower(this.verbosity)) {
|
|
@@ -134,6 +129,22 @@ class GeckoDriverProcess {
|
|
|
134
129
|
catch { }
|
|
135
130
|
}
|
|
136
131
|
}
|
|
132
|
+
async resolveGeckodriverBinary() {
|
|
133
|
+
if (this.geckodriverExecutable) {
|
|
134
|
+
if (!(await support_1.fs.exists(this.geckodriverExecutable))) {
|
|
135
|
+
throw new Error(`The custom geckodriver binary at '${this.geckodriverExecutable}' cannot be found. ` +
|
|
136
|
+
`Make sure the path is correct and accessible to the Appium server process`);
|
|
137
|
+
}
|
|
138
|
+
return this.geckodriverExecutable;
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
return await support_1.fs.which(GD_BINARY);
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
throw new Error(`${GD_BINARY} binary cannot be found in PATH. ` +
|
|
145
|
+
`Please make sure it is present on your system`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
137
148
|
}
|
|
138
149
|
const RUNNING_PROCESS_IDS = [];
|
|
139
150
|
process.once('exit', () => {
|
package/build/lib/gecko.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gecko.js","sourceRoot":"","sources":["../../lib/gecko.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,sDAAyB;AACzB,0DAA6B;AAC7B,0CAA8C;AAC9C,4CAAgD;AAChD,+CAAwC;AACxC,uCAA0C;AAC1C,6CAA8C;AAC9C,2DAA4C;AAE5C,2CAAsC;AAEtC,MAAM,SAAS,GAAG,cAAc,gBAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnE,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,aAAa;AAC/C,MAAM,gBAAgB,GAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxD,MAAM,kBAAkB,GAAG,cAAI,CAAC,gBAAgB,CAC9C,mBAAI,CAAC,OAAO,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,EACpD,EAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAChC,CAAC;AACF,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACxB,QAAA,iBAAiB,GAAG,WAAW,CAAC;AAM7C,MAAa,UAAW,SAAQ,gBAAO;IACrC,cAAc,CAAW;IAEhB,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,MAAkB,EAAE,OAAiB,IAAI;QAChF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,eAAM,CAAC,mBAAmB,CAClC,IAAI,MAAM,IAAI,GAAG,qDAAqD;gBACpE,sFAAsF,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAZD,gCAYC;AAED,MAAM,kBAAkB;IACL,OAAO,CAAW;IAClB,SAAS,CAAU;IACnB,cAAc,CAAU;IACxB,cAAc,CAAU;
|
|
1
|
+
{"version":3,"file":"gecko.js","sourceRoot":"","sources":["../../lib/gecko.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,sDAAyB;AACzB,0DAA6B;AAC7B,0CAA8C;AAC9C,4CAAgD;AAChD,+CAAwC;AACxC,uCAA0C;AAC1C,6CAA8C;AAC9C,2DAA4C;AAE5C,2CAAsC;AAEtC,MAAM,SAAS,GAAG,cAAc,gBAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnE,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,aAAa;AAC/C,MAAM,gBAAgB,GAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxD,MAAM,kBAAkB,GAAG,cAAI,CAAC,gBAAgB,CAC9C,mBAAI,CAAC,OAAO,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,EACpD,EAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAChC,CAAC;AACF,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACxB,QAAA,iBAAiB,GAAG,WAAW,CAAC;AAM7C,MAAa,UAAW,SAAQ,gBAAO;IACrC,cAAc,CAAW;IAEhB,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,MAAkB,EAAE,OAAiB,IAAI;QAChF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,eAAM,CAAC,mBAAmB,CAClC,IAAI,MAAM,IAAI,GAAG,qDAAqD;gBACpE,sFAAsF,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAZD,gCAYC;AAED,MAAM,kBAAkB;IACL,OAAO,CAAW;IAClB,SAAS,CAAU;IACnB,cAAc,CAAU;IACxB,cAAc,CAAU;IACxB,qBAAqB,CAAU;IACxC,KAAK,CAAU;IACN,GAAG,CAAe;IAC3B,KAAK,GAAsB,IAAI,CAAC;IAExC,YAAY,GAAiB,EAAE,OAAqB,EAAE;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,kBAAkB,CAAC,KAAK,IAAI,EAAE;gBAClC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;gBAC9C,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,GAAG,MAAM,IAAA,+BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC3D,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CACb,sCAAsC,SAAS,KAAK,OAAO,IAAI;wBAC7D,oFAAoF;wBACpF,+FAA+F,CAClG,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACxD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,qBAAqB;QACrB,QAAQ,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,KAAK,qBAAS,CAAC,KAAK;gBAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,MAAM;YACR,KAAK,qBAAS,CAAC,KAAK;gBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM;QACV,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChC,oGAAoG;YACpG,IAAI,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,8EAA8E,CAC/E,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,oDAAoD,uBAAuB,GAAG,CAC/E,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,uBAAuB,EAAE,CAAC,CAAC;QACtF,CAAC;aAAM,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,gBAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,yBAAyB,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,SAAS,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB;QACpC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,CAAC,qBAAqB,qBAAqB;oBAClF,2EAA2E,CAC9E,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACpC,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,YAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,GAAG,SAAS,mCAAmC;gBAC7C,+CAA+C,CAClD,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,mBAAmB,GAA2B,EAAE,CAAC;AACvD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IACxB,IAAI,gBAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,gBAAM,CAAC,SAAS,EAAE;QAChC,CAAC,CAAC,eAAe;YACf,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC;iBAClE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;iBAC3B,IAAI,CAAC,GAAG,CAAC;QACd,CAAC,CAAC,QAAQ,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC;QACH,IAAA,6BAAQ,EAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,MAAa,iBAAiB;IACpB,MAAM,GAAsB,IAAI,CAAC;IACxB,QAAQ,CAAqB;IAC7B,GAAG,CAAe;IAEnC,YAAY,GAAiB,EAAE,IAAkB;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAuB,EAAE,OAAuB,EAAE;QAC5D,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAQ;YACrB,MAAM,EAAE,yBAAiB;YACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAA,2BAAgB,EACpB,KAAK,IAAI,EAAE;gBACT,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC7C,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,IAAI,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;wBAChC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC/B,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC,EACD;gBACE,MAAM,EAAE,kBAAkB;gBAC1B,UAAU,EAAE,IAAI;aACjB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC5B,4BAA4B;gBAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACb,+CAA+C,kBAAkB,cAAc;oBAC7E,wDAAwD,CAC3D,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;QACpC,IAAI,GAAG,EAAE,CAAC;YACR,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,gBAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE;YACpD,YAAY,EAAE;gBACZ,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,WAAW,EAAE,SAAS;aACvB;SACF,CAAC,CAAiB,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,OAAO,0BAA0B,CAAC,CAAC;YAC9F,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;CACF;AA7GD,8CA6GC;AAED,kBAAe,iBAAiB,CAAC"}
|